|
桑榮DTU連接西門子200,分別通過PPI和MODBUS兩種方式連接。其中用MODBUS方式連接有幾點(diǎn)需要注意:
第一、在dtu設(shè)置中,要注意串口設(shè)置,由于我先用ppi方式進(jìn)行的連接,再用modbus連接,串口設(shè)置忘了把8E1改成8N1,導(dǎo)致dtu一直登錄不上。還有一點(diǎn)必須死記,這個(gè)錯(cuò)誤我都犯兩次了,就是桑榮的設(shè)備ID號(hào)碼是八位的,以前用宏電的用習(xí)慣了,總是習(xí)慣的寫成11位的手機(jī)號(hào)。不過我個(gè)人比較喜歡桑榮,因?yàn)樯s設(shè)計(jì)很合理,DTU斷電不用去拔插座,直接坐著就可以操作,不像宏電,每次都要蹲下去拔插座。還有就是桑榮的技術(shù)支持特別好。

第二、西門子用modbus rtu驅(qū)動(dòng)連接,其中01號(hào)命令對(duì)應(yīng)Q輸出,偏移是1,則對(duì)應(yīng)Q0.0,依次類推。如果要用03號(hào)命令讀取,則要注意地址偏移,按照咱們驅(qū)動(dòng)幫助,地址偏移1的高8位對(duì)應(yīng)VB0,低8位對(duì)應(yīng)VB1,因此,一個(gè)偏移對(duì)應(yīng)兩個(gè)偏移區(qū),例如VB33對(duì)應(yīng)的就是地址偏移17的低8位。得出如下結(jié)論:偶數(shù)的偏移是除2加1,奇數(shù)的偏移是加1除2;奇數(shù)對(duì)應(yīng)的都是低8位,偶數(shù)對(duì)應(yīng)的都是高8位。如果要讀32位浮點(diǎn)數(shù),地址偏移也是如此,譬如我讀VW10里的5.55,那地址偏移就應(yīng)該寫6,在讀取類型上選擇:32位IEEE浮點(diǎn)數(shù)。

第三、modbus分配的地址:MaxHold——最大保持寄存器區(qū)、與庫存儲(chǔ)區(qū)的地址不能重疊,例如在咱們幫助中MaxHold分配的是100,庫存儲(chǔ)區(qū)從VB250開始,這樣是正確的。需要注意的是,西門子MaxHold是按字分配的,而vb250是字節(jié),也就是說,VBXX> MaxHold*2。
|
|