用三菱PLC FX1N通过编程口与PC串口通讯,读D数据区:
地址算法:
(D0-D1023) address=address*2+1000h (所有的资料都这么写)
(D1024-D1999) address=address*2+AF40h (自己摸索出来的)
(D2000-D7999) 如何读出?
我用如下两种方法测试:
1 用"02 30 A B C D 30 31 03 * *" 令ABCD 从0000h-ffffh 全部扫描,但很多数据被三菱隐藏,只返回"02 ff ff ff ff 03 * *"
2 用GX Developer监视数据,用串口监视程序监视数据,得到大量协议,但无法解码,请高手指点:
PC->PLC
02 45 30 31 38 30 30 30 34 30 03 44 35 .E01800040.D5
PLC->PC
02 30 38 30 30 35 45 39 41 30 30 30 30 30 30 30 .08005E9A0000000
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 0202020202020202
30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30 0F409FF0BF401E70
33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30 3640EC70EDC0EFF0
45 03 46 35 E.F5
PC->PLC
02 45 30 31 38 30 34 30 31 43 03 45 39 .E0180401C.E9
PLC->PC
02 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30 .9001FE030000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
30 30 30 30 30 38 31 30 30 30 31 30 30 30 30 30 0000081000100000
30 30 30 30 30 30 30 30 30 03 43 35 000000000.C5
PC->PLC
02 45 31 30 31 34 30 30 30 45 30 34 38 31 30 31 .E1014000E048101
30 30 44 32 34 37 31 34 30 45 31 38 30 45 30 36 00D247140E180E06
30 45 30 30 30 45 03 42 41 0E000E.BA
PLC->PC
06 .
PLC->PC
02 45 30 30 31 37 39 30 30 39 03 45 32 .E00179009.E2
06-04-19 11:16