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

三菱FX系列可编程控制器及指令系统


第三章 FX 系列可编程控制器及指令系统
第一节
  FX 系列 PLC 是由三菱公司近年来推出的高性能小型可编程控制器,以逐步替代三菱公

FX 系列 PLC 硬件配置及性能指标

司原 F、F1、F2 系列 PLC 产品。其中 FX2 是 1991 年推出的产品,FX0 是在 FX2 之后推出的超 小型 PLC,

近几年来又连续推出了将众多功能凝集在超小型机壳内的 FX0S、 FX1S、 FX0N、 FX1N、 FX2N、FX2NC 等系列 PLC,具有较高的性能价格比,应用广泛。它们采用整体式和模块式相结 合的叠装式结构。 一、FX 系列 PLC 型号的说明       系列名称 输入输出总点数 单元类型 特殊品种 输出方式 FX 系列 PLC 型号的含义如下: FX □ ─ □ □ □ ─ □

其中系列名称:如 0、2、0S、1S、ON、1N、2N、2NC 等 单元类型:M ──基本单元  E ──输入输出混合扩展单元 Ex ──扩展输入模块  EY ──扩展输出模块 输出方式:R ──继电器输出 S ──晶闸管输出 T ──晶体管输出 特殊品种:D ──DC 电源,DC 输出 A1 ──AC 电源,AC(AC100~120V)输入或 AC 输出模块 H ──大电流输出扩展模块 V ──立式端子排的扩展模块 C ──接插口输入输出方式 F ──输入滤波时间常数为 1ms 的扩展模块 如果特殊品种一项无符号,为 AC 电源、DC 输入、横式端子排、标准输出。 例如 FX2N-32MT-D 表示 FX2N 系列,32 个 I/O 点基本单位,晶体管输出,使用直流 电源,24V 直流输出型。 二、FX 系列 PLC 硬件配置 FX 系列 PLC 的硬件包括基本单元、扩展单元、扩展模块、模拟量输入输出模块、各种

特殊功能模块及外部设备等。 (一)FX 系列 PLC 的基本单元 基本单元是构成 PLC 系统的核心部件,内有 CPU、存储器、I/O 模块、通信接口和扩展 接口等。由于 FX 系列 PLC 有众多的子系列,现以 FX0S,FX0N,FX2N 三个子系列为例加 以介绍。 1. FX0S 系列的基本单元 . FX0S 系列的功能简单,价格便宜,适用于小型开关量控制系统,它只有基本单元,没 有扩展单元。其基本单元如表 3-1 所示。 表 3-1 型 AC 电源 100~240v 继电器输出 FX0s-10MR-001 FX0s-14MR-001 FX0s-20MR-001 FX0s-30MR-001 晶体管输出 FX0s-10MT FX0s-14MT FX0s-20MT FX0s-30MT FX0S 系列的基本单元 号 输入 DC 电源 24v 点数 继电器输出 FX0s-10MR-D FX0s-14MR-D FX0s-20MR-D FX0s-30MR-D FX0s-14MR-D12 FX0s-30MR-D12 继电器输出 FX0s-10MT-D FX0s-14MT-D FX0s-20MT-D FX0s-30MT-D 6 8 12 16 8 16 4 6 8 14 6 14 点数 输出

FX0S 容量为 800 步,有 20 条基本指令,两条步进指令,35 种 50 条功能指令。FX0S 编程元件包括 500 多点辅助继电器,64 点状态寄存器,56 点定时器和一个模拟定时器,有 16 个 16 位的计数器及 4 点 1 相 7KHZ 或 1 点 2 相 32 位高速加/减计数器, 点 16 位数据寄 61 存器,还有 64 点转移用跳步指针及 4 点中断指针。 2.FX0N 系列的基本单元 . FX0N 的基本单元共有 12 种,最大的 I/O 点数为 60,它可带 3 种扩展单元,7 种扩展模 块,可组成 24~128 个 I/O 点的系统。其基本单元如表 3-2 所示。 表 3-2 型号 AC 电源 100~240V 继电器输出 FX0n-24MR-001 FX0n-40MR-001 FX0n-60MR-001 晶体管输出 FX0n-24MT FX0n-40MT FX0n-600MT DC 电源 24V 继电器输出 FX0n-24MR-D FX0n-40MR-D FX0n-60MR-D 继电器输出 FX0n-24MT-D FX0n-40MT-D FX0n-60MT-D 14 24 36 10 16 24 32 32 32 FX0N 系列的基本单元 输入 点数 输出 点数 扩展模 块可用 点数

FX0N 的 EEPROM 用户存储器容量为 2000 步。基本指令有 20 条,步进指令 2 条,应用 指令 36 种 51 条。FX0N 有 500 多点的辅助继电器,128 点状态寄存器,95 个定时器和 45 个

计数器(其中高速计数器 13 个)还有大量的数据寄存器,76 点指针用于跳转,中断和嵌套。 FX0N 有较强的通信功能, 可与内置 RS-232C 通信接口的设备通信, 如使用 FX0N-485APP 模块,可与计算机实现 1:N(最多 8 台)的通信。FX0N 还备有 8 位模拟量输入输出模块(2 路输入,1 路输出)用以实现模拟量的控制。由于 FX0N 体积小,功能强,使用灵活,特别 适用于由于安装尺寸的限制而难以采用其他 PLC 的机械设备上。 3.FX2N 系列的基本单元 . FX2N 系列是 FX 家族中最先进的 PLC 系列。 FX2N 基本单位有 16/32/48/65/80/128 点, 六个基本 FX2N 单元中的每一个单元都可以通 过 I/O 扩展单元扩充为 256I/O 点,其基本单元如表 3-3 所示。 表 3-3 型号 继电器输出 FX2n-16MR-001 FX2n-32MR-001 FX2n-48MR-001 FX2n-64MR-001 FX2n-80MR-001 FX2n-128MR-001 可控硅输出 FX2n-16MS FX2n-32MS FX2n-48MS FX2n-64MS FX2n-80MS 晶体管输出 FX2n-16MT FX2n-32MT FX2n-48MT FX2n-64MT FX2n-80MT FX2n-128MT FX2N 系列的基本单元 输入 点数 8 16 24 32 40 64 输出 点数 8 16 24 32 40 64 扩展模块可 用点数 24~32 24~32 48~64 48~64 48~64 48~64

FX2N 具有丰富的元件资源,有 3072 点辅助继电器。提供了多种特殊功能模块,可实现 过程控制位置控制。有多种 RS—232C/RS—422/RS—485 串行通信模块或功能扩展板支持网 络通信。FX2N 具有较强的数学指令集,使用 32 位处理浮点数。具有方根和三角几何指令满 足数学功能要求很高数据处理。 (二)FX 系列的 I/O 扩展单元和扩展模块 FX 系列具有较为灵活的 I/O 扩展功能,可利用扩展单元及扩展模块实现 I/O 扩展。 1.FX0N 的 I/O 扩展 . FX0N 系列共有三种扩展单元,如表 3-4 所示。FX0N 的扩展模块如表 3-5 所示。 表 3-4 型号 FX0n-40ER FX0n-40ET FX0n-40ER-D 总 I/O 数目 数目 40 40 40 24 24 24 电压 24V 直流 24V 直流 24V 直流 类型 漏型 漏型 漏型 数目 16 16 16 类型 继电器 晶体管 继电器(直流) FX0N 系列的扩展单元 输入 输出

表 3-5 型号 FX0n-8ER FX0n-8EX FX0n-16EX FX0n-8EYR FX0n-8EYT FX0n-16EYR FX0n-16EYT 总 I/O 数目 数目 8 8 16 8 8 16 16 4 8 16

FX0N 系列的扩展模块 输入 电压 24V 直流 24V 直流 24V 直流 类型 漏型 漏型 漏型 8 8 16 16 继电器 晶体管 继电器 晶体管 数目 4 输出 类型 继电器

注:FX0N 的扩展模块也可在 FX2N 等子系列上应用。 2.FX2N 的 I/O 扩展 . FX2N 系列的扩展单元如表 3-6 所示。FX2N系列的扩展模块如表 3-7 所示。 表 3-6 输入 型号 FX2n-32ER FX2n-32ET FX2n-48ER FX2n-48ET FX2n-48ER-D FX2n-48ET-D 总 I/O 数目 数目 32 32 48 48 48 48 16 16 24 24 24 24 表 3-7 型号 总 I/O 数目 数目 FX2n-16EX FX2n-16EYT FX2n-16EYR 16 16 16 16 电压 24V 直流 24V 直流 24V 直流 24V 直流 24V 直流 24V 直流 类型 漏型 漏型 漏型 漏型 漏型 漏型 数目 16 16 24 24 24 24 类型 继电器 晶体管 继电器 晶体管 继电器(直流) 继电器(直流) FX2N 子系列扩展单元 输出

FX2N 子系列的扩展模块 输入 电压 24V 直流 类型 漏型 16 16 晶体管 继电器 数目 输出 类型

此外,FX 系列还可将一块功能扩展板安装在基本单元内,无需外部的安装空间。例如: FX1N—4EX—BD 就是可用来扩展 4 个输入点的扩展板。 (三)FX 系列的特殊功能模块 1.模拟量输入输出模块 . (1)模拟量输入输出模块 FX0N-3A 该模块具有 2 路模拟量输入(0~10V 直流或 4~

20mA 直流)通道和 1 路模拟量输出通道。其输入通道数字分辨率为 8 位,A/D 的转换时间 为 100?s,在模拟与数字信号之间采用光电隔离,适用于 FX1N、FX2N、FX2NC 子系列,占用 8 个 I/O 点。 (2)模拟量输入模块 FX2N-2AD 该模块为 2 路电压输入(0~10V DC,0~5V DC)或 电流输入(4~20mA DC) ,12 位高精度分辨率,转换的速度为 2.5ms/通道。这个模块占用 8 个 I/O 点,适用于 FX1N、FX2N、FX2NC 子系列。 (3)模拟量输入模块 FX2N-4AD 该模块有 4 个输入通道,其分辨率为 12 位。可选择电 流或电压输入,选择通过用户接线来实现。可选为模拟值范围为±10VDC(分辨率位 5mV) 或 4~20mA、-20~20mA(分辨率位 20?A) 。转换的速度最高位 6ms/通道。FX2N-4AD 占用 8 个 I/O 点。 (4)模拟量输出模块 FX2N-2DA 该模块用于将 12 位的数字量转换成 2 点模拟输出。 输出的形式可为电压,也可为电流。其选择取决于接线不同。电压输出时,两个模拟输出通 道输出信号为 0~10V DC,0~5V DC;电流输出时为 4~20mA DC。分辨率为 2.5mV(0~ 10V DC)和 4?A(4~20mA) 。数字到模拟的转换特性可进行调整。转换速度为 4ms/通道。本 模块需占用 8 个 I/O 点。适用于 FX1N、FX2N、FX2N 子系列。 (5)模拟量输出模块 FX2N-4DA 该模块有 4 个输出通道。提供了 12 位高精度分辨率

的数字输入。转换速度为 2.1ms/4 通道,使用的通道数变化不会改变转换速度。其他的性能 与 FX2N-2DA 相似。 (6)模拟量输入模块 FX2N-4AD-PT 该模块与 PT100 型温度传感器匹配,将来自四个箔 温度传感器(PT100,3 线,100Ω)的输入信号放大,并将数据转换成 12 位可读数据,存储 在主机单元中。摄氏度和华氏度数据都可读取。它内部有温度变送器和模拟量输入电路,可 以矫正传感器的非线性。读分辨率为 0.2℃~0.3℃。转换速度为 15ms/每通道。所有的数据 传送和参数设置都可以通过 FX2N-4AD-PT 的软件组态完成, FX2N 的 TO/FROM 应用指令来实 由 现。FX2N-4AD-PT 占用 8 个 I/O 点,可用于 FX1N、FX2N、FX2NC 子系统,为温控系统提供了 方便。 (7)模拟量输入模块 FX2N-4AD-TC 该模块与热电耦型温度传感器匹配,将来自四个热 电耦传感器的输入信号放大,并将数据转换成 12 位的可读数据,存储在主单元中,摄氏和华 氏数据均可读取,读分辨率在类型为 K 时为 0.2℃;类型为 J 时为 0.3℃,可与 K 型(-100~ 1200℃)和 J 型(-100~600℃)热电耦配套使用,4 个通道分别使用 K 型或 J 型,转换速度 为 240ms/通道。所有的数据传输和参数设置都可以通过 FX2N-4AD-TC 的软件组态完成,占用 8 个 I/O 点。 2.PID 过程控制模块 FX2N-2LC 温度调节模块是用在温度控制系统中。 该模块配有 2 通道的温度输入和 2 通道 晶体管输出,即一块能组成两个温度调节系统。模块提供了自调节的 PID 控制和 PI 控制,控 制的运行周期为 500ms,占用 8 个 I/O 点数,可用于 FX1N、FX2N、FX2NC 子系列。

3.定位控制模块 3.定位控制模块 在机械工作运行过程中工作的速度与精度往往存在矛盾, 为提高机械效率而提高速度时, 停车控制上便出现了问题。所以进行定位控制是十分必要的。举一个简单的例子,电机带动 的机械由启动位置返回原位,如以最快的速度返回,由于高速停车惯性大,则在返回原位时 偏差必然较大, 如图 3-1a 所示; 若采用如图 3-1a 所示的方式先减速便可保证定位的准确性。

图 3-1

定位控制模块

在位置控制系统中常会采用伺服电机和步进电机作为驱动装置。即可采用开环控制,也 可采用闭环控制。对于步进电机,我们可以采用调节发送脉冲的速度改变机械的工作速度。 使用 FX 系列 PLC,通过脉冲输出形式的定位单元或模块,即可实现一点或多点的定位。下 面介绍 FX2N 系列的脉冲输出模块和定位控制模块。 (1) 脉冲输出模块 FX2N-1PG FX2N-1PG 脉冲发生器单元可以完成一个对独立轴的定 位,这是通过向伺服或步进马达的驱动放大器提供指定数量的脉冲来实现的。FX2N-1PG 只 用于 FX2N 子系列,用 FROM/TO 指令设定各种参数,读出定位值和运行速度。该模块占用 8 个 I/O 点。输出最高为 100KHZ 的脉冲串。 (2) 定位控制器 FX2N-10GM FX2N-10GM 为脉冲序列输出单元, 它是单轴定位单元, 不仅能处理单速定位和中断定位,而且能处理复杂的控制。如多速操作。FX2N-10GM 最多 可有 8 个连接在 FX2N 系列 PLC 上。最大输出脉冲为 200KHZ。 (3)定位控制器 FX2N-20GM 一个 FX2N-20GM 可控制两个轴。可执行直线插补、圆 弧插补或独立的两轴定位控制, 最大输出脉冲串为 200KHZ (在插补期间, 最大为 100KHZ) 。 FX2N-10GM、FX2N-20GM 均具用流程图的编程软件可使程序的开发具有可视性。 (4)可编程凸轮开关 FX2N-1RM-E-SET 在机械传动控制中经常要对角位置检测。在 不同的角度位置时发出不同的导通、关断信号。过去采用机械凸轮开关。机械式开关虽精度 高但易磨损。 FX2N-1RM-SET 可编程凸轮开关可用来取代机械凸轮开关实现高精度角度位置 检测。配套的转角传感器电缆长度最长可达 100m。应用时与其他可编程凸轮开关主体、无 刷分解器等一起可进行高精度的动作角度设定和监控,其内部有 EEPROM,无需电池。可储 存 8 种不同的程序。FX2N-1RM-SET 可接在 FX2N 上,也可单独使用。FX2N 最多可接 3 块。 它在程序中占用 PLC8 个 I/O 点。 4.数据通信模块 . PLC 的通信模块是用来完成与别的 PLC,其他智能控制设备或计算机之间的通信。以下 简单介绍 FX 系列通信用功能扩展板、适配器及通信模块。 (1)通信扩展板 FX2N-232-BD FX2N-232-BD 是以 RS-232C 传输标准连接 PLC 与其

他设备的接口板。诸如个人计算机、条码阅读器或打印机等。可安装在 FX2N 内部。其最大

传输距离为 15 米,最高波特率为 19200bit/s,利用专用软件可实现对 PLC 运行状态监控,也 可方便的由个人计算机向 PLC 传送程序。 (2)通信接口模块 FX2N-232IF FX2N-232IF 连接到 FX2N 系列 PLC 上,可实现与其 它配有 RS232C 接口的设备进行全双工串行通信。例如个人计算机,打印机,条形码读出器 等。在 FX2N 系列上最多可连接 8 块 FX2N-232IF 模块。用 FROM/TO 指令收发数据。最大 传输距离为 15 米,最高波特率为 19200bit/s,占用 8 个 I/O 点。数据长度、串行通信波特率 等都可由特殊数据寄存器设置。 (3)通信扩展板 FX2N-485-BD FX2N-485-BD-用于 RS-485 通信方式。它可以应用于

