咨讯息 · 2022年7月31日 0

统计数据通讯基本知识及各式各样通讯协定特征及差别。

构想直流控制器,它的输入端插头USB有四个脚位,依次是正极、正极和贴近生活极。适当地,阻抗的插头也应有四个脚位与控制器侧相异,这样就可以正确地赢得热能供给。

特别注意到这儿有四个要满足用户的前提:

第三是插头和插头脚位的花纹、大小不一和条形直径约及宽度要相异,不然难以顺利完成接插操作方式。这一点儿明确规定了插头女团的力学内部结构和脚位表述。

第三是控制器的输入电流值要满足用户载侧的市场需求值,不然难以顺利完成电稳态的要求。这一点儿下定决心了插头女团的阻抗规范化。NDS宝

第三是控制器的阻抗与阻抗的阻抗要相匹配,不然不能实现健全的供电系统。这一点儿下定决心了控制器的工作物理性质。

这四点只不过就是控制器插头女团在传输层底下的规章协定。

再看通讯USB。在相关计算机软件互换的ISO/OSI数学模型里,传输层是最上层(第三层),它明确规定了USB的机械设备外型、USB脚位表述、USB阻抗和二进制文件格式。

这儿的二进制文件格式,指的是两个二进制两个统计数据流,有两个初始位/暂停位,有两个校验位。一般地,两个二进制有8个统计数据流,1个初始位(暂停位),和1个校验位。特别注意:初始位和暂停位可以分拆。NDS宝

再看通讯USB和通讯网络的无薪问题。

云主机、VPS、NDS宝、游戏服务器上永恒云

RS422USB和RS232USB是串行USB,而RS485则是点对点USB。

对于点对点USB,显然需要有通讯的发起者,所以RS485USB和网络一定具有主站和若干从站,并且从站的数量也有明确规定。一般地,从站的数量是32个。NDS宝

RS485主站与从站的关系问题,看似只是通讯无薪的不同,其本质是通讯各方对通讯总线控制权的合理分配。

我们再看总线连接问题:

我们还是以控制器为例。我们可以从控制器引出一条主干线,然后再并联若干个支路并依次送到若干个阻抗。只要满足用户控制器的功率要求,显然这是可行的。

如果我们用同样的方法来引出RS485的通讯线,是否可行呢?答案是否定的。我们要从通讯主站先引一条线到第两个通讯子站,再从第三子站引第三条线到第三子站,如此循环直到最后两个子站。在通讯线的终端,还要配两个终端电阻。在这条通讯线路上,任何一点儿如果发生断路,则后续的通讯链路上的通讯也就断了。这种接线方法形象地被称为菊花瓣连接方法,或者链形连接方法,而控制器的接线方法则被称为星形连接方法。NDS宝

我们发现,从电气接线来看,链路是并联的。但从通讯来看,链路是菊花瓣的,属于两个接两个的有秩序的连接。NDS宝

现在我们可以总结一下了:

RS485的总线网络接线方式要是链形菊花瓣的接线方式,并且属于点对点的通讯方式;RS232是点到点的接线方式,属于串行通讯。不管是RS232USB,还是RS485USB,它们要符合传输层的通讯规约。

再看MODBUS-RTU通讯协定:

有了传输层通讯USB,是不是就能通讯呢?答案是否定的。传输层通讯USB只是使得通讯双方具备通讯前提而已。但若双方说的话谁都听不懂,或者通讯双方的说话方式及语法内部结构不相符,显然这也难以通讯。NDS宝

在OSI数学模型中,传输层之上是统计数据链路层。MODBUS-RTU协定就是统计数据链路层协定,只要通讯双方都采用了MODBUS-RTU协定,则能确保通讯语言是双方都能听得懂的语句文件格式。

特别注意这儿的词汇语句。传输层表述的是二进制,相当于语言中的字,统计数据链路层则把二进制组织成语句,也即帧。帧明确规定了通讯双方所用语句的语法内部结构。NDS宝

