树人论文网一个专业的学术咨询网站!!!
树人论文网

LC与单片机之间的串行通信及应用探讨

来源: 树人论文网发表时间:2020-10-23
简要:摘要:本文围绕16F877单片机(PIC)与S7-200可编程序控制器(PLC),分别从硬件连接、软件实现、通信过程等方面,探讨了二者之间实现远距离串行通信的具体方法,希望能为此领域研究提供借

  摘要:本文围绕16F877单片机(PIC)与S7-200可编程序控制器(PLC),分别从硬件连接、软件实现、通信过程等方面,探讨了二者之间实现远距离串行通信的具体方法,希望能为此领域研究提供借鉴与帮助。

中国设备工程

  本文源自中国设备工程,2020(17):137-138.《中国设备工程》曾用刊名:(中国设备管理;设备管理)1985年创刊是中国工业领域的国家级宣传平台,国家一级刊物。以宣传报道国家工业发展工作的战略、政策、法规,关注全球工业、设备管理等全面解决方案的专业载体。它凭借提供准确、客观、专业性的信息,服务于中国经济发展。杂志充分依托国家发改委、工信部等平台资源优势,为企业搭建政策与市场机会的平台,为企业提供展示优势和对接服务的平台,搭建企业与政府互动的平台,推动中国工业绿色发展,推动绿色经济,建设生态文明。

  在由单片机(PIC)构成的各种工业控制设备中,许多用户会选用其并行接口开展各项功能的扩展,比如,显示、键盘等;针对此些扩展而言,往往需要占用比较多的I/O点资源。需要指出的是,针对那些先进且优质的PLC而言,均配置有串行接口单元(SIU),此单元的主要职责就是完成高速状态下的串行通信任务,无须对CPU运行造成干扰;另外,还需强调的是,其能够解放CPU,使其能够集中精力对所存在的实时控制问题,或者是数据处理问题给解决掉。针对PLC所配置的RS-232C接口而言,便为一个比较实用的串行通信接口,其不仅能与计算机之间,实现实时性通信,而且还能与外围设备相连接,比如,串行打印机、条码判读器等。如果经单片机而与PLC之间实现通信,并读、写PLC的各个寄存器,那么便能够较好的对单片机进行充分利用,降低其成本,为扩展提供切实方便,提高PLC应用的整体灵活性。本文就PLC与单片机间的串行通信策略作一探讨。

  1、硬件组成分析

  1.1PIC16F877单片机分析

  PIC16F877单片机是一种比较常用的单片机类型,由Microchip公司所生产,采用的是精简指令集技术,结构为哈佛总线结构,有着比较高的运行速度、比较强的驱动能力、比较低的功耗以及比较简洁的外接电路。在此单片机的内容中,集成有当前比较先进的串行通信模块,也就是同步/异步收发器USART模块,其具体目标是实现各系统间的高效率、远距离、优质化通信。针对USART模块来讲,通常情况下,需要设置2个引脚,其一为RC6,其二是RC7,在设置发送允许位TXEN时,如果将其设置为1,那么,此时便能高质量的XREG寄存器发送数据。

  1.2S7-200系列PLC

  针对SIMATICS7-200系列PLC(西门子公司产)而言,其实,为一类小型整体式PLC,因操作比较简单,而且指令也比较丰富,另外,运行稳定且可靠,通信能力强,因而在多种机械设备中,尤其是生产自动化控制中,得到广泛应用。针对此系列的LC通信端口来讲,所选用的通信方式为异步串行,而在相配套的通信端口标准上,选用的是RS-485接口标准,其不仅能差分接受,而且还能平衡驱动,此外,还能根据现实需要,构建起比较完整且实用程度高的半双工串行通信网络,形成分布式系统(其中,站的数量可以达到32个)。还需要说明的是,此系列PLC能够同时支持许多类型的串行通信协议,并且还能采取自由端口模式,联合梯形图或者语句表来进行编程,如此一来,便能够用户所需通信协议的自定义,为不同厂家所生产智能设备的有效连接,提供切实方便。基于自由端口这一模式下,能够根据现实需要,对<255个字节的数据进行持续性的收、发,因而能为大数据通信提供方便,同时,还能结合实际情况,采用字符接收终端,而并非接受指令,来对所接收的数据进行控制,但需要强调的是,此方式虽然比较灵活,但是,难以编程。

  1.3MAX485E芯片分析

  对于MAX485E芯片来讲,实为一种专用的通信芯片(RS-485接口标准),其中,针对RO脚而言,实为其数据输出脚,其能够根据现实需要,对RS-485所对应的VAB(差模信号)进行实时或有选择性的接收,而且还能向TTL电平进行转换,最后,从RO处向外输出;而对于RE脚来讲,实际就是RO的使能端,当处于低电平状态时,选通RO,此时,便可有效实现输出。针对DI脚而言,其作为一种数据输入端,能够把TTL电平所接收到的数据,以一种合理、高效的方式,相差模信号VAB进行转换,且借助A、B两脚实现向外输送;对于DE来分析,其实,为DI使能端,当在高电平状态下对DI进行选通,可有效输入。因此,针对A、B两脚而言,除了是RS-485所对应的信号输入端之外,还是此信号所对应的输出端,对其起到决定作用的是使能端RE、DE所对应的电平值。为了能够更加简便地进行控制,一般会把两端相连接,当处于高电平状态时,DI脚所输入的数据便始终保持有效状态;如果处于低电平状态,那么,由RO脚所输出的数据处于有效状态。

  1.4硬件连接图

  针对S7-200PLC而言,其所选用的借口标准为RS-485,能够对差模信号进行实时接收,而对于PIC16F877单片机来讲,其所输出的是TTL电平,因此,两者在进行通信时,首先,需实施转换处理,本系统将MAX485E芯片当作具体的转换芯片,由RC4(PIC16F877单片机)进行数据选择,然后,进行传送或输入。

  2、通信协议

  针对此项目而言,因其中的PIC16F877单片机仅为发送数据,PLC的主要作用就是接收数据,因此,可选择单工串行通信。另外,还需要指出的是,由于PLC所选用的是比较新型且实用的自由端口模式协议,而且此协议主要借助语句表来进行编程;而对于单片机而言,其采用异步发送模式(USART模块),而且在具体协议上,采用汇编语言进行编程。基于单片机(PIC16F877)所对应的发送缓冲结构而言,一次仅能对2个字节的数据进行连接与发送,因此,PLC通过接收字符的方式,来实现中断,操作比较简单。而在具体的接口标准上,所选用的是一致于PLC侧的RS-485,另外,接头所选用的是D形连接器(9针),将具体的屏蔽双绞线当作系统的传输线。字符信息的基本格式是:8位数据位,1位起始位,1位停止位,无校验位。还需要强调的是,数据位在具体的发送顺序上,主要秉持的是高位在后、低位在前的原则。通常情况下,异步通信的波特率一般为38400bit/s。

  为了能够使数据传输的稳定性、可靠性得到提升,可采取异或校验,并且还可选用定长发送报文,最前边的4个字节进行异或校验,而报文最后面的那个字节便是校验码。还需要指出的是,针对PIC16F877单片机来讲,由于其在数模上,能够向10位精度进行转换,因此,可选用双字节来保存温度值。

  3、通信过程

  针对单片机所对应的串行端口而言,通常会设置1个数据寄存器SBUF,对于此寄存器来讲,不仅能为发送提供服务,而且还能为接收提供服务;另外,在特定状况或条件下,单片机会将数据写入SBUF中,如此一来,便能将整个发送过程予以启动;通过对SBUF进行读取,便能够将接收过程启动。如果PLC借助RS-232C串行接口,而实现与单片机之间的实时通信,那么,此时,需要单片机将命令帧格式发送给PLC(也就是发送过程);当发送完成后,PLC便能够根据完成情况,即刻作出反应,与此同时,对于从PLC中所输出的响应帧格式,单片机会予以接收(也就是接收过程),上述全部通信都由单片机进行收、发。

  (1)发送命令帧格式。当开始通信后,首先,由单片机将呼叫发送给PLC,其包含诸多部分,不仅有呼叫字符,而且还有PLC站号、特殊标志码等。

  (2)响应帧格式。当完成命令帧格式的传送工作后,PLC会即刻作出响应,并且还会将1个响应帧格式传送给单片机。

  4、结语

  综上,串行通信实为一种已经在多个领域中得到了广泛应用的实用型通信方式,本文仅探讨了AT89C51单片机与PLC之间进行串行通信的具体思路,从中可知,串行通信有着比较强的实用性、比较简单的结构,此外,整个操作比较简便灵活,容易扩充其他应用,有着不错的应用效能。

  参考文献:

  [1]龚志广,孙维连,李新领等.OMRONCPM2APLC与AT89C52单片机的串行通信及应用[J].微计算机信息,2016,000(10Z):P.238-240.

  [2]叶翠安.三菱PLC与单片机间串口通信的实现[J].船电技术,2018,035(005):66-69.

  [3]张洁,马凤铭,徐颖.基于MODBUS协议的单片机与S7-200PLC串行通信的实现[J].鞍山师范学院学报,2019(4):15-19.

  [4]张兆营.AT89C51与S7-200PLC串行通信及其应用[J].山东煤炭科技,2018,000(004):114-115.