无协议的数据传送。FX2N-485-BD 在原协议通信方式时,利用 RS 指令在个人计算机、条码 阅读器、 打印机之间进行数据传送。 传送的最大传输距离为 50 米, 最高波特率也为 19200bit/s。 每一台 FX2N 系列 PLC 可安装一块 FX2N-485-BD 通信板。除利用此通信板实现与计算机的 通信外,还可以用它实现两台 FX2N 系列 PLC 之间的并联。 (4)通信扩展板 FX2N-422-BD FX2N-422-BD 应用于 RS-422 通信。可连接 FX2N 系

列的 PLC 上,并作为编程或控制工具的一个端口。可用此接口在 PLC 上连接 PLC 的外部设 备、数据存储单元和人机界面。利用 FX2N-422-BD 可连接两个数据存储单元(DU)或一个 DU 系列单元和一个编程工具,但一次只能连接一个编程工具。每一个基本单元只能连接一 个 FX2N-422-BD,且不能与 FX2N-485-BD 或 FX2N-232-BD 一起使用。 (5)接口模块 MSLSECNET/MINI 采用 MSLSECNET/MINI 接口模块, 系列 PLC 可用作为 A 系列 PLC 的就地控制站, FX 构成集散控制系统。 以上仅 FX 系列通信模块作了简单的介绍,具体的应用在以后的章节中再做详述。 5.高速计数模块 . PLC 中普通的计数器由于受到扫描周期的限制,其最高的工作频率不高,一般仅有几十 KHZ,而在工业应用中有时超过这个工作频率。高速计数模块就是为了满足这一要求,它可 达到对几十 K 以上,甚至 MHZ 的脉冲计数。FX2N 内部设有高速计数器,系统还配有 FX2N-1HC 高速计数器模块,可作为 2 相 50KHZ 一通道的高速计数,通过 PLC 的指令或外 部输入可进行计数器的复位或启动,其技术指标如表 3-8 所示。 表 3-8
项目 信号等级 频率

FX2N-1HC 高速计数器模块技术指标
描述 5V12V 和 24V 依赖于连接端子。线驱动器输出型连接到 5V 端子上

单相单输入:不超过 50KHZ 单相双输入:每个不超过 50KHZ 双相双输入:不超过 50KHZ(1 倍数) ;不超过 25KHZ(2 倍数) ; 不超过 12.5KHZ(4 倍数)

计数器范围

32 位二进制计数器:-2147483648 至+2147483647 16 位二进制计数器;0 至 65535

计数方式

自动时向上/向下(单相双输入或双相双输入) ;当工作在单相单输入方 式时,向上/向下由一个 PLC 或外部输入端子确定。

比较类型

YH:直接输出,通过硬件比较器处理。 YS:软件比较器处理后输出,最大延迟时间 300ms。

输出类型 辅助功能

NPN 开路输出 2 点 5 到 24V 直流每点 0.5A 可以通过 PLC 的参数来设置模式和比较结果。 可以监测当前值、比较结果和误差状态。

占用的 I/O 点数 基本单元提供的电源 适用的控制器 尺寸 (宽) (厚) (高) × × 质量(重量)

这个块占用 8 输入或输出点(输入或输出均可) 5V、90mA 直流(主单元提供的内部电源或电源扩展单元) FX1N/FX2N/FX2NC(需要 FX2NC-CNV-IF) 55×87×90mm(2.71×3.43×3.54 英寸) 0.3Kg(0.66Ibs)

(四)FX 系列 PLC 的编程器及其他外部设备 1.FX 系列编程器 . 编程器是 PLC 的一个重要外围设备,用它将用户程序写入 PLC 用户程序存储器。它一 方面对 PLC 进行编程,另一方面又能对 PLC 的工作状态进行监控。随着 PLC 技术的发展, 编程语言的多样化,编程器的功能也不断增加。 (1)简易编程器 FX 型 PLC 的简易编程器也较多,最常用的是 FX-10P-E 和 FX-20P-E 手持型简易编程器。他们具有体积小、重量轻、价格便宜、功能强的特点。有在线编程和离 线编程两种方式。显示采用液晶显示屏,分别显示 2 行和 4 行字符,配有 ROM 写入器接口、 存储器卡盒接口。编程器可用指令表的形式读出、写入、插入和删除指令,进行用户程序的 输入和编辑。可监视位编程元件的 ON/OFF 状态和字编程元件中的数据。如计数器、定时器 的当前值及设定值、内部数据寄存器的值以及 PLC 内部的其他信息。有关编程器的使用详见 第八章。 (2)PC 机+编程开发软件 FX 系列还有一些编程开发软件,如 GX 开发器。它可以用 于生成涵盖所有三菱 PLC设备软件包,使用该软件可以为FX、A等系列PLC生成程序。 他在 Windows 操作平台上运行,便于操作和维护,可以用梯形图,语句表等进行编程,程序 兼容性强。 FX-PCS/WIN-E-C 编程软件包也是一个专门用来开发 FX 系列 PLC 程序的软件包。 可用梯形图、指令表和顺序功能图来写入和编辑程序,并能进行各种编程方式的互换。它运 用于Windows 操作系统,这对于调试操作和维护操作来说可以提高工作效率,并具有较强的 兼容性。 2.其他外部设备

在一个 PLC 控制系统中, 人机界面也非常重要。 还有一些辅助设备, 打印机、 如: EPROM 写入器外存模块等。 (五)FX 系列 PLC 各单元模块的连接 FX 系列 PLC 吸取了整体式和模块式 PLC 的优点,各单元间采用叠装式连接,即 PLC 的基本单元、扩展单元和扩展模块深度及高度均相同,连接时不用基板,仅用扁平电缆连接, 构成一个整齐的长方体。使用 FRON/TO 指令的特殊功能模块,如模拟量输入和输出模块、 高速计数模块等,可直接连接到 FX 系列的基本单元,或连到其它扩展单元、扩展模块的右 边。根据它们与基本单元的距离,对每个模块按0~7的顺序编号,最多可连接8个特殊功 能模块。 三、FX 系列 PLC 的性能指标 在使用 FX 系列 PLC 之前,需对其的主要性能指标进行认真查阅,只有选择了符合要求 的产品才能达到既可靠又经济的要求。 1.FX 系列 PLC 性能比较 . 以上我们已对 FX 系列 PLC 的基本单元、 扩充单元及特殊功能模块等做了介绍, 尽管 FX 系列中 FXOS、FX1S、FX1N、FX2N 等在外形尺寸上相差不多,但在性能上有较大的差别, 其中 FX2N 和 FX2NC 子系列,在 FX 系列 PLC 中功能最强、性能最好。FX 系列 PLC 主要 产品的性能比较如表 3-9 所示。 表 3-9 型号 FX0S FX0N FX1N FX2N I/0 点数 10~30 24~128 14~128 16~256 FX 系列 PLC 主要产品的性能比较 功能指令 50 55 177 298 模拟模块量 无 有 有 有 通信 无 较强 较强 强

基本指令执行时间 1.6~3.6μs 1.6~3.6μs 0.55~0.7μs 0.08μs

2.FX 系列 PLC 的环境指标 . F X 系列 PLC 的环境指标要求如表 3-10 所示。 表 3-10 环境温度 环境湿度 防震性能 F X 系列 PLC 的环境指标 使用温度 0~550C,储存温度-20~700C 使用时 35%~85%RH(无凝露) JISC0911 标准,10~55HZ,0.5 ㎜(最大 2G),3 轴方向各 2 次(但用 DIN 导轨安 装时为 0.5G) 抗冲击性能 抗噪声能力 绝缘耐压 绝缘电阻 JISC0912 标准,10G,3 轴方向各 3 次 用噪声模拟器产生电压为 1000 伏(峰-峰值)、脉宽 1цs、30~100Hz 的噪声 AC1500V,1min(接地端与其他端子间) 5M? 以上(DC500V 兆欧表测量,接地端与其他端子间)

接地电阻 使用环境

第三种接地,如接地有困难,可以不接 无腐蚀性气体,无尘埃。

3.F X 系列 PLC 的输入技术指标 FX 系列 PLC 对输入信号的技术要求如表 3-11 所示。 表 3-11 输入端 X0~X3 (FX0S) 项目 FX 系列 PLC 的输入技术指标 X10~ (FX0N、 1S、 1N、 2N) X0~X3 (FX0S) X4~X17 (FX0S)

X4~X17 (FX0S) X0~X7 (FX0N、1S、 1N、2N)

输入电压 输入电流 输入阻抗 输入 ON 电流 输入 OFF 电流 输入响应时间 8.5mA 2.7kΩ 4.5mA 以上 1.5mA 以下

DC24V±10% 7mA 3.3 kΩ 4.5mA 以上 1.5mA 以下 5mA 4.3 kΩ 3.5mA 以上 1.5mA 以下 9mA 1 kΩ

DC12V±10% 10mA 1.2 kΩ 4.5mA 以上 1.5mA 以下

4.5mA 以上 1.5mA 以下

约 10ms, 其中: FX0S、 FX1N 的 X0~X17 和 FX0N 的 X0~X7 为 0~15ms 可变,FX2N 的 X0~X17 为 0~60ms 可变

输入信号形式 电路隔离 输入状态显示

无电压触点,或 NPN 集电极开路晶体管 光电耦合器隔离 输入 ON 时 LED 灯亮

4.FX 系列 PLC 的输出技术指标 . FX 系列 PLC 对输出信号的技术要求如表 3-12 所示。 表 3-12 项目 外部电源 以下 0.5A/1 点、0.8A/4 点 2A/1 点、8A/4 点、 最大电阻负载 8A/8 点 (1A/1 点 2A/4 点) (1A/1 点、2A/4 点) (0.3A/1 点、1.6A/16 点) 最大感性负载 80VA 100W 15VA/AC100V、 30VA/AC200 V 30W 1.5W/DC24V 12W/DC24V 0.3A/点、0.8A/4 点 (0.1A/1 点、0.4A/4 点) 继电器输入 AC250V 或 DC30V FX 系列 PLC 的输出技术指标 晶闸管输出 AC85~240V 晶体管输出 DC5V~30V

最大灯负载

1mA/AC100V 开路漏电流 ─ 2mA/AC200v

0.1mA 以下 ON: <0.2ms、 OFF: <0.2ms

响应时间 电路隔离 输出动作显示

约 10ms 继电器隔离

ON:1ms,OFF:10ms 光电晶闸管隔离 输出 ON 时 LED 亮

大电流 OFF 为 0.4ms 以下 光电耦合器隔离

第二节 FX 系列 PLC 的编程元件
不同厂家、不同系列的 PLC,其内部软继电器(编程元件)的功能和编号也不相同,因 此用户在编制程序时,必须熟悉所选用 PLC 的每条指令涉及编程元件的功能和编号。 FX 系列中几种常用型号 PLC 的编程元件及编号如表 3-13 所示。FX 系列 PLC 编程元件的 编号由字母和数字组成,其中输入继电器和输出继电器用八进制数字编号,其它均采用十进 制数字编号。 为了能全面了解 FX 系列 PLC 的内部软继电器, 本节以 FX2N 为背景进行介绍的。 表 3-13 PLC 型号 FX0S 编程元件种类 输入继电器 X
(按 8 进制编号)

FX 系列 PLC 的内部软继电器及编号 FX2N FX1S X0~X17
(不可扩展)

FX0N X0~X43
(可扩展)

FX1N (FX2NC) X0~X43
(可扩展)

X0~X17
(不可扩展)

X0~X77
(可扩展)

输出继电器 Y
(按 8 进制编号)

Y0~Y15
(不可扩展)

Y0~Y15
(不可扩展)

Y0~Y27
(可扩展)

Y0~Y27
(可扩展)

Y0~Y77
(可扩展)

辅助 继电器 M

普通用 保持用

M0~M495 M496~M511

M0~M383 M384 M511 ~

M0~M383 M384 M511 ~

M0~M383 M384 M1535 ~

M0~M499 M500 M3071 ~

特殊用 初始状态用 状态 寄存器 S 返回原点用 普通用 保持用 信号报警用 100ms 10ms 定时器 T 1ms 1ms 累积 S0~S9 S10~S63 T0~T49 T24~T49 T63

M8000~M8255(具体见使用手册) S0~S9 S10~S127 S0~S127 T0~T62 T32~T62 S0~S9 S10~S127 S0~S127 T0~T62 T32~T62 T63 S0~S9 S10~S999 S0~S999 T0~T199 T200~T245 T246~T249 S0~S9 S10~S19 S20~S499 S500~S899 S900~S999 T0~T199 T200~T245 T246~T249

100ms 累积 16 位增计数

C0~C13

C0~C15

C0~C15

T250~T255 C0~C15

T250~T255 C0~C99

(普通) 16 位增计数 C14、C15 (保持) 计数器 C 32 位可逆计 数(普通) 32 位可逆计 数(保持) 高速计数器 16 位普通用 数据 寄存器 D 16 位特殊用 16 位变址用 16 位保持用 D30、D31 D255 D255 D7999 D8000~D8069 D8000~D8255 D8000~D8255 D8000~D8255 D8000~D8195 V Z 嵌套用 指针 N、P、I 跳转用 输入中断用 N0~N7 P0~P63 I00*~I30* V0~V7 Z0~Z7 N0~N7 P0~P63 I00*~ I50* 定时器中断 计数器中断 常数 K、H 16 位 32 位 V Z N0~N7 P0~P63 I00*~ I30* H:0000~FFFFH H:00000000~FFFFFFFF I6**~I8** I010~I060 V0~V7 Z0~Z7 N0~N7 P0~P127 I00*~I50* V0~V7 Z0~Z7 N0~N7 P0~P127 I00*~I50* D0~D29 C235~C255(具体见使用手册) D0~D127 D128 ~ D0~D127 D128 ~ D0~D127 D128 ~ D0~D199 D200~D7999 C220~C234 C220~C234 C200~C219 C200~C219 C16~C31 C16~C31 C16~C199 C100~C199

K:-32,768~32,767 K:-2,147,483,648~2,147,483,647

一、输入继电器(X) 输入继电器 输入继电器与输入端相连, 它是专门用来接受 PLC 外部开关信号的元件。 PLC 通过输入 接口将外部输入信号状态(接通时为“1” ,断开时为“0” )读入并存储在输入映象寄存器中。 如图 3-2 所示为输入继电器 X1 的等效电路。

图 3-2 输入继电器的等效电路 输入继电器必须由外部信号驱动,不能用程序驱动,所以在程序中不可能出现其线圈。 由于输入继电器(X)为输入映象寄存器中的状态,所以其触点的使用次数不限。

FX 系列 PLC 的输入继电器以八进制进行编号, FX2N 输入继电器的编号范围为 X000~X267 (184 点) 。注意,基本单元输入继电器的编号是固定的,扩展单元和扩展模块是按与基本单 元最靠近开始,顺序进行编号。例如:基本单元 FX2N-64M 的输入继电器编号为 X000~X037 (32 点) ,如果接有扩展单元或扩展模块,则扩展的输入继电器从 X040 开始编号。 二、输出继电器(Y) 输出继电器 输出继电器是用来将 PLC 内部信号输出传送给外部负载 (用户输出设备) 输出继电器线 。 圈是由 PLC 内部程序的指令驱动,其线圈状态传送给输出单元,再由输出单元对应的硬触点 来驱动外部负载。如图 3-3 所示为输出继电器Y0的等效电路。

图 3-3

输出继电器的等效电路

每个输出继电器在输出单元中都对应有维一一个常开硬触点,但在程序中供编程的输出 继电器,不管是常开还是常闭触点,都可以无数次使用。  FX 系列 PLC 的输出继电器也是八进制编号其中 FX2N 编号范围为 Y000~Y267(184 点) 。

