计算机与PLC通信技术

更新时间:2024-04-13 作者:用户投稿原创标记本站原创 点赞:25173 浏览:117820

现代化大型控制系统中关键问题之一是如何实现PLC与计算机之间的通信.介绍在Windows操作系统环境下串行通信的程序设计原理,着重阐述了系统的通信协议及通讯程序的实现方法.

串行通信可编程控制器PLC


1引言

可编程控制器PLC是机电一体化技术的核心技术,是现代工业控制的四大支柱(可编程控制器技术、机器人技术、CADICAM和数控技术)之一.作为一种通用的工业自动化装置,PLC具有体积小、编程简单、可靠性高、抗干扰能力强等优点.但它也有自身的一些不足,数据的计算处理与管理能力较弱,特别是不能提供给用户良好的人机界面.用PLC和计算机组成监控系统,可以充分利用计算机强大的人机接口功能、丰富的应用软件,达到使二者优势互补的目的同.

可编程序控制器是以计算机技术为核心的通用自动控制装置.以其可靠性高、编程简单、通用性强、结构紧凑、体积小、安装维护方便等特点而在工业控制中得到了越来越广泛的应用.在分层式控制中PLC通常作为下位机,实现对现场数据的控制和处理.而计算机由于在图形显示、数据处理、打印报表、中文显示等方面有很强的功能,因此在现代化大型控制系统中常常将多台PLC与计算机联接起来构成具有高性能比的多级分布式控制系统.下面的文章将就windows系统中应用例子,简述讨论PLC的特点.

2通信模式及原理

通用计算机与PLC结合的关键是它们之间通信功能的实现.由于串行通信具有线路简单、应用灵活、可靠性高等优点,并且普通计算机上均带有串行口,所以,通常上位计算机(PC)与可编程序控制器(PLC)之间的通信一般都采用串行通信的方式.

S7-200系列PLC(CPU224)的通信端口主要有2种通信模式:PPI模式和Freeport(自由口)模式.PPI通信协议是西门子公司专门为S7-200系列PLC开发的一种通信协议,一般不对外开放.而自由口模式则是对用户完全开放的,在自由口模式下通信协议是由用户定义的.在自由口模式下PC机与PLC之间是主从关系,PC机始终处于主导地位,计算机通过串行口发送指令到PLC的通信端口,PLC通过RCV接收指令信息,然后对指令进行译码,译码后再调用相应的子程序实现PC机发出的指令要求,并通过XMT指令返回指令执行的状态信息.

S7-200系列PLC通信方式有3种:1)点对点(PPI)方式,用于与西门子公司的PLC编程器或其它产品通信,其通信协议是不公开的;2)DP方式,这种方式使得PLC可通过Profibus的DP通信接口接入现场总线网络,从而扩大PLC的使用范围;3)自由口(FreePort)通信方式,由用户定义通信协议,实现PLC与外设的通信.

自由口通信在物理接口上要求双方都使用RS485接口,波特率最高为38400bps.虽然PC机的标准串口为RS232,但西门子公司提供的PC/PPI电缆带有RS232/RS485转换器,因此在不增加任何硬件的情况下,可以很方便地将PLC和PC机互联.

PLC的自由口模式通信编程首先是对串口初始化.对S7-200PLC的初始化是通过对特殊存储字节B30(端口0)写入通信控制字来设置通信的波特率、奇偶校验、停止位和数据位数.B30各位的含义如图1所示,当mm等于00时PLC工作于自由口模式.

pp:奇偶选择,00―无奇偶校验;01―偶校验;10―无奇偶校验;11―奇校验.

d:每个字符的数据位,0―每个字符8位;1―每个字符7位.

bbb:自由口波特率,000―38400波特率;001―19200波特率;010―96000波特率;011―4800波特率;100―2400波特率;101―1200波特率;110―600波特率;111―300波特率.

另外还可选择通信模式和主从站模式,各具体存储位内容可参考SIMATIC S7-200系统手册.

