产品描述
西门子6ES7350-2AH01-0AE0型号含义
在PLC系统设计时,应确定控制方案,下一步工作就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应。熟悉可编程序控制器、功能表图及有关的编程语言有利于缩短编程时间,因此,工程设计选型和估算时,应详细分析工艺过程的特点、控制要求,明确控制任务和范围确定所需的操作和动作,然后根据控制要求,估算输入输出点数、所需存储器容量、确定PLC的功能、外部设备特性等,后选择有较价格比的PLC和设计相应的控制系统。
一、输入输出(I/O)点数的估算
I/O点数估算时应考虑适当的余量,通常根据统计的输入输出点数,再增加10%~20%的可扩展余量后,作为输入输出点数估算数据。实际订货时,还需根据制造厂商PLC的产品特点,对
输入输出点数进行圆整。
二、存储器容量的估算
存储器容量是可编程序控制器本身能提供的硬件存储单元大小,程序容量是存储器中用户应用项目使用的存储单元的大小,因此程序容量小于存储器容量。设计阶段,由于用户应用程序还未编制,因此,程序容量在设计阶段是未知的,需在程序调试之后才知道。为了设计选型时能对程序容量有一定估算,通常采用存储器容量的估算来替代。
存储器内存容量的估算没有固定的公式,许多文献资料中给出了不同公式,大体上都是按数字量I/O点数的10~15倍,加上模拟I/O点数的100倍,以此数为内存的总字数(16位为一个字),另外再按此数的25%考虑余量。
三、控制功能的选择
该选择包括运算功能、控制功能、通信功能、编程功能、诊断功能和处理速度等特性的选择。
(一)运算功能
简单PLC的运算功能包括逻辑运算、计时和计数功能;普通PLC的运算功能还包括数据移位、比较等运算功能;较复杂运算功能有代数运算、数据传送等;大型PLC中还有模拟量的PID运算和其他运算功能。随着开放系统的出现,目前在PLC中都已具有通信功能,有些产品具有与下位机的通信,有些产品具有与同位机或上位机的通信,有些产品还具有与工厂或企业网进行数据通信的功能。设计选型时应从实际应用的要求出发,合理选用所需的运算功能。大多数应用场合,只需要逻辑运算和计时计数功能,有些应用需要数据传送和比较,当用于模拟量检测和控制时,才使用代数运算,数值转换和PID运算等。要显示数据时需要译码和编码等运算。
(二)控制功能
控制功能包括PID控制运算、前馈补偿控制运算、比值控制运算等,应根据控制要求确定。PLC主要用于顺序逻辑控制,因此,大多数场合常采用单回路或多回路控制器解决模拟量的控制,有时也采用的智能输入输出单元完成所需的控制功能,提高PLC的处理速度和节省存储器容量。例如采用PID控制单元、高速计数器、带速度补偿的模拟单元、ASC码转换单元等。
(三)通信功能
大中型PLC系统应支持多种现场总线和标准通信协议(如TCP/IP),需要时应能与工厂管理网(TCP/IP)相连接。通信协议应符合ISO/IEEE通信标准,应是开放的通信网络。
PLC系统的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信口、工业以太网、常用DCS接口等;大中型PLC通信总线(含接口设备和电缆)应1:1冗余配置,通信总线应符合标准,通信距离应满足装置实际要求。
PLC系统的通信网络中,上级的网络通信速率应大于1Mbps,通信负荷不大于60%。PLC系统的通信网络主要形式有下列几种形式:1)PC为主站,多台同型号PLC为从站,组成简易PLC网络;2)1台PLC为主站,其他同型号PLC为从站,构成主从式PLC网络;3)PLC网络通过特定网络接口连接到大型DCS中作为DCS的子网;4)PLC网络(各厂商的PLC通信网络)
为减轻CPU通信任务,根据网络组成的实际需要,应选择具有不同通信功能的(如点对点、现场总线、工业以太网)通信处理器。
(四)编程功能
离线编程方式:PLC和编程器公用一个CPU,编程器在编程模式时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行模式,CPU对现场设备进行控制,不能进行编程。离线编程方式可降低系统成本,但使用和调试不方便。在线编程方式:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种方式成本较高,但系统调试和操作方便,在大中型PLC中常采用。
五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应
遵守其标准(IEC6113123),同时,还应支持多种语言编程形式,如C,Basic等,以满足特殊控制场合的控制要求。
(五)诊断功能
PLC的诊断功能包括硬件和软件的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,软件诊断分内诊断和外诊断。通过软件对PLC内部的性能和功能进行诊断是内诊断,通过软件对PLC的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断。
PLC的诊断功能的强弱,直接影响对操作和维护人员技术能力的要求,并影响平均维修时间。
(六)处理速度
PLC采用扫描方式工作。从实时性要求来看,处理速度应越快越好,如果信号持续时间小于扫描时间,则PLC将扫描不到该信号,造成信号数据的丢失。
处理速度与用户程序的长度、CPU处理速度、软件质量等有关。目前,PLC接点的响应快、速度高,每条二进制指令执行时间约0.2~0.4Ls,因此能适应控制要求高、相应要求快的应用需要。扫描周期(处理器扫描周期)应满足:小型PLC的扫描时间不大于0.5ms/K;大中型PLC的扫描时间不大于0.2ms/K。
四、机型的选择
(一)PLC的类型
PLC按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。
整体型PLC的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型PLC提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。
(二)输入输出模块的选择
输入输出模块的选择应考虑与应用要求的统一。例如对输入模块,应考虑信号电平、信号传输距离、信号隔离、信号供电方式等应用要求。对输出模块,应考虑选用的输出模块类型,通常继电器输出模块具有价格低、使用电压范围广、寿命短、响应时间较长等特点;可控硅输出模块适用于开关频繁,电感性低功率因数负荷场合,但价格较贵,过载能力较差。输出模块还有直流输出、交流输出和模拟量输出等,与应用要求应一致。
可根据应用要求,合理选用智能型输入输出模块,以便提高控制水平和降低应用成本。
考虑是否需要扩展机架或远程I/O机架等。
(三)电源的选择
PLC的供电电源,除了引进设备时同时引进PLC应根据产品说明书要求设计和选用外,一般PLC的供电电源应设计选用220VAC电源,与国内电网电压一致。重要的应用场合,应采用不间断电源或稳压电源供电。
如果PLC本身带有可使用电源时,应核对提供的电流是否满足应用要求,否则应设计外接供电电源。为防止外部高压电源因误操作而引入PLC,对输入和输出信号的隔离是必要的,有时也可采用简单的二管或熔丝管隔离。
(四)存储器的选择
由于计算机集成芯片技术的发展,存储器的价格已下降,因此,为保证应用项目的正常投运,一般要求PLC的存储器容量,按256个I/O点至少选8K存储器选择。需要复杂控制功能时,应选择容量大,档次高的存储器。
(五)冗余功能的选择
1.控制单元的冗余
(1)重要的过程单元:CPU(包括存储器)及电源均应1B1冗余。
(2)在需要时也可选用PLC硬件与热备软件构成的热备冗余系统、2重化或3重化冗余容错系统等。
2.I/O接口单元的冗余
(1)控制回路的多点I/O卡应冗余配置。
(2)重要检测点的多点I/O卡可冗余配置。3)根据需要对重要的I/O信号,可选用2重化或3重化的I/O接口单元。
(六)经济性的考虑
选择PLC时,应考虑性
能价格比。考虑经济性时,应同时考虑应用的可扩展性、可操作性、投入产出比等因素,进行比较和兼顾,终选出较满意的产品。
输入输出点数对价格有直接影响。每增加一块输入输出卡件就需增加一定的费用。当点数增加到某一数值后,相应的存储器容量、机架、母板等也要相应增加,因此,点数的增加对CPU选用、存储器容量、控制功能范围等选择都有影响。在估算和选用时应充分考虑,使整个控制系统有较合理的性能价格比。
摘 要:介绍了虚拟电梯的概念和功能以及通讯技术,设计了通讯中可扩展的协议格式,分析了虚拟电梯系统的通讯过程,利用VB语言和西门子S7-200PLC梯形图开发设计通讯程序,实现了计算机与PLC之间的实时通讯,并成功应用到了多部电梯的虚拟电梯系统中。
关键词:虚拟电梯; PLC;通讯协议;VB
0.引言
随着计算机技术的发展,人们逐渐通过计算机软件来模拟实际的物理模型。“虚拟模型”就是以计算机技术为基础,数字接口技术为支持,对模型进行研究和利用。虚拟电梯系统是指将计算机和PLC控制虚拟成一台实际运行的电梯,计算机通过动画显示电梯的轿厢和井道并模拟电梯的运行,同时将信号传送到PLC 控制器。PLC控制器运行电梯控制程序,通过通讯程序将控制结果传回计算机,计算机上的虚拟电梯根据控制信号来进行电梯的运行和信号的指示,从而模拟电梯的运行过程,并能模拟实际电梯的各种运行状态和故障状态。
与传统的物理模型电梯相比,虚拟电梯具有以下优点:
(1),使用方便,便于自行设计开发电梯的控制功能。
(2)虚拟电梯可以作为电梯操作人员的培训软件,熟悉电梯正常的运行规律和各种控制信号的功能。虚拟电梯设置灵活,楼层数、梯速和电梯数量都可以改变,而实际物理模型都是不可改的。
(3)虚拟电梯可以作为PLC控制器的控制对象,对实际电梯控制系统的PLC控制程序及功能进行调试和完善。
因此虚拟电梯技术为开发电梯控制系统以及电梯操作人员的培训了良好的应用前景。
1.虚拟电梯系统的结构及原理
虚拟电梯控制系统由PLC电梯控制程序、系统通信程序和虚拟电梯界面三部分构成。如图1所示。虚拟电梯界面如图2所示,这是两个电梯的,画面对称地分为左右两个电梯系统。以左梯为例,左侧模拟虚拟电梯的轿厢和并道,其右侧为轿箱门和内外呼叫信号以及显示搂层信号,上部为电梯的运行状态。通过菜单的设置,可以配置电梯的数量、搂层数、电梯的运行方式(自动、司机、消防和检修等方式)。
系统的硬件主要是计算机、西门子S7-200型PLC和通讯电缆。系统的工作过程为::通过设置运行状态以及点击界面上的按钮,使计算机将虚拟电梯的信号通过通讯程序发送给PLC,PLC根据接收到的信息,运行电梯控制程序,并将控制程序的控制信号发送给计算机,计算机则通过相应的解释程序,一方面将运行状态显示在界面上,另一方面控制虚拟电梯动画模块的动作,从而达到虚拟电梯控制的目的。计算机中的软件采用VB编程,通讯方式采用串口通讯。
2.通讯协议格式设计
整个系统中将计算机虚拟电梯模型和电梯控制器PLC连接起来的就是计算机和PLC的通讯程序。通讯协议就是定义的使计算机与PLC能够识别相互之间通讯数据的通讯格式。本系统中S7-200与计算机间的,是以“帧”为单位进行的。本系统采用定长的通讯帧,每一帧的格式为:
定义:
1).开始字符标志着通讯帧的开始,在本系统中被定义为ASCII码的"@"。
2).结束字符标志着通讯帧的结束,在本系统中被定义为ASCII码的"#"。
3).校验码为正文各数据的异或和,用两个字节的十六进制ASCII码表示。
计算机与PLC通信时,为了避免通信中的冲突,采用主从方式,即计算机为主机,PLC为从机。只有主机才有权主动发送请求报文(或称为请求帧),从机收到后进行校验,若校验正确,则返回响应报文。
4)通讯帧中的命令类型则反映主从机之间的通讯数据类型。命令类型用两个字符格式表示,定义CT表示控制字,ST表示状态字,RS表示响应字。对不同命令类型的通讯数据帧格式定义如下:
(1) 状态字为计算机传向PLC的数据,表明虚拟电梯的状态及呼叫命令。该通讯帧数据格式为:
正文数据包括: 电梯的运行状态(上行、下行、停),信号(是、否),电梯开关门,电梯内呼外呼信号,平层信号等,用十进制数字按照下列定义的顺序表示:
运行方式定义为1位:自动为0,司机为1,检修为2,消防为3;
运行状态定义为1位: 电梯上行 为2,下行 1 ,停止为0,故障为3
电梯开关门定义为3位,含义:按钮未按0,电梯开门1 ,电梯关门 2 ;二、三位表示门状态:开门过程00 ,开门到位01,关门过程10 ,关门到位11 ;
电梯内呼数据以N开始,以W结束,每两位表示内呼层数,如N0413W表示电梯内有到4层和13层的内内呼信号;
电梯外呼数据以内呼结束字符W位开始,以字符S为结束字符。每三位表示外呼层数:是外呼方向0为下行,1为上行,2为上下均有呼叫,另两位表示层数。如数据W005112S则表示五层有下行呼叫,12层有上行呼叫。
平层信号用两位表示。
正文数据为A、B两梯的数据,其格式相同,其中A梯数据在前,B梯数据在后。
(2)响应字是计算机或PLC接收到数据后返回发送方的的响应。用于判断通讯数据是否正确。正文包括:当异或校验码正确时用00表示,错误时用11表示。当计算机向PLC发送如前所示状态字后,由PLC返回计算机的响应为:
(3)当计算机向PLC发送的数据格式为
表明计算机作为主机,要求PLC传送数据,主机处于数据接收状态,此时PLC向计算机传送的数据帧称为控制字,通过它来控制虚拟电梯的运行,控制字格式为
正文数据包括:电梯的上行下行停止,电梯开关门指令,信号指示(内呼、外呼、搂层)。定义格式与状态字类似。
3 .通讯程序设计
通讯程序的设计就是要在计算机和PLC之间完成以上述协议为格式的数据传递任务。分为计算机通讯程序和PLC通讯程序。
3.1计算机通讯程序
在开发计算机串行通信程序时采用VB编程语言,主要是利用MSComm (Microsoft Comm Control 6.0)通信控件,该控件提供了对串口的各种操作。MSComm提供两种通信方式,事件驱动方法和查询法。本系统采用查询法,查询法适合于较小的应用程序,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性,以检查执行结果或检查某一事件是否发生。MSComm 控件主要属性有:
(1)Commport属性,设置并返回通信端口号,用于使用PC机的哪一个串行端口
(2)Setting属性,以字符串的形式设置并返回波特率、奇偶校验、数据位和停止位。
(3)Portopen属性,设置并返回通信端口的状态,用于打开或关闭端口。
(4)Output属性,用于发送数据,可以是文本数据或二进制数据。
(5)bbbbb属性,从接收缓冲区返回和删除字符,用于接收数据。
(6) bbbbbLen,设置并返回每次bbbbb属性从接收缓冲区读取的字符数。
(7) CommEvent,返回近的通讯事件或错误。
计算机虚拟电梯的通讯过程如图3所示。
3.2 PLC通讯程序
西门子S7-200PLC提供了PPI(point to point)、MPI(multi point)和自由口(free port) 3种通讯方式,自由口通讯方式可以使S7- 200与任何具有串行口的设备进行通讯,自由口通讯使用RS-485接口,在程序中可以使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)等来控制通讯操作。通讯过程中,计算机作为主站通过COM口发送指令到PLC的PORT0口,PLC通过Rcv接收指令,然后对指令译码后实现指令要求的操作,并返回指令执行的状态信息。
PLC通讯程序采用中断方式,S7- 200系列PLC内部的特殊存储字节SMB30和SMB 130用来为通讯端口0和1在自由口通讯方式下选择波特率、奇偶校验和数据位数。利用XMT指令发送缓冲区的内容,发送完后会产生一个中断事件。利用RCV指令接收数据,接收完后也会产生一个中断。
PLC的通讯过程如图4所示。
3.3 系统的工作过程
虚拟电梯系统的通讯过程同样分为计算机和PLC两部分,计算机部分通讯过程是:虚拟电梯的界面运行后,每过一定的时间(设定为100ms),计算机就将虚拟电梯界面上的鼠标指令以及电梯的状态发送给PLC,PLC接收数据后,将其作为输入端口数据运行电梯的控制程序,产生输出数据,并将数据按协议格式传递给计算机,计算机接到后对数据进行解析,然后根据控制指令来进行电梯的运行和信号的指示。
4 结束语
通讯程序的设计是虚拟电梯中的重要一环,它决定了系统能否实现真正运行的功能,以及扩展性和通用性。本系统设计了可扩展的通讯协议格式,使用VB语言和西门子S7-200PLC开发了计算机和PLC的通讯程序,实现了计算机与PLC的实时通信。并将该通讯技术成功应用在了多电梯的虚拟系统中。该虚拟电梯系统作为PLC开放式实验室的一个虚拟对象,在PLC单电梯和多电梯控制中得到了很好的应用,也为开发电梯控制系统以及电梯操作人员的培训了良好的应用前景。
南瑞自控公司在专注的同时,始终关注着市场。2006年6月,MB80/MB40智能可编程控制器经过美国易科认集团公司各种严格的测试,产品测试指标全部合格,了CE认证,获得了欧盟市场准入证。
CE是欧洲共同体对于产品、卫生、环保和消费者保护作出的严格统一标准。CE是证实产品已通过相应的合格评定程序和合格声明,是产品被允许进入欧共体市场销售的通行。正如解释,不具备的研发生产能力,就不可能通过CE严格标准的考核。
CE认证的通过,标志着MB系列PLC在质量、性能等各个方面都跃上了新的台阶,同时促进了公司研发、测试、生产人员的标准、意识和公司测试体系的完善。CE认证的,对MB系列PLC继续扩大市场提供了有力。并且,对同样提供CE标准的产品,使国内用户用国内的市场价格享受水平的产品。
控制硬件选购目前市场上的PLC产品众多。国产有:永宏、和利时、凯迪恩等;国外有:日本的OMRON、MITSUBISHI、松下;德国的SIEMENS,韩国的LG等。近几年,PLC产品的价格有较大的下降,其性价比越来越高,这是众多技术人员选用PLC的重要原因。但各的PLC在性能指标上都有着较大的差异。所以如何选购PLC产品成为了系统设计和系统功能要求的重要环节。
1.系统规模应确定系统用PLC单机控制,还是用PLC形成网络,由此计算PLC输入、输出点数,并且在选购PLC时要在实际需要点数的基础上留有一定余量(10%)。
2.确定负载类型根据PLC输出端所带的负载是直流型还是交流型,是大电流还是小电流,以及PLC输出点动作的频率等,从而确定输出端采用继电器输出,还是晶体管输出,或晶闸管输出。不同的负载选用不同的输出方式,对系统的稳定运行是很重要的。
3.存储容量与速度尽管国外各厂家的PLC产品大体相同,但也有一定的区别。目前还未发现各公司之间兼容的产品。各个公司的开发软件都不相同,而用户程序的存储容量和指令的执行速度是两个重要指标。一般存储容量越大、速度越快的PLC价格就越高,但应该根据系统的大小合理选用PLC产品。
4.编程器的选购PLC编程可采用三种方式:
一是用一般的手持编程器编程,它只能用商家规定语句表中的语句编程。这种方式效率低,但对于系统容量小,用量小的产品比较适宜,并且体积小,易于现场调试,造价也较低。
二是用图形编程器编程,该编程器采用梯形图编程,方便直观,一般的电气人员短期内就可应用自如,但该编程器价格较高。
三是用个人计算机加PLC软件包编程,这种方式是效率的一种方式。基于电脑笔记本的普及和PLC软件编程的方便性,并且易于现场调试。这种方式是用户喜欢用的一种方式。
因此,应根据系统的大小与难易,开发周期的长短以及资金的情况合理选购PLC产品。
5.尽量选用大公司的产品其质量,且技术支持好,一般售后服务也较好,还有利于你的产品扩展与软件升级。
输入回路的设计
1.电源回路PLC供电电源一般为AC85—240V(也有DC24V),适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等)。
2.PLC上DC24V电源的使用,各公司PLC产品上一般都有DC24V电源,但该电源容量小,为几十毫安至几百毫安,用其带负载时要注意容量,同时作好防短路措施(因为该电源的过载或短路都将影响PLC的运行)。 3.外部DC24V电源若输入回路有DC24V供电的接近开关、光电开关等,而PLC上DC24V电源容量不够时,要从外部提供DC24V电源;但该电源的“—”端不要与PLC的DC24V的“—”端以及“COM”端相连,否则会影响PLC的运行。
4.输入的灵敏度各厂家对PLC的输人端电压和电流都有规定,如日本三菱公司FX系列PLC的输入值为:DC24V、7mA,启动电流为4.5mA,关断电流小于1.5mA,因此,当输入回路串有二管或电阻(不能启动),或者有并联电阻或有漏电流时(不能切断),就会有误动作,灵敏度下降,对此应采取措施。另一方面,当输入器件的输入电流大于PLC的大输入电流时,也会引起误动作,应采用弱电流的输入器件,并且选用输人为共漏型输入的PLC,输入元件的公共点电位相对为负,电流是流出PLC的输入端。
输出回路的设计
1.各种输出方式之间的比较
(1)继电器输出:优点是不同公共点之间可带不同的交、直流负载,且电压也可不同,带负载电流可达2A/点;但继电器输出方式不适用于高频动作的负载,这是由继电器的寿命决定的。其寿命随带负载电流的增加而减少,一般在几十万次至几百万次之间,有的公司产品可达1000万次以上,响应时间为10ms
(2)晶闸管输出:带负载能力为0.2A/点,只能带交流负载,可适应动作,响应时间为1ms.
(3)晶体管输出:大优点是适应于高频动作,响应时间短,一般为0.2ms左右,但它只能带DC5—30V的负载,大输出负载电流为0./点,但每4点不得大于0.8A。
当你的系统输出频率为每分钟6次以下时,应继电器输出,因其电路设计简单,抗干扰和带负载能力强。当频率为10次/min以下时,既可采用继电器输出方式;也可采用PC输出驱动达林顿三管(5—10A),再驱动负载(见图2),可大大减小
2.抗干扰与外部互锁当PLC输出带感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。
当两个物理量的输出在PLC内部已进行软件互锁后,在PLC的外部也应进行互锁,以加强系统的性。
3.“COM“点的选择不同的PLC产品,其“COM”点的数量是不一样的,有的一个“COM”点带8个输出点,有的带4个输出点,也有带2个或1个输出点的。当负载的种类多,且电流大时,采用一个“COM”点带1—2个输出点的PLC产品;当负载数量多而种类少时,采用一个“COM”点带4—8个输出点的PLC产品,这样会对电路设计带来很多方便。每个“COM”点处加一熔丝,1—2个输出时加2A的熔丝,4—8点输出的加5—10A的熔丝,因PLC内部一般没有熔丝。
4.PLC外部驱动电路对于PLC输出不能直接带动负载的情况下,在外部采用驱动电路:可以用三管驱,也可以用固态继电器或晶闸管电路驱动,同时应采用保护电路和浪涌吸收电路,且每路有显示二管(LED)指示。印制板应做成插拔式,易于维修。
PLC的输入输出布线也有一定的要求,请看各公司的使用说明书。
扩展模块的选用
对于小的系统,如80点以内的系统.一般不需要扩展;当系统较大时,就要扩展。不同公司的产品,对系统总点数及扩展模块的数量都有限制,当扩展仍不能满足要求时,可采用网络结构;同时,有些厂家产品的个别指令不支持扩展模块,因此,在进行软件编制时要注意。当采用温度等模拟模块时,各厂家也有一些规定,请关的技术手册。
各公司的扩展模块种类很多,如单输入模块、单输出模块、输入输出模块、温度模块、高速输入模块等。PLC的这种模块化设计为用户的产品开发提供了方便。
PLC的网络设计
当用PLC进行网络设计时,其难度比PLC单机控制大得多。你应选用自己较熟悉的机型,对其基本指令和功能指令有较深入的了解,并且指令的执行速度和用户程序存储容量也应仔细了解。否则,不能适应你的实时要求,造成系统崩溃。另外,对通信接口、通信协议、数据传送速度等也要考虑。
后,还要向PLC的商家寻求网络设计和软件技术支持及详细的技术资料,至于选用几层工作站,依你的控制要求与系统大小而定。
软件编制
在编制软件前,应熟悉所选用的PLC产品的软件手册及编程指令手册,待熟练后再编程。若用图形编程器与软件包编程,则可直接编程,若用手持编程器编程,应先画出梯形图,然后编程,这样可少出错,速度也快。若用个人计算机与软件编程,编程结束后先程序,待各个动作正常后,再在设备上调试。
1 引言
随着计算机科学技术、工业控制等方面的新技术的发展,使用计算机监控系统与现场PLC设备进行数据交换得到了广泛的应用。这类数据交换往往具有以下的特点,数据量大,采集点分散,带宽较窄。由于不同厂家所提供的PLC现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序就越来越多。这种复杂的设备驱动程序的开发具有以下的特点:
,上位监控系统与PLC设备间的数据交换,应用较普遍。
其次,这种数据通讯过程,缺乏有通用性的框架设计,开发周期长,难度大,难以通用。
再者,在有限带宽限制条件下的大数据量传输,普遍存在着信道利用率低,系统效率差,不稳定的情况,迫切需要大幅度提高信道利用率的算法。而且在已有的数据交换标准中,对于有限带宽条件下的信道利用率也没有成熟的设计。
如上所述,开发PLC设备的通用性数据通信接口具有广泛的应用前景和实现。本文主要针对上位监控系统与PLC设备之间的数据通信进行分析,介绍了PLC设备的驱动开发的方法,并提供PLC通信的实例。
2 PLC驱动的使用
本文中以使用串口通讯的PLC为例进行分析和说明,监控系统为北京昆仑通态公司生产的MCGS软件。开发工具为VC++6.0。
MCGS中PLC已经将串口通讯的波特率设置等功能集成至串口父设备中,因此PLC设备驱动是作为MCGS软件设备管理窗口中的子设备提供的。它可以使用父设备的通讯功能,即可以与其他设备共享父设备的通讯功能。由于使用串口的PLC设备较多,在这里我们以使用串口通讯方式的PLC为例进行说明PLC通用驱动的构架的开发。如使用自定义编程电缆方式或使用以太网方式连接,此PLC驱动构架同样适用。
使用串口通讯的PLC与上位机的通讯方式中,有RS232、RS485、RS422多种方式。如果设备是采用RS232方式通讯,那么在一个串口下面只能挂接一个设备。如果采用RS485或者RS422的方式通讯,那么可以使用多个设备构成一个网络,在这个网络中,为了识别各个不同的设备,给每一个设备加上一个标志,一般来说把这个标志称作设备地址。这个总线上的设备分为主设备和从设备两类。在工作时,从设备一直在通讯线路上的数据,并对这些数据进行分析,当收到对自己的请求时,会发送一个相应的应答帧。主设备在工作时会根据需要向从设备发送请求帧,请求一些数据或者是发送一条命令,在发完请求帧后主设备需等待从设备的回答,这个等待的过程有一个时时间限制。如果过了一定的时间还没有收到回答,它会认为本次通讯失败,然后按照一定的逻辑判断是应该重发请求还是放弃。 通讯使用的通讯协议,分为ASCII通讯和16进制通讯两类。PLC的通讯协议中大多数都是使用16进制通讯。而且在串口通讯中,为了保证通讯的正确性、完整性,通常在通讯帧的尾部加上校验,常见的有和校验,异或校验,CRC校验等等。
在通讯过程中,上位机的MCGS软件调用PLC驱动,根据具体协议,向PLC设备发送寄存器的读写命令,并接收应答数据。
3 主要流程
3.1采集流程
为便于说明,此处以一个采集周期内仅需单次采集的简情况为例。在5.1中的密集采集模式中,描述了对一周期内需多次采集的算法。
采集过程描述如下:进行初始化,随后创建通道。进入数据采集周期,在每个数据采集周期中,形成读命令,随后校验发送数据帧,读写串口完成一次通讯,如果通讯成功,那么校验后将接收到的数据解码输出到通道,返回成功标识,如果通讯不成功或校验失败,返回失败标识。
3.2解析函数流程
上图为解析数据帧的流程图。不同的设备具有不同的协议内容,使用定义好的模版解析函数只需要开发人员按照设备协议将帧分割为有效的数据部分,添入联合体FrameField即可。该联合体可将协议数据小分割为位来进行操作。
如上图所示,个字节为帧头,后一个字节为帧尾,二个字节为状态标示,三至六个字节为模拟量,七个字节为单位,八个字节按位分为四路输入和四路输出。
4 接口设计
通常来说,一个厂家的同系列的PLC产品,通讯协议一般是一样的。区别只是在于其中一些寄存器的大小不同。这样我们就考虑可以让这一个系列的设备使用同一个驱动。为了提高通用性,同时一般情况下,用户也不需要使用所有的寄存器,所以把这种设备构件的通道设计成用户可以在组态时自己进行定义。所有的通道及其所对应的参数(即是寄存器地址)都由用户自己进行定义。驱动程序根据用户定义的信息进行通讯。而且PLC当中可能有一些参数用户并不常用,如果组成通道,每一个采集周期都要进行通讯,效率比较低下,考虑到这种情况,我们提供了一些外部接口供监控系统调用,在这些接口中可以发送命令,支持所有的寄存器通道。
而对不同厂家的PLC设备进行分析,也可以发现,可以将通讯过程和协议方式进行抽象,提取它们的共同点和变化点,封装和隐藏数据交换过程中的细节,达到通用的目的。通过封装格式,规范代码,统一接口,提高驱动开发效率,降低驱动开发的难度。提高代码的重用性,增强驱动的稳定性,减少设计中容易出现的错误。使开发人员把主要的精力放在对设备的熟悉和对协议的分析上,而不是过多地纠缠于编程实现的细枝末节上。
封装的数据和操作包括:
隐藏一次数据采集中的底层通讯过程(某些设备完成一次采集需要一次以上的发收过程,如西门子S7200);封装针对采集点分散的动态采集算法;封装常用的命令操作;对与监控系统间的交互提供统一的接口;PLC驱动封装了底层的通讯过程,只将接口方法暴露在外面,开发人员以统一的方式去调用这个方法,从而保证软件对客户的透明性,使开发人员从低层的开发中脱离出来,降低开发的难度。对驱动的开发人员来说,需要关注的接口仅有以下部分:
定义设备本身的属性;如地址、实时采集的时间要求等;定义设备的读写操作属性;如通道数量等;通用设计仅提供跟设备协议相关的组包和解包接口,实现过程将由开发人员完成。
5 关键问题分析
为提供信道利用率,提高系统效率,在PLC的通信框架设计中考虑了几个关键问题。
5.1三种采集模式
经过对现有的数据交换的分析,将用户的一般需求拟概括为三种采集模式,即密集,按需,定时采集。
密集采集模式:在这种情况下,用户希望能尽量利用物理带宽,保的采集速度和新。在这种模式下,理想状态是设备始终处于状态。采集目前所有通道中离需要采集的周期时间小的通道。保证所有的通道都能获得采集机会,但是相对与其他模式,在该模式下CPU占用率会比较高。
按需采集模式:在通讯链路需要受控的情况下,比如用户采用GPRS进行采集,按流量计费,所以不能进行大量的通讯。这时候通过设置采集模式为按需采集,然后在需要时再调用接口函数启动单次采集。否则不进行数据采集。
定时采集模式:该模式是在CPU的占用率和采集速度之间进行折衷的采集框式,保证在用户设置的通道刷新周期的时间内进行通道的采集,之后直到下一次通道的刷新周期到达再进行下一次采集。
在模块设计中,采集模式作为设备类的一个属性,由开发人员根据具体情况,选择合适的采集模式。不同模式的采集算法实现如下:
密集采集执行流程:设置一个采集周期如1000ms。每当开始一个新采集周期时,重新计算采集通道的级别。遍历所有的通道,找出目前级的通道,进行采集。对通道进行分块(块中包含需要刷新的通道)。进入通讯循环(某些设备进行一次采集至少需要两次通讯所以需要通讯循环)。发送数据请求并等待回应;根据返回的信息解析出,并作相应处理;判断是否需要下一次采集,如果不需要跳出循环;新通道和采集标志;继续发送线程消息启动下一次采集直到一次通讯循环结束;直到遍历完所有需采集的通道。
按需采集执行流程:循环对每个通道进行,保存采集成功的值,并进行后续处理。定时采集执行流程由定时器触发,采集流程与密集采集一样,但在判断没有满足采集要求的通道不进行采集。
5.2采集点分散的动态采集算法
在现有的数据交换过程中,用户关心的数据往往只占全部信息的很小一部分,而且这些采集点分散在的数据中,如果不加判断的依次读取数据,有效信息与信息的比例很低,实时性差;如果仅有效信息,分配的粒度过小,又会造成系统效率低下,信道利用率差。针对这一问题,采取以下的解决方法:
(1)只采集用户关心的数据。如当有多个通道时,只传送当前用户只关心的通道的数据,而不关心其它的通道。保证采集尽量少的通道,为每个需要的通道提供快的周期。从而减少通讯量。
(2)对于待采集的数据分配不同的级,对实时性要求高的部分数据采集。可以根据用户设置的数据刷新时间来改变其级。
(3)实现一个动态分块算法,在一个合理的粒度上对的信息分块传输,兼顾信道利用率与有效信息的实时性;实现的分块算法简述如下:在采集时判断,如果当前采集的寄存器类的通道可以组成一个数据请求包,则进行处理,提高一次采集的通道数。根据开发人员定义的通道级,找出级的通道附近的地址连续(或紧密)的通道,这些通道形成一个通道块。重复同样的过程,将剩下的通道继续分块,直到形成的块数大于某一规定的数值比如20或将本寄存器的所有通道分配完成。
(4)根据通讯协议的特点,在打包数据请求时尽量保包含多的请求,从而减少请求的总次数。
6 结论
根据本文的PLC通用性数据接口开发人员已开发出多个厂家的PLC驱动,并在不同项目中得到应用。在此PLC通用数据接口基础上开发PLC驱动,缩短了开发时间和难度。投入运行的系统通信稳定,采集速度快,通用性好,性高。保证了项目的顺利实施。本文作者点:具有通用性的监控系统与PLC通信接口设计,能够大大缩短开发时间和难度,并提高通信稳定性、实时性,具有很高的实用和经济。
产品推荐