与输入继电器一样,基本单元的输出继电器编号是固定的,扩展单元和扩展模块的编号也是 按与基本单元最靠近开始,顺序进行编号。 在实际使用中,输入、输出继电器的数量,要看具体系统的配置情况。 三、辅助继电器(M) 辅助继电器 辅助继电器是 PLC 中数量最多的一种继电器, 一般的辅助继电器与继电器控制系统中的 中间继电器相似。 辅助继电器不能直接驱动外部负载,负载只能由输出继电器的外部触点驱动。辅助继电 器的常开与常闭触点在 PLC 内部编程时可无限次使用。 辅助继电器采用 M 与十进制数共同组成编号(只有输入输出继电器才用八进制数) 。 1.通用辅助继电器(M0~M499) .通用辅助继电器 FX2N 系列共有 500 点通用辅助继电器。通用辅助继电器在 PLC 运行时,如果电源突然 断电,则全部线圈均 OFF。当电源再次接通时,除了因外部输入信号而变为 ON 的以外,其 余的仍将保持 OFF 状态,它们没有断电保护功能。通用辅助继电器常在逻辑运算中作为辅助 运算、状态暂存、移位等。 根据需要可通过程序设定,将 M0~M499 变为断电保持辅助继电器。 2.断电保持辅助继电器(M500~M3071) .断电保持辅助继电器 FX2N 系列有 M500~M3071 共 2572 个断电保持辅助继电器。它与普通辅助继电器不同 的是具有断电保护功能,即能记忆电源中断瞬时的状态,并在重新通电后再现其状态。它之 所以能在电源断电时保持其原有的状态, 是因为电源中断时用 PLC 中的锂电池保持它们映像 寄存器中的内容。其中 M500~M1023 可由软件将其设定为通用辅助继电器。

下面通过小车往复运动控制来说明断电保持辅助继电器的应用,如图 3-4 所示。

图 3-4

断电保持辅助继电器的作用

小车的正反向运动中,用 M600、M601 控制输出继电器驱动小车运动。X1、X0 为限位 输入信号。运行的过程是 X0= ON→M600=ON→Y0=ON→小车右行→停电→小车中途停止→上 电(M600=ON→Y0=ON)再右行→X1=ON→M600=OFF、M601=ON→Y1=ON(左行) 。可见由于 M600 和 M601 具有断电保持,所以在小车中途因停电停止后,一旦电源恢复,M600 或 M601 仍记 忆原来的状态,将由它们控制相应输出继电器,小车继续原方向运动。若不用断电保护辅助 继电器当小车中途断电后,再次得电小车也不能运动。 3.特殊辅助继电器 . PLC 内有大量的特殊辅助继电器,它们都有各自的特殊功能。FX2N 系列中有 256 个特 殊辅助继电器,可分成触点型和线圈型两大类 (1)触点型 其线圈由 PLC 自动驱动,用户只可使用其触点。例如: M8000:运行监视器(在 PLC 运行中接通) ,M8001 与 M8000 相反逻辑。 M8002:初始脉冲(仅在运行开始时瞬间接通) ,M8003 与 M8002 相反逻辑。 M8011、M8012、M8013 和 M8014 分别是产生 10ms、100ms 、1s 和 1min 时钟脉冲的特 殊辅助继电器。 M8000、M8002、M8012 的波形图如图 3-5 所示。

图 3-5

M8000、M8002、M8012 波形图

(2)线圈型 由用户程序驱动线圈后 PLC 执行特定的动作。例如: M8033:若使其线圈得电,则 PLC 停止时保持输出映象存储器和数据寄存器内容。 M8034:若使其线圈得电,则将 PLC 的输出全部禁止。 M8039:若使其线圈得电,则 PLC 按 D8039 中指定的扫描时间工作。 四、状态器(S) 状态器用来纪录系统运行中的状态。是编制顺序控制程序的重要编程元件,它与后述的 步进顺控指令 STL 配合应用。 如图 3-6 所示,我们用机械手动作简单介绍状态器 S 的作用。当启动信号 X0 有效时, 机械手下降,到下降限位 X1 开始夹紧工件,加紧到位信号 X2 为 ON 时,机械手上升到上限 X3 则停止。整个过程可分为三步,每一步都用一个状态器 S20、S21、S22 记录。每个状态 器都有各自的置位和复位信号(如 S21 由 X1 置位,X2 复位) ,并有各自要做的操作(驱动

Y0、Y1、Y2) 。从启动开始由上至下随着状态动作的转移,下一状态动作则上面状态自动返 回原状。这样使每一步的工作互不干扰,不必考虑不同步之间元件的互锁,使设计清晰简洁。

图 3-6

状态器(S)的作用

状态器有五种类型:初始状态器 S0~S9 共 10 点;回零状态器 S10~S19 共 10 点;通用 状态器 S20~S499 共 480 点;具有状态断电保持的状态器有 S500~S899,共 400 点;供报警 用的状态器(可用作外部故障诊断输出)S900~S999 共 100 点。 在使用用状态器时应注意: 1)状态器与辅助继电器一样有无数的常开和常闭触点; 2)状态器不与步进顺控指令 STL 配合使用时,可作为辅助继电器 M 使用; 3)FX2N 系列 PLC 可通过程序设定将 S0~S499 设置为有断电保持功能的状态器。 五、定时器(T) 定时器 PLC 中的定时器(T)相当于继电器控制系统中的通电型时间继电器。它可以提供无限 对常开常闭延时触点。定时器中有一个设定值寄存器(一个字长) ,一个当前值寄存器(一个 字长)和一个用来存储其输出触点的映象寄存器(一个二进制位) ,这三个量使用同一地址编 号。但使用场合不一样,意义也不同。 FX2N 系列中定时器时可分为通用定时器、积算定时器二种。它们是通过对一定周期的 时钟脉冲的进行累计而实现定时的,时钟脉冲有周期为 1ms、10ms、100ms 三种,当所计数 达到设定值时触点动作。设定值可用常数 K 或数据寄存器 D 的内容来设置。 1.通用定时器 . 通用定时器的特点是不具备断电的保持功能,即当输入电路断开或停电时定时器复位。 通用定时器有 100ms 和 10ms 通用定时器两种。 (1)100ms 通用定时器(T0~T199) 共 200 点,其中 T192~T199 为子程序和中断服 务程序专用定时器。这类定时器是对 100ms 时钟累积计数,设定值为 1~32767,所以其定时 范围为 0.1~3276.7s。 (2) 10ms 通用定时器 (T200~T245) 共 46 点。 这类定时器是对 10ms 时钟累积计数, 设定值为 1~32767,所以其定时范围为 0.01~327.67s。 下面举例说明通用定时器的工作原理。如图 3-7 所示,当输入 X0 接通时,定时器 T200 从 0 开始对 10ms 时钟脉冲进行累积计数, 当计数值与设定值 K123 相等时,定时器的常开接 通 Y0,经过的时间为 123×0.01s=1.23s。当 X0 断开后定时器复位,计数值变为 0,其常开 触点断开,Y0 也随之 OFF。若外部电源断电,定时器也将复位。

图 3-7 2.积算定时器 .

通用定时器工作原理

积算定时器具有计数累积的功能。在定时过程中如果断电或定时器线圈 OFF,积算定时 器将保持当前的计数值(当前值) ,通电或定时器线圈 ON 后继续累积,即其当前值具有保持 功能,只有将积算定时器复位,当前值才变为 0。 (1)1ms 积算定时器(T246~T249) 定时的时间范围为 0.001~32.767s。 (2)100ms 积算定时器(T250~T255)共 6 点,是对 100ms 时钟脉冲进行累积计数的 定时的时间范围为 0.1~3276.7s。 以下举例说明积算定时器的工作原理。如图 3-8 所示,当 X0 接通时,T253 当前值计数 数器开始累积 100ms 的时钟脉冲的个数。 X0 经 t0 后断开, T253 尚未计数到设定值 K345, 当 而 其计数的当前值保留。当 X0 再次接通,T253 从保留的当前值开始继续累积,经过 t1 时间, 当前值达到 K345 时,定时器的触点动作。累积的时间为 t0+t1=0.1×345=34.5s。当复位输入 X1 接通时,定时器才复位,当前值变为 0,触点也跟随复位。 共 4 点,是对 1ms 时钟脉冲进行累积计数的,

图 3-8 六、计数器(C) 计数器

积算定时器工作原理

FX2N 系列计数器分为内部计数器和高速计数器两类。 1.内部计数器 . 内部计数器是在执行扫描操作时对内部信号(如 X、Y、M、S、T 等)进行计数。内部 输入信号的接通和断开时间应比 PLC 的扫描周期稍长。 (1)16 位增计数器(C0~C199) 共 200 点,其中 C0~C99 为通用型,C100~C199 共 100 点为断电保持型 (断电保持型即断电后能保持当前值待通电后继续计数) 这类计数器 。 为递加计数,应用前先对其设置一设定值,当输入信号(上升沿)个数累加到设定值时,计 数器动作,其常开触点闭合、常闭触点断开。计数器的设定值为 1~32767(16 位二进制) , 设定值除了用常数 K 设定外,还可间接通过指定数据寄存器设定。 下面举例说明通用型 16 位增计数器的工作原理。如图 3-9 所示,X10 为复位信号,当 X10 为 ON 时 C0 复位。X11 是计数输入,每当 X11 接通一次计数器当前值增加 1(注意 X10 断开,计数器不会复位) 。当计数器计数当前值为设定值 10 时,计数器 C0 的输出触点动作, Y0 被接通。此后既使输入 X11 再接通,计数器的当前值也保持不变。当复位输入 X10 接通 时,执行 RST 复位指令,计数器复位,输出触点也复位,Y0 被断开。

图 3-9

通用型 16 位增计数器

(2) 位增/减计数器 32 (C200~C234) 共有 35 点 32 位加/减计数器, 其中 C200~C219 (共 20 点)为通用型,C220~C234(共 15 点)为断电保持型。这类计数器与 16 位增计数 器除位数不同外,还在于它能通过控制实现加/减双向计数。设定值范围均为-214783648~ -+214783647(32 位) 。 C200~C234 是增计数还是减计数,分别由特殊辅助继电器 M8200~M8234 设定。对应 的特殊辅助继电器被置为 ON 时为减计数,置为 OFF 时为增计数。 计数器的设定值与 16 位计数器一样,可直接用常数 K 或间接用数据寄存器 D 的内容作 为设定值。在间接设定时,要用编号紧连在一起的两个数据计数器。 如图 3-10 所示,X10 用来控制 M8200,X10 闭合时为减计数方式。X12 为计数输入, C200 的设定值为 5(可正、可负) 。设 C200 置为增计数方式(M8200 为 OFF) ,当 X12 计数 输入累加由 4→5 时,计数器的输出触点动作。当前值大于 5 时计数器仍为 ON 状态。只有当 前值由 5→4 时,计数器才变为 OFF。只要当前值小于 4,则输出则保持为 OFF 状态。复位 输入 X11 接通时,计数器的当前值为 0,输出触点也随之复位。

图 3-10 2.高速计数器(C235~C255) .高速计数器(

32 位增/减计数器

高速计数器与内部计数器相比除允许输入频率高之外,应用也更为灵活,高速计数器均 有断电保持功能,通过参数设定也可变成非断电保持。FX2N 有 C235~C255 共 21 点高速计 数器。适合用来做为高速计数器输入的 PLC 输入端口有 X0~X7。X0~X7 不能重复使用, 即某一个输入端已被某个高速计数器占用,它就不能再用于其它高速计数器,也不能用做它 用。各高速计数器对应的输入端如表 3-14 所示。 高速计数器可分为四类: (1)单相单计数输入高速计数器(C235~C245) 其触点动作与 32 位增/减计数器相 同,可进行增或减计数(取决于 M8235~M8245 的状态) 。 如图 3-11a 所示为无启动/复位端单相单计数输入高速计数器的应用。 X10 断开, 当 M8235 为 OFF,此时 C235 为增计数方式(反之为减计数) 。由 X12 选中 C235,从表 3-14 中可知其 输入信号来自于 X0,C235 对 X0 信号增计数,当前值达到 1234 时,C235 常开接通,Y0 得 电。X11 为复位信号,当 X11 接通时,C235 复位。 如图 3-11b 所示为带启动/复位端单相单计数输入高速计数器的应用。由表 3-14 可知, X1 和 X6 分别为复位输入端和启动输入端。利用 X10 通过 M8244 可设定其增/减计数方式。 当 X12 为接通,且 X6 也接通时,则开始计数,计数的输入信号来自于 X0,C244 的设定值

由 D0 和 D1 指定。除了可用 X1 立即复位外,也可用梯形图中的 X11 复位。

图 3-11

单相单计数输入高速计数器 b) 带启动/复位端

a)无启动/复位端

表 3-14 输入 X0 计数器 C235 C236 C237 C238 单相 C239 单计 C240 数输 C241 入 C242 C243 C244 C245 C246 单相 C247 双计 C248 数输 C249 入 C250 C251 C252 双相 C253 C254 C255 A B R A A B B R U D R U D R U D U/D R U/D U/D U/D R U/D U/D U/D X1 X2

高速计数器简表 X3 X4 X5 X6 X7

U/D U/D U/D

R U/D R S R S

U

D

R S

U

D

R

S

A

B

R S

A

B

R

S

表中:U 表示加计数输入,D 为减计数输入,B 表示 B 相输入,A 为 A 相输入,R 为复 位输入,S 为启动输入。X6、X7 只能用作启动信号,而不能用作计数信号。 (2)单相双计数输入高速计数器(C246~C250) 这类高速计数器具有二个输入端,

一个为增计数输入端,另一个为减计数输入端。利用 M8246~M8250 的 ON/OFF 动作可监控 C246~C250 的增记数/减计数动作。 如图 3-12 所示,X10 为复位信号,其有效(ON)则 C248 复位。由表 3-14 可知,也可 利用 X5 对其复位。当 X11 接通时,选中 C248,输入来自 X3 和 X4。

图 3-12

单相双计数输入高速计数器

(3)双相高速计数器(C251~C255) A 相和 B 相信号决定计数器是增计数还是减计 数。当 A 相为 ON 时,B 相由 OFF 到 ON,则为增计数;当 A 相为 ON 时,若 B 相由 ON 到 OFF,则为减计数,如图 3-13a 所示。

图 3-13

双相高速计数器

如图 3-13b 所示,当 X12 接通时,C251 计数开始。由表 3-14 可知,其输入来自 X0(A 相)和 X1(B 相) 。只有当计数使当前值超过设定值,则 Y2 为 ON。如果 X11 接通,则计 数器复位。根据不同的计数方向,Y3 为 ON(增计数)或为 OFF(减计数) ,即用 M8251~ M8255,可监视 C251~C255 的加/减计数状态。 注意:高速计数器的计数频率较高,它们的输入信号的频率受二方面的限制。一是全部 高速计数器的处理时间。因它们采用中断方式,所以计数器用的越少,则可计数频率就越高; 二是输入端的响应速度,其中 X0、X2、X3 最高频率为 10KHZ,X1、X4、X5 最高频率为 7KHZ。 七、数据寄存器(D) 数据寄存器 PLC 在进行输入输出处理、模拟量控制、位置控制时,需要许多数据寄存器存储数据和 参数。数据寄存器为 16 位,最高位为符号位。可用两个数据寄存器来存储 32 位数据,最高 位仍为符号位。数据寄存器有以下几种类型: 1.通用数据寄存器(D0~D199) .通用数据寄存器 共 200 点。当 M8033 为 ON 时,D0~D199 有断电保护功能;当 M8033 为 OFF 时则它们 无断电保护,这种情况 PLC 由 RUN →STOP 或停电时,数据全部清零。 2.断电保持数据寄存器 2.断电保持数据寄存器(D200~D7999) 断电保持数据寄存器 共 7800 点,其中 D200~D511(共 12 点)有断电保持功能,可以利用外部设备的参数设 定改变通用数据寄存器与有断电保持功能数据寄存器的分配;D490~D509 供通信用;D512~ D7999 的断电保持功能不能用软件改变,但可用指令清除它们的内容。根据参数设定可以将 D1000 以上做为文件寄存器。 3.特殊数据寄存器(D8000~D8255)

共 256 点。特殊数据寄存器的作用是用来监控 PLC 的运行状态。如扫描时间、电池电压 等。未加定义的特殊数据寄存器,用户不能使用。具体可参见用户手册。 4.变址寄存器 4.变址寄存器(V/Z) 变址寄存器 FX2N 系列 PLC 有 V0~V7 和 Z0~Z7 共 16 个变址寄存器,它们都是 16 位的寄存器。变址 寄存器 V/Z 实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器变,用 于改变元件的编号(变址) ,例如 V0=5,则执行 D20V0 时,被执行的编号为 D25(D20+5) 。变 址寄存器可以象其它数据寄存器一样进行读写,需要进行 32 位操作时,可将 V、Z 串联使用 (Z 为低位,V 为高位) 。 八、指针(P、I) 在 FX 系列中, 指针用来指示分支指令的跳转目标和中断程序的入口标号。 分为分支用指 针、输入中断指针及定时中断指针和记数中断指针。 1.分支用指针(P0~P127) FX2N 有 P0~P127 共 128 点分支用指针。分支指针用来指示跳转指令(CJ)的跳转目标 或子程序调用指令(CALL)调用子程序的入口地址。 如图 3-14 所示,当 X1 常开接通时,执行跳转指令 CJ P0,PLC 跳到标号为 P0 处之后的 程序去执行。

