当前位置:文档之家› plc结构化编程

plc结构化编程

plc结构化编程
plc结构化编程

此手册供开放式架构数控系统PA 8000的PLC编程人员参考使用,编程人员在进行PLC编程之前请仔细阅读本手册。

手册中将介绍如何利用系统中自带的PLC编程工具进行编程,同时介绍编程指令及格式等,手册中的编程格式为ST,其它的编程格式不详细介绍。最后将以一铣床的PLC程序为例加深对程序的理解

为了使手册更加通俗易懂,手册中并没有介绍所有的与PLC相关的容,用户如有需要可向机床制造商索取专门的介绍资料。希望调试人员能通过对本手册的阅读更快地熟练PLC编程。

PLC-1131-S3为PLC编程提供了一个完善的环境,为PLC程序员处理各种程序提供了一个简单而又功能强大的途径,它的编程和调试基于完善的环境和高级编程语言(类似与Visual C++)。

2.1PLC-1131-3 DS功能简介

工程文件的结构:

工程文件的后缀名为pro,在新工程中建立的第一个程序结构单元(Program Organization Unit)将被自动命名为PLC_PRG,这个程序结构单元就类似于C 语言中的主程序。在PLC_PRG中可以调用各种函数及功能块,而函数和功能块都属于程序结构单元。

PLC-1131-3 DS能够区分在同一工程中的不同对象:

程序结构单元(POU)

数据类型(data types)

资源(resources)

工程的设置:

1) 首先应该设置PLC的输入输出以保证工程中使用的地址的准确性。

2)接着建立解决问题的程序结构单元

3) 选择适当的语言编写程序

4) 写好程序之后,对程序进行编译去除程序中的所有错误。

工程的测试:

当工程之中的所有错误被去除之后激活仿真模式,就是与仿真PLC连接,与此

同时将工程下载到PLC中,这样PLC-1131-3 DS就处于在线方式了。

现在能以适当的顺序测试工程了,手动改变输入变量的值,观察输出是否正确。用PLC-1131-3DS调试程序

当程序发生错误时,你可以设置断点。当处理发生中断时,你就可以及时的在断点处检查所有工程变量的值。工作在单步方式(singlestep)下,可以检验程序的逻辑错误。

你可以强制输入或输出变量的值。使用流控制(flowcontrol)可以知道哪些程序段已经执行。采样轨迹(SamplingTrace)显示变量在长时间的变化过程曲线。

整个工程可以以文本文件的形式导出。

总而言之PLC-1131-3 DS对于PLC编程是一种完善和方便的工具。

2.2 PLC-1131-3 DS基本概念

此节包括一些重要的概念帮助你熟悉PLC-1131-3 DS

2.2.1工程的组成

工程(Project)

一个工程包括了PLC程序中所有的对象,工程中包含了如下对象:

?程序结构单元POUs

?数据类型data types

?资源resources

?库函数libraries

程序结构单元(POU)

函数 (Functions), 功能块(function blocks)和程序(programs)都是程序结构单元(POUs)。

每个POU包括了定义变量和程序主体两个部分。程序主体用IEC编程语言编写,其中包括:

指令表(IL)

结构文本(ST)

SFC

FBD

梯形图(LD).

PLC-1131-3 DS 支持所有的标准IEC程序结构单元。

POUs之间能够相互调用,但是不允许递归调用.

函数(Function)

当定义函数的时候,不要忘记函数中必须含有返回值的数据类型,也就是说在函

数名的后面必需紧跟冒号和一个数据类型。

下面是一个正确的函数定义:

FUNCTION INDUAL :INT

就是说函数名被用作输出变量。函数定义的以关键字FUNCTION开始,以

END_FUNCTION 结尾。Example in IL of a function that takes three input variables and returns the product of the first two divided by the third:

Image 0.1: Function

{bmc bild2_1.bmp} Example of a function in IL

函数没有任何的部条件,就是说当用相同的输入变量时就会得出相同的结果(输出)。

Examples for calling up the function described above

Examples for calling up the function described above:

in ST:

Result := Fct(7, 2, 4);

程序(Program)

程序是一种程序结构单元,在运行过程中返回一定数量的值。程序在整个工程中都可以被识别。

{bmc bild2_8.bmp} Example of a program

程序能够被调用,但不允许在函数中调用程序。如果在程序结构单元中调用程序时程序的返回值有变化,这些变化将保持到下一次程序调用,即使程序程序是从其它程序结构单元调用的。

程序由起始关键字PROGRAM开始,END_PROGRAM结束。.

Examples of calls of the program described above

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 programs 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_PRG

PLC_PRG 是一个特殊的预先定义的程序结构单元,任何工程都必须含有这个特殊的程序。每次循环的过程中调用一次PLC_PRG 。

在新工程建立之后第一次执行"Project" "Object Add" 命令时,程序结构单元对话框中的初始输入项就是名为PLC_PRG的程序类型。

意:不要删除或者重命名PLC_PRG

Resources

设置和组织工程所需的资源:

?全局变量Global Variables

?PLC设置PLC Configuration

?任务配置Task Configuration

?采样轨迹Sampling Trace

?观察和接收管理器Watch and Receipt Manager

库函数(Libraries)

库函数"standard.lib"是一个标准的函数库,可供程序进行调用。

在此手册中编程语言以结构文本编程指令为例,其它的指令格式不作详细介绍。结构文本编程指令(Structured Text)包括了一系列的编程语句,如条件语句("IF..THEN..ELSE"),循环语句(WHILE..DO)等等。

下面就是一个结构文本指令格式的一段小程序

IF value < 7 THEN

WHILE value < 8 DO

value := value + 1;

END_WHILE;

END_IF;

3.1 表达式

表达式指操作数被赋值后返回一个确定值的结构。

表达式由运算符和操作数组成,操作数可以是常数、变量、调用函数或则其它表达式。

相关主题
文本预览
相关文档 最新文档