当前位置:首页 >> 信息与通信 >>

PLC(欧姆龙)编程入门(初学者适用)


PLC 初级培训教材
第一章 电气系统及 PLC 简介
一、设备电气系统结构简介
设备电气系统一般由以下几部分组成 电源 输入 控制中心 执行

元件

机构

1、执行机构:执行工作命令
陶瓷行业中常见的执行机构有:电动机(普通、带刹车、带离合) 、电磁阀(控制油 路或气路的通闭

完成机械动作) 、伺服马达(控制调节油路、气路的开度大小)等。

2、输入元件:从外部取入信息
陶瓷行业中常见的输入元件有:各类主令电器(开头、按扭) 、行程开关(位置) 、 近接开关(反映铁件运动位置) 、光电开关(运动物体的位置) 、编码器(反映物体运动距 离) 、热电偶(温度) 、粉位感应器粉料位置)等。

控制中心:记忆程序或信息、执行逻辑运算及判断
常见控制中心部件有各类 PLC、继电器、接触器、热继电器、等。

电源向输入元件、控制中心提供控制电源;向执行机构提供电气动力。 二、简单的单台电动机电气系统
例:一台星——角启动的鼠笼式电动机的电气系统 1、一次线路图 2、二次线路图 A B C T Q R JC1 JC1
JCJ JCJ

JC1 SJ

R

JCJ SJ JCY JCJ A

JCY

3、上图看出,二次回路图中为实现延时控制,要使用一个时间继电器,而在
1

陶瓷行业中,星——角启动控制可说是一种非常简单的例子,若在陶瓷生产设备上全部采 用继电器类来实现生产过程的自动控制,要使用许多的继电器、时间继电器等其它一些电 气产品,而该类产品占空间大,且运行不是十分可靠。

三、PLC 简介
1、可编程序控制器 早期的 PLC 只能做些开关量的逻辑控制,因而叫 PLC,但近年来,PLC 采用微 处理器作为中央处理单元,不仅有逻辑控制功能,还有算术运算、模拟量处理甚至通信联网 功能,正确应称为 PC,但为了与个人计算机有所区别,仍称其为 PLC。 2、PLC 的特点 1>、灵活、通用 控制功能改变,只要改变软件及少量的线路即可实现。 2>、可靠性高、抗干扰能力强 ① 硬件方面:采用微电子技术开关动作由无触点的半导体电路及大规模集成电路完成, CPU 与输入输出之间,采用光电隔离措施,隔离了它们之间电的联系。 ② 软件方面:有自身的监控程序,对强干扰信号、欠电压等外界环境定期检查,有故障 时,存现状态到存储器,并对其封闭以保护信息;监视定时器 WTD,检查程序循环状 态,超出循环时间时报警;对程序进行校验,程序有错误进输出报警信息并停止执行。 3>、使用简单 采用自然语言——梯形图语言编程方式,编程容易,更改方便。输入输出接口可以与各 种开关、传感器、继电器、接触器、电磁阀连接,接线简单。 4>、功能强、体积小 纵向——PLC 不仅可能完成各种条件控制,还能完成模/数、数/模转换并进行数字运算, 可以完成对模拟量的控制;横向——可以控制一台至几台设备,还可实现远距离控制;重量 轻,体积小,便于安装。 3、PLC 控制思路 以前面的星——角起动二次回路为例 。 按控制等效电路可分为三个部分:输入部分、输出部分及控制部分。 1>、输入部分: 接收由各种主令电器发出的操作指令及由各种反映设备状态信息的输入元件传来的各种 状态信息。PLC 的一个输入点单独对应一个内部继电器,当输入点与输入用的公用脚 COM 接 通时,该输入继电器得电。 2>、输出部分: 根据控制程序的执行结果直接驱动相应负载。在 PLC 内部设有输出继电器(可能是继电 器形式,也可能是晶体管形式) ,每个继电器对应一个硬触点,当程序执行结果让输出继电器
2

线圈通电时,该输出继电器的输出触点闭合,实现外部负载的控制运行。 3>、控制部分: 是由用户自行编制的控制程序。它存放在 PLC 的用户程序存储器中,系统运行时,PLC 依 次读取用户程序存储器中的程序内容,并对它们进行解释并执行,执行结果送输出端子,以 使相应的外部负载得到控制。PLC 的用户程序采用梯形图的编程方式,它由继电器控制电路 演变而来,所不同的是,它内部的继电器并非实际的继电器,而是“软”继电器,由软继电 器组成的控制线路并不是真正意义上的物理连接,而只是逻辑关系上的连接(软接线) 。它的 内部继电器线圈用 表示,常开点用 来表示,常闭点用 来表示。

从 PLC 内部可区分为六个部分即:输入、输出、存储器、CPU、电源及操作显示部分。
详见 P8~14 页 ① 输入部分:负责采集外部指令及设备状态,以使 CPU 作出判断。见 P11 页图 1.6 及 1.7。 ② 输出部分:将 CPU 的运算结果向外部输出,以完成过程动作。见 P12 页图 1.8、1.9、 及 1.10 注:以上输入输出部分 CPM1A 产品均可扩展,最大可扩展到 40 点输入输出。 ③存储器:存储用户程序及信息。 ④CPU:执行各种逻辑及运算程序。 ⑤电源:向输入输出及 CPU 提供电源。 ⑥操作显示:向存储器输入用户程序或更改用户程序,显示程序运行状态。 从外型看见 P31 页图 2.1,CPM1A 主机与多数 PLC 主机一样,有电源端子(交流供电型还 设有供外部输入设备用的服务电源) 、功能接地端子(抗干扰、防电击,务必接地) 、保护接 地端子(防触电) 、输入输出端子及其 LED(当对应的输入或输出端子 ON 时,相应的输入输 出 LED 灯亮,但当 CPU 异常、I/O 总线发生异常时所有输入 LED 灭;当内存异常及系统异常 (FALS)发生时,所有输入 LED 保持发生异常时的状态,即使输入状态发生变化,输入的 LED 状态也不改变) 、PLC 状态显示 LED(POWER 电源、RUN 运行 监视/编程 停止、ERROR/ALARM

亮故障/闪警告、COMM 外设通讯亮) 、模拟设定电位器及扩展连接器。

3

4、PLC 工作原理

见 P15 页 PLC 的循环扫描工作过程示意图
PLC 上电 初始化 初始化
检查 I/O 单元连接、继电器区清 0

定时器预置、识别扩展单元 硬件及用户程序内存检查 异常 检查结果 设置异常继电器 异常 灯亮 警告 灯闪 执行用户程序 (2)执行程序 异常或警告 到结束指令吗? YES 扫描周期固定值检查 NO 正常 扫描周期监视时间预置 (1) 公共处理

已设置固定值? N Y 等待至设定的扫描周期

(3)扫描周期计算处理
可由用户双月通过 DM6619Y 设定,执行 到此时,需等待时间到方向下执行;一般扫描 周期为不定,由监控计算

算出扫描周期

输入扫描

输入继电器

(4)I/O 刷新

输出继电器执行

外设端口服务

(5)外设端口服务完成通信处理

4

第二章
一、CPM1A 的性能规格
控制方式 输入输出控制方式 编程语言 指令长度 指令种类 处理速度 程序容量 最大 I/O 点数 输入继电器 输出继电器 内部辅助继电器 特殊辅助继电器 暂存继电器 TR 保持继电器 HR 辅助记忆继电器 AR 链接继电器 LR 定时器/计数器 TIM/CNT 基本指令 应用指令 基本指令(LD) 应用指令

CPM1A 的性能规格和区域分配

存储程序方式 循环扫描方式和即时刷新方式并用 梯形图方式 1 步/1 指令、1~5 步/1 指令 14 种 79 种 139 条 0. 72us~17.2μ MOV 指令 16.3μs 2048 字 10 点、20 点、30 点、40 点 00000~00915 01000~01915 512 点:20000~23115(200CH~231CH) 384 点:23200~25515(232CH~255CH) 8 点:TR0~8 320 点:HR0000~1915(HR00~HR19CH) 256 点:AR0000~1515(AR00~15CH) 256 点:LR0000~1515(LR00~15CH) 128 点:TIM/CNT000~127 100 ms型:TIM000~127(号数与 10 ms型共用) 1 0 m s 型 ( 高 速 定 时 器 ): T I M 0 0 0 ~ 1 2 7 减 法 计 数 器 、 可 逆 计 数 器 1002 字(DM0000~0999、1022~1023) 22 字(DM1000~1021) 456 字(DM6144~6599) 56 字(DM6600~6655) 2 点(10 点)4 点(20 点及以上型) 1 点(0.5~319968 ms、单触发模式或定时中断模式) 保持继电器 HR、 、辅助记忆继电器 AR、计数器 CNT、 数据内存(DM)的内容保持 快闪内存:用户程序、只读数据内存(无电池保持) 超级电容:读/写数据内存、保持继电器、辅助记忆继电器、计数器(保持 20 天/环境温度 25°C)

数据存储器 DM

可读/写
故障履历存入区

只读
PC 系统设定区

输入中断 间隔定时中断 停电保持功能 内存后备

自诊断功能 程序检查 高速计数器 脉冲输出 快速响应输入 输入时间常数

CPU 异常(WDT) 、内存检查、I/O 总线检查 无 END 指令、程序异常(运行时一直检查) 1 点 单相 5KHZAK 或两相 2.5KHZ(线性计数器方式) 当前值 248(L) 、249 (H)CH 递增模式:0~65535(16 位)、增减模式:-32767~32767(16 位) 1 点 20HZ~2KHZ(单相输出:占空比 50%) 与外部中断输入共用(最小输入脉冲宽度 0.2 ms) (不经滤波) 可设定 1ms/2 ms/4 ms/8 ms16/16 ms/32 ms/64 ms/128 ms中的一 个(输入滤波时间常数设定)
5

模拟电位器

2 点(0~200)

性能规格 二、输入输出规格 ①输入单元 000~009CH 输入阻抗:IN00000~00002 为 2KΩ,其它为 4.7 KΩ 输入电压:DC24V+10%、-15% ON 电压:最小 OFF 电压:最大 DC14.4V DC5.0V

ON 及 OFF 响应时间(IN00000~00002 作为高速计数器使用时除外):1~128ms以 下可选,缺省为 8 ms IN00000~00002 作为高速计数器使用时响应时间:200μs左右(可满足高速计数频率单 相 5KHZ、两相 2.5KHZ)的要求 IN00003~00006 作为中断输入时响应时间为 0.3 ms以下(从输入 ON 开始到执行中断处理 子程序为止的时间) 输入单元是可以把外部输入设备的信号直接取到 PLC 内部的继电器,当 CPU 及输入 单元装入时,方有输入继电器的动作。 输入继电器可以作为程序中的接点或通道数据使用。 在程序中继电器号的顺序及常开/常闭接点的使用次数是没有限制的,但要注意:请 不要对输入继电器的号数使用输出命令。 ②输出单元 010~019CH 断电器输出型:最大开关能力 AC250V/2A 最小开关能力 DC5V、10mA 继电器寿命:电气寿命:阻性负载 30 万次 感性负载 10 万次 机械寿命:2000 万次 ON 响应时间:15mS 以下 OFF 响应时间:15 mS 以下 晶体管输出型:最大开关能力:24VDC+10% -15% 最小开关能力:10 mA ON 响应时间:0.1 mS 以下 OFF 响应时间:1 mS 以下 输出单元可以把 PLC 内部程序执行结果送到外部。 输出点在程序中,可以作为继电器线圈接点及通道数据使用:在程序中输出继电器 的号数使用顺序、常开/常闭接点的使用次数均没有限制。
6

DC24V/2A

公共端 4A

300 mA

在编程过程中注意不要对同一个输出继电器重复使用两次输出命令。 三、CPM1A 继电器地址的分配及继电器功能作用介绍

名称 输入继电器

点数 160 点(10 字)

通道 000~009CH

继电器 00000~00915

功能 能分配给外部输入输出端子的继电器(当输 入输出通道不使用的继电器号能作为内部辅

输出继电器

160 点(10 字)

010~019CH

01000~01915 助继电器使用)

内部辅助继电器 特殊辅助继电器 暂存继电器 保持继电器(HR)

512 点(32 字) 384 点(24 字) 8点 320 点(20 字)

200~231CH 232~255CH TR0~7 HR00~19CH

20000~23115 23200~25507

程序中能自由使用的继电器 具有特定功能的继电器 用于在回路分叉点临时记忆的继电器,

HR0000~1915

程序中能自由使用的继电器, 具有特定功能的继电器, 电源断时能记住

辅助记忆继电器(AR) 256 点(16 字)

AR00~15CH

AR0000~1515 ON/OFF 状态 1:1 连接中作为输入输出使用的继电器(也可

链接继电器(LR)

256 点(16 字)

LR00~15CH

LR0000~1515 作为内部辅助继电器使用)

定时器/计数器 128 点 (TIM/CNT) 可读写 数据 内存 (DM)
PC系 设 区 统 置 异 历 存 区 常 史 放

TIM/CNT000~127

定时器和计数器共用相同号

1002 字 22 字 456 字

DM0000~0999 DM1022~1023