图 3-14 2.中断指针(I0□□~I8□□)

分支用指针

中断指针是用来指示某一中断程序的入口位置。 执行中断后遇到 IRET (中断返回) 指令, 则返回主程序。中断用指针有以下三种类型: (1)输入中断用指针(I00□~I50□) 共 6 点,它是用来指示由特定输入端的输入信 号而产生中断的中断服务程序的入口位置,这类中断不受 PLC 扫描周期的影响,可以及时处 理外界信息。输入中断用指针的编号格式如下: I□ O□ 0:下降沿中断 1:上升沿中断 输入号(0~5) ,对应输入 X0~X5 且每个只能用一次 例如:I101 为当输入 X1 从 OFF→ON 变化时,执行以 I101 为标号后面的中断程序,并根 据 IRET 指令返回。 (2)定时器中断用指针(I6□□~I8□□) 共 3 点,是用来指示周期定时中断的中断 服务程序的入口位置,这类中断的作用是 PLC 以指定的周期定时执行中断服务程序,定时循 环处理某些任务。 处理的时间也不受 PLC 扫描周期的限制。 □□表示定时范围, 可在 10~99ms

中选取。 (3)计数器中断用指针(I010~I060) 共 6 点,它们用在 PLC 内置的高速计数器中。 根据高速计数器的计数当前值与计数设定值之关系确定是否执行中断服务程序。它常用于利 用高速计数器优先处理计数结果的场合。 九、常数(K、H) 常数 K 是表示十进制整数的符号,主要用来指定定时器或计数器的设定值及应用功能指令操 作数中的数值;H 是表示十六进制数,主要用来表示应用功能指令的操作数值。 例如 20 用 十进制表示为 K20,用十六进制则表示为 H14。

第三节 FX 系列 PLC 的基本指令
FX 系列 PLC 有基本逻辑指令 20 或 27 条、步进指令 2 条、功能指令 100 多条(不同系 列有所不同) 。本节以 FX2N 为例,介绍其基本逻辑指令和步进指令及其应用。 一、FX 系列 PLC 的基本逻辑指令 FX2N 的共有 27 条基本逻辑指令,其中包含了有些子系列 PLC 的 20 条基本逻辑指令。 1.取指令与输出指令(LD/LDI/LDP/LDF/OUT) .取指令与输出指令 (1)LD(取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑 行都用此指令。 (2)LDI(取反指令) 一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻 辑行都用此指令。 (3)LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定位 元件的上升沿(由 OFF→ON)时接通一个扫描周期。 (4)LDF(取下降沿指令) 与左母线连接的常闭触点的下降沿检测指令。

(5)OUT(输出指令) 对线圈进行驱动的指令,也称为输出指令。 取指令与输出指令的使用如图 3-15 所示。

图 3-15 取指令与输出指令的使用 取指令与输出指令的使用说明: 1)LD、LDI 指令既可用于输入左母线相连的触点,也可与 ANB、ORB 指令配合实现块 逻辑运算; 2)LDP、LDF 指令仅在对应元件有效时维持一个扫描周期的接通。图 3-15 中,当 M1 有一个下降沿时,则 Y3 只有一个扫描周期为 ON。 3)LD、LDI、LDP、LDF 指令的目标元件为 X 、Y 、M 、T、C、S;

4)OUT 指令可以连续使用若干次(相当于线圈并联) ,对于定时器和计数器,在 OUT 指令之后应设置常数 K 或数据寄存器。 5)OUT 指令目标元件为 Y、M、T、C 和 S,但不能用于 X。 2.触点串联指令(AND/ANI/ANDP/ANDF) .触点串联指令 (1)AND(与指令) 一个常开触点串联连接指令,完成逻辑“与”运算。 (2)ANI(与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算。 (3)ANDP 上升沿检测串联连接指令。 (4)ANDF 下降沿检测串联连接指令。 触点串联指令的使用如图 3-16 所示。

图 3-16 触点串联指令的使用的使用说明:

触点串联指令的使用

1)AND、ANI、ANDP、ANDF 都指是单个触点串联连接的指令,串联次数没有限制, 可反复使用。 2)AND、ANI、ANDP、ANDF 的目标元元件为 X、Y、M、T、C 和 S。 3)图 3-16 中 OUT M101 指令之后通过 T1 的触点去驱动 Y4 称为连续输出。 3.触点并联指令(OR/ORI/ORP/ORF) .触点并联指令 (1)OR(或指令) 用于单个常开触点的并联,实现逻辑“或”运算。 (2)ORI(或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算。 (3)ORP 上升沿检测并联连接指令。 (4)ORF 下降沿检测并联连接指令。 触点并联指令的使用如图 3-17 所示。

图 3-17 触点并联指令的使用说明:

触点并联指令的使用

1)OR、ORI、ORP、ORF 指令都是指单个触点的并联,并联触点的左端接到 LD、LDI、 LDP 或 LPF 处(例图 4-4 的左母线) ,右端与前一条指令对应触点的右端相连。触点并联指 令连续使用的次数不限; 2)OR、ORI、ORP、ORF 指令的目标元件为 X、Y、M、T、C、S。 4.块操作指令(ORB / ANB) .块操作指令 (1)ORB(块或指令) 用于两个或两个以上的触点串联连接的电路之间的并联。ORB

指令的使用如图 3-18 所示。

图 3-18 ORB 指令的使用 ORB 指令的使用说明: 1)几个串联电路块并联连接时,每个串联电路块开始时应该用 LD 或 LDI 指令; 2)有多个电路块并联回路,如对每个电路块使用 ORB 指令,则并联的电路块数量没有 限制; 3)ORB 指令也可以连续使用,但这种程序写法不推荐使用,LD 或 LDI 指令的使用次 数不得超过 8 次,也就是 ORB 只能连续使用 8 次以下。 (2)ANB(块与指令) 用于两个或两个以上触点并联连接的电路之间的串联。ANB

指令的使用说明如图 3-19 所示。

图 3-19 ANB 指令的使用 ANB 指令的使用说明: 1)并联电路块串联连接时,并联电路块的开始均用 LD 或 LDI 指令; 2)多个并联回路块连接按顺序和前面的回路串联时,ANB 指令的使用次数没有限制。 也可连续使用 ANB,但与 ORB 一样,使用次数在 8 次以下 5.置位与复位指令(SET/RST) .置位与复位指令 (1)SET(置位指令) 它的作用是使被操作的目标元件置位并保持。 (2)RST(复位指令) 使被操作的目标元件复位并保持清零状态。 SET、RST 指令的使用如图 3-20 所示。当 X0 常开接通时,Y0 变为 ON 状态并一直保持 该状态, 即使 X0 断开 Y0 的 ON 状态仍维持不变; 只有当 X1 的常开闭合时, 才变为 OFF Y0 状态并保持,即使 X1 常开断开,Y0 也仍为 OFF 状态。

图 3-20 SET 、RST 指令的使用说明:

置位与复位指令的使用

1)SET 指令的目标元件为 Y、M、S,RST 指令的目标元件为 Y、M、S、T、C、D、V 、 Z。RST 指令常被用来对 D、Z、V 的内容清零,还用来复位积算定时器和计数器。 2)对于同一目标元件,SET、RST 可多次使用,顺序也可随意,但最后执行者有效。

6.微分指令(PLS/PLF) .微分指令 (1)PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出。 (2)PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。 微分指令的使用如图 3-21 所示,利用微分指令检测到信号的边沿,通过置位和复位命令 控制Y0的状态。

图 3-21 PLS、PLF 指令的使用说明:

微分指令的使用

1)PLS、PLF 指令的目标元件为 Y 和 M; 2)使用 PLS 时,仅在驱动输入为 ON 后的一个扫描周期内目标元件 ON,如图 3-21 所 示,M0 仅在 X0 的常开触点由断到通时的一个扫描周期内为 ON;使用 PLF 指令时只是利用 输入信号的下降沿驱动,其它与 PLS 相同。 7.主控指令(MC/MCR) . 控指令 (1)MC(主控指令) 用于公共串联触点的连接。执行 MC 后,左母线移到 MC 触点 的后面。 (2)MCR(主控复位指令) 它是 MC 指令的复位指令,即利用 MCR 指令恢复原左母 线的位置。 在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈 的控制电路中都串入同样的触点, 将占用很多存储单元, 使用主控指令就可以解决这一问题。 MC、MCR 指令的使用如图 3-22 所示,利用 MC N0 M100 实现左母线右移,使 Y0、Y1 都在 X0 的控制之下,其中 N0 表示嵌套等级,在无嵌套结构中 N0 的使用次数无限制;利用 MCR N0 恢复到原左母线状态。如果 X0 断开则会跳过 MC、MCR 之间的指令向下执行。

图 3-22 MC、MCR 指令的使用说明:

主控指令的使用

1)MC、MCR 指令的目标元件为 Y 和 M,但不能用特殊辅助继电器。MC 占 3 个程序 步,MCR 占 2 个程序步; 2)主控触点在梯形图中与一般触点垂直(如图 3-22 中的 M100) 。主控触点是与左母线 相连的常开触点, 是控制一组电路的总开关。 与主控触点相连的触点必须用 LD 或 LDI 指令。 3)MC 指令的输入触点断开时,在 MC 和 MCR 之内的积算定时器、计数器、用复位/ 置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用 OUT 指令驱动的

元件将复位,如图 3-22 中当 X0 断开,Y0 和 Y1 即变为 OFF。 4)在一个 MC 指令区内若再使用 MC 指令称为嵌套。嵌套级数最多为 8 级,编号按 N0 →N1→N2→N3→N4→N5→N6→N7 顺序增大,每级的返回用对应的 MCR 指令,从编号大 的嵌套级开始复位。 8.堆栈指令(MPS/MRD/MPP) .堆栈指令 堆栈指令是 FX 系列中新增的基本指令,用于多重输出电路,为编程带来便利。在 FX 系列 PLC 中有 11 个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。 (1)MPS(进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依 次移到栈的下一段。 (2)MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继 续保存在栈存储器的第一段,栈内的数据不发生移动。 (3)MPP(出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从 栈中消失,同时将栈中其它数据依次上移。 堆栈指令的使用如图 3-23 所示,其中图 3-23a 为一层栈,进栈后的信息可无限使用,最 后一次使用 MPP 指令弹出信号;图 3-23b 为二层栈,它用了二个栈单元。

图 3-23

堆栈指令的使用 b) 二层栈

a) 一层栈 堆栈指令的使用说明: 1)堆栈指令没有目标元件; 2)MPS 和 MPP 必须配对使用;

3)由于栈存储单元只有 11 个,所以栈的层次最多 11 层。 9.逻辑反、空操作与结束指令(INV/NOP/END) .逻辑反、空操作与结束指令 (1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图 3-24 所 示,如果 X0 断开,则 Y0 为 ON,否则 Y0 为 OFF。使用时应注意 INV 不能象指令表的 LD、 LDI、LDP、LDF 那样与母线连接,也不能象指令表中的 OR、ORI、ORP、ORF 指令那样单 独使用。

图 3-24

反指令的使用

(2)NOP(空操作指令) 不执行操作,但占一个程序步。执行 NOP 时并不做任何事, 有时可用 NOP 指令短接某些触点或用 NOP 指令将不要的指令覆盖。 PLC 执行了清除用户 当

存储器操作后,用户存储器的内容全部变为空操作指令。 (3)END(结束指令) 表示程序结束。若程序的最后不写 END 指令,则 PLC 不管实 际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有 END 指令,当扫描 到 END 时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若 干 END 指令,将程序划分若干段,在确定前面程序段无误后,依次删除 END 指令,直至调 试结束。 二、FX 系列 PLC 的步进指令 1.步进指令(STL/RET) .步进指令 步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控 制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。 FX2N 中有两条步进指令:STL(步进触点指令)和 RET(步进返回指令) 。 STL 和 RET 指令只有与状态器 S 配合才能具有步进功能。如 STL S200 表示状态常开触 点,称为 STL 触点,它在梯形图中的符号为 ,它没有常闭触点。我们用每个状态器 S

记录一个工步, STL S200 有效 例 (为 ON) 则进入 S200 表示的一步 , (类似于本步的总开关) , 开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为 ON, 则关断 S200 进入下一步,如 S201 步。RET 指令是用来复位 STL 指令的。执行 RET 后将重 回母线,退出步进状态。 2.状态转移图 . 一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当 相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态 执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。如图 3-25 所示,用状态器 S 记录每个状态,X 为转换条件。如当 X1 为 ON 时,则系统由 S20 状态转为 S21 状态。

图 3-25

状态转移图与步进指令

状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。如 图 3-25 中 S20 步驱动 Y0,当 X1 有效为 ON 时,则系统由 S20 状态转为 S21 状态,X1 即为 转换条件,转换的目标为 S21 步。状态转移图与梯形图的对称关系也显示在图 4-14 中。 3.步进指令的使用说明 . 1)STL 触点是与左侧母线相连的常开触点,某 STL 触点接通,则对应的状态为活动步; 2)与 STL 触点相连的触点应用 LD 或 LDI 指令,只有执行完 RET 后才返回左侧母线; 3)STL 触点可直接驱动或通过别的触点驱动 Y、M、S、T 等元件的线圈; 4)由于 PLC 只执行活动步对应的电路块,所以使用 STL 指令时允许双线圈输出(顺控 程序在不同的步可多次驱动同一线圈) ;

5) STL 触点驱动的电路块中不能使用 MC 和 MCR 指令,但可以用 CJ 指令; 6)在中断程序和子程序内,不能使用 STL 指令。

第四节 FX 系列 PLC 的功能指令
早期的 PLC 大多用于开关量控制,基本指令和步进指令已经能满足控制要求。为适应控 制系统的其它控制要求(如模拟量控制等) ,从 20 世纪 80 年代开始,PLC 生产厂家就在小 型 PLC 上增设了大量的功能指令(也称应用指令) ,功能指令的出现大大拓宽了 PLC 的应用 范围,也给用户编制程序带来了极大方便。FX 系列 PLC 有多达 100 多条功能指令(见附录 A) ,由于篇幅的限制,本节仅对比较常用的功能指令作详细介绍,其余的指令只作简介,读 者可参阅 FX 系列 PLC 编程手册。 一、概述 (一)功能指令的表示格式 功能指令表示格式与基本指令不同。功能指令用编号 FNC00~FNC294 表示,并给出对 应的助记符(大多用英文名称或缩写表示) 。例如 FNC45 的助记符是 MEAN(平均) ,若使 用简易编程器时键入 FNC45,若采用智能编程器或在计算机上编程时也可键入助记符 MEAN。 有的功能指令没有操作数, 而大多数功能指令有 1 至 4 个操作数。 如图 3-26 所示为一个 计算平均值指令,它有三个操作数,[S]表示源操作数,[D]表示目标操作数,如果使用变址 功能,则可表示为[S·]和[D·]。当源或目标不止一个时,用[S1·]、[S2·]、[D1·]、[D2·] 表示。用 n 和 m 表示其它操作数,它们常用来表示常数 K 和 H,或作为源和目标操作数的补 充说明,当这样的操作数多时可用 n1、n2 和 m1、m2 等来表示。

图 3-26

功能指令表示格式

图 3-26 中源操作数为 D0、D1、D2,目标操作数为 D4Z0(Z0 为变址寄存器) ,K3 表示 有 3 个数,当 X0 接通时,执行的操作为[(D0)+(D1)+(D2)]÷3→(D4Z0) ,如果 Z0 的内容为 20,则运算结果送入 D24 中。 功能指令的指令段通常占 1 个程序步,16 位操作数占 2 步,32 位操作数占 4 步。 (二)功能指令的执行方式与数据长度 1.连续执行与脉冲执行 1.连续执行与脉冲执行 功能指令有连续执行和脉冲执行两种类型。 如图 3-27 所示, 指令助记符 MOV 后面有 “P” 表示脉冲执行,即该指令仅在 X1 接通(由 OFF 到 ON)时执行(将 D10 中的数据送到 D12 中) 一次;如果没有“P”则表示连续执行,即该在 X1 接通(ON)的每一个扫描周期指令都要被

