GE可编程控制器张晓丹梯形图线圈梯形图触点梯形图定时器梯形图计数器梯形图数据转移功能块梯形图数据表功能块梯形图数学运算功能块梯形图程序流程功能块梯形图关系运算功能块梯形图高级数学运算梯形图位操作梯形图控制功能块梯形图转换功能块GE梯形图指令1.线圈线圈用来控制分配给线圈的离散(布尔)变量。条件逻辑必须用来控制线圈的能流。线圈直接引起动作。它们不流过能流到右边。如果程序内另外的逻辑执行作为线圈条件的结果,你可以使用一个内部参考地址给线圈或一个延续线圈/触点组合。图形表示保持型的布尔变量。在电源掉电时,分配的布尔变量的值被保存,当PLC从停止模式变为运行模式,再恢复为保存的值。无保持的布尔变量.当电源掉电或PLC从停止模式变为运行模式时,分配的布尔变量的值设定为0。%T总是无保持的。只有%M和%Q可以是无保持的或保持的。功能助记符其为无保持变量,表示逻辑中的线圈当其为保持变量,表示逻辑中的线圈线圈(常开)COIL延续线圈CONTCOIL不能分配变量,本身是无保持不能分配一个变量负线圈NCCOIL置位,复位线圈SETCOILRESETCOIL功能助记符其为无保持变量,表示逻辑中的线圈当其为保持变量,表示逻辑中的线圈跳变线圈NEGCOILNTCOIL不能分配变量,本身是无保持不能分配一个变量POSCOILPTCOIL一个保持变量分配给线圈一个非保持变量分配给线圈操作当线圈收到能流时,它设定其相应的布尔变量为ON(1)。当线圈收到无能流时,它设定其相应的布尔变量为OFF(0)。线圈可以分配一个保持变量或非保持变量。常开线圈常闭线圈一个保持变量分配给负线圈一个非保持变量分配给负线圈操作当它没有收到能流时,负线圈(NCCOIL)设定离散参考地址为ON。NCCOIL可以分配给一个保持变量或非保持变量。置位线圈和复位线圈一个保持变量分配给置位线圈和复位线圈一个非保持变量分配给置位线圈和复位线圈你可以使用SETCOIL和RESETCOIL,保持(锁定)变量状态ON或OFF。你可以分配同样布尔变量给SETCOIL和RESETCOIL,不需要任何限制。当SETCOIL收到能流,它设定它的相关布尔变量为ON。当它收到非能流,它对布尔变量没有影响。SETCOIL是唯一不能设定与它关联的布尔变量为OFF的线圈。为了设定相关的布尔变量为OFF,建议使用RESETCOIL.当RESETCOIL收到能流,它设定它的相关布尔变量为OFF.当它收到非能流,它对布尔变量没有影响。RESETCOIL不能设定它相关的布尔变量为ON的线圈.为了设定相关的布尔变量为ON,建议使用SETCOIL.SETCOIL和RESETCOIL可以分配保持变量或非保持变量。只要变量E2或E6为ON,E1表示的线圈变为ON。只要变量E3或E5为ON,E1表示的线圈变为OFF。跳变线圈POSCOIL和NEGCOIL正跳变线圈(POSCOIL)负跳变线圈(NEGCOIL)如果没有强制位,如果:跳变位的当前值为OFF,能流输入当前值为ON,于是正跳变线圈将它的参考位变为ON,直到再次执行这个线圈。当再次执行这个线圈时,参考位为变为OFF。注意:当正跳变线圈将它的参考位变为ON,它也设它的跳变位为0N。正跳变线圈下次执行时,它发现跳变位已经为ON,将设定参考位为OFF。如果没有强制位,如果:跳变位的当前值为ON,能流输入当前值为OFF,于是负跳变线圈将它的参考位变为ON,直到再次执行这个线圈。当再次执行这个线圈时,参考位为变为OFF。注意:当负跳变线圈将它的参考位变为OFF,它也设它的跳变位为0FF。负跳变线圈下次执行时,它发现跳变位已经为OFF,将设定参考位为OFF转换线圈-PTCOIL和NTCOIL注意一但PTCOIL或NTCOIL变为ON或OFF,它更新它的实例数据。PTCOIL或NTCOIL的多个实例能与同一布尔变量相关联,但是PTCOIL或NTCOIL的每个实例的实例数据与布尔变量相关是唯一的,那就是,它独自跟踪。要求数据是非保持的,那就是,当CPU从停止变为运行模式时,它清除为OFF。你可以使用任一类型转换线圈与参考地址,保持的或非保持的内存(%Q,%M,%T,%G,%SA,%SB,or%SC)。一个梯级行以一个转换线圈结束,不能有另一个有线圈的分支,甚至另一个转换线圈。实例数据使用符号离散内存。警告:不要通过强制其参考位来强制跳变线圈。如果强制了跳变线圈,不仅跳变线圈对参考位无效,而且在取消跳变线圈的强制时,线圈可能持续一个扫描周期为ON。这将对PLCLD逻辑和与PLC相连的现场设备引起不可预料的结果。注意你可以使用任何一种跳变线圈与参考地址,保持或非保持内存(%Q,%M,%T,%G,%SA,%SB,or%SC).不要使用跳变触点在跳变线圈上,因为线圈使用跳变位存储线圈的能流值。一个梯级以一个跳变线圈结束,不能有另一个有线圈的分支,甚至另一个跳变线圈。警告:不要从外部设备(例如,PCM,编程器,或ADS)写跳换线圈的参考位,因为这将破坏线圈的值只保持一个周期的特性,线圈不可能按照描述来动作。当参考E1从OFF变为ON时,线圈E2和E3收到能流,在1个逻辑扫描周期内线圈E2变为ON。当参考E1从ON变为OFF时,线圈E2和E3失去能流,在1个逻辑扫描周期内线圈E3变为ON。触点触点用来监视参考地址的状态。是否触点通过能流,取决于被监视参考地址的状态和触点类型。如果它的状态为1,参考地址为ON;如果它的状态为0,参考地址为OFF。常闭触点操作常闭触点(NCCON)作为一个开关,如果BOOLV操作数为OFF(假,0),则通过能流。常开触点操作常开触点(NCCON)作为一个开关,如果BOOLV操作数为ON(真,1),则通过能流。跳变触点正跳变触点POSCON负跳变触点NEGCON当触点的输入能流为ON,并且它的转换位为ON时,POSCON或NEGCON转换触点开始通过能流。当与POSCON关联的变量从OFF变为ON时,POSCON的转换位设定为ON。当与NEGCON关联的变量从ON变为OFF时,NEGCON的转换位设定为ON。只要触点的输入能流为ON,且其转换位保持为ON,POSCON或NEGCON跳变触点就通过能流,当关联的变量被写值时,转换位设定为OFF,不管写的值为ON或OFF。一旦转换位为OFF,POSCON或NEGCON转换触点停止通过能流。只要转换位保持OFF,POSCON或NEGCON不通过能流。警告:不要使用POSCON或NEGCON跳变触点给那些已经被转换线圈(同样是一次有效)或置位和复位线圈使用的变量。参考点的转换位每次受到写入点的影响。当点从OFF转变为ON时,它设定POSCON。当点从ON转变为OFF时,它设定NEGCON。当点反方向转换时或当写后的状态与写前状态一样时,它清除POSCON或NEGCON。那就是,ON到ON,OFF到OFF。示例1当元素E1从OFF转变为ON时,线圈E2在一个逻辑扫描内为ON。当元素E3从ON转变为OFF时,线圈E4在一个逻辑扫描内为ON。示例2%M00017由BIT_SET函数设定位,然后由BIT_CLR函数清除。正跳变触点X1激活BIT_SET,负转变触点X2激活BIT_CLR.与位%M00017关联的正跳变将保持为ON,直到BIT_CLR函数复位%M00017。因为只有当触点X1从OFF变为ON时才写位。同样,与位M00017关联的负跳变将为ON,直到BIT_SET函数设定%M00017为ON。转变触点-PTCON和NTCON正转变触点PTCON负转变触点NTCON只有当下面条件同时满足时,PTCON通过能流到右边:PTCON的输入能流为ON。当PTCON的指令执行时,与PTCON相关的布尔变量为ON(1)。实例数据为OFF(0).只有当下面条件同时满足时,NTCON通过能流到右边:NTCON的输入能流为ON。当NTCON的指令执行时,与NTCON相关的布尔变量为OFF(0)。实例数据为ON(1).实例数据是PTCON或NTCON指令最后执行后,相关布尔变量的值。%I1:输入信号%M1:输出线圈T:一次扫描周期延续触点与延续线圈每行程序最多可以有9个触点,一个线圈。如超过这个限制,则要用到延续触点与延续线圈。注意延续触点与延续线圈的位置关系。当%I1得电时,%M1与%M2不会得电,只有%I2得电时,%M1与%M2才会得电。一些系统触点的含意(只能做触点用,不能做线圈用):ALW_ON:常开触点;ALW_OFF:常闭触点;FST_SCN:在开机的第一次扫描时为“1”,其他时间为“0”T_10ms:周期为0.01秒的方波;T_100ms:周期为0.1秒的方波;T_Sec:周期为1秒的方波;T_Min:周期为1分钟的方波。计数器函数计数器中的函数数据块每个计数器用一个三个字的WORD数组(%R,%P,%L)或存储器(%W)来储存下列信息.当开始一个计数器,必须先为三个字的WORD数组(寄存器块)设定一个开始地址警告:不要用两个连续的寄存器作为两个计数器的起始地址.CIMPLICITYLogicDeveloper-PLC对于寄存器块重叠不进行检查也不进行警告.如果将第二个计数器的当前值放置在前一个计数器的预置值之上,则计数器将不工作.减法计数器(DNCTR)函数从一预置值递减.PV的最小值是零.最大值是+32,767.当CV达到其最小值-32,768就保持直到被复位.当DNCTR被复位,CV被设置成PV值.当输入的使能信号由变OFF为ON,CV开始以步长为.1递减.只要CV小于等于0,则输出为ON.计数端复位端预置值输出端当前值该计数器是复位优先的计数器,当复位端为“1”时(无需上升沿跃变),当前值于预置值均被清零,如有输出,也被清零。例加法计数器当计数端输入由“0→1”(脉冲信号),当前值加“1”,当当前值等于预置值时,输出端置“1”。只要当前值大于或等于预置值,输出端始终为“1”,而且该输出端带有断电自保功能,在上电时不自动初始化。该计数器是复位优先的计数器,当复位端为“1”时(无需上升沿跃变),当前值于预置值均被清零,如有输出,也被清零。该计数器计数范围为0至+32,767。每一个计数器需占用3个连续的寄存器变量。计数端的输入信号一定要是脉冲信号,否则将会屏蔽下一次计数。减计数器例定时器延时断开计时器定时器将采用不同的步长来计时,这取决于CPU:秒0.1秒0.01秒0.001秒Enable复位端输出端enable预置值输出当前值PV的范围为0到+32,767个时间单位。如果PV超出范围,则对于定时器无效。当断电时定时器的状态保持不变;在上电时不会发生自动初始化.如果预设值为零或为负,OFDT将不传递使能信号。不要将????,????+1,或????+2地址用于其它指令。参考地址的交叠会引起定时器运行的不稳定。通过应用常闭线圈,输出的结果被保留。每当%I0001关闭则OFDT函数关闭常闭线圈。在%I0001打开后,Q0001保持关闭两秒钟然后打开。保持延时接通定时器enable预置值输出当前值ONDTR_SECONDTR_TENTHSONDTR_HUNDSONDTR_THOUS复位端例延时接通定时器enable预置值输出当前值TMR_SECTMR_TENTHSTMR_HUNDSTMR_THOUS范围为0到+32,767个时间单位。当掉电时定时器的状态保持不变;在上电时不会发生自动初始化。当TMR接到使能信号,便开始计时(CV增加).当在LD程序中扫描到定时器,定时器的CV便更新来反映在上次TMR重置后过了多少时间.只要使能信号保持为ON,这个更新就发生.当CV等于或超过PV,TMR中止并且向右端传递使能信号.定时器继续计时直到到达最大值(32,767时间单位).使能信号输入端由ON变为OFF,TMR停止计时,CV被重置为零并且Q被关闭.当TMR被激活并且PVCV时,输出端Q被激活.关系运算符关系函数比较两个相同类型的值或确定一个值是否在某个指定的范围内