PLC中文手册簿与结构化文本编程Word格式.docx
- 文档编号:18580831
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:73
- 大小:101.54KB
PLC中文手册簿与结构化文本编程Word格式.docx
《PLC中文手册簿与结构化文本编程Word格式.docx》由会员分享,可在线阅读,更多相关《PLC中文手册簿与结构化文本编程Word格式.docx(73页珍藏版)》请在冰豆网上搜索。
结构文本(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
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);
=CMD_TMR.Q
返回(RETURN)
RETURN;
IF(条件)
D:
=B*B;
IFD<
0.0THEN
C:
=A;
ELSIFD=0.0THEN
ELSE
=D;
CASE(分支)
CASEINT1OF
1:
BOOL1:
=TRUE;
2:
BOOL2:
=FALSE;
END_CASE;
FOR(循环)
J:
=101;
FORI:
=1TO100BY2DO
IFARR[I]=70THEN
J:
=I;
EXIT;
END_IF;
END_FOR;
WHILE(循环)
=1;
WHILEJ<
=100ANDARR[J]<
70DO
=J+2;
END_WHILE;
REPEAT(重复)
=-1;
REPEAT
UNTILJ=101ORARR[J]=70
END_REPEAT;
EXIT(退出)
EXIT;
Emptyinstruction(空指令)
;
用结构文本编程格式编写的程序与其它格式的编程语言相比出错概率低,编写的程序具有可读性高的特点。
InstructioninStructuredText
赋值运算(Assignmentoperator)
此操作将右边表达式的结果赋给左边的操作数。
符号为:
例:
Var1:
=Var2*10;
调用功能块(Callingafunctionblock)
结构文本编程格式通过在功能块名后面的括号里分配参数值来调用功能块的功能
在下面的例子中通过分配参数IN和PT的值调用一定时器功能块,它的结果变量的值被赋给变量A。
返回指令(RETURNinstruction)
返回指令用来结束函数调用,当条件满足时返回主程序
条件指令(IFinstruction)
使用IF指令检验是否满足条件,当条件满足时执行相应的的指令
语法:
IF<
布尔表达式_1>
THEN
<
IF_指令>
{ELSIF<
布尔表达式_2>
ELSIF_指令1>
ELSIF<
布尔表达式_n>
ELSIF_指令n-1>
ELSE_指令>
}
{}里面的内容是可选的。
如果<
布尔表达式1>
的返回值为真(TRUE),那么只有<
IF_指令>
被执行,而其它的指令
不执行。
否则检验<
布尔表达式2>
的返回值是否为真,这样连续判断<
布尔表达式n>
的返回值,直到返回值为真时执行对应的指令。
如果执行到最后表达式的返回值也没有为真,那么执行<
。
IFtemp<
17
THENheating_on:
ELSEheating_on:
这段程序控制加热功能的开启和关闭,当温度高于17度时不加热,当温度低于17度时就加热。
分支指令(CASEinstruction)
使用分支指令可以将一些具有相同条件变量的指令结合在一个结构中
CASE<
变量1>
OF
=1>
:
指令1>
=2>
指令2>
...
=n>
指令n>
ELSE<
ELSE指令>
CASE指令根据下面的模式处理程序:
如果变量的值为i,那么执行<
指令i>
中的指
令。
如果没有相应的变量的值,那么执行ELSE指
令
如果需要几个不同的变量值执行相同的指令,那么可以将几个变量值写在一起用逗号隔开,后面接需要执行的指令。
1,5:
BOOL3:
=NOTBOOL1;
=BOOL1ORBOOL2;
循环指令(FOR)
步长Stepsize>
}DO
指令Instructions>
使用FOR循环指令可以重复程序处理的过程。
整形变量INT_Var:
INT;
FOR<
整形变量INT_Var>
=<
初始值INIT_VALUE>
TO<
终止值END_VALUE>
{BY
{}中的内容可选的.
只要<
INT_Var>
中的计数值不大于<
END_VALUE>
就重复执行<
Instructions>
中的指令。
在执行指令之前就检验这个条件,如果条件得不到满足就不执行
中的指令。
当指令被执行一次之后<
就增加
Stepsize>
中的相应值。
当得到<
大于<
的条件时就
停止循环。
FORCounter:
=1TO5BY1DO
Var1:
=Var1*2;
Res:
=Var1;
我们假设Var1的初始值为1,那么循环结束时变量Var1的值为32。
循环指令(WHILEloop)
WHILE循环指令的用法与FOR循环指令相似,它们的不同之处在于WHILE循环的判断条件有些不同,它可以是任何布尔表达式。
也就是说只要满足你给定的条件时,就执行循环指令。
WHILE<
布尔表达式>
指令>
的返回值为真TRUE,也就是条件满足的时候,<
将重复执行,直到<
的返回值为假FALSE。
如果在第一次判断条件时就不满足,那么没有执行一次指令循环就结束了。
当<
的返回值始终为真时,指令就无限的循环执行下去,进入死循环状态。
这在编程时要尽量避免。
WHILEcounter<
0DO
Var1:
=Var1*2;
Counter:
=Counter-1;
END_WHILE
WHILE循环和REPEAT循环在某种意义上来说比FOR循环更实用,因为在某种情况下我们不能确定循环的次数,在这种情况下只能用WHILE循环指令或者REPEAT循环指令。
但是FOR循环指令的循环次数是一定的,所以用FOR循环指令编程可以避免死循环的出现。
循环指令(REPEATloop)
REPEAT循环指令不同于WHILE循环指令的地方在于指令执行条件的判定顺序,REPEAT循环指令在判断条件之前就执行指令,也就是说REPEAT循环指令至少可以执行一次而不考虑判定条件。
WHILE循环指令就不同,可能指令一次也不执行就终止循环。
UNTIL<
当<
的返回值为真时,就是说判定条件满足的时候就终止循环。
在第一次检验的时候满足条件,那么整个循环只执行一
次。
如果条件始终得不到满足,进入死循环状态,编程时需尽量避免这种情况的发生。
UNTIL
Counter=0
退出指令(EXITinstruction)
如果EXIT指令出现在FOR、WHILE、REPET循环指令里面的时候,循环将不考虑中断条件是否满足就无条件中断正在进行中的循环。
4.1主窗口
打开PLC-1131-3DS的主窗口之后,你可以看到下列元件(从上到下)
菜单栏
工具栏(可选)
对象管理器有程序结构单元(POUs)选项卡、数据类型(Datatypes)选项卡、资源(Resources)选项卡
对象管理和编程区域之间的分隔条
编程区域
消息窗口(可选)
状态栏(可选)
菜单栏(menulbar)
菜单栏位于主窗口的最上面,包括所有的菜单命令
工具栏(toolbar)
通过工具栏可以快速选择执行菜单栏中的一些常用的命令。
在激活不同的窗口中时菜单栏中的快捷按钮会有所不同,只需用鼠标单击菜单栏中的快捷按钮就相当于执行了菜单栏中的命令。
如果将鼠标放在工具栏的按钮上一段时间,会显示出该命令的名称。
工具栏是可选的,如果不需要显示工具栏的时候,你可以将"
菜单下"
Options"
目录中的Desktop选项中toolbar去除
为了方便说明,用"
"
表示"
命令。
对象管理器(ObjectOrganizer)
对象管理器位于主窗口的左边。
在对象管理器的下面有4个选项卡,
POUs,
Datatypes和
Resources,用鼠标单击不同的选项卡就改变了相应的对象类型。
在说明书的后面将介绍如何建立、删除对象,怎么在对象管理器中管理各种对象。
屏幕分隔栏(Screendivider)
屏幕分隔栏是两个不重叠窗口的分界线,在PLC-1131-3DS中在对象管理器
窗口与编程区窗口之间有一个屏幕分隔栏。
编程区里面的定义变量窗口与程序主体窗口之间也有一屏幕分隔栏。
你可以按鼠标左键移动屏幕分隔栏。
编程区域(Workspace)
编程区域位于主窗口的右侧,所有的对象编辑和函数库管理操作都是在这个区域进行操作的。
PLC-131-3DS的程序编辑将在说明书的后面作详细介绍。
在"
Window"
菜单下,你可以找到所有的窗口管理命令。
消息窗口(Messagewindow)
消息窗口在主窗口编程区的下面,它包含了编译、检验和比较的信息。
当程序编译出错时,鼠标双击消息窗口中的一条错误信息,程序将跳转到对应的程序行自动查找错误。
你也可以用"
Edit"
Nexterror"
和"
Previouserror"
命令实现在相邻两个错误之间迅速跳转。
消息窗口的显示是可选的("
Messages"
命令).
状态栏(Statusbar)
在PLC-1131-3DS中,状态栏在主窗口的底部。
它显示当前工程的信息和菜单
命令的注释。
状态栏的的右边以黑字体显示时,表示工程处在该状态下,灰字体则表示该状态未被激活。
例如工程工作在在线方式下,Online变成黑颜色,以离线方式运行时Online就变成灰颜色。
在线模式下,你可以知道现在处于模拟方式(SIM),程序正被处理(RUNS),设置断点(BP),强制变量(FORCE)。
状态栏的显示是可选的,通过"
目录下的Desktop选项决定是否显示。
4.2工程管理
工程管理的命令可以在"
File"
菜单下找到。
New"
工具栏中的符号:
建立一个空的工程,文件名为"
Untitled"
,当保存文件时必须改变工程名。
Open"
打开一个已经存在的工程。
选择菜单或工具栏命令后弹出一对话框,从中选择已经存在的工程文件,文件后缀名为"
.pro"
,对话框如下图所示:
{bmcbild4_16.bmp}
Dialogboxforopeningafile
Close"
关闭当前打开的工程。
如果工程被修改过,PLC-1131-3DS将询问是否保存。
Save"
在工具栏中的符号:
Shortcut:
Ctrl>
+<
S>
保存工程中所做的任何修改。
Saveas"
用此命令可将当前的工程保存为另外一个文件,而不改变原始文件。
当运行此命令之后,在弹出保存对话框中选择已经存在的文件名和文件格式或者重新输入一个文件名。
对话框如图所示:
{bmcbild4_17.bmp}
DialogboxforSaveas
Print"
快捷方式:
P>
打印当前活动窗口。
运行此命令之后,弹出打印对话框选择打印设置,然后点击OK按钮。
打印对话框如下图所示L:
{bmcbild4_18.bmp}
Printdialogbox
在打印对话框中可以选择打印范围,numberofthecopies(副本数量)等。
单
击Properties(属性)按钮,打开设置打印机的对话框。
PrinterSetup"
命令决定打印输出的版面格式
当需要打印整个工程的时候,使用"
Document"
Printersetup"
运行此命令时弹出如图所示的对话框,可以设置打印页的输出格式。
{bmcbild4_19.bmp}
PageLayoutDialogBox
你可以将页面设置保存为后缀名为"
.dfr"
的文件,初始默认文件名为DEFAULT.DFR。
如果希望改变现有的页面设置,你可以单击Browse(浏览)按钮在弹出的对话框中选择希望的页面设置。
Exit"
Alt>
F4>
退出PLC-1131-3DS系统。
Checkall"
!
运行此命令将检查程序的静态错误。
若在程序中发现错误,将在信息窗口中给出出错信息以及出错的行号。
Build"
运用此命令将所有作过修改的程序结构单元重建。
这样当载入PLC程序的时候,就只需将作过修改的程序传送到PLC中,而其余的程序在PLC中保持不变。
命令只有在支持在线修改的PLC-1131-3DS中才起作用,否则"
命令的功能与"
Rebuildall"
命令的功能完全相同,不起实际作用"
此命令用来重新组织
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLC 中文 手册 结构 文本 编程