执行。 图 3-27 2.数据长度 . 功能指令可处理 16 位数据或 32 位数据。处理 32 位数据的指令是在助记符前加“D”标 志,无此标志即为处理 16 位数据的指令。注意 32 位计数器(C200~C255)的一个软元件为 32 位, 不可作为处理 16 位数据指令的操作数使用。 如图 3-27 所示, MOV 指令前面带 若 “D” , 则当 X1 接通时,执行 D11D10→D13D12(32 位) 。在使用 32 位数据时建议使用首编号为偶 数的操作数,不容易出错。 (三)功能指令的数据格式 1.位元件与字元件 . 象 X、Y、M、S 等只处理 ON/OFF 信息的软元件称为位元件;而象 T、C、D 等处理数 值的软元件则称为字元件,一个字元件由 16 位二进制数组成。 位元件可以通过组合使用, 个位元件为一个单元, 4 通用表示方法是由 Kn 加起始的软元 件号组成,n 为单元数。例如 K2 M0 表示 M0~M7 组成两个位元件组(K2 表示 2 个单元) , 它是一个 8 位数据,M0 为最低位。如果将 16 位数据传送到不足 16 位的位元件组合(n<4) 时,只传送低位数据,多出的高位数据不传送,32 位数据传送也一样。在作 16 位数操作时, 参与操作的位元件不足 16 位时,高位的不足部分均作 0 处理,这意味着只能处理正数(符号 位为 0) ,在作 32 位数处理时也一样。被组合的元件首位元件可以任意选择,但为避免混乱, 建议采用编号以 0 结尾的元件,如 S10,X0,X20 等。 2.数据格式 . 在 FX 系列 PLC 内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使 用二进制数。二进制补码的最高位为符号位,正数的符号位为 0,负数的符号位为 1。FX 系 列 PLC 可实现二进制码与 BCD 码的相互转换。 为更精确地进行运算,可采用浮点数运算。在 FX 系列 PLC 中提供了二进制浮点运算和 十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用 编号连续的一对数据寄存器表示,例 D11 和 D10 组成的 32 位寄存器中,D10 的 16 位加上 D11 的低 7 位共 23 位为浮点数的尾数,而 D11 中除最高位的前 8 位是阶位,最高位是尾数 的符号位(0 为正,1 是负) 。10 进制的浮点数也用一对数据寄存器表示,编号小数据寄存器 为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,表示数为 10 进制浮点数=〔尾数 D0〕×10 其中:D0,D1 的最高位是正负符号位。 二、FX 系列 PLC 功能指令介绍 FX2N 系列 PLC 有丰富的功能指令,共有程序流向控制、传送与比较、算术与逻辑运算、 循环与移位等 19 类功能指令。
〔指数 D1〕

功能指令的执行方式与数据长度的表示

(一)程序流向控制类指令(FNC00~FN09) 程序流向控制类指令 1.条件跳转指令 . 条件跳转指令 CJ(P)的编号为 FNC00,操作数为指针标号 P0~P127,其中 P63 为 END 所在步序,不需标记。指针标号允许用变址寄存器修改。CJ 和 CJP 都占 3 个程序步,指针标 号占 1 步。 如图 3-28 所示,当 X20 接通时,则由 CJ P9 指令跳到标号为 P9 的指令处开始执行,跳 过了程序的一部分,减少了扫描周期。如果 X20 断开,跳转不会执行,则程序按原顺序执行。

图 3-28 使用跳转指令时应注意: 1)CJP 指令表示为脉冲执行方式;

跳转指令的使用

2)在一个程序中一个标号只能出现一次,否则将出错; 3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转 前的状态,因为跳转期间根本没有执行这段程序。 4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到 跳 转 条 件 不 满 足 后 又 继 续 工 作 。 但 对 于 正 在 工 作 的 定 时 器 T192~T199 和 高 速 计 数 器 C235~C255 不管有无跳转仍连续工作。 5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但 对它们的复位仍然有效。 2.子程序调用与子程序返回指令 . 子程序调用指令 CALL 的编号为 FNC01。操作数为 P0~P127,此指令占用 3 个程序步。 子程序返回指令 SRET 的编号为 FNC02。无操作数,占用 1 个程序步。 如图 3-29 所示,如果 X0 接通,则转到标号 P10 处去执行子程序。当执行 SRET 指令时, 返回到 CALL 指令的下一步执行。

图 3-29

子程序调用与返回指令的使用

使用子程序调用与返回指令时应注意: 1)转移标号不能重复,也不可与跳转指令的标号重复; 2)子程序可以嵌套调用,最多可 5 级嵌套。 3.与中断有关的指令 . 与中断有关的三条功能指令是: 中断返回指令 IRET,编号为 FNCO3; 中断允许指令 EI, 编号为 FNCO4;中断禁止 DI,编号为 FNC05。它们均无操作数,占用 1 个程序步。

PLC 通常处于禁止中断状态,由 EI 和 DI 指令组成允许中断范围。在执行到该区间,如 有中断源产生中断,CPU 将暂停主程序执行转而执行中断服务程序。当遇到 IRET 时返回断 点继续执行主程序。 如图 3-30 所示, 允许中断范围中若中断源 X0 有一个下降沿, 则转入 I000 为标号的中断服务程序,但 X0 可否引起中断还受 M8050 控制,当 X20 有效时则 M8050 控 制 X0 无法中断。

图 3-30 使用中断相关指令时应注意:

中断指令的使用

1)中断的优先级排队如下,如果多个中断依次发生,则以发生先后为序,即发生越早级 别越高,如果多个中断源同时发出信号,则中断指针号越小优先级越高; 2)当 M8050~M8058 为 ON 时,禁止执行相应 I0□□~I8□□的中断,M8059 为 ON 时则禁止所有计数器中断; 3)无需中断禁止时,可只用 EI 指令,不必用 DI 指令; 4) 执行一个中断服务程序时, 如果在中断服务程序中有 EI 和 DI, 可实现二级中断嵌套, 否则禁止其它中断。 4.主程序结束指令 . 主程序结束指令 FEND 的编号为 FNC06,无操作数,占用 1 个程序步。FEND 表示主程 序结束, 当执行到 FEND 时, PLC 进行输入/输出处理, 监视定时器刷新, 完成后返回启始步。 使用 FEND 指令时应注意: 1)子程序和中断服务程序应放在 FEND 之后; 2)子程序和中断服务程序必须写在 FEND 和 END 之间,否则出错。 5.监视定时器指令 . 监视定时器指令 WDT(P)编号为 FNC07,没有操作数,占有 1 个程序步。WDT 指令 的功能是对 PLC 的监视定时器进行刷新。 FX 系列 PLC 的监视定时器缺省值为 200ms(可用 D8000 来设定) ,正常情况下 PLC 扫描 周期小于此定时时间。如果由于有外界干扰或程序本身的原因使扫描周期大于监视定时器的 设定值,使 PLC 的 CPU 出错灯亮并停止工作,可通过在适当位置加 WDT 指令复位监视定 时器,以使程序能继续执行到 END。 如图 3-31 所示, 利用一个 WDT 指令将一个 240ms 的程序一分为二, 使它们都小于 200ms, 则不再会出现报警停机。

图 3-31 使用 WDT 指令时应注意:

监控定时器指令的使用

1)如果在后续的 FOR-NEXT 循环中,执行时间可能超过监控定时器的定时时间,可将 WDT 插入循环程序中。 2)当与条件跳转指令 CJ 对应的指针标号在 CJ 指令之前时(即程序往回跳)就有可能 连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在 CJ 指令与对应 标号之间插入 WDT 指令。 6.循环指令 . 循环指令共有两条:循环区起点指令 FOR,编号为 FNC08,占 3 个程序步;循环结束指 令 NEXT,编号为 FNC09,占用 1 个程序步,无操作数。 在程序运行时,位于 FOR~NEXT 间的程序反复执行 n 次(由操作数决定)后再继续执 行后续程序。循环的次数 n=1~32767。如果 N=-32767~0 之间,则当作 n=1 处理。 如图 3-32 所示为一个二重嵌套循环,外层执行 5 次。如果 D0Z 中的数为 6,则外层 A 每执行一次则内层 B 将执行 6 次。

图 3-32 使用循环指令时应注意: 1) FOR 和 NEXT 必须成对使用;

循环指令的使用

2)FX2N 系列 PLC 可循环嵌套 5 层; 3)在循环中可利用 CJ 指令在循环没结束时跳出循环体; 4)FOR 应放在 NEXT 之前,NEXT 应在 FEND 和 END 之前,否则均会出错。 (二)传送与比较类指令(FNC10~FNC19) 传送与比较类指令 1.比较指令 . 比较指令包括 CMP(比较)和 ZCP(区间比较)二条。 (1) 比较指令 CMP (D)CMP(P)指令的编号为 FNC10, 是将源操作数[S1.]和源操作数[S2.] 的数据进行比较,比较结果用目标元件[D.]的状态来表示。如图 3-33 所示,当 X1 为接通时, 把常数 100 与 C20 的当前值进行比较,比较的结果送入 M0~M2 中。X1 为 OFF 时不执行, M0~M2 的状态也保持不变。

图 3-33

比较指令的使用

(2)区间比较指令 ZCP (D)ZCP(P)指令的编号为 FNC11,指令执行时源操作数[S.]与 [S1.]和[S2.]的内容进行比较,并比较结果送到目标操作数[D.]中。如图 3-34 所示,当 X0 为 ON 时,把 C30 当前值与 K100 和 K120 相比较,将结果送 M3、M4、M5 中。X0 为 OFF,则 ZCP 不执行,M3、M4、M5 不变。

图 3-34

区间比较指令的使用

使用比较指令 CMP/ZCP 时应注意: 1)[S1.]、[S2.]可取任意数据格式,目标操作数[D.]可取 Y、M 和 S。 2)使用 ZCP 时,[S2.]的数值不能小于[S1.] 3) 所有的源数据都被看成二进制值处理; 2.传送类指令 . (1)传送指令 MOV (D)MOV(P)指令的编号为 FNC12,该指令的功能是将源数据传送 到指定的目标。如图 3-35 所示,当 X0 为 ON 时,则将[S.]中的数据 K100 传送到目标操作元 件[D.]即 D10 中。在指令执行时,常数 K100 会自动转换成二进制数。当 X0 为 OFF 时,则 指令不执行,数据保持不变。

图 3-35 使用应用 MOV 指令时应注意:

传送指令的使用

1)源操作数可取所有数据类型,标操作数可以是 KnY、KnM、KnS、T、C、D、V、Z。 2)16 位运算时占 5 个程序步,32 位运算时则占 9 个程序步。 (2)移位传送指令 SMOV SMOV(P)指令的编号为 FNC13。该指令的功能是将源数据 (二进制)自动转换成 4 位 BCD 码,再进行移位传送,传送后的目标操作数元件的 BCD 码 自动转换成二进制数。如图 3-36 所示,当 X1 为 ON 时,将 D1 中右起第 4 位(m1=4)开始 的 2 位(m2=2) BCD 码移到目标操作数 D2 的右起第 3 位(n=3)和第 2 位。然后 D2 中的 BCD 码会自动转换为二进制数,而 D2 中的第 1 位和第 4 位 BCD 码不变。

图 3-36 使用移位传送指令时应该注意:

移位传送指令的使用

1)源操作数可取所有数据类型,目标操作数可为 KnY、KnM、KnS、T、C、D、V、Z。

2)SMOV 指令只有 16 位运算,占 11 个程序步。 (3)取反传送指令 CML (D)CML(P)指令的编号为 FNC14。它是将源操作数元件的数 据逐位取反并传送到指定目标。如图 3-37 所示,当 X0 为 ON 时,执行 CML,将 D0 的低 4 位取反向后传送到 Y3~Y0 中。

图 3-37

取反传送指令的使用

使用取反传送指令 CML 时应注意: 1)源操作数可取所有数据类型,目标操作数可为 KnY、KnM、KnS、T、C、D、V、Z., 若源数据为常数 K,则该数据会自动转换为二进制数。 2)16 位运算占 5 个程序步,32 位运算占 9 个程序步。 (4)块传送指令 BMOV BMOV(P)指令的 ALCE 编号为 FNC15,是将源操作数指定元 件开始的 n 个数据组成数据块传送到指定的目标。如图 3-38 所示,传送顺序既可从高元件号 开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源操作 数和目标操作数的指定位数应相同。

图 3-38 使用块传送指令时应注意:

块传送指令的使用

1)源操作数可取 KnX、 KnY、KnM、KnS、T、C、D 和文件寄存器,目标操作数可取. KnT、KnM、KnS、T、C 和 D; 2)只有 16 位操作,占 7 个程序步; 3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。 (5)多点传送指令 FMOV (D)FMOV(P)指令的编号为 FNC16。它的功能是将源操作数 中的数据传送到指定目标开始的 n 个元件中,传送后 n 个元件中的数据完全相同。如图 3-39 所示,当 X0 为 ON 时,把 K0 传送到 D0~D9 中。

图 3-39

多点传送指令应用

使用多点传送指令 FMOV 时应注意: 1)源操作数可取所有的数据类型,目标操作数可取 KnX、KnM、KnS、T、C、和 D,n 小等于 512;

2)16 位操作占 7 的程序步,32 位操作则占 13 个程序步; 3)如果元件号超出允许范围,数据仅送到允许范围的元件中。 3.数据交换指令 数据交换指令(D)XCH(P)的编号为 FNC17,它是将数据在指定的目标元件之间交换。如图 3-40 所示,当 X0 为 ON 时,将 D1 和 D19 中的数据相互交换。

图 3-40 使用数据交换指令应该注意:

数据交换指令的使用

1)操作数的元件可取 KnY、KnM、KnS、T、C、D、V 和 Z.。 2)交换指令一般采用脉冲执行方式,否则在每一次扫描周期都要交换一次。 3)16 位运算时占 5 个程序步,32 位运算时占 9 个程序步。 4.数据变换指令 . (1)BCD 变换指令 BCD (D)BCD(P)指令的 ALCE 编号为 FNC18。它是将源元件中的 二进制数转换成 BCD 码送到目标元件中,如图 3-41 所示。 如果指令进行 16 位操作时,执行结果超出 0~9999 范围将会出错;当指令进行 32 位操 作时, 执行结果超过 0~99999999 范围也将出错。 PLC 中内部的运算为二进制运算, 可用 BCD 指令将二进制数变换为 BCD 码输出到七段显示器。 (2)BIN 变换指令 BIN (D)BIN(P)指令的编号为 FNC19。它是将源元件中的 BCD 数 据转换成二进制数据送到目标元件中,如图 3-41 所示。常数 K 不能作为本指令的操作元件, 因为在任何处理之前它们都会被转换成二进制数。

图 3-41 使用 BCD/BIN 指令时应注意:

数据变换指令的使用

1)源操作数可取 KnK、KnY、KnM、KnS、T、C、D、V 和 Z,目标操作数可取 KnY、 KnM、KnS、T、C、D、V 和 Z; 2)16 位运算占 5 个程序步,32 位运算占 9 个程序步。 (三)算术和逻辑运算类指令(FNC20~FNC29) 算术和逻辑运算类指令

1.算术运算指令 . (1)加法指令 ADD (D)ADD(P)指令的编号为 FNC20。它是将指定的源元件中的二进

制数相加结果送到指定的目标元件中去。 如图 3-42 所示, X0 为 ON 时, (D10) 当 执行 + (D12)

→(D14) 。

图 3-42

加法指令的使用

(2) 减法指令 SUB (D)SUB(P)指令的编号为 FNC21。 它是将[S1.]指定元件中的内容以 二进制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中。如图 3-43 所示,当 X0 为 ON 时,执行(D10)—(D12)→(D14) 。

图 3-43 使用加法和减法指令时应该注意:

减法指令的使用

1) 操作数可取所有数据类型,目标操作数可取 KnY、KnM、KnS、T、C、D、V 和 Z.。 2) 16 位运算占 7 个程序步,32 位运算占 13 个程序步。 3)数据为有符号二进制数,最高位为符号位(0 为正,1 为负) 。 4)加法指令有三个标志:零标志(M8020) 、借位标志(M8021)和进位标志(M8022) 。 当运算结果超过 32767(16 位运算)或 2147483647(32 位运算)则进位标志置 1;当运算结 果小于-32767(16 位运算)或-2147483647(32 位运算) ,借位标志就会置 1。 (3) 乘法指令 MUL (D) MUL (P)指令的编号为 FNC22。 数据均为有符号数。 如图 3-44

