孙传旗 李文峰 张 兵
(山东能源肥城矿业集团 白庄煤矿,山东 肥城 271623)
在现在工厂控制系统中,PLC 作为过程控制的核心部件,工作稳定、运行可靠、强大的控制能力和成熟的技术使其具有很大的竞争优势。但PLC 也有其不足之处,操作过程缺乏交互性。现场工作人员无法直观地对其工作状态进行实时监控,修改运行参数必须由专业人员使用专用的编程器来完成,不但成本高昂,而且极为不便。对于一些需要经常更改工艺参数的应用场合控制系统,这些不足尤为突出。各PLC 公司专用的触摸屏交互性虽好,但价格较贵,兼容性差。
针对目前应用的问题,本文设计实现了基于单片机的PLC 实时控制系统。单片机利用PLC 必备的编程接口与之进行通信,采用LED显示PLC 程序执行状态,使用按键来设置工艺参数。
AT89 系列单片机是美国ATMEL 公司生产的8 位Flash 系列单片机,与INTEL 公司生产的MCS-51 单片机兼容,是市场的主流产品。其特点如下:
1)片内含有Flash 程序存储器,开发编程方便;
2)全面兼容8051,引脚完全相同可直接取代8751;
3)具有静态时钟方式、降低系统功耗,适合便携式系统;
4)Flash 程序存储器可以多次快速擦写,适合学习、开发。
可编程序控制器(Programmable Logic Controller),简称PLC,是一种专为工业环境应用而设计的电子系统.它采用可编程序的存储器,在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算操作的指令,并通过数字式和模拟式的输入和输出,控制各种类型的生产过程.PLC 具有编程简单,使用方便,抗干扰能力强,在特殊的环境中仍能可靠地工作,故障修复时间短,维护方便,接口功能强等优点,因此在工业中得到了广泛应用。
根据要求,设计系统的总体结构如图1 所示。由图中可以看出,设计的系统较为简单,采用单片机的最小系统即可满足要求,整个系统可以分为电源电路,时钟电路,复位电路,按键电路,显示电路,RS-232 通信电路等部分。
电源电路为单片机提供5V 电压,并保证从内部ROM 开始执行程序。
时钟电路为单片机提供正确的时钟频率,确保单片机正常工作。复位电路保证单片机执行程序发生错误时,能够回到初始状态重新执行程序。
按键电路和显示电路是单片机的输入输出部分,使用户可以和单片机进行交互。
通信部分利用了MAX-232 芯片,使单片机和PLC 可以以RS-232 标准进行通信。
图1 系统总体框图
图2 主程序流程图
PLC 通过Host Link 协议与单片机进行1:1 上位链接通信,单片机作为上位机发送读写命令,实现的功能有:读写PLC 的运行状态,读写继电器区和数据区DM 的内容,读写定时器/计数器的设定值和当前值,对指定点或通道强迫置位/复位。上位机与PLC 通信,单片机是主动的,PLC 是被动的,每次通信由单片机主动发起,PLC 不需编写通信程序,但用户应遵循通信协议即命令帧、响应帧的要求,在单片机上设计通信程序。为了保证单片机与PLC 的正常通信,通信前,应保证单片机的通信参数(如帧格式、波特率、较验方法等) 必须和PLC 设置一致。
3.2.1 PLC 串行通信接口设置通信前,必须先在PLC 设置中正确设置如表1 所示的参数。
表1 通信参数设置
3.2.2 单片机串口设置
AT89S51 内部有一个全双工增强型UART 口,TXD(P3.1)为发端,RXD(P3.0)为接收端。它主要受两个特殊寄存器(SCON 和PCON)的控制,可用软件设置的四种工作方式。通信工作方式中,方式1 是标准的异步通信方式,此方式工作时,串行口为8 位异步通信接口,每帧信息包括10 位:1 个起始位、8 个数据位和1 个停止位。波特率可变,由定时器T1 的溢出率和SMOD 的状态决定,在CPU 的晶振为11.0592MHz 时,波特率采用9600bps。通信参数设置如下:置SCON 为01010000B(50H)(串口工作方式1,允许接收),置TMOD00100000B(20H)(定时器1 工作于模式2,做波特率发生器)。
上位机链接通信使用的是OMRON 的Host Link 协议,在一次交换中传输的命令或应答的数据被称为一帧,一帧最多可包含131 个数据字符。当PLC 接收到从上位机发来的ASCII 码命令时,自动返回ASCII 码应答。单片机必须有一个能控制命令和应答的传送和接收的程序。
当点对点通信时,块中无设备号和校验码。一帧最多128 个字符。命令块单帧时的正文内容最多124 个字符,多于一帧时,由起始帧、中间帧、结束帧构成,起始帧正文内容最多125 个字符,中间帧正文最多127 个字符,结束帧正文最多126 个字符。响应块中包含有两位响应码,单帧时的正文内容为122 个字符,在多帧情况下,起始帧含有两位响应码,正文内容最多为123 个字符,中间帧正文最多127 个字符,结束帧正文最多126 个字符。
当PLC 使用Host Link 协议与单片机通信时,单片机具有传送优先权,单片机总是首先向PLC 发出命令并启动通信,发送过程结束后,PLC 立即作出响应,然后将执行结果返回单片机,单片机接收由PLC 发出的响应帧,二者以帧为单位轮流交换数据。PLC 处于被动通信,无需编制通信程序。单片机需要编制上位机通信程序,该程序可以发送命令帧和接收PLC 发出的应答帧。其中包括:发送命令子程序、接收响应子程序。AT89S51 单片机可以工作在查询方式也可以工作在中断方式下,单片机作为主站不繁忙时,可以采用查询方式;当主站任务繁忙时,则不宜采用查询方以免影响主站工作效率,需要采用在中断方式。
其中主程序流程图如图2 所示。
PLC 与AT89S51 单片机之间的串行通信方法应用于现代控制系统中,不仅发挥了PLC 控制稳定可靠、抗干扰能力强的优势,而且发挥单片机扩展灵活、适应性强的优点,使两者优势互补。该方法简易实用、灵活方便、安全可靠、成本低廉,具有良好的社会效益和经济效益。
[1]公茂法,黄鹤松,杨学蔚,等编.MCS-51/52 单片机原理与实践[M].北京:北京航空航天大学出版社,2009,3:1-3,22-37,110-120,122-144.
[2]张仁忠,滕丽娟,韩雷,王建伟.PLC 与单片机的通讯方式[J].应用科技,2001,3,28(3).
[3]杨博,伍星,甄彩虹.基于单片机的PLC 实时控制系统[J].自动化与仪表,2009(5).
[4]朱壮志,姜开林.OMRON PLC 与上位机的通讯[J].电工技术,2003(6).