以字为单位(16 位使用,电源断时数据保持. DM1000~1021 不作为存放异常历史使用时, 可作为一般的 DM 自由使用。. DM6144~6599、DM6600~6655 不能在程序中写

DM1000~1023 DM6144~6599 DM6600~6655

只读

56 字

入(可从外围设备设定)

① 内部辅助继电器 512 点,200~231CH 仅可在程序中作为继电器线圈、接点、通道数据使用的继电器,而不能作为输入输出继电 器去直接取入外部信号或向外部输出,程序中使用的顺序及常开/常闭点的使用次数无限 制,电源切断或运行停止时复位。相当于在继电器控制回路中的中间继电器。 内部继电器在电源切断时、运行停止时复位。 ② 特殊辅助继电器 384 点,232~255CH 特殊辅助继电器只能当作具有特定功能的继电器接点使用。

7

特殊辅助继电器功能
通道号 232~235 236~239 240 241 242 243 244 245 246 247 248~249 250 251 00 01~07 08 09 10 252 继电器号 功能 宏指令输入区,不使用宏指令时,可作为内部辅助继电器使用 宏指令输出区,不使用宏指令时,可作为内部辅助继电器使用 中断 0 的计数器设定值 中断 1 的计数器设定值 中断 2 的计数器设定值 中断 3 的计数器设定值 中断 0 的计数器当前值-1 中断 1 的计数器当前值-1 中断 2 的计数器当前值-1 中断 3 的计数器当前值-1 高速计数器的当前值区域,不使用高速计数器时,可作为内部辅助继电器使用 模拟电位器 0 设定值存入区域 模拟电位器 1 设定值存入区域 高速计数器复位标志(软件设置复位)ON 时(由复位设置方式<两种——①25200 软件复 位;② 25200+Z 相信号复位>决定) ,复位高速计数器 不可使用 外设通信口复位时为 ON(使用总线无效) ,之后自动回到 OFF 状态 不可使用 PC 系统设定区域(DM6600~6655)初始化的时候为 ON,之后自动回到 OFF 状态(仅编程 模式时有效) 强制置位/复位的保持标志。OFF:编程模式与监控模式切换时,解除强制置位/复位的接 点;ON:编程模式与监控模式切换时,保持强制置位/复位的接点 I/O 保持标志。 12 OFF:运行开始/停止时,输入/输出、内部辅助继电器、链接继电器的状态被复位; ON:运行开始/停止时,输入/输出、内部辅助继电器、链接继电器的状态被保持 13 14 15 00~07 08 253 09 10~12 13 14 15 00 01 02 254 03~05 06 07 08~15 不可使用 故障履历复位时为 ON,之后自动回到 OFF 不可使用 故障码存储区, 故障发生时将故障码存入。 故障报警 (FAL/FALS) 指令执行时, FAL 号 (故 障码)被存储;FAL00 指令执行时,该区复位(成为 00) 不可使用 扫描周期超过 100ms 时为 ON 不可使用 常 ON 常 OFF 运行开始时 1 个扫描周期内为 ON 1 分时钟脉冲(30 秒 ON/30 秒 OFF) 0.02 秒时钟脉冲(0.01 秒 ON/0.01 秒 OFF) 负数标志 不可使用 微分监视完了标志(微分监视完了时为 ON) STEP 指令中一个行程开始时,仅一个扫描周期为 ON 不可使用 8 存入值 0000~0200(BCD 码) 输 入 中 断 使 用 计 数 器 模 式 时 的 计 数 器 当 前 值 -1 (0000~FFFF) 。输入中断不使用计数器模式时,可作为内部 辅助继电器使用 输入中断使用计数器模式时的设定值(0000~FFFF) 。输入中 断不使用计数器模式时,可作为内部辅助继电器使用

11

00 01 02 03 255 04 05 06 07 08~15

0.1 秒时钟脉冲(0.05ON/0.05 秒 OFF) 0.2 秒时钟脉冲(0.1 秒 ON/0.1 秒 OFF) 1 秒时钟脉冲(0.5 秒 ON/0.5 秒 OFF) 出错标志(执行指令时,出错发生时为 ON) 进位标志(执行指令时结果有进位或借位发生时为 ON) >大于标志(比较结果大于时为 ON) =等于标志(比较结果等于时为 ON): <小于标志(比较结果小于时为 ON) 不可使用

③ 辅助记忆继电器 AR00~15CH 用于 PC 的工作状态信息
通道号 继电器 号 AR00 AR01 AR02 00~07 08~11 12~15 AR03 AR07 AR08 00~07 08~11 不可使用 ~ 不可使用 ~ 不可使用 功能

256 点

扩展单元连接的台数 不可使用 不可使用

外围设备通信出错码(BCD 码) :0——正常终了,1——奇偶出错,2——格式出错,3——溢 出出错

12 13~15 AR09 AR10 AR11 00~15 00 01 02 03 04 05 06 07 08~14 15 AR12 AR13 00 01 02 03~04 05 06~07

外围设备通信异常时为 ON 不可使用 不可使用 电源断电发生的次数(BCD 码) ,复位时用外围设备写入 0000 1 号比较条件满足时为 ON 2 号比较条件满足时为 ON 3 号比较条件满足时为 ON 4 号比较条件满足时为 ON 5 号比较条件满足时为 ON 6 号比较条件满足时为 ON 7 号比较条件满足时为 ON 8 号比较条件满足时为 ON 不可使用 脉冲输出状态。0——停止中,1——输入中 不可使用 DM6600~6614(电源 ON 时读出的 PC 系统设定区域)中有异常时为 ON DM6615~6644(运行开始时读出的 PC 系统设定区域)中有异常时为 ON DM6645~6655(经常读出的 PC 系统设定区域)中有异常时为 ON 不可使用 与 DM6619 中设定的扫描周期比实际的扫描周期大的时候为 ON 不可使用 9 高速计数器进行区域比较时, 各编号的条件符 合时成为 ON 的继电器

08 09 10 11 12 13~15 AR14 00~15

在用户存储器(程序区域)范围以外存在有继电器区域时为 ON 高速存储器发生异常的时候为 ON 固定(只读)DM 区域(DM6144~6599)发生累加和校验出错时为 ON PC 系统设定区域(DM6600~6614)发生累加和较验出错时为 ON 在用户存储器(程序区)发生累加和校验出错、执行不正确指令时为 ON 不可使用 扫描周期最大值(BCD 码 4 位) (X0.1ms) 。运行开始以后存入的最大扫描周期;运行停止时不 复位,但运行开始时被复位

AR15

00~15

扫描周期当前值(BCD 码 4 位) (X0。1 ms) 。运行中最新的扫描周期被存入;运行停止时不复 位,但运行开始时被复位

④ 暂存继电器 8 点 TR0~7 它是复杂的梯形图回路中不能用助记符描述的时候,用于对回路的分叉点的 ON/OFF 状态 作暂存的继电器,仅在用助记符编程时使用。用梯形图编程时,在内部由于能自动处理,暂 存继电器没有使用的必要. 程序中暂存继电器使用顺序及使用次数无限制,但在同一段程序中,TR 继电器号不能重复 使用,否则会造成程序出错。 使用方法:在梯形图的最末一个分支点以后有两个以上的与接点串接的输出,或在一个与 接点串接的输出后面,还有一个没有通过接点的直接输出时,在分支点上要使用 TR 暂存继电 器,只能用 LD 及 OUT 指令。 ⑤ 保持继电器 HR00~19CH 256 点

在电源切断时或在编程设备向编程状态转换时,其仍保持原有的 ON/OFF 状态使用方法与 内部辅助继电器一样。一般可用 KEEP(FUN11)指令;也可用 OUT 指令,但切记使用 OUT 指 令时要有自保回路。 保持继电器的复位信号要尽量使用常开点,否则可能在复电时复位该 HR 继电器。 ⑥链接继电器 LR00~15CH 256 点

链接继电器用于安装了 PC 链接单元,与其它 PC 进行 1:1 链接数据交换(输入输出) 。 CPM1A 可实现 CPM1A 族、及同 CQM1、CPM1、C200HS 作 1:1 连接,一方作主动方,另一方作 从动方。在 CPM1A 中使用 1:1 上位链接功能时,能够用外围设备在主动局和从动局的系统设 定区域(DM6650)中设定。

10

例:在主站 CPM1A 与从站 CPM1A 之间,互相将输入 000CH 的状态反映到对方的内部辅助 继电器 200CH
RS—232C 电缆 CPM1A CPU 单元 主站侧程序 MOV(21) 000 LR00 MOV(21) LR08 200 LR00CH 000CH 写入 LR07CH LR08CH 200CH 读出 LR15CH 主站侧 读出区域 LR15CH 从站侧 写入区域 LR07CH LR08CH 写入区域 写入 000CH LR00CH 读出区域 读出 200CH CPM1A CPU 单元 从站侧程序 MOV(21) 000 LR08 MOV(21) LR00 200

⑥ 定时器/计数器(TIM/CNT) 定时器/计数器号,可以在定时(TIM) 、计数(CNT) 、高速计数(TIMH) 、可逆计数(CNTR) 指令中使用,但这些指令不能使用相同的号数,例如:同一个程序中不可以同时有 CNT010 及 TIM010,若重复使用时,程序检查中,会有“线圈重复使用”的显示,如执行程序,则会产 生动作异常。 当使用互锁 IL(02)和解锁 ILC(03)指令时,若 IL(02)至 ILC(03)指令之间有定 时器(包括高速定时器)或计数器时,定时器根据本指令前面的条件 OFF 时复位,而计数器 保持原有的数据。 定时器/计数器的现在值,也可作为通道数据使用。 若使用中断处理的定时器用高速定时器时,请指定 TIM000~001。 ⑦ 数据存储器 DM0000~1023(可读/写 1024 字) DM6144~6655(只读 512 字)共 1536 个 通道,用于记忆一个字(16bit)为单位的数据,它只能以字为单位使用。它不是继电器, 因而不能做为继电器线圈和接点使用,可作为数据的输入输出区使用;当电源切断时,DM 仍保持原有数据;可以间接指定使用(*DM) ,这时,DM 的内容是要寻找的 DM 的地址。
11

数据存储器分为可读/写 DM 及只读 DM,只读 DM 可以用编程器写入,但不能在程序中写 入。其中 DM6600~6614 仅在编程模式时设定,而 DM6615~6655 则可在编程模式及监控模式 时设定。 在可读写 DM 区域内,DM1000~1021 这 22 个通道由 DM6655 的 00~03bit 指定可主要用 于存放故障履历;在只读 DM 区域中 DM6600~6655 为系统设定区,用来设定各种系统参数。 DM 系统设定区的具体功能
定 通道号

bit
00~07





缺省值

时 读 出

电源 ON 时工作模式。00—编程,01—监控,02—运行 电源 ON 时工作模式设定。 00—编程器的模式设定开关; 01—电源 断之前的模式;02:用 00~07 bit 指定的模式

DM6600

08~15

根据编程器的模式 设定开关

00~07 08~11 DM6601 12~15

不可使用 电源 ON 时 IOM(内继)保持标志保持/非保持 设定 电源 ON 时 S/R(特内继)保持标志保持/非 保持设定 0— 非保持 1— 保持 非保持 电 源 ON 时 可写(可修改) 英文

00~03 DM6602 04~07 08~15 DM6603~6614 DM6615~6616 00~07 DM6617

0—用户程序存储器可写; 1—用户程序存储器不可写 (除 DM6602) 0—编程器的信息显示用英文;1—编程器的信息显示用日文 不可使用 不可使用 不可使用 外围设备通信口服务时间的设定。对扫描周期而言,服务时间的 比率可在 00~99%之间(用 BCD2 桁)指定

08~15

外围设备通信口服务时间设定的有效/无效。00:无效(固定为扫 描周期的 5%) ;01:有效(用 00~07bit 指定)

无效

00~07 DM6618

扫描监视时间的设定。设定值 00~99(BCD) ,单位用 08~15 位设 定(设定为 01~03 时有效) 120 ms 固定 运 行 扫描时间可变 开 始 时 0:初始值(8ms) 1:1 ms 2:2 ms 3:4 ms 4:8 ms 0:初始值 8 ms 5:16 ms 6:32 ms 7:64 ms 12

08~15

扫描监视有效/无效设定。 00:无效(固定 120ms) ;01:单位时 间 10 ms、有效;02:单位时间 100 ms、有效;03:单位时间 1s、 有效。监视时间=设定值 X 单位时间(最大 99s)

DM6619 00~03 DM6620 04~07 08~11 12~15 DM6621 00~07 08~15

扫 描 周 期 可 变 / 固 定 的 设 定 。 0000 — 扫 描 周 期 可 变 设 定 ; 0001~9999:扫描周期为固定时间(单位:ms) 00000~00002 的输入时间常数设定 00003~00004 的输入时间常数设定 00005~00006 的输入时间常数设定 00007~00008 的输入时间常数设定 001CH 的输入时间常数设定 002CH 的输入时间常数设定

DM6622 DM6623

00~07 08~15 00~07

003CH 的输入时间常数设定 004CH 的输入时间常数设定 005CH 的输入时间常数设定

08~15 DM6624 00~07 08~15 00~07 08~15

006CH 的输入时间常数设定 007CH 的输入时间常数设定 008CH 的输入时间常数设定 009CH 的输入时间常数设定 不可使用 不可使用

8:128 ms

DM6625 DM6626~6627

00~03 DM6628 04~07 08~11 12~15 DM6629~6641 00~03 DM6642 04~07 08~15 DM6643~6644 DM6645~6649 00~07

输入号 00003 的中断输入设定 输入号 00004 的中断输入设定 输入号 00005 的中断输入设定 输入号 00006 的中断输入设定 不可使用

0:通常输入 1:中断输入 2:快速脉冲输入 通常输入

高速计数器计数模式设定。4:加算模式;0:加减算模式 高速计数器的复位方式设定。0:Z 相信号+软复位;1:软复位 高速计数器使用设定。00——不使用;01:使用 不可使用 不可使用 上位链接单元 外围设备通信口通信条件标准格式设定。 00:标准设定(即:启动位 1 位;字长 7 位; 偶校验;停止位 2 位;波特率 9600bps) 01:个别设定(由 DM6651 设定) 其它:系统设定异常(AR1302 为 ON)

不使用高速计数器

DM6650

08~11

1:1 链接 (主动局)

外围设备通信口 1:1 链接区域设定 0:LR00~15CH 外围设备通信口使用模式设定。 0— 上位链接;2—1:1 链接从动局 2— 1:1 链接主动局;4:NT 链接 其它:系统设定异常(AR1302 为 ON)

外围设备通信口设 定为上位链接

12~15

全模式

电 源 ON 时 常 读 出

00~07

上位链接

外围设备通信口波特率设定。00:1200 02:4800 03:9600 04:19200

01:2400

08~15

上位链接

外围设备通信口的帧格式设定 启动位 00: 01: 02: 03: 1 1 1 1 1 1 1 1 1 1 1 1 字长 7 7 7 7 7 7 8 8 8 8 8 8 停止位 1 1 1 2 2 2 1 1 1 2 2 2 奇偶校验 偶校验 奇校验 无校验 偶校验 奇校验 无校验 偶校验 奇校验 无校验 偶校验 奇校验 无校验

DM6651

04: 05: 06: 07: 08: 09: 10: 11:

其它:系统设定异常(AR1302 为 ON)

13

00~15 DM6652

上位链接

外围设备通信的发送延时设定。 设定值:0000~9999(BCD 码)单位 10ms 其它:系统设定异常(AR1302 为 ON)

00~07 DM6653 08~15 DM6654 00~15 00~03

上位链接

外围设备通信的上位 LINK 模式的机号设定。 设定值:00~31(BCD 码) 其它:系统设定异常(AR1302 为 ON)

不可使用 不可使用 故障履历存入法的设定(存入故障履历区域 DM1000~1021) 0:超过 10 个记录,则移位存入 1:存到 10 个记录为止(不移位) 其它:不存入 移位方式

DM6655 04~07 08~11 12~15

不可使用 扫描周期超出检测。0——检测; 不可使用 1——不检测 检测

第三章
一、程序和指令的理解方法
1、程序的步的理解方法

CPM1A 的基本指令

OMRON 的 PLC 程序中,每一条指令对应为一步,一条指令为 1~4 个字,依指令而异。 因为指令的字数不同, 所以根据在程序中使用的指令不同, 可编程的步数亦不同.例如: LD 指令为一步,而运算指令(以双字 BCD 码减法指令 SUBL(55)为例)为 4 步指令 SUBL(55) S1 S2 D — CY D+1 S1+1、S1 S2+1、S2 CY D

2、通道数据的理解方法

HR 0000 HR 0001 HR 0002 HR 0003 HR 0004 HR 0005

0 1 0 1 0 1

2 2 2 2 2 2

0

1

2

3

4

5

14

在输入输出继电器、内部辅助继电器、保持继电器 继电器(AR) 、链接继电器(LR)以通道为单位使用时,以 (TIM) 、计数器(CNT)区的现在值,数据存储器(DM)区 通道数据,可有以 16 bit 的 0 和 1 表达方式及 16 进制 4 桁 bit 的 0 和 1 表达方式及 16 进制 4 桁的表达方式的关系如下: 例:HR00CH 的内容 (1=ON 0=OFF)

HR 0006 HR 0007 HR 0008 HR 0009 HR 0010 HR 0011 HR 0012 HR 0013 HR 0014 HR 0015

0 0 1 1 0 0 0 1 1 0

2 2 2 2 2 2 2 2 2 2

6

(HR) 、辅助记忆 及作为计时器 的内容表示用的 的表达方式。16
LSB

7

8

9

10

11

12

13

14

LSB 为最下位 bit(00 bit) MSB 为最上位 bit(15 bit) ①HR00CH 的内容用 16 位 bit 表达方式表示时,如下 示: 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1
MSB LSB

15

②HR00CH 的内容,若用 16 进制 4 位表达方式时,则 如下示: 632A

3、每次扫描执行型指令和输入微分型指令 CPM1A 型机中,几乎所有的应用指令,都有每次 扫描执行型和输入微分型。下面以传送指令为例,说明其不同之处: ①每次扫描执行型----MOV(FUN21) 动作说明: 输入 0000ON 时,保持继电器 HR10CH 的内容,每次扫描都向数据存储器 DM0000 中传送。
DM0000

0000

MOV(21) HR10

当程序循环时间为 80MS,输入 0000 ON 为 2S 时,则传送 25 次, 在此期间,如果 HR10CH 的内容是变化的,则 DM0000 中保持每次传 送前的最终内容。 ②输入微分型-----@MOV(FUN21) 动作说明: 仅在输入 0000 的上升沿(OFF—ON)时,执行一次把保持继电器 HR10CH 的内容传送到数据存储器 DM0000 中的操作。 编程器键入操作时,是接着在功能号 FUN 后,再输入指令代码 21,最后按 NOT 键,即已输入了传送微分指令。 5、CPM1A 的特殊功能 1>、模拟设定电位器功能 位于 CPU 面板左上角有两个模拟设定电位器, 可以用来模拟设定定时器/计数器的设定 值,区域范围为 0~200(BCD) ,经这两个电位器设定的值自动存入特殊辅助继电器 250CH 和 251CH,可作为计时/计数器指令的设定值。
15

0000

MOV(21) HR10 DM0000

2>、输入时间常数设定功能 输入电路上有滤波器,可以减少外部干扰(振动、杂波等) ,输入滤波器的时间常数 可以根据实际需要进行设置为 1/2/4/8/16/32/64/128ms 之一。 3>、外部输入中断功能 10 点型 CPM1A 有两个 00003、00004 输入点,10 点以上型有 00003~00006 四个输入点 可作为中断输入点使用,实现外部输入中断(模式有两种:即输入中断模式和计数器中断模 式)详见中断控制指令。 4>、快速响应输入功能 PC 采用循环扫描方式工作,输出滞后输入。如果用户要使用一些瞬间信号,可以采 用快速响应输入端,使 CPU 可以接收到瞬间脉冲。10 点型有 00003、00004 两点,10 点以上 型有 00003~00006 四点(与外部中断输入端子号相同,通过对系统设置区域 DM6628 的设置, 可以将 00003~00006 定义为普通输入端 0、外部中断输入端 1 或快速响应输入端 2) 5>、间隔定时中断功能 间隔定时器一到定时时间,即转去执行中断子程序。有单次中断模式(设定的定时 到仅产生一次中断)和重复中断模式(每隔设定的一定时间就产生一次中断)两种,详见中 断控制指令中的间隔定时器中断指令。 6>、高速计数器功能 脉冲编码器所发出的 A 相、B 相、Z 相脉冲信号输入到 00000~00002 输入端,有单相 递增输入(B 相脉冲输入端不接)和相位差输入两种模式,它们与中断功能配合可以实现目 标值一致比较控制和区域(范围)比较控制。 7>、脉冲输出功能 CPM1A 的晶体管输出单元能产生一个 20HZ~2KHZ 的单相脉冲输出(占空比 50%) ,输出 点为 01000、01001。有连续模式(由 SPED 指令设置输出脉冲频率为 0 停止脉冲输出或由动 作模式控制 INI 指令控制脉冲输出停止)和独立模式(输出脉冲数目达到设定的脉冲数目时 脉冲输出停止)两种输出模式。 输出脉冲的数目及脉冲频率分别由设置脉冲指令(PULS)及速度输出指令(SPED)设置, 详见脉冲输出指令及高速计数器指令。 二、基本顺序输入指令: 指令
LD LD NOT AND AND NOT

符号

助记符
LD LD AND

操作数
继电器号





操作数、相关标志 继电器号 00000~01915 20000~25507 HR0000~1915 AR0000~1515

表示逻辑起始 表示逻辑反相起始 逻辑与操作 逻辑与非操作

NOT 继电器号 继电器号

AND NOT 继电器号

16

OR OR NOT

OR OR NOT

继电器号 继电器号

逻辑或操作 逻辑或非操作 和前面的条件与 和前面的条件或

LR0000~1515 TIM/CNT000~127 TR0~7(仅能使用于 LD 指令)

AND LD OR LD

AND LD OR LD

1、与母线连接的接点,必须使用 LD 指令。 2、接点串联连接时,使用 AND 指令;接点并联连接时,使用 OR 指令。 3、程序中的常闭接点,使用 NOT 指令。 4、程序块与程序块串接时使用(逻辑与)AND LD 指令。在与前面程序块串联连接的下一程 序块的起点使用第二次 LD 指令。 5、程序块与程序块并联时使用(逻辑或)OR LD 指令。在与前面程序块并联的下一程序块的 起始接点处使用第二次 LD 指令。 AND LD 指令练习: A 例① 指令
LD OR NOT

OR LD 指令练习: A 例② O 例① 指令
LD AND NOT

O 例② 指令
LD AND NOT

数据
00000 00001

指令
LD OR NOT

数据
00000 00001

数据
00000 00001

数据
00000 00001

LD NOT OR

00002 00003

LD NOT OR

00002 00003

LD NOT AND NOT

00002 00003

LD NOT AND NOT

00002 00003

AND LD LD OR AND LD OUT 01000 00004 00005

LD OR AND LD AND LD OUT

00004 00005

OR LD LD AND OR LD 00004 00005

LD AND OR LD OR LD 01000 OUT

00004 00005

01000

OUT

01000

AND LD 指令,可以连续使用任意次,用第②方法 编程时,AND LD 的数目等于前面的 LD 及 LD NOT 指 令的数目减一;另外,用第②方法编程时 AND LD 前面 的 LD 及 LD NOT 的个数请勿超过 8 个,在 9 个以上时 请采用第①方法编程。

OR LD 指令,可以连续使用任意次,用第②方法编 程时,AND LD 的数目等于前面的 LD 及 LD NOT 指令的 数目减一;另外,用第②方法编程时 AND LD 前面的 LD 及 LD NOT 的个数请勿超过 8 个,在 9 个以上时请采 用第①方法编程。

⑴、

输入输出继电器,内部辅助继电器,计时器等的接点的使用次数是没有限制的,

对于维护等方面而言,最佳设计莫过于节约接点的使用个数,把复杂的设计用简单、
17

明快的电路构成。 ⑵、 ⑶、
FUN NO

在 PLC 程序中,信号的流向是由左向右的。 在串联、并联电路中对于构成串联的接点数,构成并联的接点数,没有限制。

三、顺序输出指令 指令 OUT
OUT NOT

符号 助记符
OUT OUT NOT

操作数
继电器号 继电器号





操作数、相关标志

----11 13

把逻辑运算结果用继电器输出
把逻辑运算结果反相用继电器输出

继电器号 00000~01915 20000~25215 HR0000~1915

SET RESET KEEP
上升沿微分

SET RSET KEEP(11) DIFU(13)

继电器号 继电器号 继电器号 继电器号

使指定接点 ON 使指定接点 OFF

AR0000~1515

使保持继电器动作
LR0000~1515

在逻辑运算结果上升沿时继电
TR0~7(仅能使用

器在一个扫描周期内 ON
于 OUT 指令)

14

下降沿微分

DIFD(14)

继电器号

在逻辑运算结果下降沿时继电 器在一个扫描周期内 ON

说明:当输入继电器号 00000~00915 在实际中未被使用时,方可在基本输出指令中作为内部 继电器使用。 特殊辅助继电器 232CH~249CH 只有当其不作为特殊辅助继电器使用时,方可作为内部继 电器使用。 1、输出继电器的使用 ⑴继电器的线圈,使用 OUT 指令。输出线圈不能直接与母线相连,确有此必要时,请把 不用的内部辅助继电器的常闭接点或者特殊辅助继电器 25313(常 ON 接点)作为虚拟接 点插入。 ⑵输出继电器的接点,除了输出驱动实际负载的信号之外,还可在电路上使用它的辅助 接点,且这个接点的使用次数没有限制。 ⑶输出继电器的线圈的后面不能插入接点,接点必须在线圈前面插入。 ⑷输出线圈可以 2 个以上并联。 2、TR0~7 的使用方法:
00000 A 00001 00002 TR0 00003 01000 01001 01002 01003

18

在不使用互锁(IL—ILC)指令编程时,使用 TR;在图一中因 A 点的 ON/OFF 状态与输 出 01000 相同,故可在 OUT01000 后面,继续编入 AND0001,OUT01001,而不必用 TR;但在图 二中,分支点处的状态与 01000 的状态不一致帮应先用 TR 暂存,如果把二改写成一,则可减 少程序步数。 TR 在有多个输入分支的电路中,仅用于记忆(OUT TR0~7)和再现(LD TR0~7)分支点 的 ON/OFF 状态,与一般继电器接点不同之处在于不能用于 AND、OR 指令及附有 NOT 的指令。

例:在同一程序块内 TR 的继电器号不能重复使用,但可在其它程序块中使用。见下图。
00000
TR0

00001

TR1

00002 00003 00004

01000 01001 01002

00010

TR0

00011

TR1

00012

01100

00013 00014 00015 00100 00101

01101 01102 01103 01104

3、保持 KEEP(11)指令的使用 KEEP 指令编程时,请按照置位输入、复位输入、继电器号的顺序来编 程。 ⑴KEEP 指令当置位输入 ON 时,保持 ON 的状态;当复位输入 ON 时,为 OFF 状态。分置 位输入与复位输入同时 ON 时,复位输入优先,此时,保持指令不接受置位输入,而保持原有 的状态。 置位输入 复位输入 KEEP 输出 复位输入 R KEEP 置位输入 S

00000

00001

01000

00000

KEEP

19

01000 00001

01000

上图的区别在于,当该程序段位于 IL—ILC 之间时,在 IL 条件 OFF 时,左图使输出继 电器 01000 OFF;而右图使用 KEEP 指令的程序,输出继电器保持原有的状态。 ⑵KEEP 指令若使用保持继电器,则即使在停电时,亦能记忆断电之前的状态。
部异常输入 00001 外部复位输入 00002 HR0000 KEEP HR0000 01000 外部异常指示输出 外

上图为一防掉电的异常显示的例子。 ⑶如果直接采用外部控制设备的常闭点作为 KEEP 指令的复位输入, 可能会导致保持继电 器不正常复位,请不要如此使用。 A 交流电源 L 输 入 单 元 上图中,当 AC 电源断时,PLC 主机的直流电源不能立刻 OFF,此时会使 HR0000 不正常复 位。 4、上升沿微分指令 DIFU/下降沿微分指令 上升沿微分指令 DIFU(13) :当输入信号的上升沿(由 OFF ON)时,DIFU 指令所 OFF) A KEEP HR0000

