程序如下:
SET
SAVE
TAR1 #d_ar1
L #DB_NO
T #dbnr
OPN DB[#dbnr]
LAR1 DBD 14
L PIW [AR1,P#0.0]
CAW
T DBB36
A DBX36.5
A DBX36.6
O
AN DBX36.5
AN DBX36.6
JCN ANL
CLDB: L 0
T DBB 1
T DBB 3
T DBB 4
T DBB 8
T DBB 20
T DBB 24
T DBB 28
T DBB 32
A DBX 36.6
= DBX 20.6
DBD14=DW#16#880,表示P#272.0,正好是硬件组态里FM350-2_COUNTER的地址,编码器的信号是接在FM350-2_COUNTER上的。
我觉得这是一段初始化程序,如果遇到停电情况,机械的零位不是发生了改变了吗?如果用机械停止位I1.3作初始化的触发,使用AN I1.3,请问大侠们该怎么改?谢谢!
问题补充:
我能不能改成这样:
......
A DBX36.5
A DBX36.6
O
AN DBX36.5
AN DBX36.6
JCN ANL
CLDB: CLR
AN I1.3
L 0
T DBB 1
T DBB 3
T DBB 4
......
最佳答案
你改的好像和没改一样
执行的时候,clr 和an i1.3顺序向下执行,有和没有一样的啊
现在的程序在实际使用中有问题吗?
提问者对于答案的评价:
这个程序在实际使用中问题很大,一是外部没有使用绝对值编码器,遇到断电时,零位对不上;二是没有具象的初始化位置。我准备做个具体的初始化。
最佳答案作者回复:
断电的话,可以在OB100里面做,这段程序就是在OB100里面吗?可以设置一个位,如果断电了,重新上电的时候复位一下,然后要求必须有一个找零的过程,就和伺服似的一些上电之后必须找一下原点才行
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc193111.html