机械制造业从单机自动化发展到分布式DNC控制系统,在技术上首先要解决的是数控机床计算机(上位机)的信息交换和互联问题,这是实现DNC控制的核心问题。笔者开发了一块PC机用RS422通信板,并且自行定义了一套可靠而行之有效的通信协议。
1 DNC系统的网络结构
本DNC控制系统的拓扑结构采用两级主从总线型网络结构,通信网络采用三层结构:物理层、数据链路层和应用层。
1) 物理层 采用平衡型标准RS422接口,以提高数据传输的可靠性。在新的平衡型标准RS422中(见图),发送器与接收器均以差分方式工作,每个信号用两根导线传输,整个接口无需共用信号线就可以正常工作。信号的电平由两根导线上的信号的差值来表示,电压范围为-6~+6V,相对于其中的一根导线来说,差值为+4~+6V表示二进制的“0”,差值为-4~-6V表示二进制的“1”。对于新的平衡型标准RS422来说,当传输距离达到1000m时,信号传输速率在100kb/s以下,在10m以内的近距离传输中,速率可达10Mb/s。由于每个信号均用双线传输,这种差分平衡结构能从地线的干扰中分离出有效信号,差分接收器可区分0.20V以上的电位差,因此,可不受对地参考系统之地电位的波动和共模电磁干扰的影响。
2) 链路层 本DNC系统控制系统采用异步串行通信方式。系统约定:数据的传输采用正反码校验:命令字和状态字在发送时,必须先发送两个BREAK,然后发送命令字或状态字,再发送其反码:文件传输时,32个字节(正反码)组成一个信息包。
3) 应用层 这一层是面向用户的,主要为命令的输入和传输结果的说明。其中命令的输入包括上位机对下位机实时控制命令的输入和文件传输命令的输入。传输结果的说明有两种:当命令或文件正确传输时,在屏幕上显示正确传输标志:当命令或文件错误传输时,在屏幕上显示错误传输标志。
2 本DNC控制系统通信规程的约定
为了使网络内不同结点之间能够正确进行数据通信,通信双方就必须有一套彼此能够相互了解和共同遵守的规则和约定,这些格式、约定及应答关系概括起来就叫做通信规程。
本DNC控制系统为主从总线型网络结构,上位机执行着整个系统的组织和管理。因此系统的通信规程是不平衡型的:上位机发送命令、接收响应并负责链路级的差错恢复:下位机发送响应、接收命令。 [page]
1) 通信信息及地址的编码
系统中RS422总线的一点对多点的通信是将所有下位机的接收端并联在总线上,接至上位机的发送端:而将所有下位机的发送端并联在总线上,接至上位机的接收端。因此,选择下位机和分辨下位机,确定通信路径是完成通信的第一步。
本系统采用一个字节来传递命令信息加地址信息或状态信息加地址信息,分别称为命令字、状态字。从上位机向下位机传送的为命令字,从下位机向上位机传送的为状态字。字节中地址信息占用字节的低四位,编码为1~3。命令信息或状态信息占用字节的高四位,地址信息、命令信息、状态信息都应该是独立和唯一的。
例如,急停命令信息编码040,若上位机想控制地址编码为1的正在加工的机床急停,则发送命令字应为041,该机床就会执行相应的动作,其他机床不予理会。又例如,若上位机接收到一个为02的状态字,由于编辑状态信息编码为000,故可相应判别出此状态字为地址编码为2的机床的编辑状态信息。
2) 命令字、状态字和文件传输的通信约定
在本DNC系统通信中,通信的内容除了有命令和状态,还有文件的传输,而文件中的字符是随机的,很可能会被某台机床误认为是对本机床的命令字而发生误动作:另外,由于电磁干扰和网络冲突的存在,接到的字符也可能并不是发送的字符。因此,为保证通信的可靠性和正确性,应该在通信设计中采取某些通信约定。
本DNC控制系统采用了特殊字符的双字符启动和正反码校验技术来实现上述目的。正反码校验技术是指在发送完字符的正码后,接着发送其反码,这样接收方就可根据前后两字符是否为反码来判断接收是否正确。正反码校验技术对每一字符的每一位都进行校验,比传统的奇偶校验及累加和校验要可靠得多。特殊启动字符BREAK规定为0X80,低四位字节为零,由于下位机的地址编码为1~3,故命令字与状态字都不会出现与BREAK相同的字符:文件传输中也采用正反码校验技术,因此文件传输中也不会出现连续的两个BREAK字符,保证了正确启动,不会引起误动作。
系统中约定不论是上位机发送命令,还是下位机发送状态,都必须先发送两个连续的BREAK,然后发送命令字或状态字,再接着发送其反码,这样连续几个字符称为一帧。
在这样的通信约定下,对于下位机来说,只有在它接收到符合约定的命令帧后,才判断接收到了正确的命令字,进而判断该命令是否为上位机对本机的命令。如果是,则返回正确的响应,否则不予理睬。上位机在接收到下位机的正确响应后,就了解到下位机已经正确接收了:若上位机在规定的时间内(至少为帧往返总线一周所用时间)接收不到正确响应,上位机会三次重发来纠错。对于上位机也是如此,只有在它接收到符合约定的状态帧后,才认为接收到了正确的状态字。
笔者采用Borland C++ 3.1 for DOS语言与Z80汇编语言编写了通信功能模块和DNC系统的其他功能模块。
3 结语
该DNC控制系统已经应用于浙江华能数控研究所的三面打孔机系统中,并在邯郸冶金机械备件厂得到推广。系统工作稳定、可靠,达到预期的控制目的,证明RS422通信可靠。
上一篇:AI总线系统在厦门翔鹭化纤中央空调的应用
下一篇:CAN总线在嵌入式平台中的应用
推荐阅读最新更新时间:2024-05-02 22:10
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况