AB PLC指令集目录一、位指令 (3)1.检查是否闭合指令(XIC) (3)2.检查是否断开指令(XIO) (3)3.输出激励指令(OTE) (3)4.输出锁存指令(OTL) (3)5.输出解锁存指令(OUT) (4)6.一次响应指令(ONS) (4)7.上升沿触发指令(OSR) (4)8.下降沿触发指令(OSF) (4)二、计时器和计数器指令 (5)1.延时导通计时器指令(TON) (5)2.延时断开计时器指令(TOF) (6)3.保持型计时器RTO (7)4.加计数指令(CTU) (7)5.减计数指令(CTD) (8)6.复位指令(RES) (9)三、比较指令 (10)1.比较指令(CMP) (10)2.等于指令(EQU) (11)3.大于或等于指令(GEQ) (12)4.大于指令(GRT) (12)5.小于或等于指令(LEQ) (12)6.小于指令(LES) (13)7.极限比较指令(LIM) (13)8.屏蔽等于指令(MEQ) (14)9.不等于指令(NEQ) (15)四、计算/算术指令 (15)1 计算指令(CPT) (15)2 加法指令(ADD) (17)3 减法指令(SUB) (17)4 乘法指令(MUL) (18)5.除法指令(DIV) (18)6 平方根指令(SQR) (19)7 取反指令(NEG) (20)五、传送/逻辑指令 (20)1. 传送指令(MOV) (20)2. 屏蔽传送指令(MVM) (21)3. 位域分配(BTD) (22)4. 清零指令(CLR) (23)5. 按位与指令(AND) (23)6. 按位或指令(OR) (24)7. 按位异或指令(XOR) (25)8. 按位非指令(NOT) (26)AB PLC指令集一、位指令1.检查是否闭合指令(XIC)XIC属输入指令,若相应位地址中是1(ON),则表示该指令的逻辑为真(true). 它类似于常开开关,如果位地址使用了输入映象表的位,则其状态必须与相应地址实际输入设备的状态相一致.XIC的指令形式如右图. 在该指令中,若发现数据表中Local:1:I.Date.0是ON状态(数据为1),则指令为真. Local:1:I.Date.0与本地机架1号槽的数据第0位对应,若输入电路为真,则指令为真.2.检查是否断开指令(XIO)XIO属输入指令,若相应位地址的数据是1(ON),则表示该指令的逻辑为假(false),否则该指令的逻辑为真(true ),它类似于一常闭开关.XIO 的形式如右图. 在该指令中,若发现数据表中Local:1:I.Date.0是OFF(数据为0)则指令为真. Local:1:I.Date.0与本地机架1号槽的数据第0位对应,若输入电路为假则指令为真.3.输出激励指令(OTE)OTE属输出指令,用于控制存贮器中的位.若该位对应输出模块上的一个端子,则当该指令使能时,连接到该端子上的设备被接通,反之,设备不动作.若OTE指令前面的阶梯条件为真,则处理器使能OTE指令.一条OTE指令如同一个继电器的线圈.OTE指令由它前面的输入指令控制,而继电器的线圈由硬触点控制.OTE的形式如右图.在该指令中,若阶梯条件为真,则该指令使处理器把输出映象表中的Local:2:O.Date.0置为ON状态(数值为1);若阶梯条件为假,则置为OFF状态(数值为0).地址Local:2:O.Date.0与本地机架2槽的数据第0位对应4.输出锁存指令(OTL)OTL属输出指令,并且是保持型指令,也就是说,当阶梯条件是真时,OTL指令使处理器置位某一地址位,然后该位保持置位.此后即使阶梯条件变假,该位依然保持置位;若要复位,则需要在另一阶梯中使用解锁指令OUT对同一地址的位解锁.OTL的形式如右图.在该指令中,若阶梯条件为真,则使处理器把输出映象表中的Local:2:O.Date.0置位,直至用OUT对其解锁.5.输出解锁存指令(OUT)OUT常用以复位由OTL指令锁存的位.当阶梯条件为真时,对相应的位复位.以后即使阶梯条件变假,该位依然保持复位(置0),除非采用另一指令对该位重新置位.OTU的形式如右图.其含义与OTL对应.6.一次响应指令(ONS)ONS属输入指令,如果指令被使能时存储位清零,则ONS指令使能梯级的其余部分,如果被禁止或存储位置位,ONS指令禁止梯级的其余部分. 在扫描时,如果limit_switch_1是清零状态或storage_1是置位状态,则不影响阶梯.如果当扫描limit_switch_1是置位状态且storage_1是清零状态.则ONS指令置位storage_1 1且ADD指令的和数值就保持不变,必须在limit_switch_1再次从清零变为置位,和的值才增加.7.上升沿触发指令(OSR)OSR是一条输出指令,OSR指令根据存储位的状态置位或清零输出位.如果指令被使能时存储位清零,则OSR指令置位输出位.如果使能时存储位置位或禁止,则OSR指令清零输出位.每次limit_switch_1从清零状态变为置位时,OSR指令置位output_bit_1并且ADD指令的和加 5.只要limit_switch_1保持置位,和的值就不变.必须在limit_switch_1再次从清零变为置位,和的值才再增加.用户可以在多个梯级使用output_bit_1触发其他操作.8.下降沿触发指令(OSF)OSF指令是一条输出指令,OSF指令根据存储位的状态置位或清零输出位.当指令被禁止时存储位置位,OSF指令置位输出位.如果指令禁止或使能时存储位是清零状态,则OSF指令清零输出位.每次limit_switch_1从置位状态变为清零时,OSF指令置位output_bit_1并且ADD指令的和加 5.只要limit_switch_1保持清零,和的值就不变.必须在limit_switch_1再次从置位变为清零,和的值才再增加.用户可以在多个梯级使用output_bit_1触发其他操作.二、计时器和计数器指令1.延时导通计时器指令(TON)利用TON指令在预置时间内计时完成去控制输出的接通或断开.当阶梯为真时,TON指令开始累加计时,直至下列条件之一发生为止:●累加值等于预置值.●阶梯变假.●复位计时器.●相关的SFC步变无效.一旦阶梯条件变假,不论计时器是否到时,处理器都复位累加值. 可见每一个TON必须使用一个计时器元素(如 ),并提供下列参数:(1) 预置值(Present):用以设置预定时间,以一个16位的整数值放置,范围0~32767.(2) 累加值(Accum):是一个动态值,告诉用户目前已经延时的数值,计时器复位时,其值为0.TON的操作及其相应的状态可用下表描述.阶梯条件EN(有效位) TT(计时位) DN(完成位) 说明假0 0 0 不计时真 1 1 0 正在计时,累积值<预置值真 1 0 1 累积值>=预置值,计时完成用复位指令RES 0 0 0 ACC=0,PRE不变,计时器复位TON指令举例当 limit_switch_1被置位时,light_2接通180毫秒(timer_1计时).当timer_1的累加值.ACC达到180时, light_3接通.而且保持导通直到TON指令被禁止.如果在timer_1正计时时limit_switch_1断开,则关断light_2.2.延时断开计时器指令(TOF)TOF指令在阶梯条件变假时开始累加计时直至下列条件之一产生:●累加值等于预置值.●阶梯条件变为真●相关的SFC步变无效. 一旦阶梯条件变真,不论计时器是否到时,处理器都复位累加值. 各参数的含义与TON相同.TOF的操作及其相应的状态可用下表描述.一旦阶梯条件变真,不论计时器是否到时,处理器都复位累加值. 各参数的含义与TON相同.TOF的操作及其相应的状态可用下表描述.阶梯条件EN(有效位) TT(计时位) DN(完成位) 说明真 1 0 1 计时器不计时,ACC=0,计时器复位假0 1 1 正在计时,累积值<预置值假0 0 0 累积值=预置值,计时完成由于RES指令将对正在计时的计时器累加值,完成位和计时位进行复位,所以不可用RES复位指令复位TOF. TOF指令举例当 limit_switch_2被清零时,light_2接通180毫秒(timer_2计时).当timer_2的累加值.ACC达到180时, light_2断开同时light_3接通.而且保持导通直到TOF指令被使能.如果在timer_2 正计时时limit_switch_2被置位,则关断light_2.3.保持型计时器RTORTO指令在阶梯条件为真,开始计时,直到累加值达到预置值为止。
下列条件发生时,RTO指令保持其累加值:●阶梯变假。
●用户改变到编程方式。
●处理器出错或断电。
●相关的SFC步变无效。
当处理器重新运行或阶梯变真时,计时器从保持的值开始续计时。
由于保持累加值,所以在阶梯为真的时间内保持型计时器测量了累加时间。
如果RTO阶梯条件变假后,要复位其累加值和状态位,用户需在另一条阶梯中编写具有相同地址的复位指令RES。
RTO指令举例:当 limit_switch_1被置位时,light_1接通180毫秒(timer_3计时).当timer_3的累加值.ACC达到180时, light_1断开同时light_2接通.而且light_2保持导通直到timer_3被复位。
如果在timer_3正计时时limit_switch_2被清零,则light_1保持导通。
当limit_switch_2被复位时,RES指令复位timer_3(清零状态位和.ACC)。
4.加计数指令(CTU)CTU指令是一条输出指令。
操作数:操作数数据类型格式说明计数器COUNTER 标签计数器结构预置值DINT 立即数计数次数累加值DINT 立即数计数器已经计数的次数,一般初始值为0计数器结构:助记符数据类型说明.CU BOOL 加计数使能位—标识CTU指令被使能.DN BOOL 完成位—标识累加值(.ACC)>=(预置值.PRE).OV BOOL 益出位—标识计数器超过上限值2147483647。
然后计数器返回到-2147483648。
并再开始加计数.PRE DINT 预置值—指定在指令置位完成位(.DN)之前累加值所达到的值.ACC DINT 累加值—表示指令已经计数的梯级转换的次数。
说明:CTU指令向上计数。
如果指令被使能时加计数使能位(.CU)是清零状态,则CTU 指令使计数器加1。
如果指令被使能位(.CU)是置位状态,或指令被禁止,CTU指令保持它的累加值(.ACC)。
即使完成位(.DN)被置位之后,累加值也继续增加。