各位前辈,小弟近日负责的项目中,应用西门子1200PLC,要求周期性的记录系统中流量传感器测得的流量值,由于我所应用的触摸屏记录功能太差,所以准备在PLC中记录下来。现在初步的设想是,每100ms执行一次MOV指令,将测得的流量工程量写入一段连续的地址里.
假设MD20为流量测得值 第一个周期执行 MOV MD20 MD100 第二周期就执行MOV MD20 MD104
下一周期就是MOV MD20 MD108 就是想实现这样一个功能,我也想过用数组记录,如MOV MD20 ARRAY【1】 然后依此类推。
但,如何来实现却想不明白,在1200里指针是怎么定义的,怎么应用的,能不能这样寻址:MD【MD10】
还请各位大侠指点
楼主最近还看过
存储器间接寻址具有两个指针格式:单字和双字。
单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。
指针可以存放在M、DI、DB和L区域中,也就是说,可以用这些区域的内容来做指针。
单字指针和双字指针在使用上有很大区别。下面举例说明:
L DW#16#35 //将32位16进制数35存入ACC1
T MD2 //这个值再存入MD2,这是个32位的位存储区域
L +10 //将16位整数10存入ACC1,32位16进制数35自动移动到ACC2
T MW100 //这个值再存入MW100,这是个16位的位存储区域
OPN DBW【MW100】 //打开DBW10。这里的【MW100】就是个单字指针,存放指针的区域是M区,MW100中的值10,就是指针间接指定的地址,它是个16位的值!