预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机与PLC之间的串行通信实现导语:PLC经过PID运算后控制加热圈以保持温度恒定。下面结合实例就PLC和单片机的通信实现做一下介绍。1、引言随着微处理器、计算机和数字通信技术的飞速开展,计算机控制已经扩展到了几乎所有的工业领域。其中,PLC和单片机在小规模控制系统中获得了广泛的应用。在塑料挤出机温度自动控制中,选用S7-200系列PLC作为主控器件,PIC16F877单片机作为温度数据采集和模数转换芯片,单片机通过通信端口将数据传输给PLC,由于采用了RS-485接口标准,传输距离可达lOOOmoPLC经过PID运算后控制加热圈以保持温度恒定。下面结合实例就PLC和单片机的通信实现做一下介绍。2、硬件构成PIC16F877单片机Microchip公司的PIC16F877单片机采用哈佛总线结构和精简指令集技术,具有功耗低、运行速度高、驱动能力强和外接电路简洁的特点。PIC16F877单片机内部集成了串行通信模块即通用同步/异步收发器USART模块,主要应用目标是系统之间的远距离串行通信。USART模块所需的两条引脚是RC6和RC7,如图1所示,当发送允许位TXEN被置1,就可以把发送数据写入TXREG寄存器来完成发送。S7-200系歹UPLCS7-200系列PLC通信端口采用异步串行通信方式,通信端口标准采用平衡驱动、差分接受的RS485接口标准,可以组成半双工串行通信网络,构成分布式系统,系统中最多可以有32个站。S7-200支持多种串行通信协议,利用自由端口模式,可以通过语句表或梯形图编程,实现用户定义的通信协议,很方便地连接不同厂家的智能设备。在自由端口模式下,可以连续地发送或接收255个字节以内的数据,这在大块数据通信时是很方便的。MAX485E芯片MAX485E芯片是RS-485接口标准专用通信芯片,如图1所示,R0脚为数据输出脚,它接收RS-485的差模信号VAB,并转换为TTL电平由R0输出,RE脚为R0的使能端,低电平时选通R0,输出有效。DI脚为数据输入端,它将TTL电平的数据转换为差模信号VAB,并由A、B两脚输送出去,DE是DI使能端,高电平选通DL输入有效。故A、B两脚既是RS-485信号输入端,同时也是该信号的输出端,关键是由使能端RE、DE的电平来决定。硬件连接图S7-200PLC采用RS-485接口标准,接收差模信号,而PIC16F877单片机的输出为TTL电平,所以二者在通信时必须先进行转换,本系统采用MAX485E芯片作为转换芯片,硬件连接如图1所示。由PIC16F877单片机的RC4选择数据的输入或输出。图1硬件连接图3、通信协议本工程中由于PIC16F877单片机只是发送数据,PLC单纯接收数据,所以采用单工串行通信。PLC采用自由端口模式协议,协议由语句表编程实现;单片机使用USART模块的异步发送模式,协议用汇编语言编程实现。由PIC16F877单片机的发送缓冲结构可知,一次只能连续发送两个字节的数据,故PLC采用字符接收完成中断比拟方便。接口标准采用与PLC侧一致的RS-485,接头采用9针D形连接器,传输线采用屏蔽双绞线,单片机侧的发送数据需经转换后再发送。字符信息格式为:1位起始位,8位数据位,无校验位,1位停止位。异步通信的字符信息格式如图2所示。图2字符信息格式数据位的发送顺序为低位在前,高位在后。异步通信的传输速率即波特率选择为38400bit/so为提高数据传输的可靠性,采用异或校验,报文采用定长发送,前四个字节参加异或校验,报文的最后一个字节为校验码。PIC16F877单片机的模数转换精度为10位,故温度值采用双字节保存。报文帧格式如表1所示。表1报文帧格式4、初始设置4.1、PIC16F877单片机发送数据初始设置PIC16F877单片机内部集成的USART模块使用的波特率应该和S7-200PLC相同,当采用高速波特率时,波特率寄存器SPBRG由下式计算:SPBRG=F/(16&TImes;波特率)-1式中:F单片机时钟频率。单片机的数据位、校验位、停止位要和PLC统一。PIC16F877单片机最多只能连续发送两个字节的数据。其初始设置汇编语言程序如下:LISTP=16F877A;伪指令INCLUDE“P16F877A.INC”;伪指令;体1设置子程序T1BCFSTATUS,RP1;BSFSTATUS,RPO;体1MOVLWDz57;38400bit/sMOVWFSPBRG;MOVLWB'00100100,;异步,发送使能MOVWFTXSTA;高速,8位数据MOVLWB7;RC6,RC7,MOVWFTRISC;RC4通信CLRFINTCON;禁止中断RETURN;子程序返回;体0设置子程序TOBCFSTATUS,RPO;体0BSFPORTC,4;RC4=1通