指定的继电器在一个扫描周期内 ON;下降沿微分指令当输入信号的下降沿(由 ON 时,DIFD 指令所指定的继电器在一个扫描周期内 ON。 00000 DIFU(13) 20000

DIFD(14) 20001

20000

MOV(21) #FFFF DM0100

20001

OUT 01000

20

输入点 00000 内继 20000 内继 20001 当输入点 00000 的上升沿(OFF ON,MOV 指令在一个扫描周期内执行。 当输入点 00000 的下降沿(ON 输出指令执行一个扫描周期。 注意:MOV 等应用指令尚有微分型,此时不需用 DIFU、DIFD 指令构成输入电路而可直 接采用微分型指令即可。 5、置位 SET 与复位(RESET)指令 当 SET 指令的执行条件 ON 时,使指定继电器置位为 ON;当执行条件 OFFSET 指令仍不能 改变指定继电器的状态。当 RESET 指令的执行条件 ON 时,使指定继电器复位为 OFF;当 执行条件 OFF 后,RESET 指令仍不能改变指定继电器的状态。 四、基本顺序控制指令 FUN NO 00 空 操 作 01 02 结束 联锁 END IL END(01) IL(02) 程序结束 至 ILC 指令为止的继电器线圈, 定时器根据 本指令前面的条件 OFF 的时候 OFF 03 04 解锁 跳转 ILC JMP ILC(03) 表示 IL 指令范围的结束 —— —— 指令 符 号 助记符 作数 NOP(00) 操 功 能 操作码相关 的标志 —— OFF)时,内部辅助继电器 20001 在一个扫描周期内 ON, ON)时,内部辅助继电器 20000 在一个扫描周期内

JMP ( 04 ) 至 JME 指令为止的程序由本指令前面的条 号: 号 件决定时否执行 00~49

05

跳 转 JME 结束

JME ( 05 ) 解除跳转指令 号

⑴在程序的最后,必须写入 END 指令。如果在程序无 END 指令状态下运行,则 CPU 单元前面 的“EPROR”LED 灯亮,而不执行程序;如果在程序中有复数个 END 指令时,则程序执行到最 前面的 END 指令为止。 ⑵IL—ILC 指令的应用 00005 当 IL 条件(右图中 00000 ) ON 时,各输出动作与没有 00003 01001
21

00000 IL 02) ( 00001 00002 01000

IL—ILC 指令的程序一样。 当 IL 条件 OFF 时,IL 至 ILC 间的各个输出状态 如下示: 00004 01002

ILC(03)

输出继电器、内部辅助继电器、链接继电器 辅助记忆继电器 计时器 计数器、移位寄存器、保持继电器 ①IL—ILC 指令与 TR 指令的比较

OFF

复位 状态保持

使用 TR 指令时,在分支点的前面要有;LD TR,而使用 IL/ILC 指令时,即可不编入 LD TR,就程序步数而言,仅可减少这一点。 ②IL 与 ILC 非成对使用时的动作 在 IL 与 ILC 程序之间另有 IL 指令时,因 IL—ILC 指令不成对使用,所以程序检查时会 有“IL—ILC ERROR”出现,而动作还按程序正常进行。但是,请注意:ILC 指令会解除它

前面所有的 IL 指令。例 IL—IL—ILC 嵌套的程序。 ⑶跳转(JMP04)/跳转终了(JME05) JMP 条件 ON 时,程序按没有 JMP—JME 指令一样动作;而当 JMP 条件 OFF 时,不执行从 JMP 至 JME 指令间的程序,并且输出线圈(输出继电器、计数器、计时器、移位寄存器、保 持继电器等)均保持各自的状态。 ① JMP 指定号数为 00 时, 没有 JMP00—JME00 的使用次数限制; 当不成对地使用 JMP00 —JME00 时,程序检查时会有“JMP—JME ERROR”出现,但动作还按程序进行。 在 JMP00—JME00 之间,即使 JMP 条件 OFF 时,还需要指令执行时间(指 CPU 花时 间找下一个 JME00 指令) 。 ② JMP 指定号数为 01~49 时 把 JMP01~99 至同一号数的 JME01~99 的区间作为跳转对象;每个跳转号只能使用 一次;在使用 JMP01~99 时,当 JMP 条件 OFF 时,直接跳转到 JME,所以没有 JMP —JME 间指令的执行时间。

22

五、定时器/计数器指令
FUN NO

指令 定时器

符号

助记符 TIM

操作数 计时器号 设定值

功能
接能延时定时器(减算) 设定时间 0~999.9 秒 (0.1 秒为单位)

操作码相关标志
1 定时器号、计数器号 NO TIM/CNT000~127 在使用高速定时器指令 中作中断处理的定时器 请指定 TIMH000~003 2、设定值 000~019、200~255CH HR00~19、LR00~15 DM0000~1023.6144~6655 *DM0000~1023、 6144~6655 #0000~9999(BCD 码)

计数器

CNT

计数器号 设定值

减法计数器, 设定值 0~99999 次 执行加、减算计数, 设定值 0~9999 次 执行高速减算定时, 设定时间:0~99.99 秒(0.01 秒为单位)

12

可逆计数 器

CNTR(12)计时器号 设定值 TIMH(15)计时器号 设定值

15

高速定时 器

1、在同一程序中以上四种指令所使用的计时器号、计数器号 000~127 不能重复。 2、设定值可以是常数,也可以是通道号。当是常数时,必须是 BCD 码,前面要加#;是通道 号时,该通道内的数字也须是 BCD 码。 3、当计数器、高速计时器、计时器工作(复位时)前,先将设定值送入相应的计数器/计时 器内(由程序中的计时器号/计数器号指定) (可逆计数器例外,当可逆计数器复位时,其 内 4、 5、的当前值复位为 0000) ,然后根据指令要求进行计数/计时,因而,在复位时,相应的计 数器/计时器内有它的当前值, 计数器/计时器可作为其它指令的操作数 (如 LD TIM000 等) 。 6、当设定值为*DM 时,在该 DM 区域中存放的是设定值的 DM 地址而非设定值。
23

7、出错标志位 25503, 当设定值不是 BCD 码时、*DM 间接寻址的 DM 通道不存在时为 ON。 各程序说明见讲义 62、63、64 之 1、2、3、4。

六、数据比较指令
FUN

指令 符 号 比较
CMP

助记符 数

操作





操作码
S1、S2 000~019、200~255 HR00~19、AR00~15 LR00~15、C/T000~127 DM(及*DM)0000~1023、 6144~6655、#0000~FFFF

NO

20

CMP(20) S1

S1CH 数据、常数,与 S2CH 数据、 常数进行比较根据比较结果分别设 置比较标志。25505(S1>S2)、25506(S1=S2)、 25507(S1<S2)

S2

60

双字 比较

CMPL

CMPL(60) S1 S2 000

S1+1、S1CH 数据与 S2+1、S2 数 据进行比较,根据比较结果分别设 置比较标志 25505(S1+1、S>S2+1、S2)、 25506(S1+1、S = S2+1、S2)、 25507(S1+1、S < S2+1、S2)

S1.S2
000~018、200~254 HR00~18.AR00~14 LR00~14.T/C000~126 DM(及*DM)0000~1022 6144~6154

68

块比 较

BCPM @BCPM

BCPM/@BCPM S T D

SCH 的数据如下图那样从 T 通道开始分 16 个比较区 域,每个区域第一个为下限,第二个为上限,分 16 次对下限.上限数据(比较表)比较在其之间将结果存 入 DCH. 0 不在上下限之间;1 在上下限之间
下限值
比较 数据

S.000~019、200~255
HR00~19、AR00~15 LR00~15、T/C000~127 DM0000~1023、6144~6655

上限值

结果

DCH

*DM0000~1023.6144~6655 #0000~FFFF

T T+2 T+4 T+6

≦ ≦ ≦ ≦

SCH 数据 SCH 数据 SCH 数据 SCH 数据

≦ ≦ ≦ ≦

T+1 T+3 T+5 T+7

0

或1

00 01 02 03

T . 200~224 、 T/C000~096 、
DM0000~0992、6144~6623 *DM0000~1023、6144~6655

0或1 0或1 0或1

D.000~019、200~252
HR00~19、AR00~15 LR00~15、DM0000~1023、 *DM0000~1023、6144~6655

T+28 T+30

≦ ≦

SCH 数据 SCH 数据

≦ ≦

T+29 T+31

0或1 0或1

14 15



24

85

表比 较

TCMP @TCMP

TCMP/@TCMP(85) S T D

SCH 的数据如下图那样从 TCH 开始的 16 个(至 T+15)比较数据 (比较表)作比较。在一致的场合下将“1”输出到 DCH 的相应 位(00~15) ,0—不一致;1—一致 比较表 T T+1 T+2 T+3 比较数 S S S S DCH 0或1 0或1 0或1 0或1 位 00 01 02 03

S.000~019、200~255
HR00~19、AR00~15 LR00~15、/C000~127 DM(及*DM)0000~1023、6144~6655 #0000~FFFF

T、000~004、200~240
HR00~04、HR00、LR00 T/C000~112 DM0000~1008、6144~6640

T+14 T+15

S S

0或1 0或1

14 15

*DM0000~1023、6144~6655

D、000~019、200~255
HR00~19、LR00~15 AR00~15、DM0000~1023 *DM0000~1023、6144~6655

比较结果为 00(16 位全部一致)时,比较标志 25506(=)为 ON

标志位 25503(ER)ON:当比较块或比较表超出所在数据区的范围,或比较指令间接寻 址 DM 通道不存在(其内非 BCD 码) ,此时,比较指令不执行。详见 P65、66、67、68 的四个 比较指令。 七、数据移位指令 FUN 指 符号 助记符 操作数 功能/相关标志 操作数 NO 令 移 SFT (10) D1 移位脉冲(SP)ON 时,从 D1CH 到 D2CH 的数据朝高 开始 D1,结束 D2CH 10
位 寄 存 器 位移一位,D2 的最高位溢出。复位端 ON 时,D2~D1 000~019、200~252 HR00~19、AR00~15
15 D1 00 IN(0 或 1)

D 2

区域全部 OFF。
15 D2 00

LR00~15。 D1、 必须用 D2 同一个继电器区域 D1CH 必须≤D2CH

84 可 逆 移 位 寄 存 器

SFTR

SFTR/@SFTR 84) 根据控制数据(C)bit12~15 的内容把 D1~D2 通道 ( C D1 D2 的数据进行左右移位。C 通道内控制数据的内容:

·SFTR

D1、D2 000~019、200~252 I12——移位方向(DR) 右移,1 左移;I13——数据 HR00~19、AR00~15 ,0 输入端(IN) ;I14——移位脉冲端(SP) ;I15—复 LR00~15 位端(R) 。 DM0000~1023 15 00 15 00 *DM0000~1023、 CY D2 D1 6144~6655 C: 000~019、 200~252 IN(0 或 1) HR00~19、AR00~15 15 00 15 00 LR00~15 D1 CY D2 DM0000~1023 、 IN(0 或 1) 6144~6655 当移位信号输入继电器 I14ON 时 D1~D2 通道的数 据进行左(右)移位,最高位(或最低位)移入进 *DM0000~1023、 6144~66 位位 CY 25504)当复位输入继电器 I15ON 时, ( ; D1~D2 通道的全部位和进位位 CY(25504)全为“0” 。D1、 55
D2 通道领域有故障时, D1>D2 时, 出错标志 25503ON, 此时程序不执行该指令

25

16 字 移 位

WSFT/@WSFT(16) D1 D2

当执行条件 ON 时, 每执行一次 D1 至 D2 通道中的数 据以字为单位移位一次,而 0000 移进 D1,D2 的原 数据溢出 当 D1 与 D2CH 不在同一区域、或区域出错、间接寻 址通道不存在 (非 BCD 码) 出错标志位 25503ON, 时, 此时该指令不执行

D1、D2 000~019、200~252 HR00~19、AR00~15 LR00~15 DM0000~1023、 *DM0000~1023、 6144~6655

0000 D1

D2

25 算 术 左 移 位

ASL

ASL/@ASL 25) D (

把 D 通道的数据向左移一位,原最高位溢出至 CY(25504),最低位补 0。当间接寻址 DM 不存在(非 BCD 码)时,25503ON,此时该程序不执行;当 DCH 的内容为 0000 时,相等标志位 25506 为 ON

D: 000~019、 200~252
HR00~19、AR00~15 LR00~15 DM0000~1023、 *DM)0000~1023、 6144~6655

