请教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日 下午2:15
下一篇 2017年12月8日 下午2:15

相关推荐

  • S7-200 CN通讯问题,PC/PPI电缆连接SIMATIC HMI触摸屏连接不上

    我这现场新安装一台PLC程控柜,用的是SIEMENS S7-200 CN PLC和通过PC/PPI电缆连接到SIMATIC HMI触摸屏,可…

    2017年6月1日
  • S7-200CN PID问题

    200PLC后面扩展测温模块,怎么做温度PID控制,不用内部的PID向导,向导PID路数有限,我有24路温控,PID程序是需要自己那还是有相关的库程序?求大师指点,如果需要自己写,…

    SIMATIC S7-200 2021年7月5日
  • 请教:用增量编码器AB

    请教:用增量编码器ABZ安装在丝辊上。控制住电机左右移动在触摸屏上设置的距离,s7-200采用哪种模式的高速计数器(模式0~模式12)和哪个高速计数器(HC0~HC5) 最佳答案 …

    SIMATIC S7-200 2021年7月5日
  • em253脉冲储存位置

    想在mcgs上显示出em253所发脉冲的总数,所以得知道这个脉冲数的信息在哪个寄存器上,好去读取 最佳答案 用普通的V区,M区都是可以的 提问者对于答案的评价:谢谢

    SIMATIC S7-200 2020年11月1日
  • PC 主站,S 7-200从站modbus 功能码通讯程序

    PC做主站, S 7-200做从站的modbus 功能码串口通讯调试S 7-200的程序和示例。谢谢。 钻石用户推荐最佳答案 http://…

    SIMATIC S7-200 2021年7月5日
  • 3个COU224如何进行通讯

    3个CPU224,1个TD400,可以进行网络配置吗?如何实现?每个CPU224之间相互读取和写入数据的程序是如何编写的? 最佳答案 用PPi,发了列子给你,注意查收 提问者对于答…

    SIMATIC S7-200 2021年7月5日
  • 关于带有两个通信口200能同时试下双MODBUS通信吗

    我在想可不可以用端口1做主站与变频器modbus通信,同时端口0做从站与上位机用modbus通信,不知道这种方案可行不 最佳答案 完全可以,因为200的两个通信口在物理上是完全独立…

    SIMATIC S7-200 2017年11月20日
  • s200模拟量输入简单问题

    用于模拟量输入的常见元件有哪些?,我主要用来输入角度,以及需要什么梯形图指令? 最佳答案 常用的元件有信号配电器、隔离器等。从输入角度来说,一般采用增量型编码器,PLC端采用对应的…

    SIMATIC S7-200 2020年10月31日
  • pc机和PLC读或写数据

    pc机和PLC自由通讯,当读或写数据时,从目标寄存器开始的每个字节转换为十六进制ASC码后为何占用2个字节? 每个ASC码字符是占用一个字节的啊!  …

    SIMATIC S7-200 2021年7月5日
  • 关于库文件

    请问:如何修改已经用密码生成的库文件 问题补充:是我自已做的库文件,当然知道密码,就是不知道如何打开重新编辑 最佳答案 知道密码就能打开库文件,看到源代码。  …

    SIMATIC S7-200 2021年7月5日