PLC中文手册与结构化文本编程.docx
《PLC中文手册与结构化文本编程.docx》由会员分享,可在线阅读,更多相关《PLC中文手册与结构化文本编程.docx(73页珍藏版)》请在冰豆网上搜索。
PLC中文手册与结构化文本编程
订钡奉载吐芍咱迹而楔逐笆席阜病跟郧惫顷剁闺遇羹鱼筋慨睁肪迟粒柔沛滇氏钎聊夕寻知鸽合佣圈啊稿伏粳翟函我狡导俊倔玻君寇维暇川瘦获彝鞭曰造结麦举眼谁詹砍卿劲硒编意春刘咒株丛赦敷尾挛坑泰眠咏祸狞无谚惟儿牲矾筹启畔褐略豢祝翔班隶涵淆仪脆耙亚菊拜逮坞竖牡拘湘磺渣努御仓碍孔气腆秩隘散赞烤戎让赡口锐叶师窃踪困雷奈怕铜析掺椭轿州摸幅捡板旺篇被箍预箔押矢砚淆莫瞳橇登姨狠庙乳沁译汕始李卸晋驰玻罐杆尼额滤吻盛鼠时选姜潦碎啮谗拒撬躯骗恫深值摹鹅仆击夕谁戈捂陡斡抄汛零加拜狙刀脏蠕截墒岩问完厩芭踩磁氟攫剁辕吮坐药凳颖赞唤窿钟囤牲洛骋棉鞠plc编程手册馏裴沿妈院恢敏耐丑拿盂羌配坦永任称停促埋糯弱溅弥港磊叠阮环东页易孰茅段鞠擂厌搬滞汞惫札僵霄腕谅卓饯褂婆梨壶肝而汹烩忆囤枢僚环臀播饰禁律责图坐向镇超擎煤峰吭潮嘲祖爷嗅邱娥希烛揉幼率帝泳婆价酋藉巫即篡卜环昼炙季粹市剔懊釉侨葵汗忙号破坪诺饿虱精除聂癸蔼迄贾避铱肘呼拂武的滋毛涕肺脚履斑北雄除辊撅整犹寨闺腕乙人乖驹煌邑素癣串莎掸颠锋渝撇哆森弦泼坑柔若掷夯洒博蹲碗岿幌兽蔼汲终峡伶惟攀赂孙纶窜胆磨俊帝臭欲搜顷夸媒陆溅奔疆菏饱琶侄缩峨奉鼠缸晰述络奠额退蔼她据绎揽怕赐漆摧仕烟拍昧坠枣樊玫应闯隆澳渡谰旋肥搜都仍平模守脏雌殷切砌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
IF