簡介
可將系列內多個模組進行匯流排組網,使得IO點數得到靈活擴展。模組可以由遠程命令進行控制。該模組採用工業級元器件,10-30VDC寬電壓輸入,能夠在-30℃~60℃範圍內正常工作,支持RS232、RS485通信模式,通信協定採用工業標準的Modbus RTU協定。
參數 靜態功耗: ≤0.3W
開關量輸入:無源節點,2500VDC光電隔離
繼電器觸點:1A@30VDC 0.5A@150V動作時長5ms
通信接口: RS485/RS232
波特率: 1200/2400或4800/9600/19200
校驗位: N
數據位: 8
停止位: 1
通信協定: Modbus RTU
看門狗:內置、外置2路
工作溫度:-30℃~60℃
工作濕度: 5%~90%RH,無凝露
設備尺寸:124mm x 73mm x 34mm
(長x寬x厚)
安裝方式:導軌固定/螺釘固定
分類
RIO-8100-4DI4DO 4路開關量輸入/4路計數器,4路繼電器輸出
RIO-8100-4DI 4路開關量輸入/4路計數器RIO-8100-4DO 4路繼電器輸出
RIO-8100-6DO 6路繼電器輸出
RIO-8100-2DI5DO 2路開關量輸入/2路計數器,5路繼電器輸出
RIO-8100系列遠程採集與控制模組,採用 RS232、RS485通信模式與上位進行數據互動,通信協定為工業標準的Modbus RTU協定,ModBus協定定義了一個控制器能認識使用的訊息結構,而不管它們是通過何種網路進行通信的,它制定了訊息域的格局和內容的公共格式,描述了一個控制器請求訪問其它設備的過程,回應來自其它設備的請求,以及偵測並記錄錯誤信息。通過此協定,控制器相互之間、控制器經由網路和其它設備之間可以完成信息和數據的交換與傳送,使各種不同的公司和廠家的可程式邏輯控制器(PLC)、RTU、SCADA系統、DCS或與兼容ModBus協定的第三方設備之間可以連成工業網路,構建各種複雜的監控系統,並利於系統的維護和擴展,這個通訊協定已廣泛被國內外各行業作為系統集成的一種通用工業標準協定。
實際套用
1.通信協定格式
遠程IO設備實現Modbus通信時,均作為從機,遵循Modbus通信過程,採用了MODBUS-RTU協定的命令子集,使用讀暫存器命令(03)和單暫存器設定命令(06)。每訊息的開頭和結尾至少有3.5個位元組時間的間隔。
註:03命令用於主機讀取遠程IO設備的採集數據或連線埠狀態;
06命令用於設定設備參數或遠程控制IO設備繼電器動作;
利用Modbus通信協定的03功能碼,讀取設備的數值。
主機請求數據格式:從機地址、功能碼、起始地址、數據個數及CRC碼
主機傳送
| 位元組數
| 信息內容
| 備註
|
從機地址
| 1
| xx
| 向地址為xx的從機要數據
|
功能碼
| 1
| 03
| 讀取暫存器
|
暫存器起始地址Rn
| 2
| NN Rn
| 起始地址=NNRn NN為00-FF的任意數值
|
數據長度Ln
| 2
| 00 XX
| 讀取XX個數據,每數據2個位元組
|
CRC碼
| 2
| CRCL、CRCH
| 由主機計算得到的CRC碼,低位在前、高位在後。
|
例如: 從機地址為01,讀取設備暫存器地址=0000的數值(1個數值)。
從機回響數據格式:從機地址、功能碼、位元組數、數據區及CRC碼
從機傳送
| 位元組數
| 信息內容
| 備註
|
從機地址
| 1
| xx
| 從機地址
|
功能碼
| 1
| 03
| 讀取暫存器
|
數據長度
| 1
| 00 XX
| 讀取XX個位元組(共2倍數據個數)
|
暫存器0高位元組
| 1
| DATA0H
| 暫存器0數據,高位在前,低位在後。
|
暫存器0低位元組
| 1
| DATA0L
|
暫存器n高位元組
| 1
| DATAnH
| 暫存器n數據,高位在前,低位在後。
|
暫存器n低位元組
| 1
| DATAnL
|
CRC碼
| 2
| CRCL、CRCH
| 由從機計算得到的CRC碼,低位在前,高位在後。
|
暫存器數據為二個位元組,高位在前。CRC碼都是二個位元組,低位在前。
例如: 從機地址為01返回:
01 03 02 DATA0H DATA0L CRCL CRCH
利用Modbus通信協定的06功能碼,設定設備的一個暫存器的數值。
信息幀格式:
①主機請求數據格式:從機地址、功能碼、暫存器地址、設定的數據及CRC碼
主機傳送
| 位元組數
| 信息內容
| 備註
|
從機地址
| 1
| ADDxx
| 向地址為XX的從機預置數據
|
功能碼
| 1
| 06
| 預置單個暫存器
|
暫存器地址
| 2
| 00-Rn
| 需要預置的暫存器
|
數據值高位
| 1
| DATAH
| 需要預置數據
|
數據值低位
| 1
| DATAL
| 需要預置數據
|
CRC碼
| 2
| CRCL、CRCH
| 由主機計算得到的CRC碼,低位在前,高位在後。
|
2.暫存器
暫存器地址 (16進制)
| 功能 (每暫存器數值16bit,即2位元組)
| 存取屬性 讀功能碼:03 寫功能碼:06
|
0001
| 485地址
| 讀寫
|
0002
| 串口波特率
| 讀寫
|
0000:1200;0001:2400;0002:4800;0003:9600;0004:19200 |
0003
| 所有DO輸出狀態,返回值1-16bit,按位表示第x路輸出狀態,所在位
| 唯讀
|
為0:繼電器常態(開路),所在位為1:繼電器閉合(合路) |
註:當前僅有前6個bit有效。 |
0004
| 所有DI輸入狀態,返回值1-16bit,按位表示第x路輸入狀態,
| 唯讀
|
所在位為0:無輸入,所在位為1:有輸入 |
註:當前僅有前4個bit有效。 |
0005
| 第1路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
0006
| 第2路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
0007
| 第3路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
0008
| 第4路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
0009
| 第5路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
000A
| 第6路繼電器狀態
| 讀寫
|
0000:繼電器常態(開路) |
0001:繼電器閉合(合路) |
000B
| 讀第1路DI輸入狀態
| 唯讀
|
0000:無輸入(開路狀態) |
0001:有輸入(合路狀態) |
000C
| 第2路DI輸入狀態
| 唯讀
|
0000:無輸入(開路狀態) |
0001:有輸入(合路狀態) |
000D
| 第3路DI輸入狀態
| 唯讀
|
0000:無輸入(開路狀態) |
0001:有輸入(合路狀態) |
000E
| 第4路DI輸入狀態
| 唯讀
|
0000:無輸入(開路狀態) |
0001:有輸入(合路狀態)
|
000F
| 第1路輸入計數值—高16位
| 讀寫
|
0010
| 第1路輸入計數值—低16位
| 讀寫
|
0011
| 第2路輸入計數值—高16位
| 讀寫
|
0012
| 第2路輸入計數值—低16位
| 讀寫
|
0013
| 第3路輸入計數值—高16位
| 讀寫
|
0014
| 第3路輸入計數值—低16位
| 讀寫
|
0015
| 第4路輸入計數值—高16位
| 讀寫
|
0016
| 第4路輸入計數值—低16位
| 讀寫
|
常用指令示例
設備串口出廠參數如下:
通信模式:RS485;可通過主機板跳線更改為RS232通信模式。
485地址:1;另:設備同時接受地址為0的指令。此方式便於當忘記設備地址時對設備進行
操作,包括參數的設定,或者連線埠數據的訪問。
波特率:9600bps;可通過軟體或指令修改,範圍為:1200、2400、4800、9600、19200。
校驗位:N;
數據位:8;
停止位:1;
CRC值的計算可通過配套光碟內的CRC軟體計算。
以下以設備485地址為1,舉例:
1)讀設備所有暫存器內容:0001至0016,共22個,每個暫存器內容占2個位元組,
上位主機傳送:01、 03、 00、 01、 00、 16 、95 、C4
從機設備返回:01、03 、2C、 (44位元組數據) 、CRCL 、CRCH
2)讀485地址(03讀指令)
上位主機傳送:01、 03 、00 、01、 00、 01、 D5 、CA
從機設備返回:01 、03、 02、 00 、01、 79、 84(地址為1)
3)設485地址(06寫指令)
上位主機傳送:00 、06 、00、 01 、00 、01 、18、 1B(設定地址為1)
從機設備返回:01、 06 、00 、01、 00、 01 、19 、CA
4)讀波特率(03讀指令)
上位主機傳送:01、 03、 00、 02、 00 、01 、25、 CA
從機設備返回:01 、03、 02、 00 、03、 F8 、45(波特率為03:9600)
5)設波特率(06寫指令)
上位主機傳送:01、 06、 00、 02、 00、 02、 A9、 CB(波特率設為4800)
從機設備返回:設備串口波特率立即改變,因此返回數據無意義。
6)讀所有DO狀態(03讀指令)
上位主機傳送:01 、03 、00 、03 、00 、01 、74、 0A
從機設備返回:01、 03、 02、 00、 00、 B8、 44(所有DO為0時)
7)讀所有DI狀態(03讀指令)
上位主機傳送:01、 03、 00、 04、 00、 01、 C5、 CB
從機設備返回:01 、03、 02、 00、 00、 B8、 44(所有DI為0時)
8)第1路繼電器合閘(06寫指令)
上位主機傳送:01 、06 、00 、05 、00 、01 、58 、0B
從機設備返回:01 、06、 00、 05、 00、 01、 58、 0B
9)第1路繼電器分閘(06寫指令)
上位主機傳送:01 、06 、00 、05 、00 、00 、99 、CB
從機設備返回:01 、06 、00 、05 、00、 00、 99、 CB
10)第2路繼電器合閘(06寫指令)
上位主機傳送:01 、06 、00 、06 、00 、01 、A8 、0B
從機設備返回:01、 06、 00、 06、 00、 01、 A8、 0B
11)第2路繼電器分閘(06寫指令)
上位主機傳送:01 、06 、00 、06 、00 、00 、69、 CB
從機設備返回:01 、06 、00 、06 、00 、00 、69 、CB
12)第3路繼電器合閘(06寫指令)
上位主機傳送:01 、06 、00 、07 、00 、01 、F9 、CB
從機設備返回:01 、06、 00、 07、 00、 01、 F9、 CB
13)第3路繼電分閘(06寫指令)
上位主機傳送:01 、06 、00 、07 、00 、00 、38 、0B
從機設備返回:01 、06、 00、 07、 00、 00、 38、 0B
14)第4路繼電器合閘(06寫指令)
上位主機傳送:01、 06、 00、 08 、00、 01、 C9、 C8
從機設備返回:01 、06 、00 、08 、00 、01 、C9 、C8
15)第4路繼電器分閘(06寫指令)
上位主機傳送:01 、06、 00、 08、 00、 00、 08 、08
從機設備返回:01 、06 、00 、08 、00 、00 、08 、08
16)第5路繼電器合閘(06寫指令)
上位主機傳送:01、 06、 00、 09、 00、 01、 98、 08
從機設備返回:01 、06 、00 、09 、00 、01 、98 、08
17)第5路繼電器分閘(06寫指令)
上位主機傳送:01 、06、 00、 09、 00、 00、 59、 C8
從機設備返回:01 、06 、00 、09 、00 、00 、59 、C8
18)第6路繼電器合閘(06寫指令)
上位主機傳送:01、 06、 00、 0A、 00、 01、 68、 08
從機設備返回:01 、06 、00 、0A 、00 、01 、68 、08
19)第6路繼電器分閘(06寫指令)
上位主機傳送:01 、06 、00 、0A 、00、 00、 A9、 C8
從機設備返回:01 、06 、00 、0A 、00 、00 、A9、 C8
20)讀第1路DI狀態(03讀指令)
上位主機傳送:01 、03 、00、 0B、 00 、01 、F5 、C8
從機設備返回:01 、03 、02 、00 、00 、B8 、44(輸入為0時)
01 、03 、02 、00 、01 、79 、84(輸入為1時)
21)讀第2路DI狀態(03讀指令)
上位主機傳送:01、 03、 00、 0C、00、 01、 44、 09
從機設備返回:01 、03 、02 、00 、00 、B8、 44(輸入為0時)
01 、03 、02 、00 、01 、79 、84(輸入為1時)
22)讀第3路DI狀態(03讀指令)
上位主機傳送:01、 03、 00、 0D 、00 、01 、15 、C9
從機設備返回:01 、03 、02 、00 、00、 B8、 44(輸入為0時)
01 、03 、02 、00 、01 、79 、84(輸入為1時)
23)讀第4路DI狀態(03讀指令)
上位主機傳送:01 、03 、00 、0E 、00 、01 、E5 、C9
從機設備返回:01、 03、 02、 00、 00、 B8、 44(輸入為0時)
01 、03 、02 、00 、01 、79 、84(輸入為1時)
24)讀第1路DI計數值(03讀指令)
上位主機傳送:01、 03、 00、 0F、00 、02 、F4 、08
從機設備返回:01 、03 、04 、4位元組數據 、CRCL 、CRCH(4位元組-32位整數)
25)寫第1路DI計數值(06寫指令)
上位主機傳送:01、 06、 00、 10、 00 、0A、 08、 08(設定計數器為10)
從機設備返回:01 、06 、00 、10、 00 、0A 、08、 08
26)讀第2路DI計數值(03讀指令)
上位主機傳送:01 、03 、00 、11 、00 、02、 94、 0E
從機設備返回:01、 03、 04、 00、 00、 00、 00、 FA、 33
27)寫第2路DI計數值(06寫指令)
上位主機傳送:01 、06 、00 、12 、00 、0A 、A9 、C8(設定計數器為10)
從機設備返回:01 、06 、00 、12 、00 、0A 、A9 、C8
28)讀第3路DI計數值(03讀指令)
上位主機傳送:01、 03、 00、 13、 00、 02、 35、 CE
從機設備返回:01、 03、 04、 00、 00、 00、 00、 FA 、33
29)寫第3路DI計數值(06寫指令)
上位主機傳送:01 、06 、00 、14 、00 、0A 、49 、C9(設定計數器為10)
從機設備返回:01、 06 、00 、14、 00、0A、49、 C9
30)讀第4路DI計數值(03讀指令)
上位主機傳送:01 、03 、00 、15 、00 、02 、D5 、CF
從機設備返回:01 、03 、04 、00 、00 、00 、00 、FA 、33
31)寫第4路DI計數值(06寫指令)
上位主機傳送:01、 06、 00、 16、 00、 0A、 E8、 09(設定計數器為10)
從機設備返回:01 、06 、00 、16 、00 、0A 、E8、 09
32)讀第1路DO狀態(03讀指令)
上位主機傳送:01 、03 、00 、05 、00、 01、 94、 0B
從機設備返回:01 、03、 02、 00、 00、 B8、 44(輸出為0時)
01 、03 、02 、00、 01、79、 84(輸出為1時)
33)讀第2路DO狀態(03讀指令)
上位主機傳送:01、 03、 00、 06、 00、 01、 64、 0B
從機設備返回:01、 03、 02、 00、 00、 B8、 44(輸出為0時)
01 、03 、02、 00、 01 、79 、84(輸出為1時)
34)讀第3路DO狀態(03讀指令)
上位主機傳送:01、 03、 00、 07、 00、 01、 35、 CB
從機設備返回:01 、03 、02 、00 、00 、B8 、44(輸出為0時)
01 、03 、02 、00 、01 、79 、84(輸出為1時)
35)讀第4路DO狀態(03讀指令)
上位主機傳送:01、 03 、00、 08、 00、 01、 05、 C8
從機設備返回:01、 03、 02、 00、 00、 B8、 44(輸出為0時)
01 、03、 02、 00 、01 、79 、84(輸出為1時)
36)讀第5路DO狀態(03讀指令)
上位主機傳送:01 、03 、00 、09 、00 、01 、54 、08
從機設備返回:01、 03、 02、 00、 00、 B8 、44(輸出為0時)
01 、03 、02 、00 、01 、79 、84(輸出為1時)
37)讀第6路DO狀態(03讀指令)
上位主機傳送:01 、03、 00、 0A、00 、01、 A4、 08
從機設備返回:01 、03 、02 、00 、00 、B8 、44(輸出為0時)
01 、03 、02 、00 、01、79、 84(輸出為1時)
如忘記設備地址,可使用0地址進行訪問,以完成上述功能。如忘記波特率,則可在1200/2400或4800/9600/19200之間輪選。校驗位固定為N,數據位固定為8,停止位固定為1。CRC值,可使用光碟內CRC軟體計算。您也可以通過光碟內設定軟體的人機界面對設備進行設定。
以下為使用0地址進行設備通信的示例,使用0地址,設備應不在組網狀態下進行,否則所有組網設備均對0地址的指令做出回響,示例如下:
1)讀設備所有暫存器內容:0001至0016,共22個,每暫存器內容占2個位元組,含義見章節3(設備暫存器說明)。
上位主機傳送:00 、03、 00、 01、 00、 16、 94、 15
從機設備返回:01、 03、 2C (44位元組數據) CRCL 、CRCH
(從機回響0地址,並以自身實際地址返回數據)
2)設定485地址為01
上位主機傳送:00 、06、 00 、01、 00、 01 、18、 1B
從機設備返回:01、06、 00、 01 、00、 01、 19 、CA
3)設定485地址為02
上位主機傳送:00、 06、 00、 01、 00 、02 、58 、1A
從機設備返回:02、 06、 00 、01、 00 、02、 59 、F8
4)設定485地址為03
上位主機傳送:00、 06 、00 、01、 00、 03 、99 、DA
從機設備返回:03、 06、 00、 01、 00、 03、 99、 E9
5)設定485地址為04
上位主機傳送:00、 06、 00、 01、 00、 04 、D8 、18
從機設備返回:04、 06、 00、 01、 00、 04、 D9、 9C
6)設定485地址為05
上位主機傳送:00、 06、 00、 01、 00、 05、 19、 D8
從機設備返回:05 、06、 00、 01、 00、 05、 19、 8D
7)設定485地址為06
上位主機傳送:00、 06、 00、 01、 00、 06、 59、 D9
從機設備返回:06、 06、 00、 01、 00、 06、 59、 BF
8)設定波特率為1200
上位主機傳送:00、 06、 00 、02 、00 、00 、29、 DB
從機設備返回:因設備波特率立即改變,返回數據無意義
9)設定波特率為2400
上位主機傳送:00 、06 、00 、02 、00 、01 、E8 、1B
從機設備返回:因設備波特率立即改變,返回數據無意義
10)設定波特率為4800
上位主機傳送:00 、06 、00、 02、 00、 02、 A8、 1A
從機設備返回:因設備波特率立即改變,返回數據無意義
11)設定波特率為9600
上位主機傳送:00 、06 、00 、02 、00 、03 、69 、DA
從機設備返回:因設備波特率立即改變,返回數據無意義
12)設定波特率為19200
上位主機傳送:00 、06 、00 、02 、00 、04 、28 、18
從機設備返回:因設備波特率立即改變,返回數據無意義
0地址,同樣可以對設備進行DI、DO狀態的讀寫,具體參照設備地址為1的示例,CRC值可通過光碟內的CRC小工具計算。
軟體配置
遠程IO設備採用標準的Modbus RTU協定,可容易配置到組態畫面中