设计要求:
30个电磁阀,按顺序延时动作。如:系统运行,延时2S开A阀2S,延时1S开B阀2S,延时1S开C阀2S,依次动作执行30个阀门。
考虑用200系统做一个时序块,30个阀用30个时序块,每个块可以设置延时时间,运行持续时间,上一个运行结束,运行下一个。本想用延时定时器做块,制成库文件调用,但群里老师指点定时器在子程序做库文件时要慎用,也考虑到的确有问题或不方便,想用BGN_ITME和CAL_ITIME做块,但时间段检测总是不停计时,应该是没用好,请指点下,谢谢。另外这样简单的时序控制有什么好的方法实现吗?谢谢
最佳答案
其实做成块也是可以的!参数设置如下:
IN 参数:延时时间设定、运行时间设定
IN/OUT参数:启动标志位、计时变量、完成标志位、驱动输出
通过定时中断实现100MS标志位,周期性调用本程序块,通过对0.1S进行计数间接实现计时功能。
思路如下:
1、未启动,计时变量复位清零;
2、启动后,计时变量开始计时;计时时间=(延时时间)输出驱动;
3、计时时间=(延时时间+运行时间)复位驱动,同时输出DONE完成标志位;停止计时;并复位启动标志位
4、通过DONE完成位调用下一个块。
提问者对于答案的评价:
虽然还没来得及实验编制,但非常感谢,觉得方法不错,整体结构是我想要的,内部实现方法,我按照这个思路去做一下。另,也感谢其他老师提供的思路。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370118.html