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