CY

D

26 算 术 右 移 位 27 循 环 左 移 指 令 28 循 环 右 移 指 令

ASR

ASR/@ASR(26) D

把 D 通道的数据向右移一位,原最低位溢出至 CY(25504),最高位补 0。当间接寻址 DM 不存在(非 BCD 码)时,25503ON,此时该程序不执行;当 DCH 的内容为 0000 时,相等标志位 25506 为 ON

D

CY

ROL

ROL/@ROL(27) D

把 D 通道的数据包括进位位 CY(25504)循环左移。 当间接寻址 DM 不存在(非 BCD 码)时,25503ON, 此时该程序不执行; DCH 的内容为 0000 时, 当 相等 标志位 25506 为 ON

D

CY D: 000~019、 200~252
HR00~19、AR00~15 LR00~15 DM0000~1023、 *DM0000~1023、 6144~6655

ROR

ROR/@ROR(28) D

把 D 通道的数据包括进位位 CY(25504)循环 右移。当间接寻址 DM 不存在(非 BCD 码) 时,25503ON,此时该程序不执行;当 DCH 的内容为 0000 时,相等标志位 25506 为 ON CY D

26

74 一 位 数 字 左 移

SLD

SLD/@SLD(74) D1 D2

以四位二进制码(桁)为单位将 D1 至 D2CH 的数据
左移,D2 的最高位溢出丢失,D1 的最低位填 0。当 D1、D2 通道出错(不在同一区域或 D2<D1)或间接 此时,该指令不执行

D1、D2: 000~019、200~252
HR00~19、AR00~15 DM0000~1023、 *DM0000~1023、

寻址 DM 不存在 (非 BCD 码) 出错标志位 25503ON, LR00~15 时,

D2 。。 。。 15 11 溢出 03 00 15 11

D1 03 00 填0

6144~6655

75 一 位 数 字 右 移

SRD

SLD/@SRD(75) D1 D2

以桁为单位将 D1 至 D2CH 的数据右移, 的 D1 最低桁溢出丢失,D2 的最高桁填 0。当 D1、 D2 通道出错(不在同一区域或 D2<D1)或间 接寻址 DM 不存在(其内不是 BCD 码)时, 出错标志位 25503ON,此时,该指令不执行 D2 15 12 填0 03 00 15 12 D1 03 00 溢出
C:000~019、200~252 HR00~16、AR00~15 LR00~15 上位 CH; 1 时, DM0000~1023 为 6144~6655 、 #常数 6144~6655 D1、D2: 000~019、200~252 HR00~16、AR00~15 LR00~15 DM0000~1023 *DM0000~1023 6144~6655 、 、

17 异 步 移 位 寄 存 器

ASFT

ASFT/@ASFT(17) C D1 D2

根据控制数据(C) bit13~15 的内容,在 D1~D2 通道 之间,将通道数据为 0000 的数据(上移或下移)与 前后通道的数据相互替代. IC13----移位方向(为 0 时,下位 CH 上位 CH 下位 CH),

IC14----移位允许位 (为 0 时, 不移位; 1 时, 为 移位) *DM0000~1023 IC15—复位端(为 1 时复位) 根据控制数据,将寄存器 D1~D2CH 中为 0000 的字与紧邻的高上(低下)地址 通道之间交换数据,执行数次后,所有 0000 字可集中到寄存器的上(下)半部。 25503 出错标志与其它移位指令相同。

