循环扫描PLC200的编程思路

分享到:
215
下一篇 >


菜鸟问:

现有一套PLC200系统,含10个电磁阀,轮流动作,一个动作周期结束后,重新轮询,动作的电磁阀个数N(N≤10)为可变,每个电磁阀动作时间相同,均为T(T可变)。

现在拟定方案为:用T1、T2......Tn来表示每个电磁阀的动作时间,通过修改电磁阀动作时间来修改电磁阀的动作个数。部分程序如下,通过控制VW0~VW18是否为0来决定对应的电磁阀是否动作。

LD     SM0.0

S      Q0.0, 1

LD     Q0.0

TON    T37, T1

LD     T37

R      Q0.0, 1

S      Q0.1, 1

问题:1. 照上述方案,有几个电磁阀就要有几倍上述的编程量,比较繁琐,貌似PLC200中没有类似C的for循环语句,怎么样编写会比较简洁呢?有没有类似轮询的函数?

2. 电磁阀动作时间T用组态王来修改,单位为s,但200的T37~T63基准为100ms,所以T的输入值需*10,这个修改放在PLC程序中还是放在组态王中?哪个比较合适?

甲:

动作时间相同,那间隔时间呢?既然时间相同,为什么还要有T1 T2 T3 Tn?

菜鸟:

多谢解答!~~
 动作时间相同,电磁阀是依次动作,所以间隔时间可以理解为动作时间;
 设置T1、T2、T3....Tn,是十个电磁阀每个循环周期,动作总个数不一定为10,就是十个电磁阀不一定都动作,若第十个电磁阀不动作,可调节T10=0。

大虾:

楼主,你先要会用“笨”方法实现你的要求。如果笨方法都不行,那是做不到简洁的。

菜鸟:

现在是用笨方法实现了,但程序实在太繁琐了,而且老觉得自己编程思路有问题,一直都是用笨方法,所以上了跟各位前辈讨教~

高手:

可以做一个子程序,然后在主程序里调用。定时器可以用累计SM0.5脉冲个数与设定时间相比较。

你可能感兴趣: 工控菜鸟园 自动化系统 SIMATIC S7-200 PLC
无觅相关文章插件,快速提升流量