串口通信在电镀设备上的应用
2012-10-20中国电子科技集团四十五研究所曹颖杰
中国电子科技集团 四十五研究所 曹颖杰
串口通信在电镀设备上的应用
中国电子科技集团 四十五研究所 曹颖杰
在工业控制中,串口是控制器与外部串行设备之间的数据传输通道。串口通信具有稳定可靠、成本低廉、软件易实现等优点,是在当前工业控制领域中应用比较广泛的通信方式。本文,笔者以半导体行业中的电镀设备为例,介绍一种简单、实用的工业控制模型。该模型使用PLC(可编程控制器)为主控制器,以串口通信为工业控制的媒介,采用CX–PROTOCOL作为开发工具,以实现串行通信协议宏控制软件的开发。
一、总体设计
该模型由主控单元和受控单元组成。主控单元为可编程控制器,配置了4个串口;各受控单元配置了相应的RS485接口。主控单元通过总线向受控单元发送控制指令,受控单元根据不同指令执行不同的动作。受控单元由不同功能的子模块组成,这些子模块多由不同的厂商提供,其串口通信协议往往不同。主控单元与受控单元的连接方式如图1所示。
图1 主控单元和受控单元连接方式
二、软件实现
在软件实现过程中,先利用CX–PROTOCOL软件开发串行通信协议宏的序列,协议包含设备的状态查询和实时控制等;再利用PLC程序调用协议,进而实现PLC对不同厂商智能仪器的分时循环通信,实现对设备的实时控制。
1.通信协议宏组态及PLC编程。协议宏是一种通信协议,其功能主要是控制各种通信设备和装有RS232、RS485通信端口的通信器件的数据传送。先利用OMRON的CX–PROTO-COL软件创建不同的通信协议序列,再编写PLC控制程序,使用PMCR指令循环执行存储在通信单元中的通信序列。控制系统的各个模块由不同厂商提供的,用来完成不同的任务,在开发控制软件时,需根据各个模块的具体通信协议编写出符合不同要求的通信序列。
(1)数据格式。由1位起始位、8位数据位、1位偶校验位和1位停止位组成,波特率为9 600 bps,字符为ASCII码。数据格式见表1。
表1 数据格式
(2)通信命令。通信命令包括读命令和写命令两方面的内容。通信命令的代码及功能见表2。
表2 通信命令代码及功能
(3)通信控制字符。采用面向字符的传输规程,并采用通信控制字符控制。通信控制字符见表3。
表3 通信控制字符
当PLC对电源发来的ENQ不理解时,用NAK回答。
(4)报文格式。向PLC发送的报文格式见表4.
表4 向PLC发送的报文格式
STX为开始标志(02H),EXT为结束标志(03H),CMD为命令的ASCII码,BCC为校验码(用于检测通讯错误,采用循环冗余码CRC16)。
(5)传输过程。PLC机与电源之间采用应答方式通信,若传输出错则组织重发。其传输过程如图2所示。
图2 PLC机与电源之间的信号传输过程
2.关键代码编写。根据上述通讯帧格式,在CX–PROTOCOL软件中创建新项目,在其下开始创建各个受控单元的通信序列,每个通信序列中可以创建99步,在每一步中包含了步号、指令类型、发送信息、接受信息和响应等内容。关键代码如下:
00步中发送信息SD–1的数据格式如下:
STX+ “ 00,FE”+&(R(1),2)+“00”+&(R(2),4)+ &(R(3),4)+ETX+<C>。
00步中接受信息RV–1的数据格式如下:
STX+&(W(1),2) +&(W(2),66)+ETX+<C>。
其中,&(R(1),2)表示数据形式为变量,该发送数据需从PLC程序中PMCR指令中的第2个操作数的第1个字中读取。&(W(1),2) 表示数据形式为变量,该接收数据将从PLC程序中PMCR指令中的第3个操作数的第2个字开始依次写入。
将协议宏下载到PLC的通信单元后,编写PLC控制程序来执行该协议。在编程前,需要设置PLC通信单元的通信参数,如启动位、数据长度、停止位、奇偶校验位、波特率等 ,通信参数必须与厂商提供的参数相一致。
当A/D模块由OFF变成ON时,系统启动。A/D模块转换结束标志为ON,且对1#电镀电源的通信标志A202.00和输入条件标志1909.15满足条件时,以1 s为周期执行协议宏指令PMCR。该指令中的第1个控制字“#113”,其中第1个1代表物理端口号,13为通信单元的地址,而控制字2“#A”表示执行的通讯序列编号。
当执行PMCR指令时,RS–485端口标志位207为ON,协议宏执行结束后207为OFF。此时1#电镀电源的00序列执行完1次。由于内部继电器W 5.01在执行的同时复位,W 5.02置位,将启动执行另一个电镀电源的001序列,即进行2#电镀电源的状态读入。通过定时器及PCMR指令完成该过程,实现了PLC分时循环通信,能够实时监控多台智能仪器。由于不同厂商的通信协议往往是不同的,利用协议宏编写或修改通信协议,只需对PLC程序做少量修改,软件维护十分方便。