请教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

    由于在控制面板那里卸载不了这软件,所以我把安装文件删了,但还有些删不掉,S7-200 Explorer,MicroSystems文件夹删不掉,所以也不让我重装软件 最佳答…

    SIMATIC S7-200 2021年7月5日
  • PTO频率上不去

    亲们,我用224CPU发PTO,用位置控制向导生成了两个子程序,PTO_CTRL  PTO_MAN,我调用PTO_MAN,但SPEED这个参数如果设置为1000…

    SIMATIC S7-200 2020年10月31日
  • 西门子输出脉冲端口是不是只有2个?

    买了一个S7-200型的,只有两个输出端口能输出脉冲信号,请问下是不是所有的西门子PLC只有两个输出端口能输出脉冲信号??? 最佳答案 1、S7-200 晶体管CPU&n…

    SIMATIC S7-200 2021年7月5日
  • 6ES7214-1BD23-0XB0和6ES7214-1BD23-0XB8有什么区别?

    如题,这2个模块有什么区别,官网上面6ES7214-1BD23-0XB0介绍很详细,6ES7214-1BD23-0XB8介绍很简单,没用过200PLC,求指教 最佳答案 6ES72…

    SIMATIC S7-200 2021年7月5日
  • s7200模拟量处理如何通过局部变量来完成?

    我有一个0~5V的模拟量进到EM235里,想通过在局部变量里来完成A/D转换,并且是实数.请问高手赐教!最好能发个实例看看!plkori2009@163.com谢谢! 最佳答案 使…

    SIMATIC S7-200 2021年7月5日
  • 请问S200子程序如何使用定时期和计数器

    想移植S300的子程序可S200的定时期和计数器无法使用 问题补充:在S200的子程序里没有选择定时器和计数器的数据类型 最佳答案 S300也S7200指令集不一样,定时期和计数器…

    SIMATIC S7-200 2021年7月4日
  • 模拟量的处理

    各位高手,200PLC处理压力变送器输出的电流信号(4-20mA,对应压力为0-   负0.1MP),如何在触摸屏或者文本上显示它的实际压力值呢?谢谢…

    SIMATIC S7-200 2021年7月5日
  • TD400C报无参数块

    原正常使用设备,其中一天TD400C.显示无参数块故障,检查PLC程序,其起始地址为VB0-VB1189,TD400C参数块地址为0,但一直显示无参数块,无法正常使用,请问是什么原…

    SIMATIC S7-200 2021年7月5日
  • s7-200与je-40a驱动器怎样接线

    我只有一根50针的信号线,但是完全不知道怎样接起来。请问该接那几个针脚。 问题补充:三菱的说明书我也有啊,但是50个针脚,9个孔,说明书我也看不出来啊,毕竟两个产品的说明书又不互通…

    2021年7月5日
  • s7-200,自由通信,求助。

    我想要实现S7-200与单片机通信。PLC是485接口,单片机是232接口,现在买了根232转485的双向转换器。485这头有三个输出端子,但不知道要怎样和PLC上的485哪几个脚…

    2018年12月2日