所示, X0 为 ON 时, 当 将二进制 16 位数[S1.]、 [S2.]相乘, 结果送[D.]中。 为 32 位, (D0) D 即 ×(D2)→(D5,D4) (16 位乘法) ;当 X1 为 ON 时, (D1,D0)×(D3,D2)→(D7, D6,D5,D4) (32 位乘法) 。

图 3-44

乘法指令的使用

(4)除法指令 DIV (D) DIV (P)指令的编号为为 FNC23。其功能是将[S1.]指定为被除 数,[S2.]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数送到[D.]的下一个元件 中。如图 3-45 所示,当 X0 为 ON 时(D0)÷(D2)→(D4)商, (D5)余数(16 位除法) ; 当 X1 为 ON 时(D1,D0)÷(D3,D2)→(D5,D4)商, (D7,D6)余数(32 位除法) 。

图 3-45 使用乘法和除法指令时应注意:

除法指令的使用

1)源操作数可取所有数据类型,目标操作数可取 KnY、KnM、KnS、T、C、D、V 和 Z., 要注意 Z 只有 16 位乘法时能用,32 位不可用。 2)16 位运算占 7 程序步,32 位运算为 13 程序步。 3)32 位乘法运算中,如用位元件作目标,则只能得到乘积的低 32 位,高 32 位将丢失, 这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为[D.],则无法得到余 数,除数为 0 时发生运算错误。 4)积、商和余数的最高位为符号位。 (5)加 1 和减 1 指令 加 1 指令(D) INC (P)的编号为 FNC24;减 1 指令 (D) DEC (P)的编号 为 FNC25。INC 和 DEC 指令分别是当条件满足则将指定元件的内容加 1 或减 1。如图 3-46 所示,当 X0 为 ON 时, (D10)+1→(D10) ;当 X1 为 ON 时, (D11)+1→(D11) 。若指令 是连续指令,则每个扫描周期均作一次加 1 或减 1 运算。

图 3-46 使用加 1 和减 1 指令时应注意:

加 1 和减 1 指令的使用

1)指令的操作数可为 KnY、KnM、KnS、T、C、D、V、Z; 。 2)当进行 16 位操作时为 3 个程序步,32 位操作时为 5 个程序步。 3)在 INC 运算时,如数据为 16 位,则由+32767 再加 1 变为-32768,但标志不置位;同 样,32 位运算由+2147483647 再加 1 就变为-2147483648 时,标志也不置位。 4)在 DEC 运算时,16 位运算-32768 减 1 变为+32767,且标志不置位;32 位运算由 -2147483648 减 1 变为=2147483647,标志也不置位。 2.逻辑辑运算类指令 . (1)逻辑与指令 WAND (D)WAND(P)指令的编号为 FNC26。是将两个源操作数按位 进行与操作,结果送指定元件。 (2)逻辑或指令 WOR (D) WOR (P)指令的编号为 FNC27。它是对二个源操作数按位

进行或运算,结果送指定元件。如图 4-48 所示,当 X1 有效时,(D10)∨(D12)→(D14) (3)逻辑异或指令 WXOR 行逻辑异或运算。 (4)求补指令 NEG (D) NEG (P)指令的编号为 FNC29。其功能是将[D.]指定的元件内 (D) WXOR (P)指令的编号为 FNC28。它是对源操作数位进

容的各位先取反再加 1,将其结果再存入原来的元件中。 WAND、WOR、WXOR 和 NEG 指令的使用如图 3-47 所示。

图 3-47 使用逻辑运算指令时应该注意:

逻辑运算指令的使用

1)WAND、WOR 和 WXOR 指令的[S1.]和[S2.]均可取所有的数据类型,而目标操作数 可取 KnY、KnM、KnS、T、C、D、V 和 Z。 2)NEG 指令只有目标操作数,其可取 KnY、KnM、KnS、T、C、D、V 和 Z。 3)WAND、WOR、WXOR 指令 16 位运算占 7 个程序步,32 位为 13 个程序步,而 NEG 分别占 3 步和 5 步。 (四)循环与移位类指令(FNC30~FNC39) 循环与移位类指令 1.循环移位指令 . 右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为 FNC30 和 FNC31。执行这两条 指令时,各位数据向右(或向左)循环移动 n 位,最后一次移出来的那一位同时存入进位标 志 M8022 中,如图 3-48 所示。

图 3-48 2.带进位的循环移位指令 .

右、左循环移位指令的使用

带进位的循环右、左移位指令(D) RCR(P)和(D) RCL(P)编号分别为 FNC32 和 FNC33。执 行这两条指令时,各位数据连同进位(M8022)向右(或向左)循环移动 n 位,如图 3-49 所 示。

图 3-49

带进位右、左循环移位指令的使用

使用 ROR/ROL/RCR/RCL 指令时应该注意: 1)目标操作数可取 KnY,KnM,KnS,T,C,D,V 和 Z,目标元件中指定位元件的组 合只有在 K4(16 位)和 K8(32 位指令)时有效。 2)16 位指令占 5 个程序步,32 位指令占 9 个程序步。 3)用连续指令执行时,循环移位操作每个周期执行一次。 3.位右移和位左移指令 . 位右、左移指令 SFTR(P)和 SFTL(P)的编号分别为 FNC34 和 FNC35。它们使位元件中的 状态成组地向右(或向左)移动。n1 指定位元件的长度,n2 指定移位位数,n1 和 n2 的关系 及范围因机型不同而有差异,一般为 n2≤n1≤1024。位右移指令使用如图 3-50 所示。

图 3-50 使用位右移和位左移指令时应注意:

位右移指令的使用

1)源操作数可取X、Y、M、S,目标操作数可取Y、M、S。 2)只有16位操作,占9个程序步。 4.字右移和字左移指令 . 字右移和字左移指令 WSFR(P)和 WSFL(P)指令编号分别为 FNC36 和 FNC37。字右移和 字左移指令以字为单位,其工作的过程与位移位相似,是将 n1 个字右移或左移 n2 个字。 使用字右移和字左移指令时应注意: 1)源操作数可取 KnX、KnY、KnM、KnS、T、C 和 D,目标操作数可取 KnY、KnM、 KnS、T、C 和 D。 2)字移位指令只有16位操作,占用9个程序步. 3)n1 和 n2 的关系为 n2≤n1≤512。 5.先入先出写入和读出指令 5.先入先出写入和读出指令 先入先出写入指令和先入先出写入读出指令 SFWR(P)和 SFRD(P)的编号分别为 FNC38 和 FNC39。 先入先出写入指令 SFWR 的使用如图 3-51 所示, 当 X0 由 OFF 变为 ON 时, SFWR 执行, D0 中的数据写入 D2,而 D1 变成指针,其值为 1(D1 必须先清 0) ;当 X0 再次由 OFF 变为 ON 时,D0 中的数据写入 D3,D1 变为 2,依次类推,D0 中的数据依次写入数据寄存器。 D0 中的数据从右边的 D2 顺序存入,源数据写入的次数放在 D1 中,当 D1 中的数达到 n-1 后不再执行上述操作,同时进位标志 M8022 置 1。

图 3-51

先入先出写入指令的使用

先入先出读出指令 SFRD 的使用如图 3-70 所示,当 X0 由 OFF 变为 ON 时,D2 中的数 据送到 D20,同时指针 D1 的值减 1,D3~D9 的数据向右移一个字,数据总是从 D2 读出, 指针 D1 为 0 时,不再执行上述操作且 M8020 置 1。

图 3-52

先入先出读出指令的使用

使用 SFWR 和 SFRD 指令时应注意: 1)目标操作数可取 KnY、KnM、KnS、T、C 和 D,源操数可取所有的数据类型。 2)指令只有 16 位运算,占 7 个程序步。

(五)数据处理指令(FNC40~FNC49) 数据处理指令 1.区间复位指令 . 区间复位指令 ZRST(P)的编号为 FNC40。它是将指定范围内的同类元件成批复位。如图 3-53 所示,当 M8002 由 OFF→ON 时,位元件 M500~M599 成批复位,字元件 C235~C255 也成批复位。

图 3-53 使用区间复位指令时应注意:

区间复位指令的使用

1)[D1.]和[D2.]可取 Y、M、S、T、C、D,且应为同类元件,同时[D1]的元件号应小于 [D2]指定的元件号,若[D1]的元件号大于[D2]元件号,则只有[D1]指定元件被复位。 2)ZRST 指令只有 16 位处理,占 5 个程序步,但[D1.][D2.]也可以指定 32 位计数器。 2.译码和编码指令 . (1)译码指令 DECO DECO(P) 指令的编号为 FNC41。如图 3-54 所示,n=3 则表示

[S.]源操作数为 3 位,即为 X0、X1、X2。其状态为二进制数,当值为 011 时相当于十进制 3, 则由目标操作数 M7~M0 组成的 8 位二进制数的第三位 M3 被置 1,其余各位为 0。如果为 000 则 M0 被置 1。用译码指令可通过[D.]中的数值来控制元件的 ON/OFF。

图 3-54 使用译码指令时应注意:

译码指令的使用

1)位源操作数可取 X、T、M 和 S,位目标操作数可取 Y、M 和 S,字源操作数可取 K, H,T,C,D,V 和 Z,字目标操作数可取 T,C 和 D。 2)若[D.]指定的目标元件是字元件 T、C、D,则 n≦4;若是位元件 Y、M、S,则 n=1~ 8。译码指令为 16 位指令,占 7 个程序步。 (2)编码指令 ENCO ENCO(P)指令的编号为 FNC42。如图 3-55 所示,当 X1 有效时 执行编码指令,将[S.]中最高位的 1(M3)所在位数(4)放入目标元件 D10 中,即把 011 放 入 D10 的低 3 位。

图 3-55 使用编码指令时应注意:

编码指令的使用

1)源操作数是字元件时,可以是 T、C、D、V 和 Z;源操作数是位元件,可以是 X、Y、 M 和 S。目标元件可取 T、C、D、V 和 Z。编码指令为 16 位指令,占 7 个程序步。 2)操作数为字元件时应使用 n≦4,为位元件时则 n=1~8,n=0 时不作处理。 3)若指定源操作数中有多个 1,则只有最高位的 1 有效。 3. ON 位数统计和 ON 位判别指令 . (1)ON 位数统计指令 SUM (D)SUM(P)指令的编号为 FNC43。该指令是用来统计指 定元件中 1 的个数。如图 3-56 所示,当 X0 有效时执行 SUM 指令,将源操作数 D0 中 1 的个 数送入目标操作数[D2 中,若 D0 中没有 1,则零标志 M8020 将置 1。

图 3-56 ON 位数统计和 ON 位判别指令的使用 使用 SUM 指令时应注意: 1)源操作数可取所有数据类型,目标操作数可取 KnY,KnM,KnS,T,C,D,V 和 Z。 2)16 位运算时占 5 个程序步,32 位运算则占 9 个程序步。 (2)ON 位判别指令 BON (D)BON(P)指令的编号为 FNC44。它的功能是检测指定元

件中的指定位是否为 1。如图 3-56 所示,当 X1 为有效时,执行 BON 指令,由 K4 决定检测 的是源操作数 D10 的第 4 位,当检测结果为 1 时,则目标操作数 M0=1,否则 M0=0。 使用 BON 指令时应注意: 1)源操作数可取所有数据类型,目标操作数可取 Y、M 和 S。 2)进行 16 位运算,占 7 程序步,n=0~15;32 位运算时则占 13 个程序步,n=0~31。 4.平均值指令 . 平均值指令(D)MEAN(P)的编号为 FNC45。其作用是将 n 个源数据的平均值送到指定目 标(余数省略) ,若程序中指定的 n 值超出 1~64 的范围将会出错。 5.报警器置位与复位指令 . 报警器置位指令 ANS(P)和报警器复位指令 ANR(P)的编号分别为 FNC46 和 FNC47。如 图 3-57 所示,若 X0 和 X1 同时为 ON 时超过 1S,则 S900 置 1;当 X0 或 X1 变为 OFF,虽 定时器复位,但 S900 仍保持 1 不变;若在 1S 内 X0 或 X1 再次变为 OFF 则定时器复位。当 X2 接通时,则将 S900~S999 之间被置 1 的报警器复位。若有多于 1 个的报警器被置 1,则 元件号最低的那个报警器被复位。

图 3-57

报警器置位与复位指令的使用

使用报警器置位与复位指令时应注意:

1)ANS 指令的源操作数为 T0~T199,目标操作数为 S900~S999,n=1~32767’; ANR 指令无操作数。 2)ANS 为 16 位运算指令,占 7 的程序步;ANR 指令为 16 位运算指令,占 1 个程序步。 3)ANR 指令如果用连续执行,则会按扫描周期依次逐个将报警器复位。 6.二进制平方根指令 . 二进制平方根指令(D)SQR(P)的编号为 FNC48。如图 3-58 所示,当 X0 有效时,则将存 放在 D45 中的数开平方,结果存放在 D123 中(结果只取整数) 。

图 3-58 使用 SQR 指令时应注意:

二进制平方根指令的使用

1)源操作数可取 K、H、D,数据需大于 0,目标操作数为 D。 2)16 位运算占 5 个程序步,32 位运算占 9 个程序步。 7.二进制整数→二进制浮点数转换指令 .二进制整数→ 二进制整数→二进制浮点数转换指令(D)FLT(P)的编号为 FNC49。如图 3-59 所示,当 X1 有效时,将存入 D10 中的数据转换成浮点数并存入 D12 中。

图 3-59

二进制整数→二进制浮点数转换指令的使用

使用 FLT 指令时应注意: 1)源和目标操作数均为 D。 2)16 位操作占 5 个程序步,32 位占 9 个程序步。 (六)高速处理指令(FNC50~FNC59) 高速处理指令 1.和输入输出有关的指令 (1)输入输出刷新指令 REF REF(P)指令的编号为 FNC50。FX 系列 PLC 采用集中输 入输出的方式。 如果需要最新的输入信息以及希望立即输出结果则必须使用该指令。 如图 3-60 所示,当 X0 接通时,X10~X17 共 8 点将被刷新;当 X1 接通时,则 Y0~Y7、Y10~Y17、 共 16 点输出将被刷新。

图 3-60 使用 REF 指令时应注意:

输入输出刷新指令的使用

1)目标操作数为元件编号个位为 0 的 X 和 Y,n 应为 8 的整倍数。 2)指令只要进行 16 位运算,占 5 个程序步。 (2)滤波调整指令 REFF REFF(P)指令的编号为 FNC51。在 FX 系列 PLC 中 X0~X17 使用了数字滤波器,用 REFF 指令可调节其滤波时间,范围为 0~60ms(实际上由于输入端 有 RL 滤波,所以最小滤波时间为 50μs) 。如图 3-61 所示,当 X0 接通时,执行 REFF 指令, 滤波时间常数被设定为 1ms。

图 3-81 滤波调整指令说明 使用 REFF 指令时应注意: 1)REFF 为 16 位运算指令,占 7 个程序步。 2)当 X0~X7 用作高速计数输入时或使用 FNC56 速度检测指令以及中断输入时,输入 滤波器的滤波时间自动设置为 50ms。 (3)矩阵输入指令 MTR MTR 指令的编号为 FNC52。利用 MTR 可以构成连续排列的 8 点输入与 n 点输出组成的 8 列 n 行的输入矩阵。如图 3-62 所示,由[S]指定的输入 X0~X7 共 8 点与 n 点输出 Y0、Y1、Y2(n=3)组成一个输入矩阵。PLC 在运行时执行 MTR 指令, 当 Y0 为 ON 时,读入第一行的输入数据,存入 M30~M37 中;Y1 为 ON 时读入第二行的输 入状态,存入 M40~M47。其余类推,反复执行。

图 3-62 使用 MTR 指令时应注意:

矩阵输入指令的使用

1)源操作数[S]是元件编号个位为 0 的 X,目标操作数[D1] 是元件编号个位为 0 的 Y, 目标操作数[D2] 是元件编号个位为 0 的 Y、M 和 S,n 的取值范围是 2~8。 2)考虑到输入滤波应答延迟为 10ms,对于每一个输出按 20ms 顺序中断,立即执行。 3)利用本指令通过 8 点晶体管输出获得 64 点输入,但读一次 64 点输入所许时间为 20ms×8=160ms,不适应高速输入操作。 4)该指令只有 16 位运算,占 9 个程序步。 2.高速计数器指令 . (1)高速计数器置位指令 HSCS DHSCS 指令的编号为 FNC53。它应用于高速计数器的 置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。它采用了中断方式使 置位和输出立即执行而与扫描周期无关。如图 3-63 所示,[S1.]为设定值(100) ,当高速计数 器 C255 的当前值由 99 变 100 或由 101 变为 100 时,Y0 都将立即置 1。