MODBUS也是主从式的。和传输层的总线控制是一样的,这儿的主从关系,就是对通讯总线的控制权做了明确规定。主站先下达命令,占用总线;接着把总线空置,交给从站去写回应码;从站顺利完成后,再把总线还给主站。

现在我们来看看ISO的HDLC明确规定的帧内部结构,也即通讯语句的语法内部结构,如下:

MODBUS的从站回应帧内部结构是:2个二进制的功能码,1个二进制的回应区二进制总数,N个二进制的回应统计数据,2个二进制的CRC校验码。

虽然传输层协定与统计数据链路层协定不同,但统计数据链路层协定的执行要建立在通讯双方传输层连接已经符合要求,并且已经可以无障碍地实现信息交互的基础上。

这个规则在ISO/OSI数学模型的七层协定中要完全彻底地得到执行。在ISO/OSI数学模型中,通讯双方的低层次协定要为上层协定建立透明的无故障的连接和信息互换关系。也就是说,各层次的上下级关系要是绝对的。NDS宝

从统计数据链路层再往上,就是网络层了。它的任务是构成现场总线的信息互换网。

网络层的功能包括:把通讯帧打包成统计数据分组,然后把统计数据分组发送给对方。

由于通讯双方的网络内部结构可能不同,于是对于同种网就需要用网桥来连接,而异种网则需要用网关来连接。

网络之间的信道可能有多条。统计数据分组在发送时有多种路径可以选择。负责选择路径的元件称为路由器。路由器不但下定决心了真实的统计数据互换网络路径,还可以构建虚拟的网络路径,还要下定决心统计数据分组的发送秩序。因此,路由器是网络层中最复杂最关键的装备。NDS宝

OSI数学模型中,把传输层+统计数据链路层+网络层分拆称为现场总线,其通讯USB就是8针的RJ45水晶头。显见,RJ45与RS232/RS485/RA422完全不是一回事。

网络层的统计数据分组是统计数据帧的女团。通俗地说,统计数据分组是一篇短文,或者是一页待传递的统计数据女团单元。NDS宝

网络层在发送统计数据分组时,其路由问题和接收女团问题见下图:

我们看到网络层在通讯时先由路由器确定路由路径,然后把分组发送到对方。对方接收到分组后,把分组按前后秩序女团起来,再解包为实际文档。

指的特别注意的是:由于网络层有了路由器,因此网络层支持星形网络内部结构。

需要明确的是:从网络层再往上,各层之间发送的信息单位已经是完整的报文了。OSI数学模型也明确规定了报文的语法内部结构,限于篇幅给予忽略。NDS宝

值得特别注意的是:RS232/RS485/RS422通讯USB以及它们的表述,是非常明确的。包括脚位的阻抗,脚位的功能表述,以及USB在信息发送和接收信息时的统计数据流时序关系,这些都要准确和严格,不然就难以执行信息互换。

当PLC与某电力仪表互换信息,并且这些电力仪表符合NDS宝RS485/MODBUS-RTU 通讯规范化。我们要做什么事呢?

第三,我们按菊花瓣内部结构的通讯链路要求去接线,将PLC的通讯USB与N个电力仪表USB连接起来。最后两个电力仪表的末端要配100欧的终端电阻。

第三,我们在PLC编程软件中设定好电力仪表明确规定的通讯速率。

特别注意,这儿的MODBUS通讯码满足用户PLC的IEC 61131-3编程模块要求,一般的PLC梯形图没有此功能。梯形图满足用户IEC 61131-1要求,但不满足用户IEC 61131-3要求。

第五,在PLC的内存中开辟专用统计数据区,存放从电力仪表读取到并处理后的信息,以便让更高层的总站来读取信息。此统计数据区有两个名称,叫做统计数据点表,有时也简称通讯协定。

最后,当然就是开机测试了。其中的内容很多,限于篇幅不再介绍。NDS宝

我们来看两个在RS485网络上用MODBUS-RTU读取统计数据的例子,如下:

