罗克韦尔plc基本指令(罗克韦尔ABPLC)
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.保持型计时器 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 |
立即数 |
计数器已经计数的次数, 一般初始值为0 |
计数器结构:
助记符 |
数据类型 |
说明 |
.CU |
B00L |
加计数使能位—标识CTU指令 被使能 |
.DN |
B00L |
完成位—标识累加值 (.ACC) >=(预置值.PRE) |
.0v |
B00L |
益出位—标识计数器超过上 限值2147483647。然后计数器 返回到-2147483648。并再开 始加计数 |
.PRE |
DINT |
预置值—指定在指令置位完 成位 (.DN) 之前累加值所达 到的值 |
.ACC |
DINT |
累加值—表示指令已经计数 的梯级转换的次数。 |
说明: 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 |
立即数 |
计数次数 |
累加值 |
DINT |
立即数 |
计数器已经计数的次 数, 一般初始值为0 |
计数器结构:
助记符 |
数据类型 |
说明 |
.CD |
BOOL |
减计数使能位—标识CTD指 令被使能 |
.DN |
BOOL |
完成位—标识累加值(.ACC) (预置值.PRE) |
.UN |
BOOL |
下出位—标识计数器超过下 限值-2147483648。然后计数 器返回到2147483647。在开始 减计数 |
.PRE |
DINT |
预置值—指定在指令置位完 成位 (.DN) 之前累加值所达 到的值 |
.ACC |
DINT |
累加值—表示指令已经计数 的梯级转换的次数。 |
说明: CTD 指令向下计数。 如果指令被使能时减计数使能位 (.CD) 是清零状态, 则 CTD 指令使计数值减 1。如果指令被使能时减计数位(.CU) 置位, 或指令被禁止, 则 CTD 指令保持它的累加值 (.ACC)。 即使完成位(.DN) 被置位之后, 累加值也继续减少。如果 要清零累加值, 可以用一条引用同一计数器结构的 RES 指令, 或写 0 值到计数器的累加值。 CTD 指令举例:
传送装置把零件带到缓存区。每进入一个零件, limit_switch_ 1 被使能且 counter_ 1 的累 加值加 1。每取出一个零件 limit_switch_被使能且 counter_ 1 的累加值减 1。如果有 100 个零 件进入缓存区(置位 counter_ 1 的完成位.DN), 则关断传送装置 A , 在缓存区有空间之前, 不用传送零件进入缓存区。
6.复位指令 (RES )
RES 指令是一条输出指令。
操作数:
操作数 |
数据类型 |
格式 |
说明 |
结构 |
TIMER CONTROL COUNTER |
标签 |
复位的结构 |
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com