plc结构化编程.doc
《plc结构化编程.doc》由会员分享,可在线阅读,更多相关《plc结构化编程.doc(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/第一章 PLC编程人员参考概述此手册供开放式架构数控系统PA 8000的PLC编程人员参考使用,编程人员在进行PLC编程之前请仔细阅读本手册。手册中将介绍如何利用系统中自带的PLC编程工具进行编程,同时介绍编程指令及格式等,手册中的编程格式为ST,其它的编程格式不详细介绍。最后将以一铣床的PLC程序为例加深对程序的理解为了使手册更加通俗易懂,手册中并没有介绍所有的与PLC相关的内容,用户如有需要可向机床制造商索取专门的介绍资料。希望调试人员能通过对本手册的阅读更快地熟练PLC编程。第二章 PLC-1131-3 DS简介PLC-1131-S3为PLC编程提供了一个完善的环境,为PLC程序员处理
2、各种程序提供了一个简单而又功能强大的途径,它的编程和调试基于完善的环境和高级编程语言(类似与Visual C+)。2.1 PLC-1131-3 DS功能简介工程文件的结构:工程文件的后缀名为pro,在新工程中建立的第一个程序结构单元(Program Organization Unit)将被自动命名为PLC_PRG,这个程序结构单元就类似于C语言中的主程序。在PLC_PRG中可以调用各种函数及功能块,而函数和功能块都属于程序结构单元。PLC-1131-3 DS能够区分在同一工程中的不同对象:程序结构单元(POU)数据类型(data types) 资源(resources)工程的设置:1) 首先应
3、该设置PLC的输入输出以保证工程中使用的地址的准确性。2)接着建立解决问题的程序结构单元3) 选择适当的语言编写程序4) 写好程序之后,对程序进行编译去除程序中的所有错误。工程的测试:当工程之中的所有错误被去除之后激活仿真模式,就是与仿真PLC连接,与此同时将工程下载到PLC中,这样 PLC-1131-3 DS就处于在线方式了。现在能以适当的顺序测试工程了,手动改变输入变量的值,观察输出是否正确。用PLC-1131-3DS调试程序 当程序发生错误时,你可以设置断点。当处理发生中断时,你就可以及时的在断点处检查所有工程变量的值。工作在单步方式(singlestep)下,可以检验程序的逻辑错误。
4、你可以强制输入或输出变量的值。使用流控制(flowcontrol)可以知道哪些程序段已经执行。采样轨迹(SamplingTrace)显示变量在长时间的变化过程曲线。整个工程可以以文本文件的形式导出。总而言之 PLC-1131-3 DS对于PLC编程是一种完善和方便的工具。2.2 PLC-1131-3 DS基本概念此节包括一些重要的概念帮助你熟悉PLC-1131-3 DS2.2.1工程的组成工程 (Project)一个工程包括了PLC程序中所有的对象,工程中包含了如下对象: 程序结构单元 POUs 数据类型 data types 资源 resources 库函数 libraries程序结构单元(
5、POU)函数(Functions)Error! Reference source not found., 功能块(function blocks)Error! Reference source not found.和程序(programs)都是程序结构单元(Error! Reference source not found.POUs)。每个POU包括了定义变量和程序主体两个部分Error! Reference source not found.。程序主体用IEC编程语言编写,其中包括:指令表 (IL)结构文本 (ST) SFC FBD 梯形图(LD).PLC-1131-3 DS 支持所有的标准
6、IEC程序结构单元。Error! Reference source not found.Error! Reference source not found.POUs之间能够相互调用,但是不允许递归调用.函数(Function)当定义函数的时候,不要忘记函数中必须含有返回值的数据类型,也就是说在函数名的后面必需紧跟冒号和一个数据类型。下面是一个正确的函数定义:FUNCTION INDUAL :INT 就是说函数名被用作输出变量。函数定义的以关键字FUNCTION开始,以END_FUNCTION 结尾。Example in IL of a function that takes three inp
7、ut variables and returns the product of the first two divided by the third:Image 0.1: Functionbmc bild2_1.bmpError! Reference source not found.x Example of a function in IL函数没有任何的内部条件,就是说当用相同的输入变量时就会得出相同的结果(输出)。x Examples for calling up the function described aboveError! Reference source not found.E
8、xamples for calling up the function described above:in ST:Result := Fct(7, 2, 4);程序(Program)程序是一种程序结构单元,在运行过程中返回一定数量的值。程序在整个工程中都可以被识别。bmc bild2_8.bmpError! Reference source not found.x Example of a program程序能够被调用,但不允许在函数中调用程序。如果在程序结构单元中调用程序时程序的返回值有变化,这些变化将保持到下一次程序调用,即使程序程序是从其它程序结构单元调用的。程序由起始关键字Error
9、! Reference source not found.PROGRAM开始,END_PROGRAM结束。.x Examples of calls of the program described aboveError! Reference source not found.in ST:PRGExample;Res := PRGexample.PAR;If the variable PAR from the program PRGexample is initialized by a main program with 0, and then one after the other progr
10、ams are called with above named program calls, then the RES result in the programs will have the values 1, 2, and 3. If one exchanges the sequence of the calls, then the values of the given result parameters also change in a corresponding fashion.PLC_PRGPLC_PRG 是一个特殊的预先定义的程序结构单元,任何工程都必须含有这个特殊的程序。每次循
11、环的过程中调用一次PLC_PRG 。在新工程建立之后第一次执行 Project Object AddError! Reference source not found. 命令时,程序结构单元对话框中的初始输入项就是名为PLC_PRG的程序类型。注意: 不要删除或者重命名PLC_PRGResources设置和组织工程所需的资源Error! Reference source not found.:全局变量 Global VariablesError! Reference source not found. PLC设置 PLC ConfigurationError! Reference source
12、 not found. 任务配置 Task ConfigurationError! Reference source not found. 采样轨迹 Sampling TraceError! Reference source not found. 观察和接收管理器Watch and Receipt ManagerError! Reference source not found. 库函数(Libraries)库函数standard.lib是一个标准的函数库,可供程序进行调用。第三章 结构文本格式编程语言在此手册中编程语言以 结构文本编程指令为例,其它的指令格式不作详细介绍。结构文本编程指令(S
13、tructured Text)包括了一系列的编程语句,如条件语句 (IF.THEN.ELSEError! Reference source not found.),循环语句(WHILE.DOError! Reference source not found.)等等。下面就是一个结构文本指令格式的一段小程序IF value 7 THENWHILEvalue 8 DOvalue := value + 1;END_WHILE;END_IF;3.1 表达式表达式指操作数被赋值后返回一个确定值的结构。表达式由运算符和操作数组成,操作数可以是常数、变量 、调用函数或则其它表达式。3.2 表达式的计算根据各
14、种运算符优先级别依次运算得到最后的结果。具有最高优先权的运算符最先计算,接着计算第二优先级别的运算符. 直到得出最后结果。具有相同优先级别的运算符按照从左到右的顺序计算。下面给出结构文本的运算符:运算符符号优先级别括号(表达式)最高函数调用Error! Reference source not found.函数名 (参数)求幂*求反-NOT乘除求余*/MOD加减+-比较,=等于不等于=逻辑与AND异或XOR逻辑或OR最低优先级3.3 结构文本格式编程格式指令指令类型例子赋值 (Assignment) Error! Reference source not found.A:=B; CV := C
15、V + 1; C:=SIN(X);调用功能块或者函数的返回值(Calling a function block and use of the FB output)Error! Reference source not found.CMD_TMR(IN := %IX5, PT := 300);A:=CMD_TMR.Q返回 (RETURN) Error! Reference source not found.RETURN;IF (条件)Error! Reference source not found.D:=B*B;IF D0.0 THENC:=A;ELSIF D=0.0 THENC:=B;ELS
16、EC:=D;END_IF;CASE(分支)Error! Reference source not found.CASE INT1 OF1:BOOL1 := TRUE;2:BOOL2 := TRUE;ELSEBOOL1 := FALSE;BOOL2 := FALSE;END_CASE;FOR(循环)Error! Reference source not found.J:=101;FOR I:=1 TO 100 BY 2 DO IF ARRI = 70 THEN J:=I; EXIT; END_IF;END_FOR;WHILE(循环)Error! Reference source not foun
17、d.J:=1;WHILE J= 100 AND ARRJ 70 DO J:=J+2;END_WHILE;REPEAT(重复)Error! Reference source not found.J:=-1;REPEAT J:=J+2;UNTIL J= 101 OR ARRJ = 70END_REPEAT;EXIT(退出)Error! Reference source not found.EXIT;Empty instruction(空指令);用结构文本编程格式编写的程序与其它格式的编程语言相比出错概率低,编写的程序具有可读性高的特点。Instruction in Structured Text赋
18、值运算 (Assignment operator) 此操作将右边表达式的结果赋给左边的操作数。符号为 :=例:Var1 := Var2 * 10;调用功能块(Calling a function block)结构文本编程格式通过在功能块名后面的括号里分配参数值来调用功能块的功能在下面的例子中通过分配参数IN和PT的值调用一定时器功能块,它的结果变量的值被赋给变量A 。CMD_TMR(IN := %IX5, PT := 300);A:=CMD_TMR.Q返回指令(RETURN instruction )返回指令用来结束函数调用,当条件满足时返回主程序条件指令(IF instruction)使用I
19、F指令检验是否满足条件,当条件满足时执行相应的的指令语法:IF THEN ELSIF THEN .ELSIF THEN ELSE END_IF;里面的内容是可选的 。如果的返回值为真 (TRUE),那么只有被执行,而其它的指令不执行。否则检验的返回值是否为真,这样连续判断的返回值,直到返回值为真时执行对应的指令。如果执行到最后表达式的返回值也没有为真,那么执行。例:IFtemp17THENheating_on := TRUE;ELSEheating_on := FALSE;END_IF;这段程序控制加热功能的开启和关闭,当温度高于17度时不加热,当温度低于17度时就加热。分支指令(CASE i
20、nstruction) Error! Reference source not found.Error! Reference source not found.Error! Reference source not found.Error! Reference source not found.使用分支指令可以将一些具有相同条件变量的指令结合在一个结构中语法:CASE OF: .:ELSEEND_CASE;CASE指令根据下面的模式处理程序: 如果的值为,那么执行中的指 令。 如果没有相应的的值,那么执行 如果需要几个不同的变量值执行相同的指令,那么可以将几个变量值写在一起用逗号隔开,后面接需
21、要执行的指令。例:CASE INT1 OF1, 5:BOOL1 := TRUE;BOOL3 := FALSE;2:BOOL2 := FALSE;BOOL3 := TRUE;ELSEBOOL1 := NOT BOOL1;BOOL2 := BOOL1 OR BOOL2;END_CASE;循环指令(FOR) DO 使用FOR循环指令可以重复程序处理的过程。语法:整形变量INT_Var :INT;FOR := TO BYEND_FOR;中的内容可选的. 只要中的计数值不大于就重复执行 中的指令。在执行指令之前就检验这个条件,如果条件得不到满足就不执行中的指令。当指令被执行一次之后就增加中的相应值。当得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- plc 结构 编程
限制150内