已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
99 常用指令与编程常用指令与编程 现代 PLC 都具有丰富的指令系统 利用这些指令编程 能够容易地实现各种复杂的控制操作 对于 PLC 系统 指令是最基础的编程语言 掌握常用指令的功能及其应用方法 这对用好 PLC 及其 系统设计极其重要 本章主要介绍 CS1 的各类指令 但由于该机型的指令数量较多 限于篇幅等因 素 本书只对常用的指令进行介绍 按功能可将这些指令分为基本指令 数据操作指令 常用控制 指令和高级指令等 其他指令 可参考 OMRON 公司提供的编程手册和操作手册等资料 3 1 基本指令基本指令 可编程序控制器的基本指令主要包括顺序输入指令 顺序输出指令 顺序控制指令 定时器和 计数器指令等 这些指令用来执行以位 bit 为单位的逻辑操作 它们是用 PLC 替代继电器控制的 基础 梯形图中每个条件是否为 ON 或 OFF 取决于分配给它的操作数位的状态 一般来说 当该操 作数位为 1 时 对应的继电器线圈通电 常开条件变为 ON 和常闭条件变为 OFF 反之 该操作数 位为 0 则对应的继电器线圈断电 常开条件为 OFF 和常闭条件为 ON 在梯形图中 一条指令前面 的常开 常闭等条件的逻辑组合产生了执行条件 执行条件是否具备 决定于指令的状态 对于继 电器线圈类指令 当执行条件 ON 具备 时 则对应的继电器线圈得电 当执行条件为 OFF 不具 备 时 对应的继电器线圈断电 对于功能类指令 当执行条件为 ON 时 该功能指令执行 当执 行条件为 OFF 时 则该功能指令不执行 指令行上的逻辑组合可以分成几个部分 每一部分均为一 个逻辑块 利用逻辑块能够更有效地编程 3 1 1 顺序输入指令顺序输入指令 常用顺序输入指令包括加载 基本逻辑运算 逻辑块 主要用于对继电器进行最基本的输入操 作 如表 3 1 所示 表 3 1 顺序输入指令表 指令名称助记符 操作数典型梯形图一般功能操作数范围备注 加载将常开触点 A 接到母线上 在每个行或块的起点处使用 常用于创建一个 ON OFF 执行 条件 加载非 将常闭触点 A 接到母线上 其他同上 与将常开触点 A1 与常开触点 A2 串联 与非 将 常开或常闭 触点 A1 与 常闭触点 A2 串联 CIO 区 W 区 H 区 A 区 T 区 C 区 任务标志区 条件标志 时 钟脉冲 使用 变址寄存器间 接寻址 特 定 功 能 A A LD 继电器号 LDNOT 继电器号 AND 继电器号 继电器号ANDNOT A1A2 A1A2 100 或 将常开触点 A1 和常开触点 A2 并联 指令名称助记符典型梯形图一般功能操作数范围备注 或非将 常开或常闭 触点 A1 和 常闭触点 A2 并联 同上 同上 逻辑块与将触点组 块 A 和触点组 块 B 串联 逻辑块或将触点组 A 块 和触点组 B 块 并联 非每个循环将执行条件取反 在 非指令的右侧需接指令 执行 条件 条件通当输入条件从 OFF ON 时 UP 521 把执行条件在一个 周期内变 ON 无无 UP 521 NOT 520 AB OR 继电器号 ORNOT 继电器号 ANDLD ORLD NOT UP A1 A2 A2 A1 A B 101 条件断当输入条件从 ON OFF 时 DOWN 522 把执行条件在一 个周期内变 ON 指令名称助记符 操作数典型梯形图一般功能操作数范围备注 位测试 LD TST 350 AND TST 350 和OR TST 350 指 令在程序中的用途类似于 LD AND 和OR 指令 当 指定字S中的指定位N为ON 时 执行条件变为ON 反 之执行条件变为OFF 位测试AND TST同上 CIO区 W区 H区 A区 T 区 C区 DM 区 无区号EM 区 有区号EM 区 二进制间 接DM EM地址 BCD间接DM EM 地址 数据寄 存器 使用变 址寄存器间接 寻址 操作数 N还可以是常 数 0000 000F 即 0 15 无 DOWN 522 DOWN S N AND TST 350 LDTST 350 S N LDTSTS N 102 OR TST LD TSTN AND TSTN 位测试 OR TSTN LD TSTN 351 AND TSTN 351 和OR TSTN 351 指令在程序中的用途类似于 LD NOT ANT NOT 和OR NOT 指令 当指定字S中的 指定位N为ON 时 执行条件 为OFF 反之执行条件为 ON 无 2 几点说明 上表中指令除了列出的一般功能外 有些指令还加注前缀符号 下面分别加以说明 1 操作数位 上表中顺序输入指令的操作数 以位为单位进行操作 且不影响标志位 2 指令的特定功能 表中的特定功能是指这些指令具有微分和刷新功能等 其中上升沿微分的前缀标志为 下 降沿微分的前缀标志为 刷新的前缀标志为 它们还可以组合成前缀标志为 和 如加载 LD 指令 有 LD LD LD LD LD 因此 上表中的特定功能指这些指令具有 所规定的功能 在后面章节里 有一些只标明了其中一种 说明它只具有其中的 某一种特定功能 在指令符号前没有加前缀 和 及其组合标志的指令 称为微分型指令 当执行条件 为 ON 时 指令在每个循环周期都将执行 而对于微分型指令 当执行条件为 OFF ON 上升沿 或 ON OFF 下降沿 变化时 该指令只执行一次 在梯形图中 上升沿和下降沿微分指令中 通 常采用 和 符号表示 例如 LD A 的梯形图可用 表示 3 输入指令中的 UP 和 DOWN 指令与上述上升沿微分或下降沿微分的输入指令有相似功能 当 UP 521 所接收的执行条件从 OFF 变为 ON 时 使下一个指令的执行条件变 ON 一个循环 当 DOWN 522 说接收的执行条件 ON 变为 OFF 时 使下一个指令的执行条件变 ON 一个循环 4 在下面的顺序输出指令中的 DIFU 和 DIFD 指令也有微分功能 且可以和刷新指令相结合 5 下降沿微分 仅 LD AND OR 和 REST 指令有效 为建立其他指令的下降沿微分变化 可用 DIRU 014 或 DOWN 522 控制工作位来控制指令的执行 A OR S N TSTN 351 TST 350 AND TST 3 50 S N TSTN 351 S N TSTN 351 LD TS TN 35 1 T TS T 3 50 S N TST 350 OR 103 R 复位 S 置位 B KEEP 011 6 对于操作数中的可用数据区 CIO W H A T C 等 如果没有特别说明 均指这些区中 所有的位 而任务标志区为 TK0000 TK0031 时钟脉冲有 0 02s 0 1s 0 2s 1s 1min 时钟脉冲 DM 区为 D00000 D32767 无区号EM 区为 E00000 E32767 有区号 EM 区为 En 00000 En 32767 n 0 C 二进制间接 DM EM 地址为 D00000 D32767 E00000 E32767 En 00000 En 32767 n 0 C 数据寄存器为 DR0 DR15 BCD 间接 DM EM 地址为 D00000 D32767 E00000 E32767 En 00000 En 32767 n 0 C 7 常见的条件标志 如表 3 2 所示 表 3 2 常见的条件标志 条件标志编程器标志CX P 标志 错误标志ERP ER 访问错误标志AERP AER 进位标志CYP CY 大于标志 P GT 等于标志 P EQ 小于标志 P LT 负标志NP N 上溢出标志OFP OF 下溢出标志UFP UF 大于或等于标志 P GE 不等于标志 P NE 本书后面出现的特定功能以上述为参考 不再累述 3 1 2 顺序输出指令顺序输出指令 1 顺序输出指令表 常用顺序输出指令 包括输出和输出非 各种置位和复位以及保持指令等 如表 3 3 所示 表 3 3 常用的顺序输出指令表 指令名称助记符典型梯形图一般功能特定功能 输出OUT 输出指令 将把执行运算的结果 执行条件 输出 到指定的继电器 位 是继电器线圈的驱动指令 OUT 输出非OUT NOT输出非指令 将把执行运算的结果 执行条件 取 反后 再输出到指定的继电器 位 也是继电器线 圈的驱动指令 OUT NOT 保持KEEP用于将输出继电器置为 ON 并保持 当置位端 S 为 ON 时 KEEP 011 使 B 为 ON 直到复位端 R 为 ON 当 S 和 R 同时为 ON 时 R 端输入优先 KEEP A A 104 上升沿微分DIFU当检测到执行条件从 OFF ON 上升沿 变化瞬间 继电器触点 B 位 仅接通一个扫描周期 DIFU 下降沿微分DIFD当检测到执行条件从 ON OFF 下降沿 变化瞬间 继电器触点 B 位 仅接通一个扫描周期 注 DIFU 和 DIFD 指令对使用次数不加限制 DIFD 置位SET当执行条件为 ON 时 把操作位 B 变为 ON 并且 当执行条件为 OFF 时 不影响操作数的状态 简单 讲就是将输出继电器置为 ON 状态 简称置位 是 复位RSET 当执行条件为 ON 时 把操作位 B 置为 OFF 并且 当执行条件为 OFF 时 不再影响操作数的状态 简 单讲是将输出继电器置为 OFF 状态 简称复位 是 多位置位SETA将指定连续位的数都置为 ON 其中 D 为起始字 N1 为起始位 N2 为位数 即 SETA 530 将从 D 的 N1 位开始连续到 N2 位的数都变为 ON 其他 位保持不变 SETA 指令名称助记符典型梯形图一般功能特定功能 多位复位RSTARSTA 531 各个表示和 SETA 530 一致 只是 结果相反 使从 D 的 N1 位开始连续到 N2 位的数 都变为 OFF 其他位保持不变 RSTA 单位置位SETB当执行条件为 ON 时 SETB 532 将指定字中的 某位 N 置为 ON 当执行条件为 OFF 时 该位状态 保持不变 它与 SET 指令不同 SETB 532 可用 在一个 DM 或 EM 字中将某一位置为 ON 其中 SETB SETB SET B RSET B B DIFU 013 B DIFD 014 RSTA 531 D N1 N2 SETB 532 D N SETA 530 D N1 N2 105 D 为字地址 N 为位 0 15 号 单位复位RSTB这条指令用法和 SETB 大致相同 不同的是当执行 条件为 ON 时 SETB 532 将指定字中的某位 N 置为 OFF RSTB 单位输出OUTBOUTB 354 将指令执行条件的状态输出给指定位 与 OUT 不同的是 OUTB 534 能控制 DM 区或 EM 区 当执行条件为 ON 时 OUTB 534 使字 D 的第 N 位变为 ON 当执行条件为 OFF 时 OUTB 534 使字 D 第 N 位变为 OFF OUTB OUTB 2 可用数据区的说明 1 OUT OUT NOT 指令可用的数据区有 CIO 区 W 区 H 区 A 区 TR 区以及可使用变 址寄存器间接寻址 2 KEEP DIFU DIFD SET 和 RESET 指令可用的数据区有 CIO 区 W 区 H 区 A 区 使用变址寄存器间接寻址 没有 TR 区 3 SETA RSTA SETB RSTB OUTB 指令可用的数据区有 CIO 区 W 区 H 区 T 区 C 区 DM 区 无区号 EM 区 有区号 EM 区 二进制间接 DM EM 地址 BCD 间接 DM EM 地址 数据寄存器 使用变址寄存器间接寻址 特别是 SETA RSTA SETB RSTB OUTB 指令的操作数 D 在 A 区为 A448 A959 N 或 N1 N2 在 A 区为 A000 A959 SETB RSTB OUTB 指令 N 的操 作数也可以是常数 其值为 0 15 SETA RSTA 的操作数 N1 的范围为 0 15 操作数 N2 的范围为 0 65535 顺序输入和顺序输出指令是最基本的指令 也是最常用的指令 这些指令在所有程序中几乎都 会用到 除此之外 还有顺序控制 定时器和计数器指令 它们也是 PLC 程序中常用的指令 下面 分别加以介绍 3 1 3 顺序控制指令顺序控制指令 1 顺序控制指令表 顺序控制指令包括联锁与解锁 跳转 循环以及结束指令等 如表 3 4 所示 表 3 4 顺序控制指令表 指 令助记符典型梯形图一般功能 空操作NOP 000 此指令不执行任何操作 简称空操作 在编程时插入该 指令便于程序的检查和修改 结束END 001 表示主程序结束 程序最后结束时若无此指令 执行时 将视为错误 联锁与 联锁解除 IL 002 联锁IL 002 和联锁解除ILC 003 指令用于互锁 IL 002 和ILC 003 之间的所有输出 它们总是一起使 RSTB 533 D N OUTB 534 D N END 001 IL 002 ILC 003 N JMP 004 N JME 005 N CJP 510 N CJPN 511 JMP0 515 JME0 516 N FOR 512 NEXT 513 106 ILC 003 用 用于成组控制IL 002 和ILC 003 之间的指令 可解决分支点执行条件的存储问题 跳转与 跳转结束 JMP 004 JME 005 JMP 004 是根据一个指定条件 可跳过程序中的某一 个程序段 当执行条件为 ON 时 则程序和没有跳转指 令一样运行 当条件为 OFF 时 则程序立即跳转到跳 转结束指令之后的程序继续执行 JMP 004 与 JME 005 之间维持上一扫描周期的执行结果 条件跳转CJP 510 CJP 510 的用法和JMP 004 相反 当CJP 510 的执行 条件为ON时 程序直接跳转至CJP 510 指令相同编号 N的第一个JME 005 去执行 CJP 510 与JME 005 总是 成对使用 条件跳转CJPN 511 CJPN 511 用法几乎等同于JMP 004 当CJPN 511 的 执行条件为OFF时 程序直接跳转至与CJPN 511 指令 相同编号N的第一个JME 005 CJPN 511 和JME 005 总是成对使用 多路跳转与 跳转结束 JMP0 515 JME0 516 当JMP0 515 的执行条件为OFF时 从JMP0 515 至下一 个JME0 516 的所有指令都被当作是空操作NOP 000 JMP0 515 和JME0 516 也是成对使用 在程序中使用 的对数无任何限制 循环 FOR NEXT FOR 512 NEXT 513 对 FOR 512 和 NEXT 513 之间的指令 重复执行指定 的次数 N R 然后继续执行 NEXT 后面的程序 可用 BREAK 512 指令退出循环 FOR 512 和 NEXT 513 成 对使用 退出循环BREAK 514 在 FOR NEXT 513 循环中编程 BREAK 514 指令 对所给的执行条件取消循环执行 循环中余下的指令作 为空操作处理 2 可用数据区的说明 1 END IL ILC JMP0 JME0 NEXT 和 BREAK 指令无操作数 2 JMP CJP CJPN FOR 指令可用的数据区为 CIO 区 W 区 H 区 A 区 T 区 C 区 DM 区 有区号 EM 区 无区号 EM 区 二进制间接 DM EM 地址 BCD 间接 DM EM 地址 常数 数据寄存器使用变址寄存器间接寻址 当这些指令的操作数为常数时 取值范围为 0000 03FF 即 0 1023 3 JME 指令的操作数只能为常数 范围为 0000 03FF 即 0 1023 例例 3 1 分支电路的编程方法分支电路的编程方法 分支电路如图 3 1 a 所示 图中 A 点为分支点 右侧分为三条支路 且每条支路都有触点控 BREAK 514 514 514 107 制 这种连接方式既不同于触点与触点的连接或逻辑块与逻辑块的连接 也不同于连续输出 因此 用前面介绍的输入或逻辑等指令都不能编程 此时需要用到联锁和联锁解除指令 分析该图的功能 可以看出 当为 OFF 时 都处于断电状态 当为 ON 时 的状态取决于各自支路上的控制触点 所以 将图 a 用联锁和联锁解除指令时 梯形图可修改为图 b 所示 用于控制 IL 和 ILC 之 间的联锁程序执行 当为 ON 时 IL 002 和 ILC 003 之间的程序正常执行 相当于没有这对指 令存在一样 当为 OFF 时 在 IL 和 ILC 之间的所有程序互锁 则三条支路都处于断开状态 每个线 圈都处于断电状态 可见 图 a 与图 b 的功能完全一样 这种电路又称为复合输出 a b 图 3 1 IL ILC 在分支电路中的应用 几点说明 不论 IL 前面的条件是 ON 或 OFF PLC 都要对 IL ILC 之间的联锁程序段处理 因此使 用该指令需要占用扫描时间 当条件由 ON 变为 OFF 时 IL 与 ILC 指令之间的所有输出都被复 位 IL 和 ILC 指令可以成对使用 也可以用多个 IL 指令只配一个 ILC 指令 但不允许嵌套使 用 如 IL IL ILC ILC 在图 3 2 中 图 a 联锁程序实现的功能和图 b 一样 图 c 是用助记符编写的同一程序 当多个 IL 指令配一个 ILC 指令使用时 程序检查时虽然会 有出错信息显示 但不影响程序的正常执行 a b c 00 0 0 0 0 0 0 0 00 0 002 003 0 0 0 0 0 00 00 0 0 0 0 0 0 002 002 003 108 图 3 2 IL ILC 的应用举例 处理分支的梯形图还有另一种办法 即使用暂存继电器 TR 暂存继电器 TR 共有 16 位 分别为 TR00 TR15 TR 位可用来暂时存储执行结果 如果一个 TR 位被设置于一个分支点处 则当前的执 行结果就会被存储在指定的 TR 位中 例如图 3 3 a 中梯形图存在一个分支点 用 TR 位来处理 其等效电路如图 3 3 b 所示 与图 a 的功能完全一样 助记符见图的中间所示 一般情况下 用 TR 位处理 比用联锁指令处理的程序要长一些 a 原电路 b 等效电路 图 3 3 用 TR 位处理分支的编程举例 几点说明 TR 位只有 16 位 在使用次数上虽然没有限制 但在在同一程序段中 TR 号不能重复使用 TR 不是独立的编程指令 只能和 LD 或 OUT 等基本指令一起使用 TR 位不能用编程器或其他设备进行监视 直接用梯形图编程时 则不用 TR 该程序能够自动执行图 a 的梯形图 如果梯形图用 图 b 表示时 则会提示 会和地址混淆 TR00 不允许作为符号名 所以 图 b 是对应 于图 a 的一种等效 只是为了说明问题方便 例例 3 2 跳转指令的编程方法跳转指令的编程方法 如图 3 4 所示为 JMP 004 和 JME 005 指令的应用示例 a b c JMP00 JME00 LD JMP 004 00 LD OUT LDNOT OUT LD OUT JME 005 00 00 0 0 0 0 JME00 JMP00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 图 3 4 JMP 004 和 JME 005 指令的应用示例 上例中 作为 JMP00 指令的条件 当为 ON 时 JMP 和 JME 指令之间的程序顺序连续执行 相 当于没有这对指令一样 不会发生跳转 当为 OFF 时 跳过 JMP 和 JME 指令之间的程序 即输出 和保持原来状态 当前值 转到 JME00 之外的程序去执行 在程序的梯形图中使用图 b 形式进 行编程 使用 JMP 和 JME 指令时 需注意以下几点 在一个程序中可以有多组 JMP 和 JME 指令 用跳转号对其进行编号 跳转号的范围为 00 1023 若跳转号不在此范围时 ER 将出错 ON 跳转号 00 是专用跳转号 当 JMP00 指令的输入条件 OFF 时 在 JMP00 和 JME00 指令之间 的程序将被扫描但是不被执行 因此 它将占用扫描时间 而其他跳转号的跳转指令在相同条件下 相应程序段不被扫描 在一个程序中 JMP00 和 JME00 指令可以多次使用 而其他跳转号的跳转指令只能使用一 次 故 JMP00 和 JME00 指令可以不成组使用 即 JMP JMP JME 格式 虽然这种格式在程 序检查时会提示出错 但程序能够正常执行 JME 005 JMP 004 可做循环用 在 JMP 004 前用 JME 005 只要 JMP 004 的执行条件 OFF 在 JME 005 和 JMP 004 间的指令会重复执行 如果执行条件不变 ON 或在最大循环时间内不 执行结束指令 END 001 会产生循环时间太长错误 不同的任务块之间不允许相互跳转 即 JMP 004 和 JME 005 必须在同一任务块中使用 否 则 ERR 会出错 ON 例例 3 3 循环指令的编程方法循环指令的编程方法 FOR 512 和 NEXT 513 循环可以嵌套使用 且多至 15 级 如图 3 5 a 所示为 FOR 512 和 NEXT 513 循环调用的举例 在这个例子中 程序段 A B 和 C 按 A B B C A B B C 和 A B B C 的顺序循环执行 3 次 使用一个 BREAK 514 则从一个 FOR NEXT 循环中退出 若需要从嵌套循环中退出 则需要 多个 BREAK 514 指令 BREAK 514 后循环中余下的指令作空操作处理 如图 3 5 b 所示为 BREAK 514 在多个 FOR NEXT 循环指令中的运用 图 3 5 c 为循环的一个简单例子 循环程序段中将 D00100 的内容传给 D00200 中所示的地 址里 然后 D00200 中的内容 1 循环程序段循环了 3 次 图 3 5 FOR 512 和 NEXT 513 循环指令的应用示例 FOR 2 A FOR 3 B NEXT TTT C NEXT TTT a 1 FOR 3 NEXT TTT b FOR 2 NEXT TTT 2 BREAK 退出循环 2 BREAK 退出循环 1 c FOR 3 NEXT TTT MOV D00100 D D00200 重复 3 次 退出循环 执行 循环外的程序 110 使用循环指令FOR NEXT时 应注意以下问题 当FOR NEXT的嵌套循环数超过15个时 错误标志ER为ON FOR NEXT循环一定要编在同一个任务中 如果这些指令不在同一个任务中 则不执行重复 JMP 004 跳转指令可以在FOR NEXT循环中执行 但它不能跳出FOR NEXT循环 块编程指令 多重跳转和结束指令 步定义和步开始指令不能用在FOR NEXT循环指令中 例例 3 4 KEEP 指令的应用指令的应用 利用 KEEP 指令可以设计报警输出 如图 3 6 所示 图中 和为异常输入信号 当控制电路发生 异常情况时 继电器工作 使输出继电器得电 可接通报警信号灯进行报警 直至复位 R 输入时 报警才能解除 图 3 6 应用 KEEP 指令的梯形图程序 利用 SETB 532 RSTB 533 也可以和 KEEP 指令一样直接对操作数的位进行置位或复位 但使用时 也有不同点 KEEP 指令的置位和复位输入必须与这个指令一起被编入程序 而 SETB 532 RSTB 533 完 全可以独立编程 并可任意次使用 3 1 4 定时器和计数器指令 定时器和计数器的指令主要包括普通定时器 高速定时器 1ms定时器 累积定时器 长定时 器 多路输出定时器和普通计数器 可逆计数器以及复位定时器 计数器 除长定时器 多路输出定 时器的指令外 其他的指令都有一个定时器 计数器 编 号N 其中 1ms定时器号为0000 0015之 间 其他的定时器号为0000 4095之间 在编程时 定时器号不能重叠 计数器号为0000 4095 计 数器号也不能重叠 与小型机不同 CS1系列的定时器号和计数器号是各自独立编号的 在定时方式上 除了累积定时器和多路输出定时器是递增方式之外 其他的都为递减方式 在刷新方法上 除了可以用BCD码之外 还可以用二进制数设置 用二进制数时 只要在BCD 码指令助记符的后缀加 X 字母即可 如普通定时器TIM 输入是BCD码 而TIMX 550 输入为二 进制数 输入BCD码的设定值 SV 为0 9999 而二进制数的SV为0 65535 当使用二进制数指令 进行计算时 其中间结果也可以直接用于定时器 计数器的SV 值 1 普通定时器和高速定时器 KEEP 011 000 R S 111 1 普通定时器指令TIM TIMX 550 普通定时器TIM TIMX 550 是单位为0 1s的递减计数器 其梯形图如图3 7所示 图 3 7 普通定时器的梯形图 N 为定时器号 TIM 和 TIMX 550 的定时器号都为 0 4095 SV 为设定值 TIM 的 SV 为 0 9999 定时精度为 0 1s 则定时的时间范围为 0 999 9S TIMX 550 的 SV 为 0 65535 定时精度 是 0 1s 故定时范围为 0 6553 5s 在 CIO 区 W 区 H 区 A 区 定时器区 DM 区 无区号 EM 区和有区号 EM 区的字可以作为 SV 的操作数 二进制间接 DM EM 地址 BCD 间接 DM EM 地址 常数数据寄存器 使用变址寄存器间接寻 址这些数据以及常数也可以作为 SV 的操作数 当 SV 为常数时 若输入用 BCD 码表示 应加前缀 符 号 用二进制数表示时 其前缀符号和数的范围为 0000 65535 而用十六进制表示为 0000 FFFF N 操作数只能是定时器区和使用寄存器区的间接寻址数据 关于 SV 和 N 的设置涉及到标志问题 如果 N 通过变址寄存器间接寻址 但变址寄存器中的地址 不是定时器 PV 的地址 或者在 BCD 模式下 而 SV 不包含 BCD 数据时 则 ER 标志都变为 ON 等于标 志 负标志 N 为 OFF 其他情况下的 ER 标志为 OFF 当定时器输入为 OFF 时 指定的定时器 N 被复位 即定时器当前值 PV 恢复为 SV 并且完成标 志位变为 OFF 当定时器输入 条件 从 OFF 到 ON 时 定时器开始从 PV SV 递减 只要定时器输入 保持为 ON 则当前值每间隔 0 1s 就自动减 1 且连续递减 直到 PV 减为 0000 时 定时器的完成标 志才变为 ON 此后 PV 值和完成标志状态将保持 直到重新启动定时器 即定时器输入由 OFF 再变 ON 时 PV 恢复为 SV 重新进入定时 定时器的时序关系如图 3 8 所示 2 高速定时器指令 TIMH 015 TIMHX 551 高速定时器 TIMH 015 TIMHX 551 的梯形图如图 3 9 所示 图 3 9 高速定时器的梯形图 TIM N SV TIMX 550 N SV ON 定时器当前值 OFF ON OFF ON OFF 定时器输入 完成标志 图 3 8 普通定时器的时序图 TIMH 015 N SV TIMHX 015 N SV 112 高速定时器 TIMH 015 和定时器 TIM 的符号含义相同 N 是定时器号 其范围为 0 4095 SV 为设定值 设定范围为 0 9999 它们的主要差异是定时精度不同 高速定时器 TIMH 015 TIMHX 551 的定时精度为 0 01s 所以 TIMH 015 的定时范围为 0 99 99s 而 TIMHX 551 的定时范 围为 0 655 35s 高速定时器 TIMH 015 的 SV 和 N 值的操作数 功能和注意事项与普通定时器基本一致 这里 不再累述 2 其他定时器指令 1 1ms 定时器指令 TMHH 540 1ms 定时器指令是单位为 1ms 的递减定时器 其梯形图如图 3 10 所示 图 3 10 1ms 定时器的梯形图 这里的 N 与前面的定时器号不同 只能在十进制的 0000 0015 之间选择 SV 的设定值为 0 9999 则定时时间为 0 9 999s TMHHX 552 的 SV 为 0 65535 所以它的定时范围为 0 65 535s 1ms 定时器指令的基本功能与 TIM 指令一致 但定时器的精度为 0 001s 即 1ms 1ms 定时器指令的操作数 SV 与 TIM 指令一致 操作数 N 也在定时器区和可使用变址寄存器间 接寻址 只是范围不一样 1ms 定时器指令的注意事项也与 TIM 指令一致 2 累积定时器指令 TTIM 087 累积定时器 TTIM 087 TTIMX 555 是单位为 0 1S 的递增定时器 其梯形图如图 3 11 所示 图 3 11 累积定时器的梯形图 N 的范围为 0 4095 TTIM 087 的设定值 SV 必须为 0000 9999 所以 其累积时间为 0 999 9s TTIMX 555 的设定值 SV 必须为 0 65535 用十六进制表示为 0000 FFFF 其累 积时间为 0 6553 5s 当定时器输入 条件 为 ON TTIM 087 开始从当前值递增 当定时器输入为 OFF 定时器当 前值会停止递增 但维持原值 当定时器输入又为 ON 定时器在原值的基础上继续递增计时 当前 值 PV 到达设定值 SV 时 则定时器完成标志变为 ON 其时序关系如图 3 12 所示 TMHH 540 N SV TMHHX 540 N SV TTIM 087 N SV 定时器输入 复位输入 TTIMX 087 N SV 定时器输入 复位输入 113 图 3 12 累积定时器的时序图 累积定时器与其他定时器的最大区别在于其输入为 OFF 时 PV 值会维持原值 在输入再次为 ON 时 PV 值会继续递增 这种功能可应用于许多间断定时的控制程序 可防止意外如断电时能够 记忆前段的计时时间 例如在传送带操作过程中意外断电 当继续上电后 在累积定时器的控制下 传送物品可以准时传送 3 长定时器 TIML 542 TIMLX 534 长定时器 TIML 542 是单位为 0 1S 的递减定时器 其梯形图如图 3 13 所示 图 3 13 长定时器的梯形图 D1 为完成标志 其中 0 位作为 TIML 542 的完成标志 其他位不用 D2 为 PV 字 由 D2 和 D2 1 两个字的 BCD 码组成 D2 和 D2 1 必须在同一数据区 SV 字由 S 和 S 1 两个字的 BCD 码组成 SV 和 SV 1 必须在同一数据区 TIML 542 的 SV 范围为 0 而 TIML 542 的 SV 范围为 0 因此 TIML 542 最长的定时时间可达到 115 天 而 TIMLX 534 最长的定时时间可达 49710 天 上述三者操作数可用的数据区为 CIO 区 W 区 H 区 A 区 DM 区 无区号 EM 区 有区号 EM 区 在这些区里 D1 操作数为这些区里所有的单元 而 D2 和 SV 这些区的最高单元不可用 如 D1 的操作是在 CIO 区为 0000 6143 而 D2 和 SV 则为 0000 6142 另外采用二进制间接 寻址 DM EM 区 BCD 间接 DM EM 区和使用变址寄存器间接寻址时 都可作为这三者的操作数 对于 SV 定时器区 计数器区的单元和常数也可以用作操作数 注意 D2 和 D2 1 中包含的 PV 值或 SV 和 SV 1 中包含的 SV 值 如果它们不是 BCD 码 则 长定时器的错误标志 ER 为 ON 其他情况都为 OFF 4 多路输出定时指令 MTIM 543 MTIMX 544 多路输出定时器指令 MTIM 543 MTIMX 544 是一个具有 8 个独立的 SV 和完成标志 单位 为 0 1s 的递增定时器 梯形图如图 3 14 所示 定时器输入 定时器 PV 值 完成标志位 复位输入 PV 保持 计时 继续 SV MTIM 543 D1 D2 S TIML 542 D1 D2 SV TIMLX 542 D1 D2 SV MTIMX 544 D1 D2 S 114 图 3 14 多路输出定时器的梯形图 D1 为完成标志字 包括了 8 位完成标志 暂停和复位 位 其中前 8 位即第 0 位到第 7 位为 完成标志位 第 8 9 位为复位和暂停位 D2 为 PV 字 其数值范围为 0000 9999 S 为具有 8 个 独立的 SV 字 其中 S0 S 7 的每个 S 字分别对应一个完成标志位 即 S0 对应 D1 中的第 0 位完成标 志位 S 1 对应 D1 中的第 1 位完成标志位 依此类推 S 7 对应 D1 字中的第 7 位完成标志位 每 个 SV 的 BCD 码范围为 0000 9999 MTIMX 544 指令仅与 MTIM 543 的 SV 范围不同而已 为 0 65535 用十六进制表示为 0 FFFF D1 D2 和 S 的操作数可用的数据区为 CIO 区 W 区 H 区 A 区 DM 区 无区号 EM 区 有区号 EM 区 定时器区 计数器区 D1 和 D2 为上述区中所有的字 而 S 为这些区除后面 7 个字 的所有字 如在 CIO 区 D1 和 D2 为 0000 6143 而 S 为 0000 6136 另外二进制间接 DM EM 地 址 BCD 间接 DM EM 地址 使用变址寄存器间接寻址也可作为这三者的操作数 特别提醒的是数 据寄存器 DR0 DR15 可作为 D2 的操作数 而常数不能作为这三者的操作数 当执行条件为 ON 而复位和暂停位为 OFF 时 MTIM 543 在 D2 中 PV 值递增 加 如果复 位为 OFF 和暂停位为 ON 时 定时器则暂时停止递加 PV 值 并保持原值 当暂停位再次变为 OFF 时 MTIM 543 恢复定时 即在原来定时器定时的 保持值 基础上继续递加 PV 值 每次 MTIM 543 执行后 PV D2 中的内容 会与 S0 S 7 中的 8 个 SV 相比较 如果其中一些小于或 等于 PV 值 相应完成标志 D1 位 00 07 会变为 ON 当 PV 递增到达最大值 9999 时 则 PV 自动 复位到 0000 并且所有的完成标志位都变为 OFF 当复位为 ON 时 不管暂停位如何 PV 都复位到 0000 所有的标志位都变为 OFF 并且 PV 不 会被更新 如果 D1 指定为 CIO 区域中的字 则可用 SET 和 RSST 指令来控制暂停和复位 位状态 当使用少于 8 个 SV 时 则对应最后一个被用的 SV 后面的字应设置为 0000 MTIM 543 会忽略 为 SV 值为 0000 及余下的所有 SV 多路输出定时器的 PV 值及完成标志都在 MTIM 543 执行时刷新 多路输出定时器用在 IL 002 和 ILC 003 JMP 004 和 JME 005 程序时 其 PV 值都会被保持 用 MTIM 543 时要确定完成标志和 PV D1 和 D2 所指定的字没有被其他指令所用 否则 定时器可能导致定时 不准确 3 普通计数器和可逆计数器指令 1 普通计数器 CNT CNTX 546 普通计数器 CNT 是递减计数器 其梯形图如图 3 15 所示 图 3 15 普通计数器的梯形图 CNT N SV 复位输入 R 计数输入 CP CNTX 546 N SV 复位输入 R 计数输入 CP 115 图中 N 为计数器号 十进制数范围为 0 4095 一般不能重叠 如果有两个计数器使用相同的 计数器号 但并不同时使用 在程序检查时会产生一条重复错误 但不影响计数器的正常操作 SV 为设置值 CNT 的 SV 范围为 0001 9999 而 CNTX 的 SV 范围为 0 65535 SV 操作数可用的数据区规定为 CIO 区 W 区 H 区 A 区 T 区 DM 区 EM 区的所有字 都可以 作为 SV 的操作数 另外 二进制间接 DM EM 地址 BCD 间接 DM EM 地址 常数数据寄存器 使用变 址寄存器间接寻址这些数据也可以作为 SV 的操作数 计数器为递减计数 当复位端 R 为 OFF 在 CP 端执行条件从 OFF 变 ON 相当于上升沿 时 计 数器从 PV SV 值开始依次减计数 当计数器的当前值 PV 计到零时 计数器的完成标志变为 ON 并一 直保持 ON 直到复位为止 计数器具有断电保持功能 当电源断电时 计数器的当前值保持不变 当 SV 不是 BCD 数或间接寻址的 DM 通道不存在时 ER 标志位置为 ON 出错 2 可逆计数器指令 CNTR 012 CNTRX 012 可逆计数器指令的梯形图 如图 3 16 所示 N 和 SV 的操作数规定与 CNT 指令一致 图 3 16 可逆计数器指令的梯形图 可逆计数器 CNTR 012 有加计数端 减计数端和复位端 当加计数端有上升沿脉冲输入时 计数器当前值加 1 当到达预置值时 计数器完成标志变为 ON 此时若再输入一个脉冲 则计数器 复位到 0000 同时标志位为 OFF 当减计数端有上升沿脉冲输入时 计数器和普通计数器 CNT 一样 作递减计数 若加计数端和减计数端同时加上升沿脉冲时 则计数值不变 该计数器指令的功能表如表 3 5 所示 表 3 5 可逆计数器的功能表 增量输入减量输入复位输入计数器功能完成标志位 上升沿 OFFOFF 加计数加到预置数 置 ON 再加 1 置 OFF 计数器复位到 0000 OFF 上升沿 OFF 减计数减到 0000 时 置 ON 再减 1 置 OFF 计数器置设定值 上升沿上升沿 0FF 不计数不变 任意任意 ON 预置数OFF 4 复位定时器 计数器 CNR 545 CNRX 547 CNTR 012 N SV 增量输入 减量输入 复位输入 CNTRX 012 N SV 增量输入 减量输入 复位输入 116 复位定时器 计数器 CNR 545 的功能主要用于对指定的定时器或计数器进行复位 其梯形图如 图 3 17 所示 图 3 17 复位定时器 计数器的梯形图 图中 N1 和 N2 都是定时器或计数器范围内的编号 N1 为指定的定时器或计数器中的第一个 号 N2 为最后一个号 除此之外 使用变址寄存器间接寻址也可以做 N1 和 N2 的操作数 如果 N1 和 N2 通过变址寄存器间接寻址 但是变址寄存器的地址不是计数器的 PV 的地址是 错误标志 ER 为 ON CNR 545 的功能比较简单 即复位从 N1 N2 所指定的所有定时器或计数器全部复位 同时所 有 PV 值都被设置为最大值 对 BCD 码是 9999 只在下一次定时器或计数器的指令执行时再设置 为 SV 值 除了长定时器 TIML 550 多路输出定时器 MTIM 543 和 CNR 545 本身 不能被 CNR 545 指 令复位之外 其他定时器和所有计数器都可以用上述指令来复位 如果 N1 和 N2 被指定为 N1 N2 仅定时器 计数器的完成标志被复位 CNR 545 指令与直接复位指令效果不一样 如 TIM 指令 如果被直接复位时 它们的 PV 值被设置为 SV 值 而定时器用 CNR 545 复位时 PV 被设置为最大值 9999 例例 3 5 延时通断控制延时通断控制 利用定时器指令 可实现延时接通和延时断开的控制 如图 3 18 所示 当为 ON TIM 0001 开始计时 延时 5s 后 为 ON 当为 OFF 时 此时 保持为 ON TIMH 0002 开始计时 3s 后 TIMH0002 为 ON 即延时 3s 断开 从而实现延时接通或延时断开电路的控 制 CNR 545 N1 N2 CNRX 547 N1 N2 c 时序图 5s3s KEEP 011 T0001 T0002 a 梯形图 0050 TIM 0001 TIMH 015 0300 0002 00002 LD TIM0001 0050 LD ANDNOT TIMH 0002 0300 LD T0001 LD T0002 KEEP b 助记符 117 图 3 18 例 3 5 延时通断控制 例例 3 6 3 6 确定输出脉冲宽度确定输出脉冲宽度 利用定时器 可以确定输出脉冲宽度 如图 3 19 所示 图 3 19 确定输出脉冲宽度的控制 该程序中不论 CIO 为 ON 的时间长短 CIO 变为 ON 的时间都是 1 5s 如果定时时间足够短 则该电路类似微分电路 3 7 二级计数器的举例二级计数器的举例 二级计数器的运用程序举例 如图 3 20 所示 在计数器的 SV 高于 9999 时 可以用下面的例子用两个计数器组合来达到组成一个 SV 为 20000 的 BCD 码的计数器的目的 CNT 00001 0100 CNT 0002 0200 P 0 02s C0001 C0001 C0002 C0002 1LD 2AND P 0 02s 3 LD 4 OR C0001 5 OR C0002 6 CNT 0001 0100 7 LD C00001 8 LD 9 CNT 0002 0200 10 LD C0002 11 OUT b 助记符 LD OR ANDNOT T0001 OUT LD TIM 0001 0015 LD ANDNOT T0001 OUT 00200 T0001 0015 TIM 00001 0001 T0001 a 梯形图 c 时序图 1 5s1 5s 118 图 3 20 二级计数器的运用程序 例例 3 8 灯闪烁控制灯闪烁控制 应用定时器指令 可实现灯闪烁控制 其程序如图 3 21 所示 图 3 21 灯闪烁控制程序 上述例子结合两个 TIM 定时器指令可在执行条件为 ON 时 以规则的间隔使一位为 ON 和 OFF 只要 CIO 为 ON CIO 会 OFF 为 1 0s 然后再 ON 为 1 5s 如果采用循环控制 则灯会不断 闪烁发亮 3 2 数据操作指令数据操作指令 前面介绍的指令都属于基本指令 用这些指令一般就能够组成一个简单的控制系统 但是遇到 有模拟量单元或是需要进行算术运算时 就会涉及到数据操作方面的指令 下面介绍这些指令 3 2 1 数据传送指令 数据传送指令 如表 3 6 所示 T0002 TIM 0001 0010 TIM 0002 0015 T0001 1LD 2ANDNOT T0002 3TIM 0001 0015 4LD 5TIM 0002 0015 6 LD T0001 7 OUT 119 表 3 6 数据传送指令表 指令名称助记符典型梯形图一般功能可用数据区 位传送 MOVB 082 MOVB 082 控制字 C 中最右边的两个数字指定 S 中的 哪一位是源位 C 中最左边的两个数字指 定 D 中的哪一位是目标位 然后把 S 中指 定位的内容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一级建造师之一建市政公用工程实务能力检测试卷B卷附答案
- 肢体骨折术后康复的护理
- 雨课堂学堂在线学堂云《财政学(西南财大 )》单元测试考核答案
- 2026年(通讯维修工)理论知识考试题库及参考答案(巩固)
- 2026年衢州江山中学赴南京师范大学提前招聘新教师5人历年真题汇编及答案解析(夺冠)
- 2026重庆气象部门事业单位招聘应届生3人(一)历年真题汇编附答案解析
- 2025辽宁沈阳市医疗卫生系统面向部分医学院校应届毕业生招聘175人笔试模拟试卷带答案解析
- 2025江苏南京信息工程大学科研助理招聘1人(夏海云教授智能遥感工程研究院团队)参考题库带答案解析
- 中国移动上海产业研究院2025秋季校园招聘备考题库附答案
- 2026昭通仁德中学储备教师招聘(16人)历年真题汇编带答案解析
- 2025年上海市事业单位招聘考试教师招聘英语学科专业知识试题
- 《中医舌诊》临床高清舌诊图附带解析史上
- 厨工岗位知识培训课件
- 【里斯】现制饮品出海品类研究报告
- 运动解剖骨盆讲解
- 国培计划返校汇报经验分享
- 光伏支架培训课件
- 人教版(2024)八年级上册英语:各单元必背语法知识点学案
- 围标串标管理办法
- 2025驾驶员安全教育培训
- 微波暗室安全管理办法
评论
0/150
提交评论