数据移位指令详见 P69~76 页

27

八、数据传送指令

28

FUN NO

指令

符号 MOV

助记符 数

操作



能/相关标志

操作数
S:000~019、200~255 HR00~19、AR00~15、 LR00~15 T/C000~127 DM(及*DM)0000~1023、 6144~6655 #0000~FFFF D:000~019、200~255 HR00~19 、 AR00~15 LR00~15 DM0000~1023、 *DM0000~1023、 6144~6655

21 传送

a MOV/○MOV(21)

S D

将源数据 SCH 的数据、常数 送到目的通道 DCH 中去 S CH DCH 当间接寻址 DM 通道不存在 时,出错标志位 25503ON,该 指令不执行;当执行该指令 后 DCH 中的数据为 0000 时, 相等标志位 25506ON 将源数据 SCH 的数据反相后 送到目的通道 DCH 中。 当间接寻址 DM 通道不存在 时,出错标志位 25503ON,该 指令不执行;当执行该指令 后 DCH 中的数据为 0000 时, 相等标志位 25506ON 将由 SCH 开始的 N 个连续通 道数据对应传送至 DCH 开始 的几个连续通道中去。 当 N 为非 DCD 码;S、S+N、 D、D+N 不在同一数据区或间 接寻址 DM 通道为非 BCD 码 时,25503 出错标志位 ON, 此时,该指令不执行

22 取反传 MVN 送
a ○MVN

a MVN/○MVN(22) S D

70 块传送 指令

XFER

a XFER/○XFER(70)

N、S :000~019、200~255
HR00~19、AR00~15、 LR00~15 T/C000~127 DM(及*DM)0000~1023、 6144~6655 #0000~9999(BCD 码)

a ○XFER S S+1

N S D
D D+1

D:000~019、200~255
HR00~19 、 AR00~15 、 LR00~15 DM0000~1023 *DM0000~1023、6144~6655

S+N-1

D+N-10

71 块设置 BSET 指令
a ○BSET

a BSET/○BSET(71)

S D1 D2 S D D+1 D2

将源数据 SCH 的数据传送到 从 D1CH 开始~D2CH 结束的所 有通道。当 D1、D2 不在同一 区域、D2<D1、及间接寻址 DM 不存在时出错标志 25503ON, 此时不执行该指令。

S:000~019、200~255 HR00~19、AR00~15、 LR00~15 T/C000~127 DM(及*DM)0000~1023、 6144~6655 #0000~FFFF D1、D2:000~019、200~252 HR00~19 、 AR00~15 、 LR00~15 DM0000~1023 * DM0000~1023、6144~6655

73 数据交 XCHG 换指令
a ○XCHG

a XCHG/○XCHG(73) D1 D2

指定的 D1、 之间进行数据交换 D2C D1 出错标志位 ON D2 当间接寻址 DM 不存在时,25503

D1、 D2: 000~019、200~255
HR00~19、AR00~15、 LR00~15 T/C000~127 DM0000~1023

*0000~1023、6144~6655
29

80 单 字 分 配 指 令

a DIST DIST/ ○ DIST(80) a ○

1、当控制数据 C CH 中之 IC15~12≤8 时,完成数据分配动作,即: 将 SCH 的内容传送到(D+偏移数据)CH 通道中 P79 页图 3.94 注意此处非(D)非 D 的内容而是 D 本身+偏移数据 控制数据 C 中的内容 高位 低位

