需求分析
设计一个跑马灯控制程序,控制S7-200 SMART PLC本体8位输出线圈循环交替闪烁,要求使用左移字节指令SHL_B,而非循环左移字节指令ROL_B来实现该功能。同时在WinCC flexible软件中设计人机交互画面实现仿真控制。
功能设计
根据以上需求进行如下设计:
1.启动按钮按下,置位运行标志位。
2.利用定时器设计一个脉冲发生器,脉冲的周期时间作为每个跑马灯的点亮时间和熄灭时间。
3.脉冲发生器的上升沿触发左移字节指令SHL_B,实现字节中的位向左移动1位,由于左移字节指令会出现溢出为0的情况,当出现该情况时,需要把该字节重新赋值为1。
5.停止按钮按下,复位所有输出,并复位运行标志位。
开发环境
硬件:SR20,6ES7 288-1SR20-0AA0。
软件:STEP 7-Micro/WIN SMART,V2.5和WinCC flexible 2008 SP5。
程序设计
编写代码(LAD):
如果简单使用脉冲上升沿触发移位,首次启动时,受脉宽影响将会使得0位点亮的跑马灯点亮时间等于脉宽时间,而非脉冲周期时间,所以程序中对首次启动的脉宽时间进行了处理,从而使8位跑马灯循环点亮和熄灭时间相等。
当移位溢出时,需要对其进行判断并重新赋值。
人机交互HMI设计
为了使测试更加直观,本例设计了一个人机交互画面,通过该画面进行操作和测试,能够直观地显示跑马灯的动态效果。
1.添加HMI硬件,MP270面板。
2.建立连接。
通信驱动程序选择SIMATIC S7 200,接口选择以太网,HMI的IP地址设置为电脑的IP地址,PLC设备的IP地址设置为在线的PLC的IP地址。如果连接失败,请检查PG/PC接口设置。
3.添加变量,和PLC变量地址相对应。
4.设计画面。
按照上图设计,不再赘述。
5.为启动按钮添加事件属性。
6.为停止按钮添加事件属性。
7.为运行指示灯添加动画属性。
8.为跑马灯添加动画属性。
其它7个参考第1个。
系统测试
在WinCC flexible软件中启动运行系统。
按下启动按钮,运行状态指示灯变为绿色,跑马灯开始工作。按下停止按钮,所有跑马灯全部熄灭,运行状态指示灯变为红色。