第07章 IEC语言:梯形图

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UnityTrainingcourseV2.0-Module3.9:Languageladder1第七章IEC语言:梯形图UnityTrainingcourseV2.0-Module3.9:Languageladder2概览梯形图语言的结构与继电器控制回路相似.电源母线位于LD编辑器的左边。左电源母线对应环路的相线(L梯形).对于LD编程,只有当LD对象连接至电源,或连接到左电源母线时,才会被处理.右电源母线对应于中性线.所有线圈和FFB输出必须与它连接,这样会产生电流.遵循IEC61131-3标准所有对象连接在一起并与其它对象没有连接的组(除电源母线以外)称为网络或梯级.UnityTrainingcourseV2.0-Module3.9:Languageladder3概览(续)LD编程语言是面向单元格的,如只有一个对象可以放置在一个单元格内一个LD程序段包括一个单页窗口该窗口以网格来划分不同的行和列每个LD程序段包含11-64列和17-2000行LD程序段段中对象的执行顺序由程序段内的数据流决定.连接至左边电源母线的梯级,其处理顺序为从上至下(与左边电源母线连接).程序段内互相独立的网络按照位置顺序处理(从上至下)UnityTrainingcourseV2.0-Module3.9:Languageladder4LD段举例UnityTrainingcourseV2.0-Module3.9:Languageladder5执行顺序梯级执行从上至下,从左至右(见例子)执行顺序由执行序号指示(FFB框架右上角的编号).注:触点和线圈的执行编号一般不显示.UnityTrainingcourseV2.0-Module3.9:Languageladder6更改执行顺序网络的执行顺序和对象在网络中的执行顺序由一些规则来定义.在某些情况下,系统建议的执行顺序可以修改.定义/更改网络执行顺序的步骤如下:使用连接而不是真实的参数网络位置定义/更改网络中对象执行顺序的步骤如下对象定位UnityTrainingcourseV2.0-Module3.9:Languageladder7梯形图连接LD对象之间的连接(触点,线圈和FFB等.).有2种不同类型的连接:布尔连接–包括一个或多个段,连接布尔对象(触点,线圈).有2种布尔连接类型:–水平布尔连接–可以进行顺序触点和线圈的切换.–垂直布尔连接–可以进行并行触点和线圈的切换.FFB连接-FFB连接是连接FFB输入/输出与其它对象的水平和垂直段的总称.UnityTrainingcourseV2.0-Module3.9:Languageladder8创建梯形图程序段UnityTrainingcourseV2.0-Module3.9:Languageladder9编程对象有3种方法访问梯形图编程对象:点击“Edit”,然后“New”…….UnityTrainingcourseV2.0-Module3.9:Languageladder10编程对象–工具条有3种方法访问梯形图编程对象:点击“Edit”,然后“New”…….使用梯形图对象工具条UnityTrainingcourseV2.0-Module3.9:Languageladder11编程对象有3种方法访问梯形图编程对象:点击“Edit”,然后“New”…….使用梯形图对象工具条把光标放置在任何空的逻辑编辑单元,然后右击选择对象组UnityTrainingcourseV2.0-Module3.9:Languageladder12编程对象–工具条UnityTrainingcourseV2.0-Module3.9:Languageladder13梯形图控制单元控制单元用于在LD程序段内执行跳转和从子程序(SRx)或导出功能块(DFB)中返回至主程序.控制元素占一个单元.名称表示描述JumpNEXT当左侧连接的状态为1时,能够执行从当前位置到一个标号的跳转。如需实现一个无条件的跳转,则跳转对象应该直接与左电源母线相连接。如需实现一个有条件的跳转,跳转对象须放置在一序列开关对象的后面。TagLABEL:标号(跳转目标)以末端带冒号的文本对象来指示。该文本对象最多包含32各字符,并且在整个程序段中必须唯一。它的命名必须遵循通用的命名规则。跳转标号只能够放置在电源母线右侧的第一个单元中。注意:跳转标号不能穿过网络,例如,一条从跳转标号到程序段右侧的假想线不能够被另外一个对象穿过。这也适用于布尔连接和FFB连接。ReturnRETURN每一个子程序和每一个DFB在被处理完毕之后会退回到调用它的主程序当中。如果子程序/DFB需要提前退出,可以通过Return对象强制返回到主程序当中。如果左侧连接的状态为1,子程序和DFB中的Return指令被执行,逻辑解算返回到主程序中。Return对象只能够用于DFB或者子程序当中,不能用于主程序。要实现一个有条件的返回,Return对象须放置在一序列开关对象的后面。UnityTrainingcourseV2.0-Module3.9:Languageladder14操作&比较功能块除了IEC61131-3定义的对象,还有两个其它运算块用于执行ST指令和ST表达式以及用于简单比较操作.这些运算块只在LD编程语言中.它们是:操作块比较块UnityTrainingcourseV2.0-Module3.9:Languageladder15操作块操作块只在LD编程语言中使用.它们用于执行ST指令.当左侧连接状态为1时,执行块中ST指令.除了以下控制指令外,所有的ST指令都可以使用:–RETURN,IF,FOR–JUMP,CASE,etc.)对于操作块,左侧连接的状态传递到右侧连接(不考虑ST指令的结果).操作块可以在任何单元中放置.操作块占用1行和4列.如果操作块放置在对象已经占用的单元中,则会返回一个错误信息.AplacedoperateblockautomaticallycreatesaconnectionwithitsneighboringobjectsontheleftiftheyareoftheBOOLdatatypeandtherearenofreecellsbetweenthem.SeeAdditionalCommentsUnityTrainingcourseV2.0-Module3.9:Languageladder16比较块比较块只用于LD编程语言.它们用于执行ST编程语言中的比较表达式(,,=,=,=,).(注:ST表达式可实现相同功能)如果左侧连接状态为1,比较结果为1,则右侧连接的状态也为1.比较块可以放在任意单元格中,除了与右侧电源母线相邻的最后一个单元比较功能块需要1行和2列.如果比较块放置在已经被其它对象占用的单元当中,将会返回一个错误信息.如果比较块被放置在两个相邻的对象之间,并且它们的数据类型为BOOL类型,则比较块会自动产生与左右相邻对象的连接UnityTrainingcourseV2.0-Module3.9:Languageladder17边沿检测对象LD对象的不同实现(如系统调用vs.FB调用)需要使用StateRam变量(0x/1x寄存器).一个扫描周期内CPU可能对0x/1x寄存器进行多次写访问,因此可以产生不同的在线行为.–上升沿检测的开关–下降沿检测开关UnityTrainingcourseV2.0-Module3.9:Languageladder18边沿检测对象示例UnityTrainingcourseV2.0-Module3.9:Languageladder19梯形图网格代表所有对象包括连接和短路。(此例代表一种夸张的情况)UnityTrainingcourseV2.0-Module3.9:Languageladder20减少交叉UnityTrainingcourseV2.0-Module3.9:Languageladder21避免带短路和连接的岛:线圈直接连接至右侧电源母线垂直短接与水平连接的性质一样UnityTrainingcourseV2.0-Module3.9:Languageladder22避免交叉连接和向后连接向后连接需要交叉,因为被选择的线圈必须与电源母线相连.UnityTrainingcourseV2.0-Module3.9:Languageladder23实验UnityTrainingcourseV2.0-Module3.9:Languageladder24实验一步骤动作1在Mast任务中,右键Sections文件夹,使用NewSections创建一个新的代码段,名称为Conveyor,选用LD语言进行编程。2添加一个常开触点,双击触点,从ContactProperties对话框中单击按钮,从变量列表当中选择Run变量,关联到触点上。3仿照步骤2再加一个常开触点,并且将变量BOX关联到该触点上。4添加一个常闭触点,按照步骤2将变量Stop关联到该常闭触点上,将三个触点串连在一起。5添加一个常开触点,将变量RUNNING关联到该触点上,并且将该触点并联到Box触点上。6点击按钮,点击FFBType字段的按钮,从功能库Libset-BaseLib-Timers&Counters选择TON类型,点击确定把该定时器放置到编辑器当中。7将定时器模块的IN管脚与Stop触点相连接,PT管脚设为T#5s,ET管脚与变量TIMER1相关联。8添加一个输出线圈,将该线圈与变量Running相关联。9Running线圈的左端与定时器模块的Q管脚相连,右端与编辑器的右电源母线相连接。LD编程UnityTrainingcourseV2.0-Module3.9:Languageladder25步骤动作10换行加入一个上升沿检测触点,与变量running相关联。11仿照步骤6加入一个计数功能块,功能块的类型为CTU_UDINT。将该计数器的CU管脚与running的上升沿检测触点相连接,R管脚与变量Reset1相连接,PV值设为10000,CV管脚与变量counter1相连接。12换行加入一个COMP块,在STExpression中键入running。13加入一个OPER块,在STStatement中键入flash:=%s6。14将COMP块的输出与OPER块的输入相连接,并将OPER块的输出与编辑器的右电源母线相连接。15在Build菜单下面选择Analyze命令,对当前代码段进行语法分析。如有错误或者警告,双击输出窗口中的信息行对相应的代码进行修改,之后重新进行Analyze的操作,直到代码正确无误为止。LD编程(续)UnityTrainingcourseV2.0-Module3.9:Languageladder26LD编程代码示例

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功