移位功能详细设定位地址
郑志武
发布于2013-01-17 23:55
5
0
标签:
判断两个接近开关的信号(一个是机器脉冲,机器运行的时候,每走过一个瓶子的距离就发出一个脉冲,只要机器运行就一直有脉冲输出;另一个是瓶子检测,检测到一个瓶子就发出一个脉冲,用这个检测点作为移位的起始点),用功能块fc92已经实现了移位运算,数据放在db1里面,比如我想要检测到了瓶子,然后在第七个位置输出q0.0(因为气缸就安装在第七个位置),那么就在程序里面写
adb1.dbx0.6
=q0.0
这个时候q点输出用来驱动气缸完成动作。如果不在程序里面写清楚具体是哪个位置,改为通过hmi来设定想要的位置,应该怎么写程序呢?好比想要检测到了瓶子后,在第20个位置的时候输出q0.1,只需在mp277上面的一个变量直接写20就能实现这个功能。试过用指针寻址,但弄不出来。
佳答案
db1里的移位是无间隔地顺序排列吗?也就是第20个对应的是dbx2.3?
如果是,那么这个间接寻址很容易实现。
opndb1
lmw0
lar1
adbx[ar1,p#0.0]
=q0.0
至于如何从hmi上把数值写到mw0里,应该难不倒你的。