图 3-63

高速计数器指令的使用

(2)高速计速器比较复位指令 HSCR DHSCR 指令的编号为 FNC54。如图 3-63 所示, C254 的当前值由 199 变为 200 或由 201 变为 200 时,则用中断的方式使 Y10 立即复位。 使用 HSCS 和 HSCR 时应注意: 1)源操作数[S1.]可取所有数据类型,[S2.]为 C235~C255,目标操作数可取 Y、M 和 S。 2)只有 32 位运算,占 13 个程序步。 (3)高速计速器区间比较指令 HSZ DHSZ 指令的编号为 FNC55。如图 3-63 所示,目标操 作数为 Y20、Y21 和 Y22。如果 C251 的当前值<K1000 时,Y20 为 ON;K1000≤C251 的当 前值≤K1200 时,Y21 为 ON;C251 的当前值>K1200 时,Y22 为 ON。 使用高速计速器区间比较指令时应注意: 1)操作数[S1.] 、[S2.]可取所有数据类型,[S .]为 C235~C255,目标操作数[D.]可取 Y、 M、S。 2)指令为 32 位操作,占 17 个程序步。 2.速度检测指令 速度检测指令 SPD 的编号为 FNC56。它的功能是用来检测给定时间内从编码器输入的脉 冲个数,并计算出速度。如图 4-64 所示,[D. ]占三个目标元件。当 X12 为 ON 时,用 D1 对 X0 的输入上升沿计数,100ms 后计数结果送入 D0,D1 复位,D1 重新开始对 X0 计数。D2 在计数结束后计算剩余时间。

图 4-64 使用速度检测指令时应注意:

速度检测指令的使用

1)[S1.]为 X0~X5,[S2.]可取所有的数据类型,[D.]可以是 T、C、D、V 和 Z。 2)指令只有 16 位操作,占 7 个程序步。 3.脉冲输出指令 脉冲输出指令(D)PLSY 的编号为 FNC57。它用来产生指定数量的脉冲。如图 3-65 所示, [S1.]用来指定脉冲频率 (2~20000Hz) [S2.]指定脉冲的个数 , (16 位指令的范围为 1~32767, 32 位指令则为 1~2147483647) 。如果指定脉冲数为 0,则产生无穷多个脉冲。[D .]用来指定 脉冲输出元件号。脉冲的占空比为 50%,脉冲以中断方式输出。指定脉冲输出完后,完成标 志 M8029 置 1。X10 由 ON 变为 OFF 时,M8029 复位,停止输出脉冲。若 X10 再次变为 ON 则脉冲从头开始输出。

图 3-65 使用脉冲输出指令时应注意:

脉冲输出指令的使用

1)[S1.]、[S2.]可取所有的数据类型,[D.]为 Y1 和 Y2。 2)该指令可进行 16 和 32 位操作,分别占用 7 个和 13 个程序步。 3)本指令在程序中只能使用一次。 5.脉宽调制指令 . 脉宽调制指令 PWM 的编号为 FNC58。它的功能是用来产生指定脉冲宽度和周期的脉冲 串。如图 3-66 所示,[S1.] 用来指定脉冲的宽度,[S2.]用来指定脉冲的周期,[D.]用来指定输 出脉冲的元件号(Y0 或 Y1) ,输出的 ON/OFF 状态由中断方式控制。

图 3-66 使用脉宽调制指令时应注意:

脉宽调制指令的使用

1)操作数的类型与 PLSY 相同;该指令只有 16 位操作,需 7 个程序步。 2)[S1.]应小于[S2.]。 6.可调速脉冲输出指令 . 可调速脉冲输出指令该指令(D)PLSR 的编号为 FNC59。 该指令可以对输出脉冲进行加速, 也可进行减速调整。源操作数和目标操作数的类型和 PLSY 指令相同,只能用于晶体管 PLC 的 Y0 和 Y1,可进行 16 位操作也可进行 32 位操作,分别占 9 个和 17 个程序步。该指令只 能用一次。 (七)其它功能指令 1.方便指令(FNC60~FNC69) .方便指令 FX 系列共有 10 条方便指令:初始化指令 IST(FNC60) 、数据搜索指令 SER(FNC61) 、 绝对值式凸轮顺控指令 ABSD(FNC62) 、增量式凸轮顺控指令 INCD(FNC63) 、示教定时指 令 TIMR(FNC64) 、特殊定时器指令 STMR(FNC65) 、交替输出指令 ALT(FNC66) 、斜坡 信号指令 RAMP(FNC67) 、旋转工作台控制指令 ROTC(FNC68)和数据排序指令 SORT (FNC69) 。以下仅对其中部分指令加以介绍。 (1)凸轮顺控指令 凸轮顺控指令有绝对值式凸轮顺控指令 ABSD(FNC62)和增量式 凸轮顺控指令 INCD(FNC63)两条。 绝对值式凸轮顺控指令 ABSD 是用来产生一组对应于计数值在 3600 范围内变化的输出波 形, 输出点的个数由 n 决定, 如图 3-67a 所示。 图中 n 为 4, 表明[D.]由 M0~M3 共 4 点输出。 预先通过 MOV 指令将对应的数据写入 D300~D307 中,开通点数据写入偶数元件,关断点

数据放入奇数元件,如表 3-15 所示。当执行条件 X0 由 OFF 变 ON 时,M0~M3 将得到如图 3-67b 所示的波形,通过改变 D300~D307 的数据可改变波形。若 X0 为 OFF,则各输出点状 态不变。这一指令只能使用一次。

图 3-67

绝绝对值式凸轮顺控指令的使用 b) 输出波形

a) 绝绝对值式凸轮顺控指令

表 3-15 旋转台旋转周期 M0~M3 状态 开通点 D300=40 D302=100 D304=160 D306=240 关断点 D301=140 D303=200 D305=60 D307=280 输出 M0 M1 M2 M3

增量式凸轮顺控指令 INCD 也是用来产生一组对应于计数值变化的输出波形。如图 3-68 所示,n=4,说明有 4 个输出,分别为 M0~M3,它们的 ON/OFF 状态受凸轮提供的脉 冲个数控制。使 M0~M3 为 ON 状态的脉冲个数分别存放在 D300~D303 中(用 MOV 指令 写入) 。图中波形是 D300~D303 分别为 20、30、10 和 40 时的输出。当计数器 C0 的当前值 依次达到 D300~D303 的设定值时将自动复位。C1 用来计复位的次数,M0~M3 根据 C1 的 值依次动作。 n 指定的最后一段完成后, 由 标志 M8029 置 1, 以后周期性重复。 X0 为 OFF, 若 则 C0、C1 均复位,同时 M0~M3 变为 OFF,当 X0 再接通后重新开始工作。

图 3-68

增量式凸轮顺控指令的使用

凸轮顺控指令源操作数[S1.]可取 KnX、KnY、KnM、KnS、T、C 和 D,[S2.]为 C,目 标操作数可取 Y、M 和 S。为 16 位操作指令,占 9 个程序步。 (2)定时器指令 定时器指令有示教定时器指令 TTMR(FNC64)和特殊定时器指令

STMR(FNC65)两条。 使用示教定时器指令 TTMR,可用一个按钮来调整定时器的设定时间。如图 3-69 所示, 当 X10 为 ON 时,执行 TTMR 指令,X10 按下的时间由 M301 记录,该时间乘以 10 后存入 D300。如果按钮按下时间为 t 存入 D300 的值为 10 ×t 。X10 为 OFF 时,D301 复位,D300 保持不变。TTMR 为 16 位指令,占 5 个程序步。
n n

图 3-69

示教定时器指令说明

特殊定时器指令 STMR 是用来产生延时断开定时器、单脉冲定时器和闪动定时器。如图 3-70 所示,m=1~32767,用来指定定时器的设定值;[S.]源操作数取 T0~T199(100ms 定时 器) 。T10 的设定值为 100ms×100=10s,M0 是延时断开定时器,M1 为单脉冲定时器,M2, M3 为闪动而设。

图 3-70

特殊定时器指令的使用

(3)交替输出指令 交替输出指令 ALT(P)的编号为 FNC66,用于实现由一个按钮控制 负载的启动和停止。如图 3- 71 所示,当 X0 由 OFF 到 ON 时,Y0 的状态将改变一次。若用 连续的 ALT 指令则每个扫描周期 Y0 均改变一次状态。 [D.]可取 Y、M 和 S。ALT 为 16 为 运算指令,占 3 个程序步。

图 3-71

交替输出指令的使用

2.外部 I/0 设备指令 . 设备指令(FNC70~FNC79) 外部 I/0 设备指令是 FX 系列与外设传递信息的指令,共有 10 条。分别是 10 键输入指令 TKY(FNC70) 、16 键输入指令 HKY(FNC71) 、数字开关输入指令 DSW(FNC72) 、七段 译码指令 SEGD(FNC73) 、带锁存的七段显示指令 SEGL(FNC74) 、方向开关指令 ARWS (FNC75) 、ASCII 码转换指令 ASC(FNC76) 、ASCII 打印指令 PR(FNC77) 、特殊功能模 块读指令 FROM(FNC78)和特殊功能模块写指令 T0(FNC79) 。 (1) 数据输入指令 数据输入指令有 10 键输入指令 TKY (FNC70)16 键输入指令 HKY 、 (FNC71)和数字开关输入指令 DSW(FNC72) 。 10 键输入指令(D)TKY 的使用如图 3-72 所示。源操作数[S.]用 X0 为首元件,10 个键 X0~X11 分别为对应数字 0~9。X30 接通时执行 TKY 指令,如果以 X2(2) 、X9(8) 、X3 (3) 、X0(0)的顺序按键,则[D1.]中存入数据为 2830,实现了将按键变成十进制的数字量。 当送入的数大于 9999,则高位溢出并丢失。使用 32 位指令 DTKY 时,D1 和 D2 组合使用, 高位大于 99999999 则高位溢出。

图 3-72

10 键输入指令的使用

当按下 X2 后,M12 置 1 并保持至另一键被按下,其它键也一样。M10~M19 动作对应 于 X0~X11。任一键按下,键信号置 1 直到该键放开。当两个或更多的键被按下时,则首先 按下的键有效。X30 变为 OFF 时,D0 中的数据保持不变,但 M10~M20 全部为 OFF。此指 令的源操作数可取 X、Y、M、和 S,目标操作数[D.]可取 KnY、KnM、KnS、T、C、D、V 和 Z,[D2.]可取 Y、M、S。16 位运算占 7 个程序步,32 运算时占 13 个程序步。该指令在程 序中只能使用一次。 16 键输入指令(D)HKY 的作用是通过对键盘上的数字键和功能键输入的内容实现输入的 复合运算。如图 3-73 所示,[S.]指定 4 个输入元件,[D1.]指定 4 个扫描输出点,[D2.]为键输 入的存储元件。[D3.]指示读出元件。十六键中 0~9 为数字键,A~F 为功能键,HKY 指令 输入的数字范围为 0~9999,以二进制的方式存放在 D0 中,如果大于 9999 则溢出。DHKY 指令可在 D0 和 D1 中存放最大为 99999999 的数据。功能键 A~F 与 M0~M5 对应,按下 A 键,M0 置 1 并保持。按下 D 键 M0 置 0,M3 置 1 并保持。其余类推。如果同时按下多个键 则先按下的有效。

图 3-73

16 键输入指令的使用

该指令源操作数为 X,目标操作数[D1.]为 Y。[D2]可以取 T、C、D、V 和 Z,[D3.]可取 Y、M 和 S。16 位运算时占 9 个程序步,32 位运算时为占 17 个程序步。扫描全部 16 键需 8 个扫描周期。HKY 指令在程序中只能使用一次。 数字开关指令 DSW 的功能是读入 1 组或 2 组 4 位数字开关的设置值。如图 3-74 所示, 源操作数[S]为 X,用来指定输入点。[D1]为目标操作数为 Y,用来指定选通点。[D2]指定数 据存储单元,它可取 T、C、D、V 和 Z。[n]指定数字开关组数。该指令只有 16 位运算,占 9 个程序步,可使用两次。图中,n=1 指有 1 组 BCD 码数字开关。输入开关为 X10~X13,按 Y10~Y13 的顺序选通读入。数据以二进制数的形式存放在 D0 中。若 n=2,则有 2 组开关, 第 2 组开关接到 X14~X17 上,仍由 Y10~Y13 顺序选通读入,数据以二进制的形式存放在 D1 中,第 2 组数据只有在 n=2 时才有效。当 X1 保持为 ON 时,Y10~Y13 依次为 ON。一 个周期完成后标志位 M8029 置 1。

图 3-74

数字开关指令的使用

(2)数字译码输出指令 数字译码输出指令有七段译码指令 SEGD(FNC73)和带锁存 的七段显示指令 SEGL(FNC74)两条。 七段译码指令 SEGD(P) 如图 3-75 所示,将[S.]指定元件的低 4 位所确定的十六进制数

