PLC中文手册与结构化文本编程.docx

上传人:b****2 文档编号:1910342 上传时间:2022-10-25 格式:DOCX 页数:72 大小:135.26KB
下载 相关 举报
PLC中文手册与结构化文本编程.docx_第1页
第1页 / 共72页
PLC中文手册与结构化文本编程.docx_第2页
第2页 / 共72页
PLC中文手册与结构化文本编程.docx_第3页
第3页 / 共72页
PLC中文手册与结构化文本编程.docx_第4页
第4页 / 共72页
PLC中文手册与结构化文本编程.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

PLC中文手册与结构化文本编程.docx

《PLC中文手册与结构化文本编程.docx》由会员分享,可在线阅读,更多相关《PLC中文手册与结构化文本编程.docx(72页珍藏版)》请在冰豆网上搜索。

PLC中文手册与结构化文本编程.docx

PLC中文手册与结构化文本编程

 

此手册供开放式架构数控系统PA8000的PLC编程人员参考使用,编程人员在进行

PLC编程之前请仔细阅读本手册。

手册中将介绍如何利用系统中自带的PLC编程工具进行编程,同时介绍编程指令及格式等,手册中的编程格式为ST,其它的编程格式不详细介绍。

最后将以一铣床的PLC程序为例加深对程序的理解

为了使手册更加通俗易懂,手册中并没有介绍所有的与PLC相关的内容,用户如有需要可向机床制造商索取专门的介绍资料。

希望调试人员能通过对本手册的阅读更快地熟练PLC编程。

 

 

PLC-1131-S3为PLC编程提供了一个完善的环境,为PLC程序员处理各种程序

提供了一个简单而又功能强大的途径,它的编程和调试基于完善的环境和高级编程语言(类似与VisualC++)。

2.1PLC-1131-3DS功能简介

工程文件的结构:

工程文件的后缀名为pro,在新工程中建立的第一个程序结构单元(ProgramOrganizationUnit)将被自动命名为PLC_PRG,这个程序结构单元就类似于C

语言中的主程序。

在PLC_PRG中可以调用各种函数及功能块,而函数和功能块都属于程序结构单元。

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

程序结构单元(POU)

数据类型(datatypes)

资源(resources)

工程的设置:

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

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

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

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

工程的测试:

当工程之中的所有错误被去除之后激活仿真模式,就是与仿真PLC连接,与此同时将工程下载到PLC中,这样PLC-1131-3DS就处于在线方式了。

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

用PLC-1131-3DS调试程序

当程序发生错误时,你可以设置断点。

当处理发生中断时,你就可以及时的在断点处检查所有工程变量的值。

工作在单步方式(singlestep)下,可以检验程序的逻辑错误。

你可以强制输入或输出变量的值。

使用流控制(flowcontrol)可以知道哪些程序段已经执行。

采样轨迹(SamplingTrace)显示变量在长时间的变化过程曲线。

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

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

2.2PLC-1131-3DS基本概念

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

2.2.1工程的组成

工程(Project)

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

∙程序结构单元POUs

∙数据类型datatypes

∙资源resources

∙库函数libraries

程序结构单元(POU)

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

每个POU包括了定义变量和程序主体两个部分。

程序主体用IEC编程语言编写,其中包括:

指令表(IL)

结构文本(ST)

SFC

FBD

梯形图(LD).

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

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

函数(Function)

当定义函数的时候,不要忘记函数中必须含有返回值的数据类型,也就是说在函数名的后面必需紧跟冒号和一个数据类型。

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

FUNCTIONINDUAL:

INT

就是说函数名被用作输出变量。

函数定义的以关键字FUNCTION开始,以END_FUNCTION结尾。

ExampleinILofafunctionthattakesthreeinputvariablesandreturnstheproductofthefirsttwodividedbythethird:

Image0.1:

Function

{bmcbild2_1.bmp}

ExampleofafunctioninIL

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

Examplesforcallingupthefunctiondescribedabove

Examplesforcallingupthefunctiondescribedabove:

inST:

Result:

=Fct(7,2,4);

程序(Program)

程序是一种程序结构单元,在运行过程中返回一定数量的值。

程序在整个工程中都可以被识别。

{bmcbild2_8.bmp}

Exampleofaprogram

程序能够被调用,但不允许在函数中调用程序。

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

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

.

