问题:
先说一下现场情况:有一个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开始就可以了。