新闻中心

EEPW首页>嵌入式系统>设计应用> RS422通信在DNC控制系统中的应用

RS422通信在DNC控制系统中的应用

作者: 时间:2012-07-04 来源:网络 收藏

1) 通信信息及地址的编码

系统中RS422总线的一点对多点的通信是将所有下位机的接收端并联在总线上,接至上位机的发送端:而将所有下位机的发送端并联在总线上,接至上位机的接收端。因此,选择下位机和分辨下位机,确定通信路径是完成通信的第一步。

本系统采用一个字节来传递命令信息加地址信息或状态信息加地址信息,分别称为命令字、状态字。从上位机向下位机传送的为命令字,从下位机向上位机传送的为状态字。字节中地址信息占用字节的低四位,编码为1~3。命令信息或状态信息占用字节的高四位,地址信息、命令信息、状态信息都应该是独立和唯一的。

例如,急停命令信息编码040,若上位机想控制地址编码为1的正在加工的机床急停,则发送命令字应为041,该机床就会执行相应的动作,其他机床不予理会。又例如,若上位机接收到一个为02的状态字,由于编辑状态信息编码为000,故可相应判别出此状态字为地址编码为2的机床的编辑状态信息。

2) 命令字、状态字和文件传输的通信约定

在本系统通信中,通信的内容除了有命令和状态,还有文件的传输,而文件中的字符是随机的,很可能会被某台机床误认为是对本机床的命令字而发生误动作:另外,由于电磁干扰和网络冲突的存在,接到的字符也可能并不是发送的字符。因此,为保证通信的可靠性和正确性,应该在通信设计中采取某些通信约定。

采用了特殊字符的双字符启动和正反码校验技术来实现上述目的。正反码校验技术是指在发送完字符的正码后,接着发送其反码,这样接收方就可根据前后两字符是否为反码来判断接收是否正确。正反码校验技术对每一字符的每一位都进行校验,比传统的奇偶校验及累加和校验要可靠得多。特殊启动字符BREAK规定为0X80,低四位字节为零,由于下位机的地址编码为1~3,故命令字与状态字都不会出现与BREAK相同的字符:文件传输中也采用正反码校验技术,因此文件传输中也不会出现连续的两个BREAK字符,保证了正确启动,不会引起误动作。

系统中约定不论是上位机发送命令,还是下位机发送状态,都必须先发送两个连续的BREAK,然后发送命令字或状态字,再接着发送其反码,这样连续几个字符称为一帧。

在这样的通信约定下,对于下位机来说,只有在它接收到符合约定的命令帧后,才判断接收到了正确的命令字,进而判断该命令是否为上位机对本机的命令。如果是,则返回正确的响应,否则不予理睬。上位机在接收到下位机的正确响应后,就了解到下位机已经正确接收了:若上位机在规定的时间内(至少为帧往返总线一周所用时间)接收不到正确响应,上位机会三次重发来纠错。对于上位机也是如此,只有在它接收到符合约定的状态帧后,才认为接收到了正确的状态字。

笔者采用Borland C++ 3.1 for DOS语言与Z80汇编语言编写了通信功能模块和系统的其他功能模块。

3 结语

该DNC已经应用于浙江华能数控研究所的三面打孔机系统中,并在邯郸冶金机械备件厂得到推广。系统工作稳定、可靠,达到预期的控制目的,证明可靠。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