如何实现虚拟串口一对多 点击:4204 | 回复:2



金久瑞

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 2回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2005年1月08日
发表于:2007-11-30 16:08:00
楼主
与多个IP通讯功能允许经由一个串口与多个不同IP地址上的多台设备服务器通讯    问题 串口设备连网后有时需要通过一个虚拟串口与多个IP地址上的设备进行通讯, 例如: 假设在RS485网络上有多个数据采集终端(图1),RS485总线通过485<->232转接器连接在电脑端的COM口,电脑 上装有一个应用软件可以向终端发送指令,其中包含终端的网络地址,这样就可以和终端进行通讯。RS485网络上的终端设备都会收到指令,但是只有与网络地址相匹配的终端设备才会回应命令。 这是控制多终端设备网络通讯常用的方法。电脑作为网络 "主控器",其他终端作为网络"被控制器” 现在假设要将这些数据采集终端连上网络,比如要通过TCP/IP网络来控制这些设备,最简单的方法就是将RS485总线连接到GW21X串口设备服务器,在电脑端创建一个虚拟端口,应用程序通过虚拟串口和GW21X与终端设备通讯(图2)
  图 2. 使用GW21X和虚拟串口连接RS485系统和网络
    可以使用这种方法。 但是这种方法只适合于终端设备之间距离较短的情况。 如果终端机之间的相互距离很远时,那么RS485的网络连接就会很长,RS485系统与网络的连接 也就没有了意义!更好的解决方法就是将每个终端设备直接连接至一个GW21X(图3). 这样的话就不需要进行RS485连接, 然而需要注意的是... ,每个GW21X都需要一个单独的 IP地址。但是一个虚拟串口同时只能连接一个IP地址!所以要解决问题就需要创建和终端设备同样多的虚拟串口。
图 3. 直接连接终端设备至和TCP/IP网络  这种方法也比较麻烦,而且也不一定有效,因为大多数的软件包都不支持 通过多个串口同时进行通讯。所以就需要通过同一个虚拟串口与多个终端设备进行通讯。     解决办法 推出的与多个IP通讯功能 可以帮您解决这一问题。与多个IP通讯功能允许经由一个虚拟串口和多个目的IP 通讯,可以根据应用软件发送的数据内容在多个Ip地址间进行切换。每个终端都会有一个 单独的IP地址, 然而在通讯时所有的终端就如仍然连接在RS485网络上一样。让我们以上面的一个终端网络为例来说明问题。假设网络上有三台终端机,号码分别为1, 2, 3 (号码并不一定要连续)。 假设这几台终端机的协议使用以下命令结构(图4):
STX
Addr1
Addr2
Command contents
CR
              图. 4. 在RS485主-从网络模式下的常用命令格式 在所有的通讯协议中,所有的命令都以STX (ASCII code 02Hex)开始,以CR (ASCII code 0DHex)结束。 并且"压缩"字符(这该例子中就是STX 和 CR)不包含在命令体中,所以他们能 可靠的辨别每个命令的开始和结束。 在STX后的头两个ASCII字符中包含终端机的网络地址 ,为ASCII格式(例如 "01" 即为选择终端机 #1, "02" 即为选择 终端机 #2 等等)。 启动与多个IP通讯的功能,虚拟串口可以过滤与网络地址相关的内容(在该例子中是STX+Addr1+Addr2 sub-string),并且自动切换目的Ip地址。sub-string 包含两个部分:一个固定 Prefix和一个可变Switcher.Prefix决定数据包的开始字符, 以便虚拟串口进行识别。在该例子中是STX字符。Switcher是跟在Prefix后的可变部分, 决定要进行通讯的终端设备。在这里Switcher 包含两个ASCII字符("00", "01",等)。Prefix是固定部分,所以只能为虚拟串口定义一个string。Switcher是可变部分, 所以可以为一个虚拟串口定义许多个Switcher。每个Switcher都会有一个相应的目的Ip地址。IP地址 之间的转换关系储存在转换表中。每当虚拟串口侦测到应用程序发送的Prefix以及其后的Switcher, 虚拟串口就会开始向相应的Ip地址(根据转换表)发送数据。 例如图3的转换表应该包含三个Ip地址 (图 5)
Switcher
Destination IP-address
"01"
192.168.100.40
"02"
192.168.100.41
"03"
192.190.0.15
图. 5. 图 3中的三个终端设备的转换表  逐步设定多个IP地址 现在为例子中的系统设定虚拟串口:       安装新版本的TDST      启动 VSP 管理器 在 VSP管理器窗口中点击添加虚拟串口- 添加虚拟串口 属性对话框就会打开。(图6)  
图. 6. 增加虚拟串口属性对话框 为新创建的虚拟端口选择端口号(例如, COM3), 如有必要,可启动 Send On-the-fly serial setting
changes to Device Server ,选择与多个IP通讯模式
      点击 Edit Multi-IP table- 目的IP-地址表窗口就会打开(图 7)  
图. 7. 目的IP-地址表对话框  在该对话框的顶端可输入Prefix。由于Prefix包含"普通ASCII" 以及不可打印



yzcyz

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2007年12月09日
发表于:2009-06-20 08:50:31
1楼

图片内容看不到!!!!!!!

fzsq2004

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:0
  • 历史总积分:232
  • 注册:2007年6月09日
发表于:2009-07-13 17:17:51
2楼

不能看到图了, !!!!!!!!!!!!!!!


热门招聘
  • 客服
  • 小程序
  • 公众号