此电力仪表的通讯速率是9600bps。什么意思呢?bps表示两个0/1,也就是比特,这说明每秒钟这条总线上可以发送9600个比特。我们已经知道两个二进制有8个统计数据流,1个初始位,1个校验位,刚好10位或者10个比特,所以,如果电力仪表的通讯速率是9600bps,那么1秒钟就可以发送:9600/10=960个二进制。NDS宝

对于本例,我们知道MODBUS-RUT读统计数据的命令是0X03H,也即03命令。特别注意这儿的写法:0X是字头,中间的03是命令,最后的H表示是16进制。

具体的仪NDS宝表回应通讯帧是:01 03 0C 00 64 0064 0064 00 DC 00 DC 00 DC D6 F5,其中0X01H和0X03H的意义同前,0X0CH表示上传统计数据区有12个二进制,0X0064H表示A相电流为100A,后面的两组为B相和C相电流,均为100A,0X00DCH表示A相电流为220V,其后两组为B相和C相电流,均为220V,最后0XD6F5H为CRC校验码。

从主站发起下行通讯帧,再等待10毫秒让从站回应,再接收到从站发还的上行通讯帧,总历时为:

如果有31个相同的仪表等待主站一一访问,则主站从访问第两个仪表开始,到最后回应完毕,总历时:NDS宝

这儿的1.12秒就是在通讯速率为9600bps下这31台仪表的读统计数据循环周期,且忽略了主站再次发送下行通讯帧的等待时间,实际时间会略微再长一些。

相信,看到这儿,大家对MODBUS-RTU下的通讯帧应有了较为深刻的认识。

提醒大家:两个字有两个二进制。一般地,二进制只能用来表达8个开关量。但对于模拟量,则要用字来表达。例如电流1250A,16进制下是04E2H,要用2个二进制就可以表达完整。也因此,各种电力仪表中,模拟量都是用字来表达的。NDS宝

以下是MODBUS的部分常用功能码,也即命令码:

以下是PLC在读取双投开关ASCO控制器的统计数据点表的下行和上行通讯帧范例:

两个相关的问题解释一下:

1)有些现场总线,用令牌解决了总线的控制权问题。

大家很容易想到,如果从站有紧急事项需要主站来服务,可是MODBUS明确规定了轮询规则,等到自己的时候,可能会太迟了。于是许多现场总线就发明了两个特殊的东西,叫做令牌。令牌很短,只有两个二进制,它可以很快地在总线上传递。令牌在各站点中传递,谁拿到令牌,谁就是主站,就可以发布信息。如果本站没有事情需要发布,就把令牌交给下两个站点,由此解决了总线占用问题。NDS宝

2)当链路发生断路时,为了避免出现通讯中断,可采用双主站措施。双主站(PLC的两个主站RS485USB)之间用握手线连接,平时主用RS485开通,而辅助RS485浮空。浮空的RS485虽然接在总线上,但它处于高阻态等效于完全脱离。当发生断路时,从站确认后立即开通通讯,从链路两头进行连接通讯。NDS宝

有时,还采取环状通讯措施。限于篇幅,不做介绍。

3)MODBUS可工作在网络层,此时协定变为MODBUS-TCP,但还是符合主从内部结构。

4)MODBUS协定是美国莫迪康公司发明的,该公司的宗旨是:

MODBUS协定为不收费的公开协定。后来莫迪康公司被施耐德公司收购了,施耐德公司继承了莫迪康公司的做法,MODBUS是不收费的公开协定。既然MODBUS已经成为施耐德的协定,施耐德把它延伸到网络层,构建了网络层的MODBUS-TCP协定,以及内部专用的MODBUS-PLUS协定。限于篇幅,对于这两个协定的描述此处从略。NDS宝

5)关于RS232和RS485的差别

学过模电和数电的人都知道差分电路。差分电路具有共模抑制比,能够消除共模误差。RS485USB就具有此特征。因此RS232USB的传输距离仅为十几米,而RS485/RS422USB的传输距离为1200米。NDS宝

