PLC与单片机之间的串行通信及应用
李辉郑宁
1
2
(1天津职业技术师范学院3002222天津中德职业技术学院300191)
摘要提出了可编程序控制器(PLC)与单片机之间实现串行通信的新概念,以松下电工FP1系列PLC和AT89C51单片机的通信为例,重点阐述了串行通信硬件接口电路的实现方法,介绍一种实用的操作、显示单元,实践证明,该应用具有很好的推广价值。关键词PLC单片机串行通信
232C通信接口为例,通过MAX232与AT89C51单片机进行硬件连接的线路图。
1引言
在PLC组成的工业控制设备中,用户多利用其并行接口进行功能的扩展,如键盘、显示等,这就要占用大量的I/O点资源。其实,优秀的PLC都配有高性能的串行接口单元(SIU),这个SIU专门负责高速的串行通信任务,不需要或仅需少量的CPU干涉,它将CPU解放出来集中解决数据处理或实时控制问题。PLC的RS232C接口就是一个典型的串行通信接口,它除可以与计算机实现1 1的通信外,还可连接外围设备,如条码判读器、串行打印机等。若通过单片机与PLC进行通信,对PLC各寄存器进行读写,就可充分利用单片机成本低、扩展方便的特点,使PLC应用更具灵活性。下面就以松下电工FP1系列PLC与Atmel公司的AT89C51单片机的通信为例,阐述其通信接口的实现方法,介绍一种实用的操作、显示单元。
图1
22RS232C串行通信接口的设置
(1)PLC串行口的设置[3]松下电工PLC是通过设置系统寄存器来实现串行接口初始化的,如FP1的系统寄存器No413(传输格式设置寄存器)可指定RS232C串口通信格式,其中控制字各位可设置为H00,即1个起始位、8个数据位、无校验、1个停止位。No414(串口波特率设置寄存器)指定RS232C串口波特率,可设置为H01,即9600bps;另外,No412(串口方式设置寄存器)可设置为H01,即计算机链接通信方式,No415(站号设定寄存器)可设置为H01,即站号为01#。
(2)单片机串行口的设置[4,5]AT89C51内部有一个串行口,TXD(P31)为发送端,RXD(P30)为接收端。它主要受两个特殊寄存器(SCON和PCON)的控制,在用软件设置的四种通信工作方式中,方式1是标准的异步通信方式,此方式工作时,串行口为8位异步通信接口,特别适合集成的点对点连结接口的8位数据传输。每帧
672通信接口电路及设置
21接口电路设计
PLC给出了标准的RS232C接口,采用EIA电平逻辑,AT89C51采用TTL/CMOS电平逻辑,这些电平互不兼容,必须将TTL/CMOS电平与EIA/TIA232E电平进行转换。我们使用MAX232[2]串行通信芯片,它是单片集成双RS232驱动/接收器。采用单一+5V电源供电,外接四支电容便可构成标准的RS232通信接口,从而完成TTL/CMOS电平和EIA电平的相互转换,这样,二者之间就可以通过RS232接口进行数字信号传送。图1是以FP1系列PLC的9针RS
∀电工技术杂志#2003年第8期PLC与单片机之间的串行通信及应用
信息包括10位:1个起始位、8个数据位和1个停止位。波特率由定时器T1的溢出率和串口方式寄存器SMOD的状态确定,在CPU的晶振为110592MHz时,波特率采用9600bps。
操作界面,并且实时监测操作步骤和系统的运行情况。
3通信过程
单片机的串行端口有一个数据寄存器SBUF,该寄存器为发送和接受所共有,在一定条件下,单片机向SBUF写入数据就启动了发送过程,读SBUF就启动了接收过程。当PLC通过RS232C串行接口与单片机进行通信时,首先由单片机向PLC发出命令帧格式发送过程;发送过程结束后,PLC立即作出响应,同时单片机接收由PLC发出的响应帧格式接收过程,以上所有的通信均由单片机来启动和接收,PLC方无需编制通信程序。
(1)发送命令帧格式通信开始时,先由单片机向PLC发出呼叫,它包括一些特殊标志码、PLC站号和呼叫字符等,其格式如下。
5结束语
串行通信是一种广泛应用于各个领域的通信方式,以上所述仅仅是PLC与AT89C51单片机之间实现串行通信的一个应用举例,其单元具有实用性强、灵活方便、结构简单、价格低廉等特点,而且易于扩充经济实用的其他功能,如A/D、D/A等。
参考文献
1常斗南可编程序控制器原理!应用!实验北京 机械工业出版社,1998
2李广第单片机基础(修订版)北京 北京航空航天大学出版社,2001
3李华MCS51系列单片机实用接口技术北京 北京
航空航天大学出版社,1993
(2)响应帧格式命令帧格式传送成功后,PLC立刻作出响应并向单片机传送一个响应帧格式,单片机接收PLC的响应帧格式如下。
SerialCommunicationandApplicationbetweenPLCandSinglechipMicrocomputer
LiHui
(TianjinVocationalTechnicalteachers∃college)
4应用举例
系统框图如图2所示。操作、显示单元采用AT89C51单片机作为系统的CPU,并带有SET、系统命令和功能等按键作为输入,显示采用可编程字符点阵型或点阵图形型液晶显示(LCD)模块。系统运行时,用户按SET键开始进行设置,结合功能键输入用户对PLC的要求,这些操作使系统通过串行通信接受用户对给定值和其他参数进行的设置或修改。在设置和系统运行过程中,可由LCD来充当具有数字、汉字、符号及图形的显示68AbstractThispaperpresentsanewconceptoftheserialcommunicationbetweenprogrammablelogiccontrollerandsinglechipmicrocomputer.TakingthecommunicationbetweenMatsushitaElectricFP1seriesPLCandAT89C51singlechipmicrocomputerasanexample,itexplainstheimplementationapproachofserialcommunicationhardwareinterfacecircuitandintroducesapracticaloperatinganddisplayunit.Thisapplicationturnsouttohavethevalueofbeinggeneralized.
KeywordsPLCsinglechipmicrocomputerserialcommunication
收稿日期:20030415
因篇幅问题不能全部显示,请点此查看更多更全内容