S:000~019、200~255
HR00~19、 AR00~15、 LR00~15 T/C000~127 DM 及*DM) ( 0000~1023、 6144~6655 #0000~FFFF D:000~019、200~255 HR00~19、 AR00~15、 LR00~15 T/C000~127 DM0000~1023 *DM0000~1023 6144~6655 C:000~019、200~255 HR00~19、 AR00~15、 LR00~15 T/C000~127 DM0000~1023、 6144~6155 *DM0000~1023 6144~6655 、 、

源数据 S
目标基准通道

DIST

≤8 偏移数据 000~999 2、当控制数据 C 中之 IC15~12=9 时,将指定的数据(16 位)传送 堆栈 控制数据 C 中的内容 高位 9 堆栈长度 (000~999) ① ② ③ D 通道~(D 本身+堆栈长度数据)通道成为堆栈区 D 通道的数据(D 内的数据)成为堆栈指针 将 S 通道数据存入 D+堆栈指针+1 通道内,同时堆栈指 针+1。条件成立时每扫描一次就执行一次。 *DIST 指令在每个扫描周期都执行一次,所以一般使用微分型 式,以控制执行的次数。例见 P79 页图 3。95 *在使用 DIST 进行堆栈操作之前一定要初始化堆栈指针 出错标志 25503ON 时该指令不执行:控制数据 C 中的偏移 量(四位)或堆栈长度不是 BCD 码;IC15~12≤8 时,D 与 D+C 不在 同一数据区,IC15~12=9 时,D+IC11~00(低三位)与 D 不在同一数据 区;堆栈指针+1 的值超出堆栈长度;间接寻址 DM 通道不存在。 相等标志位 25506 在 S 通道的内容为 0000 时为 ON 低位

D
控制数据 C

81 数 据 调 用 指 令

COLL

COLL/

a ○

根据控制通道 C 的内容复制指定的数据 1、 当 IC15~12=8 或 9 时进行出栈操作 高位 C 的内容 低位

S:000~019、200~255
HR00~19、AR00~15、 LR00~15、T/C000~127 DM0000~1023、 堆栈长度 6144~6155 *DM0000~1023 6144~6655 、

COLL(81) a ○ COLL 源基准通道 S 控制数据 C 目的通道 D

8或9

(000~999)
9:先入先出 8:后入先出 (1) (2) (3) 先将 S 通道~(S+堆栈长度)通道为止组成堆栈领域 S 通道内的数据成为堆栈指针 有先入先出和后入先出两种动作

C:000~019、200~255
HR00~19、AR00~15、 LR00~15、T/C000~127 DM0000~1023、 *DM0000~1023 6144~6655 *控制数据 C 的内容是 0000~9999 的 BCD 码 D:000~019、200~255 HR00~19、AR00~15、 LR00~15 DM0000~1023、 *DM0000~1023 、 30 、

<先入先出>动作: S+1 通道的内容存入 D 通道后,S 通道的堆栈指针值-1,堆栈领 域的内容以通道为单位上移一个地址。详见 P80 页图 3.98 <后入先出动作>: S+堆栈指针通道的内容存入 D 通道,,其它通道数据不变,S 通道 的堆栈指针-1。详见 P81 页图 3。99 2、当(C)=0000~6655 时,将 S+(C)通道的内容送入 DCH 25503 出错标志位 ON:控制数据 C 中的偏移量数据或堆栈长 度不是 BCD 码;当: (C)=0000~6655 时,S 与 S+(C)不在同一

数据区;堆栈操作时,堆栈指针的值超出堆栈长度;间接寻址 DM 通道不存在。 相等标志位 25506 在 S 内容为 0000 时为 ON

6144~6655

82 位 传 送 指 令

MOVB

a MOVB/○MOVB (82)

按控制数据 C 的内容,将 S 中指定位传送到 D 的指定位。 传送前通道除传送的位以外没有变化。例见 P82 页图 3。101 控制数据的内容 高位 低位

S:000~019、200~255
HR00~19、AR00~15、 LR00~15、 T/C000~127 DM 及*DM) ( 0000~1023、 6144~6655 #0000~FFFF

a ○

源数据 S
控制数据 C 目的通道 D

MOVB

源 CH 的指定位

(00~15) 目的 CH 的指定位 (00~15) 该指令不执行。

C:000~019、200~252
HR00~19 、 AR00~15 DM ( 及 *DM )

当 C 指定的位不存在或间接寻址 DM 不存在时,25503ON, LR00~15 T/C000~127
按照控制数据 C 的内容将 S 通道的指定桁(4 个位)传送到 D 通道的指定桁(4 个位) ,除传送桁以外 S 及 D 通道的其它桁内 容不变。详见 P82 页图 3。103 控制数据 C 的内容 高位 低位 0000~1023.6144~6655 *控制数据的内容是 000~9999 间的 BCD 码

83 数 字 传 送 指 令

MOVD

MOVD/ a ○MOVD

a ○

源数据 S
控制数据 D 目的通道 C

D: 000~019、200~252
HR00~19 、 AR00~15 源通道的传送开始 桁(0~3) LR00~15 DM0000~1023 *DM0000~1023、 6144~6655

MOVD

不用 目的通道的接收开始

桁(0~3)

传送的桁数(0~3) 0:1 桁 4 位 1:2 桁 8 位
2:3 桁 12 位 3:4 桁 16 位

九、数据转换指令
FUN NO 23 BCD BIN 码 转 换
a ○BIN

指令

符号

助记符

操作数



能/相关标志

操作数

BIN

a BIN/○BIN(23)

将 S 通道的 BCD 码变换成二进制数据送 入 D 通道,S 通道数据不变 出错标志 25503 在 S 内容不是 BCD 码时 ON,此时该指令不执行;相等标志位 25506 当转换结果为 0000 时 ON

S:000~019、200~252 HR00~19、AR00~15 LR00~15 T/C000~127(仅 BCD BIN 转换 时) DM ( 及 *DM ) 0000~1023.6144~6655 D:000~019、200~252 HR00~19、AR00~15 LR00~15。 DM0000~1023 *DM0000~1023、6144~6655

源通道 S 目的通道 D

24

BIN BCD 转换

BCD

a BCD/○BCD(24)

将 S 通道的二进制数变换成 BCD 码并送 入 D 通道 25503:当转换完的 BCD 码大于 9999 时或间接寻址 DM 不存在时 ON,此时该程 序不执行 当转换结果为 0000 时,相等标志位 25506ON

源通道 S
a ○BCD

目的通道 D

76

译 码 器 指 令 4 16

MLPX
a ○

a MLPX/ ○ MLPX

用桁指定数据 (C) S 通道内的指定桁 把 (4bit)的内容(0~F15)译码成一个 16 Bit(位号)数向 D 通道的 16 位中 桁指定数据(C)内容

S、C:000~019、200~252 HR00~19、AR00~15 、LR00~15 T/C000~127 *DM0000~1023、6144~6655 D:000~019、200~252 HR00~19、AR00~15 、LR00~15 31

(76) 源通道 S 控制数据 C 目的开始通道 D MLPX

输出(相应的位置成 ON,其它置为 OFF) DM0000~1023、6144~6655

变换开始桁号(0~3)

译码桁数(0~3) 0:1 桁 1:3 桁 *C=0011 时
源 目的 D D+3 D+2 D+1 D S 3 2 1 0

DM0000~1023 *DM0000~1023、6144~6655

1:2 桁 2:4 桁

“0”固定

当 D+3 超出数据区域范围或间接寻址 DM 不存在时,出错标志 25503ON 77 编 码 器 指 令 16 4
a ○

DMPX

a DMPX/ ○ DMPX

根据控制数据 C 的内容把 S 开始的通道 内的 16 Bit 数据 ON 状态的最上位的 Bit 位号变换成 4 Bit(0~F)数据并向 D 通 道的指定桁上输出 (将源通道状态为 ON 的最高位的位号 编码成 4 Bit 16 进制数) *一次最多对四个源通道编码 桁指定的数据(C)的内容

S:000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 D:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~1023、6144~6655 C:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 #0000~FFFF *DM0000~1023、6144~6655

(77) 源开始通道 S 结果通道 D 控制数据 C DMPX

编 结 输 开 桁 码 果 出 始 (0~3) 编码数据的通道个数(0~3) 0:1CH 1:2CH 2:3CH 3:4CH “0”固定 详见 P85 页图 3。110 及 3。111 当 S+3 超出数据区域范围或间接寻址 DM 通道不存在时为 ON,此时该指令不执行 86 ASCII 码 变 换 指 令
a ○

ASC

a ASC/○ ASC(86)

根据控制数据(C)的内容将 S 通道的指 定 1 桁(4 Bit 1 桁,一次最多 4 桁即 16 Bit)的内容变换成 8 Bit 的 ASCII 码数 据并存入指定的 D 开始的通道的上位或 下位 8 Bit 上输出 控制数据 C 的内容

S:000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 C:000~019、200~252 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 D:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~1023、6144~6655

源通道 S
控制数据 C
结果开始通道 D

ASC

S 变换开始桁号(0~3) 变换桁数(0~3) 0:1 桁 2:3 桁 0:低 8 位 奇偶校指定位 0:无校验 1:偶校验 2:奇校验 指校验位与 ASCII 码中的 “1”的个数应为偶数 1:2 桁 4:4 桁 1:高 8 位

DCH 的输出开始位置

32

指较验位与 ASCII 码中的 “1” 的 个数应为奇数 *若 C 中指定从 D 的高位开始存放, 则目 的通道最多可占用 3 个 当控制数据错误、结果通道超出数据区 范围、 间接寻址 DM 不存在时, 出错标志 位 25503ON,该指令不执行.例见 P86 78 七 段 译 码 指令
a ○

SDEC

SDEC/ (78)

a ○

SDEC

根据控制数据 C 把 S 通道内的 1 桁的内 容(0~F)(一次最多 4 桁)变换成 8bit 的 七段数据并在指定的 DCH--的上位或下 位输出。如果 C 指定从 D 的上位(高 8 位)开始存放,则最多可占用 3 个目的 通道,每个通道可放两桁的转换结果, 其它七位分别对应于七段数码管的 a、 b、c、d、e、f、g 段 控制数据 C 的内容

S:000~019、200~255 HR00~19、AR00~15 、LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 C:000~019、200~252 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 #0000~FFFF D:000~019、200~252 HR00~19、AR00~15 、LR00~15 DM0000~1023 *DM0000~1023、6144~6655

源通道 S(二进制)

SDEC

控制数据 C
目的开始通道 D

分低 8 位和高 8 位, bit7 和 bit15 不用, HR00~19、AR00~15 、LR00~15

指定 S 中第一个被译码的 桁号(0~3) 指定 S 中被译码的桁数 (0~3) 0:1 桁 2:3 桁 1:2 桁 3:4 桁

指定从 D 的高位还是低位开始 接受第 1 个转换结果 0:低 8 位 固定为“0” 例见 P88 页 3。116 及 3。117 1:高 8 位

1、BIN SCH

BCD 码变换 BIN BIN
0

BCD BCD

DCH 4
X10
3

1 0 E C
X16 X16
3 2

3
X10
2

3
X10
1

2
X10
0

X16

1

X16

1X163+14(E)X161+12(C)X160=4096+224+12=4332 反过来,将四桁 BCD 码变换成四桁 16 进制数: 16*16*16=4096 4332-4096=236 236-224=12

16*16=256 而 14*16=224

因此 BCD 码 4332 可变换为 16 进制数 10E(14)C(12)

33

2、把桁(4bit)的数据变换成 ASCII 码 变换数据内容 变换输出数据 8bit 数据 一桁(4bit)内容 代码 MSB 0 0 0 0 0 $30 * 0 1 1 0 1 0 0 0 1 $31 * 0 1 1 0 2 0 0 1 0 $32 * 0 1 1 0 3 0 0 1 1 $33 * 0 1 1 0 4 0 1 0 0 $34 * 0 1 1 0 5 0 1 0 1 $35 * 0 1 1 0 6 0 1 1 0 $36 * 0 1 1 0 7 0 1 1 1 $37 * 0 1 1 0 8 1 0 0 0 $38 * 0 1 1 1 9 1 0 0 1 $39 * 0 1 1 1 A 1 0 1 0 $41 * 1 0 0 0 B 1 0 1 1 $42 * 1 0 0 0 C 1 1 0 0 $43 * 1 0 0 0 D 1 1 0 1 $44 * 1 0 0 0 E 1 1 1 0 $45 * 1 0 0 0 F 1 1 1 1 $46 * 1 0 0 0

LSB

0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1

0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1

0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0

其中*为奇偶 Bit,依奇偶指定及输出数据的其余七位状况而变化

3、把桁(4Bit)的内容 0~F 译码为 8 Bit 的七段数据时,如下表所示: 变换数据位的内容 变换输出数据 7 段显示 数值 Bit 内容 g f e d c b a a 0 0 0 0 0 0 0 1 1 1 1 1 1 a f b 1 0 0 0 1 0 0 0 0 0 1 1 0 b 2 0 0 1 0 0 1 0 1 1 0 1 1 c 3 0 0 1 1 0 1 0 0 1 1 1 1 g d e c 4 0 1 0 0 0 1 1 0 0 1 1 0 e 5 0 1 0 1 0 1 1 0 1 1 0 1 f d 6 0 1 1 0 0 1 1 1 1 1 0 1 g 7 0 1 1 1 0 0 1 0 0 1 1 1 8 1 0 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 0 1 1 0 1 1 1 1 A 1 0 1 0 0 1 1 1 0 1 1 1 B 1 0 1 1 0 1 1 1 1 1 0 0 C 1 1 0 0 0 0 1 1 1 0 0 1 D 1 1 0 1 0 1 0 1 1 1 1 0 E 1 1 1 0 0 1 1 1 1 0 0 1 F 1 1 1 1 0 1 1 1 0 0 0 1

34

十、十进制运算指令
FUN NO 40 进位 位置 1 指 令 41 进位 位置 0 指 令 30 BCD 码加 法指 令
a ○ADD

指令

符号

助记符

操作数



能/相关标志

操作数

STC
a ○STC

a STC/○STC(40)

进位标志位被置为 1(0) 做加、减法时,进位位要参与运算,一般要在运 算之前清进位位

CLC
a ○CLC

a CLC/○CLC(41

ADD

a ADD/○ADD(30)

将 S1、S2 通道内的 BCD 码和 CY 位相加,结果存 入结果通道 D 中。 S1+S2+CY D 、CY 若和大于 9999 时, 将把 CY25504 置为 ON; 若 和为 0000 时,相等标志 25506 为 ON 当 S1、S2 中为非 BCD 码或间接寻址 DM 不存 在时,出错标志位 25503ON,此时该指令不执行 *由于 CY 参与运算,一般运算前应先清 CY

S1、S2:
000~019、200~255 HR00~19、AR00~15 、 LR00~15 T/C000~127 DM0000~1023 6144~6655 *DM0000~1023 6144~6655 #0000~9999 、 、

被加数据或被加数据 CHS1 加数数据或加数数据 CHS2

结果通道 D

31

BCD 码减 法指 令

SUB

a SUB/○ SUB(31)

S1 的内容减 S2 的内容及 CY,结果存入 D 通道。若 结果为负,置位 CY,而 D 中的内容为十进制结果 的二进制补码,要想将 D 中的内容转换为实际结 果,应先清 CY,再用 0 减去 D 中的内容 S1—S2—CY D、CY *由于 CY 参与运算,一般运算前应先清 CY 标志位: S1、 中有非 BCD 码时或间接寻址 DM 当 S2 不存在,出错标志 25503ON 当被减数小于减数时,有借位,CY 位 25504 为 ON 当差为 0000 时,相等标志位 25506ON

被减数据或被减数据 CHS1 减数数据或减数数据 CHS2

D: 000~019、 200~255
HR00~19、AR00~15 、 LR00~15 DM0000~1023 *DM0000~1024 6144~6655 、

结果通道 D
a ○

SUB

54

双字 BCD 码加 法指 令

ADDL

a ADDL/○

ADDL(54)

将 S1+1、S1 通道内容与 S2+1、S2 通道的内容和 CY 相加,结果存入 D+1、D 通道中。 (S1+1·S1)+(S2+1·S2)+CY

S1、S2; 000~018、200~251 HR00~18、AR00~14 、 LR00~14 DM0000~1022 6144~6654 、

被加数开始通道 S1 加数开始通道 S2 目的开始通道 D
a ○ ADDL

D+1·D、CY

若结果大于 99999999,CY25504 被置为 ON; 当加数或被加数中有非 BCD 码时,或间接寻址 DM 通道不存在时,出错标志 25503 为 ON。见 P91 页

当结果为 00000000 时,相等标志位 25506 为 ON; T/C000~126

35

55

双字 BCD 码减 法指 令

SUBL

a SUBL/○SUBL(55) 被减数数据开始通道

S1+1、 通道数据与 S2+1、 通道数据及 CY 进行 S S2 BCD 减算,减算结果送入 D+1、D 通道。 S1+1·S1—S2+1·S2—CY

*DM0000~1023 6144~6655 D: 000~018、 200~251 HR00~18、AR00~14 、 LR00~14 DM0000~1022* DM0000~1023 6144~6655 、

S1 减数数据开始通道 S2 目的开始通道 D

D+1·D、CY

当结果为负时,将置位 CY,而 D+1、D 通道的内容 为实际结果的十进制补码,要将其转换为实际结 果,应先清 CY,再用 0 减 D+1、D 通道的内容。当 结果为 00000000 时,相等标志位 25506ON,当减 数或被减数中有非 BCDF 码或间接寻址 DM 通道不 存在时,出错标志位 25503ON,该指令不执行。见 P92 页

a ○SUBL

32

BCD 码乘 法指 令

MUL

a MUL/○ MUL(32)

将 S1 通道的 BCD 码与 S2 通道的 BCD 码相乘,结果 存入 D+1、D 通道

S1、S2: 000~019、200~255 HR00~19、AR00~15 、

S1 乘数或乘数通道 S2 目的开始通道 D
被乘数或被乘数通道

S1XS2

D+1
上位

D
下位

LR00~15 T/C000~127 DM0000~1023 6144~6655 *DM0000~1023 6144~6655 #0000~9999 D: 000~019、 200~255 HR00~19、AR00~15 、 LR00~15 DM0000~1023 *DM0000~1023 6144~6655 、 、 、

a ○ MUL

当乘数或被乘数中有非 BCD 码或间接寻址 DM 不 存在时,出错标志 25503ON,当运算结果内容为 00000000 时,相等标志位 25506ON a DIV/○DIV(33)

33

BCD 码除 法指 令

DIV

将 S1 的内容除以 S2 中的内容,结果送入 D+1、D 通道(其中:D+1 通道存余数,D 通道存商) 余数 S1÷S2 D+1 D 商

S1 除数或除数通道 S2 目的开始通道 D
被除数或被除数通道

a ○DIV

当 S1 或 S2 通道中有非 BCD 数或间接寻址 DM 不存 在时, 出错标志 25503ON, 当运算结果为 00000000 时,相等标志位 25506ON

56

双字 BCD 码乘 法指 令

MULL

a MULL/○MULL(56) 被乘数开始通道 S1 乘数开始通道 S2 目的开始通道 D

S1+1、SXS2+1、S2

D+3、D+2、D+1、D

S1、S2: 000~018、020~254 HR00~18、AR00~18

上位

下位

LR00~18 T/C000~127 DM0000~1022 6144~6654 *DM0000~1024 6144~6655 D: 000~016、 020~249 HR00~16、AR00~12 LR00~12 DM0000~1020 *DM0000~1024 6144~6655 、 、 、

a ○MULL

S1+1、 通道的 8 位 BCD 码与 S2+1、 通道内的 S S2 8 位 BCD 码进行 BCD 乘算,结果送入 D+3、D+2、 D+1、D 通道。当 S1+1、S、S2+1、S2 通道中有非 BCD 数或间接寻址 DM 通道不存在时,出错标志位 25503ON, 该指令不执行; 当运算结果为 00000000 相等标志位 25506ON a DIVL/○DIVL(57)

57

双字 BCD 码除 法指 令

DIVL

S1+1、S 通道的 8 位 BCD 码除以 S2+1、S2 通道内 的 8 位 BCD 码,结果存入 D+3~D 中,其中 D+3、D+2 存余数,D+1、D 中存商 S1+1、S÷S2+1、S2 D+3、D+2、D+1、D 余数 商

a ○DIVL 当除数、被除数中有非 BCD 码或间接寻址 DM 不存 在时, 出错标志 25503ON, 当运算结果为 0000 时, 相等标志位 25506 为 ON

36

38

递增 指令

INC a ○INC

a INC/○INC(38) 递增通道 D

作一次递增通道数据(BCD 码)增 1 操作 当递增通道中为非 BCD 码或间接寻址 DM 不存在 时,出错标志 25503ON,当运算结果为 0000 时, 相等标志位 25506 为 ON

D: 000~019、 200~252 HR00~19、AR00~15 、 LR00~15 DM0000~1023 *DM0000~1023 6144~6655 、

39

递减 指令

DEC a ○DEC

a DEC/○DEC(39) 递减通道 D

作一次递减通道数据(BCD 码)减 1 操作 当递减通道中为非 BCD 码或间接寻址 DM 不存在 时,出错标志 25503ON,当运算结果为 0000 时, 相等标志位 25506 为 ON

1、减法指令的数据内容和运算结果
数据 S1>S2 S1=S2 S1<S2 运算结果 D=S1-S2 D=0 D=S1+(10000-S2) 输出补数 25504 0(进位) 0 1 25506 0(相等) 1 0

使用减法指令时,没有根据 S1、S2 数据的大 小一定要运算结果输出为真数的限制,故在紧接减 法指令后面,对 25504(CY)的 ON、OFF 进行判别, 如果为 ON, 则请编制把补数变为真数的程序 (#0000

—补数=真数) 。此时,要在减法指令前面使用 CLC(41)指令。 例: 00002 TR0 CLC(41) CY 清 0 @SUB(31) 010 DM0100 HR20 25504(CY) @CLC(41) @SUB(31) #0000 HR20 HR20
1 ○的减法运算:

1 ○

CY 清 0
2 ○

010CH
DM0100

1 3

0 4 0

2 5

9 2



进位 1022+(10000-3452)=7577
HR20CH

7

5 1

7

7

此时 25504(CY)

2 ○的减法运算··因为进位 CY 为 ON,所以应把补数改为真数 · #0000 0 0 0 0

HR20CH

7

5

7

7
37



进位 0000+(10000-7577)=2423
HR20CH

0

2

4 1

2

3

进位

最终的运算结果 010CH —
DM0100

1 3 2

0 4 4

2 5 2

9 2 3

HR20CH

进位标志位 CY 为 ON,所以实际的数据为—2423 十一、二进制运算指令
FUN NO 50 二进 制加 法指 令
a ○ADB

指令

符号

助记符

操作数



能/相关标志

操作数

ADB

a ADB/○ADB(50)

进行两个通道 S1、S2 内的 BIN16bit 数据及 CY 的加法运算, 并向指定的目的通道 D 输出 S1+S2+CY D、CY 若运算结果大于 FFFF,则 CY25504ON; 若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON 当运算结果为 0000 时, 相等标志位 25506ON

S1、S1:000~019、200~255 HR00~19 、 AR00~15 LR00~15 T/C000~127 DM0000~1023 、 6144~6655 *DM0000~1023、6144~6655 #0000~FFFF D:000~019、200~252 HR00~19 、 AR00~15 LR00~15、 DM0000~1023 *DM0000~1023、6144~6655 、 、

被加数或被加数通道 S1

加数或加数通道 S2

目的通道 D

51

二进 减法 指令

SBB

a SBB/○ SBB(51)

进行两个通道 S1、S2 内的 BIN16bit 数据及 CY 的减法运算, 并向指定的目的通道 D 输出 S1-S2-CY D、CY 若 结 果 为 负 ( 有 借 位 时 ) 将 置 位 CY , (25503ON) ,而 D 中的内容为实际结果的二 进制补码;若间接寻址 DM 不存在时,出错 标志位 25503ON; 当运算结果为 0000 时, 相 等标志位 25506ON

被减数或被减数通道 S1

减数或减数通道 S2

目的通道 D
a ○

SBB

52

二进 制乘 法指 令

MLB

a MLB/○ MLB(52)

进行两个通道 S1、S2 内的 BIN16bit 数据的 乘法运算,并向指定的目的通道 D 输出 S1XS2 D+1 上位 D 下位

S1、S1:000~019、200~255 HR00~19 、 AR00~15 LR00~15 T/C000~127 DM0000~1023 、 6144~6655 *DM0000~1023、6144~6655 #0000~FFFF D:000~018、200~251 、

被乘数或被乘数通道 S1

乘数或乘数通道 S2

目的开始通道 D
a ○

若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志 位 25506ON

MLB

38

53

二进 制除 法指 令

DVB

a DVB/○DVB(53)

进行两个通道 S1、S2 内的 BIN16bit 数据的 除法运算,并向指定的目的通道 D 输出 S1÷S2 D+1 余数 D 商

HR00~18 、 AR00~14 LR00~14 DM0000~1022



被除数或被除数通道 S1

除数或除数通道 S2

*DM0000~1023、6144~6655

目的开始通道 D
a ○DVB

若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志 位 25506ON

``十二、逻辑运算指令 FUN 指 符号 助记符 操作数 NO 令
29 求反 指令
a ○COM



能/相关标志

操作数
D:000~019、200~252 HR00~19 、 AR00~15 、 LR00~15 DM0000~1023 *DM0000~1023 6144~6655 、

COM

a COM/○COM(29)

将 D 通道的内容求反 若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志位 25506ON

通道号 D

34

逻辑 与指 令

ANDW

a ANDW/○ANDW(34)

以通道数据为单位,S1 通道数据、常数与 S2 通道数据、常数进行逻辑与 S1·S2 D 若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志位 25506ON

S1、S2: 000~019、200~255 HR00~19 、 AR00~15 、 LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023 6144~6655 #0000~FFFF D: 000~019、200~255 HR00~19 、 AR00~15 、 LR00~15 DM0000~1023 *DM0000~1023 6144~6655 、 、

第一数据或通道 S1 第二数据或通道 S2 目的通道 D
a ○ANDW

35

逻辑 或指 令

ORW

a ORW/○ORW(35)

以通道数据为单位,S1 通道数据、常数与 S2 通道数据、常数进行逻辑或
+ S1○S2

第一数据或通道 S1 第二数据或通道 S2 目的通道 D
a ○ORW

D

若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志位 25506ON

36

异或 指令

XORW

a XORW/○XORW(36)

以通道数据为单位,S1 通道数据、常数与 S2 通道数据、常数进行逻辑异或(相同为 0,不同 为 1),结果送入 D 通道 若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志位 25506ON

第一数据或通道 S1 第二数据或通道 S2 目的通道 D
a ○

XORW 37 同或 指令 XNRW
a XNRW/○ XNRW(37)

以通道数据为单位,S1 通道数据、常数与 S2 通道数据、常数进行逻辑同或(相同为 1,不同 为 0),结果送入 D 通道 若 间 接 寻 址 DM 不 存 在 时 , 出 错 标 志 位 25503ON;当运算结果为 0000 时,相等标志位 25506ON

第一数据或通道 S1 第二数据或通道 S2 目的通道 D
a ○

XNRW

十三、特殊指令 1、故障诊断指令
39

FUN NO 06

指令

符号

助记符 数

操作



能/相关标志

操 作 数

运 行 继 续 的 故 障 诊 断 故 障 诊 断 复位

FAL @FAL

FAL/@FAL(06) NO:

运行继续的故障诊断动作时(ERR/ALM 灯闪光)被指定的 FAL 号在特殊辅助 继电器(25300~25307 的 8 位中以 BCD 码二桁输出),但程序仍可继续执行

NO: 00~99

FAL00 @FAL00

FAL/@FAL(06) 00

解除含有 FAL 指令的运行继续的故障报警显示内容,用一个扫描周期解除 一个报警内容,即清除上一个故障代码,把下一个故障代码存入 FAL 输出 区(25300~25307)中

NO: 00

07

运 行 停 止 的 故 障 诊 断

FALS

FALS(07)

NO

显示运行停止故障诊断的动作(ERR/SLM 灯常亮)被指定的 FAL 号在特殊辅 助继电器(25300~25307 低 8 位中以 BCD 码二桁输出),所有输出复位。运 行停止的故障解除要在故障原因解除后,用外围设备(编程器)及用程序 的方法实现例见 P99 页 3。146

NO: 00~99

2、其它特殊指令
FUN NO 46 指令 信息显 示指令 @MSG

符号
MSG

助记符 操作 数
MSG/@MSG(46) 信息开始通道 S



能/相关标志

操作数
S:000~012、200~248 HR00~12、AR00~08 LR00~08、T/C000~120 DM0000~1016、6144~6148 *DM0000~1024、6144~6655

从 S~S+7 这八个通道中读取 16 个 ASCII 码,并把对应的字符显 示在编程器的屏幕上。有关信 息缓冲区及信息显示优先权及 例子见 P100 页。信息显示的清 除亦可用 FAL(06)00 实现

97

I/O



IORF

IORF/@IORF(97) 开始通道 D1 结束通道 D2

刷新 D1~D2 之间所有输入输出 通道 当 D1>D2 时出错标志 25503ON 说明:通常的 I/O 刷新是一次 循环统一执行一次 (END 刷新) , 而执行该指令,则可在程序循 环途中对指定的输入输出继电 器实行刷新,以缩短输出滞后 输入的时间,提高 I/O 响应速 度

D1、D2: 000~019

新指令 @IORF

67

位计数 指令

BCNT

BCNT/@BCNT(67) 通道数 N 源开始通道 S 目的通道 D

计算在 S 和 S+N-1 之间所有通 道中为 1 的 bit 的总数,结果以 BCD 码送入 D 通道 当通道数 N 非 BCD 码、N 为 0、 S+N-1 超出数据区、 计算总数超 出错标志 25503ON; 当计算结果 为 0000 时, 相等标志位 25506ON

N : 000~019 、 200~255 、 HR00~19 、 AR00~15、LR00~15、T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 #0000~9999 AR00~15、LR00~15、T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 D : 000~019 、 200~252 、 HR00~19 、 AR00~15、LR00~15、T/C000~127 DM0000~1023 *DM0000~1023、6144~6655 40

@BCNT

过 9999、 间接寻址 DM 不存在时, S : 000~019 、 200~255 、 HR00~19 、

十四、子程序控制指令
FUN NO 指令 符号 助记符 操作数 功 能/相关标志 操作数

91

子程序调 用指令

SBS @SBS

SBS/@SBS(91) 编号 NO

在主程序中调用子程序,主程序可以 无数次地调用子程序。子程序的嵌套 级数不能超过 16 级 当子程序不存在、从自己子程序中调 用自己子程序、嵌套超过 16 级时,出 错标志 25503ON

NO:000~049

92 93 99

子程序定 义指令 子程序返 回指令 宏指令

SBN

SBN(92)

NO

表示子程序的开始并定义子程序的编 号为 NO

NO:000~049

RET

RET(93)

表示指定的子程序终了

MCRO

MCRO(99) 子程序号 N 第一个输入字 S 第一个输出字 D

用一个单一子程序代替数个具有 相同结构但操作数不同的子程序。 首先将 S~S+3 通道的内容复制到 宏指令输入区(4 个字)232~235CH, 再将 D~D+3CH 的内容复制到达宏指令 输出区(4 个字)236~239CH,再调用 N 号子程序,当子程序完成时,将 236~239CH 的内容复制到 D~D+3CH 中 例见 P103 页图 3。157 当指定的子程序不存在、操作数超 出数据区范围、间接寻址 DM 不存在、 子程序自己调用时,出错标志位 25503ON,该指令不执行

N:子程序编号 000~049 S : 000~016 、 200~252 、 HR00~16、AR00~12LR00~12、 T/C000~124、 DM0000~1020、6144~6652 *DM0000~1023、6144~6655 D:000~016、200~249 HR00~16、AR00~12LR00~12、 T/C000~124、DM0000~1020 *DM0000~1023、6144~6655

*高速计数器 1、高速计数器计数功能
要使用高速计数器,必须用编程器先对 DM6642 的内容进行设置 通道地址 DM6642 位 00~03 04~07 08~15 (1) 计数模式
1 ○递增模式——当 DM6642 的高位为 01(使用高速计数器设定) ,低位为 X4(复位方式略,采用递增计数





计数模式设定:0—增减计数模式 4—递增计数模式 复位方式设定:0—Z 相输入信号+软件复位 1—软件复位

是否使用高速计数器设定:00—不使用 01—使用

模式)时 编码器输入单相输入脉冲信号接 00000 端,复位信号接 00002 端,对单相脉冲进行递增计数,计数 范围为 0~65535(十六进制为 00000000~0000FFFF) ,最高频率 5KHZ
2 ○增减模式——当 DM6642 高位为 01(使用高速计数器设定) ,低位为 X0(复位方式略,采用增减计数

模式)时 编码器输入两路相位差 90°的脉冲,A 相接 00000,B 相接 00001,复位 Z 相接 00002 端,进行递
41

增递减计数,范围—32767~+32767(十六进制为 F0007FFF~00007FFF) ,最高频率为 2.5KHZ。若 A 超前 则递增,若 B 超前则递减。 (2)高速计数器复位模式
1 ○Z 相信号和软件复位(DM6642 数据为 010X 时) ,当高速计数器的复位标志 25200ON 时,Z 相复位

信号由 OFF 变 ON 时,高速计数器当前值复位(0)
2 ○纯软件复位(DM6642 数据为 011X 时) :当高速计数器的复位标志 25200ON 时,高速计数器当前值

复位(0) (3)计数器的上溢和下溢 高速计数器当前值存于特殊辅助继电器 249CH(存当前值高 4 位) 、248CH(存当前值低 4 位)中, 当计数器从上限值(0000FFFF 递增计数或 00007FFF 增减计数)开始加计数时,则上溢,此时 249、248CH 的内容为 0FFF FFFF 并保持,高速计数器停止计数;从下限值(00000000 递增或 F0007FFF 增减)开始 减计数时则下溢,此时 249、248CH 的内容为 FFFF FFFF 并保持,高速计数器停止计数。只有当高速计数 器复位时,才会清除 249CH、248CH 的上溢或下溢状态。 2、 高速计数器中断方式 (1) 目标值比较中断:最多有 16 个比较目标值及中断子程序号组合(存于比较表中) ,当高速计 数器当前值等于目标值时,执行比较表中指定的中断子程序。 (2) 区域比较中断:比较表中保存了 8 个比较(上限和下限)条件和中断子程序号组合,当下限 值≤计数器当前值≤下限值 时,执行区域比较表中指定的中断子程序。

42

十五、高速计数器控制指令
FUN NO 63 比较 表登 录指 令 @CTBL CTBL 指令 符号 助记符 操作 数
CTBL/@CTBL(63)



能/相关标志

操作数

根据控制数据 C 的值登记一个用于高速计数器的比较 表,并可立即启动也可用 INI 指令启动。 C:000——登记一个目标值比较表,并启动比较 001——登记一个区域比较表,并启动比较 002——登记一个目标值比较表,用 INI(操作模式 控制指令)指令方始启动比较 003——登记一个区域比较表, INI 指令方始启动 用 比较

P:000 C:000~003 S(值比较 1+3) : 000~016、 、200~249 HR00~16、AR00~12 LR00~12 DM0000~1020 6144~6152 *DM0000~1023 6144~6155 S(域比较 5*8) 200~213

端口定义符 P 控制数据 C 比较表开始通 道S

目标值比较表 S S+1 S+2 S+3 S+4 S+5 S+6 S+7 S+8 S+9 · · · 比较的次数 1 目标值低 4 位 1 目标值高 4 位 比较1 中断子程序号 2 目标值低 4 位 2 目标值高 4 位 比较2 中断子程序号 3 目标值低 4 位 3 目标值高 4 位 比较3 中断子程序号 · · · S

区域比较表 1 下限值低 4 位 1 下限值高 4 位 1 上限值低 4 位 1 上限值高 4 位 比 较1中 子 序 断 程 号 2 下限值低 4 位 2 下限值高 4 位 2 上限值低 4 位 2 上限值高 4 位 比 较2中 子 序 断 程 号 · · ·

DM0000~0984、 6144~6166 *DM0000~1023 6144~6155

S+1 S+2 S+3 S+4 S+5 S+6 S+7 S+8 S+9 · · ·

*当区域比较条件不满八个时,余下的子程序号全部 置为 FFFF。例见 P106、107 页 3。161 及 3。162 *当 DM642 设置错误、间接寻址 DM 不存在、比较表 超出数据区域、程序执行高速计数器指令,中断子程序 中执行了 INI 指令时,出错标志 25503ON 61 操作 模式 控制 指令 @INI INI INI/@INI(61) 端口定义符 P 控制数据 C 设定值开始通 道S 控制高速计数器的启动及停止.。 C:000——启动表比较 001——停止表比较 002——改变高速计数器当前值, S+1、S 高 低 003——停止脉冲输出 249、248CH 高 低 P;000 C:000~003 S: 000~018、 200~251 HR00~18、AR00~14 LR00~14 DM0000~1022 6144~6654 *DM0000~1023 6144~6655 、 、

62

当前 值读

PRV

PRV/@PRV(62) 端口定义符 P

将高速计数器的当前值 249、248CH 送到目的通道 D+1、 P:000 D 中(也可用传送指令执行) C:000 43

出指 令 @PRV

控制数据 C 目的开始通道 D

当 D+1 超出数据区域、间接寻址 DM 不存在、控制数据 错误、 执行高速计数器指令时中断子程序执行了 INI 指 令时,出错标志 25503ON

S: 000~018、 200~251 HR00~18、AR00~14 LR00~14 DM0000~1022 *DM0000~1023 6144~6655 、

1、连续输出模式:输出端以指定的频率输出脉冲直到停止输出脉冲的指令输出时为止。
2、

独立输出模式:当输出脉冲达到指定的数目(1~16777215)时,脉冲输出停止。
指令 符号 助记符 操作数 功 能/相关标志 操作数

十六、脉冲输出控制指令
FUN NO 65 设置 脉冲 指令 PULS PULS/@PULS(65) 000 000
输出的脉冲数目通道 N

当脉冲输出以独立模式输出时,先设置脉冲 数(连续模式输出脉冲不需此设置)8 位 BCD 码(范围 1~16777215) ,N+1、N 通道分别存 放高 4 位和低 4 位 当指令设置错误、间接寻址 DM 不存在、操 作数超出数据区域或主程序执行脉冲输出 指令时,中断子程序中执行了设置脉冲指令 时,出错标志位 25503ON,该指令不执行。

N:000~018、200~251 HR00~18、AR00~14 LR00~14 DM0000~1022、6144~6654 *DM0000~1024 61244~6655 、

@PULS

64

速度 输出 指令

SPED

SPED/@SPED(64)
输出位区分符 P000 或 010 输出方式 M000 或 001

指定脉冲输出位、输出模式并设定脉冲输出 频率来启动脉冲输出 输出位 P:000——输出位为 01000 010——输出位为 01001 输出方式

F:000~019、200~252 HR00~19、AR00~15 LR00~15 DM0000~1023`6144~6655 *DM0000~1023 6144~6655 #0002~0200 脉冲输出指令的应用例 见 P110 页图 3。 及 3。 168 169 、

@SPED

脉冲频率 F

M:000——独立模式(输出脉冲

数到达设定数目时,自动停止输出) 001—连续模式(用 SPED 指令设定 F 为 0000 来停止输出或用 INI 指令停止脉冲输出)

频率 F 位 BCD 码) 值为 0002~0200 (4 : (对
应 20~2000HZ) *当脉冲正在输出时,无法用设置脉冲指令 PULS 改变指定的输出脉冲数目,但可以用速 度输出指令 SPED 来改变输出脉冲的频率 当指令设置错误、间接寻址 DM 不存在、 主程序再执行脉冲输出指令或高速计数器 指令时,中断子程序中执行了 SPED 指令时, 出错标志位 25503ON,该指令不执行

44

*中断控制 CPM1A 机型具有外部输入中断、间隔定时器中断、高速计数器中断功能,中断的处理顺 序:外部中断 0 定时器中断 外部中断 1 外部中断 2 外部中断 3 >间隔

高速计数器中断

外部中断输入端子为 00003~00006,分别对应调用子程序 000~003。外部输入中断有以下两 种模式: 1、输入中断模式——一旦中断输入端子被接通 (由 DM6628 设定相应输入端为中断输入端, 并直接执行控制数据 C1=000,控制数据 C2 设置相应中断输入端的输入不屏蔽的中断控 制指令 INT) ,立即产生中断 2、计数器中断模式——当中断输入端子被接通一定 次数时才产生中断(由 DM6628 设定相应输入端为中断输入端,并先执行 MOV 指令,将 输入计数器中断模式的输入中断计数器设定值传送到指定区域即 240~243CH,计数器中 断模式就开始减 1 计数,计数中断的当前值—1 存放在 244~247CH 中,当前值为 0 时产 生中断,计数器停止计数,中断被屏蔽,若想再次产生中断,必须执行更新计数器设定 值的中断控制指令 INT) DM6628 的内容
15 12 11 08 07 04 03 00

输入端子 0003 设定(当为 1 时,输入中断 0) 输入端子 0004 设定(当为 1 时,输入中断 1) 输入端子 0005 设定(当为 1 时,输入中断 2) 输入端子 0006 设定(当为 1 时,输入中断 3)

当 DM6628 中的 4 位数中任一位为 0 时,表示与“0”对应的输入端子为普通输入用;为 1 时,表示与“1”对应的输入端子为中断输入用。为 2 时,表示与 2 相对对应的输入端子为 快速输入(最小脉宽 0。2ms)

45

十七、中断控制指令
FUN NO

指 令 中 断 控 制 指 令

符号
INT

助记符 操作数 INT/@INT(89) 控制码 C1 000 控制数据 C2

功 能/相关标志
根据 C1 控制完成相应功能 C1 000 001 002 003 100 200 控制内容 屏蔽/不屏蔽输入中断 清除/不清除输入中断记忆 读出当前屏蔽状态 更新计数器设定值 屏蔽所有中断 解除所有中断屏蔽 C1:

操作数
000~003、100、200 C2(当 C1=002 时): 000~019 200~252 HR00~19 AR00~15 LR00~15 T/C000~127 DM0000~1023 *DM0000~1023、6144~6655 C2(当 C2≠002 时): 000~019 200~255

89

@INT

1、当 C1=000 时:用 C2 的 bit0~3(其它 bit 为 0)
定义中断输入端 00003~00006 的屏蔽或解除(1—屏 蔽;0—不屏蔽) 。屏蔽的输入被记录但不响应,一旦 被解除立即执行相应的中断程序,也可用清除屏蔽中

断记忆的方式(即执行 C1=001 的中断控制指令 INT) HR00~19 AR00~15 而不执行相应的中断程序

2、当 C1=001 时,用 C2 的 bit0~3(其它 bit 为 0)
定义中断输入端 00003~00006 的屏蔽记忆清除或不清 除(1—清除;0—不清除)

LR00~15 T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655

3、当 C1=002 时,将中断输入 00003~00006 的当前屏
蔽状态字输出到 C2CH 的 bit0~3 (1—当前被屏蔽; 0 —未被屏蔽) ,C2CH 的其它 bit 为 0

4、当 C1=003 时,

且外部输入中断采用计数器中断

模式(非输入中断模式)时,该指令用于更新计数器 的设定值(外部输入中断「计数器模式时」为减 1 计 数,当减 1 计数的当前值为 0 时产生中断,同时计数 器停止计数,相应的中断信号被屏蔽,若想再产生中 断,必须更新设定值) 。根据控制数据 C2 的 bit0~3 决定对应于 00003~00006 中断输入的计数器设定值是 否更新 (0—更新;1—不更新)

中断输入

计数器 设定值

计数器当 前值—1 244CH 245CH 246CH 247CH

输入 00003(中断输入 0) 240CH 输入 00004(中断输入 1) 241CH 输入 00005(中断输入 2) 242CH 输入 00006(中断输入 3) 243CH 计数器设定值范围为 0000~FFFF

5、C1=100

时,C2=0000,屏蔽所有中断(包括间隔

定时中断及高速计数器中断) ,在屏蔽期间,如果发 生中断请求,不会响应,但会将发生的中断记录下来, 当屏蔽解除后立即进行中断服务

6、C1=200,C2=0000,解除所有中断屏蔽,它并不清
46

除单独中断类型的屏蔽,仅仅是恢复到执行“屏蔽所 有中断”之前的状态 3.172 例见 P113 页图 3.171 及

69

间 隔 定 时 器 中 断 指 令

STLM

STLM/@STLM(69 ) 控制数据 C1 (常数或通道

根据 C1 的值控制完成间隔定时器的功能 1、 C1=000 启动单次中断模式:此时,C2 中是定时 设定值,C2+1 为时间间隔,C3 为指定的中断子 执行 C3 子程序
1 即为递减计 ○ 当 C2 是常数时,

C1:000、003、006、010 C2(当 C1=006 时) :000~018、 200~251 ( 当 C1=000 、 003 时 ) : 000~018、 200~254 HR00~15、AR00~14、LR00~14 T/C000~126 DM0000~1022(C=006) DM0000~1022 、 6144~6654 (C=000、003) *DM0000~1024、6144~6655 #0000~9999(BCDC=000、003) C3 : 000~019 、 200~252 (C1=006) 000(C1=010) 000~019、200~255(C1=000、 003) HR00~19、AR00~15、LR00~15 T/C000~127 DM0000~1023(C=006) DM0000~1023、6144~6655 (C1=000、003) DM0000~1023、6144~6655 #0000~0049 BCD C1=000、 ( 003)

程序号, 定时时间一到, 发生一次中断 (仅一次) (当 C1=010 时) , :000
2 数器的设定值,时间间隔固定为 1ms;○ 当 C2

@STLM

号) 控制数据 C2 控制数据 C3 (中断子程序 号)

是通道号时,C2 通道内的数据(BCD 码 0000 至 9999) 是递减计数器的设定值, 时间间隔是 C2+1 中的数据(BCD0005~0320) ,此时实际定时时间
3 为 (C2)X(C2+1)X0.1ms ; ○ C3 为 子 程 序 号 数

(000~049BCD)或为子程序号数所在的通道 2、 C1=003 启动重复中断模式:C2 为定时设定值, C2+1 为时间间隔,C3 为子程序号或子程序号所 在通道号,与
2 3 1○○同,区别在于中断发生时,

调用子程序, 同时定时器当前值恢复为设定值并 重新开始减 1 计数,间隔一定的时间就再发生一 次中断, 直到定时器停止工作 3、 C1=006 读出定时器当前值:读出递减计数器减 1 次数、时间间隔、及从上次减 1 到当前时刻的时 间存放在 C2、C2+1、C3 中,可以计算出从定时 开始到执行本指令的时间 4、 C1=010 停止定时:停止定时器的工作,C2、C3 固定为 000 5、 例见 P115 页图 3。174 和 3。175

47

十八、步进指令
FUN NO 08 单步 指令 STEP STEP(08) STEP 指令 符号 助记符 操作 数 STEP(08)S 表示步进梯形图执行的工序 S 开始,在各个工序 前面必须插入此指令 步进控制(工程步进流程)的终了。该指令之后 是常规梯形图程序。 09 步进 指令 SNXT SNXT(09)S 表示步进工程、步进流程启动或上步步进工序复 位,下一个步进工序开始。 S:000~019、200~252 HR00~19、AR00~15、LR00~15 S:000~019、200~252 HR00~19、AR00~15、LR00~15 功 能/相关标志 操作数

开始 FUN(09)S1

FUN(08)S1··FUN(09)S2 ·

FUN(08)S2··FUN(09)S3 ·

FUN(08)S3

FUN(08)结束

“·· ·”为第 SX 步进工序程序

48

应用程序举例
一、 24 小时计时器,将时间小时、分的当前值分别存放于 DM 0001 中,秒的当前值存放 于 DM0000 中。
25502 25314 C000 C000 CNTR 25314 C001 C001 CNTR 25314 C002 25313 002 #0023 MOV(20) CNT000 DM0000 MOV(20) CNT001 DM0001 MOV(20) CNT002 DM0002 小时现值 DM0002 分现值 DM0001 秒现值 DM0000 C002——小时计时 001 #0059 C001——分计时 0 1 2 ·· · 加 CNTR 减 #005 复位 000 #0059 25502——1 秒脉冲 C000——秒计时 当现在值 PV=设定值 SV 时,再加 1,PV=0000 CNT 方动作 25314——常 OFF

MOVD(83) DM0002 #0210

小时现值 控制码# 0 2 1

DM0001 的高二桁 0 源通道传送起始桁(第一桁) 传送桁数(二桁)

DM0001(目的)

目的通道传送起始桁(第三桁)

END(01)

49

二、

利用移位指令实现步骤控制

某建筑工地沙浆、石子搅拌机内需自动运送沙子和石子,复位位置在 A 处(行 程开关 A) ,工作开始时, 1、先在 A 处装石子 T1 秒钟,然后小车启动前进 2、小车走至 C 处(行程开关 C) ; 3、在 C 处卸石子 T2 秒钟 ; 4、小车启动后退走向 B 处(行程开关 B) 5、在 B 处装沙子 T3 秒钟; 6、小车启动前进走到 C 处; 7、小车在 C 处卸沙 T4 秒钟 8、小车启动后退至复位位置 A 处 输入点:00000 启动按扭 00001 停止按扭 00002A 位行程 00003 B 位行程 00004 C 位行程 00005 紧急停止 00006 点动退车 输出点:小车前进 01000 小车后退 01001

时序、步骤分析表
序号 1 2 3 4 5 6 7 8 起始条件 启动 00000 T1 到 至 00004 T2 到 到 00003 T3 到 至 00004 T4 到 停止条件 内部输出 T1 到 至 00004 T2 到 至 00003 T3 到 到 00004 T4 到 到 00002 20000 20001 20002 20003 20004 20005 20006 20007 输出情况 无 01000(前进) 无 01001(后退) 无 01000(前进) 无 01001(后退)

00000 00001 00000 KEEP(11) 20101 DIFU(13) 20102
20000 20001 20002 20006

IN 20100 20101
20003 20004 20005

SFT(10) 200 200

脉冲 复位

01001

00002

00005

50

20102 20100 20000 20001 20002 20003 20004 20005 20006 20007 20000 T1 00004 T2 00003 T3 00004 T4 00002 T001 #0010 20002 T002 #0020 20004 T003 #0010 20006 T004 #0020

20001 01000 20005 20003 01001 20007 00006 00002 END(01)

51


相关文章:
欧姆龙PLC编程入门[1]
欧姆龙PLC编程入门[1]_工学_高等教育_教育专区。ghbughjkgkghkghkghPLC 初级培训教材第一章一、设备电气系统结构简介 电气系统及 PLC 简介设备电气系统一般由以下...
PLC编程初学者的入门指南
PLC编程初学者入门指南_机械/仪表_工程科技_专业资料。1、编程需要坚强的毅力...如需进一步了解台达 PLC、西门子 PLC、施耐德 plc欧姆龙 PLC 的选型, 报价, ...
欧姆龙PLC常见使用问题(新手必看)
欧姆龙PLC常见使用问题(新手必看)_机械/仪表_工程科技_专业资料。欧姆龙,PLC,编程常见问题,欧姆龙PLC今日推荐 116份文档 2014一级建造师考试 ...
PLC入门草稿
欧姆龙PLC编程入门 51页 免费 PLC编程入门 28页 免费 罗克韦尔PLC入门教材 30页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处...
欧姆龙PLC编程与应用_CP1E系列_教学视频大全
该课程内容包含了欧姆龙PLC编程入门到应用的两大阶段,以市场上应用最广泛的小型机CP1E系列为演示教材,从实际角度出发,讲述了该PLC编程及应用。入门及应用的内容...
欧姆龙PLC编程的软件介绍
omron欧姆龙编程就需要 CX-P,仿真软件要安装编程软件后再另外安装。因不同的品牌的 PLC 而异,进行 plc 编程仿真的软件有三 菱的全系列的【但不支持模拟量...
欧姆龙plc编程软件修改程序小窍门
欧姆龙plc编程软件修改程序小窍门_机械/仪表_工程科技_专业资料。欧姆龙PLC在线修改程序 欧姆龙 plc 编程软件修改程序小窍门做设备维修人员跟 PLC 打交道是比较多的,...
欧姆龙PLC练习
欧姆龙PLC练习_机械/仪表_工程科技_专业资料。DSG-PLCB 欧姆龙编程控制器 实验与指导 启东长江计算机厂 目 录 第一章、可编程控制的模拟实验???2 一、基本指...
PLC编程经典实例教程
可靠性高,抗干扰能力强 配套齐全,功能完善,适用性...虽然初学时可以那样理解,但要知道它们的区别。 3 ...欧姆龙系列 PLC 简易编程编程 ⑵用计算机软件编程 ...
最新欧姆龙PLC编程软件CX Programmer和触摸屏组态软件C...
最新欧姆龙PLC编程软件CX Programmer和触摸屏组态软件CX Designe联机仿真图文教程_工程科技_专业资料。最新欧姆龙PLC编程软件CX-Programmer和触摸屏组态软件CX-Designe联机...
更多相关标签:
欧姆龙plc编程入门 | 欧姆龙plc编程软件 | 欧姆龙编程软件 | 欧姆龙plc编程软件9.5 | 欧姆龙plc编程教程 | 欧姆龙plc编程实例 | 欧姆龙plc编程手册 | 欧姆龙可编程控制器 |