接地棒接地极 接地极和接地装置( 二 )


MODBUS也是主从式的 。和物理层的总线控制是一样的,这里的主从关系,就是对通信总线的控制权做了规定 。主站先下达命令,占用总线;接着把总线空置,交给从站去写回应码;从站完成后,再把总线还给主站 。
现在我们来看看ISO的HDLC规定的帧结构,也即通信语句的语法结构,如下:
在MODBUS通信协议下,不同的命令功能码它的帧结构不尽相同 。对于读寄存器命令,MODBUS的主站帧结构是:2个字节的地址码,1个字节的功能码,2个字节的数据地址码,2个字节的CRC校验码;MODBUS的从站回应帧结构是:2个字节的功能码,1个字节的回应区字节总数,N个字节的回应数据,2个字节的CRC校验码 。
虽然物理层协议与数据链路层协议不同,但数据链路层协议的执行必须建立在通信双方物理层连接已经符合要求,并且已经可以无障碍地实现信息交互的基础上 。
这个规则在ISO/OSI模型的七层协议中必须完全彻底地得到执行 。在ISO/OSI模型中,通信双方的低层次协议必须为上层协议建立透明的无故障的连接和信息交换关系 。也就是说,各层次的上下级关系必须是绝对的 。
从数据链路层再往上,就是网络层了 。它的任务是构成现场总线的信息交换网 。
网络层的功能包括:把通信帧打包成数据分组,然后把数据分组发送给对方 。
由于通信双方的网络结构可能不同,于是对于同种网就需要用网桥来连接,而异种网则需要用网关来连接 。

接地棒接地极 接地极和接地装置

文章插图
网络之间的信道可能有多条 。数据分组在发送时有多种路径可以选择 。负责选择路径的元件称为路由器 。路由器不但决定了真实的数据交换网络路径,还可以构建虚拟的网络路径,还要决定数据分组的发送秩序 。因此,路由器是网络层中最复杂最关键的装备 。
OSI模型中,把物理层+数据链路层+网络层合并称为现场总线,其通信接口就是8针的RJ45水晶头 。显见,RJ45与RS232/RS485/RA422完全不是一回事 。
网络层的数据分组是数据帧的组合 。通俗地说,数据分组是一篇短文,或者是一页待传递的数据组合单元 。
网络层在发送数据分组时,其路由问题和接收组合问题见下图:
我们看到网络层在通信时先由路由器确定路由路径,然后把分组发送到对方 。对方接收到分组后,把分组按前后秩序组合起来,再解包为实际文档 。
指的注意的是:由于网络层有了路由器,因此网络层支持星形网络结构 。
现在我们来关注一下ISO/OSI的7层模型,如下:
需要明确的是:从网络层再往上,各层之间发送的信息单位已经是完整的报文了 。OSI模型也规定了报文的语法结构,限于篇幅给予忽略 。
值得注意的是:RS232/RS485/RS422通信接口以及它们的定义,是非常明确的 。包括管脚的电平,管脚的功能定义,以及接口在信息发送和接收信息时的数据流时序关系,这些都必须准确和严格,否则就无法执行信息交换 。
当PLC与某电力仪表交换信息,并且这些电力仪表符合RS485/MODBUS-RTU通信规范 。我们要做什么事呢?
第一,我们按菊花瓣结构的通信链路要求去接线,将PLC的通信接口与N个电力仪表接口连接起来 。最后一个电力仪表的末端要配100欧的终端电阻 。
第二,我们把这N个电力仪表按地址递增的原则确定各自的地址,例如01H、02H、1FH等等 。这里的H表示是16进制,1F表示16+15=31 。
第三,我们在PLC编程软件中设定好电力仪表规定的通信速率 。
第四,我们在PLC编程软件中按电力仪表的数据区地址码设定好MODBUS通信码,以及各个子站的循环关系 。