RS-232/485地址扩展转换器
——扩展指令符合MODBUS协议
一、用途
波仕新款RS-232一变四地址扩展转换器(型号:DIZ4232I)用于将一个上位机RS-232或者RS-485口扩展成四个带地址的下位机RS-232口,新一代产品支持关联扩展到16个口。DIZ4232I的4个下位机RS-232口各带地址,由上位机发送地址指令来分别选通,指令符合MODBUS协议。下位机RS-232串行口只有TXD、RXD、GND三个信号。DIZ4232I适用于下面两种情况:1、将一个串口扩展出带地址的4个RS-232口,新款产品支持同一个总线中4个产品扩展16个串口,2、将本来不带地址的串口设备接入RS-485总线。
二、安装及性能
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的地址设置指令
对于接DIZ4232I扩展器的各种串口外设,在通信之前,首先必须从上位机端的串口(RS-232/RS-485均可)向产品以9600bps速率发送下面对应的指令来选通某个下位机。
J0断、J1断表示本产品的设备地址为A(十六进制,相当于十进制的10)
J0 |
J1 |
指令16进制代码 |
指令10进制代码 |
功能 |
状态 |
断 |
断 |
0A 06 00 00 00 00 88 B1 |
10 6 0 0 0 0 136 177 |
选通0#、其它断开 |
0#灯亮 |
断 |
断 |
0A 06 00 00 00 01 49 71 |
10 6 0 0 0 1 73 113 |
选通1#、其它断开 |
1#灯亮 |
断 |
断 |
0A 06 00 00 00 02 09 70 |
10 6 0 0 0 2 9 112 |
选通2#、其它断开 |
2#灯亮 |
断 |
断 |
0A 06 00 00 00 03 C8 B0 |
10 6 0 0 0 3 200 176 |
选通3#、其它断开 |
3#灯亮 |
J0通、J1断表示本产品的设备地址为B(十六进制,相当于十进制的11)
J0 |
J1 |
指令16进制代码 |
指令10进制代码 |
功能 |
状态 |
通 |
断 |
0B 06 00 00 00 00 89 60 |
11 6 0 0 0 0 137 96 |
选通0#、其它断开 |
0#灯亮 |
通 |
断 |
0B 06 00 00 00 01 48 A0 |
11 6 0 0 0 1 72 160 |
选通1#、其它断开 |
1#灯亮 |
通 |
断 |
0B 06 00 00 00 02 08 A1 |
11 6 0 0 0 2 8 161 |
选通2#、其它断开 |
2#灯亮 |
通 |
断 |
0B 06 00 00 00 03 C9 61 |
11 6 0 0 0 3 201 97 |
选通3#、其它断开 |
3#灯亮 |
J0断、J1通表示本产品的设备地址为C(十六进制,相当于十进制的12)
J0 |
J1 |
指令16进制代码 |
指令10进制代码 |
功能 |
状态 |
断 |
通 |
0C 06 00 00 00 00 88 D7 |
12 6 0 0 0 0 136 215 |
选通0#、其它断开 |
0#灯亮 |
断 |
通 |
0C 06 00 00 00 01 49 17 |
12 6 0 0 0 1 73 23 |
选通1#、其它断开 |
1#灯亮 |
断 |
通 |
0C 06 00 00 00 02 09 16 |
12 6 0 0 0 2 9 22 |
选通2#、其它断开 |
2#灯亮 |
断 |
通 |
0C 06 00 00 00 03 C8 D6 |
12 6 0 0 0 3 200 214 |
选通3#、其它断开 |
3#灯亮 |
J0通、J1通表示本产品的设备地址为D(十六进制,相当于十进制的13)
J0 |
J1 |
指令16进制代码 |
指令10进制代码 |
功能 |
状态 |
通 |
通 |
0D 06 00 00 00 00 89 06 |
13 6 0 0 0 0 137 6 |
选通0#、其它断开 |
0#灯亮 |
通 |
通 |
0D 06 00 00 00 01 48 C6 |
13 6 0 0 0 1 72 198 |
选通1#、其它断开 |
1#灯亮 |
通 |
通 |
0D 06 00 00 00 02 08 C7 |
13 6 0 0 0 2 8 199 |
选通2#、其它断开 |
2#灯亮 |
通 |
通 |
0D 06 00 00 00 03 C9 07 |
13 6 0 0 0 3 201 7 |
选通3#、其它断开 |
3#灯亮 |
用MODBUS调试精灵V1.024进行设置。以本图为例,这里“设备地址”为10(相当于16进制的A,即J0断、J1断),“寄存器地址”永远填写0,“数值”为1代表选通1#口。按下“写入”,会发现设备地址为A的1#串口灯亮。即使关闭本软件,灯继续亮。除非重新上电或重新写入设置。
也可以用串口调试助手软件scommassistant,在发送栏填写0A 06 00 00 00 01 49 71,再按“手动发送”可以实现一样的功能。
Visual Basic程序中发送0A 06 00 00 00 01 49 71(十进制10 6 0 0 0 1 73 113)的代码为
Dim SendArr(8) As Byte ' 定义数组长度
SendArr(0) = 10 SendArr(1) = 6 SendArr(2) = 0 SendArr(3) = 0
SendArr(4) = 0 SendArr(5) = 1 SendArr(6) = 73 SendArr(7) = 113
MSComm1.Output = SendArr
随产品赠送VB的“波仕串口调试软件”,具有DIZ4232I的设置和通信功能。
四、DIZ4232I的典型应用
4.1 为PLC、单片机、计算机等扩展分时RS-232口
对于PLC、单片机或者计算机,只要有三线制的串口,无论是RS-232电平还是RS-485电平,都可以用一个DIZ4232I扩展出4个RS-232口。只要用户能够让PLC、单片机或者计算机向DIZ4232I的上位机侧发送选通地址的指令即可。
4.2 将无法设置地址的RS-232设备接入RS-485总线
每用一个DIZ4232I就可以将一个RS-232设备接入到RS-485总线,通过对DIZ4232I进行不同的J0、J1跳线设置(4种)以及接不同的RS-232口(同样跳线的DIZ4232I有4个RS-232口0#、1#、2#、3#),这样在同一个RS-485总线中最多可以用4个DIZ4232I,共16个RS-232口。这4个DIZ4232I的上位机侧的RS-485并联(所有A接一起、所有B接一起、所有GND接一起)后接入RS-485总线。这样上位机就可以通过RS-485总线发送本产品的选地址指令来选通某个RS-232设备后进行通信,每次只选通一个RS-232设备进行通信就不会产生冲突。
五 、附录
DIZ4232I的两侧DB-25针端引脚分配如下:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
11 |
12 |
13 |
|
|
GND |
GND |
GND |
GND |
RXD0 |
RXD1 |
|
|
LED0 |
LED1 |
|
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
|
23 |
|
|
|
|
GND |
GND |
GND |
GND |
TXD0 |
TXD1 |
|
|
+5V |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
11 |
12 |
13 |
|
|
GND |
GND |
GND |
GND |
RXD2 |
RXD3 |
|
|
LED2 |
LED3 |
|
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
|
23 |
|
|
|
|
GND |
GND |
GND |
GND |
TXD2 |
TXD3 |
|
|
+5V |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意:LED是指显示灯信号,低电平有效。TXD方向是指从产品内部向外发送,为RS-232电平(计算机)。