在實際工作場合有許多RS-232串口設備,本身不帶地址設置功能,或者不符合MODBUS協議的地址,但是卻要接入MODBUS總線。本文介紹如何借助于MODBUS/串口轉換器實現這個功能。MODBUS/4路串口轉換器(型號:DIZ4232I)用于將MODBUS總線(RS-232或者RS-485)增加4個RS-232口,還可以同時接4個本產品最多增加到16個RS-232口。
DIZ4232I的4個下位機RS-232口各帶地址,由上位機按照MODBUS協議發送地址指令來分別選通。下位機RS-232串行口只有TXD、RXD、GND三個信號。DIZ4232I適用于將本來不帶地址的RS-232串口設備接入MODBUS總線。
DIZ4232I的外型為DB-25(針)/DB-25(針)轉接盒大小,兩端完全一樣。產品中間的側面分別為RS-232口(DB-9孔)和RS-485/5V電源(接線端子),如圖。DIZ4232I需要外接5V電源。DIZ4232I的兩頭DB-25針端均配套有各帶2個DB-9針座的板,共4個DB-9針座;4個DB-9針座為4個下位機RS-232口(0#,1#,2#,3#),在相應的位置帶指示燈。使用之前通過發送地址指令(符合MODBUS協議)來分時選通四個下位機RS-232口,選通某個口后端子板上對應位置的燈會亮。選擇下位機串口地址只需要加一句指令,剛加電時默認0#口通,同時0#燈亮。選通后,支持通信速率0-115.2Kbps,自動適應。四個下位機RS-232口還可以外插波仕電子的RS-232/RS-485轉換器等。隨產品配套有一個5V穩壓電源。J0、J1跳線用來設置本設備地址,一般情況下將跳線J0、J1斷開即可,超過4個口才需要設置跳線。
對于接DIZ4232I擴展器的各種串口外設,在通信之前,首先必須從上位機端的串口(RS-232/RS-485均可)向產品以9600bps速率發送MODBUS指令來選通某個下位機。
產品的兩個跳線用于設置MODBUS地址:
J0斷、J1斷表示本產品的設備地址為A(十六進制,相當于十進制的10)
J0通、J1斷表示本產品的設備地址為B(十六進制,相當于十進制的11)
J0斷、J1通表示本產品的設備地址為C(十六進制,相當于十進制的12)
J0通、J1通表示本產品的設備地址為D(十六進制,相當于十進制的13)
用MODBUS調試精靈V1.024進行設置演示。以本圖為例,這里“設備地址”為10(相當于16進制的A,即J0斷、J1斷),“寄存器地址”永遠填寫0,“數值”為1代表選通1#口。按下“寫入”,會發現設備地址為A的1#串口燈亮。即使關閉本軟件,燈繼續亮。除非重新上電或重新寫入設置。選通地址之后,后面的通信軟件可以適應各種波特率等格式。
也可以用串口調試助手軟件scommassistant,在發送欄填寫0A 06 00 00 00 01 49 71,再按“手動發送”可以實現一樣的功能。
將多個無法設置地址的普通RS-232設備接入MODBUS總線。單獨使用一個DIZ4232I時,MODBUS可以用RS-232或RS-485總線;一個以上必須選RS-485作為MODBUS總線。
每用一個DIZ4232I就可以將1~4個RS-232設備接入到MODBUS總線,通過對DIZ4232I進行不同的J0、J1跳線設置(4種),這樣在同一個RS-485總線中最多可以用4個DIZ4232I,總共16個RS-232口。這4個DIZ4232I的上位機側的RS-485并聯(所有A接一起、所有B接一起、所有GND接一起)后接入MODBUS 總線。這樣上位機就可以通過RS-485總線發送本產品的選地址指令來選通某個RS-232設備后進行通信,只要4個DIZ4232I的J0和J1跳線組合選擇不同,則每次只選通一個RS-232設備進行通信就不會產生沖突。