Examplesofcallsoftheprogramdescribedabove

inST:

PRGExample;

Res:

=PRGexample.PAR;

IfthevariablePARfromtheprogramPRGexampleisinitializedbyamainprogramwith0,andthenoneaftertheotherprogramsarecalledwithabovenamedprogramcalls,thentheRESresultintheprogramswillhavethevalues1,2,and3.Ifoneexchangesthesequenceofthecalls,thenthevaluesofthegivenresultparametersalsochangeinacorrespondingfashion.

PLC_PRG

PLC_PRG是一个特殊的预先定义的程序结构单元,任何工程都必须含有这个特殊的程序。

每次循环的过程中调用一次PLC_PRG。

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

注意:

不要删除或者重命名PLC_PRG

Resources

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

∙全局变量GlobalVariables

∙PLC设置PLCConfiguration

∙任务配置TaskConfiguration

∙采样轨迹SamplingTrace

∙观察和接收管理器WatchandReceiptManager

库函数(Libraries)

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

在此手册中编程语言以结构文本编程指令为例,其它的指令格式不作详细介绍。

结构文本编程指令(StructuredText)包括了一系列的编程语句,如条件语句

("IF..THEN..ELSE"),循环语句(WHILE..DO)等等。

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

IFvalue<7THEN

WHILEvalue<8DO

value:

=value+1;

END_WHILE;

END_IF;

3.1表达式

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

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

表达式。

3.2表达式的计算

根据各种运算符优先级别依次运算得到最后的结果。

具有最高优先权的运算符最先计算,接着计算第二优先级别的运算符...直到得出最后结果。

具有相同优先级别的运算符按照从左到右的顺序计算。

下面给出结构文本的运算符:

运算符

符号

优先级别

括号

(表达式)

最高

函数调用

函数名(参数)

求幂

**

求反

-

NOT

求余

*

/

MOD

+

-

比较

<,>,<=,>=

等于

不等于

=

<>

逻辑与

AND

异或

XOR

逻辑或

OR

最低优先级

3.3结构文本格式编程格式指令

指令类型

例子

赋值(Assignment)

A:

=B;CV:

=CV+1;C:

=SIN(X);

调用功能块或者函数的返回值(CallingafunctionblockanduseoftheFBoutput)

CMD_TMR(IN:

=%IX5,PT:

=300);

A:

=CMD_TMR.Q

返回(RETURN)

RETURN;

IF(条件)

D:

=B*B;

IFD<0.0THEN

C:

=A;

ELSIFD=0.0THEN

C:

=B;

ELSE

C:

=D;

END_IF;

CASE(分支)

CASEINT1OF

1:

BOOL1:

=TRUE;

2:

BOOL2:

=TRUE;

ELSE

BOOL1:

=FALSE;

BOOL2:

=FALSE;

END_CASE;

FOR(循环)

J:

=101;

FORI:

=1TO100BY2DO

IFARR[I]=70THEN

J:

=I;

EXIT;

END_IF;

END_FOR;

WHILE(循环)

J:

=1;

WHILEJ<=100ANDARR[J]<>70DO

J:

=J+2;

END_WHILE;

REPEAT(重复)

J:

=-1;

REPEAT

J:

=J+2;

UNTILJ=101ORARR[J]=70

END_REPEAT;

EXIT(退出)

EXIT;

Emptyinstruction(空指令)

;

用结构文本编程格式编写的程序与其它格式的编程语言相比出错概率低,编写的程序具有可读性高的特点。

InstructioninStructuredText

赋值运算(Assignmentoperator)

此操作将右边表达式的结果赋给左边的操作数。

符号为:

=

例:

Var1:

=Var2*10;

调用功能块(Callingafunctionblock)

结构文本编程格式通过在功能块名后面的括号里分配参数值来调用功能块的功能

在下面的例子中通过分配参数IN和PT的值调用一定时器功能块,它的结果变量的值被赋给变量A。

CMD_TMR(IN:

=%IX5,PT:

=300);

A:

=CMD_TMR.Q

返回指令(RETURNinstruction)

返回指令用来结束函数调用,当条件满足时返回主程序

条件指令(IFinstruction)

使用IF指令检验是否满足条件,当条件满足时执行相应的的指令

语法:

IF<布尔表达式_1>THEN

{ELSIF<布尔表达式_2>THEN

.

.

ELS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1