|
发表于 2020-2-10 13:50:42
|
显示全部楼层
本帖最后由 神秘の宅叔 于 2020-2-10 13:54 编辑
可以从如下的两段T5/T5L平台示例参考
CALL TEXT02 ;此处为调用的添加的变化了就触发的代码,将程序添加到此处
;............................下面的为用户添加的变化了就触发的代码
TEXT02:
LDWR R0,0x1000 ;0x1000地址放置的是屏上面要下发给设备寄存器的参数地址,例如数据录入
MOVXR R50,1,1 ;DGUS变量地址1000数据读到os R10,R11
TESTS R50,R150,2 ;
IJNE R0,0, 变化1 ;R0=0就会往下执结束os,
GOTO TEXT1 ;
变化1: MOV R50,R150,2 ;将R10的值给R150变成一样,恢复用于下次比较
CALL Save_Data ;
LDWR R0,0X3000 ;0x3000地址配置于22.bin文件用于配置的02模式下的地址写入0x005A触发写指令操作
LDWR R10,005AH ;
MOVXR R10,0,1 ;005A写入用于触发modbus写指令
TEXT1: NOP
RET
;............................下面的为代码写法仅仅是将0x1000起始的2个字数据保存到数据库地址0x001000。;如果是历史数据累加地址保存,请按照用户根据自己实际需求更改代码。
Save_Data : ;此处为参考数据库的保存写法。
LDWR R0,0008H
LDWR R10,A500H
LDWR R12,1000H
LDWR R14,1000H
LDWR R16,0002H
MOVXR R10,0,4
LOOP2: ;判断数据库写操作是否完成
LDWR R0,0008H
MOVXR R10,1,1
IJNE R10,0,LOOP2
;保存结束:
RET
|
|