IS004S盒如何使用在MODBUS多主机应用环境

栏目:公司新闻 发布时间:2020-04-11
在MODBUS的应用环境中,我们可以由一台主控计算机(master device)来控制多台被控设备(slave device)。我们可以由主控计算机发出询问封包给指定被控设备,当被指定设备收到封包后,会进行处理并回答封包给主控计算机

      在MODBUS的应用环境中,我们可以由一台主控计算机(master device)来控制多台被控设备(slave  device)。我们可以由主控计算机发出询问封包给指定被控设备,当被指定设备收到封包后,会进行处理并回答封包给主控计算机,其他被控设备知道该询问封包不是呼叫自己就忽略之不作处理。

      从软件的角度来看,MODBUS环境是一种问与答(Poll & Ack)的对话过程,只有一台主控计算机可以问话,而其他所有被控设备要注意自己有否被指定来接受命令或回答需求。




       从硬件的角度来看,MODBUS环境是一种半双工的传输环境.一个时间点只会有一个人可以传送资料,其他人只能接收资料。RS485界面是一种半双工传输界面,所以最常使用在MODBUS环境。RS232界面是一种全双工传输界面,所以无法直接使用在MODBUS环境,必须透过S232串口共享器来提供MODBUS环境所需要的半双工功能。



      现在出现一种需求是想在MODBUS环境中可以存在多台主控计算机来同时使用被控设备。例如我们在一个被监控环境中‚有多个温度传感器利用RS485线路与主控计算机连接。原本一台主控计算机利用MODBUS格式软件及RS485联机可以监控全部的温度传感器。现在基于某些理由‚我们希望有三台主控计算机可以同时来监控全部的温度传感器。由于MODBUS的对话特性及RS485联机的半双工特性,我们无法把这三台主控计算机直接挂到同一个RS485线路上。因为如果两台主控计算机同时发出封包到RS485线路上‚将产生冲突而无法正确传送数据。



       要克服这个困境就要采用IS004S智能型串口共享盒。首先它的地电位隔离特性‚可以把各个RS485网络隔开以避免地电位差问题。现在我们把温度传感器的RS485网段与IS004S盒的主串口1连接,把三台主控计算机各自与IS004S盒的从串口2、3、4连接。当任何一台主控计算机发出询问封包时,IS004S盒在从串口2、3、4接收后会转发到主串口1给温度传感器RS485网段。此时由主串口1收到传感器传回的数据‚我们会转发给刚才发出询问封包的主控计算机。

       如果有两个以上的主控计算机发出询问封包,则IS004S盒会依据先到先用原则来处理,我们令一个主控计算机的询问封包先转发给传感器RS485网段,其它主控计算机的询问封包则缓存之。等传感器回答封包被接收后,回传给该问话主控计算机后‚再换其它等待中的主控计算机继续使用。则各个主控计算机以为自己监控所有传感器而不知有其它主控计算机也在使用中。

       以上我们采用IS004S盒可以解决传统上MODBUS环境只能有一台主控计算机的限制。但在现实应用环境中,使用者必须知道合理使用此结构。要避免出现主控计算机命令被控设备向左转‚而另一主控计算机却命令向右转的不合理情况。一般而言受控设备如果只是提供数据给主控计算机者,则不会出现上述现象。最怕主控计算机可以设定受控设备的参数(例如公制单位的重量与英制单位重量),则受控设备所提供的数值可能在不同主控计算机上产生错误处理。