APP下载

单片机与PLC之间的串行通信实现

2017-10-21李维尊

名城绘 2017年2期
关键词:单片机

李维尊

摘要:单片机和PLC是现代工业生产、家用电器等广泛使用的两种技术,通过它们之间的串行通信,可以形成一种小型的控制系统,并发挥一定的数据传输能力,从而在各种各样的机械设备控制技术起到了作用,PLC与单片机串行通信是两者结合的关键。

关键词:单片机;PLC;串行通信

单片机和PLC是现代社会工业生产、家用电器等各方面广泛应用的两种技术,通过两者的串行通信,能够组建一个小型控制系统,并发挥一定的数据传输能力,从而在多种机械设备的控制技术中发挥作用,PLC与单片机的串行通信是两者结合使用的关键。

1单片机与PLC

单片机是借助于超大规模的集成电路技术,组建一个微型计算机控制系统以整合各种有数据处理功能的机械设备,这些设备包括中央处理器、I/O接口、数据存储器、中断系统以及定时器等。PLC是可编程逻辑控制器,是一种有编程功能、内部有存储程序的存储器,可通过数字模式、模拟式等对用户发出的运算、控制、保存、定时等指令进行输入或输出,从而对机械设备或工业生产进行控制。

2 PLC和单片机之间串行通信設置的相关细节分析

2.1 PLC单片机之间数据发送的相关初始分析

在初始设置中,单片机的波特率是必须和PLC保持高度一致的。在高速波特率的选择上,我们可以根据公式:SPBRG=F/(16×波特率)-1来计算。在这个公式中F所代表的量是单片机时钟的频率大小,在整个公式的取值中,要求SPBRG值为整数值。所以,单片机波特率和PLC之间是必然存在着误差的。而且根据整个工作流程来看,数据的发送方和接收方在频率上都存在着比较细微的差异,但是这种差异是非常细微的,在整个的分析过程中,并不会因为这种细小的误差而产生收发错位的现象。但是需要我们特别注意的是,单片机在发送数据初始设置时,其数据位、校验位、停止位要和PLC保持较为高度的一致,以避免大的误差的出现。

2.2 PLC接受数据相关功能的设置

在一般情况下,PLC接受数据往往有着比较高的要求,如果选择了自由端口的模式,那么必须要求在CPU和RUN模式的运行下才能这样选择。在应用通信的端口进行通信任务执行时,首先需要是进行初始化的设置。在整个的接收过程中,我们是选择通过字符接收中断数据的,所以,在设备的初始设置中,我们要将接收数据中断程序和中断事件8之间进行衔接,并且对数据位、停止位、校验位以及波特率等方面按照要求进行初始化的设置。

3 PLC与单片机之间的串行通信及运用

3.1硬件选型及连接

以塑料挤出机温度自动控制为例,为让PLC与单片机之间的串行通信得以实现,需要选择PLC和通信芯片、单片机等硬件设备。在本文中,选择西门子公司生产的SMATICS7-200系列的PLC,这种可编程逻辑控制器具有小型整体性,本身具有十分丰富的指令,可以对其进行简单操作,同时,其本身具有较强的通信功能,现阶段,在多种自动控制领域中,这种PLC都得到了十分广泛的应用。通信端口为S7-200系列PLC,利用异步串行通信方法,通信端口标准为差分接受、平衡驱动的RS-485接口标准。选择MAX495E作为通信芯片,该通信芯片为RS-485接口标准专用,DI脚为数据输入端,RO脚为数据输出端。在单片机方面,本文选择Microchip公司生产的PIC16F877型号单片机,这种单片机的运行功耗相对较低、运行速度相对较快,且其外界电路较为简洁,并拥有较强的驱动能力。在单片机内部,可以集中串行通信模块,让系统间实现远距离的串行通信。

3.2通信协议设置

考虑到SMATICS7-200系列的PLC和PIC16F877型号单片机只能完成数据接收操作和数据发送操作,因此,在本文中采用了单工串行通信技术,PIC16F877单片机通信协议采用了内部USRT模块异步发送模式,利用汇编语言编程可让其实现;在PLC通信协议中,利用了自有端口模式,利用语句表编程方式可让其得以实现。凭借单片机的发送缓冲结构,在数据的每次发送时,其连续发送字节数量仅有两个。接口标准应用一致为PLC侧RS-485,传输线为屏蔽双绞线,在对单片机侧发送数据进行转换后可以将其发送至PLC,在字符信息方面,格式起始位为1位,格式数据位为8位,格式停止位为1位,没有校检位。

3.3初始设置

在单片机内部,集成了USART模块,波特率和SQ-200PLC相同,如果波特率为高速,设单片机时钟频率为F,那么波特率寄存器SPBRG=F/(16·波特率)-1.在计算SPBRG结果后,需要取整数,在PLC和单片机实际波特率之间存在微小误差。在异步通信时,为确保其具有同步性,需要检测字符起始位的下降沿。在每个字符中,均具有较多的位数,所以,即使发送方和接收方收发频率存在些许不同,累积误差也不会让收发错位事件出现。单片机需要在数据位、停止位和校验位和PLC统一。在单片机发送数据时,仅有两个连续发送的字节,对此,汇编语言初始设置可以分为体0、体1两个部分。在STOP模式中,CPU会对自由端口模式予以禁止,利用其他模式可以完成通信。在EUN模式中,可以使用自由端口模式。如果通信端口使用0,那么通过特殊存储器SMB30可以完成S7-200PLC初始设置,利用字符的接收与中断,可以让数据接收得以实现。在此情况下,可以对初始设置工作予以简单完成,也就是将中断程序和中断事件8进行连接,并设置波特率。在PLC和单片机进行串行通信过程中,在单片机串行接口处有设置数据寄存器,这种寄存器可以完成数据的传送和接收工作。在单片机将传送的数据输入完成后,会启动相应的设备,让数据传送得到真正实现。与此同时,数据寄存器的数据传送和接收功能也可得到实现,进而让数据传送工作真正完成。利用RS-485接口时,S7-200系列PLC为让自身和单片机进行串行通信,单片机需要发动给PLC命令帧格式,在PLC接收到相关指令后,会做出响应。命令帧格式主要包含了起始码、高位、低位、特征码、发送文本、块检查码和结束码。响应帧格式主要包含了起始码、高位、低位、正确传送标志、响应文本、块检查码和结束码。在此过程中,单片机需要完全负责整个通信过程,利用PLC可以对通信程序进行编制。单片机发送数据通信程序流程可以概括为:开始→初始设置→测温地址清零→发送起始字节发送测温地址→模数转换数字滤波→发送温度值→延时程序→发送校验码→延时程序→测温地址+1→测温地址判断,在PLC的接收数据通信程序中,其流程可以概括为:INT_0开始→是否等于起始字节→字符接收完成中断连接INT_1→字符计数器清零→异域校验码清零→指针指向接收缓冲区首地址→终端返回。

4结束语

通信科技的进步,使单片机与PLC的结合使用正在不断拓展,单片机系统与PLC系统的整合,有效提高了机械设备与工业生产控制性能,降低了成本,提高了项目收益。

参考文献:

[1]饶伟.小议PLC与单片机之间的串行通信及应用[J].电子制作,2016(10):82.

[2]林慧文.分析单片机与PLC之间的串行通信实现[J].电子制作,2016(8):29.

(作者单位:天津津滨威立雅水业有限公司)

猜你喜欢

单片机
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器