APP下载

基于单片机与PLC联合控制实验平台的设计

2011-03-21刘卫华毛玉星刘翔宇

电气电子教学学报 2011年3期
关键词:通信协议红绿灯流程图

刘卫华,毛玉星,刘翔宇

(重庆大学 输变电装备及系统安全与新技术国家重点实验室,重庆 400044)

为了提高控制系统的可靠性,现已不再使用单台计算机来完成整个系统控制,而是有各种控制器分别完成不同的子任务。单片机和PLC是目前最为常用了两种控制器件。单片机方便灵活[1,2],但抗干扰能力不够理想。PLC稳定性好且编程简单[3],但没有人机界面,不能在线修改内部参数,并且梯形图不便于实现智能控制算法。本文作者设计了一种基于单片机PLC控制实验平台。

1 整体思路

目前高校基本都开设有PLC、单片机以及计算机控制的课程,如何使用这些控制器件统一协调完成一个较复杂的控制任务,学生缺乏系统控制的概念。本实验平台就是在目前的PLC和单片机实验平台基础上组成的PLC单片机联合控制平台,然后对原有的单片机和PLC实验内容进行扩展。考虑到实际操作的难度,设计了两种组合模式:单PLC单单片机模式和多PLC多单片机模式(分别简称单-单模式和多-多模式)。单片机作为上位机实现监控和辅助数据采集功能,PLC作为下位机完成主要控制功能。本文只介绍单-单模式的具体实现。

2 通信的实现

实现联合控制首先要把这些器件联系起来组成一个有机体,因此应该给学生补充通信方面的知识。本实验平台采用串行通信方式,原理比较简单,学生可以自己动手来搭建硬件和编制相应的程序。

1)工作原理

S7-200PLC是串行通讯方式丰富的小型PLC,支持多种通信协议[4],如PPI协议、MPI协议和ProfiBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议。本文采用自由通信协议来实现单片机和PLC的连接。

西门子S7-200系列PLC拥有RS-485串行口,可以连接多台PLC。所以要使MCS51单片机与S7-PLC进行通讯,需通过 MCS-51的串行口与MAX485芯片相接[5],然后与 S7-200PLC 的 RS-485口进行通讯。其硬件连接如图1所示。

图1 MCS-51单片机与S7-200的硬件接线图

在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序和单片机的汇编语言进行配合完成数据和信息的交换。单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息。

2)通信协议设计

根据经验和有关参考资料,我们可以采用如下定义协议结构和参数。

(1)通信波特率为9600bps,无校验,8个数据位,1位停止位。

(2)通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。具体定义如下:

①起始码:表示单片机与PLC开始发送数据,是数据流第一个字符,告诉PLC开始进行通信了,可以用00H表示;

② 命令码:表示单片机对PLC的各种操作:

③ 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号;

④ 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;

⑤BCC校验码:将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的;反之则是错误的;

⑥ 结束码:结束字符标志着指令的结束,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。

3)通信程序实现

(1)单片机端程序的实现。单片机在主程序中初始化,采用串行工作方式3,波特率为9.6kbps。单片机作为主机,向PLC进行呼叫,通过时间中断方式定期读取数据或者写入数据。其程序流程图如图2所示。

(2)PLC端程序流程图的实现。PLC作为从机,采用梯形图或者STL编程。主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机。其具体的程序流程图如图3所示。

图2 单片机端通讯程序流程图

图3 PLC端通讯程序流程图

3 实验项目设计

我们配合本平台对原有单片机和PLC实验内容进行扩展,开发了具有读秒功能的红绿灯、具有语音功能的四层电梯系统、小车定位系统、恒温箱控制系统及电机转速控制等实验内容,并完成了相关实验模型的设计、调试及制作,并编写了实验教材和实验任务书。下面介绍两个实验设计项目。

1)具有读秒功能的红绿灯实验

PLC都设置有红绿灯实验,通过PLC定时器控制红绿灯亮灭的间隔时间。一旦程序下载之后红绿灯的间隔时间就固定不变,并且只有简单红绿两色。现在通过单片机对实验内容进行如下扩展:

①增加读秒功能,单片机读出PLC计时器内容通过LED显示出来;

②使用单片机在线修改PLC定时器寄存器中的数值,实现不重新下载PLC程序而灵活改变红绿灯间隔时间。

2)电机转速控制实验

PLC的高速计数器可以轻松地实现步进电机的转速控制,但是S7-200不能在线设定转速,无法实现连续调速功能。现设计新的转速控制系统,让步进电机的转速随某一模拟量的改变而改变。使用单片机对电机转速控制功能进行如下扩展:① 增设一个模拟开关;② 通过单片机的AD采集模拟量,把它折算成转速控制的参数;③ 写数据到PLC相应寄存器,改变电机转速;结合光电传感器,使用单片机采集电机转速并用LED显示出来。

4 结语

本文使用MSC51单片机和西门子S7-200PLC搭建硬件平台,使用串行通信实现多控制器联合控制。本平台是在原来单个科目实验平台的基础上扩展而得到。通过本平台的训练可以帮助学生加深课程之间的联系,又使学生对控制系统有了感性的认识,还能够锻炼学生的综合动手能力。

[1]李群芳,张士军等.单片微型计算机与接口技术[M].北京:电子工业出版社,2008

[2]李刚,林凌等.51系列单片机系统设计应用技巧[M].北京:北京航空航天大学出版社,2004

[3]特鲁泽拉(美).PLC教程(第三版)[M].北京:人民邮电出版社,2007

[4]S7—200可编程序控制器系统手册[Z].北京:西门子(中国)有限公司,1998

[5]谢瑞和等.串行技术大全[M].北京:清华大学出版社,2003

猜你喜欢

通信协议红绿灯流程图
红绿灯前
神奇的红绿灯
会说话的红绿灯
基于Z-Stack通信协议栈的红外地温采集电路设计
专利申请审批流程图
专利申请审批流程图
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
宁海县村级权力清单36条
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介