请教PLC200编程思路

硬件:1*CPU224+2*EM222
实现功能:1~20个电磁阀,用户可在UI界面设定第N1到第N2个电磁阀动作,以及电磁阀动作的时间T,且电磁阀动作为轮流动作。如假设用户设定第N1=3至第N2=8号电磁阀动作,动作时间为T=1min,则上电后,第3号电磁阀开始动作,动作时间1min,依次动作,至8号电磁阀动作完成后,3号电磁阀工作,依次做下一周期循环。

其中:CPU224的输出端是Q0.0~Q0.7、Q1.0~Q1.1(Q1.2~Q1.7为缺省),这样我用循环左/右移指令时,需要分区进行循环扫描,且电磁阀动作有BUG。

请教各位编程思路!
另附上有bug的编程(因水平有限,此程序中,没有实现N1可修改,即默认从一号电磁阀开始动作),请指教!

问题补充:
WWCWWC前辈:您说的反复看了很久,不甚理解。您讲的“解决你缺省值(Q1.2~Q1.7为缺省)的问题确实你可以先用中间变量地址(M),那样就不需要考虑由于cpu输出地址缺省值带来的不便。”怎么替代呢?还有,先不按用户设置的循环时间移位是什么意思呢?

实在是水平太低,还请指教!
另,找答案是不是不支持回复功能啊?怎么回复呢?

图片说明:

请教PLC200编程思路    请教PLC200编程思路    请教PLC200编程思路    请教PLC200编程思路    请教PLC200编程思路   

最佳答案

用移位指令的方法在此是比较切合实际的,采用双字移位指令解决。
解决你缺省值(Q1.2~Q1.7为缺省)的问题确实你可以先用中间变量地址(M),那样就不需要考虑由于cpu输出地址缺省值带来的不便。
用户需要从哪个阀(PLC输出地址开始),可以在用户设置N1数值后,可以先直接将前面的这些位复位,然后根据启动位命令移位(可以先不按用户设置的循环时间移位,这样就可以快速先移动到准备的地址上),当用户按启动后用用户设置的N2时间移位。
看了你的程序,认为你需要换一种方式思考这个问题,移位指令用双字不要用字节,其它的编程方式可以按你的方式也可以,关键是你需要换一种思路编程。希望这个思路能够帮到你,祝你成功。

提问者对于答案的评价:
谢谢解答!用一个非常非常繁琐的方法暂且实现了,时间太紧迫了,后面再慢慢修正吧,还是谢谢!如果您能看到我的问题补充的话,如果方便,可否详细回复一下?实在不知道双字左右移位怎么写,新手,不知道怎么向您提问,谢谢!~

最佳答案作者回复:
用中间变量M替代就是做用户控制程序时不直接用输出地址Q,M变量一一对应输出Q的地址。简单理解为:
LD    M10.0
=      Q0.0
先不使用用户循环的意思是用户在设置开始位的同时用较高的脉冲频率,移动到需要开始的位,这样当用户启动控制程序,就在该位开始移位了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc220710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月8日
下一篇 2017年12月8日

相关推荐

  • 报警的确认控制

    报警的确认应该如何控制,我在文本向导中设置了报警确认,然后生成了报警确认位,请问该如何进行报警的确认,是按文本上的ENTER,还是将那个报警确认位置为1.请高手解答下 最佳答案 应…

    SIMATIC S7-200 2021年7月5日
  • TD200 V3.0显示屏功能的实现?

    TD200  V3.0(注意不是TD200C)面板上F1、F2、F3、F4键实现上传文件(图片)的功能,怎么实现?需要自s7 200程序中设置吗,如何…

    SIMATIC S7-200 2021年7月5日
  • 两个200与HMI连接

    请问各位大侠一个OP177的触摸屏通过PPI连接可以连接两个200的PLC吗?我用的是SIMATIC WinCC flexible 2007的组态软件…

    SIMATIC S7-200 2021年7月4日
  • EM231 4路热电阻输入,拨码如何设置,显示温度范围-35到50度

    现在用CPU224+扩展模块EM231(4路热电阻输入),现在配有室外QAA22(-35度到50度),室内温度QAA24(0-50度),出风口温度QAM2160.040(0-50度…

    SIMATIC S7-200 2021年7月5日
  • 200下载程序错误

    200程序编译没有错误,在下载过程中,提示出现“由于编译错误下载过程取消”,查看信息,提示在主程序的第一个Network 中的第一列,错误代码82,说是“指令错误,”,即…

    SIMATIC S7-200 2021年7月4日
  • 防抖动程序

    我想做一个按扭位M0.0,按住三秒后QO.0输出为1,该怎样做?另外可否解释下"防抖动",都有那些方法可实现防抖动? 最佳答案 你此处说的"防抖动&q…

    SIMATIC S7-200 2021年7月5日
  • s7-200连接问题

    我想组一个一屏多机系统,两台226CPU相连共用一个触摸屏,通过一个EM277模块进主控系统,怎么实现?怎么编程? 问题补充:两个CPU之间的连接电缆可以自己做吗?怎么做?两个CP…

    SIMATIC S7-200 2021年7月5日
  • PLC通讯失败

    请问大家,我用EM235模块的电压输出,输出口VO接到STC单片机(带10位AD)的AD口P1.0,EM235模块的输出公共端M0接到单片机的地,为什么这样一来,PLC就通讯不上了…

    SIMATIC S7-200 2020年11月1日
  • step7 microwinv4.0sp9 与plc通讯不上

    最近在自学S7200编程,手上有一个S7200CN,cpu224xp的,但是没有ppi编程电缆,于是在市场买了一根不带转换器的ppi电缆,老板说可以通讯,只是波特率不支持187.5…

    SIMATIC S7-200 2017年12月10日
  • 4-20MA模拟量输入信号的处理

    EM231CN四点的模拟量输入模块,仪表是4-20Ma的信号,但是仪表显示的值是双极型的数据类型,不知道模块能用吗?看模块手册可以双极型-32000-32000,但是DIP开关上面…

    SIMATIC S7-200 2020年10月31日