西门子模块6ES7368-3BB01-0AA0技术参数
由于plc强大的功能和优良的性能,以及应用成本的不断下降和使用的方便性,促使PLC的应用领域不断扩展,市场潜力巨大,于是,全世界许多公司纷纷推出自己的PLC产品。出于垄断或市场保护的目的,各家公司的PLC产品各有差别,互不兼容。当形形色色的PLC涌入市场时,国际电工委员会与有关PLC制造商多次协商,于1993年制定了IEC1131标准以引导PLC健康地发展。
IEC1131标准共分为5个部分:IEC1131-1为一般信息,即对通用逻辑编程作了一般性介绍并讨论了逻辑编程的基本概念、术语和定义;IEC1131-2为装配和测试需要,从机械和电气两部分介绍了逻辑编程对硬件设备的要求和测试需要;IEC1131-3为编程语言的标准,它吸取了多种编程语言的长处,并制定了5种标准语言;IEC1131-4为用户指导,提供了有关选择、安装、维护的信息资料和用户指导手册;IEC1131-5为通信规范,规定了逻辑控制设备与其他装置的通信联系规范。IEC1131标准后更名为IEC61131标准。
在IEC61131-3中,规定了控制逻辑编程中的语法、语义和显示,并对以往编程语言进行了部分修改后形成目前通用的5种语言。在这5种语言中,有3种是图形化语言,2种是文本化语言。图形化编程语言包括:梯形图(LD-LadderDiagram)、功能块图(FBD - Function Block Diagram)、顺序功能图(SFC - SequentialFunction Chart)。文本化编程语言包括:指令表(IL-Instruction List)和结构化文本(ST-StruturedText)。IEC61131-3的编程语言是IEC工作组对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它不但适用于PLC系统,还适用于更广泛的工业控制领域;IEC61131-3的编程工具提供对现场总线系统的支持,并对现场总线装置的软件设计产生了很大影响。IEC并不要求每种产品都运行这5种语言,可以只运行其中的一种或几种,但均必须符合标准。在实际组态时,可以在同一项目中运用多种编程语言,相互嵌套,以供用户选择简单的方式生成控制策略。
正是由于IEC61131-3标准的公布,许多PLC制造厂先后推出符合这一标准的PLC产品。美国罗克韦尔(Rockwell)公司许多PLC产品都带符合IEC61131-3标准中结构文本的软件选项。法国施耐德(Schneider)公司的ModiconTSX Quantum PLC产品可采用符合IEC61131-3标准的Concept软件包,它在支持Modicon984梯形图的也遵循IEC61131-3标准的5种编程语言。德国西门子(Siemens)公司的SIMATICS7-200、S7-300、S7-400、C7-620均采用SIMATIC软件包,其中梯形图和功能块图部分符合IEC61131-3标准。
1、 继电器梯形图(LD)
继电器梯形图编程语言是PLC采用的编程语言,也是PLC普遍采用的编程语言。梯形图编程语言是从继电器控制系统原理图的基础上演变而来的。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定区别。图1所示是典型的继电器梯形图示例。左右两条垂直的线称作母线。母线之间是触点的逻辑连接和线圈的输出。
图1 PLC继电器梯形图
PLC的设计初衷是为工厂车间电气技术人员而使用的,为了符合继电器控制电路的思维习惯,作为在PLC中使用的编程语言,梯形图保留了继电器电路图的风格和习惯,并引入“能流”的概念。图1中,把左边的母线假想为电源正极或“火线”,而把右边的母线假想为电源负极或“零线”。如果有“能流”从左至右流向线圈,则线圈被激励。如没有“能流”,则线圈未被激励。“能流” 是梯形图的一个关键概念,它仅是概念上的“能流”,是为了和继电接触器控制系统相比较,对梯形图有一个形象深入的认识,其实“能流”在梯形图中是不存在的。
“能流”可以通过动作(ON)的常开接点和未动作(OFF)的常闭接点自左向右流。“能流”在任何时候都不会通过接点自右向左流。图1中,当I0.0动作而I0.1、T40未动作时,线圈M0.0才能接通(被激励)。
继电器梯形图实质上就是PLC内部的一段控制程序,常把它称作为程序。又由于它是以电路逻辑图的形式出现的,有时又称它为内部继电器电路图。
有的PLC的梯形图有两根母线,但大部分PLC现在只保留左边的母线了。在梯形图中,基本符号有触点(包括常开和常闭)、线圈和功能盒。触点代表逻辑“输入”条件,如按钮、位置开关、内部条件等;线圈通常代表逻辑“输出”结果,可以通过输出端子和外部电路驱动被控对象,如电磁阀、接触器、指示灯等;功能盒也是一种输出,它代表实现某些特定功能的指今,如定时器、计数器和各种功能指令等。
2、功能块图(FBD)
功能块图是IEC61131-3的标准编程语言,采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,但一些低档的PLC并不支持FBD编程语言。S7—200的PLC专门提供了FBD编程语言,利用FBD可以查看到像普通逻辑门图形的逻辑盒指令。它没有梯形图编程器中的触点和线圈,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑由这些盒指令之间的连接决定。也就是说,一个指令(例如AND盒)的输出可以用来允许另一条指令(例如定时器),这样可以建立所需要的控制逻辑。这样的连接思想可以解决范围广泛的逻辑问题。
图2 PLC功能块图
3、顺序功能图(SFC)
顺序功能图,亦称功能流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,也是IEC61131-3的标准编程语言。使用它可以对具有并发、选择等复杂结构的系统进行编程,一些的PLC提供了用于SFC编程的指令,但一些低档的PLC并不支持SFC编程语言。顺序功能图示例如图3所示。
顺序功能图主要由“状态”和“转移”等基本元素组成。通过这些基本元素的不同组合,可以表达各种各样的复杂顺序控制逻辑,控制规律的表达简洁明了。
状态有时也称步,是系统一个相对稳定的阶段,在这个阶段内系统的参量保持不变。系统的参量一旦发生变化,则认为系统转移到了一个新的状态。状态包括初始状态和工作状态,一个系统至少要有一个初始状态,初始状态用双线矩形框表示,工作状态用矩形框表示,工作状态一般都有相对应的动作。每个状态都有一个编号,通常用PLC内部的状态元件来保存状态。
当系统的参量发生变化到了一个新的状态,则认为系统状态发生了转移。转移由连接两个状态之间的有向线段和垂直于此线段的短横线段组成,短横线段表示发生转移的条件。
图3 PLC顺序功能图
4、指令语句表(IL)
指令表编程语言类似于计算机中的助记符汇编语言,它是可编程控制器基础的编程语言。所谓指令表编程,是用一个或几个容易记忆的字符来代表可编程控制器的某种操作功能,具体指令的说明将在后面的相关内容中作详细的介绍。指令表示例如图4所示。
图4 PLC指令语句表
5、结构化文本语言(ST)
结构化文本(ST)是一种的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本语言表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。结构化文本非常适合应用在有复杂的算术计算的应用中。
结构化文本程序格式自由,可以在关键词与标识符之间任何地方插入制表符、换行字符和注释。对于熟悉计算机语言开发的人员来说,结构化语言更是易学易用。结构化文本语言还易读易理解,特别是用有实际意义的标识符、批注来注释时,更是这样。
下面程序是一个用结构化文本程序实现功能块的例子。该实例描述的是如何用功能块控制箱体中的流体,箱体可以通过阀门被注满和倒空,箱体的重量由一个称重单元监视。功能块通过比较两个输入值FullWeight和EmptyWeight以确定箱体是满的还是空的。
该功能块提供了一个“Command”输入,该输入有四种状态,1.给箱体加水;2.保持不变;3.起动“Stirrer”;4.清空箱体。实现该功能块算法的结构化文本程序如下:
(*箱体状态*)
TYPE_T_STATE:(FULL,NOT_FULL,EMPTIED);END_TYPE;
(*阀门状态*)
TYPE_T_VALVE: (OPEN,SHUT);END_TYPE;
FUNCTION_BLOCK TankControl
VAR_IN (**)
Command:SINT;
Weight :REAL;
FullWeight,EmptyWeight : REAL;
END_VAR
VAR_OUT (**)
FillValve :T_VALVE:=SHUT;
EmptyValve :T_VALVE:=SHUT;
StirSpeed :REAL:=0.0;
END_VAR
VAR
State :=T_STATE :=EMPTYIED;
END_VAR
为了满足工业逻辑控制的要求,结合计算机控制的特点,plc的工作方式采用不断循环的顺序扫描工作方式。每一次扫描所用的时间称为扫描周期或工作周期。CPU从条指令执行开始,按顺序逐条地执行用户程序直到用户程序结束,返回条指令开始新的一轮扫描。PLC就是这样周而复始地重复上述循环扫描的。PLC工作的全过程可用图所示的运行框图来表示。整个过程可分为以下几个部分:
部分是上电处理。PLC上电后对系统进行一次初始化,包括硬件初始化和软件初始化,停电保持范围设定及其他初始化处理等。
第二部分是自诊断处理。PLC每扫描一次,执行—次自诊断检查,确定PLC自身的动作是否正常。如CPU、电池电压、程序存储器、I/O和通讯等是否异常或出错,如检查出异常时,CPU面板上的LED及异常继电器会接通,在特殊寄存器中会存入出错代码。当出现致命错误时,CPU被强制为STOP方式,所有的扫描便停止。
图 PLC运行框图
第三部分是通讯服务。PLC自诊断处理完成以后进入通讯服务过程。检查有无通讯任务,如有则调用相应进程,完成与其他设备的通讯处理,并对通讯数据作相应处理;进行时钟、特殊寄存器更新处理等工作。
第四部分是程序扫描过程。PLC在上电处理、自诊断和通讯服务完成以后,如果工作选择开关在RUN位置,则进人程序扫描工作阶段。先完成输入处理,即把输入端子的状态读入输入映像寄存器中,执行用户程序,后把输出处理结果刷新到输出锁存器中。
在上述几个部分中,通讯服务和程序扫描过程是PLC工作的主要部分,其工作周期称为扫描周期。可以看出扫描周期直接影响控制信号的实时性和正确性,为了确保控制能正确实时地进行,在每个扫描周期中,通讯任务的作业时间必须被控制在一定范围内。PLC运行正常时,程序扫描周期的长短与CPU的运算速度、与I/O点的情况、与用户应用程序的长短及编程情况等有关。通常用PLC执行lKB指令所需时间来说明其扫描速度,一般为零点几ms到上百ms。不同指令其执行时间是不同的,从零点几μs到上百μs不等,故选用不同指令所用的扫描时间将会不同。而对于一些需要高速处理的信号,则需要特殊的软、硬件措施来处理。
当PLC处于正常运行时,它将不断重复扫描过程。分析上述扫描过程,如果对远程I/O、特殊模块和其他通讯服务暂不考虑,这样扫描过程就只剩下“输入采样”、“程序执行”和“输出刷新”三个阶段了。这三个阶段是PLC工作过程的中心内容,理解透PLC工作过程的这三个阶段是学习好PLC的基础。下面就对这三个阶段进行详细的分析。
(1)输入采样阶段
PLC在输入采样阶段,扫描所有输人端点,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段和输出刷新阶段,在此阶段输入映像寄存器与外界隔离,无论输入情况如何变化,其内容保持不变,直到下一个扫描周期的输人采样阶段,才重新写入输入端的新内容。一般来说,输人信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
输入映像寄存器的数据完全取决于输入端子上各输入点在上一刷新期间的接通和断开状态。
(2)程序执行阶段
根据PLC梯形图程序扫描原则,一般来说,PLC按从左到右、从上到下的步骤顺序执行程序。当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”采集到的对应输入端子状态,从元件映像寄存器“读入”对应元件(“软继电器”)的当前状态。进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
(3) 输出刷新阶段
在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过输出端子和外部电源,驱动外部负载。
输出映像寄存器的数据取决于输出指令的执行结果,输出锁存器中的数据由上一次输出刷新期间输出映像寄存器中的数据决定,而输出端子的接通和断开状态,完全由输出锁存器决定。
继电器控制系统是一种“硬件逻辑系统”,如图1(a)所示,它的三条支路是并行工作的,当按下按钮SB1,中间继电器K得电,K的两个触点闭合,接触器KMl、KM2得电并产生动作。继电器控制系统采用的是并行工作方式。 可编程控制器是一种计算机控制系统,它的工作原理是建立在计算机工作原理基础之上的,即通过执行反映控制要求的用户程序来实现的,如图1(b)所示。由于CPU是以执行程序来处理各项任务的,在每一瞬间只能做一件事,属于串行工作方式。通过程序的执行按程序顺序依次完成各相应的动作。 图1 plc控制逻辑实现原理示意图 |