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(有效位)
0
TT(计时位)
0
DN(完成位)
0
说明
不计时
真
真
用复位指令RES
1
1
0
1
0
0
0
1
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 的操作及其相应的状态可用下表描述.
阶梯条件
说明
DN(完成位)
EN(有效位)
TT(计时位)
真
假
1
0
1
0
0
1
0
计时器不计时,ACC=0,计
时器复位
正在计时,累积值<预置值
累积值=预置值,计时完成
1
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.保持型计时器 RTO
RTO指令在阶梯条件为真,开始计时,直到累加值达到预置值为止。 下列条件发生时,
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
格式
标签
立即数
立即数
计数器结构:
助记符
数据类型
.CU
.DN
.OV
.PRE
.ACC
BOOL
BOOL
BOOL
DINT
DINT
说明
计数器结构
计数次数
计数器已经计数的次数,一般初始值为0
说明
加计数使能位—标识CTU指令
被使能
完成位—标识累加值(.ACC)>=
(预置值.PRE)
益出位—标识计数器超过上
限值2147483647。然后计数器
返回到-2147483648。并再开
始加计数
预置值—指定在指令置位完
成位(.DN)之前累加值所达
到的值
累加值—表示指令已经计数
的梯级转换的次数。
说明:CTU 指令向上计数。 如果指令被使能时加计数使能位(.CU)是清零状态,则
CTU 指令使计数器加 1。如果指令被使能位(.CU)是置位状态,或指令被禁止,CTU 指令
保持它的累加值(.ACC)。 即使完成位(.DN)被置位之后,累加值也继续增加。如果要清
零累加值,可以用一条引用同一计数器结构的 RES 指令,或写 0 值到计数器的累加值。
CTU 指令举例:
limit_switch_1 由禁止变为使能 10 次之后,完成位.DN 被置位。并且接通 light_1。如果
limit_switch_1 继续由禁止变为使能,则计数器 counter_1 继续增加它的计数值,且完成位.DN
保持置位状态。当 limit_switch_2 被使能时,RES 指令复位 counter_1(清零状态位和.ACC
值)并且关断 light_1。
5.减计数指令(CTD)
CTD 指令是一条输出指令。
操作数:
操作数
计数器
预置值
数据类型
COUNTER
DINT
格式
标签
立即数
说明
计数器结构
计数次数