核心提示:FX编程口协议中,各寄存器地址的转换方法:DEVICE 和 FORCE的地址是不一样的DEVICE:Dn ADDR = n*2 + 1000H;也就是说D的起始地址是1000H,但D是2个字节的Mn...
FX编程口协议中,各寄存器地址的转换方法:DEVICE 和 FORCE的地址是不一样的
DEVICE:
Dn ADDR = n*2 + 1000H;也就是说D的起始地址是1000H,但D是2个字节的
Mn ADDR = n/8 + 100H; 这是计算在那一个字节里面,因为一个地址里面有8位,而M只占1位,然后用n%8计算在那一位里面
Yn ADDR = n/8 + A0H;与上面M一样,不同点就是FX3U的Y是以8进制来排序的,这里的n是8进制
ADDR 是把每一位转化为ASCLL码,高位在前,低位在后的发送,比如我计算D100的地址,100 * 2 = 200 = C8H,ADDR = 10C8H,那么在命令里面发送数据为 31H 30H 43H 38H 这就代表地址
FORCE:
Mn ADDR = n + 800H;
Yn ADDR = n + 500H;n是8进制
ADDR 这里除了地址与上面不同,连排列顺序也变了,他先发送低两位,在发送高两位,比如Y10的地址,ADDR = 8H + 500H = 508H,发送数据是 30H 38H 30H 35H;
如:D100对应报文中的地址为:10CC8 ,对应ASCII码:31 30 43 38
100*2+4096=4296,转16进制为10C8
M100对应的报文中的地址为:010C,对应ASCII码:30 31 30 43
100/8=12,12+256=268,转16进制为:10C.


