判断两个接近开关的信号(一个是机器脉冲,机器运行的时候,每走过一个瓶子的距离就发出一个脉冲,只要机器运行就一直有脉冲输出;另一个是瓶子检测,检测到一个瓶子就发出一个脉冲,用这个检测点作为移位的起始点),用功能块FC92已经实现了移位运算,数据放在DB1里面,比如我想要检测到了瓶子,然后在第七个位置输出Q0.0(因为气缸就安装在第七个位置),那么就在程序里面写
A DB1.DBX0.6
= Q0.0
这个时候Q点输出用来驱动气缸完成动作。如果不在程序里面写清楚具体是哪个位置,改为通过HMI来设定想要的位置,应该怎么写程序呢?好比想要检测到了瓶子后,在第20个位置的时候输出Q0.1,只需在MP277上面的一个变量直接写20就能实现这个功能。试过用指针寻址,但弄不出来。
请多多指点,不吝发到我注册邮箱,谢谢。
最佳答案
DB1里的移位是无间隔地顺序排列吗?也就是第20个对应的是DBX2.3?
如果是,那么这个间接寻址很容易实现。
OPN DB1
L MW0
LAR1
A DBX[AR1,P#0.0]
=Q0.0
至于如何从HMI上把数值写到MW0里,应该难不倒你的。
提问者对于答案的评价:
谢谢。。可能大家不是很清楚我的意思。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246060.html