1、根据实际的设备及组装顺序进行组态。下图是我实际添加设备。
x
2、创建两个程序组织单元,PLC_PRG和POU。在程序组织单元PLC_PRG下添加两个动作“跑马灯”和“跑马灯2”,然后再将程序组织单元POU添加进任务当中。

在动作“跑马灯”下编写程序:
flag := flag +1;
IF flag = 2 THEN flag := 0;ivar := ROL(ivar, 1);
END_IF
在动作“跑马灯2”下编写程序:
flag_1 := flag_1 +1; //计时标志,加1表示500ms
IF flag_1 = 2 THEN //计时1s时间到flag_1 := 0; //标志清零ivar_1 := ROL(ivar_1, 1); //循环左移1位
END_IF
在程序组织单元PLC_PRG建立变量,并调用动作“跑马灯”:
//变量声明
PROGRAM PLC_PRG
VARivar : BYTE := 1;flag : BYTE := 0;ivar_1 : BYTE := 1;flag_1 : BYTE := 0;
END_VAR
//程序
跑马灯();
在程序组织单元中POU中调用程序组织单元PLC_PRG和动作“跑马灯2”:
//动作均建立在PLC_PRG程序组织单元下
PLC_PRG(); //先在PLC_PRG中调用动作“跑马灯”,然后在POU中调用PLC_PRG
PLC_PRG.跑马灯2(); //直接在POU中调用动作"跑马灯2"
因为在PLC_PRG中已经调用了“跑马灯”,所以在POU中调用既可以运行“跑马灯”程序,但无法运行“跑马灯2” 。也可以在POU中直接调用“跑马灯2”程序。
最后将变量映射到IO上即可。
