初始化自由端口通信模式后,就可以进行数据的收发.

(1)发送数据指令XMT.

格式:XMT Table, Port.可以用XMT指令发送数据,XMT指令激活发送缓冲区(从Table开始的变量存储区)中的数据.数据缓冲区的第一个数据指明了要发送的字节数,Port指明了用于发送的端口,缓冲区最多可以有255个字符.在发完缓冲区的最后一个字符时,会产生一个中断(对端口0为中断事件9).

(2)接收数据指令RCV.

格式:RCV Table, Port.用RCV指令接收最多为255个字符的数据,这些字符存储在缓冲区中,在接收到结束字符时,会产生一个中断(对端口0为中断事件23).

3计算机串口通信实现

为了解决微控制器系统的程序调试、控制以及程序升级的问题,可以通过计算机来实现对微控制器的控制.而微控制器构成的嵌入式系统与计算机之间的通信,有各种不同的实现方法.利用计算机串口通信是一种常用的通信方式.串口通信遵循的国际标准是RS-232C通信协议.微控制器主芯片一般都提供与计算机通信的串行接口,而计算机有25线和9线制两种标准接口类型,利用相应的硬件和通信协议,就可以实现它们之间的正常通信.另外,连接二者必不可少的还需要接口芯片,用以实现两者电平的匹配,而接口芯片又有多通道、单通道多种不同的选择.下面就串口通讯实现的方法从四个方面进行阐述.

3.1串口通信方式

目前,采用的通信协议有两类:异步协议和同步协议.同步协议又有面向字符和面向比特以及面向字节计数三种.其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中.

异步通信和同步通信的比较:

(1)异步通信简单,双方时钟可允许一定误差.同步通信较复杂,双方时钟的允许误差较小. (2)异步通信只适用于点<-->点,同步通信可用于点<-->多.

(3)通信效率:异步通信低,同步通信高.

3.2串口通信的基本原理

串行端口的本质功能是作为CPU和串行设备间的编码转换器.当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位.在接收数据时,串行的位被转换为字节数据.

在Windows环境下,串口是系统资源的一部分应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口).

3.3串行通信接口的作用

(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务.在异步通信方式下,接口自动生成起止式的帧数据格式.在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符.

(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据.所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理.因此串并转换是串行接口电路的重要任务.

(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率――波特率进行选择和控制的能力.

(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码.在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误.

(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换.

(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线.这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制.

3.4串行通信的物理标准

EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定.现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于3个方面:传输率,电特性,信号名称和接口标准.

(1)传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率.国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200.大多数接口的接收波特率和发送波特率可以分别设置,而且,可以通过编程来指定.

(2)RS-232C标准:RS-232C标准对两个方面作了规定,即信号电平标准和控制信号线的定义.RS-232C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232C将-3V~-25V规定为“1”,+3V~+25V规定为“0”.

4结论

随计算机和网络技术的发展,也正在引发控制领域深刻的技术变革.控制系统结构向网络化、开放性方向发展将是控制系统技术发展的主要潮流.PLC(可编程逻辑控制器)由于其可靠性高、适应性好、接口功能强等优点,在工业控制领域得到了广泛的应用.但是PLC无法单独构成完整的控制系统,无法进行复杂的运算,无法显示各种实时图表和曲线,无良好的用户界面,不便于监控,在实际的工程应用中,一般需要与上位计算机组成分布式/分级型控制系统,这就需要使用PLC的通信技术.在工业控制中,PLC与PLC、PLC与计算机以及PLC与各种智能装置之间的通信,不但可以提高PLC的控制能力及扩大PLC的控制领域,而且便于对系统进行监视与操作.

本文所阐述只是PLC很少的一部分,由于采用了PLC与计算机的通讯,使PLC能很好地实时控制其他设备,大大提高系统的自动化程度,仅希望通过本文,扩大PLC的认识,提高PLC的实践实用性.