我们从图中看到,虽然RS232和RS485USB的外型是一致的,但它们的性能和信息互换模式不同,因此抗干扰能力也不同。

6)当距离很长的时候,RS485USB还可以接入光纤,但需要配备1对光纤转换器。之所以要1对,是因为其中一只用于电转光,而第三只则用于光转电。光纤收发器中间的通讯介质就是光缆或者光纤。(特别注意哦,光纤是光缆的芯线,不要以为是两种东西)。

光纤分为单模和多模。单模的光纤较细,光在传输过程中反射较少,因而失真小,其传输距离可达15km以上;多模的光纤较粗,光在传输过程中反射较多,因而失真大,其传输距离为1.5km。NDS宝

7)CRC校验码是二进制不借位的除法,用以做接收信息是否出错的检验。

特别注意这儿的f(x)就是除去CRC校验码的MODBUS通讯帧,除数是CRC16。帧中的CRC是运算后的余数。

主站在发送帧之前,把帧先做CRC计算,再把CRC运算的余数附在帧尾发送给从站。从站接收到帧后,先对帧除去CRC的部分做CRC运算来检验是否正确,若不正确,从站要求主站重发。NDS宝

同理,当从站发送信息给主站时,主站也根据CRC来检查统计数据的正确性。若发现错误,则要求从站重发。

8)关于MODBUS-RTU、MODBUS-ASC和MODBUS-TCP

如果MODBUS中二进制表达统计数据的方式采取BCD码,则被称为MODBUS-RTU;如果MODBUS中二进制表达统计数据的方式采取ASCII码,则被称为MODBUS-ASC;如果MODBUS运行在网络层上,则被称为MODBUS-TCP。NDS宝

ASCII码的内容如下:

MODBUS在实际使用中,大多数都采用BCD码,因此MODBUS-RTU得到广泛应用。

BCD码如下:

值得特别注意的是:在协定使用中,统计数据帧中的数值都是用16进制数来表达的。例如100A电流写成0X64H,而380V电流则写成0X17CH。

9)关于RS485网络使用的双绞通讯线和贴近生活

我们知道,两条平行的线缆之间会有分布电容,而分布电容会削弱信号的强度。为了消除分布电容,通讯线的两条平行线需要按一定宽度互相旋转对绞,这种线被称为双绞线。双绞线的对绞宽度有规范化,它与通讯速率密切相关。在实际使用时,要按通讯速率来选择合适的双绞线。NDS宝

双绞线的外层有屏蔽层。屏蔽层要单点贴近生活,不得在线头线尾同时贴近生活,防止地电流流过引起干扰。在实际布线时,采取各线段独立贴近生活,切忌采用所有线段的屏蔽层前后连接统一贴近生活的做法。

10)关于菊花瓣的通讯链路连接方式NDS宝

绝对的菊花瓣链形网络是不存在的。事实上,我们用菊花瓣链形接线方法构建的通讯网络中,各个节点是接线端子,由接线端子通过双绞线连接到各个子站,这些双绞线就构成了类似的星形内部结构,我们不妨把这种接线方式称为链形网络下的准星形接线。

在工程实践中证明,准星形接线的宽度不得超过70cm。一旦超过,则可能出现通讯不稳定状态。

事实上,70cm也成为行业中的一条不成文的质检规范化。

100欧终端电阻在通讯速率低时可加可不加,但当通讯速率较高时(高于19.2kbps),建议一定要加。例如PROFIBUS下的RS485网络,终端电阻已经植入终端设备中,只需拨动开关即可加入或者撤离。NDS宝

终端电阻的用途是吸收反射波。

我们在两棵树间紧紧地绑上一根绳子,接着敲击绳子的某一侧,我们会看到有传导波向另一端传去,并能看到反射波。如果敲击的频率适当,则在绳子中间出现波的不动点,这叫做驻波。

对于通讯来说,不管是反射波还是驻波,将严重影响通讯质量。终端电阻用于吸收反射波,并且可提升最终子站的阻抗水平。NDS宝

永恒云出品