论文部分内容阅读
[摘 要]PLC控制数据采集系统目前在工业自动化控制领域中应用最广泛。PLC与其他微型计算机相比,更适于在恶劣的工业环境中运行,且数据处理功能大大增强,编程指令具有模块化功能,能够解决就地编程、监控、通讯等问题。PLC组成的工业控制设备中,用户多利用其并行接口进行功能的扩展,如键盘、显示等,这就要占用大量的I/O点资源。其实,优秀的PLC都配有高性能的串行接口单(SIU),这个SIU专门负责高速的串行通信任务,不需要或仅需少量的CPU干涉,它将CPU解放出来集中解决数据处理或实时控制问题。PLC的接口就是一个典型的串行通信接口,它除可以与计算机实现通信外,还可连接外围设备,如条码判读器、串行打印机等。若通过单片机与PLC进行通信,对PLC各寄存器进行读写,就可充分利用单片机成本低、扩展方便的特点,使PLC应用更具灵活性。下面就以西门子PLC与Atmel公司AT89C51单片机的通信为例,阐述其通信接口的实现方法,介绍一种实用的操作、显示单元。
[关键词]PLC 单片机 通信
中图分类号:IDl73 文献标识码:A 文章编号:1009-914X(2014)41-0330-01
一、功能概述
1. 是利用現有的成熟的PLC技术,对各设备的监控点数据进行采集;
2. 再使用单片机技术,对PLC采集后的数据进行读取,并按照一定的格式存储在存储设备中,存储设备可以是U盘,存储卡等;
3. 使用读卡设备将存储的数据读出,并导入普通PC中。
二、各部功能
1、PLC数据采集
采用成熟的PLC技术,不需开发,使用西门子S7-200系列。S7-200 PLC是串行通讯方式最为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。PLC给出了标准的RS232C接口,采用EIA电平逻辑,AT89C51采用TTL/CMOS电平逻,这些电平互不兼容,必须将TTL/CMOS电平与EIA/TIA232电平进行转换。我们使用MAX232[2]串行通信芯片,它是单片集成双RS232驱动/接收器。采用单一+5V电源供电,外接四支电容便可构成标准的RS232通信接口,从而完成TTL/CMOS电平和EIA电平的相互转换,这样,二者之间就可以通过RS232接口进行数字信号传送。
2、单片机存储
此部分为整个技术的重点之一,要完成的主要功能为,单片机串行口的设置[4,5]AT89C51内部有一个串行口,TXD(P31)为发送端,RXD0为接收端。它主要受两个特殊寄存器(SCON和PCON)的控制,在用软件设置的四种通信工作方式中,方式1是标准的异步通信方式,此方式工作时,串行口为8位异步通信接口,特别适合集成的点对点连结接口的8位数据传输。每帧信息包括10位:1个起始位、8个数据位和1个停止位。波特率由定时器T1的溢出率和串口方式寄存器SMOD的状态确定,在CPU的晶振为110592MHz时,波特率采用9600bps。从PLC采集数据,并将数据按预先规定格式写入存储设备中,存储设备可设计成存储卡,U盘。
3、PLC与单片机通信
单片机选用MCS51,MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户完全控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。
通信协议
(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。
(2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。
起始码:表示单片机与PLC开始发送数据,是数据流第一个字符,告诉PLC开始进行通信了,可以用00H表示
命令码:表示单片机对PLC的各种操作:
40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
42H:强制目标单元为ON;
43H:强制目标单元为OFF;
元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区;
字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;
BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,最简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的
结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。
采用单片机读写U盘的模块,通过U盘或其它存储设备,将数据读入电脑软件中,电脑软件根据实际业务需要设计相应的算法,对数据进行分析,以数据报表,图表等方式展现结果。
参考文献
1田淑芬,李峰 单片机串行通讯,微计算机信息 2009年03期
作者简介
史然,男,1990—,江西理工大学硕士研究生,主要从事plc和智能仪器嵌入式系统等方面的研究.
周克良,男,1963年10月出生,控制工程专业硕士生导师,现任江西理工大学电气工程与自动化学院副院长、?教授,主要研究方向过程控制与网络集成自动化、智能仪器。
[关键词]PLC 单片机 通信
中图分类号:IDl73 文献标识码:A 文章编号:1009-914X(2014)41-0330-01
一、功能概述
1. 是利用現有的成熟的PLC技术,对各设备的监控点数据进行采集;
2. 再使用单片机技术,对PLC采集后的数据进行读取,并按照一定的格式存储在存储设备中,存储设备可以是U盘,存储卡等;
3. 使用读卡设备将存储的数据读出,并导入普通PC中。
二、各部功能
1、PLC数据采集
采用成熟的PLC技术,不需开发,使用西门子S7-200系列。S7-200 PLC是串行通讯方式最为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。PLC给出了标准的RS232C接口,采用EIA电平逻辑,AT89C51采用TTL/CMOS电平逻,这些电平互不兼容,必须将TTL/CMOS电平与EIA/TIA232电平进行转换。我们使用MAX232[2]串行通信芯片,它是单片集成双RS232驱动/接收器。采用单一+5V电源供电,外接四支电容便可构成标准的RS232通信接口,从而完成TTL/CMOS电平和EIA电平的相互转换,这样,二者之间就可以通过RS232接口进行数字信号传送。
2、单片机存储
此部分为整个技术的重点之一,要完成的主要功能为,单片机串行口的设置[4,5]AT89C51内部有一个串行口,TXD(P31)为发送端,RXD0为接收端。它主要受两个特殊寄存器(SCON和PCON)的控制,在用软件设置的四种通信工作方式中,方式1是标准的异步通信方式,此方式工作时,串行口为8位异步通信接口,特别适合集成的点对点连结接口的8位数据传输。每帧信息包括10位:1个起始位、8个数据位和1个停止位。波特率由定时器T1的溢出率和串口方式寄存器SMOD的状态确定,在CPU的晶振为110592MHz时,波特率采用9600bps。从PLC采集数据,并将数据按预先规定格式写入存储设备中,存储设备可设计成存储卡,U盘。
3、PLC与单片机通信
单片机选用MCS51,MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户完全控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。
通信协议
(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。
(2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。
起始码:表示单片机与PLC开始发送数据,是数据流第一个字符,告诉PLC开始进行通信了,可以用00H表示
命令码:表示单片机对PLC的各种操作:
40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
42H:强制目标单元为ON;
43H:强制目标单元为OFF;
元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区;
字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;
BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,最简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的
结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。
采用单片机读写U盘的模块,通过U盘或其它存储设备,将数据读入电脑软件中,电脑软件根据实际业务需要设计相应的算法,对数据进行分析,以数据报表,图表等方式展现结果。
参考文献
1田淑芬,李峰 单片机串行通讯,微计算机信息 2009年03期
作者简介
史然,男,1990—,江西理工大学硕士研究生,主要从事plc和智能仪器嵌入式系统等方面的研究.
周克良,男,1963年10月出生,控制工程专业硕士生导师,现任江西理工大学电气工程与自动化学院副院长、?教授,主要研究方向过程控制与网络集成自动化、智能仪器。