wincc 7.0 關(guān)于 modbustcp的問題
林慧玲
發(fā)布于2014-03-18 17:34
16
0
標(biāo)簽:
wincc下,modbustcpcpu類型下有三種,各是什么意思?另外。設(shè)置如下:
cpu:premium,
服務(wù)器:192.168.0.18。
端口502,
遠(yuǎn)程從站地址1其它默認(rèn)。
建立數(shù)據(jù)變量為newtag_1,數(shù)據(jù)為浮點(diǎn)數(shù)32位,地址區(qū)域?yàn)楸3旨拇嫫鳎?mw設(shè)置為1。
轉(zhuǎn)串口后,再用串口檢測出來后數(shù)據(jù)如下:01031a810001d33a。但是用modscan檢測出來的數(shù)據(jù)倒是正常且有回復(fù)數(shù)據(jù)。哪里設(shè)置錯(cuò)了。其它的cpu類型設(shè)置后兩次正常但隨后不正常數(shù)據(jù)。
問題補(bǔ)充:
分明是浮點(diǎn)數(shù),發(fā)出的應(yīng)該是00001地址才對(duì),且數(shù)據(jù)長度為0002才對(duì)。但是wincc里是沒有奇偶校驗(yàn)的啊。
佳答案
先說串口檢測到的報(bào)文01031a810001d33a,01代表modbus從站地址為1,03代表讀取保持寄存器,1a81代表保持寄存器地址為6785,對(duì)應(yīng)premiumplc地址為%mw6784(premiumplc遵從iec0地址編碼),0001代表讀取的數(shù)據(jù)長度;d33a代表crc校驗(yàn)碼。
現(xiàn)在就可以看到和讀寫有差別的地方:
1/的實(shí)際讀寫地址為%mw1,而發(fā)出的報(bào)文為%mw6784;
2/實(shí)際讀取的是浮點(diǎn)數(shù),而發(fā)出的報(bào)文只讀取了1個(gè)保持寄存器即1個(gè)字,因此,要確認(rèn)上述數(shù)據(jù)是否設(shè)置正確,另外注意串口的奇偶校驗(yàn)是否正確;