如何将现场数据存入DB中?

2018年12月24日13:23:38 发表评论 288 阅读

问题:

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

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: