先说一下现场情况:有一个RFID读写头,一套300PLC,每当工件经过读写头时,读写头会读取工件上载码体内的数据(数据格式为实数,不含字母),一天大约有2000多条数据,现在想将这2000多条数据都记录在一个DB中(现场没有上位系统,只能有PLC编程),我写了一段程序,但不能记录数据,麻烦高手帮忙看看,或者重新编一段也行。多谢多谢。
OPN "TEST2_DB"
LAR1 P#4.0
A M 80.2 \\这个是现场的光电开关信号,此信号为1时,去读取读写头里的数据就可以。
FP "TEST2_DB".P[1]
JCN S1
L 3000
C: T #Cycle
AN DBX [AR1,P#4.0]
JCN S2
L "READ_BUFF_DATA".DB_VAR_36 \\这个是RFID读写头里的数据经过转换后所存的地址。
T DBD [AR1,P#0.0]
S DBX [AR1,P#4.0]
JU S1
S2: +AR1 P#6.0
L #Cycle
LOOP C
S1: NOP 0
DB的开辟见图
图片说明:
最佳答案
这个看似没有问题,不过可以用更简单的思路,就是用一个计数器来记录存储的数,通过这个记录数来存储。如下:
OPN "TEST2_DB"
LAR1 P#4.0
A M 80.2
FP m80.3
JCN S1
L mw82
slw 5
+ar1
L "READ_BUFF_DATA".DB_VAR_36
T DBD [AR1,P#0.0]
l mw82
l 1
+i
t mw82
S1: NOP 0
这样,只要做好初始化和MW82大于一定的数如3000,就重新从0开始就可以了。
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc133787.html