(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,[D.]的高 8 位保持不变。如果 要显示 0,则应在 D0 中放入数据为 3FH。

图 3-75

七段译码指令的使用

带锁存的 7 段显示指令 SEGL 的作用是用 12 个扫描周期的时间来控制一组或两组带锁存 的七段译码显示。 (3)方向开关指令 方向开关指令 ARWS(FNC75)是用于方向开关的输入和显示。

如图 3-76 所示,该指令有四个参数,源操作数[S]可选 X、Y、M、S。图中选择 X10 开始的 4 个按钮,位左移键和右移键用来指定输入的位,增加键和减少键用来设定指定位的数值。 X0 接通时指定的是最高位, 按一次右移键或左移键可移动一位。 指定位的数据可由增加键和 减少键来修改,其值可显示在 7 段显示器上。目标操作数[D1]为输入的数据,由 7 段显示器 监视其中的值(操作数可用 T、C、D、V、和 Z) ,[D2]只能用 Y 做操作数,n=0~3 其确定 的方法与 SEGL 指令相同。ARWS 指令只能使用一次,而且必须用晶体管输出型的 PLC。

图 3-76

方向开关指令的使用

(4) ASEII 码转换指令 ASCII 码转换指令 ASC (FNC76) 的功能是将字符变换成 ASCII 码,并存放在指定的元件中。如图 3-77 所示,当 X3 有效时,则将 FX2A 变成 ASCII 码并送 入 D300 和 D301 中。源操作数是 8 个字节以下的字母或数字,目标操作数为 T,C,D。它 只有 16 位运算,占 11 个程序步。

图 3-77 ASEII 码转换指令说明 特殊功能模块读指令 FROM(FNC78)和特殊功能模块写指令 T0(FNC79)将在第 6 章中介绍。 3. 外围设备(SER)指令(FNC80~FNC89) 外围设备(SER)指令包括串行通信指令 RS(FNC80) 、八进制数据传送指令 PRUN (FNC81) 、HEX→ASCII 转换指令 ASCI(FNC82) 、ASCII→HEX 转换指令 HEX(FNC83) 、 校验码指令 CCD(FNC84) 、模拟量输入指令 VRRD(FNC85) 、模拟量开关设定指令 VRSC (FNC86)和 PID 运算指令 PID(FNC88)8 条指令。 (1)八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制

数的传送。如图 3-78 所示,当 X10 为 ON 时,将 X0~X17 内容送至 M0~M7 和 M10~M17 (因为 X 为八进制,故 M9 和 M8 的内容不变) 。当 X11 为 ON 时,则将 M0~M7 送 Y0~ Y7,M10~M17 送 Y10~Y17。源操作数可取 KnX、KnM,目标操作数取 KnY、KnM,n=1~ 8,16 位和 32 位运算分别占 5 个和 9 个程序步。

图 3-78

八进制数据传送指令的使用

(2) 进制数与 ASCII 码转换指令 有 HEX→ASCII 转换指令 ASCI 16 (FNC82) ASCII 、 →HEX 转换指令 HEX(FNC83)两条指令 HEX→ASCII 转换指令 ASCI(P)的功能是将源操作数[S.]中的内容(十六进制数)转换成 ASCII 码放入目标操作数[D.]中。 如图 3- 79 所示, 表示要转换的字符数 n (n=1~256) M8161 。 控制采用 16 位模式还是 8 位模式。16 位模式时每 4 个 HEX 占用 1 个数据寄存器,转换后每 两个 ASCII 码占用一个数据寄存器; 位模式时, 8 转换结果传送到[D.]低 8 位, 其高 8 位为 0。 PLC 运行时 M8000 为 ON,M8161 为 OFF,此时为 16 位模式。当 X0 为 ON 则执行 ASCI。 如果放在 D100 中的 4 个字符为 OABCH 则执行后将其转换为 ASCII 码送入 D200 和 D201 中, D200 高位放 A 的 ASCII 码 41H,低位放 0 的 ASCII 码 30H,D201 则放 BC 的 ASCII 码,C 放在高位。该指令的源操作数可取所有数据类型,目标操作数可取 KnY、KnM、KnS、T、C 和 D。只有 16 位运算,占用 7 个程序步。

图 3-79 HEX→ASCII 码转换指令的使用 ASCII→HEX 指令 HEX(P)的功能与 ASCI 指令相反,是将 ASCII 码表示的信息转换成 16 进制的信息。如图 3-80 所示,将源操作数 D200~D203 中放的 ASCII 码转换成 16 进制放 入目标操作数 D100 和 D101 中。只有 16 位运算,占 7 个程序步。源操作数为 K、H、KnX、 KnY、KnM、KnS、T、C 和 D,目标操作数为 KnY、KnM、KnS、T、C、D、V 和 Z。

图 3-80 (4)校验码指令

ASCII→HEX 指令的使用

校验码指令 CCD(P)(FNC84)的功能是对一组数据寄存器中的 16

进制数进行总校验和奇偶校验。如图 3-81 所示,是将源操作数[S.]指定的 D100~D102 共 6 个字节的 8 位二进制数求和并“异或” ,结果分别放在目标操作数 D0 和 D1 中。通信过程中 可将数据和、 “异或”结果随同发送,对方接收到信息后,先将传送的数据求和并“异或” ,

再与收到的和及 “异或” 结果比较, 以此判断传送信号的正确与否。 源操作数可取 KnX、 KnY、 KnM、KnS、T、C 和 D,目标操作数可取 KnM、KnS、T、C 和 D,n 可用 K、H 或 D,n=1~ 256。为 16 位运算指令,占 7 个程序步。

图 3-81

校验码指令的使用

以上 PRUN、ASCI、HEX、CCD 常应用于串行通信中,配合 RS 指令。 (5)模拟量输入指令 模拟量输入指令 VRRD(P)(FNC85)是用来对 FX2N-8AV-BD 模 拟量功能扩展板中的电位器数值进行读操作。如图 3-82 所示,当 X0 为 ON 时,读出 FX2N-8AV-BD 中 0 号模拟量的值(由 K0 决定) ,将其送入 D0 作为 T0 的设定值。源操作数 可取 K、H,它用来指定模拟量口的编号,取值范围为 0~7;目标操作数可取 KnY、KnM、 KnS、T、C、D、V 和 Z。该指令只有 16 位运算,占 5 个程序步。

图 3-82

模拟量输入指令的使用

(6) 模拟量开关设定指令 模拟量开关设定指令 VRSC(P) FNC86) ( 的作用是将 FX-8AV 中电位器读出的数四舍五入整量化后以 0~10 之间的整数值存放在目标操作数中。它的源操 作数[S.]可取 K 和 H,用来指定模拟量口的编号,取值范围为 0~7;目标操作数[D.]的类型 与 VRRD 指令相同。该指令为 16 位运算,占 9 个程序步。 4.浮点运算指令 . 浮点数运算指令包括浮点数的比较、四则运算、开方运算和三角函数等功能。它们分布 在指令编号为 FNC110~FNC119、FNC120~FNC129、FNC130~FNC139 之中。 (1)二进制浮点数比较指令 ECMP(FNC110) DECMP(P)指令的使用如图 3-83 所示, 将两个源操作数进行比较,比较结果反映在目标操作数中。如果操作数为常数则自动转换成 二进制浮点值处理。该指令源操作数可取 K、H 和 D,目标操作数可用 Y、M 和 S。为 32 位 运算指令,占 17 个程序步。

图 3-83

二进制浮点数比较指令的使用

(2)二进制浮点数区间比较指令 EZCP(FNC111) EZCP(P)指令的功能是将源操作数 的内容与用二进制浮点值指定的上下二点的范围比较,对应的结果用 ON/OFF 反映在目标操 作数上,如图 3-84 所示。该指令为 32 位运算指令,占 17 个程序步。源操作数可以是 K,H

和 D;目标操作数为 Y、M 和 S。[S1.]应小于[S2.],操作数为常数时将被自动转换成二进制 浮点值处理。

图 3-84

二进制浮点数区间比较指令的使用 浮点数的四则运算指令有 加法指令 EADD

(3) 二进制浮点数的四则运算指令

(FNC120) 、减法指令 ESUB(FNC121) 、乘法指令 EMVL(FNC122)和除法指令 EDIV (FNC123)四条指令。四则运算指令的使用说明如图 3-85 所示,它们都是将两个源操作数 中的浮点数进行运算后送入目标操作数。当除数为 0 时出现运算错误,不执行指令。此类指 令只有 32 位运算,占 13 个程序步。运算结果影响标志位 M8020(零标志) 、M8021(借位 标志) 、M8022(进位标志) 。源操作数可取 K、H 和 D,目标操作数为 D。如有常数参与运 算则自动转化为浮点数。

图 3-85

二进制浮点数四则运算指令的使用

二进制的浮点运算还有开平方、三角函数运算等指令,在此不一一说明。 5.时钟运算指令(FNC160~FNC169) .时钟运算指令( 共有七条时钟运算类指令,指令的编号分布在 FNC160~FNC169 之间。时钟运算类指令 是对时钟数据进行运算和比较,对 PLC 内置实时时钟进行时间校准和时钟数据格式化操作。 (1)时钟数据比较指令 TCMP(FNC160) TCMP(P)它的功能是用来比较指定时刻与 时钟数据的大小。如图 3- 86 所示,将源操作数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的 3 点 时间数据比较,根据它们的比较结果决定目标操作数[D.]中起始的 3 点单元中取 ON 或 OFF 的状态。该指令只有 16 位运算,占 11 个程序步。它的源操作数可取 T、C 和 D,目标操作 数可以是 Y、M 和 S。

图 3-86

时钟数据比较指令的使用

(2)时钟数据加法运算指令 TADD(FNC162) TADD(P)指令的功能是将两个源操作 数的内容相加结果送入目标操作数。源操作数和目标操作数均可取 T,C 和 D。TADD 为 16 位运算, 7 个程序步。 占 如图 3-87 所示, 将[S1.]指定的 D10~D12 和 D20~D22 中所放的时、 分、秒相加,把结果送入[D.]指定的 D30~D32 中。当运算结果超过 24 小时时,进位标志位 变为 ON,将进行加法运算的结果减去 24 小时后作为结果进行保存。

图 3-87

时钟数据加法运算指令的使用

(3)时钟数据读取指令 TRD(FNC166) TRD(P)指令为 16 位运算,占 7 个程序步。 [D.]可取 T,C 和 D。它的功能是读出内置的实时时钟的数据放入由[D.]开始的 7 个字内。如 图 3-87 所示,当 X1 为 ON 时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序 存放在特殊辅助寄存器 D8013~8019 之中)传送到 D10~D16 之中。

图 3-88

时钟数据读取指令的使用

6.格雷码转换及模拟量模块专用指令 . (1) 格雷码转换和逆转换指令 这类指令有 2 条: GRY (FNC170) GBIN (FNC171) 和 ,

常用于处理光电码盘编码盘的数据。(D)GRN(P)指令的功能是将二进制数转换为格雷码, (D)GBIN(P)指令则是 GRY 的逆变换。如图 3-89 所示,GRY 指令是将源操作数[S.]中的二进 制数变成格雷码放入目标操作数[D.]中,而 GBIN 指令与其相反。它们的源操作数可取任意 数据格式,目标操作数为 KnY、KnM、KnS、T、C、D、V 和 Z。 、16 位操作时占 5 个程序 步,32 位操作时占 9 个程序步。

图 3-89

格雷码转换和逆转换指令的使用

(2) 模拟量模块读写指令 这类指令有 2 条: RD3A (FNC176)和 WR3A (FNC177) , 其功能是对 FXON-3A 模拟量模块输入值读取和对模块写入数字值。如图 3-90 所示,[m1.] 为特殊模块号 K0~K7,[m2.]为模拟量输入通道 K1 或 K2,[D.]为保存读取的数据,[S.]为指 定写入模拟量模块的数字值。指令均为 16 位操作,占 7 个程序步。

图 3-90

模拟量模块读写指令的使用

7.触点比较指令(FNC224~FNC246) .触点比较指令 触点比较指令共有 18 条 (1)LD 触点比较指令 该类指令的助记符、代码、功能如表 3-17 所示。 表 3-17 LD 触点比较指令

功能指令代码 FNC224 FNC225 FNC226 FNC228 FNC229 FNC230

助记符 (D)LD= (D)LD> (D)LD< (D)LD<> (D)LD≤ (D)LD≥

导通条件 [S1.]=[S2.] [S1 ]>[S2.] [S1.]< [S2.] [S1.]≠[S2.] [S1.]≤[S2.] [S1.]≥[S2.]

非导通条件 [S1.]≠[S2.] [S1.]≤[S2.] [S1.]≥[S2.] [S1.]=[S2.] [S1.]>[S2.] [S1.]<[S2.]

如图 3-91 所示为 LD=指令的使用,当计数器 C10 的当前值为 200 时驱动 Y10。其它 LD 触点比较指令不在此一一说明。

图 3-91 (2)AND 触点比较指令

LD=指令的使用

该类指令的的助记符、代码、功能如表 3-18 所示。 表 3-18 AND 触点比较指令 导通条件 [S1.]=[S2.] [S1 ]>[S2.] [S1.]< [S2.] [S1.]≠[S2.] [S1.]≤[S2.] [S1.]≥[S2.] 非导通条件 [S1.]≠[S2.] [S1.]≤[S2.] [S1.]≥[S2.] [S1.]=[S2.] [S1.]>[S2.] [S1.]<[S2.]

功能指令代码 FNC232 FNC233 FNC234 FNC236 FNC237 FNC238

助记符 (D)AND= (D)AND> (D)AND< (D)AND<> (D)AND≤ (D)AND≥

如图 3-92 所示为 AND=指令的使用,当 X0 为 ON 且计数器 C10 的当前值为 200 时,驱 动 Y10。

图 3-92 (3)OR 触点比较指令

AND=指令的使用

该类指令的的助记符、代码、功能列于下表 3-19 中。 表 3-19 OR 触点比较指令 功能指令代码 FNC240 FNC241 助记符 (D)OR= (D)OR> 导通条件 [S1.]=[S2.] [S1 ]>[S2.] 非导通条件 [S1.]≠[S2.] [S1.]≤[S2.]

FNC242 FNC244 FNC245 FNC246

(D)OR< (D)OR<> (D)OR≤ (D)OR≥

[S1.]< [S2.] [S1.]≠[S2.] [S1.]≤[S2.] [S1.]≥[S2.]

[S1.]≥[S2.] [S1.]=[S2.] [S1.]>[S2.] [S1.]<[S2.]

OR=指令的使用如图 3-93 所示,当 X1 处于 ON 或计数器的当前值为 200 时,驱动 Y0。

图 3-93

OR=指令的使用

触点比较指令源操作数可取任意数据格式。 位运算占 5 个程序步, 位运算占 9 个程 16 32 序步。

习 题 3-1 FX 系列 PLC 型号命名格式中各符号代表什么? 3-2 3-3 3-4 3-5 3-6 3-6 3-7 3-8 3-9 FX 系列 PLC 的基本单元、 扩展单元和扩展模块三者有何区别?主要作用是什么? FX 系列 PLC 主要有哪些特殊功能模块? FX2N 系列 PLC 定时器有几种类型?它们各自的特点? FX2N 系列 PLC 定时器有几种类型?计数器 C200~C234 的记数方向如何确定? FX2N 系列高速计速器有几种类型?哪些输入端可作为其计数输入? PLC 的主要技术指标有哪些? FX2N 共有几条基本指令?各条的含义如何? FX2N 系列 PLC 的步进指令有几条?其主要用途是什么? FX2N 系列 PLC 的功能指令共有哪几种类型?其表达形式应包含那些内容?

3-10 功能指令中何为连续执行?何为脉冲执行? 3-11 写出如图 3-94 所示梯形图的语句表。

图 3-94

题 11 图

3-12 写出如图 3-95 所示梯形图的语句表。

图 3-95

题 12 图

3-13 用栈存储器指令写出如图 3-96 所示梯形图的语句表。

图 3-96

题 13 图

3-14 用栈存储器指令写出图 3-97 所示梯形图的语句表。

图 3-97 3-15 写出图 3-98 所示梯形图的语句表。

题 14 图

图 3-98

题 15 图

3-16 画出下列指令表程序对应的梯形图。 (1) LD X1 AND X2 OR X3 ANI X4 OR M1 LD X5 AND X6 OR M2 ANB ORI M3 OUT Y2 (2)LD X0 MPS LD X1 OR X2 ANB OUT Y0 MRD LD X3 AND X4

LD X5 AND X6 ORB ANB OUT Y1 MPP AND X7 OUT Y2 LD X10 OR X11 ANB OUT Y3 3-17 画出图 3-99 中 M120 和 Y3 波形。

图 3-99

题 17 图

3-18 用 SET、RST 指令和微分指令设计满足如图 3-100 所示的梯形图。

图 3-100 题 18 图 3-19 当输入条件 X0 满足时,将 C8 的当前值转换成 BCD 码送到输出元件 K4Y0 中,画 出梯形图。 3-20 计算 D5、D7、D9 之和并放入 D20 中,求以上三个数的平均值,将其放入 D30。 3-21 当 X1 为 ON 时,用定时器中断,每 99ms 将 Y10~Y13 组成的位元件组 K1Y10 加 1,设计主程序和中断子程序。 3-22 路灯定时接通、断开控制要求是 19:00 开灯,6:00 关灯,用时钟运算指令控制, 设计出梯形图。


相关文章:
第五章 FX系列可编程控制器的编程元件及指令系统
第五章 FX 系列可编程控制器的编程元 件及指令系统 内容提要:本章阐述了 FX...5-2 三菱 FX 系列可编程控制器的基本单元、扩展单元、扩展模块、特殊功能模块...
第五章 三菱fx系列可编程控制器介绍
第五章 三菱fx系列可编程控制器介绍_电子/电路_工程科技_专业资料。第2篇 可编程序控制器及其应用篇 89 第 5 章 三菱 FX 系列可编程序控制器 5.1 国内外 ...
FX系列可编程控制器及指令系统(图稿)
2011-学习资料大全:三菱P... 38页 免费如要投诉违规内容,请到百度文库投诉中心...FX系列可编程控制器及指令系统(图稿) 隐藏>> 图3-64 图 3-68 图 3-72 ...
三菱PLC可编程控制器教材
三菱PLC可编程控制器初学... 46页 免费 三菱FX系列plc功能指令应... 81页 ...编程设备:有简易编程器和智能图形编程器,用于编程、对系统作一些设定、监控 PLC...
三菱FX系列PLC及其指令系统
三菱FX系列可编程控制器及... 56页 2财富值 三菱FX系列PLC的基本指令系......三菱FX系列PLC及其指令系统 隐藏>> 新乡职业技术学院 教 2013 ~2014 案学年度...
三菱PLC的指令系统
三菱PLC的指令系统_信息与通信_工程科技_专业资料。三菱PLC的指令系统模块...熟练掌握FX 系列可编程控制器的基本指令及应用;熟悉编程的基本规则和 技巧 能力...
可编程控制器 教学大纲
可编程控制器的编程语言 第四章 三菱 FX 可编程控制器教学要求: FX 系列指令系统含基本指令与高级指令,基本要求有:掌握基本顺序指令、基本功能 指令、控制指令、...
PLC指令系统
PLC指令系统_计算机硬件及网络_IT/计算机_专业资料。...熟练掌握FX 系列可编程控制器的基本指令及 应用; ...(Schneider),日本的三菱、欧姆龙(Omron),他们掌控着...
可编程控制器原理及应用
可编程控制器原理及应用_工学_高等教育_教育专区。sdf《可编程控制器原理及应用...编程软件及指令系统 9.3 三菱 Fx 系列微型可编程控制器简介 9.3.1 FX2 系列 ...
更多相关标签:
三菱可编程控制器 | 三菱可编程控制器手册 | 三菱微型可编程控制器 | 三菱fx指令手册 | 三菱fx系列plc指令 | 三菱fx实数比较指令 | 可编程控制器 | 可编程控制器 光电开 |