# page_search_content

c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 2 软元件的作用和功能 45 即具有存储数据功能。  当 PLC由 RUN转为 STOP或由 STOP 转为 RUN时，所有数据将被清零。  停电保持用  停电保持区的数据寄存器在 PLC由 RUN转为 STOP或停电后，仍然保持其中的数据不变。  停电保持区域的范围由寄存器模式决定，客户无法自己修改。  特殊用  特殊用寄存器用于写入特定目的的数据，或已由系统写入特定内容的数据。  部分特殊寄存器中的数据，在 PLC上电时，被初始化。  特殊寄存器的编号和用途，请参阅附录部分。  作为偏移量（间接指定）  数据寄存器 D 可用作软元件的偏移量，使得软元件的使用更加简单和便于控制。  格式：Dn[Dm]、Xn[Dm]、Yn[Dm]、Mn[Dm]等。  带偏移的位组成的字寄存器：DXn[Dm]表示 DX[n+Dm]。  带偏移的软元件，偏移量只可用软元件 D表示。 例：D100[D10]，表示为 D[100+D10]，如果 D10的数据为 5，则 D100[D10]表示为寄存器 D105。 如果 D10的数据为 50，则 D100[D10]表示为寄存器 D150。 MOV K0 D0 SM2 MOV K5 D0 M2 MOV D10[D0] D100 SM0 ( ) Y0[D0] 上例中，当 D0=0时，此时 D100=D10，Y0为 ON； 当 M2由 OFF→ON 时， D0=5，此时 D100=D15，Y5为 ON。 其中 D10[D0]=D[10+D0]，Y0[D0]=Y[0+D0]。 4）动作示例 数据寄存器 D 可以处理各种数据，通过数据寄存器可实现多种控制。  数据存储 MOV K100 D0 M0 M1 DMOV K41100 D10  数据传送 MOV D0 D10 M0 读取定时器或计数器 MOV C10 D0 M0  作为定时器或计数器的设定值 M0接通时，向 D0写入 16位、十进制数 100。 M1接通时，向 D11D10写入 32位、十进制数 41100。 由于数值 41100为 32 位数（超过 32767） ，因此在存储数据时， 虽指定为 D10，但 D11也被自动占用。 M0接通时，将 D0中的数据传送给 D10。 M0接通时，将计数器 C10中的当前计数值读取到 D0中。 X0 接通时，T0 开始定时，定时时间与 D0 中的数值相等时线 圈 T0会立即置位，时基由 D2决定。 X1 每次接通时，HC0 开始计数，计数值与 D4 中的数值相等 时线圈 HC0会立即置位。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
2 软元件的作用和功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 46 TMR_A T0 D0X0 CNT HC0 D4 X1 D2 【注】 ：上述软元件范围为 PLC 在 X-NET 通讯模式下的有效范围；在 MODBUS 通讯方式下，部分继电器 无法进行读写操作，具体可用范围见 6-2-3 节。 2-10-1．位软元件组成字的应用举例 例 1：以下两种编程方式的结果是等效的，当 X0 到 X17 这 16 个线圈中有任一线圈为 ON 时，输出 Y0。 方法一： 方法二： （对位软元件组成字的应用） X0 X1 X2 X3 X4 X5 X6 X7 X10 X11 X12 X13 X14 X15 X16 X17 ( ) Y0 DX0 K0 ( ) Y0 = 2-10-2．偏移量应用举例 例 1：下例所示为跑马灯应用，D0 作为偏移地址。当 M0 启动，输出 Y1 至 Y7 依次点亮。如果输出 点数很多，可以使用 M代替 Y，然后将所有的 M对应到输出 Y。 SM13M0 MOV K1 D0 D0 D4000 INC D0 MOV K7 D4000 SM2 ( R ) Y0[D0] > Y0[D0] ( S ) 例 2：当 M0为 ON时，每 1S钟对 ID10000的数据进行一次保存，存放在 D4000开始的 50个寄存器 里。寄存器 D0作为偏移量使用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
2 软元件的作用和功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 48 2-11．FLASH 寄存器（FD、SFD、FS） 1）编号一览 XD/XL系列 PLC的 FLASH寄存器全部以十进制来进行编址，各系列的编号请参见对应表格： 系列 名称 范围 FLASH 用户数据 寄存器 FLASH 系统数据 寄存器 密码读保护FLASH 寄存器 XD1/XD2/XD3 FD SFD FS FD0~FD5119 SFD0~SFD1999 FS0~FS47 XD3E FD0~FD5119 SFD0~SFD5999 FS0~FS47 XD5/XDM/XDC/XD5E/XDME FD0~FD8191 SFD0~SFD5999 FS0~FS47 XDH FD0~FD65535 SFD0~SFD65487 FS0~FS47 XL1/XL3/XL3E FD0~FD5119 SFD0~SFD1999 FS0~FS47 XL5/XL5E/XL5N/XLME FD0~FD8191 SFD0~SFD5999 FS0~FS47 XL5H FD0~FD8191 SFD0~SFD49199 FS0~FS47 XLH FD0~FD65535 SFD0~SFD65487 FS0~FS47 2）功能  FLASH用户数据寄存器（FD）  用于存储用户重要的数据，可断电保持。  该存储区即使电池掉电，也能够记忆数据，因此可用于存储重要的工艺参数。  FLASH系统数据寄存器（SFD）  用于存储系统参数，可断电保持。  该存储区为系统参数块，用户不可自行随意修改。  密码读保护 FLASH寄存器（FS）  占用 FlashROM寄存器的一部分空间，用于存储数据的软元件，以符号FS 表示。FS寄存器 中的数值可以写入但无法读取，因此可用来保护用户的知识产权。  在 FS 寄存器中可以任意的设置该软元件的值，但是不能读取该寄存器的值（寄存器数据显 示为加密后数据） ；且在上位机软件中不能将它与寄存器进行比较，只能与常数进行比较，所 以也无法读取该寄存器的实际值。  该存储区即使电池掉电，也能够记忆数据，因此可用于存储重要的工艺参数。 【注】 ： ※1：用 MOV 指令对 FD、SFD 传送数据时，仅上升沿有效，即使驱动条件为常开/常闭线圈，也只执行一 次指令。 ※2：FS寄存器只能通过设置软元件初值方式修改。 ※3：Flash 寄存器可写入约 1,000,000 次，且每次写入为整片 Flash 寄存器擦写，较费时，频繁写入将造成 Flash 寄存器的永久损坏， 因此不建议用户频繁写入。 请勿使用震荡线圈 （例如：SM11） 为驱动条件。 ※4： 当向同一个Flash寄存器多次传送数据时， 如果源寄存器中的数值相对于上一次传送时没有发生变化， 即使驱动条件再次成立，也不执行传送指令。例如：将 D0 中的数值传送到 FD100，第一次执行传送 指令时，D0 中的数值为 300；如果驱动条件第二次成立时，D0 中的数值仍为 300，则传送指令不执 行。 ※5：在向 Flash 寄存器传送数据时，为防止毛刺信号干扰，不建议使用SM0、SM2 等线圈作为直接驱动条 件，建议在 PLC 上电后延时一段时间再执行传送指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 2 软元件的作用和功能 49 2-12．变量 XDPPro 3.7.16及以上版本，支持自定义变量，用户可以通过定义全局变量，在程序中直接使用变量名 编程。 1）数据类型 支持基础类型如下： 数据类型 类型说明 长度/位 数据类型 类型说明 长度/位 BIT 位 1 LINT 长整数 64 BOOL 布尔 8 ULINT 无符号长整数 64 SINT 短整数 8 REAL 实数 32 USINT 无符号短整数 8 LREAL 长实数 64 INT 整数 16 BYTE 位串 8 UINT 无符号整数 16 WORD 位串 16 DINT 双整数 32 DWORD 位串 32 UDINT 无符号双整数 32 LWORD 位串 64 支持复制数据类型如下：  支持用户自定义结构体类型；  支持函数块类型；  支持指针类型；  支持数组类型（现只支持一维数组） 。 2）名称 全局变里的名称应符合命名规则：  只允许大小写字母、中文开头；  只允许大小写字母、数字、'_’和中文；  不允许重复命名；  不允许包含空格；  不允许与 PLC经典指令名称重复；  不允许和数据类型名称重复；  不允许和寄存器名称重复；  名称长度不允许超过 64 字符（一个中文字符对应两个英文字符）；  名称中字母大小写不敏感；  名称中不建议跟系统中软元件名称冲突，即使用 C/T/D等类似名称；  名称中不建议跟系统中常数表达形式冲突，即使用 B/K/H等名称。 【注】 ： 1. 其他 POU 功能相关介绍请参考《XD/XL/XG 系列 PLC 用户手册【软件篇】 》 。 2. 3.8.0 及以上版本软件全局变量名称支持中文。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
2 软元件的作用和功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 50 2-13．常数 1）数据处理 XD/XL系列可编程控制器根据不同的用途和目的，使用 5种类型的数制。其作用和功能如下：  十进制数（DEC：DECIMAL NUMBER）  定时器和计数器的设定值（K常数） 。  辅助继电器（M、HM） ，定时器（T、HT） ，计数器（C、HC） ，状态继电器（S、HS） ，寄存 器（D、HD）等的编号（软元件编号） 。  指定应用指令操作数中的数值与指令动作（K常数） 。  八进制数（OCT：OCTAL NUMBER）  XD/XL 系列可编程控制器的输入继电器、输出继电器的软元件编号以八进制数值进行分配， 因此，可进行[X0-X7，X10-X17， ． ． ．X70-X77] [Y0-Y7，Y10-Y17， ． ． ．Y70-Y77]的进位。  十六进制数（HEX：HEXADECIMAL NUMBER）  和十进制数一样，用于指定应用指令操作数中的数值与指令动作（H常数） 。  二进制数（BIN：BINARY NUMBER）  如前所述，以十进制数或是十六进制数对定时器、计数器或数据寄存器进行数值指定，但在 可编程控制其内部，这些数字都用二进制数处理。而且，在外围设备上进行监控时，这些软 元件将自动变换为十进制数（也可切换为十六进制） 。  BCD码（BCD：BINARY CODE DECIMAL）  BCD是用 4位二进制数来表示 1位十进制数中的 0~9这 10个的方法。 每个位的处理很容易， 因此，BCD码可用于以 BCD形式输出的数字式开关或七段码的显示器控制等方面。  其他数值（浮点数）  XD系列可编程控制器具有可进行高精度浮点运算的功能。 2）表示方法 PLC 的程序进行数值处理时，必须使用常数 K、H。一般使用 K 指代十进制数，H 指代十六进制数， PLC的输入、输出继电器使用八进制编址。  常数 K  K是表示十进制整数的符号，如 K10，表示十进制数 10。其主要用于指定定时器、计数器的 设定值，以及应用指令中的操作数等。  常数 H  H 是表示十六进制数的符号，如 HA，表示十六进制数 10。主要用于指定应用指令的操作数 的数值。（注意：作为指令操作数时，地址首位如果是字母，需要在前面加0，如：HA要写 作 H0A。）  常数 B  B 是表示二进制数的符号，如B10，表示二进制数10（即十进制数 2） 。主要用于指定应用指 令的操作数的数值。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 2 软元件的作用和功能 51 2-14．编程原则（中断、子程序、响应滞后、双线圈） 1）标记 P、I 标记 P 用于分支或子程序。 标记 I用于中断（外部中断，定时中断，高速计数中断，精准定时中断等） 。 分支或子程序用的标记（P）用于条件跳转或子程序的跳转目标。 中断用的标记（I）用于指定输入中断、定时中断等中断程序标志。 XD/XL系列 PLC的标记 P、I全部以十进制来进行编址，各机型的编号请参见对应表格： 系列 名称 范围 XD 全系列、XL 全系列 P P0~P9999 机型 名称 范围 外部中断用 定时中断用 输入端子 上升中断 下降中断 XD/XL 系列 16 点机型 I X2 I0000 I0001 共有 20路定时中断， 表示方 法为： I40**~I59**。其中 ‘**’ 表示定时中断的时间， 单位毫秒。 X3 I0100 I0101 X4 I0200 I0201 X5 I0300 I0301 X6 I0400 I0401 X7 I0500 I0501 XD/XL 系列 24~64 点机型 I X2 I0000 I0001 X3 I0100 I0101 X4 I0200 I0201 X5 I0300 I0301 X6 I0400 I0401 X7 I0500 I0501 X10 I0600 I0601 X11 I0700 I0701 X12 I0800 I0801 X13 I0900 I0901 2）标记 P 标记 P 通常用于流程中，一般与 CJ（条件跳转） 、CALL（子程序调用）等指令配合使用。  条件跳转 CJ X0 CJ X1 X2 P1 T0RST Y0 P1 当线圈X0接通时，跳转到P1标记的后一 步，不执行中间部分程序。 当线圈X0未接通时，不执行跳转动作， 仍然按照原步骤执行。 当线圈 X0 接通时，跳转到 P1 标记的后一 步，不执行中间部分程序。 当线圈 X0未接通时，不执行跳转动作，仍 然按照原步骤执行。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
2 软元件的作用和功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 52  子程序调用 CALL X0 P10 CALL P10 FEND SRET 当线圈X0接通时，由主程序跳转到子程序； 当线圈X0未接通时，仍然执行主程序。 当子程序执行完毕后，返回主程序，继续执行 下面的程序。 主 程 序 子 程 序 子程序调用，写程序时必须以Pn 作为一段子程序的开始，以SRET作为一段子程序的结束。用CALL Pn 调用子程序。其中 n可以为 0~9999中的任意整数。 3）标记 I 标记 I 一般用于中断功能，包括外部中断、定时中断等场合，通常与 IRET（中断返回） 、EI（允许中 断） 、DI（禁止中断）等指令配合使用。  外部中断  接收来自特定的输入端子的输入信号，不受扫描周期的影响。触发输入信号，执行中断子程 序。  通过外部中断可处理比扫描周期更短的信号，因而可在顺控过程中作为必要的优先处理或短 时脉冲处理控制中使用。  定时中断  在各指定的中断循环时间执行中断子程序。在需要有别于 PLC 的运算周期的循环中断处理 控制中使用。  输入输出继电器的动作时序和响应滞后  输入处理 可编程控制器在执行程序之前，将可编程控制器的所有输入端子的ON/OFF状态读入输入映 像区。在执行程序的过程中，即使输入变化，输入映像区的内容也不变化，而在下一个扫描周期 的输入处理时，读入该变化。  输出处理 一旦所有指令执行结束，将输出Y 的映像存储区的 ON/OFF状态传至输出锁存存储区，这成 为了可编程控制器的实际输出。可编程控制器内的外部输出用触点，按照输出用软元件的响应滞 后时间动作。 采用这种成批输入输出方式时，输入滤波器和输出软元件的驱动时间及运算周期也会出现响应滞 后的情况。  不接受宽度窄的输入脉冲信号 可编程控制器输入的 ON/OFF的时间宽度应比可编程控制器的循环时间长。若考虑输入滤波器的 响应滞后为 10ms，循环时间为 10ms，则 ON/OFF的时间分别需要 20ms。 因此，不能处理 1,000/（20+20）=25Hz以上的输入脉冲。但是，若采用可编程控制器的特殊功能 与应用指令（如高速计数功能、输入中断功能、输入滤波器值调整等。 ）可改进这方面的情况。 当线圈 X0接通时，由主程序跳转到子程序； 当线圈 X0未接通时，仍然执行主程序。 当子程序执行完毕后， 返回主程序， 继续执行 下面的程序。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 2 软元件的作用和功能 53  二重输出（双线圈）的动作 X0 OUT Y0 Y0 OUT Y1 X1 OUT Y0 输入处理： X0=ON X1=OFF 输出处理： Y0=OFF Y1=ON 如左图所示，考虑在多处使用同一个线圈Y0的情况： 例如，取X0=ON，X1=OFF 最初的Y0由于X0为ON，其映像存储区为 ON，输出Y1也 为ON。 但是，第二次的Y0，由于X1为OFF，因此，其映像存储 区被修改为OFF。 因此，实际外部输出为 Y0=OFF，Y1=ON。 据此可知，执行二重输出时（使用双线圈） ，后侧的优先动作。 如左图所示，考虑在多处使用同一个线圈 Y0的情况： 例如，取 X0=ON，X1=OFF 最初的 Y0由于 X0为 ON，其映像存储区为 ON，输出 Y1也为 ON。 但是，第二次的Y0，由于X1为 OFF，因此，其映像存 储区被修改为 OFF。 因此，实际外部输出为 Y0=OFF，Y1=ON。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 54 3 基本顺控指令说明 3-1．基本指令一览表 XD、XL全系列产品均支持基本指令。 助记符 功能及可用软元件 回路表示 章节 LD 运算开始常开触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-2 LDD 直接从触点读取状态 X 3-6 LDI 运算开始常闭触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-2 LDDI 直接读取常闭触点 X 3-6 LDP 上升沿检出运算开始 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 LDF 下降沿检出运算开始 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 AND 串联常开触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC M0 3-3 ANDD 直接从触点读取状态 X 3-6 ANI 串联常闭触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC M0 3-3 ANDDI 直接读取常闭触点 X 3-6 ANDP 上升沿检出串联连接 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 ANDF 下降沿检出串联连接 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 X D X 0 D X 0 D X 0 D M0 M0 M0 M0 M0 M0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 55 助记符 功能及可用软元件 回路表示 章节 OR 并联常开触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-4 ORD 直接从触点读取状态 X X0 D 3-6 ORI 并联常闭触点 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-4 ORDI 直接读取常闭触点 X X0 D 3-6 ORP 脉冲上升沿检出并联连接 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 ORF 脉冲下降沿检出并联连接 X,Y,M,S,T,C,Dn.m,FDn.m,SM,ET,HM,HS,H T,HC,HSC 3-5 ORB 串联回路块的并联连接 无 3-8 ANB 并联回路块的串联连接 无 3-9 OUT 线圈驱动指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HS C Y0 3-2 OUTD 直接输出到触点 Y Y0 D 3-6 SET 线圈接通保持指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HSC 3-13 RST 线圈接通清除指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HSC 3-13 CNT 16 位非掉电保持增计数指令 K、D CNT C0 K8 3-14 CNT_D 16 位掉电保持减计数指令 K、D CNT_D HC0 K8 3-14 DCNT 32 位非掉电保持增计数指令 K、D DCNT C0 K8 3-14 DCNT_D 32 位掉电保持减计数指令 K、D DCNT_D HC0 K8 3-14 CNT_FB 16 位增计数器函数块 自定义变量 CNT_FB Execute PV Q CV 100 test_1 test_2 3-14 M0 M0 M0 M0 SET Y0 RST Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 56 助记符 功能及可用软元件 回路表示 章节 DCNT_FB 32 位增计数器函数块 自定义变量 DCNT_FB Execute PV Q CV 100 test_1 test_2 3-14 CNT_D_FB 16 位减计数器函数块 自定义变量 CNT_D_FB Execute PV Q CV -90 test_1 test_2 3-14 DCNT_D_F B 32 位减计数器函数块 自定义变量 DCNT_D_FB Execute PV Q CV -90 test_1 test_2 3-14 PLS 上升沿时接通一个扫描周期指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HSC 3-12 PLF 下降沿时接通一个扫描周期指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HSC 3-12 MCS 公共串联点的连接线圈指令 无 Y0 3-10 MCR 公共串联点的清除指令 无 Y0 3-10 ALT 线圈取反指令 Y,M,S,T,C,Dn.m,SM,ET,HM,HS,HT,HC,HSC M0ALT 3-11 TMR 非掉电保持定时指令 K、D TMR T0 K10 K100 3-15 TMR_A 掉电保持定时指令 K、D TMR_A HT0 K10 K100 3-15 TMR_FB 不保持定时器函数块 自定义变量 500 test_1 test_2 TMR_FB Enable Circle TimeBase QStatus Cur_Circle10 3-15 TMR_A_FB 保持定时器函数块 自定义变量 500 test_1 test_2 TMR_A_FB Enable Circle TimeBase QStatus Cur_Circle10 3-15 END 顺控程序结束 无 3-16 GROUP 指令块折叠开始 无 3-17 GROUPE 指令块折叠结束 无 3-17 PLS Y0 PLF Y0 END GROUP GROUPE


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 57 3-2．[LD] ,[LDI] ,[OUT] 1）助记符与功能 助记符、名 称 功能 回路表示和可用软元件 LD取正 运算开始常开触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL LDI取反 运算开始常闭触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL OUT输出 线圈驱动 Y0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL 2）指令说明  LD，LDI指令用于将触点连接到母线上。 其他用法与后续的ANB指令组合， 在分支起点处也可使用。  OUT指令是对输出继电器、辅助继电器、状态、定时器、计数器的线圈驱动指令，对输入继电器不能 使用。  LD，LDI，OUT 指令不支持对 PLC 上的实际输入点进行操作，只可控制作为中间继电器的虚拟输入 点。 3）功能 Y70 M1203 X0 Y 1 X1 T0 ( ) TMR T0 K10 K100 LD X0 OUT Y70 LDI X1 OUT M1203 TMR T0 K10 K100 LD T0 OUT Y1


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 58 3-3．[AND] ,[ANI] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 AND与 串联常开触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL ANI与反转 串联常闭触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL 2）指令说明  用 AND、ANI指令可串联连接一个触点。串联触点数量不受限制，该指令可多次使用。  OUT指令后， 通过触点对其他线圈使用OUT指令， 称之为纵接输出。 （下图的OUT M2与 OUT Y3）。 这样的纵接输出如果顺序不错，可重复多次。串联触点数量和纵接输出次数不受限制。 3）功能 Y2 M2 Y3 X2 M1 Y2 X3 T1 LD X2 AND M1 OUT Y2 LD Y2 ANI X3 OUT M2 AND T1 OUT Y3


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 59 3-4．[OR] ,[ORI] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 OR或 并联常开触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL ORI或反转 并联常闭触点 M0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL 2）指令说明  OR，ORI被用作一个触点的并联连接指令。如果有两个以上的触点串联连接，并将这种串联回路块与 其他回路并联连接时，采用后述的 ORB指令。  OR，ORI 是指从该指令的步开始，与前述的 LD、LDI指令步，进行并联连接。并联连接的次数不受 限制。 3）编程 Y6 M100 X5 X6 M11 Y6 M4 X7 M12 M13 4）与 ANB 的关系 LD ANB LD OR OR ANB指令后 ANB指令后 使用 OR，ORI指令所作的并联连接，原则上是与前 述的 LD，LDI 连接，但在后述的 ANB 指令后，则 可在前面加一条 LD或 LDI指令连接。 LD X5 OR X6 OR M11 OUT Y6 LDI Y6 AND M4 OR M12 ANI X7 OR M13 OUT M100


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 60 3-5．[LDP] ,[LDF] ,[ANDP] ,[ANDF] ,[ORP] ,[ORF] 3-5-1．单操作数 1）助记符与功能  边沿+软元件 助记符、名称 功能 回路表示和可用软元件 LDP取脉冲上 升沿 上升沿检出运算开始 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 LDF取脉冲下 降沿 下降沿检出运算开始 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 ANDP 与脉冲 上升沿 上升沿检出串联连接 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 ANDF 与脉冲 下降沿 下降沿检出串联连接 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 ORP或脉冲上 升沿 脉冲上升沿检出并联连 接 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 ORF或脉冲下 降沿 脉冲下降沿检出并联连 接 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等  边沿+BIT 类型 使用范围 支持的变量类别 支持的变量类型 主梯形图 V AR_GLOBAL BIT类型变量、BIT数组的成员 函数-梯形图语言 V AR_GLOBAL BIT类型变量、BIT数组的成员 函数块-梯形图语言 V AR_GLOBAL BIT类型变量、BIT数组的成员  边沿+BOOL 类型 使用范围 支持的变量类别 支持的变量类型 主梯形图 V AR_GLOBAL BOOL类型变量、BOOL指针类型变量、 BOOL数组的成员 函数-梯形图语言 V AR_GLOBAL BOOL类型变量、BOOL指针类型变量、 BOOL数组的成员 函数块-梯形图语言 V AR_GLOBAL、V AR、V AR_TEMP、 V AR_INPUT、V AR_OUTPUT、 V AR_INOUT BOOL类型变量、BOOL指针类型变量、 BOOL数组的成员 M0 M0 M0 M0 M0 M0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 61 2）指令说明  LDP、ANDP、ORP指令是进行上升沿检出的触点指令，在指定位软元件和 BIT类型的上升沿时（OFF →ON变化时）接通一个扫描周期，该边沿信号滞后一个扫描周期；使用 BOOL类型时，当前扫描周 期触发边沿信号。  LDF、ANDF、ORF指令是进行下降沿检出的触点指令，在指定位软元件和 BIT类型的下降沿时（ON →OFF变化时）接通一个扫描周期，该边沿信号滞后一个扫描周期；使用BOOL类型时，当前扫描周 期触发边沿信号。  边沿+BOOL类型：红色箭头标识；边沿+软元件/BIT类型：黑色箭头标识。  当指令操作数由 BIT 变为 BOOL 或反向改变时，将会弹窗提示“当前的边沿指令执行逻辑与修改前 不一样，请确认是否修改？”： 点击“详细(D)<<”，会出现如下界面： 点击“确定”按钮可完成修改，点击“取消”按钮，保持原有指令显示不作修改；若勾选下次不再提 示后点击确定，下次修改边沿指令为不同类型时，将不再弹出此对话框。  选中梯形图中的边沿指令，按 F1，会弹出帮助信息框如下所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 62 3）编程 M13 M15 X5 X6 SM0 X7 LDP X5 ORP X6 OUT M13 LD SM0 ANDP X7 OUT M15 3-5-2．双操作数 1）助记符与功能 助记符、名称 操作数S1 操作数S2 对象类型 回路表示和变量类别 LDP取脉冲上升沿 指示该操 作数当前 的信号状 态 指示操作 数 S1的 上一次扫 描的信号 状态 寄存器类型：X、Y、 M、S、T、C、SM、 ET、HM、HS、HT、 HC、HSC 变量类型： BIT/BOOL M0 M1 LDF取脉冲下降沿 M0 M1 ANDP 与脉冲上升 沿 M0 M1 ANDF 与脉冲下降 沿 M0 M1 ORP或脉冲上升沿 M0 M1 ORF或脉冲下降沿 M0 M1 2）指令说明  指令将比较操作数 S1、S2，如果操作数 1 为 ON，操作数 2为 OFF，则立即产生上升沿；如果操作数 1 为 OFF，操作数 2为 ON，则立即产生下降沿。  边沿信号的操作数 S2 在程序中最多只能使用一次，否则，会覆盖该位存储器。该步骤将影响到边沿 检测，从而导致结果不再唯一。 3）编程 M10 M13 M1 M2 SM0 M6 M4 M5 M7 LDP M1 M2 ORP M4 M5 OUT M10 LD SM0 ANDP M6 M7 OUT M13


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 63 3-6．[LDD] ,[LDDI] ,[ANDD] ,[ANDDI] ,[ORD] ,[ORDI] ,[OUTD] 1）助记符与功能 助记符 功能 回路表示和可用软元件 LDD 直接从触点上读取状态 操作元：X LDDI 直接读取常闭触点 操作元：X ANDD 直接从触点上读取状态，串联连接 操作元：X ANDDI 直接读取常闭触点，串联连接 操作元：X ORD 直接从触点上读取状态，并联连接 X0 D 操作元：X ORDI 直接读取常闭触点，并联连接 X0 D 操作元：X OUTD 直接输出到触点 Y0 D 操作元：Y 2）指令说明  LDD、ANDD、ORD指令与 LD、AND、OR指令的功能相似； LDDI、ANDDI、ORDI指令与 LDI、 ANDI、ORI相似；不同的是如果操作数是 X 的时候，前者直接读取端子台上面的信号。  OUTD指令与 OUT指令均为输出指令，但 OUTD在条件达到时将立即输出，无需等待下一个扫描周 期。 3）编程 M13 X0 X1 X2 D D D Y0 D X 0 D X 0 D X 0 D X 0 D LDD X0 LDDI X2 ORD X1 ANB OUTD Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 64 3-7．[MEP],[MEF],[INV] 1）助记符与功能 助记符 功能 回路表示和可用软元件 MEP 运算结果上升沿脉冲 （ S ） M0 M1 M2 Y0 操作元：无 MEF 运算结果下降沿脉冲 （ S ） M3 M4 M5 Y1 INV 运算结果取反 （ S ） M6 M7 M8 Y2 2）指令说明  在 MEP指令前的运算结果从 OFF->ON 时，输出一个边沿信号，其他时间输出状态都为 OFF。  在 MEF指令前的运算结果从 ON->OFF时，输出一个边沿信号，其他时间输出状态都为 OFF。  INV指令对此指令之前的运算块进行取反操作。  支持对开关触点 LD、AND、OR(BIT,BOOL，寄存器的位)、比较触点 LD =、DLD=、ELD=、DELD= （=、< >、>、<、<=、>=）进行脉冲化。  FB内支持 MEP、MEF、INV指令。  FC内支持 INV指令。  MEP、MEF、INV 指令不能直接与左母线相连。  MEP、MEF指令不能单独出现在并联分支上。 3）编程 （ S ） M0 M1 M2 Y0 （ S ） M3 M4 M5 Y1 （ S ） M6 M7 M8 Y2 LD M0 AND M1 AND M2 ANDMEP SET Y0 LD M3 AND M4 AND M5 ANDMEF SET Y1 LD M6 AND M7 AND M8 ANDINV SET Y2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 65 4）指令示例  报错示例 （1）MEP、MEF指令不能直接与左母线相连。在进行指令编辑时不报错，编译时会出现错误提示： （2）MEP、MEF指令不能出现在并联分支上。在进行指令编辑时不报错，编译时会出现错误提示： （3）MEP、MEF指令不能在 FC 内使用，在进行指令编辑时不报错，编译时会出现错误提示：  使用示例 （1）单节点脉冲化：当 M0状态为 true时，对指令状态进行脉冲化，D0=1； （2）串并联混合脉冲化： ① M0状态为 true、M1与 M2状态都为 false时，D0为 0未进行自加。M0状态为 false，M1或 M2 状态未进行自加。 ② M0状态为 true、单独置位 M1或者 M2，D0=1进行自加。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 66 ③ M0状态为 true，若 M1为 true后 M2置 true则 D0状态不会自加保持之前的状态。 ④ M0状态为 true、M1和 M2同时置 true时 D0只自加一次，D0=1。M0、M1、M2时置 true结果 相同；先同时将 M1、M2置 true，后将 M0置 true。D0自加一次，D0=1。 （3）脉冲化后有节点： ① 单独置位脉冲化前后节点 D0均不自加，D0=0。 ② 先将脉冲化指令前（M0）节点置 true后将脉冲化指令后（M1）置 true，D0不自加，D0=0。 ③ 先将脉冲化指令后（M1）节点置 true后将脉冲化指令前（M0）置 true，D0自加，D0=1。 （4）多个脉冲化：M0置 true，D0 自加，D0=1。 （从执行结果看与单个脉冲节点化相同） （5）两个脉冲化之间有节点 ① 单独置位 M0或 M1，D0不自加，D0=0。 ② 先置位 M0，后置位 M1，D0 不自加，D0=0。 ③ 先置位 M1后置位 M0，D0自加，D0=1。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 67 （6）节点中间有多个脉冲化指令 ① 先将 M0置 true，后将 M1 置 true，D0不自加，D0=0。 ② 先将 M1置 true，后将 M0置 true，D0自加，D0=1。 （7）带条件的输出中条件脉冲化 ① 当 M0置 true，M1与 M2均为 false时，D0、D1均未自加。 ② 当 M0为 true，M1置 true时（M0与 M1同时置 true情况相同） ，D0=1，D1=0,若 M1与 M0置 位先后顺序改变，结果不变。 ③ 当 M0为 true，M2置 true时（M0与 M2同时置 true情况相同） ，D0=0，D1=1。若 M2与 M0置 位先后顺序改变，结果不变。 ④ 当 M0为 true，M1、M2置 true时（M0、M1、M2同时置 true情况相同） ，D0=1，D1=1；若 M1/2与 M0置位先后顺序改变，结果不变。 （8）有脉冲化与没有脉冲化共存输出 ① 置位 M0，未置位 M2，D0自加，D0=1；M100未置位，M100=false。 ② 置位 M0，置位 M2，D0自加，D0=1；M100置位，M100=true。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 68 （9）边沿 LDP指令后连接脉冲化指令 ① 一个边沿指令一个脉冲化指令：M0置 true，D0自加，D0=1。 ② 多个边沿指令多个脉冲化指令：M0与 M1不同时置 true，D0不自加，D0=0；M0与 M1同时置 true，D0自加，D0=1。 （10）FB 内带脉冲化：若主梯形图 M100=false，FB 内 M0 置 true，D0 未自加，D0=0；如此时 M100 置 true，D0 自加，D0=1（仅第一次） ； 若主梯形图 M100 置 true，FB 内 M0 未置 true，D0 未自加，D0=0； 主梯形图 M100=true，FB内 M0置 true，D0自加，D0=1。 主程序： FB内程序：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 69 3-8．[ORB] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 ORB回路块或 串联回路块的并联连接 操作元：无 2）指令说明  由 2 个以上的触点串联连接的回路被称为串联回路块。将串联回路块并联连接时，分支开始用 LD， LDI指令，分支结束用 ORB指令。  如后述的 ANB指令一样，ORB指令是不带软元件编号的独立指令。  有多个并联回路时，如对每个回路块使用 ORB指令，则并联回路没有限制。 3）编程 X0 X1 X2 X3 X4 X5 Y2 ORB ORB 串接回路模块 较佳的程序： LD X0 AND X1 LD X2 AND X3 ORB LD X4 AND X5 ORB OUT Y2 不佳的程序： LD X0 AND X1 LD X2 AND X3 LD X4 AND X5 ORB ORB OUT Y2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 70 3-9．[ANB] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 ANB回路块与 并联回路块的串联连接 操作元：无 2）指令说明  当分支回路 （并联回路块） 与前面的回路串联连接时， 使用ANB指令。 分支的起点用LD、LDI指令， 并联回路块结束后，使用 ANB指令与前面的回路串联连接。  若多个并联回路块按顺序和前面的回路串联时，ANB指令的使用次数没有限制。 3）编程 X2 X3 X4 X5 Y20 X0 X1 X7 ANB ANB指令前的OR指令 ANB指令后的OR指令 X6 ORB 并联电路 分支起点 并联电路块结束 与前面的电路串联 LD X0 OR X1 LD X2 AND X3 LDI X4 AND X5 ORB OR X6 ANB OR X7 OUT Y20


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 71 3-10．[MCS] ,[MCR] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 MCS主控 新母线开始 Y0 操作元：无 MCR主控复位 母线复归 Y0 操作元：无 2）指令说明  执行 MCS指令后，母线（LD、LDI）向 MCS接点后移动，将其返回到原母线的指令为 MCR。  MCS、MCR指令需配对使用。  母线可以嵌套使用，在配对的 MCS、MCR指令之间使用配对的 MCS、MCR指令，嵌套级随着 MCS 的使用逐个增加，嵌套级最大为 10级。执行 MCR指令时，返回到上一级母线。  在使用流程程序时，母线管理只能用于同一个流程中；在结束某个流程时，必须返回到主母线。 注意：XD/XL 系列 PLC 编程软件梯形图中无法直接书写 MCS 与 MCR 指令，可通过横线竖线进行 构造！ 3）编程 X1 X2 M2 M3M1 Y0 Y1 Y2 LD X1 MCS LD X2 OUT Y0 LD M1 MCS LD M3 OUT Y1 LD M2 OUT Y2 MCR MCR 母线开始 母线嵌套 母线复归


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 72 3-11．[ALT] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 ALT取反 线圈取反 M0ALT 操作软元件：Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL 2）指令说明  执行 ALT后可以将线圈的状态取反。 由原来的ON 状态变成 OFF状态， 或由原来的OFF状态变成 ON 状态。  ALT指令为边沿触发指令，若用常开常闭作为触发条件，每个扫描周期都会执行一次。 3）编程 M0ALT M0 Y0 M100 Y1 M0 LDP M100 ALT M0 LD M0 OUT Y0 LDI M0 OUT Y1


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 73 3-12．[PLS],[PLF] 指令分为 PLS/PLF+BOOL、PLS/PLF+BIT两种用法。 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 PLS上升沿脉冲 上升沿时接通一个扫描周 期指令 PLS Y0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 PLF下降沿脉冲 下降沿时接通一个扫描周 期指令 PLF Y0 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等  PLS/PLF+BIT 类型 使用范围 支持的变量类别 支持的变量类型 主梯形图 V AR_GLOBAL BIT类型变量、BIT数组的成员 函数-梯形图语言 V AR_GLOBAL BIT类型变量、BIT数组的成员 函数块-梯形图语言 V AR_GLOBAL BIT类型变量、BIT数组的成员  PLS/PLF+BOOL 类型 使用范围 支持的变量类别 支持的变量类型 主梯形图 V AR_GLOBAL BOOL类型变量、BOOL指针类型变 量、BOOL数组的成员 函数-梯形图语言 V AR_GLOBAL BOOL类型变量、BOOL指针类型变 量、BOOL数组的成员 函数块-梯形图语言 V AR_GLOBAL、 V AR、 V AR_TEMP、 V AR_INPUT、V AR_OUTPUT、V AR_INOUT BOOL类型变量、BOOL指针类型变 量、BOOL数组的成员 2）指令说明  使用 PLS指令时，仅在驱动输入为 ON后的一个扫描周期内，软元件 Y，M动作。  使用 PLF指令时，仅在驱动输入为 OFF后的一个扫描周期内，软元件 Y，M动作。 3）编程 X0 PLS M0 M0 SET Y0 X1 PLF M1 M1 RST Y0 X0 X1 M0 M1 Y0 扫描周期 扫描周期 LD X0 PLS M0 LD M0 SET Y0 ---------------------- LD X1 PLF M1 LD M1 RST Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 74 3-13．[SET] ,[RST] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 SET置位 线圈接通保持指令 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL RST复位 线圈接通清除指令 操作软元件：X,Y,M,HM,SM,S,HS,T,HT,C,HC,Dn.m等 变量类型：BIT/BOOL/INT 2）指令说明  在下述程序示例中，X10一旦接通后，即使它再断开，Y0仍继续动作。X11一旦接通时，即使它再断 开，Y0仍保持不被驱动。对于 M、S也是一样的。  对于同一软元件，SET、RST可多次使用，顺序也可随意，但最后执行者有效。  此外，定时器、计数器当前值的复位以及触点复位也可使用 RST指令。  使用 SET、RST指令时，避免与 OUT指令使用同一个软元件地址。 3）编程 TMR T250 K10 K10 ( ) Y0 S X10 ( ) Y0 R X11 ( ) M50 S X12 ( ) M50 R X13 ( ) S0 S X14 ( ) S0 R X15 X16 ( ) T250 R X17 X10 X11 Y0 LD X10 SET Y0 LD X11 RST Y0 LD X12 SET M50 LD X13 RST M50 LD X14 SET S0 LD X15 RST S0 LD X16 TMR T250 K10 K10 LD X17 RST T250 SET Y0 RST Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 75 3-14．针对计数器的[CNT],[CNT_D],[DCNT],[DCNT_D],[RST],[CNT_FB], [DCNT_FB],[CNT_D_FB],[DCNT_D_FB] 3-14-1．梯形图计数器[CNT]、[CNT_D]、[DCNT]、[DCNT_D]、[RST] 1）助记符与功能 助记符、名 称 功能 回路表示和可用软元件 CNT输出 16 位非掉电保持增计数， 计数线圈的驱动 CNT C0 K8 操作元：K、D CNT_D输出 16 位掉电保持减计数，计 数线圈的驱动 CNT_D HC0 K8 操作元：K、D DCNT输出 32 位非掉电保持增计数， 计数线圈的驱动 DCNT C0 K8 操作元：K、D DCNT_D 输 出 32 位掉电保持减计数，计 数线圈的驱动 DCNT_D HC0 K8 操作元：K、D RST复位 输出触点的复位，当前值 清零 RST HSC0 操作元：C、HC、HSC 2）内部计数器的编程 X10 RST C0 X11 CNT C0 K10 C0 ( ) Y0  停电保持用计数器，即使在停电时，仍保持当前值以及输出触点的动作状态和复位状态。 3）高速计数器的编程 M0 CNT HSC0 M1 RST HSC0 HSC0 ( ) Y0 K10  如上图例，当 M0为 ON时，计数器 HSC0进行增计数。  计数器的当前值增加，在达到设定值（K或 D的内容）时，输出触点被置位。  M1为 ON时，计数器 HSC0的输出触点复位，计数器的当前值也变为 0。 C0对 X11的 OFF→ON 次数进行增计数，当C0达到设 定值 K10 时，输出触点 C0 动作，即 C0 的状态由 OFF 转变为 ON。此后，当 X11 继续由 OFF→ON 变化时， 计数器的当前值会继续自加，输出触点仍保持动作。 当 X10接通时，计数器的当前值清零，输出触点复位。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 76 3-14-2．函数块计数器[CNT_FB]、[DCNT_FB]、[CNT_D_FB]、[DCNT_D_FB] 3-14-2-1. 增计数器函数块[CNT_FB]、[DCNT_FB] 1）指令概述 CNT_FB为增计数器函数块。 增计数器函数块[CNT_D_FB] 16 位 指 令 CNT_FB 图 块 显 示 CNT_FB Execute PV Q CV ST 显示 CNT_FB(Execute:=V AR1,PV:=V AR2, Q => ,CV => ); 32 位 指 令 DCNT_FB 图 块 显 示 DCNT_FB Execute PV Q CV ST 显示 DCNT_FB(Execute:=V AR1,PV:=V AR2, Q => ,CV => ); 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.7.16及以上 注：上述适用机型中，除 XDH、XLH以外机型需 V3.7.17 及以上版本软件支持。 2）操作数 操作数 名称 作用 数据类型 - Execute 指令触发 BOOL S1 PV 设置计数值 INT/DINT D1 Q 计数是否开始/完成 BOOL D2 CV 当前计数值 INT/DINT 3）功能和动作  当 Execute 从 OFF 变为 ON 时进行增计数，当 CV 的值达到设定值 PV 时，Q 状态变成 ON，此后当 Execute继续从 OFF变为 ON 时，CV的值会继续自加，但是 Q保持状态不变。  可使用 CNT _RST_FC/DCNT _RST_FC进行复位。 示例： M0 CNT_FB Execute PV Q CV 100 test_1 test_2 CNT_FB_1 CNT_RST_FC instanceCNT_FB_1 M1  当 M0每次变成 ON时，计数器累积自加次数，test_2的值为当时计数次数；当计时到设定的 100时， test_1变成 ON；此后 M0继续变成 ON 时，计数器会继续自加次数。  在计数过程中，M1从 OFF变成 ON时，test_1的状态变成 OFF，test_2的数值清零。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 77 3-14-2-2. 减计数器函数块[CNT_D_FB]、[DCNT_D_FB] 1）指令概述 CNT_D_FB为减计数器函数块。 减计数器函数块[CNT_D_FB] 16位 指令 CNT_D_FB 图块 显示 CNT_D_FB Execute PV Q CV ST 显示 CNT_D_FB(Execute:=V AR1,PV:=V AR2, Q => ,CV => ); 32位 指令 DCNT_D_F B 图块 显示 DCNT_D_FB Execute PV Q CV ST 显示 DCNT_D_FB(Execute:=V AR1,PV:=V AR 2, Q => ,CV => ); 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.7.16及以上 注：上述适用机型中，除 XDH、XLH 以外机型需 V3.7.17 及以上版本软件支持。 2）操作数 操作数 名称 作用 数据类型 - Execute 指令触发 BOOL S1 PV 设置计数值 INT/DINT D1 Q 计数是否开始/完成 BOOL D2 CV 当前计数值 INT/DINT 3）适用软元件 操作数 字软元件 位软元件 系统 常数 模块 自定义 变量 系统 自定义 变量 D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m S1 ● S2 ● D1 ● D2 ● 注：D 表示 D、HD；TD 表示 TD、HTD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM；DS 表示 DS、DHS。 M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT；C 表示 C、HC。 4）功能和动作  当 Execute 从 OFF 变为 ON 时进行减计数，当 CV 的值达到设定值 PV 时，Q 状态变成 ON；此后当 Execute继续从 OFF变为 ON 时，CV的值会继续自减，但是 Q保持状态不变；  可使用 CNT _D_RST_FC/DCNT _D_RST_FC进行复位。 示例： M0 CNT_D_FB Execute PV Q CV -90 test_1 test_2 CNT_D_FB_1 CNT_D_RST_FC instanceCNT_D_FB_1 M1  当 M0每次变成 ON时，计数器自减次数，test_2的值为当时计数次数。当计时到设定的-90时，test_1 变成 ON。此后 M0 继续变成 ON时，计数器会继续自减次数；  在计数过程中，M1从 OFF变成 ON时，test_1的状态变成 OFF，test_2的数值清零。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 78 3-15．针对定时器的[TMR],[TMR_A],[TMR_FB],[TMR_A_FB] 3-15-1．梯形图定时器[TMR]、[TMR_A] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 TMR输出 非掉电保持 100ms 定时器线圈的驱动 TMR T0 K10 K100 操作元：K、D TMR输出 非掉电保持10ms定 时器线圈的驱动 TMR T0 K10 K10 操作元：K、D TMR输出 非掉电保持 1ms 定 时器线圈的驱动 TMR T0 K10 K1 操作元：K、D TMR_A输出 掉电保持 100ms 定 时器线圈的驱动 TMR_A HT0 K10 K100 操作元：K、D TMR_A输出 掉电保持10ms定时 器线圈的驱动 TMR_A HT0 K10 K10 操作元：K、D TMR_A输出 掉电保持 1ms 定时 器线圈的驱动 TMR_A HT0 K10 K1 操作元：C、HC、HSC 2）内部定时器的编程 TMR T0 K10 K10 Y0 RST T0 M0 T0 M1  停电保持用定时器，即使在停电时，仍保持当前值以及输出触点的动作状态和复位状态。 【注】： ※1：XDH/XLH系列机型通过内部任务实现定时，存在一定误差，无法满足高精度定时需求。如需高精度定时可采用 脉冲指令输出固定频率脉冲，通过 HSD 寄存器累计脉冲变化量换算得到精确时间；若项目无需 Ethercat 总线功能可更换为 支持 STR精确定时功能的其他系列 PLC。 对线圈 M0的 OFF→ON 的通断进行计时，当T0达到设定 值 K10 时，输出触点 T0 动作，即 T0 的状态由 OFF 转变 为 ON。此后，定时器T0的值仍然继续计时；为了将此清 除，令 M1为接通状态，使输出触点复位。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 79 3-15-2．函数块定时器[TMR_FB]、[TMR_A_FB] 3-15-2-1. 不保持定时器函数块[TMR_FB] 1）指令概述 TMR_FB为条件不导通不保持定时器函数块。 条件不导通不保持定时器函数块[TMR_FB] 16 位指 令 TMR_FB 图块 显示 ST 显示 TMR_FB(Enable:=V AR1,Circle:=V AR 2, TimeBase := ,QStatus => ,Cur_Circle => ); 执行条件 常开/闭 适用机型 XD 全系列、XL全系列 固件要求 - 软件要求 V3.7.16及以上 注：上述适用机型中，除 XDH、XLH以外机型需 V3.7.17 及以上版本软件支持。 2）操作数 操作数 名称 作用 数据类型 - Enable 指令触发 BOOL S1 Circle 设置计时时间= Circle*TimeBase(ms) INT S2 TimeBase 时基(ms)，只可设置 1/10/100 INT D1 QStatus 计时状态输出 BOOL D2 Cur_Circle 当时计时时间 INT 3）功能和动作  定时器的 Enable 从 OFF 变 ON 时，定时器启动计时 。当前计时时间 Cur_Circle 达到设定时间 Circle*TimeBase时，QStatus从 OFF变 ON；  当计时过程中 Enable从 ON变 OFF时，定时器 Cur_Circle清零和 QStatus复位；  可使用 TMR_RST_FC进行复位。 示例： M0 500 test_1 test_2 TMR_FB_1 TMR_RST_FC instanceTMR_FB_1 M1 TMR_FB Enable Circle TimeBase QStatus Cur_Circle10  当 M0 变成 ON 时，定时器开始计时，test_2 的值为当时计时时间。当计时到 5000ms时，test_1 变成 ON；M0从 ON 变成 OFF时，停止计时，test_1的状态变成 OFF，test_2的数值清零；在计时过程中， M1 从 OFF变成 ON 时，test_1的状态变成 OFF，test_2 的数值清零。 4）时序图 TMR_FB Enable Circle TimeBase QStatus Cur_Circle


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 80 Enable QStatus Cur_Circle Circle*TimeBase 3-15-2-2. 保持定时器函数块[TMR_A_FB] 1）指令概述 TMR_A_FB为条件不导通保持定时器函数块。 条件不导通不保持定时器函数块[TMR_FB] 16位指令 TMR_A_FB 图块显示 TMR_A_FB Enable Circle TimeBase QStatus Cur_Circle 执行条件 常开/闭 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.7.16及以上 注：上述适用机型中，除 XDH、XLH以外机型需 V3.7.17 及以上版本软件支持。 2）操作数 操作数 名称 作用 数据类型 - Enable 指令触发 BOOL S1 Circle 设置计时时间= Circle*TimeBase(ms) INT S2 TimeBase 时基(ms)，只可设置 1/10/100 INT D1 QStatus 计时状态输出 BOOL D2 Cur_Circle 当时计时时间 INT 3）功能和动作  定时器的 Enable 从 OFF 变 ON 时，定时器启动计时 。当前计时时间 Cur_Circle 达到设定时间 Circle*TimeBase时，QStatus从 OFF变 ON；  当计时过程中 Enable 从 ON 变 OFF 时，定时器 Cur_Circle 和 QStatus 保持当前状态，当 Enable 变成 ON 时，继续计时；  可使用 TMR_A_RST_FC进行复位。 示例： M0 500 test_1 test_2 TMR_A_FB_1 TMR_A_RST_FC instanceTMR_A_FB_1 M1 TMR_A_FB Enable Circle TimeBase QStatus Cur_Circle10  当 M0 变成 ON 时，定时器开始计时，test_2 的值为当时计时时间。当计时到 5000ms时，test_1 变成 ON；M0 从 OFF 变成 ON 时，暂停计时，test_1 的状态和 test_2 的数值保持，再次置位 M0，继续计 时，test_2继续累计；在计时过程中，M1从 OFF变成 ON时，test_1的状态变成 OFF，test_2的数值 清零。 4）时序图


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 3 基本顺控指令说明 81 Enable QStatus Cur_Circle Circle*TimeBase TMR_A_RST_FC 3-16．[END] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 END 结束 输入输出处理以及返 回到第 0 步 操作元：无 2）指令说明 程序步 000 001 002 输入处理 输出处理 LD X0 OUT Y0 END  执行 END指令时，也刷新监视定时器（检查扫描周期是否过长的定时器） 。 3-17．[GROUP] ,[GROUPE] 1）助记符与功能 助记符、名称 功能 回路表示和可用软元件 GROUP 指令块折叠开始 操作元：无 GROUPE 指令块折叠结束 操作元：无 2）指令说明  GROUP和 GROUPE指令必须成对使用，否则 PLC会报错“GROUP-GROUPE错误”。  GROUP 和 GROUPE 指令并不具有实际意义，仅是对程序的一种结构优化，因此该组指令添加与否， 并不影响程序的运行效果。  GROUP和 GROUPE指令的使用方法与流程指令类似，在折叠语段的开始部分输入GROUP指令，在 可编程控制器反复进行输入处理、程序执行和输出处理。若在程 序的最后写入 END 指令，则 END 以后的其余程序步不再执 行，而直接进行输出处理。 在程序中没有 END 指令时， XC 可 编程控制器一直处理到最终的程序步，然后从 0 步开始重复处 理。在调试阶段，在各程序段插入 END 指令，可依次检出各程 序段的动作。 这时， 在确认前面回路块动作正确无误后， 依次删去 END 指令。 GROUP GROUPE END


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
3 基本顺控指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 82 折叠语段的结束部分输入 GROUPE指令。 MOV K10 D0 M0 GROUP ( ) T0 R SM0 GROUPE 3-18．编程注意事项 1）触点的结构与步数 即使在动作相同的顺控回路中，根据触点的构成方法也可简化程序与节省程序步数。一般编程的原则 是：a）将串联触点多的回路写在上方；b）将并联触点多的回路写在左方。 2）程序的执行顺序 对顺控程序作【自上而下】和【自左向右】的处理。 顺控指令清单也沿着此流程编码。 3）双重输出双线圈动作及其对策  若在顺控程序中进行线圈的双重输出（双线圈） ，则后面的动作优先执行。  双重输出（双线圈）在程序方面并不违反输入规则，但是由于上述的动作十分复杂，因此请按以下的 示例改变程序。 Y0 Y0 X0 X2 X3 X4 Y0 X0 X2 X3 X4 M0 M1 X0 X2 X3 X4 Y0 M0 M1 或  还有其他的方法，如采用跳转指令，或流程指令，不同状态控制同一输出线圈编程的方法。 GROUP 和 GROUPE 指令一般可根据指令段的 功能的不同进行编组， 同时， 被编入的程序可以 折叠或展开显示， 对于程序冗长的工程， 该组指 令将特别适用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 83 4 应用指令说明 4-1．应用指令一览表 指令助记符 功能 回路表示及可用软元件 章节 程序流程 CJ 条件跳转 CJ Pn 4-3-1 CALL 子程序调用 CALL Pn 4-3-2 SRET 子程序返回 SRET 4-3-2 STL 流程开始 STL Sn 4-3-3 STLE 流程结束 STLE 4-3-3 SET 打开指定流程，关闭所在流程 SET Sn 4-3-3 ST 打开指定流程，不关闭所在流程 ST Sn 4-3-3 FOR 循环范围开始 FOR S 4-3-4 NEXT 循环范围结束 NEXT 4-3-4 FEND 主程序结束 FEND 4-3-5 END 程序结束 4-3-5 数据比较 LD＝ 开始（S1）＝（S2）时导通 LD= S1 S2 4-4-1 LD＞ 开始（S1）＞（S2）时导通 LD> S1 S2 4-4-1 LD＜ 开始（S1）＜（S2）时导通 LD< S1 S2 4-4-1 LD＜＞ 开始（S1）≠（S2）时导通 LD<> S1 S2 4-4-1 LD＜＝ 开始（S1）≤（S2）时导通 LD< = S1 S2 4-4-1 LD＞＝ 开始（S1）≥（S2）时导通 LD> = S1 S2 4-4-1 AND＝ 串联（S1）＝（S2）时导通 AND= S1 S2 4-4-2 AND＞ 串联（S1）＞（S2）时导通 AND> S1 S2 4-4-2 END


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 84 指令助记符 功能 回路表示及可用软元件 章节 AND＜ 串联（S1）＜（S2）时导通 AND< S1 S2 4-4-2 AND＜＞ 串联（S1）≠（S2）时导通 AND<> S1 S2 4-4-2 AND＜＝ 串联（S1）≤（S2）时导通 AND<= S1 S2 4-4-2 AND＞＝ 串联（S1）≥（S2）时导通 AND= S1 S2 4-4-2 OR＝ 并联（S1）＝（S2）时导通 OR= S1 S2 4-4-3 OR＞ 并联（S1）＞（S2）时导通 OR> S1 S2 4-4-3 OR＜ 并联（S1）＜（S2）时导通 OR< S1 S2 4-4-3 OR＜＞ 并联（S1）≠（S2）时导通 OR<> S1 S2 4-4-3 OR＜＝ 并联（S1）≤（S2）时导通 OR< = S1 S2 4-4-3 OR＞＝ 并联（S1）≥（S2）时导通 OR> = S1 S2 4-4-3 数据传送 CMP 数据的比较 CMP S1 S D 4-5-1 ZCP 数据的区间比较 ZCP S1 S2 S D 4-5-2 MOV 传送 MOV S D 4-5-3 BMOV 数据块传送 BMOV S D n 4-5-4 PMOV 数据块传送 PMOV S D n 4-5-5 FMOV 多点重复传送 FMOV S D n 4-5-6 EMOV 浮点数传送 EMOV S D 4-5-7 FWRT FlashROM的写入 FWRT S D 4-5-8 MSET 批次置位 MSET S1 S2 4-5-9 ZRST 批次复位 ZRST S1 S2 4-5-10 SWAP 高低字节交换 4-5-11 XCH 两个数据交换 4-5-12 数据运算 ADD 加法 ADD S1 S2 D 4-6-1 SWAP S XCH D1 D2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 85 指令助记符 功能 回路表示及可用软元件 章节 SUB 减法 SUB S1 S2 D 4-6-2 MUL 乘法 4-6-3 DIV 除法 4-6-4 INC 加 1 4-6-5 DEC 减 1 4-6-5 MEAN 求平均值 MEAN S D n 4-6-6 WAND 逻辑与 WAND S1 S2 D 4-6-7 WOR 逻辑或 WOR S1 S2 D 4-6-7 WXOR 逻辑异或 WXOR S1 S2 D 4-6-7 CML 取反 CML S D 4-6-8 NEG 求负 4-6-9 数据移位 SHL 算术左移 SHL D n 4-7-1 SHR 算术右移 SHR D n 4-7-1 LSL 逻辑左移 4-7-2 LSR 逻辑右移 4-7-2 ROL 循环左移 4-7-3 ROR 循环右移 4-7-3 SFTL 位左移 SFTL S D n1 n2 4-7-4 SFTR 位右移 SFTR S D n1 n2 4-7-5 WSFL 字左移 4-7-6 WSFR 字右移 4-7-7 数据转换 WTD 单字整数转双字整数 WTD S D 4-8-1 MUL S1 S2 D DIV S1 S2 D INC D DEC D NEG D LSL D n LSR D n ROL D n ROR D n WSFL S D n1 n2 WSFR S D n1 n2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 86 指令助记符 功能 回路表示及可用软元件 章节 DWTD 双字整数转四字整数 4-8-1 BDWTD 32 位整数转 64位整数批次转换 4-8-2 FLT 16 位整数转浮点 4-8-3 DFLT 32 位整数转浮点 4-8-3 FLTD 64 位整数转浮点 4-8-3 DFLTD 32 位整数转双精度浮点 4-8-4 QFLTD 64 位整数转双精度浮点 4-8-4 INT 浮点转整数 4-8-5 DINTD 双精度浮点转 32位整数 4-8-6 QINTD 双精度浮点装 64位整数 4-8-6 ECON 单精度浮点转双精度浮点 4-8-7 BECON 浮点转双精度浮点批次转换 4-8-8 BIN BCD转二进制 4-8-9 BCD 二进制转 BCD 4-8-10 ASCI 十六进制转 ASCII ASCI S D n 4-8-11 HEX ASCII转十六进制 4-8-12 DECO 译码 4-8-13 ENCO 高位编码 4-8-14 ENCOL 低位编码 4-8-15 GRY 二进制转格雷码 4-8-16 GBIN 格雷码转二进制 4-8-17 浮点运算 ECMP 浮点数比较 ECMP S1 S2 D 4-9-1 FLT S D DFLT S D FLTD S D INT S D BIN S D BCD S D HEX S D n DECO S D n ENCO S D n ENCOL S D n GRY S D GBIN S D DWTD S D BDWTD S D n DFLTD S D QFLTD S D DINTD S D QINTD S D BECON S D n ECON S D


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 87 指令助记符 功能 回路表示及可用软元件 章节 EZCP 浮点数区间比较 EZCP S1 S2 D1 D2 4-9-2 EADD 浮点数加法 4-9-3 ESUB 浮点数减法 4-9-4 EMUL 浮点数乘法 4-9-5 EDIV 浮点数除法 4-9-6 ESQR 浮点数开方 4-9-7 SIN 浮点数 SIN运算 4-9-8 COS 浮点数 COS运算 4-9-9 TAN 浮点数 TAN运算 4-9-10 ASIN 浮点数反 SIN运算 4-9-11 ACOS 浮点数反 COS 运算 4-9-12 ATAN 浮点数反 TAN运算 4-9-13 时钟 TRD 内置时钟数据读取 4-10-1 TWR 内置时钟数据写入 4-10-2 MOV 精确时钟 BD 板数据读取 MOV S D 4-10-3 TO 精确时钟 BD 板数据写入 TO S1 S2 S3 D 4-10-4 TADD 时钟数据加法运算 TADD S1 S2 D 4-10-5 TSUB 时钟数据减法运算 TSUB S1 S2 D 4-10-6 HTOS 时、分、秒数据转换成秒 HTOS S D 4-10-7 STOH 秒转换成时、分、秒 STOH S D 4-10-8 TCMP 时间比较 TCMP S1 S2 S3 DS 4-10-9 DACMP 日期比较 DACMP S1 S2 S3 DS 4-10-10 EADD S1 S2 D ESUB S1 S2 D EMUL S1 S2 D EDIV S1 S2 D ESQR S D SIN S D COS S D TAN S D ASIN S D ACOS S D ATAN S D TRD D TWR D


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 88 4-2．应用指令的阅读方法 本手册中所记录的应用指令按以下形式进行说明。 1）指令概述 加法运算[ADD] 16位 ADD 32位 DADD 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 数据类型 S1 指定进行加法运算的数据或软元件地址编号 16位/32位，BIN S2 指定进行加法运算的数据或软元件地址编号 16位/32位，BIN D 指定保存加法结果的软元件地址编号 16位/32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表 示 C、HC、HSC。 4）功能和动作 《16位表示形式》 ADD D10 D12 D14 X0 S1· S2· D· 《32位表示形式》 DADD D10 D12 D14 X0 S1· S2· D·  两个源数据进行二进制加法后传递到目标处。各数据的最高位是正（0）、负（1）符号位，这些数据 以代数形式进行加法运算（5+（-8）=-3）。  运算结果为 0 时，0 标志会动作。如运算结果超过 32,767（16 位运算）或 2,147,483,647（32 位运算） 时，进位标志会动作（参照下一页）。如运算结果超过-32,768（16位运算）或-2,147,483,648（32位运 算）时，借位标志会动作（参照下一页）。  进行 32位运算时，字软元件的低 16位侧的软元件被指定，紧接着上述软元件编号后的软元件将作为 高位，为了防止编号重复，建议将软元件指定为偶数编号。  可以将源操作数和目标操作数指定为相同的软元件编号。  上例中驱动输入 X0为 ON时，每个扫描周期执行一次加法运算，请务必注意；或可以选择使用边沿 指令触发。 5）相关软元件 标志位的作用（动作及数值涵义） 软元件 名称 作用 SM20 零 ON：运算结果为 0时 OFF：运算结果为 0 以外时 （D10）＋（D12）→（D14） （D11D10）＋（D13D12）→（D15D14）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 89 软元件 名称 作用 SM21 借位 ON：运算结果超出-32,768（16位运算）或是-2,147,483,648（32位运算）时，借位 标志位动作。 OFF：运算结果不到-32,768（16位运算）或是-2,147,483,648（32位运算）时。 SM22 进位 ON：运算结果超出32,767（16 位运算）或是 2,147,483,647（32位运算）时，进位 标志位动作。 OFF：运算结果不到 32,767（16位运算）或是 2,147,483,647（32位运算）时。 6）相关说明  数据的指定 XD/XL 系列可编程控制器的数据寄存器为单字（16 位）数据寄存器，单字数据只占用一个数据寄存 器，为单字对象指令指定的数据寄存器，处理范围为十进制-327,68~327,67或十六进制 0000~FFFF。 指 令 D(NUM) 对象数据 双字（32位）占用2个数据寄存器，由双字对象指令指定的数据寄存器及其下一个编号的数据寄存器 组成，处理范围为十进制-214,748,364,8~214,748,364,7或十六进制 00000000~FFFFFFFF。 对象数据 对象数据指 令 D(NUM)  32位指令的表示方法 对于 16位指令，其相应的 32位指令的表示方法就是在该指令前面加“D”。 例如：ADD D0 D2 D4 表示两个 16位的数据相加； DADD D10 D12 D14 则表示两个 32位的数据相加。 【注】 ： ※1：显示根据指令的动作进行动作的标志位。不具有直接标志的指令不显示。 ※2： S· 表示该操作数的内容不随指令的执行而变化，称之为源操作数。 ※3： D· 表示该操作数的内容随指令的执行而变化，称之为目标操作数。 ※4：依次说明该指令的基本动作和使用方法、应用实例、扩展功能、注意点等。 单字对象指令 D(NUM) → → 双字对象指令 D(NUM) D(NUM+1)


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 90 4-3．程序流程指令 指令助记符 指令功能 章节 CJ 条件跳转 4-3-1 CALL 子程序调用 4-3-2 SRET 子程序返回 4-3-2 STL 流程开始 4-3-3 STLE 流程结束 4-3-3 SET 打开指定流程，关闭所在流程（流程跳转） 4-3-3 ST 打开指定流程，不关闭所在流程（开新流程） 4-3-3 FOR 循环范围开始 4-3-4 NEXT 循环范围结束 4-3-4 FEND 主程序结束 4-3-5 END 程序结束 4-3-5


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 91 4-3-1．条件跳转[CJ] 1）指令概述 CJ 作为执行序列一部分的指令，可以缩短运算周期及使用双线圈。 条件跳转[CJ] 16位指令 CJ 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 Pn 跳转到目标标记的指针编号 P（P0~P9999） 指针编号 3）适用软元件 其他 指针 P I ● 4）功能和动作 在下图的示例中，如果X0“ON” ，则从第1 步跳转到标记 P6 的后一步。X0 “OFF”时，不执行跳转 指令。 CJ P6 X0 ( ) Y0X1 ( ) T246 R X2 TMR T246 K1000 K10 X3 MOV K3 D0 X4 P6 CJ P7 X0 ( ) Y0X5 P7 ( ) T246 R X6  如左图，Y0变成双线圈输出，但是，X0=OFF时 采用 X1动作。X0=ON时采用 X5动作。  CJ 不可以从一个 STL 跳转到另一个 STL，不能 跨主程序、子程序进行跳转。  CJ 指令执行后，定时器T0~T575 HT0~HT795会 停止计数，断开CJ指令后从当期位置继续计数； 高速计数 HSC0~HSC30 在驱动后执行了 CJ 指 令，则继续工作，输出接点也动作。  CJ 跳转的 P 标签必须存在；使用跳转指令时注 意标号一定要匹配。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 92 4-3-2．子程序调用[CALL]/子程序返回[SRET] 1）指令概述 调用要共同处理的程序，可减少程序的步数。 子程序调用[CALL] 16位 CALL 32位 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 子程序返回[SRET] 16位 SRET 32位 - 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 Pn 跳转到目标标记的指针编号 P（P0~P9999） 指针编号 3）适用软元件 其他 指针 P I ● 4）功能和动作 CALL X0 FEND SRET END 主 程 序 子 程 序 P10 P10  如果 X0=“ON” ，则执行调用指令，跳转到标记为P10 的子程序步。在这里，执行子程序后，通过执行SRET 指令后， 返回到原来的主程序步， 接着继续执行后续的 主程序。  在后述的 FEND指令后对标记编程。  在子程序内可以允许有 9 次调用指令，整体而言可做 10 层嵌套。  调用子程序时，主程序所属的OUT、PLS、PLF、定时 器等均保持。  子程序返回时，子程序所属的OUT、PLS、PLF、定时 器等均保持。  子程序中不要写脉冲、 计数、 定时等一个扫描周期内无 法完成的指令。  CALL 指令和子程序指针 P 必须要配合使用，否则会 报错“不存在的标号类型” 。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 93 子程序执行图示说明： CALL FEND SRET P10 END P10 X0 如果 X0=“ON” ，则按照图示箭头方向执行。 如果 X0=“OFF” ，则不执行（CALL指令）调用指令，只执行主程序部分。 子程序使用，写程序时注意格式：必须在 FEND 指令后对标记编程。Pn 作为一段子程序的开始，以 SRET作为一段子程序的结束。用 CALL Pn调用子程序。其中 n可以为 0~9999中的任一值。 使用子程序调用，可以简化编程，可以将几个地方需要用的的公共部分写在子程序中，再调用子程序 即可实现。 主 程 序 子 程 序


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 94 4-3-3．流程 [SET]、[ST] 、[STL]、 [STLE] 1）指令概述 用于指定流程开始、结束、打开、关闭的指令。 打开指定流程，关闭所在流程[SET] 16位 SET 32位 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 打开指定流程，不关闭所在流程[ST] 16位 ST 32位 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 流程开始[STL] 16位 STL 32位 - 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 流程结束[STLE] 16位 STLE 32位 - 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 Sn 指定跳转到目标流程 S 流程编号 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m Sn ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  STL与 STLE必需配对使用。STL表示一个流程的开始，STLE表示一个流程的结束。  每一个流程书写都是独立的，写法上不能嵌套书写。在流程执行时，不一定要按 S0、S1,、S2……的 顺序执行，流程执行的顺序在程序中可以按需求任意指定。可以先执行S10再执行 S5，再执行 S0。  执行 SET Sxxx指令后，这些指令指定的流程为 ON。  执行 RST Sxxx指令后，指定的流程为 OFF。  在流程 S0中，SET S1将所在的流程 S0关闭，并将流程 S1打开。  在流程 S0中，ST S2将流程 S2打开，但不将流程 S0关闭。  流程从 ON 变为 OFF 时，流程中所属的 OUT、PLS、PLF、不累计定时器等将置 OFF 或复位，SET、 累计定时器等将保持原有状态。  ST 指令一般在程序需要同时运行多个流程时使用。  在流程中执行 SET Sxxx指令后，跳转到下一个流程，流程关闭后，除了PLSF，其余脉冲指令不会停 止。  STL语句操作数不允许重复。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 95 SET S0 STL S0 SET S1 ST S2 STL S1 STLE STLE STL S2 STLE 5）举例 例 1：流程分支运行再合并到一个流程。 PLC运行程序就开始执行流程 S0，然后分支运行流程S10和 S20，直到S10，S11，S12这一分支流程 运行结束，而且 S20，S21，S22这一分支流程也运行结束之后，然后再合并运行流程 S30。 STL S10 S10 TMR T0 K50 K100 ( ) S11 S T0 STLE STL S11 S11 TMR T1 K50 K100 ( ) S12 S T1 STLE STL S12 S12 TMR T2 K50 K100 ( ) M1 S T2 ( ) S12 RSTLE STL S20 S20 TMR T0 K50 K100 ( ) S21 S T0 STLE STL S21 S21 TMR T1 K50 K100 ( ) S22 ST1 STLE STL S22 S22 TMR T5 K10 K100 ( ) M2 S T5 ( ) S22 RSTLE M1 M2 ( ) S30 S STL S30 ( ) M1 R S30 ( ) M2 R ( ) S30 R T6 STLE S30 TMR T6 K10 K100 ( ) S0 S SM2 STL S0 ( ) S10 S M0 ( ) S20 S STLE 在流程 S0中，执行SET S1之后，将 流程 S0关闭，并将流程 S1打开。 在流程 S0 中，执行 ST S2 之后，将 流程 S2打开，但不关闭流程 S0。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 96 STL S10 S10 TMR T0 K50 K100 ( ) S11 S T0 STLE STL S11 S11 TMR T1 K50 K100 ( ) S12 S T1 STLE STL S12 S12 TMR T2 K50 K100 ( ) M1 S T2 ( ) S12 RSTLE STL S20 S20 TMR T0 K50 K100 ( ) S21 S T0 STLE STL S21 S21 TMR T1 K50 K100 ( ) S22 ST1 STLE STL S22 S22 TMR T5 K10 K100 ( ) M2 S T5 ( ) S22 RSTLE M1 M2 ( ) S30 S STL S30 ( ) M1 R S30 ( ) M2 R ( ) S30 R T6 STLE S30 TMR T6 K10 K100 ( ) S0 S SM2 STL S0 ( ) S10 S M0 ( ) S20 S STLE 示意图： 流程S0开始 流程S20开始 流程S12开始 流程S11开始 流程S21开始 流程S22开始 流程S30开始 流程S10开始 程序说明： 程序开始运行，由特殊辅助线圈 SM2 置位 S0 线圈，流程 S0 开始运行。当手动置位线圈 M0 时，从 流程 S0 分支到流程 S10和 S20。分支流程 1：从流程 S10 开始，依次运行流程 S11，流程 S12。当这部分 的分支流程运行结束，置位线圈 M1 作为分支流程 1 完成标志位。同时，分支流程 2：从流程 S20 开始， 依次运行流程 S21，流程S22。当这部分的分支流程运行结束，置位线圈M2作为分支流程 2完成标志位。 当两部分分支流程都运行结束， 然后合并置位线圈S30， 流程S30开始运行。 当流程S30结束则跳出流程， 结束流程 S30。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 97 例 2：流程嵌套使用。 流程S0 开始运行一段时间后，S1、S2流程开始执行， 并保持S1流程运行状态。 当流程 S0运行设定的时间后，关闭流程 S0。当 S0流程关闭时，强制关闭流程 S1、S2。 ( ) S0 S M0 ZRST S0 S1 S0 STL S0 ( ) M1 S SM0 TMR T0 K50 K100 TMR T4 K1000 K100 ST S1 T0 TMR T3 K10 K100 T0 ST S2 T3 ( ) S0 R T4 STLE STL S2 TMR T2 K400 K100 S2 ( ) S2 R T2 STLE STL S1 TMR T1 K200 K100 S1 ( ) S1 R T1 STLE S0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 98 4-3-4．循环 [FOR]、[NEXT] 1）指令概述 以指定的次数对由 FOR到 NEXT之间的程序进行循环执行。 循环开始[FOR] 16位 FOR 32 位 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 循环结束[NEXT] 16位 NEXT 32 位 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 数据类型 S FOR~NEXT之间程序循环执行的次数 16位，二进制 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m Sn ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  FOR、NEXT必需配对使用，可以嵌套，嵌套层数最多为 8层。  当 FOR~NEXT指令之间的程序被执行指定次数（利用源数据指定的次数）后，才会处理NEXT 指令 后的程序。  M0由 OFF→ON 一次，同时 M1为 ON时，[A]循环被执行 5×6=30次。  M0由 OFF→ON 一次，同时 M3为 ON时，[B]循环被执行 5×7=35次。 FOR K6 INC D0 NEXT FOR K7 INC D1 NEXT NEXT FOR K5 M0 M3 M1 [A] [B] [C] S·  循环次数多时扫描周期会延长， 有可能出现 扫描周期过长，引起程序运行很慢，软件监 视出现脱机状态，请务必注意。  NEXT 指令在 FOR 指令之前，或无 NEXT 指令，或在 FEND，END 指令以后出现 NEXT 指令，或 FOR 指令与 NEXT 指令的 个数不一样时等等，都会出现错误。  FOR~NEXT 之间不能嵌套 CJ，并且 FOR~NEXT在一个 STL中必须配对。  FOR~NEXT 循环里不支持边沿触发指令， 否则报“指令位置错误” 。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 99 5）[FOR]、[NEXT] 循环应用举例 例 1：在下例所示应用中，当 M0 置 ON 时，FOR 语句开始循环，实现对寄存器 D1 到 D20 内的数据 从小到大排序。应用 D21 作为偏移量，很灵活的实现数据比较和排序。 （注意：如果程序中需要用到比较 多的排序功能，建议用 C语言功能块编写程序，这样可以节省程序的运算过程，缩短扫描周期时间，从而 提高 PLC的处理能力。 ） SM2 MOV K19 D0 M0 FOR D0 MOV K0 D21 SM0 FOR D0 D1[D21] D2[D21] XCH D1[D21] D2[D21] INC D21 NEXT NEXT 梯形图转换为命令语句如下： LD SM2 //SM2为初始正脉冲线圈 MOV K19 D0 //将需要排序数据个数减一之后存入 D0,作为 FOR循环的次数 LD M0 //FOR 循环触发条件 M0 MCS // 新的母线开始 FOR D0 // 嵌入内部 FOR循环，循环次数也为 D0 MOV K0 D21 // 将偏移量设为从 0开始 LD SM0 //SM0 为常 ON线圈 MCS // 另一条母线嵌套 FOR D0 // 嵌套 FOR循环，循环的次数也为 D0 LD> D1[D21] D2[D21] //比较相邻两个数据大小，如果前一个大于后一个则导通 XCH D1[D21] D2[D21] // 交换相邻两个数据的位置 LD SM0 // SM0为常 ON线圈 INC D21 // 将偏移量 D21自加 1 MCR // 母线回归 NEXT // 与第二个 FOR匹配 MCR // 母线回归 NEXT // 与第一个 FOR匹配


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 100 4-3-5．结束 [FEND]、[END] 1）指令概述 FEND表示主程序结束，而 END则表示程序结束。 主程序结束[FEND] 指令形式 FEND 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 程序结束[END] 指令形式 END 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 无 3）适用软元件 无 4）功能和动作 虽然[FEND]指令表示主程序的结束，但若执行此指令，则与 END 指令同样，执行输出处理、输入处 理、监视定时器的刷新、向 0 步程序返回。 主过程程序 CJ 主过程程序 跳转程序 END 主过程程序 CALL 主过程程序 FEND 子程序例行程序 END 中断例行程序 X10=OFF X10=ON 跳转 X11=OFF X11=ON 0 0 P20 P21 X10 X11 P20 P21 I100 IRET SRET  CALL 指令的标签在 FEND 指令后编程，必须要有 SRET 指令。中断用指针也在 FEND 指令后编程， 必须要有 IRET指令。  在执行 CALL指令后，SRET指令执行前，如果执行了 FEND指令；或者在 FOR指令执行后，NEXT 指令执行前执行了 FEND 指令，则程序会出错。即不能在子程序中间或 FOR 和 NEXT 指令之间写 FEND指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 101 4-4．触点比较指令 助记符 指令功能 章节 LD＝ 开始（S1）＝（S2）时导通 4-4-1 LD＞ 开始（S1）＞（S2）时导通 4-4-1 LD＜ 开始（S1）＜（S2）时导通 4-4-1 LD＜＞ 开始（S1）≠（S2）时导通 4-4-1 LD＜＝ 开始（S1）≤（S2）时导通 4-4-1 LD＞＝ 开始（S1）≥（S2）时导通 4-4-1 AND＝ 串联（S1）＝（S2）时导通 4-4-2 AND＞ 串联（S1）＞（S2）时导通 4-4-2 AND＜ 串联（S1）＜（S2）时导通 4-4-2 AND＜＞ 串联（S1）≠（S2）时导通 4-4-2 AND＜＝ 串联（S1）≤（S2）时导通 4-4-2 AND＞＝ 串联（S1）≥（S2）时导通 4-4-2 OR＝ 并联（S1）＝（S2）时导通 4-4-3 OR＞ 并联（S1）＞（S2）时导通 4-4-3 OR＜ 并联（S1）＜（S2）时导通 4-4-3 OR＜＞ 并联（S1）≠（S2）时导通 4-4-3 OR＜＝ 并联（S1）≤（S2）时导通 4-4-3 OR＞＝ 并联（S1）≥（S2）时导通 4-4-3


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 102 4-4-1．开始比较 4-4-1-1. 整型开始比较[LD□,DLD□,QLD□] 1）指令概述 LD□是连接母线的触点比较指令。 整型比较[LD□] 16位指令 下述 32位指令 下述 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64位指令 下述 执行条件 - 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XDME、XLME、XL5N、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持 QLD□。 2）操作数 操作数 作用 类型 S1 指定被比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT S2 指定比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；FD 表示 FD、FS（仅< >时支持 FS 寄存器） ；TD表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、 HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、 SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 16 位指令 32 位指令 64 位指令 导通条件 非导通条件 LD＝ DLD＝ QLD＝ （S1）＝（S2） （S1）≠（S2） LD＞ DLD＞ QLD＞ （S1）＞（S2） （S1）≤（S2） LD＜ DLD＜ QLD＜ （S1）＜（S2） （S1）≥（S2） LD＜＞ DLD＜＞ QLD＜＞ （S1）≠（S2） （S1）＝（S2） LD＜＝ DLD＜＝ QLD＜＝ （S1）≤（S2） （S1）＞（S2） LD＞＝ DLD＞＝ QLD＞＝ （S1）≥（S2） （S1）＜（S2）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 103 LD= K100 C0 X0 Y0 LD> D200 K-30 X1 SET Y1 DLD> K68899 C2 M50 M4 QLD> D300 K50 X2 SET Y2 5）注意事项  当源数据的最高位（16位指令：b15，32位：b31，64位：b63）为 1时，将该数值作为负数进行比较。  32 位计数器的比较，必须以 32位指令来进行。若指定 16位指令时，会导致程序出错或运算错误。  64 位计数器的比较，必须以 64位指令来进行。若指定 32位指令时，会导致程序出错或运算错误。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 104 4-4-1-2. 浮点数开始比较[ELD□,EDLD□] 1）指令概述 ELD□是连接母线的触点比较指令。 开始比较[ELD□] 32位指令 下述 64位指令 下述 执行条件 - 适用机型 XD3E、XD5E、XL5E、XL5N、 XDME、XLME、XL5H、XDH、 XLH、XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XL5N、XDME、XLME、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 两个操作数时 S1 指定被比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL 三个操作数时 S1 指定被比较数的数值或软元件地址编号 32/64位；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32/64位；REAL/LREAL S3 指定比较时的绝对误差的数值 1*10-S3 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K ID QD X Y M S T C Dn.m 两个操作数时 S1 ● ● ● ● S2 ● ● ● ● 三个操作数时 S1 ● ● ● ● S2 ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《两个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 ELD＝ EDLD＝ (|S1-S2|)<=绝对误差 (|S1-S2|)>绝对误差 ELD＞ EDLD＞ (S1-S2)>绝对误差 (S1-S2)<=绝对误差 ELD＜ EDLD＜ (S1-S2)<-绝对误差 (S1-S2)>=-绝对误差 ELD＜＞ EDLD＜＞ (|S1-S2|)>绝对误差 (|S1-S2|)<=绝对误差 ELD＜＝ EDLD＜＝ (S1-S2)<=绝对误差 (S1-S2)>绝对误差 ELD＞＝ EDLD＞＝ (S1-S2)>=-绝对误差 (S1-S2)<-绝对误差


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 105 ELD= K100 D0 ELD> D200 K-30 SET M2 EDLD> D300 D10 SET M0 SET M3 S1· S2·  上述两个操作数表格中的“绝对误差”是指比较位数的精度，例如32位浮点比较设定的浮点比较位数 为 2，则它的绝对误差为 0.01。  32 位指令使用“浮点比较位数”作为绝对误差，存储在 SFD9 高八位中；64 位指令“双精度比较位 数”作为绝对误差，存储在 SFD9低八位中。  比较位数可以在软件“PLC 设置”-“浮点数设置”中设置；32 位指令浮点比较位数设置范围为 1-7、 64 位指令双精度比较位数范围是 1-15。点写入后立即生效。  当源数据的最高位（32位：b31，64位：b63）为 1时，将该数值作为负数进行比较。  64 位浮点数的比较，必须用 64位指令来进行。若选择 32指令，会导致程序出错或运算错误。 《三个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 ELD＝ EDLD＝ (|S1-S2|)<=S3 (|S1-S2|)>S3 ELD＞ EDLD＞ (S1-S2)>S3 (S1-S2)<=S3 ELD＜ EDLD＜ (S1-S2)<-S3 (S1-S2)>=-S3 ELD＜＞ EDLD＜＞ (|S1-S2|)>S3 (|S1-S2|)<=S3 ELD＜＝ EDLD＜＝ (S1-S2)<=S3 (S1-S2)>S3 ELD＞＝ EDLD＞＝ (S1-S2)>=-S3 (S1-S2)<-S3 ELD= K100 D0 ELD> D200 K-30 SET M2 EDLD> D300 D10 SET M0 SET M3 K5 K5 K5 S1· S2· S3·  操作数 S3范围：32位指令 1-7，64位指令 1-15。  当源数据的最高位（32位：b31，64位：b63）为 1时，将该数值作为负数进行比较。  32 位指令 S3 小于 1或大于 7 的时候运行中会在错误列表报错，不影响PLC运行，会以默认精度运行 （默认精度 1E-2） ；报错信息为：软元件指令范围超出K1-K7。  64 位指令 S3 小于 1 或大于 15 的时候运行中会在错误列表报错，不影响 PLC 运行，会以默认精度运 行（默认精度 1E-4） ；报错信息为：软元件指令范围超出K1-K15。  64 位浮点数的比较，必须以 64位指令来进行。若指定 32指令时，会导致程序出错或运算错误。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 106 4-4-2．串联比较 4-4-2-1. 整型串联比较[AND□,DAND□,QAND□] 1）指令概述 AND□是与其它接点串联的比较指令。 串联比较[AND□] 16位指令 下述 32 位指令 下述 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64位指令 下述 执行条件 - 适用机型 XD3E、XL5E、XD5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XL5E、XD5E、 XDME、XLME、XL5N、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持 QAND□。 2）操作数 操作数 作用 类型 S1 指定被比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT S2 指定比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；FD 表示 FD、FS（仅<=和>=时不支持 FS 寄存器） ；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、 HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、 HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 16 位指令 32 位指令 64 位指令 导通条件 非导通条件 AND＝ DAND＝ QAND＝ （S1）＝（S2） （S1）≠（S2） AND＞ DAND＞ QAND＞ （S1）＞（S2） （S1）≤（S2） AND＜ DAND＜ QAND＜ （S1）＜（S2） （S1）≥（S2） AND＜＞ DAND＜＞ QAND＜＞ （S1）≠（S2） （S1）＝（S2） AND＜＝ DAND＜＝ QAND＜＝ （S1）≤（S2） （S1）＞（S2） AND＞＝ DAND＞＝ QAND＞＝ （S1）≥（S2） （S1）＜（S2）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 107 AND＝ K100 C0 Y0 AND＞ D0K-30 SET Y1 DAND＞ K68899 D10 M50 X1 M4 X0 X2 S1· S2· QAND＞ D20K50 SET Y2 X3 5）注意事项  当源数据的最高位（16 位指令：b15，32位：b31，64位：b63）为1时，将该数值作为负数进行比较。  32 位计数器的比较，必须以 32位指令来进行。若指定 16位指令时，会导致程序出错或运算错误。  64 位计数器的比较，必须以 64位指令来进行。若指定 32位指令时，会导致程序出错或运算错误。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 108 4-4-2-2. 浮点数串联比较[EAND□,EDAND□] 1）指令概述 EAND□是与其它接点串联的比较指令。 串联比较[EAND□] 32位指令 下述 64位指令 下述 执行条件 - 适用机型 XD3E、XD5E、XL5E、XL5N、 XDME、XLME、XL5H、XDH、 XLH、XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XL5N、XDME、XLME、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 两个操作数时 S1 指定被比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL 三个操作数时 S1 指定被比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL S3 指定比较时的绝对误差的数值 1*10-S3 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 两个操作数时 S1 ● ● ● ● ● S2 ● ● ● ● ● 三个操作数时 S1 ● ● ● ● ● S2 ● ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《两个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 EAND＝ EDAND＝ (|S1-S2|)<=绝对误差 (|S1-S2|)>绝对误差 EAND＞ EDAND＞ (S1-S2)>绝对误差 (S1-S2)<=绝对误差 EAND＜ EDAND＜ (S1-S2)<-绝对误差 (S1-S2)>=-绝对误差 EAND＜＞ EDAND＜＞ (|S1-S2|)>绝对误差 (|S1-S2|)<=绝对误差 EAND＜＝ EDAND＜＝ (S1-S2)<=绝对误差 (S1-S2)>绝对误差 EAND＞＝ EDAND＞＝ (S1-S2)>=-绝对误差 (S1-S2)<-绝对误差


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 109 EAND= K100 D0 EDAND> D100 D200 SET M1 SET M0 S1· S2· X1 M10  上述两个操作数表格中的“绝对误差”是指比较位数的精度，例如32位浮点比较设定的浮点比较位数 为 2，则它的绝对误差为 0.01。  32 位指令使用“浮点比较位数”作为绝对误差，存储在 SFD9 高八位中；64 位指令“双精度比较位 数”作为绝对误差，存储在 SFD9低八位中。  比较位数可以在软件“PLC设置”-“浮点数设置”中设置；32位指令浮点比较位数设置范围为 1~7、 64 位指令双精度比较位数范围是 1~15。点写入后立即生效。  当源数据的最高位（32位指令：b31，64位：b63）为 1 时，将该数值作为负数进行比较。  64 位计数器的比较，必须以 64位指令来进行。若指定 32位指令时，会导致程序出错或运算错误。 《三个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 EAND＝ EDAND＝ (|S1-S2|)<=S3 (|S1-S2|)>S3 EAND＞ EDAND＞ (S1-S2)>S3 (S1-S2)<=S3 EAND＜ EDAND＜ (S1-S2)<-S3 (S1-S2)>=-S3 EAND＜＞ EDAND＜＞ (|S1-S2|)>S3 (|S1-S2|)<=S3 EAND＜＝ EDAND＜＝ (S1-S2)<=S3 (S1-S2)>S3 EAND＞＝ EDAND＞＝ (S1-S2)>=-S3 (S1-S2)<-S3 EAND= K100 D0 EAND> D200 K-30 SET M2 EDAND> D300 D10 SET M0 SET M3 X1 S1· S2· K5 K5 K5 M10 M11 S3·  操作数 S3范围：32位指令 1-7，64位指令 1-15。  当源数据的最高位（32位：b31，64位：b63）为 1时，将该数值作为负数进行比较。  32 位指令 S3 小于 1或大于 7 的时候运行中会在错误列表报错，不影响PLC运行，会以默认精度运行 （默认精度 1E-2） ；报错信息为：软元件指令范围超出K1-K7。  64 位指令 S3 小于 1 或大于 15 的时候运行中会在错误列表报错，不影响 PLC 运行，会以默认精度运 行（默认精度 1E-4） ；报错信息为：软元件指令范围超出K1-K15。 64 位浮点数的比较，必须以 64位指令来进行。若指定 32指令时，会导致程序出错或运算错误。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 110 4-4-3．并联比较 4-4-3-1. 整型并联比较[OR□,DOR□,QOR□] 1）指令概述 OR□是与其它接点并联的触点比较指令。 并联比较[OR□] 16位指令 下述 32位指令 下述 执行条件 - 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64位指令 下述 执行条件 - 适用机型 XD3E、XL5E、XD5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XL5E、XD5E、 XDME、XLME、XL5N、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持 QOR□。 2）操作数 操作数 作用 类型 S1 指定被比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT S2 指定比较数的数值或软元件地址编号 16/32/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；FD 表示 FD、FS（仅<=和>=时不支持 FS 寄存器） ；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、 HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 16 位指令 32 位指令 64 位指令 导通条件 非导通条件 OR＝ DOR＝ QOR＝ （S1）＝（S2） （S1）≠（S2） OR＞ DOR＞ QOR＞ （S1）＞（S2） （S1）≤（S2） OR＜ DOR＜ QOR＜ （S1）＜（S2） （S1）≥（S2） OR＜＞ DOR＜＞ QOR＜＞ （S1）≠（S2） （S1）＝（S2） OR＜＝ DOR＜＝ QOR＜＝ （S1）≤（S2） （S1）＞（S2） OR＞＝ DOR＞＝ QOR＞＝ （S1）≥（S2） （S1）＜（S2）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 111 OR＝ K100 C0 Y0 DOR＞ K68899D10 M50 M4 X0 X2 S1· S2· QOR＞ K100D20 M100 M8X4 5）注意事项  当源数据的最高位（16 位指令：b15，32位：b31，64位：b63）为1时，将该数值作为负数进行比较。  32 位计数器的比较，必须以 32位指令来进行，不可指定 16位指令形式。  64 位计数器的比较，必须以 64 位指令来进行。若指定 32 指令时，会导致程序出错或运算错误。 6）举例 例 1：到达特定时间禁止输出。下例是当时间到2015 年 6 月 30日之后就禁止所有输出，1234作为密 码，用双字的 HD0（HD1）作为存放密码的寄存器，当密码正确时恢复所有输出。 TRD D0 SM0 D1 K6 D0 K15 HD0 K1234 ( ) SM34 S D0 K15 = ( ) SM34 R D2 K30 D1 K7 D0 K16 HD0 K1234 D D = LD SM0 //SM0位常 ON线圈 TRD D0 //读取时钟信息存入 D0~D6 LD>= D2 K30 //时钟日期大于或等于 30 AND>= D1 K6 //时钟月份大于或等于 6 AND>= D0 K15 //时钟年份大于或等于 15 LD>= D1 K7 //或者时钟月份大于或等于 7 AND>= D0 K15 //时钟年份大于或等于 15 ORB //或者 OR>= D0 K16 //时钟年份大于或等于 16 DAND<> HD0 K1234 //而且当密码不等于 K1234时 SET SM34 //置位 SM34，所有输出禁止 DLD= HD0 K1234 //当密码等于 K1234时，则密码正确 RST SM34 //复位 SM34，恢复所有输出正常工作


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 112 4-4-3-2. 浮点数并联比较[EOR□,EDOR□] 1）指令概述 EOR□是与其它接点并联的触点比较指令。 串联比较[EOR□] 32位指令 下述 64 位指令 下述 执行条件 - 适用机型 XD3E、XD5E、XL5E、XL5N、 XDME、XLME、XL5H、 XDH、 XLH、XG2 固件要求 V3.7.3及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XL5N、XDME、XLME、XL5H） 软件要求 V3.7.16及以上 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 两个操作数时 S1 指定被比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32/64位，BIN；REAL/LREAL 三个操作数时 S1 指定被比较数的数值或软元件地址编号 32位/64位；REAL/LREAL S2 指定比较数的数值或软元件地址编号 32位/64位；REAL/LREAL S3 指定比较时的绝对误差的数值 1*10-S3 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 两个操作数时 S1 ● ● ● ● S2 ● ● ● ● 三个操作数时 S1 ● ● ● ● S2 ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《两个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 EOR＝ EDOR＝ (|S1-S2|)<=绝对误差 (|S1-S2|)>绝对误差 EOR＞ EDOR＞ (S1-S2)>绝对误差 (S1-S2)<=绝对误差 EOR＜ EDOR＜ (S1-S2)<-绝对误差 (S1-S2)>=-绝对误差 EOR＜＞ EDOR＜＞ (|S1-S2|)>绝对误差 (|S1-S2|)<=绝对误差 EOR＜＝ EDOR＜＝ (S1-S2)<=绝对误差 (S1-S2)>绝对误差 EOR＞＝ EDOR＞＝ (S1-S2)>=-绝对误差 (S1-S2)<-绝对误差


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 113 EOR＝ K100 D0 S1· S2· X1 X2 SET M0 EDOR> D100 D10 M10 M11 SET M1  上述两个操作数表格中的“绝对误差”是指比较位数的精度，例如32位浮点比较设定的浮点比较位数 为 2，则它的绝对误差为 0.01。  32 位指令使用“浮点比较位数”作为绝对误差，存储在 SFD9 高八位中；64 位指令“双精度比较位 数”作为绝对误差，存储在 SFD9低八位中。  比较位数可以在软件“PLC 设置”-“浮点数设置”中设置；32 位指令浮点比较位数设置范围为 1-7、 64 位指令双精度比较位数范围是 1-15。点写入后立即生效。  当源数据的最高位（32位指令：b31，64位：b63）为 1 时，将该数值作为负数进行比较。  64 位计数器的比较，必须以 64位指令来进行。若指定 32位指令时，会导致程序出错或运算错误。 《三个操作数时》 32 位指令 64 位指令 导通条件 非导通条件 EOR＝ EDOR＝ (|S1-S2|)<=S3 (|S1-S2|)>S3 EOR＞ EDOR＞ (S1-S2)>S3 (S1-S2)<=S3 EOR＜ EDOR＜ (S1-S2)<-S3 (S1-S2)>=-S3 EOR＜＞ EDOR＜＞ (|S1-S2|)>S3 (|S1-S2|)<=S3 EOR＜＝ EDOR＜＝ (S1-S2)<=S3 (S1-S2)>S3 EOR＞＝ EDOR＞＝ (S1-S2)>=-S3 (S1-S2)<-S3 EOR＝ K100 D0 S1· S2· M14 M15 SET M0 EDOR> D300 D10 M13 SET M3 K5 K5 S3·  操作数 S3范围：32位指令 1-7，64位指令 1-15。  当源数据的最高位（32位：b31，64位：b63）为 1时，将该数值作为负数进行比较。  32 位指令 S3 小于 1或大于 7 的时候运行中会在错误列表报错，不影响PLC运行，会以默认精度运行 （默认精度 1E-2） ；报错信息为：软元件指令范围超出K1-K7。  64 位指令 S3 小于 1 或大于 15 的时候运行中会在错误列表报错，不影响 PLC 运行，会以默认精度运 行（默认精度 1E-4） ；报错信息为：软元件指令范围超出K1-K15。  64 位浮点数的比较，必须以 64位指令来进行。若指定 32指令时，会导致程序出错或运算错误。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 114 4-5．数据传送指令 指令助记符 指令功能 章节 CMP 数据比较 4-5-1 ZCP 数据区间比较 4-5-2 MOV 传送 4-5-3 BMOV 数据块传送 4-5-4 PMOV 数据块传送 4-5-5 FMOV 多点重复传送 4-5-6 EMOV 浮点数传送 4-5-7 FWRT FlashROM的写入 4-5-8 MSET 批次置位 4-5-9 ZRST 批次复位 4-5-10 SWAP 高低字节交换 4-5-11 XCH 两个数据交换 4-5-12


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 115 4-5-1．数据比较[CMP,DCMP,QCMP] 1）指令概述 将指定的两个数据进行大小比较，并输出结果的指令。 数据比较[CMP] 16 位指令 CMP 32位指令 DCMP 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QCMP 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QCMP。 2）操作数 操作数 作用 类型 S1 指定被比较的数据或软元件地址编号 16/32/64位，BIN S 指定比较源的数据或软元件地址编号 16/32/64位，BIN D 指定输出比较结果的软元件地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表 示 C、HC、HSC。 4）功能和动作 CMP D10 D20 M0 S1· X0 M0 M1 M2 D10 > D20 D10 = D20 D10 < D20 时ON 时ON 时ON S· D·  将数据 S1· 与 S· 相比较，根据大小一致输出以 D· 起始的 3点位软元件 ON/OFF状态。  D· ， D· ＋1， D· ＋2 ：根据比较结果位软元件 3 点位软元件 ON/OFF输出。  QCMP指令中操作数的地址必须为偶数。 即使使用 X0=OFF 停止执行 CMP指令时，M0~M2 仍然保持 X0 变为 OFF 以前的状态。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 116 4-5-2．数据区间比较[ZCP,DZCP] 1）指令概述 将一段区域的数据与当前数据进行大小比较，并输出结果的指令。 数据区间比较[ZCP] 16位指令 ZCP 32 位指令 DZCP 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定比较基准下限的数据或软元件地址编号 16/32位，BIN S2 指定比较基准上限的数据或软元件地址编号 16/32位，BIN S 指定当前数据或软元件地址编号 16/32位，BIN D 指定比较结果的数据或软元件地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 ZCP D20 D30 D0 M0 X0 D·S1· S2· S· D20 D20 D0 D0 D30 D0 D30 时ON 时ON 时ON M0 M1 M2  将 S· 数据同上下两点的数据比较范围相比较， D· 根据区域大小输出起始的 3点 ON/OFF状态。  D· ， D· ＋1， D· ＋2 ：根据比较结果的区域位软元件 3点 ON/OFF输出。 即使使用 X0=OFF 停止执行 ZCP指令时，M0~M2 仍然保持 X0 变为 OFF 以前的状态；D20的值必须要小于 D30。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 117 4-5-3．传送[MOV,DMOV,QMOV] 1）指令概述 使指定软元件的数据照原样传送到其他软元件中。 传送[MOV] 16 位指令 MOV 32 位指令 DMOV 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QMOV 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QMOV。 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 16 位/32位/64位，BIN；INT/DINT/LINT D 指定传送的目标软元件地址编号 16 位/32位/64位，BIN；INT/DINT/LINT 3）适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位数据的传送》 MOV K10 D10 X0 S· D· 《32位数据的传送》 DMOV D0 D10 DMOV HSC0 D20 （D1，D0） （D11，D10） （HSC0当前值） （D21，D20） 《64位数据的传送》 QMOV D0 D10X1 （D3,D2,D1,D0） （D13,D12,D11,D10）  将源的内容向目标传送。  X0为 OFF时，数据不变化。  将常数 K10传送到 D10。 运算结果以 32位输出的应用指令（MUL等） 、 32 位数值或 32 位软元件的高速计数器当前值 等数据的传送，必须使用 DMOV指令。 运算结果以 64位输出的应用指令（DMUL 等） ，必须使用QMOV指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 118 《定时器、计数器的当前值读出示例》 《定时器设定值的间接指定示例》 MOV T0 D20 X1 （T0 当前值）→（D20） 关于计数器也一样。 TMR T20 D20 K100 M0 X2 MOV K10 D20 （K10）（D20） D20=K10 注意：QMOV指令中操作数的地址必须为偶数。 4-5-4．数据块传送[BMOV] 1）指令概述 使指定软元件的数据照原样传送到其他软元件中。 数据块传送[BMOV] 16位指令 BMOV 32位指令 - 执行条件 常开/闭、边沿线圈触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 16位，BIN；位 D 指定传送的目标软元件地址编号 16位，BIN；位 n 指定传送点数的数值 16位，BIN 3）适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 字传送 S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 位传送 S ● ● ● ● ● ● D ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  将以源指定的软元件为开头的 n点数据向以目标指定的软元件为开头的 n点软元件以数据块的形式传 送。 （在超过软元件编号范围时，在可能的范围内传送） 。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 119 《字软元件》 《位软元件》 BMOV D5 D10 K3 X0 nS· D· D5 D6 D7 D10 D11 D12 n=3 BMOV Y5 Y10 K3 X0 nS· D· Y5 Y6 Y7 Y10 Y11 Y12 n=3  如下图传送编号范围有重叠时，为了防止输送源数据没传送就改写，根据编号重叠的方法，该指令会 按①~③的顺序进行自动传送。 D10 D11 D12 D9 D10 D11 D10 D11 D12 D11 D12 D13 ① ② ③ ③ ② ① 4-5-5．数据块传送[PMOV] 1）指令概述 将指定软元件的数据照原样传送到其他软元件中。 数据块传送[PMOV] 16位指令 PMOV 32位指令 - 执行条件 常开/常闭/边沿线圈触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 16位，BIN； D 指定传送的目标软元件地址编号 16位，BIN； n 指定传送点数的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● D ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  将以源指定的软元件为开头的 n点数据向以目标指定的软元件为开头的 n点软元件以数据块的形式传 BMOV D10 D11 K3 BMOV D10 D9 K3 X1 X2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 120 送。 （在超过软元件编号范围时，在可能的范围内传送） 。 PMOV D5 D10 K3 X0 nS· D· D5 D6 D7 D10 D11 D12 n=3  PMOV与 BMOV功能基本相同，但完成速度更快。  PMOV指令在一个扫描周期内完成，执行期间关闭所有中断。 4-5-6．多点重复传送[FMOV,DFMOV] 1）指令概述 使指定软元件的数据照原样传送到其他软元件中。 多点传送[FMOV] 16位指令 FMOV 32位指令 DFMOV 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 16位/32位，BIN D 指定传送的目标软元件起始地址编号 16位/32位，BIN n 指定传送点数的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位指令》  将 K0传送至 D0~D9，同一数据的多点传送指令。  将源指定的软元件的内容向以目标指定的软元件为开头的 n 点软元件进行传送，n 点软元件的内容都 一样。  超过目标软元件号的范围时，向可能的范围传送。 FMOV K0 D0 K10 X0 nS· D·


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 121 《32位指令》 DFMOV D0 D10 K3 X0 nS· D·  将 D0、D1中的内容传送到 D10、D11；D12、D13；D14、D15。 《16位数据传送》 《32位数据传送》 K0 D0K0 n D1K0 D2K0 D3K0 D4K0 D5K0 D6K0 D7K0 D8K0 D9K0 D0、D1 D10D0 n D11D1 D12D0 D13D1 D14D0 D15D1


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 122 4-5-7．浮点数传送[EMOV,EDMOV] 1）指令概述 将指定软元件中的浮点数照原样传送到其他软元件中。 浮点数传送[EMOV] 16 位指令 - 32位指令 EMOV 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDMOV 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDMOV。 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 32/64位，BIN；REAL/LREAL D 指定传送的目标软元件起始地址编号 32/64位，BIN；REAL/LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位指令》 EMOV D0 D10X0 S· D·  X0为 ON时，将源的浮点数向目标传送。  X0为 OFF时，D11、D10不变化。 EMOV K500 D10 X0 S· D·  常数 K，H被指定为源数据时，自动转换成二进制浮点值处理。  K500自动二进制浮点化。 《64位指令》 EDMOV D0 D10X0 S· D·  X0为 ON时，将源的浮点数向目标传送。 （D1,D0）→（D11,D10） （K500）→（D11,D10） （D3,D2,D1,D0）→（D13,D12,D11,D10）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 123  X0为 OFF时， D13、D12、D11、D10不变化。 EDMOV K500 D10 X0 S· D·  常数 K，H被指定为源数据时，自动转换成二进制浮点值处理。  K500自动二进制浮点化。  EDMOV指令中操作数的地址必须为偶数。 4-5-8．FlashROM 写入[FWRT,DFWRT,QFWRT] 1）指令概述 使指定软元件的数据照原样传送到 FlashROM寄存器中。 FlashROM 写入[FWRT] 16 位指令 FWRT 32位指令 DFWRT 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QFWRT 执行条件 边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QFWRT。 2）操作数 操作数 作用 类型 S 写入源的数据或保存数据的软元件编号 16位/32位/64位，BIN D 写入的目标软元件编号 16位/32位/64位 D1 写入的目标软元件起始编号 16位/32位/64位 D2 写入的数据个数 16位/32位/64位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 两个操作数 S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● 三个操作数 S ● ● ● ● ● ● ● ● D ● ● D1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 （K500）→（D13,D12,D11,D10）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 124 4）功能和动作 《单字的写入》 D0FWRT FD0 X0 S· D· 将 D0 里面的值写入到 FD0 中。 《双字的写入》 D0DFWRT FD0 X1 S· D· 将 D0、D1 里的值分别写入到 FD0、FD1。 《四字的写入》 D0QFWRT FD0 X0 S· D· 将 D0~D3 里的值写入到 FD0~FD3。 注意：QFWRT指令中操作数的地址必须为偶数。 《多字的写入》 D0FWRT FD0 X2 K3 S· D1· D2· 将 D0~D2 里的值写入到 FD0~FD2。 【注】： ※1：FWRT指令仅允许将数据写入 FlashROM 寄存器。该存储区即使 PLC 断电，也能够记忆数据，因此可以用于存储 重要的工艺参数。 ※2：FWRT的写入需要较长的时间，约 500ms，因此，不建议频繁操作。 ※3：FlashROM 的可写入次数约为 1,000,000 次。因此，建议采用边沿信号（LDP、LDF等）进行触发。 ※4：如果 FlashROM频繁写入会造成 FlashROM 永久性损坏。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 125 4-5-9．批次置位[MSET] 1）指令概述 将指定范围的位软元件进行置位操作。 批次置位[MSET] 16位指令 MSET 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定批次置位的起始软元件地址编号 位 D2 指定批次置位的结束软元件地址编号 位 3）适用软元件 操作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● D2 ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 MSET M10 M120 D1· D2· X0  整体置位元件 M10~M120（即将连续线圈批量置位） 。  D1· 、 D2· 指定为同一种类的软元件，且编号 D1· ＜ D2· 编号。  当编号 D1· ＞ D2· 编号时，不执行批次置位，而置位 SM409，且 SD409=2。 整体置位元件 M10~M120


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 126 4-5-10．批次复位[ZRST] 1）指令概述 将指定范围的位或字软元件进行复位或清零操作。 批次复位[ZRST] 16位指令 ZRST 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定批次复位的起始软元件地址编号 位；16位，BIN D2 指定批次复位的结束软元件地址编号 位；16位，BIN 3）适用软元件 操作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 字软元件 D1 ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● 位软元件 D1 ● ● ● ● ● ● D2 ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DT 表 示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 ZRST M500 M559 D0 D100 D1· D2· D1· D2· X0 ZRST  D1· 、 D2· 指定为同一种类的软元件，且编号 D1· ＜ D2· 编号。  当编号 D1· ＞ D2· 编号时，仅复位中指定的软元件，同时置位 SM409，且 SD409=2。 5）其他复位指令  作为软元件的单独复位指令，对于位元件 Y，M，HM，S，HS，T，HT，C，HC和字元件 TD， HTD，CD，HCD，D，HD可使用 RST指令。  作为常数 K0的成批写入指令 FMOV指令，可以把 0 写入 DX，DY，DM，DS，T(TD)，HT(HTD)， C(CD)，HC(HCD)，D，HD的软元件中。 整体复位位元件 M500~M559 整体复位字元件 D0~D100


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 127 4-5-11．高低字节交换[SWAP] 1）指令概述 将指定寄存器的高 8位字节和低 8 位字节进行交换。 高低字节交换[SWAP] 16位指令 SWAP 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定高低字节交换的软元件地址编号 16位，BIN；INT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 SWAP D10 高8位 D10 低8位 S· X0  该指令的功能是将一个 16位寄存器的低 8位与高 8 位交换。  上例中如果将条件 X0改为常开或常闭线圈触发，当输入X0为 ON时，每个扫描周期都执行一次该指 令，所以建议用上升沿或下降沿触发。 5）举例 例如，寄存器 D10里面原来数值二进制为 0100 1000 0111 0111（十进制为 18551），通过 SWAP指 令执行后二进制数值变为 0111 0111 0100 1000（十进制为 30536）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 128 4-5-12．交换[XCH,DXCH] 1）指令概述 将两个软元件中的数据进行相互交换。 高低字节交换[XCH] 16位指令 XCH 32 位指令 DXCH 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定互换的软元件地址编号 16位/32位，BIN；INT/DINT D2 指定互换的软元件地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位指令》 XCH D10 D11 X0 D1· D2·  目标间的数据相互交换。  上例中如果 X0为常开，当输入X0为 ON时，每个扫描周期都执行一次该指令，所以建议用上升沿或 下降沿触发。 《32位指令》 DXCH D10 D20 X0 D1· D2· 执行前（D10）=100 → 执行后 （D10）=200 （D11）=1 （D11D10）=65636 （D11）=10 （D11D10）=655460 （D20）=200 （D20）=100 （D21）=10 （D21D20）=655460 （D21）=1 （D21D20）=65636  如上例，32 位指令[DXCH]是将 D10、D11 组成的一个双字中的数值与 D20、D21 组成的一个双字中 的数值交换。 执行前（D10）=100 → 执行后（D10）=101 （D11）=101 （D11）=100


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 129 4-6．数据运算指令 指令助记符 指令功能 章节 ADD 加法 4-6-1 SUB 减法 4-6-2 MUL 乘法 4-6-3 DIV 除法 4-6-4 INC 加 1 4-6-5 DEC 减 1 4-6-5 MEAN 求平均值 4-6-6 WAND 逻辑与 4-6-7 WOR 逻辑或 4-6-7 WXOR 逻辑异或 4-6-7 CML 取反 4-6-8 NEG 求负 4-6-9


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 130 4-6-1．加法运算[ADD,DADD,QADD] 1）指令概述 将两个数据进行二进制加法运算，并对结果进行存储的指令。 加法运算[ADD] 16 位指令 ADD 32位指令 DADD 执行条件 常开/常闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QADD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QADD。 2）操作数 操作数 作用 类型 三个操作数时 S1 指定进行加法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT S2 指定进行加法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT D 指定保存加法结果的软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT 两个操作数时 D 指定被加数及保存加法结果的软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT S1 指定加数的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 三个操作数时 S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 两个操作数时 D ● ● ● ● ● ● S1 ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《三个操作数时》 ADD D10 D12 D14 X0 S1· S2· D· （D10）＋（D12）→（D14）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 131  两个源数据进行二进制加法后传递到目标处。各数据的最高位是正（0）、负（1）符号位，这些数据 以代数形式进行加法运算（5+（-8）=-3）。  运算结果为 0 时，0 标志会动作。如运算结果超过 32,767（16 位运算）或 2,147,483,647（32 位运算） 或 9223372036854775807（64位运算）时，进位标志会动作（参照下一页）。如运算结果超过-32,768 （16 位运算）或-2,147,483,648（32 位运算）或-9223372036854775808（64 位运算）时，借位标志会 动作（参照下一页）。  进行 32 位/64 位运算时，字软元件的低 16 位侧的软元件被指定，紧接着上述软元件编号后的软元件 将作为高位，为了防止编号重复，建议将软元件指定为偶数编号。 例如：上面的例子的 32位写法如下图所示，进行 32位运算时，由于第一个加数占用了 D10、D11两 个寄存器，所以第二个加数的地址最少要从D12开始，为避免寄存器被重复占用的情况，建议将软元 件指定为偶数编号。 DADD D10 D12 D14 X0 S1· S2· D·  可以将源操作数和目标操作数指定为相同的软元件编号。上例中驱动输入 X0 为 ON 时，每个扫描周 期的都执行一次加法运算，请务必注意。 《两个操作数时》 ADD D10 D12 X0 S1·D·  两个源数据进行二进制加法后传递到被加数地址处。各数据的最高位是正（0）、负(1)符号位，这些数 据以代数形式进行加法运算（5+（-8）=-3）。  运算结果为 0 时，0 标志会动作。如运算结果超过 32,767（16 位运算）或 2,147,483,647（32 位运算） 或 9223372036854775807（64位运算）时，进位标志会动作（参照“相关软元件”）。如运算结果超 过-32,768（16 位运算）或-2,147,483,648（32 位运算）或-9223372036854775808（64 位运算）时，借 位标志会动作（参照“相关软元件”）。  进行 32/64位运算时，字软元件的低16位侧的软元件被指定，紧接着上述软元件编号后的软元件将作 为高位，为了防止编号重复，建议将软元件指定为偶数编号（相关说明同“三个操作数”）。  注意：QADD指令中操作数的地址必须为偶数。  上例中如果 X0为常开，当输入X0为 ON时，每个扫描周期都执行一次该指令，所以建议用上升沿或 下降沿触发。 ADD D10 D12 D10 X0 S1· S2· D· ADD D10 D12 X0 S1·D· 以上两条指令是等价的。 5）相关软元件 标志位的动作及数值涵义 软元件 名称 作用 SM20 零 ON：运算结果为 0时。 OFF：运算结果为 0 以外时。 SM21 借位 ON：运算结果超出-32,768（16 位运算）或是-2,147,483,648（32 位运算）或是- 9,223,372,036,854,775,808（64位运算）时，借位标志位动作。 OFF：运算结果不到-32,768（16 位运算）或是-2,147,483,648（32 位运算）或是-- （D11，D10）＋（D13，D12）→（D15，D14） （D10）＋（D12）→（D10）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 132 软元件 名称 作用 9,223,372,036,854,775,808（64位运算）时。 SM22 进位 ON：运算结果超出 32,767（16 位运算）或是 2,147,483,647（32 位运算）或是 9,223,372,036,854,775,807时，进位标志位动作。 OFF：运算结果不到 32,767（16 位运算）或是 2,147,483,647（32 位运算）或是 9,223,372,036,854,775,807时。 4-6-2．减法运算[SUB,DSUB,QSUB] 1）指令概述 将两个数据进行二进制减法运算，并对结果进行存储。 减法运算[SUB] 16 位指令 SUB 32位指令 DSUB 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QSUB 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QSUB。 2）操作数 操作数 作用 类型 三个操作数时 S1 指定进行减法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT S2 指定进行减法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT D 指定保存减法结果的软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT 两个操作数时 D 指定被减数及保存减法结果的软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT S1 指定减数的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m 三个操作数时 S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 两个操作数时 D ● ● ● ● ● ● S1 ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 133 4）功能和动作 《三个操作数时》 SUB D10 D12 D14 X0 S1· S2· D·  S1· 指定的软元件的内容，以代数形式减去 S2· 指定的软元件的内容，其结果被存入由 D· 指定的软元件 中 (5-(-8)=13) 。  各种标志的动作、32位/64位运算软元件的指定方法等，均与上页的 ADD指令相同。  要注意的是，上例中驱动输入 X0为 ON时，每个扫描周期都执行一次减法运算。  标志位的动作及作用参阅 4-6-1 相关内容。 《两个操作数时》 SUB D10 D12 X0 S1·D·  D· 指定的软元件的内容，以代数形式减去 S1· 指定的软元件的内容，其结果被存入由 D· 指定的软元件 中（5-(-8)=13）。  各种标志的动作、32位/64位运算软元件的指定方法等，均与上页的 ADD指令相同。  上例中如果 X0为常开，当输入X0为 ON时，每个扫描周期都执行一次该指令，所以建议用上升沿或 下降沿触发。  标志位的动作及作用参阅 4-6-1 相关内容。标志的动作与数值的正负关系如下所示： -2、-1、0、-32,768 -2、-1、0、-2,147,483,648 21、0、2,147,483,647、 21、0、32,767、-1、 0、 1 -1、 0、 1 零标志 数据最上位 的位为1 数据最上位 的位为0 零标志零标志 零标志零标志 借位标志 进位标志 零标志借位标志 进位标志 -2、-1、0、-9，223，372，036，854，775，808 21、0、9,223,372,036,854,775,807-1、 0、 1 数据最上位 的位为1 数据最上位 的位为0 零标志零标志 零标志借位标志 进位标志 【注】 ：QSUB 指令中操作数的地址必须为偶数。 （D10）—（D12）→（D14） （D10）—（D12）→（D10）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 134 4-6-3．乘法运算[MUL,DMUL,QMUL] 1）指令概述 将两个数据进行二进制乘法运算，并对结果进行存储。 乘法运算[MUL] 16 位指令 MUL 32位指令 DMUL 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QMUL 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QMUL。 2）操作数 操作数 作用 类型 S1 指定进行乘法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT S2 指定进行乘法运算的数据或软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT D 指定保存乘法结果的软元件地址编号 32位/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位运算》 MUL D0 D2 D4 X0 S1· S2· D·  各源指定的软元件内容的乘积，以32位数据形式存入目标地址指定的软元件（低位）和紧接其后的软 元件（高位）中。上图示例：（D0）=8、（D2）=9时，（D5，D4）=72。  结果的最高位是正（0）、负（1）符号位。  要注意的是，上例中驱动输入 X0为 ON时，每个扫描周期都执行一次乘法运算。 BIN BIN BIN （D0） × （D2） → （D5，D4） 16 位 16 位 → 32 位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 135 《32位运算》 X1 DMUL D0 D2 D4 S1· S2· D·  在 32位运算中，目标地址使用位软元件时，得到 64位的结果（占用连续四个寄存器，注意请勿重复 使用）。  在使用字元件时，也不能直接监视到 64位数据的运算结果；这种情况下建议最好使用浮点运算。 《64位运算》 X1 QMUL D0 D4 D8 S1· S2· D·  在 64位运算中，目标地址使用位软元件时，得到64位的结果（占用连续 4个寄存器，注意请勿重复 使用）。在使用字元件时，也不能直接监视到64位数据的运算结果；这种情况下建议最好使用浮点运 算。 【注】 ：QMUL指令中操作数的地址必须为偶数。 BIN BIN BIN （D1，D0）×（D3，D2） → （D7，D6，D5，D4） 32 位 32 位 → 64 位 BIN BIN BIN （D3,D2,D1,D0）×（D7,D6,D5,D4） → （D11,D10,D9,D8） 64 位 64 位 → 64 位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 136 4-6-4．除法运算[DIV,DDIV,QDIV] 1）指令概述 将两个数据进行二进制除法运算，并对结果进行存储。 除法运算[DIV] 16 位指令 DIV 32位指令 DDIV 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QDIV 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QDIV。 2）操作数 操作数 作用 类型 S1 指定进行除法运算的数据或软元件地址编号 16位/32位/64位，BIN S2 指定进行除法运算的数据或软元件地址编号 16位/32位/64位，BIN D 指定保存除法结果的软元件地址编号 16位/32位/64位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位运算》 DIV D0 D2 D4 X0 S1· S2· D·  S1· 指定软元件的内容是被除数， S2· 指定软元件的内容是除数， D· 指定的软元件和其下一个编号的软 元件将存入商和余数。  要注意的是，上例中驱动输入 X0为 ON时，每个扫描周期都执行一次除法运算。 被除数 除数 商 余数 BIN BIN BIN BIN （D0）÷（D2）→（D4）┅ （D5） 16 位 16 位 16 位 16 位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 137 《32位运算》 DDIV D0 D2 D4 X1 S1· S2· D·  被除数内容是由 S1· 指定软元件和其下一个编号的软元件组合而成，除数内容是由 S2· 指定的软元件和 其下一个编号的软元件组合而成，其商和余数如上图所示，存入与 D· 指定软元件相连接的 4 点软元 件。  除数为 0 时发生运算错误，不能执行指令。  商和余数的最高位为正（0）、负（1）的符号位。当被除数或除数中的一方为负数时，商则为负，当 被除数为负时余数则为负。 《64位运算》 X1 QDIV D0 D4 D8 S1· S2· D·  被除数内容是由 S1· 指定软元件和其下一个编号的软元件组合而成，除数内容是由 S2· 指定的软元件和 其下一个编号的软元件组合而成，其商和余数如上图所示，存入与 D· 指定软元件相连接的 4 点软元 件。  除数为 0 时发生运算错误，不能执行指令。  商和余数的最高位为正（0）、负（1）的符号位。当被除数或除数中的一方为负数时，商则为负，当 被除数为负时余数则为负。 【注】 ：QDIV 指令中操作数的地址必须为偶数。 被除数 除数 商 余数 BIN BIN BIN BIN （D1,D0）÷（D3,D2）→（D5,D4）┅ (D7,D6) 32 位 32 位 32位 32 位 被除数 除数 商 余数 BIN BIN BIN BIN （D3,D2,D1,D0）÷（D7,D6,D5,D4）→（D11,D10,D9,D8）┅ (D15,D14,D13,D12) 64 位 64 位 64 位 64 位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 138 4-6-5．自加1[INC,DINC,QINC]、自减 1[DEC,DDEC,QDEC] 1）指令概述 将指定软元件中的数据进行加 1/减 1运算。 自加1[INC] 16 位指令 INC 32位指令 DINC 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QINC 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 自减1[DEC] 16 位指令 DEC 32位指令 DDEC 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 QDEC 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 QINC、QDEC。 2）操作数 操作数 作用 类型 D 指定进行自加 1/减 1运算的软元件地址编号 16位/32位/64位，BIN；INT/DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《自加 1运算》 INC D0 X0 D·  X0每置 ON一次， D· 指定的软元件的内容就加 1。 （D0）＋1→（D0）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 139  16 位运算时，如果+32,767 加 1 则变为-32,768，标志位动作；32 位运算时，如果+2,147,483,647 加 1 则变为 -2,147,483,648，标志位动作； 64 位运算时，如果 +9223372036854775807 加 1 则变为 - 9223372036854775808，标志位动作。 《自减 1运算》 DEC D0 X1 D·  X1每置 ON一次， D· 指定的软元件的内容就减 1。  -32,768 或-2,147,483,648 减 1，则为 +32,767 或+2,147,483,647，标志位动作 ; 64 位运算时，如果 - 9223372036854775808减 1，则为+9223372036854775807，标志位动作。  QINC、QDEC指令中操作数的地址必须为偶数。 【注】 ：边沿指令触发时，每触发一次执行一次自加自减运算；如果是常开/常闭触发，则导通后每个扫描周期都 会执行一次自加自减运算。 4-6-6．求平均值[MEAN,DMEAN] 1）指令概述 将指定数据或软元件进行求平均值运算。 求平均值[MEAN] 16位指令 MEAN 32 位指令 DMEAN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 16/32位，BIN D 指定存储平均值结果的软元件地址编号 16/32位，BIN n 指定源数据个数的数值 16/32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 MEAN D0 D10 K3 S· D· X0 n (D0) + + 3 (D10) (D1) (D2)  将 n 点的源数据的平均值（代数和被 n 除）存入目标地址中，余数舍去。  取 n 值时要注意，范围不要超过可用软元件编号，否则会发生运算错误。 （D0）－1 →（D0）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 140 4-6-7．逻辑与[WAND,DWAND]、逻辑或[WOR,DWOR]、逻辑异或[WXOR,DWXOR] 1）指令概述 将指定数据或软元件的各位进行逻辑与/逻辑或/逻辑异或运算。 逻辑与[WAND] 16位指令 WAND 32位指令 DW AND 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 逻辑或[WOR] 16位指令 WOR 32位指令 DWOR 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 逻辑异或[WXOR] 16位指令 WXOR 32位指令 DWXOR 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定进行运算的数据或软元件地址编号 16位/32位，BIN；INT/DINT S2 指定进行运算的数据或软元件地址编号 16位/32位，BIN；INT/DINT D 指定保存运算结果的软元件地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m WAND 指令 S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● ● ● WOR 指令 S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● WXOR 指令 S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《逻辑与运算》 WAND D10 D12 D14 D· X0 S1· S2· 0&0=0 0&1=0 1&0=0 1&1=1


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 141 《逻辑或运算》 WOR D10 D12 D14 D· X0 S1· S2· 《逻辑异或运算》 WXOR D10 D12 D14 D· X0 S1· S2· 如果将这个指令与 CML组合使用，也能进行异或非逻辑（XOR NOT）运算。 WXOR D10 D12 D14 D· X0 S1· S2· CML D14 D14 5）举例 例 1： （1）将 X0~X17组成的 16位数据，存放在寄存器 D0中。 MOV DX0 D0 M0 （2）将 X0、X1、X2、X3的状态，以 8421码形式存放在寄存器 D0中。 WAND DX0 H0F D0 M0 例 2：将 D0的低 8位和 D2的低 8位结合组成一个字。 WAND D0 H0FF D10 X0 WAND D2 H0FF D12 SWAP D12 WOR D10 D12 D20 LDP X0 WAND D0 H0FF D10 WAND D2 H0FF D12 SWAP D12 WOR D10 D12 D20 0 or 0=0 0 or 1=1 1 or 0=1 1 or 1=1 0 xor 0=0 0 xor 1=1 1 xor 0=1 1 xor 1=0 //输入 X0的上升沿 //逻辑与，取 D0的低 8 位数据，存放于 D10 //逻辑与，取 D2的低 8 位数据，存放于 D12 //D12的高 8位和低 8位数据交换 //D10的低 8位和 D12的高 8位组合成 16位数据，存放于 D20。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 142 4-6-8．逻辑取反[CML,DCML] 1）指令概述 将指定数据或软元件中的数据进行反相传送的指令。 取反[CML] 16位指令 CML 32 位指令 DCML 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据值或软元件地址编号 16位/32位，BIN；INT/DINT D 指定保存结果的软元件地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 D0 Y17 Y7 Y6 Y5 Y4 符号位 （0=正数，1=负数）  将源数据的各位反相（1→0，0→1）后，传送到目标地址。在源数据中使用常数K的话，能自动地转 换成二进制。  该指令适用于需要可编程控制器以逻辑反相输出的场合。 《反相输入的读取》 M0 M1 M2 M3 M17 CML DX0 DM0 SM0 X0 X1 X2 X3 X17  上面的顺控程序可以用下面的 CML指令表示。 CML D0 DY0 S· D· M0 ↑


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 143 4-6-9．求负[NEG,DNEG] 1）指令概述 将指定软元件中的数据进行求负运算。 求负[NEG] 16位指令 NEG 32位指令 DNEG 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D 指定源数据的软元件地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 NEG D10 (D10) +1 (D10) M0 D·  将 指定软元件的内容中各位先取反（1→0，0→1），然后再加 1，将其结果再存入原先的软元件 中。  上述动作，假设 D10 起始数据为 20，M0 一次上升沿后，D10 的值转变为-20；当 M0 再一次上升沿 后，D10的值变为 20。 下面的两条语句，执行的效果是一样的。 NEG D10 M0 SUB K0 D10 D10 M0 D·


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 144 4-7．数据移位指令 指令助记符 指令功能 章节 SHL 算术左移 4-7-1 SHR 算术右移 4-7-1 LSL 逻辑左移 4-7-2 LSR 逻辑右移 4-7-2 ROL 循环左移 4-7-3 ROR 循环右移 4-7-3 SFTL 位左移 4-7-4 SFTR 位右移 4-7-5 WSFL 字左移 4-7-6 WSFR 字右移 4-7-7


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 145 4-7-1．算术左移[SHL,DSHL]、算术右移[SHR,DSHR] 1）指令表现形式 指令 名称 LD 表现 ST 表现 SHL，DSHL 算术左移 SHL D0 K4 OUT_V AR3:=SHL(IN_V AR1,IN_V AR2); SHR，DSHR 算术右移 SHR D0 K4 OUT_V AR3:=SHR(IN_V AR1,IN_V AR2); 2）指令概述 将指定软元件中的数据进行算术左移/算术右移的指令。 算术左移[SHL] 16位指令 SHL 32位指令 DSHL 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 算术右移[SHR] 16位指令 SHR 32位指令 DSHR 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 D/IN_V AR1 指定源数据 16 位/32位，BIN； INT/DINT BYTE/WORD/DWORD/LWORD/SINT/USINT/I NT/UINT/DINT/UDINT/LINT/ULINT n/IN_V AR2 指定算术左移 /右移 的次数 16 位，BIN；INT BYTE/WORD/DWORD/LWORD/SINT/USINT/ INT/UINT/DINT/UDINT/LINT/ULINT OUT_V AR3 运算结果的返回值 BYTE/WORD/DWORD/LWORD/SINT/USINT/I NT/UINT/DINT/UDINT/LINT/ULINT 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● IN_V AR2 ● ● ● OUT_V AR3 ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 5）功能和动作  执行 SHL指令一次之后，下位补 0，最终位被存入进位标志中。  执行 SHR指令一次之后，上位同移动前的最高位，最终位被存入进位标志中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 146 《算术左移》 《算术右移》 SHL D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 SM22 1 SM22 上位 下位左移 上位 下位 实行一次后 M0 n位 SHR D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 SM22 0SM22 上位 下位右移 上位 下位 实行一次后 M1 n位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 147 4-7-2．逻辑左移[LSL,DLSL]、逻辑右移[LSR,DLSR] 1）指令概述 将指定软元件中的数据进行逻辑左移、逻辑右移的指令。 逻辑左移[LSL] 16位指令 LSL 32 位指令 DLSL 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 逻辑右移[LSR] 16位指令 LSR 32 位指令 DLSR 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D 指定源数据的软元件地址编号 16位/32位，BIN；INT/DINT n 指定逻辑左移/逻辑右移的次数 16位，BIN；INT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  执行 LSL指令一次之后，下位补 0，最终位被存入进位标志中。  LSL指令的意义和使用与 SHL相同。  执行 LSR指令一次之后，上位补 0，最终位被存入进位标志中。  LSR与 SHR有所区别，前者在移位时，上位补 0；而后者在移位时，上位也参与移位。 《逻辑左移》 《逻辑右移》 LSL D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 SM22 1 SM22 ※ ※ 上位 下位左移 上位 下位 实行一次后 M0 n位 LSR D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 SM22 0SM22 ※ ※ 上位 下位右移 上位 下位 实行一次后 M1 n位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 148 4-7-3．循环左移[ROL,DROL]、循环右移[ROR,DROR] 1）指令表现形式 指令 名称 LD 表现 ST 表现 ROL，DROL 循环左移 ROL D0 K4 OUT_V AR3:=ROL(IN_V AR1,IN_V AR2); ROR，DROR 循环右移 ROR D0 K4 OUT_V AR3:=ROR(IN_V AR1,IN_V AR2); 2）指令概述 使 16位或 32 位数据的各位信息循环左移/循环右移的指令。 循环左移[ROL] 16位指令 ROL 32位指令 DROL 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 循环右移[ROR] 16位指令 ROR 32位指令 DROR 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 D/IN_V AR1 指定源数据 16 位/32位，BIN； INT/DINT BYTE/WORD/DWORD/LWORD/SINT/USI NT/INT/UINT/DINT/UDINT/LINT/ULINT n/IN_V AR2 指定循环左移 /右移的 次数 16 位，BIN；INT BYTE/WORD/DWORD/LWORD/SINT/USI NT/INT/UINT/DINT/UDINT/LINT/ULINT OUT_V AR3 运算结果的返回值 BYTE/WORD/DWORD/LWORD/SINT/USI NT/INT/UINT/DINT/UDINT/LINT/ULINT 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● IN_V AR2 ● ● ● OUT_V AR3 ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 5）功能和动作  每一次 X0从 OFF→ON 变化一次时，则进行 n位循环左移或右移，最终位被存入进位标志中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 149 《循环左移》 《循环右移》 ROL D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 SM22 1 SM22 上位 下位左循环 上位 下位 实行一次后 X0 n位 ROR D0 K4 D. n 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 SM22 0SM22 上位 下位右循环 上位 下位 实行一次后 X0 n位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 150 4-7-4．位左移[SFTL] 1）指令概述 将指定软元件中的数据进行位左移的指令。 位左移[SFTL] 16位指令 SFTL 32位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 位 D 指定目标软元件的首地址编号 位 n1 指定目标元件的个数（不超过 1024） 16位，BIN n2 指定位左移每次移动的位数（不超过 1024） 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● D ● ● ● ● ● ● n1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● n2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  对于 n1位（移动软元件的长度）的位元件进行n2的左移动的指令。 （指令执行时执行 n2位的移位） 。  驱动输入 X0由 OFF→ON 变化时，执行 n2位移位。  n2 为 K1时，每执行一次移位指令，目标软元件左移 1位。 SFTL X0 M0 K16 K4 n1 n2 n2位左移 X0 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 X3 X2 X1 X0 S· D· ① X 3~X 0→M3~M0 ② M 3~M 0→M7~M4 ③ M 7~M 4→M11~M8 ④ M11~M 8→M15~M 12 ⑤ M15~M12→溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 151 4-7-5．位右移[SFTR] 1）指令概述 将指定软元件中的数据进行位右移的指令。 位左移[SFTR] 16位指令 SFTR 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 位 D 指定目标软元件的首地址编号 位 n1 指定目标元件的个数（不超过 1024） 16位，BIN n2 指定位右移每次移动的位数（不超过 1024） 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● D ● ● ● ● ● ● n1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● n2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  对于 n1位（移动寄存器的长度）的位元件进行n2的右移动的指令。 （指令执行时执行 n2位的移位） 。  驱动输入 X0由 OFF→ON 变化时，执行 n2位移位。  n2 为 K1时，每执行一次移位指令，目标软元件右移 1位。 SFTR X0 M 0 K16 K4 n1 n2 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 X3 X2 X1 X0 n2位右移 X0 S· D· ① X3~X 0→M15~M12 ② M15~M12→M11~M8 ③ M11~M 8→M7~M4 ④ M7~M4→M3~M0 ⑤ M3~M0→溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 152 n2字左移 4-7-6．字左移[WSFL] 1）指令概述 将指定软元件中的数据进行字左移的指令。 字左移[WSFL] 16位指令 WSFL 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 16位，BIN D 指定目标软元件的首地址编号 16位，BIN n1 指定目标软元件的个数（不超过 512） 16位，BIN n2 指定每次左移的字个数（不超过 512） 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● D ● ● ● ● ● ● n1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● n2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  以字为单位，对 n1个字的字软元件进行 n2个字的左移的指令。  驱动输入 X0从 OFF→ON 时就执行一次 n2个字的移动。 WSFL D0 D1 0 K16 K4 n1 n2 X0 D3 D2 D1 D0 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 D15 D14 D13 D12 D11 D10 S· D·  上例中，D10~D25（共 16 个寄存器）用于接收从 D0~D3 传送过来的数值，每次 X0 上升沿来时，将 D0~D3 的数值传送到 D10~D13，原 D10~D13 的数值左移到 D14~D17，原 D14~D17 的数值左移到 D18~D21，……依次类推，原 D22~D25的数值溢出。 ① D 3~D 0→D13~D10 ② D13~D10→D17~D14 ③ D17~D14→D21~D18 ④ D21~D18→D25~D22 ⑤ D25~D22→溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 153 n2字右移 4-7-7．字右移[WSFR] 1）指令概述 将指定软元件中的数据进行字右移的指令。 字右移[WSFR] 16位指令 WSFR 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 16位，BIN D 指定目标软元件的首地址编号 16位，BIN n1 指定目标软元件的个数（不超过 512） 16位，BIN n2 指定每次右移的字个数（不超过 512） 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  以字为单位，对 n1个字的字软元件进行 n2个字的右移的指令。  驱动输入 X0从 OFF→ON 时就执行一次 n2个字的移动。 WSFR D0 D 10 K16 K4 n1 n2 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 D15 D14 D13 D12 D11 D10 D3 D2 D1 D0 X0 D·S·  上例中，D10~D25（共 16 个寄存器）用于接收从 D0~D3 传送过来的数值，每次 X0 上升沿来时，将 D0~D3 的数值传送到 D22~D25，原 D22~D25 的数值右移到 D18~D21，原 D18~D21 的数值右移到 D14~D17，……依次类推，原 D13~D10的数值溢出。 ① D 3~D 0→D25~D22 ② D25~D22→D21~D18 ③ D21~D18→D17~D14 ④ D17~D14→D13~D10 ⑤ D13~D10→溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 154 4-8．数据转换指令 指令助记符 指令功能 章节 WTD 单字整数转双字整数 4-8-1 DWTD 32 位整数转 64位整数 4-8-1 BDWTD 32 位整数转 64位整数批次转换 4-8-2 FLT 16 位整数转单精度浮点 4-8-3 DFLT 32 位整数转单精度浮点 4-8-3 FLTD 64 位整数转单精度浮点 4-8-3 DFLTD 32 位整数转双精度浮点 4-8-4 QFLTD 64 位整数转双精度浮点 4-8-4 INT 单精度浮点数转整数 4-8-5 DINTD 双精度浮点转 32位整数 4-8-6 QINTD 双精度浮点转 64 位整数 4-8-6 ECON 单精度浮点转双精度浮点 4-8-7 BECON 单精度浮点转双精度浮点批次转换 4-8-8 BIN BCD转二进制 4-8-9 BCD 二进制转 BCD 4-8-10 ASCI 十六进制转 ASCII 4-8-11 HEX ASCII转十六进制 4-8-12 DECO 译码 4-8-13 ENCO 高位编码 4-8-14 ENCOL 低位编码 4-8-15 GRY 二进制数转格雷码 4-8-16 GBIN 格雷码转二进制 4-8-17


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 155 4-8-1．单字整数转双字整数[WTD,DWTD] 1）指令概述 将指定软元件中的数据进行单字转双字操作的指令。 单字整数转双字整数[WTD] 16 位指令 WTD 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 32 位指令 DWTD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 DWTD。 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 16位/32位，BIN；INT/DINT D 指定目标软元件的首地址编号 32位/64位，BIN；DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位指令》 WTD D0 D10 X0 S· D· 16位0或1 D0 高位 D10 低位 D11  当单字 D0是正整数时，执行该指令后，双字 D10的高 16位补 0。  当单字 D0是负整数时，执行该指令后，双字 D10的高 16位补 1。  值得注意的是，这里的高位补 0或 1，均是指二进制数。 （D0）→（D11，D10） 单字整数 双字整数


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 156 《32位指令》 DWTD D0 D10 X0 S· D· 32位0或1 （D1,D0） 高位 D11,D10 低位 D13,D12  当单字 D0是正整数时，执行该指令后，四字 D10的高 32位补 0。  当单字 D0是负整数时，执行该指令后，四字 D10的高 32位补 1。  值得注意的是，这里的高位补 0或 1，均是指二进制数。 4-8-2．32 位整数转 64 位整数批次转换[BDWTD] 1）指令概述 将一连串 32位整数转换为一连串 64位整数。 数据块传送[BDWTD] 32位指令 BDWTD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 32位，BIN D 指定传送的目标软元件地址编号 64位，BIN N 指定传送点数的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● n ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  将以源指定的软元件为开头的 n点数据向以目标指定的软元件为开头的 n点软元件以数据块的形式转 换送。 （在超过软元件编号范围时，在可能的范围内转换） 。 （D1,D0）→（D13,D12,D11,D10） 双字整数 四字整数


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 157 BDWTD D0 D10 K3 X0 nS· D· D1,D0 D3,D2 D5,D4 D13,D12,D11,D10 D17,D16,D15,D14 D21,D20,D19,D18 n=3 双字整数 四字整数  如下图传送编号范围有重叠时，为了防止输送源数据没转换就改写，根据编号重叠的方法，该指令会 按①~③的顺序进行自动传送。 BDWTD D0 D2 K3 X1 D1,D0 D3,D2 D5,D4 D5,D4,D3,D2 D9,D8,D7,D6 D13,D12,D11,D10 【注】：BDWTD 指令中四字整数寄存器的地址必须为偶数。 4-8-3．整数转单精度浮点数[FLT,DFLT,FLTD] 1）指令概述 将指定数据或软元件中的整数转换为浮点数的指令。 16 位整数转浮点数[FLT] 16位指令 FLT 32 位指令 DFLT 64位指令 FLTD 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 16位/32位/64位，BIN；INT/DINT/LINT D 指定目标软元件的首地址编号 32位，BIN；REAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位指令》 《32位指令》 DFLT D10 D12 S· D· X0 （D10）→ (D13,D12) BIN 整数 二进制浮点值 （D11,D10）→（D13,D12） BIN 整数 二进制浮点值 FLT D10 D12 S· D· X0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 158 《64位指令》 FLTD D10 D14 S· D· X0  二进制整数值与二进制浮点值间的转换指令。常数K、H 在各浮点运算指令中被自动转换，可以不用 FLT指令。  这个指令的逆变换指令是 INT。  FLTD指令是将 64位整数转换为 32位浮点数。 （注意：64位整数的地址必须为偶数）  FLTD指令的 S操作数不支持常数 K/H类型。 注意：在使用 EADD、ESUB、EMUL、EDIV、EMOV以及 ECMP等浮点数运算指令前，请务必保 证运算参数全部为浮点数！ FLT D0 D10 X0 初始设 D0的值为整数 20，执行指令后，D10的值为浮点数 20。在自由监控中添加 D10，选择浮点类 型，可以正确的监控到 D10的值。自由监控数据如下： 上图所示，D0为整数 20，D10为浮点数 20，当 D10选择双字类型监控时，数据显示不是20。这是因 为整数和浮点数在底层存放格式不一样，所以监控浮点数时应该用自由监控，选择浮点类型监控，才能查 看到正确的数据。 （D13,D12,D11,D10）→（D15,D14） BIN 整数 二进制浮点值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 159 4-8-4．整数转双精度浮点数[DFLTD,QFLTD] 1）指令概述 将指定数据或软元件中的整数转换为双精度浮点数的指令。 整数转双精度浮点数[DFLTD] 32位指令 DFLTD 64 位指令 QFLTD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 32/64位，BIN；DINT/LINT D 指定目标软元件的首地址编号 64位，BIN；LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位指令》 DFLTD D10 D12 S· D· X0 《64位指令》 QFLTD D10 D14 S· D· X0  二进制整数值与二进制浮点值间的转换指令。常数K、H 在各浮点运算指令中被自动转换，可以不用 FLT指令。  这个指令的逆变换指令是 DINTD/QINTD。  QFLTD指令是将 64 位整数转换为 64位浮点数。 （注意：QFLTD指令中操作数的地址必须为偶数）  QFLTD指令的 S操作数不支持常数 K/H类型。 （D11,D10,）→（D15,D14,D13,D12） BIN 整数 二进制浮点值 （D13,D12,D11,D10）→（D17,D16,D15,D14） BIN 整数 二进制浮点值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 160 4-8-5．单精度浮点转整数[INT,DINT] 1）指令概述 将指定软元件中的浮点数转换为整数的指令。 浮点转整数[INT] 16位指令 INT 32 位指令 DINT 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 32 位，BIN；REAL D 指定目标软元件的首地址编号 16 位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《16位指令》 INT D10 D20 S· D· X0 《32位指令》  将源数据地址内的二进制浮点值转换为 BIN整数，存入目标地址中。此时，对小数部分进行四舍五入 后所得的值。  此指令为 FLT指令的逆变换。  运算结果为 0时，标志位为 ON。  运算结果超出过以下范围而发生溢出时，进位标志位 ON。 16 位运算时：-32,768~32,767；32位运算时：-2,147,483,648~2,147,483,647 INT D0 D10 X0 假设 D0中的浮点数为 130.2，执行 INT指令后，得到整数 130存放于 D10中，如下图所示： DINT D10 D20 S· D· X0 （D11,D10）→ (D20) 二进制浮点 BIN 整数 小数部分进行四舍五入处理 （D11,D10）→ (D20,D21) 二进制浮点 BIN 整数 小数部分进行四舍五入处理


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 161 4-8-6．双精度浮点转整数[DINTD,QINTD] 1）指令概述 将指定软元件中的双精度浮点数转换为整数的指令。 浮点转整数[DINTD] 32位指令 DINTD 64 位指令 QINTD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上 （XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 S 指定源数据的软元件首地址编号 64 位，BIN；LREAL D 指定目标软元件的首地址编号 32/64位，BIN；DINT/LINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位指令》 DINTD D10 D20 S· D· X0 《64位指令》 QINTD D10 D20 S· D· X0  将源数据地址内的二进制浮点值转换为 BIN整数，存入目标地址中。此时，对小数部分进行四舍五入 后所得的值。  此指令为 DFLTD/QFLTD指令的逆变换。  64 位指令时，寄存器地址编号必须为偶数。  运算结果为 0时，标志位为 ON。  运算结果超出过以下范围而发生溢出时，进位标志位 ON。 64 位运算时：-9223372036854775808~9223372036854775807。 （D13,D12,D11,D10） → (D21,D20) 二进制浮点 BIN整数 小数部分进行四舍五入处理 （D13,D12,D11,D10）→ (D23,D22,D21,D20) 二进制浮点 BIN整数 小数部分进行四舍五入处理


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 162 4-8-7．单精度浮点转双精度浮点[ECON] 1）指令概述 将指定软元件中的单精度浮点数转换成双精度浮点数的指令。 单精度浮点转双精度浮点[ECON] 32位指令 ECON 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 32位，BIN；REAL D 指定目标软元件的首地址编号 64位，BIN；LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 ECON D0 D10 X0 S· D·  X0导通时，将源数据地址内的单精度浮点值转换为双精度浮点数，存入目标地址中。  双精度浮点数的寄存器首地址必须为偶数。 （D1,D0）→（D13,D12,D11,D10） 单精度浮点 双精度浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 163 4-8-8．单精度浮点转双精度浮点批次转换[BECON] 1）指令概述 将一连串 32位浮点数转换为一连串 64位浮点数。 数据块传送[BECON] 32位指令 BECON 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、 XLH、XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上（XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持。 2）操作数 操作数 作用 类型 S 指定传送源的数据或保存数据的软元件编号 32位，BIN D 指定传送的目标软元件地址编号 64位，BIN N 指定传送点数的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  将以源指定的软元件为开头的 n点数据向以目标指定的软元件为开头的 n点软元件以数据块的形式转 换送。 （在超过软元件编号范围时，在可能的范围内转换） 。 BECON D0 D10 K3 X0 nS· D· D1,D0 D3,D2 D5,D4 D13,D12,D11,D10 D17,D16,D15,D14 D21,D20,D19,D18 n=3 单精度浮点 双精度浮点  如下图传送编号范围有重叠时，为了防止输送源数据没转换就改写，根据编号重叠的方法，该指令会 按①~③的顺序进行自动传送。 BECON D0 D2 K3 X1 D1,D0 D3,D2 D5,D4 D5,D4,D3,D2 D9,D8,D7,D6 D13,D12,D11,D10 【注】：双精度浮点的寄存器首地址必须为偶数。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 164 4-8-9．BCD 转二进制[BIN] 1）指令概述 将指定软元件中的 BCD码转换为二进制数的指令。 BCD 转二进制[BIN] 16位指令 BIN 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 BCD码；INT D 指定目标软元件的首地址编号 16位，BIN；INT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 BIN D10 D0 S· D· X0  可编程控制器获取 BCD 数字开关的设定值时使用。源数据不是 BCD 码时，会置位 SM409（运算错 误） 、SD409=4（错误发生） 。  因为常数 K自动地转换二进制，所以不成为这个指令适用软件元件。  例如，PLC 读取外部时钟信息，并将其存放在 HD0~HD6 中，存储形式为 BCD 码信息，但是我们都 习惯使用十进制数值，因此可以通过 BIN指令将需要的时间信息由 BCD码信息转化为二进制： BIN HD0 D0SM0 BIN HD1 D1 HD0：时钟秒：0~59 BIN HD2 D2 BIN HD3 D3 BIN HD4 D4 HD1：时钟分钟：0~59 HD2：时钟小时：0~23 HD3：时钟日：1~31 HD4：时钟月：1~12 BIN HD5 D5 HD5：时钟年：00~99 BIN HD6 D6 HD6：时钟星期：1~7 运行常 ON线圈 源（BCD）→目标（BIN）的转换传送。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 165 4-8-10．二进制转BCD [BCD] 1）指令概述 将指定软元件中的二进制数转换为 BCD码的指令。 二进制转BCD [BCD] 16位指令 BCD 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 16位，BIN；INT D 指定目标软元件的首地址编号 BCD码；INT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 BCD D10 D0 S· D· X0  将可编程控制器内的二进制数据转变为 BCD码格式的数据。  BCD是用 4 位二进制数来表示 1位十进制数中的 0~9这 10个的方法。 源(BIN)→目标(BCD) 的转换传送。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 166 4-8-11．十六进制转ASCII [ASCI] 1）指令概述 将指定软元件中的十六进制数转换为 ASCII码的指令。 十六进制转ASCII[ASCI] 16位指令 ASCI 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 2 位，HEX D 指定目标软元件的首地址编号 ASCII码 n 指定转换的 ASCII码字符个数 16 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● D ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 ASCI D100 D200 K4 S· D· n X0  将 S· HEX数据的各位转换成 ASCII码， 向 D· 的高 8 位、 低8 位分别传送。 转换的字符数用n指定。  D· 低 8 位、高 8位，分别存储一个 ASCII数据。 n D K1 K2 K3 K4 K5 K6 K7 K8 K9 D200下 [C] [B] [A] [0] [4] [3] [2] [1] [8] D200上 [C] [B] [A] [0] [4] [3] [2] [1] D201下 [C] [B] [A] [0] [4] [3] [2] D201上 [C] [B] [A] [0] [4] [3] D202下 [C] [B] [A] [0] [4] D202上 [C] [B] [A] [0] D203下 [C] [B] [A] D203上 [C] [B] D204下 [C]


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 167 转化结果如图： 【注】：指令的作用是将 16 进制的数值转化为 ASCII 的字符，比如 16 进制的“A”转换为 ASCII 的字符“A”。 4-8-12．ASCII 转十六进制[HEX] 1）指令概述 将指定软元件中的 ASCII码转换为十六进制数的指令。 ASCII 转十六进制[HEX] 16位指令 HEX 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定源数据的软元件地址编号 ASCII D 指定目标软元件的首地址编号 2 位，HEX n 指定转换的 ASCII码字符个数 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● D ● ● ● ● ● n ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 HEX D200 D100 K4 S· D· n X0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 168  将 S· 中的高低位各 8位的 ASCII字符转换成 HEX数据，每 4位向 D· 传送。  转换的字符数用 n指定。 上例程序转换的情况如下所示： n=k4 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0D200 41H [A] 30H [0] 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0D201 43H [C] 42H [B] 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0D100 0 A B C (S·) ASCII 码 HEX 转换 D200下 30H 0 D200上 41H A D201下 42H B D201上 43H C D202下 31H 1 D202上 32H 2 D203下 33H 3 D203上 34H 4 D204下 35H 5 (D·) n D102 D101 D100 1 不变化 为 0 ···0H 2 ··0AH 3 ·0ABH 4 0ABCH 5 ···0H ABC1H 6 ··0AH BC12H 7 ·0ABH C123H 8 0ABCH 1234H 9 ···0H ABC1H 2345H


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 169 4-8-13．译码[DECO] 1）指令概述 将任意一个数字数据转换为 1 点的 ON位的指令。 译码[DECO] 16位指令 DECO 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定要译码的字软元件地址编号 16位，BIN D 指定译码结果的字或位软元件的首地址编号 16位，BIN N 指定要译码的软元件的位的点数 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《 D· 是位软元件时》 n≤16 DX0DECO M10 K3 X10 nS· D· 1 0 1 0 1 0 0 0 0 0 X2 X1 X0 M17 M16 M15 M14 M13 M12 M11 M10 7 6 5 4 2 1 0 4 0 2 1 3  n=3，所以译码对象为 DX0中的低 3位，即 X2~X0。  n=3，所以译码结果需要由 2^3=8个位来表示，即 M17~M10。  当 X2=1，X1=0，X0=1，其所代表的数值是 4+1=5，因此从 M10起第 5 位的 M15变为 1；当 X2~X0 全部为 0 时，数值也为 0，所以 M10为 1（M10为第 0 位） 。  n=0时不处理，n=0~16以外的数值时会不执行指令。  n=16时，如果译码命令 D· 为位软元件时，其点数是 2^16=65536。  驱动输入为 OFF时，指令不执行，正在动作的译码输出保持动作。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 170 《 D· 是字软元件时》 n≤4 D0DECO D1 K3 X0 nS· D· 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 7 6 5 4 2 1 0 D0 D1bit15 bit15 bit0 bit0 4 2 1 311 10 9 813 1215 14 忽略高8位，全部为0  源地址的低 n位（n≤4）被解码至目标地址。n≤3时，目标的高 8位都转为 0。  n=0时不处理，n=0~4以外时，不执行指令。  n=3，所以 D0 中的译码对象为 bit2~bit0，其所表示的最大数值是 4+2+1=7。  n=3，所以 D1 中需要 2^3=8个位来表示译码结果，即 bit7~bit0。  当 bit2、bit1均为 1，bit0为 0，其所表示的数值是 4+2=6，因此 D1中的 bit6置 ON。 《 D· 是字软元件时》 n≤4 D0DECO D1 K4 X0 nS· D· 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 7 6 5 4 2 1 0 D0 D1bit15 bit15 bit0 bit0 4 2 18 311 10 9 813 1215 14  源地址的低 n位（n≤4）被解码至目标地址。n≤3时，目标的高 8位都转为 0。  n=0时不处理，n=0~4以外时，不执行指令。  n=4，所以 D0 中的译码对象为 bit3~bit0，其所表示的最大数值是 8+4+2+1=15。  n=4，所以 D1 中需要 2^4=16个位来表示译码结果，即 bit15~bit0。  当 bit3、bit1、bit0均为 1，bit2为 0，其所表示的数值是 8+2+1=11，因此 D1中的 bit11置 ON。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 171 忽略低位的“1” ，即M11中的“1”被忽略 4-8-14．高位编码[ENCO] 1）指令概述 求出在数据中最高为 ON位的位置的指令。 高位编码[ENCO] 16位指令 ENCO 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定要编码的字或位软元件地址编号 16位，BIN D 指定编码结果的软元件的地址编号 16位，BIN n 指定编码结果的软元件的位的点数 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《 S· 是位软元件时》 n≤16 0 0 0 1 0 1 0 M17 M16 M15 M14 M13 M12 M11 M10 7 6 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 D10 bit15 bit0 4 3 2 1 全部为0  源地址内的多个位是 1 时，忽略低位侧，另外源地址都为 0 时会不执行指令。  驱动条件为 OFF时，指令不被执行，编码输出不变化。  n=16时，编码指令的 S· 如果是位元件，其点数为 2^16=65536。  n=3，被编码对象有 2^3=8位，即 M17~M10，编码结果存放在 D10中的低 3位，即 bit2~bit0。  M13和 M11均为 1，忽略 M11，对 M13编码，以 bit2~bit0表示 3，则 bit0和 bit1为 1。 M10ENCO D10 K3 X0 nS· D·


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 172 忽略 bit2 中的“1” 忽略 bit2、bit5、bit8、bit10、bit12 中的“1” 《 S· 是字软元件时》 n≤4 D0ENCO D1 K3 X1 nS· D· 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 7 6 5 4 2 1 0 D0 D1 bit15 bit15 bit0 bit0 4 2 1 3 高8位被忽视 全成为0  源地址内的多个位是 1 时，忽略低位侧，另外源地址都为 0 时会不执行指令。  驱动输入为 OFF时，指令不被执行，编码输出不变化。  n≤3时，D0中的高 8位被忽视。  n=3， 被编码对象有2^3=8位， 即D0中的 bit7~bit0， 编码结果存放在D1中的低 3位， 即bit2~bit0。  D0 中的 bit5 和 bit2 均为 1 时，忽略 bit2，对 bit5 编码，以 bit2~bit0表示 5，则 bit2和 bit0 为 1。 《 S· 是字软元件时》 n≤4 D0ENCO D1 K4 X1 nS· D· 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 7 6 5 4 2 1 0 D0 D1 bit15 bit15 bit0 bit0 4 2 1 3 全成为0 15 14 13 12 10 9 811 8  源地址内的多个位是 1 时，忽略低位侧，另外源地址都为 0 时会不执行指令。  驱动输入为 OFF时，指令不被执行，编码输出不变化。  n=4， 被编码对象有2^4=16位， 即D0中的 bit15~bit0， 编码结果存放在D1中的低 4位， 即bit3~bit0。  D0 中为 1 的最高位为 bit14，忽略所有低位的 1，对 bit14 编码，以 bit3~bit0 表示 14，则 bit3、 bit2和 bit1为 1。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 173 忽略 M16 中的“1” 4-8-15．低位编码[ENCOL] 1）指令概述 求出在数据中低位为 ON位的位置的指令。 低位编码[ENCOL] 16位指令 ENCOL 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定要编码的字或位软元件地址编号 16位，BIN D 指定编码结果的软元件的地址编号 16位，BIN n 指定编码结果的软元件的位点数 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《 S· 是位软元件时》 n≤16 M10ENCOL D10 K3 X0 nS· D· 1 0 0 0 1 0 0 M17 M16 M15 M14 M13 M12 M11 M10 7 6 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 D10 bit15 bit0 4 3 2 1 全部为0  源地址内的多个位是 1 时，忽略高位侧，另外源地址都为 0 时会不执行指令。  驱动条件为 OFF时，指令不被执行，编码输出不变化。  n=16时，编码指令的 S· 如果是位元件，其点数为 2^16=65536。  n=3，被编码对象有 2^3=8位，即 M17~M10，编码结果存放在 D10中的低 3位，即 bit2~bit0。  M12和 M16均为 1，忽略 M16，对 M12编码，以 bit2~bit0表示 2，则 bit1为 1。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 174 忽略 bit7 的“1” 忽略 bit14、bit12、bit10、bit8中的“1” 《 S· 是字软元件时》 n≤4 D0ENCOL D1 K3 X1 nS· D· 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 7 6 5 4 2 1 0 D0 D1 bit15 bit15 bit0 bit0 4 2 1 3 高8位被忽视 全成为0  源地址内的多个位是 1 时，忽略高位侧，另外源地址都为 0 时会不执行指令。  驱动输入为 OFF时，指令不被执行，编码输出不变化。  n≤3时，D0中的高 8位被忽视。  n=3，被编码对象有 2^3=8位，即 D0中的 bit7~bit0，编码结果存放在 D1中的低 3 位，即 bit2~bit0。  D0中的 bit7和 bit4均为 1时，忽略 bit7，对 bit4编码，以 bit2~bit0表示 4，则 bit2为 1。 《 S· 是字软元件时》 n≤4 D0ENCOL D1 K4 X1 nS· D· 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 7 6 5 4 2 1 0 D0 D1 bit15 bit15 bit0 bit0 4 2 1 3 全成为0 15 14 13 12 10 9 811 8  源地址内的多个位是 1 时，忽略高位侧，另外源地址都为 0 时会不执行指令。  驱动输入为 OFF时，指令不被执行，编码输出不变化。  n=4， 被编码对象有2^4=16位， 即D0中的 bit15~bit0， 编码结果存放在D1中的低 4 位， 即bit3~bit0。  D0中为 1的最低位为 bit5，忽略所有高位的 1，对 bit5编码，以 bit3~bit0表示 5，则、bit2和 bit0为 1。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 175 4-8-16．二进制转格雷码[GRY,DGRY] 1）指令概述 将指定二进制数转换为格雷码的指令。 二进制转格雷码[GRY] 16位指令 GRY 32 位指令 DGRY 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定要编码的字或位软元件地址编号 16位/32位，BIN；INT/DINT D 指定编码结果的软元件的地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 D10GRY D100 X0 S· D· 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 D10 b15 b15 b0 b0D100  将 BIN数据转换为格雷码并传送的指令。  GRY具有 32位指令 DGRY，可进行 32位的格雷码转换。  S· 的有效数值范围为：K0~K32,767（16位指令） ；K0~K2,147,483,647（32位指令） 。 源（BIN）→目标（GRY）的转换传送。 从 D10 的最右边一位起，依次将每一位与左边 一位异或（相同为“0” ，相异为“1” ） ，作为对 应格雷码该位的值， 最左边一位不变 （相当于左 边是 0） ；转换的结果存入D100中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 176 4-8-17．格雷码转二进制 [GBIN,DGBIN] 1）指令概述 将指定格雷码转换为二进制数的指令。 格雷码转二进制 [GBIN] 16位指令 GBIN 32 位指令 DGBIN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定要编码的字或位软元件地址编号 16位/32位，BIN；INT/DINT D 指定编码结果的软元件的地址编号 16位/32位，BIN；INT/DINT 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 D10GBIN D100 X0 S· D· 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 D10b15 b15 b0 b0 D100  将格雷码转换为 BIN数据并传送的指令。  GBIN具有 32 位指令 DGBIN，可进行 32位的二进制转换。  S· 的有效数值范围为：K0~K32,767（16位指令） ；K0~K2,147,483,647（32位指令） 。 源（GRY）→目标（BIN）的转换传送。 从 D10 的左边第二位起，将每位与左边一位解 码后的值异或（相同为“0” ，相异为“1” ） ，作 为该位解码后的值（最左边一位依然不变） 。转 换的结果存入 D100中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 177 4-9．浮点运算指令 指令助记符 指令功能 章节 ECMP 浮点数比较 4-9-1 EZCP 浮点数区间比较 4-9-2 EADD 浮点数加法 4-9-3 ESUB 浮点数减法 4-9-4 EMUL 浮点数乘法 4-9-5 EDIV 浮点数除法 4-9-6 ESQR 浮点数开方 4-9-7 SIN 浮点数 SIN运算 4-9-8 COS 浮点数 COS运算 4-9-9 TAN 浮点数 TAN运算 4-9-10 ASIN 浮点数反 SIN运算 4-9-11 ACOS 浮点数反 COS运算 4-9-12 ATAN 浮点数反 TAN运算 4-9-13


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 178 4-9-1．浮点数比较[ECMP,EDCMP] 1）指令概述 比较两个源数据内的二进制浮点数的指令。 浮点数比较[ECMP] 16 位指令 - 32 位指令 ECMP 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDCMP 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上 （XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDCMP。 2）操作数 操作数 作用 类型 S1 指定进行比较的数据或软元件地址编号 32/64位，BIN S2 指定进行比较的数据或软元件地址编号 32/64位，BIN D 指定保存比较结果的软元件首地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位比较》 ECMP D10 D20 M0 S1· X0 M0 M1 M2 (D11,D10) > (D21, D20) 二进制浮点 二进制浮点 S· D· (D11,D10) = (D21, D20) 二进制浮点 二进制浮点 (D11,D10) < (D21, D20) 二进制浮点 二进制浮点 X0 为 OFF 时，即使 ECMP 指令不执行，M0~M2 保持 X0 为 OFF 以前的状态。  比较两个源数据的二进制浮点值，根据大小一致比较结果，对应输出 M0 开始的 3 点 ON/OFF 状态。 （D11,D10） ： （D21,D20）→ M0,M1,M2 二进制浮点 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 179  在指令执行前，比较数据必须全部为浮点数（如果为整数可以通过FLT/DFLTD指令进行转换） ；否则 执行结果将会出错。  EDCMP指令中寄存器的首地址必须为偶数。  常数 K，H被指定为源数据时，自动转换成二进制浮点值处理。 ECMP K500 D100 M10 X0 《64位比较》 EDCMP K500 D100 M10 X0 （K500） ：（D101,D100）→ M10,M11,M12 自动二进制 二进制浮点化 浮点化 （K500） ：（D103,D102,D101,D100）→ M10,M11,M12 自动二进制 二进制浮点化 浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 180 4-9-2．浮点数区间比较[EZCP] 1）指令概述 将指定数据进行上下两点的范围比较的指令。 浮点数区间比较[EZCP] 16位指令 - 32 位指令 EZCP 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定比较基准下限的数据或软元件地址编号 32位，BIN S2 指定比较基准上限的数据或软元件地址编号 32位，BIN S3 指定当前比较数据或软元件地址编号 32位，BIN D 指定比较结果的软元件首地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 对 2 点的设定值的大小比较。 EZCP D10 D20 D0 M3 M4 M5 X0 S1· S2· M3 S3· D· (D1,D0) > (D11, D10) ON 二进制浮点 二进制浮点 (D11,D10) (D1, D0) (D21, D20) ON 二进制浮点 二进制浮点 二进制浮点 (D1,D0) ＞ (D21, D20) ON 二进制浮点 二进制浮点 X0 即使不执行 EZCP指令，M3~M5 也能保持 X0 OFF 以前的状态。  将[ S1· ， S1· ＋1]的内容与用二进制浮点值指定的上下2点的范围比较， 对应输出 D· 开始的 3点 ON/OFF 状态。  在指令执行前，比较数据必须全部为浮点数（如果为整数可以通过 FLT指令进行转换） ；否则执行结 果将会出错。  常数 K、H被指定为源数据时，自动转换成二进制浮点值处理。 EZCP K10 K2800 D5 M0 X0  请设置 S1· ≤ S2· ，当 S2· < S1· 时，将 S2· 的数值当作和 S1· 相同进行比较。 （K10） ∶[D6,D5]∶（K2800） → M0，M1，M2 自动二进 二进制 自动二进 制浮点化 浮点数 制浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 181 4-9-3．浮点数加法[EADD,EDADD] 1）指令概述 将两个数据进行浮点数相加运算的指令。 浮点数加法[EADD] 16 位指令 - 32 位指令 EADD 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDADD 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上 （XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDADD。 2）操作数 操作数 作用 类型 S1 指定进行相加的数据或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定进行相加的数据或软元件地址编号 32/64位，BIN；REAL/LREAL D 指定存储运算结果的软元件地址编号 32/64位，BIN；REAL/LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位运算》 EADD D10 D20 D50 S1· S2· D· X0 《64位运算》 EDADD D10 D20 D50 S1· S2· D· X0  两个数据源内的二进制浮点值相加后，作为二进制浮点值存入目的地址之中。  在指令执行前，两个加数据必须全部为浮点数（如果为整数可以通过FLT/DFLTD指令进行转换） ；否 则执行结果将会出错。 (D11, D10) + (D21, D20) → (D51, D50) 二进制浮点数 二进制浮点数 二进制浮点数 (D13,D12,D11,D10) + (D23,D22,D21,D20)→(D53,D52,D51,D50) 二进制浮点数 二进制浮点数 二进制浮点数


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 182  EDADD指令中寄存器的首地址必须为偶数。  常数 K、H被指定为源数据时，自动转换成二进制浮点值处理。 《32位运算》 EADD D100 K1234 D110 X1 《64位运算》 EDADD D100 K1234 D110 X1 源数据和目的地址也可以指定同一元件号。请注意，当 X0为 ON时，在每个扫描周期均相加一次。 （K1234） + ( D101, D100) → (D111, D110) 自动二进 二进制浮点 二进制浮点 制浮点化 （K1234 + (D103,D102,D101,D100) →(D113,D112, D111,D110) 自动二进 二进制浮点 二进制浮点 制浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 183 4-9-4．浮点数减法[ESUB,EDSUB] 1）指令概述 将两个数据进行浮点数相减运算的指令。 浮点数减法[ESUB] 16 位指令 - 32位指令 ESUB 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDSUB 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上 （XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDSUB。 2）操作数 操作数 作用 类型 S1 指定进行相减的数据或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定进行相减的数据或软元件地址编号 32/64位，BIN；REAL/LREAL D 指定存储运算结果的软元件地址编号 32/64位，BIN；REAL/LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT；C 表 示 C、HC。 4）功能和动作 《32位运算》 ESUB D10 D20 D50 S1· S2· D· X0 《64位运算》 EDSUB D10 D20 D50 S1· S2· D· X0  S1· 指定的元件内的二进制浮点值减去 S2· 指定的元件内的二进制浮点值，并将其结果作为二进制浮点 值存入目的地址之中。  在指令执行前，减数与被减数数据必须全部为浮点数（如果为整数可以通过 FLT/DFLTD指令进行转 换） ；否则执行结果将会出错。  EDSUB指令中寄存器的首地址必须为偶数。  常数 K、H被指为源数据时，自动转换成二进制浮点值处理。 (D11, D10) － (D21, D20) → (D51, D50) 二进制浮点 二进制浮点 二进制浮点 (D13,D12,D11,D10)－(D23,D22,D21,D20) →(D53,D52,D51,D50) 二进制浮点 二进制浮点 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 184 《32位运算》 ESUB D100K1234 D110 X1 《64位运算》 EDSUB D10 D20 D50 S1· S2· D· X0 源数据和目的地址也可以指定同一元件号。请注意，当 X0为 ON时，在每个扫描周期均相减一次。 4-9-5．浮点数乘法[EMUL,EDMUL] 1）指令概述 将两个数据进行浮点数相乘运算的指令。 浮点数乘法[EMUL] 16 位指令 - 32 位指令 EMUL 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDMUL 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4 及以上（ XD3E、XD5E、 XL5E、XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDMUL。 2）操作数 操作数 作用 类型 S1 指定进行相乘的数据或软元件地址编号 32/64位，BIN；REAL/LREAL S2 指定进行相乘的数据或软元件地址编号 32/64位，BIN；REAL/LREAL D 指定存储运算结果的软元件地址编号 32/64位，BIN；REAL/LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 （K1234）－ (D101, D100) → (D111, D110) 自动二进 二进制浮点 二进制浮点 制浮点化 (D13,D12,D11,D10)－(D23,D22,D21,D20) →(D53,D52,D51,D50) 二进制浮点 二进制浮点 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 185 4）功能和动作 《32位运算》 EMUL D10 D20 D50 S1· S2· D· X0 《64位运算》 EDMUL D10 D20 D50 S1· S2· D· X0  将两个源数据内的二进制浮点值 （必须要为浮点数， 如为整数可以通过FLT指令先进行整数转浮点数） 的积作为二进制浮点值存入目的地址中。  请在指令执行前， 两个相乘数据必须全部为浮点数 （如果为整数可以通过FLT/DFLTD指令进行转换） ； 否则执行结果将会出错。  EDMUL指令中寄存器的首地址必须为偶数。  常数 K、H被指定为源数据时，自动转换为二进制浮点值处理。 《32位运算》 EMUL D100K100 D110 X1 《64位运算》 EDMUL D100K100 D110 X1 （D11, D10）×（D21, D20）→（D51, D50） 二进制浮点 二进制浮点 二进制浮点 (D13,D12,D11,D10)×(D23,D22,D21,D20)→(D53, D52,D51, D50) 二进制浮点 二进制浮点 二进制浮点 （K100）×（D101, D100）→（D111, D110） 自动二进 二进制浮点 二进制浮点 制浮点化 （K100）×（D103,D102,D101,D100）→（D113,D112,D111,D110） 自动二进 二进制浮点 二进制浮点 制浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 186 4-9-6．浮点数除法[EDIV,EDDIV] 1）指令概述 将两个数据进行浮点数相除运算的指令。 浮点数除法[EDIV] 16 位指令 - 32位指令 EDIV 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 64 位指令 EDDIV 执行条件 常开/闭、边沿触发 适用机型 XD3E、XD5E、XL5E、XDME、 XLME、XL5N、XL5H、XDH、XLH、 XG2 固件要求 V3.7.1及以上（XDH、XLH、XG2） V3.7.4及以上 （XD3E、XD5E、XL5E、 XDME、XLME、XL5N） V3.7.2e及以上（XL5H） 软件要求 V3.7.4a及以上 V3.7.16及以上（XL5H） 注：XD3E 系列目前仅双极性输入机型支持 EDDIV。 2）操作数 操作数 作用 类型 S1 进行相除的数据或软元件地址编号 32/64位，BIN；REAL/LREAL S2 进行相除的数据或软元件地址编号 32/64位，BIN；REAL/LREAL D 存储运算结果的软元件地址编号 32/64位，BIN；REAL/LREAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《32位运算》 EDIV D10 D20 D50 S1· S2· D· X0 《64位运算》 EDDIV D10 D20 D50 S1· S2· D· X0  S1· 指定的元件内的二进制浮点值除以用 S2· 指定的元件内的二进制浮点值（必须要为浮点数，如为整 数可以通过 DFLT/DFLTD指令先进行整数转浮点数） ，并将其结果作为二进制浮点值存入目的地址之 中。  除数 S2· 为 0 时，则运算错误，指令不能执行。  在指令执行前，除数与被除数数据必须全部为浮点数（如果为整数可以通过 FLT指令进行转换） ；否 （D11, D10）÷（D21, D20）→（D51, D50） 二进制浮点 二进制浮点 二进制浮点 (D13,D12,D11,D10)÷(D23,D22,D21,D20)→(D53,D52,D51,D50) 二进制浮点 二进制浮点 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 187 则执行结果将会出错。  EDDIV指令中寄存器的首地址必须为偶数。  常数 K、H被指定为源数据时，自动转换成二进制浮点值处理。 《32位运算》 EDIV D100 K100 D110 X1 《64位运算》 EDDIV D100 K100 D110 X1 （D101, D100）÷（K100）→（D111, D110） 二进制浮点数 自动二进 二进制浮点数 制浮点化 （D103, D102,D101, D100）÷（K100）→（D113, D112,D111, D110） 二进制浮点数 自动二进 二进制浮点数 制浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 188 4-9-7．浮点数开方[ESQR] 1）指令概述 对指定数据进行浮点数开方运算的指令。 浮点数开方[ESQR] 16位指令 - 32 位指令 ESQR 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定进行开方运算的数据或软元件地址编号 32位，BIN；REAL D 指定存储运算结果的软元件地址编号 32位，BIN；REAL 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM；DS 表示 DS、DHS。 M 表示 M、HM、SM；S表示 S、HS；T表示 T、HT；C 表示 C、HC。 4）功能和动作 ESQR D10 D20 X0 S· D·  进行用源数据指定的元件内二进制浮点值（必须要为浮点数，如为整数可以通过FLT指令先进行整数 转浮点数）的平方根运算，作为二进制浮点数存入目的地址之中。  在指令执行前，被开方数据必须为浮点数（如果为整数可以通过 FLT指令进行转换） ；否则执行结果 将会出错。  常数 K、H被指为源数据时，自动转换成二进制浮点值处理。 ESQR K1024 D110 X1  运算结果为零时，零标志位动作。  源数据的内容只有正数时有效，负数时运算错误（SM409）动作，SD409=7指令不能执行。 （D11,D10）→（D21,D20） 二进制浮点 二进制浮点 （K1024）→（D111，D110） 自动二进制 二进制浮点 浮点化


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 189 4-9-8．浮点SIN 运算[SIN] 1）指令表现形式 指令 名称 LD 表现 ST 表现 SIN 浮点 SIN运算 SIN D50 D60 OUT_V AR2:=SIN(IN_V AR1); 2）指令概述 对指定数据进行浮点数 SIN运算的指令。 浮点SIN 运算[SIN] 16位指令 - 32 位指令 SIN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行 SIN运算的数据 32位，BIN；REAL SINT/USINT/INT/UINT/DINT/UDINT/ REAL/LREAL D/OUT_V AR2 指定存储运算结果 32位，BIN；REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 SIN D50 D60 X0 S· D·  此为求源数据指定的弧度（RAD）的 SIN值，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 （D51, D50） → （D61, D60） SIN 二进制浮点 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值 SIN 值 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 190 4-9-9．浮点COS 运算[COS] 1）指令表现形式 指令 名称 LD 表现 ST 表现 COS 浮点 COS运算 COS D50 D60 OUT_V AR2:=COS(IN_V AR1); 2）指令概述 对指定数据进行浮点 COS运算的指令。 浮点COS 运算[COS] 16位指令 - 32 位指令 COS 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行 COS 运算的数据 32位，BIN；REAL SINT/USINT/INT/UINT/DINT/UDINT/ REAL/LREAL D/OUT_V AR2 指定存储运算结果 32位，BIN；REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 COS D50 D60 X0 S· D·  此为求源数据指定的弧度（RAD）的 COS值，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 （D51, D50）RAD → （D61, D60） COS 二进制浮点 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值 COS 值 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 191 4-9-10．浮点TAN 运算[TAN] 1）指令表现形式 指令 名称 LD 表现 ST 表现 TAN 浮点 TAN运算 TAN D50 D60 OUT_V AR2:=TAN(IN_V AR1); 2）指令概述 对指定数据进行浮点 TAN运算的指令。 浮点TAN 运算[TAN] 16位指令 - 32 位指令 TAN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行 TAN运算的数据 32 位，BIN；REAL SINT/USINT/INT/UINT/DINT/UDINT/ REAL/LREAL D/OUT_V AR2 存储运算结果 32 位，BIN；REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM；DS 表示 DS、 DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、 HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 TAN D50 D60 X0 S· D·  此为求源数据指定的弧度（RAD）的 TAN值，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 (D51, D50) RAD → (D61, D60) TAN 二进制浮点 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值 TAN值 二进制浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 192 4-9-11．浮点反SIN 运算[ASIN] 1）指令表现形式 指令 名称 LD 表现 ST 表现 ASIN 浮点反 SIN运算 ASIN D50 D60 OUT_V AR2:=ASIN(IN_V AR1); 2）指令概述 对指定数据进行浮点数反 SIN运算的指令。 浮点反SIN 运算[ASIN] 16位指令 - 32 位指令 ASIN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行反 SIN 运算的数 据 32位，BIN；REAL SINT/USINT/INT/UINT/DINT/UDINT / REAL/LREAL D/OUT_V AR2 指定存储运算结果 32位，BIN；REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 ASIN D50 D60 X0 S· D·  此为求源数据指定的 ASIN值的弧度（RAD） ，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 （D51, D50） ASIN → （D61, D60）RAD 二进制浮点 二进制浮点 ASIN值 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 193 4-9-12．浮点反COS 运算[ACOS] 1）指令表现形式 指令 名称 LD 表现 ST 表现 ACOS 浮点反 COS运算 ACOS D50 D60 OUT_V AR2:=ACOS(IN_V AR1); 2）指令概述 对指定数据进行浮点数反 COS 运算的指令。 浮点反COS 运算[ACOS] 16位指令 - 32 位指令 ACOS 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行反 COS运算的数据 32 位，BIN；REAL SINT/USINT/INT/UINT/DINT/UDINT/ REAL/LREAL D/OUT_V AR2 指定存储运算结果 32 位，BIN；REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常 数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 ACOS D50 D60 X0 S· D·  此为求源数据指定的 ACOS值的弧度（RAD） ，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 （D51, D50） ACOS → （D61, D60）RAD 二进制浮点 二进制浮点 ACOS值 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 194 4-9-13．浮点反TAN 运算[ATAN] 1）指令表现形式 指令 名称 LD 表现 ST 表现 ATAN 浮点反 TAN运算 ATAN D50 D60 OUT_V AR2:=A TAN(IN_V AR1); 2）指令概述 对指定数据进行浮点数反 TAN运算的指令。 浮点反TAN 运算[ATAN] 16位指令 - 32位指令 ATAN 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 软件要求 - 3）操作数 操作数 作用 软元件类型 变量类型 S/IN_V AR1 指定进行反 TAN 运算的数 据 32 位， BIN ； REAL SINT/USINT/INT/UINT/DINT/UDINT/ REAL/LREAL D/OUT_V AR2 指定存储运算结果 32 位， BIN ； REAL REAL/LREAL 4）适用软元件 LD 操作数类型 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 ST 操作数类型 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN_V AR1 ● ● ● OUT_V AR2 ● 5）功能和动作 ATAN D50 D60 X0 S· D·  此为求源数据指定的 A TAN值的弧度（RAD） ，并传送到目的地址中的指令。 D51 D50 D61 D60 S· D·  在指令执行前，参数 S中的数据必须为浮点数；否则执行结果将会出错。 （D51, D50） A TAN → （D61, D60）RAD 二进制浮点 二进制浮点 ATAN值 二进制浮点 RAD值（角度×π/180） 指定二进制浮点值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 195 4-10．时钟指令 指令助记符 指令名称 章节 TRD 内置时钟数据读取 4-10-1 TWR 内置时钟数据写入 4-10-2 MOV 精确时钟 BD板数据读取 4-10-3 TO 精确时钟 BD板数据写入 4-10-4 TADD 时钟数据加法运算 4-10-5 TSUB 时钟数据减法运算 4-10-6 HTOS 时、分、秒数据转换成秒 4-10-7 STOH 秒数据转换成时、分、秒 4-10-8 TCMP 时间（时、分、秒）比较指令 4-10-9 DACMP 日期（年、月、日）比较指令 4-10-10 【注】： ※1：不含时钟的机型不可以使用时钟指令。 ※2：XD/XL 系列 PLC 的时钟存在一定误差，大约为每月误差±5 分钟，可通过触摸屏或在 PLC 程序里定 期进行校准。 ※3：如对时间精度要求较高，可配合使用 XD-RTC-BD，误差约为每月 13 秒。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 196 4-10-1．内置时钟数据读取[TRD] 1）指令概述 读取内置时钟数据的指令。 时钟数据读取[TRD] 16位指令 TRD 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D 保存时钟数据的软元件首地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DC 表示 DC、DHC；DT表示 DT、DHT。 M表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 TRD D0 X0 D·  按照下列格式读取可编程控制器的实时时钟数据。 直接读取时钟芯片内部特殊数据寄存器（SD013~SD019）。 元件 项目 时钟数据 元件 项目 SD018 年(公历) 0~99(公历后两位) D0 年(公历) SD017 月 1~12 D1 月 SD016 日 1~31 D2 日 SD015 时 0~23 D3 时 SD014 分 0~59 D4 分 SD013 秒 0~59 D5 秒 SD019 星期 1(一)~7(日) D6 星期 特器 殊实 数时 据时 寄钟 存用  实时时钟数据在特殊数据寄存器（SD013~SD019）中是以十进制数形式存放的。  通过指令 TRD读取出来的时钟数据，也是十进制形式的，监控时选用十进制即可。  该指令执行一次后，D0~D6这 7个寄存器均被占用，分别存放时钟信息中的年、月、日、时、分、 秒、星期。  D· 应注意避免特殊辅助寄存器（详见附录 2．特殊辅数据寄存器一览） ，否则相关数值改变可能影响 PLC使用。 将可编程控制器的实时时钟 （十进制） 的时钟数据读入数据寄存器 （十进制） 中的指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 197 4-10-2．内置时钟数据写入[TWR] 1）指令概述 写入内置时钟数据的指令。 时钟数据写入 [TWR] 16位指令 TWR 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 写入时钟数据的软元件地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 TWR D0 X0 S·  将设定时钟的数据写入可编程控制器的实时时钟内。  为了写入时钟数据，必须预先设定由 S· 指定的元件地址号起始的 7 个数据寄存器。 元件 项目 时钟数据 元件 项目 D0 年(公历) 1~99(公历后两位) SD018 年(公历) D1 月 1~12 SD017 月 D2 日 1~31 SD016 日 D3 时 0~23 SD015 时 D4 分 0~59 SD014 分 D5 秒 0~59 SD013 秒 D6 星期 1(一)~7(日) SD019 星期 特器 殊实 数时 据时 寄钟 存用 时 钟 设 定 用 数 据  应注意避免特殊辅助寄存器（详见附录 2． 特殊辅数据寄存器一览） ， 否则相关数值改变可能影响 PLC 使用。  加密下载时不能对时钟写入，只能通过 TWR指令写入时钟。 执行 TWR 指令后，立即变更实时时钟的时钟数据，变为新时间。因此，请提前数分钟向源数据传送 时钟数据，这样当到达正确时间时，请执行指令。 【注】：当您在加密下载程序时选择高级模式， 即密码等级设置为禁止下载的时候， 通过通信将无法修改PLC 的时钟，只能通过 TWR 指令修改时钟。 将时钟数据（十进制）写入可编程控制器的实时时钟（十进制）中的指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 198 另外还有一种方法可以设定当前时间： 在菜单栏中选择“显示” ，下拉菜单中勾选“工程栏” 。选定之后在软件左边会显示工程栏。 通过选择软件中“工程”栏中的“时钟信息” ，如下图所示： 左击之后出现如下对话框： 点击“写入当前时间”按钮，会自动把电脑中的时钟信息写入PLC当中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 199 4-10-3．精确时钟BD 板数据读取[MOV] 1）指令概述 读取 XD-RTC-BD里的时钟数据的指令。 精确时钟BD 板数据读取[MOV] 16位指令 MOV 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S 指定要读取的时钟数据的软元件地址编号 16位，BIN D 指定保存时钟数据的软元件地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● D ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、 DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、 HC、HSC。 4）功能和动作 MOV ID20000 M0 S HD0 D  M0导通时，将#1时钟 BD板 XD-RTC-BD中的“秒”读取到 PLC的 HD0寄存器中。  BD板 XD-RTC-BD的数据地址如下所示： #1 BD 板地址 #2 BD 板地址 描述 时钟数据 备注 ID20000 ID20100 当前秒 0~59 十进制 ID20001 ID20101 当前分 0~59 十进制 ID20002 ID20102 当前小时 0~23 十进制 ID20003 ID20103 当前日 1~31 十进制 ID20004 ID20104 当前月 1~12 十进制 ID20005 ID20105 当前年 00~99（公历后两位） 十进制 ID20006 ID20106 当前星期 1（一）~7（日） 十进制  由于 ID寄存器中的时间是按秒、分、时、日、月、年、星期的顺序存放，因此若读取出的时钟数据用 于比较、运算等，则不建议使用 BMOV或 PMOV指令批量读取。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 200 4-10-4．精确时钟BD 板数据写入[TO] 1）指令概述 写入 XD-RTC-BD里的时钟数据的指令。 精确时钟BD 板数据写入[TO] 16位指令 TO 32 位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S1 指定要写入的 BD板编号 16位，BIN S2 指定要写入的时钟数据的软元件首地址编号 16位，BIN S3 指定要写入的时钟数据的个数 16位，BIN D 指定要传送的本地时钟数据的软元件首地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● S2 ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 SBLOCK 顺序功能块1 M0 TO K20000 S1 K0 D K7 HD0 SBLOCKE S2 S3  M0 导通时，将 HD0 为首的连续 7 个寄存器中的数值写入到#1 时钟 BD 板 XD-RTC-BD 中的 ID 寄存 器中。 源数据 → → → → → → → #1 BD 板地址 描述 时钟数据 备注 HD0 ID20000（K0） 当前秒 0~59 十进制 HD1 ID20001（K1） 当前分 0~59 十进制 HD2 ID20002（K2） 当前小时 0~23 十进制 HD3 ID20003（K3） 当前日 1~31 十进制 HD4 ID20004（K4） 当前月 1~12 十进制 HD5 ID20005（K5） 当前年 00~99（公历后两位） 十进制 HD6 ID20006（K6） 当前星期 1（一）~7（日） 十进制


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 201  TO指令需要在顺序功能块中输入，操作步骤入如下： （1）打开“信捷PLC编程工具软件” ，点击顺序功能块图标“” ，在弹出的窗口中，依次点击“插 入”-“读写模块（FROM/TO） ” ： （2）在弹出的配置窗口中，按如下配置： 【注】：模块号 K20000表示#1 BD，K20001表示#2 BD； 模块地址从K0开始编号， 依次对应ID20000、ID20001…… ID20006。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 202 4-10-5．时钟数据加法运算[TADD] 1）指令概述 两个时钟数据（时、分、秒）做加法运算的指令。 时钟数据加法运算[TADD] 16位指令 TADD 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S1 指定加法运算的时钟数据（时、分、秒）的软元件首地址编号 16位，BIN S2 指定加法运算的时钟数据（时、分、秒）的软元件首地址编号 16位，BIN D 指定存储加法运算结果的软元件地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● S2 ● ● D ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 TADD HD0 HD10 HD20 M0 HD0（时） HD1（分） HD2（秒） ＋ HD10（时） HD11（分） HD12（秒） HD20（时） HD21（分） HD22（秒） S1· S2· D·  M0 置 ON 时，执行时钟加法运算，将（HD0、HD1、HD2）的时钟数据（时、分、秒）与（HD10、 HD11、HD12）的时钟数据（时、分、秒）进行相加，并将运算结果（时、分、秒）存储到（HD20、 HD21、HD22）中。 注意：寄存器的对应关系是固定的，即按照时、分、秒的顺序依次存放。  时的范围：0~23；分的范围：0~59，秒的范围：0~59。  若加法运算后的秒、分超过 59，将运算结果减去 60 后保存在秒、分寄存器中，同时分、小时的数值 自动加 1；  若加法运算后的小时超过23， 将运算结果减去24后保存在时寄存器中， 同时进位标志位SM22置 ON。  若运算结果为 0时、0分、0 秒，则零标志位 SM20将置 ON。  操作数 S1、S2、D 各占用连续三个寄存器，请勿用作他用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 203 5）举例 《一般情况》 TADD HD0 HD10 HD20 M0 HD0：3 HD1：10 HD2：8 HD10：7 HD11：30 HD12：15 HD20：10 HD21：40 HD22：23 ＋ 时 分 秒 《秒超过 59的情况》 TADD HD0 HD10 HD20 M0 HD0：3 HD1：10 HD2：40 HD10：7 HD11：30 HD12：30 HD20：10 HD21：41 HD22：10 ＋ 时 分 秒 《分超过 59的情况》 TADD HD0 HD10 HD20 M0 HD0：3 HD1：35 HD2：40 HD10：7 HD11：30 HD12：30 HD20：11 HD21：6 HD22：10 ＋ 时 分 秒 《时超过 23的情况》 TADD HD0 HD10 HD20 M0 HD0：17 HD1：35 HD2：40 HD10：7 HD11：30 HD12：30 HD20：1 HD21：6 HD22：10 ＋ 时 分 秒


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 204 4-10-6．时钟数据减法运算[TSUB] 1）指令概述 两个时钟数据（时、分、秒）做减法运算的指令。 时钟数据减法运算[TSUB] 16位指令 TSUB 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S1 指定减法运算的时钟数据（时、分、秒）的软元件首地址编号 16位，BIN S2 指定减法运算的时钟数据（时、分、秒）的软元件首地址编号 16位，BIN D 指定存储减法运算结果的软元件地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● S2 ● ● D ● 注：D 表示 D、HD；TD 表示 TD、HTD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM；DS 表示 DS、DHS。 M 表示 M、HM、SM；S表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 TSUB HD0 HD10 HD20 M0 HD0（时） HD1（分） HD2（秒） － HD10（时） HD11（分） HD12（秒） HD20（时） HD21（分） HD22（秒） S1· S2· D·  M0 置 ON 时，执行时钟减法运算，将（HD0、HD1、HD2）的时钟数据（时、分、秒）与（HD10、 HD11、HD12）的时钟数据（时、分、秒）进行相减，并将运算结果（时、分、秒）存储到（HD20、 HD21、HD22）中。 注意：寄存器的对应关系是固定的，即按照时、分、秒的顺序依次存放。  时的范围：0~23；分的范围：0~59，秒的范围：0~59。  若减法运算后的秒、分小于0，将运算结果加上 60后保存在秒、分寄存器中，同时分、小时的数值自 动减 1；  若减法运算后的小时小于 0， 将运算结果加上24后保存在时寄存器中， 同时借位标志位SM21置 ON。  若运算结果为 0时、0分、0 秒，则零标志位 SM20将置 ON。  操作数 S1、S2、D 各占用连续三个寄存器，请勿用作他用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 205 5）举例 《一般情况》 TSUB HD0 HD10 HD20 M0 HD0：7 HD1：30 HD2：15 HD10：3 HD11：10 HD12：8 HD20：4 HD21：20 HD22：7 － → 时 分 秒 《秒小于 0的情况》 TSUB HD0 HD10 HD20 M0 HD0：7 HD1：30 HD2：30 HD10：3 HD11：10 HD12：40 HD20：4 HD21：19 HD22：50 － → 时 分 秒 《分小于 0的情况》 TSUB HD0 HD10 HD20 M0 HD0：7 HD1：30 HD2：40 HD10：3 HD11：35 HD12：30 HD20：3 HD21：55 HD22：10 － → 时 分 秒 《时小于 0的情况》 TSUB HD0 HD10 HD20 M0 HD0：7 HD1：35 HD2：40 HD10：10 HD11：30 HD12：30 HD20：21 HD21：5 HD22：10 － → 时 分 秒


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 206 4-10-7．时、分、秒数据转换成秒[HTOS] 1）指令概述 将时、分、秒数据转换成秒的指令。 时、分、秒数据转换成秒[HTOS] 16位指令 - 32 位指令 HTOS 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S 指定转换前的时钟数据（时、分、秒）的软元件地址编号 16位，BIN D 指定转换后的时钟数据（秒）的软元件地址编号 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● D ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 HTOS HD0 M0 S HD10 D  M0导通时，将 HD0为首的连续三个寄存器中的时钟数据（时、分、秒）转换成秒数据，并存储到寄 存器 HD10（双字）中。 注意：寄存器的对应关系是固定的，即按照时、分、秒的顺序依次存放。  操作数 S占用连续三个寄存器、D占用连续两个寄存器，请勿用作他用。 （HD0，HD1，HD2）→（HD10,HD11） 时，分，秒 → 秒


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 207 4-10-8．秒转换成时、分、秒[STOH] 1）指令概述 将秒数据转换成时、分、秒的指令。 秒数据转换成时、分、秒 [STOH] 16位指令 - 32 位指令 STOH 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S 指定转换前的时钟数据（秒）的软元件地址编号 32位，BIN D 指定转换后的时钟数据（时、分、秒）的软元件地址编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● D ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM；DS 表示 DS、 DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、 HC、HSC。 4）功能和动作 STOH HD0 M0 S HD10 D  M0 导通时，将 HD0（双字）的时钟数据（时、分、秒）转换成秒数据，并存储到以 HD10 为首的连 续三个寄存器（时、分、秒）中。 注意：寄存器的对应关系是固定的，即按照时、分、秒的顺序依次存放。  操作数 S占用连续两个寄存器、D占用连续三个寄存器，请勿用作他用。 （HD0, HD1）→（HD10，HD11，HD12） 秒 → 时，分，秒


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 208 4-10-9．时间比较[TCMP] 1）指令概述 将比较基准时间与时钟数据（时、分、秒）进行比较的指令。 时间比较[TCMP] 16位指令 TCMP 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S1 指定比较基准时间“时”的软元件地址编号 16 位，BIN S2 指定比较基准时间“分”的软元件地址编号 16 位，BIN S3 指定比较基准时间“秒”的软元件地址编号 16 位，BIN S 指定时钟数据（时、分、秒）的软元件首地址编号 16 位，BIN D 指定比较结果的软元件首地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● S ● ● ● ● ● ● ● ● D ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 TCMP D20 D21 D22 M0 M100 DS1 S2 S3 D20 时, M0置ON D30 S D22D21 D30 D32D31 D20 D22D21 D20 D22D21 = < > D30 D32D31 D30 D32D31 时, M1置ON 时, M2置ON 时 分 秒 时 分 秒  M100 由 OFF 变为 ON 时，TCMP 指令执行，以 D30 开始的三个寄存器（即时钟的时、分、秒）和 D20、D21、D22组成的时、分、秒进行比较，并按照比较结果置ON相应的线圈。当D20、D21、D22 组成的时、分、秒大于 D30、D31、D32，则 M0 置 ON；当 D20、D21、D22 组成的时、分、秒等于 D30、D31、D32，则 M1置 ON，当 D20、D21、D22组成的时、分、秒小于D30、D31、D32，则 M2 置 ON。  M100为 ON状态时，如果比较基准时间（D20、D21、D22）或时钟数据（D30、D31、D32）发生变 化，则比较结果也会相应地发生变化。  M100置 OFF即停止执行 TCMP指令时，M0~M2仍然保持 M100置 OFF前的状态。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 209 5）举例 TCMP D20 D21 D22 M0 M100 M0 M1 M2 D33 TRD D30 Y0 Y2 Y1 例如上例中，读得当前的时钟是 2014 年 7 月 30 日 15 时 32 分 49 秒星期三，则 D33=15，D34=32， D35=49，如果设定时钟是16 时 40分 21秒，即 D20=16，D21=40，D22=21，则 Y0=ON；如果设定时钟是 15 时 21 分 16 秒，即 D20=15，D21=21，D22=16，则 Y2=ON；如果设定时钟是 15 时 32 分 49 秒，即 D20=15，D21=32，D22=49，则 Y1=ON。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
4 应用指令说明 XD/XL 系列可编程控制器用户手册［基本指令篇］ 210 4-10-10．日期比较[DACMP] 1）指令概述 将比较基准日期与日期数据（年、月、日）进行比较的指令。 日期比较[DACMP] 16位指令 DACMP 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.4.6（或 V3.5.3a）及以上 软件要求 V3.5.3及以上 2）操作数 操作数 作用 类型 S1 指定比较基准时间“年”的软元件地址编号 16 位，BIN S2 指定比较基准时间“月”的软元件地址编号 16 位，BIN S3 指定比较基准时间“日”的软元件地址编号 16 位，BIN S 指定时钟数据（年、月、日）的软元件首地址编号 16 位，BIN D 指定比较结果的软元件首地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● S2 ● ● ● S3 ● ● ● S ● ● D ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DS 表示 DC、DHC。M 表示 M、HM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 DACMP D20 D21 D22 M0 M100 DS1 S2 S3 D20 时, M0置ON D30 S D22D21 D30 D32D31 D20 D22D21 D20 D22D21 = < > D30 D32D31 D30 D32D31 时, M1置ON 时, M2置ON 年 月 日 年 月 日  M100由 OFF变为 ON时，DACMP指令执行，以 D30开始的三个寄存器（即时钟的年、月、日）和 D20、D21、D22组成的年、月、日进行比较，并按照比较结果置ON相应的线圈。当D20、D21、D22 组成的年、月、日大于 D30、D31、D32，则 M0 置 ON；当 D20、D21、D22 组成的年、月、日等于 D30、D31、D32，则 M1置 ON；当 D20、D21、D22组成的年、月、日小于D30、D31、D32，则 M2 置 ON。  M100为 ON状态时，如果比较基准日期（D20、D21、D22）或日期数据（D30、D31、D32）发生变 化，则比较结果也会相应地发生变化。  M100置 OFF即停止执行 TCMP指令时，M0~M2仍然保持 M100置 OFF前的状态。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 4 应用指令说明 211 5）举例 DACMP D20 D21 D22 M0 M100 M0 M1 M2 D30 TRD D30 Y0 Y2 Y1 例如上例中，读得当前的时钟是 2014 年 7 月 30 日 15 时 32 分 49 秒星期三，则 D30=14，D31=7， D32=30，如果设定日期是2014年 8月 17日，即 D20=14，D21=8，D22=17，则 Y0=ON；如果设定日期是 2014 年 4 月 23 日，即 D20=14，D21=4，D22=23，则 Y2=ON；如果设定日期是 2014 年 7 月 30 日，即 D20=14，D21=7，D22=30，则 Y1=ON。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 212 5 高速计数 高速计数相关指令一览 指令助记符 功能 回路表示及可用软元件 章 节 高速计数读写 CNT 单相高速计数 CNT HSC0 K1000 5-7- 1 CNT_AB AB相高速计数 CNT_AB HSC0 K1000 5-7- 2 RST 高速计数复位 RST HSC0 5-7- 3 DMOV 高速计数读 DMOV HSC0 D0 5-7- 4 DMOV 高速计数写 DMOV D4000 HSC0 5-7- 5 CNT 单相 100段高速计数（带中断） CNT HSC0 K1000 D0 5-9- 2 CNT_AB AB相 100段高速计数 （带中断） CNT_AB HSC0 K1000 D0 5-9- 3 5-1．功能概述 XD/XL 系列 PLC 具有与可编程控制器扫描周期无关的高速计数功能，通过选择不同的计数器来实现 针对测量传感器和旋转编码器等高速输入信号的测定，其最高测量频率可达 80KHz。 【注】： ※1：输入为 NPN 模式的 PLC 请选用 DC24V 的 NPN 集电极开路输出（OC）的编码器，输入为 PNP 模 式的 PLC 请选用 DC24V 的 PNP 集电极开路输出（OC）的编码器。 COM COM X1 X0 X3 X2 X4 X5 X6 B A 传感器 旋转编码器 计数输入 ※2：XD5-48D4T4 的高速计数输入端有可以接收差分信号（DIFF）的端子，请务必选用差分信号（DIFF） 的编码器。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 213 X0- X0+ X1- X1+ X3+ X2 X3- X4+ X4- B+A+ B-A- 传感器 旋转编 码器 计数输入 ※3：当计数频率高于 25Hz 时，请选用高速计数器。 5-2．高速计数模式 XD/XL系列高速计数功能共有两种计数模式，分别为单相递增模式和AB相模式。 1）递增模式 此模式下，计数输入脉冲信号，计数值随着每个脉冲信号的上升沿递增计数。 2）AB 相模式 此模式下，高速计数值依照相位差 90°的脉冲信号（A 相和 B 相）进行递增或递减计数，根据倍频 数，又可分为二倍频和四倍频两种模式，但其默认计数模式为四倍频模式。 二倍频计数模式和四倍频计数模式分别如下：  二倍频模式 1 8 2 3 4 5 6 7 7 6 5 4 3 2 1 1 0 1 0 0 0 A相输入 B相输入 计数器 当前值 9 8 9 10 计数输入 计数器 当前值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 214  四倍频模式 5-3．高速计数值范围 高速计数器计数范围为：K-2,147,483,648 ~ K+2,147,483,647。当计数值超出此范围时，则产生上溢或 下溢现象。 所谓产生上溢，就是计数值从 K+2,147,483,647 跳转为 K-2,147,483,648，并继续计数；而当产生下溢 时，计数值从 K-2,147,483,648跳转为 K+2,147,483,647，并继续计数。 5-4．高速计数器输入端接线 对于计数脉冲输入端接线，依据可编程控制器型号及计数器类型的不同而稍加区别，其典型的几种输 入端子接线方式如下图所示（以 XD3系列 60点 PLC 的 HSC0为例） ： COM COM X1 X0 X3 X2 X4 X5 X6 计数器（HSC0） 脉冲输入 COM COM X1 X0 X3 X2 X4 X5 X6 A相计数 B相计数 计数器（HSC0） 递增模式 AB相模式 计数器 当前值 相输入 相输入


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 215 5-5．高速计数输入端口分配 1）XD 系列PLC 的高速计数路数如下表所示： PLC 型号 具有的高速计数路数 递增模式 AB 相模式 XD1 10/16/24/32点 0 0 XD2、XD3 16/24/32/42/48/60 点 3 3 XD5 16/24/32/42/48/60/80点 3 3 24T4/32T4/48T4/60T4 4 4 24D2T2 2 2 48D4T4 8 8 48T6/60T6 6 6 60T10 10 10 XDM 24T4/32T4/48T4/60T4 4 4 60T10 10 10 XDC 24/32/48/60点 4 4 XD3E 24/32/48/60点 3 3 XD5E 24/30/48/60点 3 3 30T4 4 4 60T4 4 4 60T6 6 6 60T10 10 10 XDME 30T4/60T4 4 4 60T10 10 10 XDH 24A8(L)/30A16(L)/60T4/60A32/60A64 4 4 XL1 16点 0 0 XL3 16/32点 3 3 XL3E 16/32点 3 3 XL5 16/32点 3 3 32T4 4 4 64T10 10 10 XL5E 16/32点 3 3 32T4 4 4 64T6 6 6 64T10 10 10 XL5N 32点 3 3 XLME 16T4 3 3 32T4 4 4 64T10 10 10 XLH 24A16(L)/30A32（L） 4 4 XL5H 24A8L 3 3 【注】 ：硬件版本以 H4 开头的 XL5E-64T6 支持 6 路高速计数，以 H3 开头的版本只支持 4 路高速计数。 2）高速计数输入端子的定义： U A B Z 计数脉冲输入 A 相输入 B 相输入 Z相脉冲捕捉 【注】 ：Z相信号计数功能在开发中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 216 在通常情况下，X0、X1端子在单相和 AB相模式下输入频率分别可达 80KHz和 50KHz；其它端子在 单相和 AB相模式下最高频率分别可达 10KHz和 5KHz。 当 X 输入端不作为高速输入端口使用时，可作为普通输入端子使用。表格中的倍频项中： “2”表示固 定 2 倍频， “4”表示固定 4 倍频， “2/4”表示 2、4倍频可调。具体端口分配和功能如下所示： XD2-16 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC0 HSC2 HSC4 HSC6 HSC8 最高频率 10K 10K 10K 5K 5K 5K 4 倍频 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ X000 U A X001 B X002 Z X003 U A X004 B X005 Z X006 U A X007 B XD3-16、XL3-16 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC0 HSC2 HSC4 HSC6 HSC8 最高频率 80K 10K 10K 50K 5K 5K 4 倍频 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ X000 U A X001 B X002 Z X003 U A X004 B X005 Z X006 U A X007 B X010 Z XD2-24/32/42/48/60、XD3-24/32/42/48/60、XD5-16/24/32/42/48/60/80、XD3E-24/30/48/60、 XD5E-24/30/48/60、XL3-32、XL3E-16/32、XL5-16/32、XL5E-16/32、XL5N-32T 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC0 HSC2 HSC4 HSC6 HSC8 最高频率 80K 80K 10K 50K 50K 5K 4 倍频 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ X000 U A X001 B X002 Z X003 U A X004 B X005 Z


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 217 XD2-24/32/42/48/60、XD3-24/32/42/48/60、XD5-16/24/32/42/48/60/80、XD3E-24/30/48/60、 XD5E-24/30/48/60、XL3-32、XL3E-16/32、XL5-16/32、XL5E-16/32、XL5N-32T 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC0 HSC2 HSC4 HSC6 HSC8 X006 U A X007 B X010 Z XL3-16T4、XL5-16T4、XLME-16T4、XL5H-24A8(L) 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC0 HSC2 HSC4 HSC6 HSC8 最高频率 80K 80K 80K 50K 50K 5K 4 倍频 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ X000 U A X001 B X002 Z X003 U A X004 B X005 Z X006 U A X007 B X010 Z XD5-24T4/32T4/48T4/60T4、XDM-24T4/32T4/60T4/60T4L、XDC-24/32/48/60T XD5E-30T4/60T4、XDME-30T4/60T4、XL5-32T4、XL5E-32T4、XLME-32T4、XLH-24A16/24A16L 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 最高频率 80K 80K 80K 80K 50K 50K 50K 50K 4 倍频 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ X000 U A X001 B X002 Z X003 U A X004 B X005 Z X006 U A X007 B X010 Z X011 U A X012 B X013 Z XD5-48D4T4 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 最高频率 1M 1M 1M 1M 80K 80K 80K 80K 1M 1M 1M 1M 50K 50K 50K 50K


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 218 XD5-48D4T4 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 4 倍频 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ X0+ U+ A+ X0- U- A- X1+ B+ X1- B- X2 X3+ U+ A+ X3- U- A- X4+ B+ X4- B- X5 X6+ U+ A+ X6- U- A- X7+ B+ X7- B- X10 X11+ U+ A+ X11- U- A- X12+ B+ X12- B- X13 X14 U A X15 B X16 X17 U A X20 B X21 X22 U A X23 B X24 X25 U A X26 B X27 【注】 ：XD5-48D4T4 使用 AB相 100 段高速计数中断时，2 倍频时 HSC0、HSC2、HSC4、HSC6 最高计数 频率为 220K，4 倍频时 HSC0、HSC2、HSC4、HSC6 最高计数频率为 110K。 XDH-24A8/24A8L/30A16/30A16L/60T4/60A32/60A64 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 最高频率 200K 200K 200K 200K 100K 100K 100K 100K 4 倍频 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ X000 U A X001 B X002 Z


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 219 XDH-24A8/24A8L/30A16/30A16L/60T4/60A32/60A64 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 X003 U A X004 B X005 Z X006 U A X007 B X010 Z X011 U A X012 B X013 Z XD5-24D2T2、XLH-30A32 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 最高频率 1M 1M 80K 80K 1M 1M 50K 50K 4 倍频 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ X0+ U+ A+ X0- U- A- X1+ B+ X1- B- X2 X3+ U+ A+ X3- U- A- X4+ B+ X4- B- X5 X6 U A X7 B X10 X11 U A X12 B X13 X14 X15 【注】 ：XD5-24D2T2 使用 AB相 100 段高速计数中断时，2 倍频时 HSC0、HSC2 最高计数频率为 220K，4 倍频时 HSC0、HSC2 最高计数频率为 110K。 XD5-48T6/60T6、XD5E-60T6、XL5E-64T6 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 最高频率 80K 80K 80K 80K 80K 80K 50K 50K 50K 50K 50K 50K 4 倍频 2/4 2/4 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ √ √ √ √ X000 U A X001 B X002 Z


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 220 XD5-48T6/60T6、XD5E-60T6、XL5E-64T6 单相递增模式 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 X003 U A X004 B X005 Z X006 U A X007 B X010 Z X011 U A X012 B X013 Z X014 U A X015 B X016 Z X017 U A X020 B X021 Z 【注】 ：硬件版本以 H4 开头的 XL5E-64T6 支持 6 路高速计数，以 H3 开头的版本只支持 4 路高速计数。 XD5-60T10、XDM-60T10、XD5E-60T10、XDME-60T10、XL5-64T10、XL5E-64T10、XLME-64T10 单相递增模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 HSC16 HSC18 HSC20 HSC22 最高频率 80K 80K 80K 80K 80K 80K 80K 80K 80K 80K 4 倍频 计数中断 √ √ √ √ √ √ √ √ √ √ X000 U X001 X002 X003 U X004 X005 X006 U X007 X010 X011 U X012 X013 X014 U X015 X016 X017 U X020 X021 X022 U X023 X024 X025 U X026 X027 X030 U X031 X032 X033 U X034


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 221 XD5-60T10、XDM-60T10、XD5E-60T10、XDME-60T10、XL5E-64T10、XLME-64T10 AB 相模式 HSC0 HSC2 HSC4 HSC6 HSC8 HSC10 HSC12 HSC14 HSC16 HSC18 HSC20 HSC22 最高频率 50K 50K 50K 50K 50K 50K 50K 50K 50K 50K 4 倍频 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 计数中断 √ √ √ √ √ √ √ √ √ √ X000 A X001 B X002 Z X003 A X004 B X005 Z X006 A X007 B X010 Z X011 A X012 B X013 Z X014 A X015 B X016 Z X017 A X020 B X021 Z X022 A X023 B X024 Z X025 A X026 B X027 Z X030 A X031 B X032 Z X033 A X034 B X035 Z 5-6．AB 相计数倍频设置方式 对于 AB相计数，可通过对特殊 FLASH数据寄存器 SFD321，SFD322，SFD323……SFD330内数据修 改来设定倍频值，当值为 2 时为 2倍频，当值为 4时为 4倍频。 寄存器名称 功能 设置值 含义 SFD320 HSC0的倍频数 2 2倍频 4 4倍频 SFD321 HSC2的倍频数 2 2倍频 4 4倍频


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 222 寄存器名称 功能 设置值 含义 SFD322 HSC4的倍频数 2 2倍频 4 4倍频 SFD323 HSC6的倍频数 2 2倍频 4 4倍频 SFD324 HSC8的倍频数 2 2倍频 4 4倍频 SFD325 HSC10的倍频数 2 2倍频 4 4倍频 SFD326 HSC12的倍频数 2 2倍频 4 4倍频 SFD327 HSC14的倍频数 2 2倍频 4 4倍频 SFD328 HSC16的倍频数 2 2倍频 4 4倍频 SFD329 HSC18的倍频数 2 2倍频 4 4倍频 【注】 ：SFD 寄存器修改后，需要将高速计数器重启（即：将驱动条件断开再重新导通）才能使新的配置生 效！


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 223 5-7．高速计数相关指令 本节介绍单相高速计数指令（CNT）、AB相高速计数指令（CNT_AB） 、高速计数的复位、高速计数的 读取和写入的用法。 5-7-1．单相高速计数[CNT] 1）指令概述 单相高速计数的指令。 单相高速计数[CNT] 16位指令 - 32 位指令 CNT 执行条件 常开/闭线圈 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定高速计数器（如：HSC0） 32位，BIN S2 指定比较值（如：K100，D0） 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 只能为 HSC S2 ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 CNT HSC0 D20 S1. S2.M0  M0 导通时，高速计数器 HSC0 对 X0 端口进行单相高速计数，将高速计数值与寄存器 D20 里面设定 的数值进行比较，当高速计数值与设定值相等时，会立即将线圈HSC0置 ON，计数值累计在 HSCD0 （双字）中。  计数到，如果驱动条件 M0尚未断开，HSC0将保持 ON状态，同时继续计数，HSCD0中的计数值也 将继续累加。  计数到，驱动条件 M0也断开了，则 HSC0将保持 ON状态，HSCD0中的计数值仍将保持，不会被清 零。  计数过程中，如果 M0 断开，然后重新导通 M0，则 HSCD0 中的值会接着上一次的计数值继续累加。  计数过程中， 如果D20中的设定值改变， 而当前计数值小于新的设定值， 则按照新的设定值进行比较。  单相高速计数的边沿模式可通过 SFD310~SFD313（分别对应 HSC0~HSC6）设置。以 HSC0 为例， SFD310为 0：表示上升沿计数；为 1：表示下降沿计数；为 2：表示上升、下降沿都计数。 【注】 ：此功能仅固件版本V3.4.6 及以上的 PLC 支持。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 224 5-7-2．AB 相高速计数[CNT_AB] 1）指令概述 AB相高速计数的指令。 AB 相高速计数[CNT_AB] 16位指令 - 32 位指令 CNT_AB 执行条件 常开/闭线圈 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定高速计数器（如：HSC0） 32位，BIN S2 指定比较值（如：K100，D0） 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 只能为 HSC S2 ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 CNT_AB HSC0 D20 S1. S2.M0  M0 导通时，高速计数器 HSC0 对 X0、X1 端口进行 AB 相高速计数，将高速计数值与寄存器 D20 里 面设定的数值进行比较，当高速计数值与设定值相等时，会立即将线圈 HSC0 置 ON，计数值累计在 HSCD0（双字）中。  计数到，如果驱动条件 M0尚未断开，HSC0将保持 ON状态，同时继续计数，HSCD0中的计数值也 将继续累加。  计数到，驱动条件 M0也断开了，则 HSC0将保持 ON状态，HSCD0中的计数值仍将保持，不会被清 零。  计数过程中，如果 M0 断开，然后重新导通 M0，则 HSCD0 中的值会接着上一次的计数值继续累加。  计数过程中， 如果 D20中的设定值改变， 而当前计数值小于新的设定值， 则按照新的设定值进行比较。 5-7-3．高速计数复位模式[RST] 高速计数器的复位方式为软件复位方式。 CNT HSC0 K12000 M0 M1 RST HSC0 如左图，当 M0置 ON，HSC0开始对 X0端口的脉 冲输入进行计数；当 M1 由 OFF 变为 ON 时，对 HSC0进行复位，同时 HSCD0（双字）中的计数值 被清零。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 225 5-7-4．高速计数值读取[DMOV] 1）指令概述 将高速计数值读取至指定数据寄存器中的指令。 高速计数值读取[DMOV] 16位指令 - 32 位指令 DMOV 执行条件 常开/闭、边沿触发 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定高速计数器的编号 32位，BIN D 指定读取的软元件地址编号 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S 只能为 HSC D ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 DMOV HSC0 D10 S. D.  当触发条件成立时，将高速计数器HSC0对应的累计寄存器 HSCD0（双字）内的高速计数值读取至数 据寄存器 D10（双字）中。  高数计数器不能直接参与除 DMOV以外的任何应用指令或数据比较指令（如DMUL、LD>等） ，而必 须通过读写指令转化成其它寄存器后方可进行。  由于高速计数是双字计数器，所以应使用 32位指令，故此处是 DMOV传送。  DMOV指令一般与高速计数指令配合使用，见下面的程序例。 SM0 DMOV HSC0 D10 D≥ D10 K1000 （ ） D≥ D20 K1000 S CNT_AB HSC0 K999999999 SM0 DMOV HSC2 D20 CNT HSC2 K999999999 Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 226 5-7-5．高速计数值写入[DMOV] 1）指令概述 将指定寄存器中的数值写到高速计数器中的指令。 高速计数值写入[DMOV] 16位指令 - 32 位指令 DMOV 执行条件 常开/闭、边沿触发 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S 指定高速计数器的编号 32位，BIN D 指定写入的软元件地址编号 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D 只能为 HSC 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 DMOV D20 HSC0 S. D.M0  当触发条件成立时， 将双字数据寄存器D20内数值写入至高速计数器 HSC0对应的累计寄存器 HSCD0 （双字）内，原有数据被取代。  高数计数器不能直接参与除 DMOV以外的任何应用指令或数据比较指令（如DMUL、LD>等） ，而必 须通过这两条指令转化成其它寄存器后方可进行。  DMOV指令一般与高速计数指令配合使用。  由于高速计数是双字计数器，所以应使用 32位指令，故此处是 DMOV传送。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 227 5-7-6．高速计数与普通计数的区别 高速计数器的驱动指令虽然与普通计数器的写法一样，均使用“CNT” ，但其功能却大为不同： 普通计数器的导通条件“M0”，当 M0由 OFF变为 ON一次，普通计数器的值加 1。 高速计数器在计数时前面的导通条件必须处于常闭状态，此时相当于该高数计数器被启用，但是高数 计数器的值并不改变，只有当相对应的外部信号输入端子接收到信号时，高数计数器才进行计数。如果外 部信号输入端子有信号输入，而其触发条件没有闭合，则高数计数器也不会计数。 二者的区别如下表所示： 计数器类别 指令格式 功能 普通计数器 CNT C0 K2000 M0 对 M0 的 OFF→ON 的次数进行增计数，当计数值 达到 2000时，C0置 ON。 高速计数器 CNT HSC0 K2000 M0 当 M0导通时，对 X0端口的脉冲输入进行增计数， 当计数值达到 2000 时，HSC0 置 ON；且在高速计 数过程中，M0必须始终处于导通状态。 5-8．高速计数举例 下面以 XD3系列 60点 PLC为例介绍高速计数方式的编程方式： 1）单相递增模式 CNT HSC0 K2000 M0 M1 RST HSC0  HSC0在 M0为 ON时，对输入 X0端口的 OFF→ON 上升沿进行高速计数。  当 M1上升沿来临时，将高速计数器 HSC0复位，HSCD0（双字）清零。 SM0 DMOV HSC0 CNT HSC0 K88888888 M1 RST HSC0 D＜ D0 D2 Y0 D≥ D0 D2 D0 D＜ D4 D≥ D0 D4 ( ) Y1 Y2 D0 ( ) ( )  当运行常 ON线圈 SM0置 ON时， 高速计数器HSC0对 X0端口进行单相高速计数， 设置值为K88888888， 并将高速计数值实时读取至数据寄存器 D0（双字）中。  当 D0（双字）中的高速计数值小于数据寄存器 D2（双字）内的数值时，输出线圈 Y0 置 ON；当 D0 （双字）中高速计数值大于等于数据寄存器 D2（双字）内数值而小于数据寄存器 D4（双字）内数值 时，输出线圈 Y1置 ON；当 D0（双字）中高速计数值大于等于数据寄存器D4（双字）内数值时，输 出线圈 Y2置 ON。  当 M1上升沿来临时，将高速计数器 HSC0复位，HSCD0（双字）清零。 由于高速计数值是 32 位的，故此处的指令全 部为 32 位指令，如DMOV，DLD＜，DLD≥


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 228  由于高速计数是双字计数器，故作比较时需要使用双字比较指令DLD＜，DLD≥。 2）AB 相模式 M8 DMOV HSC0 D0 D≥ D0 K3000 CNT_AB HSC0 K999999 SM0 Y2 M9 RST HSC0 ( )  M8为 ON时，HSC0就立即开始计数。计数输入是通过 X0（A 相） 、X1（B相）端口输入的。  SM0常 ON线圈， 计数器HSC0对应的累计寄存器 HSCD0（双字） 中的计数值被实时写入D0（双字） 中。  当前计数值超过 K3000时，则输出线圈 Y2为 ON。  当 M9上升沿来临时，则将高速计数器 HSC0复位，HSCD0（双字）被清零。 SM0 DMOV HSC0 CNT_AB HSC0 K88888888 D＜ D0 K0 Y0 D≥ D0 K100 D0 D＜ K200 D≥ D0 K200 Y1 Y2 D0 SM2 RST HSC0 D≥ D0 K100 ( ) ( ) ( )  当初始正向脉冲线圈 SM2 上升沿来临时，即每次扫描周期开始时，高速计数器 HSC0 复位，HSCD0 中的计数值清零。  当线圈 SM0置 ON时， HSC0开始对 X0、X1端口进行 AB相高速计数，计数设定值为 K88888888， 同时 HSCD0（双字）中的计数值被实时写入 D0（双字）中。  当 D0（双字）中的计数值大于 K0而小于 K100时，输出线圈 Y0 置 ON；当 D0（双字）中的计数值 大于等于 K100而小于 K200时， 输出线圈Y1置 ON； 而当D0（双字） 中的计数值大于等于K200时， 输出线圈 Y2置 ON。  由于高速计数是双字计数器，故作比较时需要使用双字比较指令DLD≥，DLD＜。 由于高速计数值是 32 位的，故此处的指令全 部为 32 位指令，如DMOV，DLD≥，DLD＜


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 229 5-9．高速计数中断 5-9-1．功能概述及面板配置方法 对于 XD/XL系列 PLC， 部分高速计数器 （具体可参照5-5节各型号 PLC的高速计数输入端口分配表） 拥有 1~100 段 32 位的设定值，当高速计数差值等于相应 100 段设定值时，则根据其对应的中断标记产生 中断。 设定了 N段设定值，就要有 N 段对应的中断标记及中断程序。各高速计数器对应的中断标记见5-9-4 节。 使用高速计数中断功能时，可直接书写指令（见 5-9-2、5-9-3 章节内容） ，也可以通过软件面板配 置，在信捷 PLC编程工具软件中，单击“ ” ，弹出如下所示的配置面板： 在此面板中，可配置高数计数中断的相关参数，以上图中的设置为例，说明各参数的作用： 参数选项 可配置项 作用 单相 100段高速计数 配合单相递增模式的高速计数使用 100段 AB相高速计数 配合 AB相模式的高速计数使用 HSC0~HSC18（32位） 与高速输入端口相对应的高速计数器编号 可自由指定 当计数值与该寄存器中的值相等时，HSC0置 ON 可自由指定 计数到比较值时，HSC0置 ON，比较值可单独指 定，也可以放在比较寄存器 D500中 相对 当计数值＝计数器第 N-1 段中断的计数值＋第 N 段设定值时，产生第 N段中断 绝对 当计数值等于设定值时，产生中断 可自由指定 100 段高速计数中断设定值存储在 HD100为首的 寄存器中， 设定值依次存放在双字寄存器HD100、 HD102、HD104……中 中断循环 必须是相对模式下才能使用，当中断全部结束， 仍可循环产生高速计数中断 凸轮 必须是绝对模式下才能使用，当计数值等于任意 一段设定值时，产生中断


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 230 参数选项 可配置项 作用 1~100可选 如果设为 3，则表示执行 3 段高速计数中断 可自由指定 每段对应一个中断计数值，这些值将被写入 HD100为首的地址块中； 何时中断由相对/绝对计 数模式决定 关于以上参数的详细用法请参见后续章节的内容。 写入 PLC，并点击“确定”后，高速计数中断指令配置完成，如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 231 5-9-2．单相100 段高速计数[CNT] 1）指令概述 单相 100段高速计数的指令。 单相100 段高速计数[CNT] 16位指令 - 32 位指令 CNT 执行条件 常开/闭 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定高速计数器（如：HSC0） 32位，BIN S2 指定比较值（如：K100，D0） 32位，BIN S3 指定 100段设置值 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 只能为 HSC S2 ● ● ● ● ● ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 CNT HSC0 HD0 S1. S2.M0 HD100 S3.  高速计数器 HSC0进行单相高速计数时， 将高速计数值与寄存器HD100为首地址的数据块 （如HD102， HD102，HD104等双字寄存器）中设定的数值进行比较，满足条件时，会立即产生对应的高速计数中 断，每段对应的中断标记见 5-9-4 节。  在高速计数过程中，修改 100段设定值无效。  在高速计数过程中，驱动条件M0不可断开，如若断开后再重新导通M0，也不会发生中断，必须先将 高速计数器复位清零，再重新导通 M0才能产生中断。  单次执行时，当中断执行完毕，要想重新启动中断，必须先将高速计数器复位清零，之后将驱动条件 重新导通。  中断循环模式下，只要 M0保持 ON状态，中断可以不断地按顺序循环产生。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 232 5-9-3．AB 相 100 段高速计数[CNT_AB] 1）指令概述 高速计数 100段 AB相高速计数的指令。 高速计数100 段 AB 相[CNT_AB] 16位指令 - 32 位指令 CNT_AB 执行条件 常开/闭 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定高速计数器（如：HSC0） 32位，BIN S2 指定比较值（如：K100，D0） 32位，BIN S3 指定 100段设置值 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 只能为 HSC S2 ● ● ● ● ● ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 CNT_AB HSC0 HD0 S1. S2.M0 HD100 S3.  高速计数器 HSC0 进行 AB 相高速计数时，将高速计数值与寄存器 HD100 为首地址的数据块（如 HD100，HD102，HD104等双字寄存器）中设定的数值进行比较，满足条件时，会立即产生对应的高 速计数中断，每段对应的中断标记见 5-9-4节。  在高速计数过程中，修改 100段设定值无效。  在高速计数过程中，驱动条件M0不可断开，如若断开后再重新导通M0，也不会发生中断，必须先将 高速计数器复位清零，再重新导通 M0才能产生中断。 单次执行时，当中断执行完毕，要想重新启动中断，必须将高速计数器复位清零。  中断循环模式下，只要 M0保持 ON状态，中断可以不断地按顺序循环产生。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 233 5-9-4．高速计数器对应的中断标记 每个计数器 100段设定值所对应的中断标记如下表所示。例如，计数器HSC0 的 100段设定值对应的 中断标记分别为：I2000、I2001、I2002、…I2099。 计数器 中断标记 第 1 段 第 2 段 第3 段 …… 第N 段 第 100 段 HSC0 I2000 I2001 I2002 …… I（2000+N-1） I2099 HSC2 I2100 I2101 I2102 …… I（2100+N-1） I2199 HSC4 I2200 I2201 I2202 …… I（2200+N-1） I2299 HSC6 I2300 I2301 I2302 …… I（2300+N-1） I2399 HSC8 I2400 I2401 I2402 …… I（2400+N-1） I2499 HSC10 I2500 I2501 I2502 …… I（2500+N-1） I2599 HSC12 I2600 I2601 I2602 …… I（2600+N-1） I2699 HSC14 I2700 I2701 I2702 …… I（2700+N-1） I2799 HSC16 I2800 I2801 I2802 …… I（2800+N-1） I2899 HSC18 I2900 I2901 I2902 …… I（2900+N-1） I2999 5-9-5．相对、绝对模式下的设定值含义 相对、绝对模式下，高速计数中断设定值的含义有所不同，相对/绝对模式可在软件面板中设置，也可 通过特殊 Flash寄存器 SFD330来修改：（注意：必须将驱动条件断开再导通才能使配置生效） 0：相对模式； 1：绝对模式。 1）相对模式 相对模式下，高速计数 100段设定值为相对累加值，当计数值等于计数器第N-1 段中断时的计数值与 第 N 段设定值之和时，产生第 N段中断。 N 个中断标记对应 N个中断设定值，第 N+1个中断设定值寄存器保留，勿作他用。 例 1：计数器 HSC0 的当前值是 0，第一段设定值是 10000，第 2 段设定值是-5000，第 3 段的设定值 是 20000。当开始计数时，计数器的当前值为10000时，产生第1段设定值中断 I2000；计数器的当前值为 5000时，产生第 2段设定值中断 I2001；当计数器当前值等于 25000时，产生第 3 段设定值中断 I2002。 其示意图如下所示： HSC0 HD0 HD1 HSC0=K0+K10000=K10000 I2000 HD2 HD3 HD4 HD5 K0 K10000 K-5000 K20000 HSC0=K10000+（K-5000）=K5000 I2001 HSC0=K5000+K20000=K25000 I2002 例 2：计数器 HSC2 的当前值是 10000，第一段设定值是 10000，第 2 段设定值是 5000，第 3 段的设 定值是 20000。当开始计数时，计数器的当前值为 20000时，产生第1段设定值中断 I2100；计数器的当前 值为 25000 时，产生第 2 段设定值中断 I2101；当计数器当前值等于 45000 时，产生第 3 段设定值中断 I2102。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 234 其示意图如下所示： HSC2 HD0 HD1 HSC2=K10000+K10000=K20000 I2100 HD2 HD3 HD4 HD5 K10000 K10000 K5000 K20000 HSC2=K20000+K5000=K25000 I2101 HSC2=K25000+K20000=K45000 I2102 2）绝对模式 绝对模式下，当计数值等于计数器各段设定值时，产生中断。N 个中断标记对应 N个中断设定值，第 N+1 个中断设定值寄存器保留，勿作他用。 例 1：计数器 HSC0的当前值是 0，第一段设定值是 10000，第 2 段设定值是 15000，第 3段的设定值 是 20000。当开始计数时，计数器的当前值为10000时，产生第1段设定值中断 I2000；计数器的当前值为 15000 时，产生第 2 段设定值中断 I2001；当计数器当前值等于 20000 时，产生第 3 段设定值中断 I2002。 其示意图如下所示： HSC0 HD0 HD1 HSC0=K10000 I2000 HD2 HD3 HD4 HD5 K0 K10000 K15000 K20000 HSC0=K15000 I2001 HSC0=K20000 I2002 例 2：计数器 HSC2的当前值是 5000，第一段设定值是 10000，第 2 段设定值是 5000，第 3段的设定 值是 20000。当开始计数时，计数器的当前值为10000时，产生第1段设定值中断 I2100；计数器的当前值 为 5000时， 产生第2段设定值中断 I2101； 当计数器当前值等于20000时， 产生第3段设定值中断 I2102。 其示意图如下所示： HSC2 HD0 HD1 HSC2=K10000 I2100 HD2 HD3 HD4 HD5 K5000 K10000 K5000 K20000 HSC2=K5000 I2101 HSC2=K20000 I2102


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 235 注意：非凸轮模式下的绝对计数时，计数中断是按顺序依次产生的，即先产生第1段中断，再产生第 2 段中断，再产生第 3 段中断……当某段中断产生之后，即使计数值再次达到该段中断的设定值，也不会 产生中断。 如上例中，计数值在发生过第 1、2段中断后，如果此时计数值由 4000再增加至 5000、10000时，第 2 和第 1 段中断也不会发生，当计数值继续增加至 20000时，产生第三段中断。 5-9-6．高速计数中断的循环模式 模式 1：单次执行（常规模式） 。 默认情况下，高速计数中断结束之后便不再发生，如要重新启动中断必须按以下步骤操作： （1）首先对高速计数器进行软件复位； （2）断开高速计数触发条件并重新接通。 单次执行时，中断按下面的顺序产生： 第1段中断 第2段中断 第3段中断 第N段中断 最后一段中断…… …… 模式 2：中断循环。 中断循环仅适用于相对计数模式。在中断循环模式下，中断结束之后将自动重新开始。该模式特别适 用于以下场合： （1）连续往复运动； （2）按定脉冲产生周期中断。 中断循环（不启用凸轮功能）时，中断按下面的顺序产生： 第1段中断 第2段中断 第3段中断第N段中断 最后一段中断 以上两种模式的切换，可直接通过面板设置，也可对特殊 Flash 寄存器 SFD331 的位进行设置，具体 分配如下所示：（注意：必须将驱动条件断开再导通才能使配置生效） 地址号 高速计数器号 设置 Bit0 100段高速计数中断循环（HSC0） 0：单次执行 1：连续循环 Bit1 100段高速计数中断循环（HSC2） Bit2 100段高速计数中断循环（HSC4） Bit3 100段高速计数中断循环（HSC6） Bit4 100段高速计数中断循环（HSC8） Bit5 100段高速计数中断循环（HSC10） Bit6 100段高速计数中断循环（HSC12） Bit7 100段高速计数中断循环（HSC14） Bit8 100段高速计数中断循环（HSC16） Bit9 100段高速计数中断循环（HSC18）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 236 5-9-7．高速计数中断的凸轮功能 高速计数凸轮：在设定好所有中断设定值后，选择高速计数凸轮功能，当高速计数的数值与设定的所 有中断设定值中任一数值相等时，立即执行对应的高速计数中断（与 100 段高速计数中断标记相同） ，当 高速计数值增减反复变化时可重复执行同一凸轮高速中断。 高速计数凸轮不仅可以完全实现普通电子凸轮的循环顺序中断功能，还能够实现单循环中正反单点多 次产生中断的功能，广泛的应用于高速绕线机、包装机等控制系统中。 注意：凸轮功能仅适用于绝对计数模式。 凸轮功能可通过信捷 PLC 编辑工具软件中的配置面板设置，也可以通过特殊 Flash寄存器 SFD332来 设定：（注意：必须将驱动条件断开再导通才能使配置生效） 0：不启用凸轮功能 1：启用凸轮功能 例：在以寄存器 HD0（双字）开始的连续 4 个双字寄存器中存放 4个数值，当高速计数器 HSC0开始 进行高速计数时，如果 HSC0 的计数值等于四个寄存器里面任意一个数值时就立即产生对应的中断信号， 如下图所示： HD0 HD2 HD4 HD6 HSC0 t I2000 I2001 I2001I2002 I2002 I2002I2003 5-9-8．中断使用注意点及部分参数地址 M0 CNT_AB HSC0 K2000 M1 RST HSC0 HD0 LD M0 // 高速计数触发条件 M0（同时也是中断计数条件） CNT_AB HSC0 K2000 HD0 //高速计数值及 100 段首地址设定 LDP M1 // 高速计数复位触发条件 RST HSC0 / /高速计数及 100段复位（同时也对中断复位） 如上例所示（注意：略去了中断子程序，中断程序见 5-9-9 节的应用举例），数据寄存器 HD0 为 100 段设定值设置区域起始地址，而后依次以双字形式存放 100段设定值。 使用高速计数中断应注意以下几点： ① 最后一段设定值其后的一个寄存器无需赋 0值，只要保留，勿作他用。例如设置了3段设定值，第


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 237 一段 HD0，第二段 HD2，第三段 HD4，则 HD6要保留，不能用在其他地方。 ② 不允许出现设定了中断设定值而未编写相应中断程序的情况，否则将会出错。 ③ 高速计数的 100 段中断为依次产生，也就是说，倘若第一段中断未产生，则第二段中断也不会产 生。 ④ 高速计数运行过程中， 如果用DMOV、ADD等指令改变了当前计数值 （如DMOV K1000 HSCD0 ）， 此时中断值仍保持不变。所以在高速计数的运行过程中，建议客户不要用 DMOV、ADD 等指令随意修改 HSCD的值。 部分参数可在特殊 Flash寄存器中修改，具体见下表： 参数 寄存器地址 设定值 计数模式 SFD330 0：相对； 1：绝对 执行模式 SFD331 0：单次执行； 1：中断循环 凸轮功能 SFD332 0：不启用凸轮功能； 1：启用凸轮功能 以上参数也可通过配置面板来配置，配置方式如下： 将鼠标移至高速计数指令上右击， 在下拉菜单中选择 “CNT_AB指令参数配置” ， 将会出现配置面板， 在此窗口中对参数进行配置。如下图所示： 5-9-9．高速计数中断应用举例 例 1：M0置 ON时， 高速计数器HSC0开始计数， 高速计数中断值存放在HD0为首地址的寄存器中， 当达到设定值时，产生相应中断；而当 M1上升沿来临时，将计数器 HSC0清零。 方法一（通过上位机软件配置） ：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 238 注： 配置项 说明 高速计数器 在此选择需要的高速计数器，此处选择 HSC0 倍频 选择高速计数器的倍频，默认为 4倍频 比较值 设置比较值， 可以为寄存器或者是常数； 计数到，HSC0置 ON； 此处设为200000， 并存放在 D10中 相对与绝对 选择高速计数中断是相对模式还是绝对模式，此处为相对模式 100段中断基地址 存放 100段每段中断计数值的起始寄存器；此处为 HD0 中断循环 100 段高速计数中断是否需要循环执行；这里不勾选 凸轮 100 段高速计数中断的任意设定值等于计数值时执行凸轮功能；这里不勾选 方法二（通过梯形图编程） ： M0 DMOV K10000 CNT_AB HSC0 D10 HD0 SM0 RST HSC0 DMOV K-10000 HD2 DMOV K200000 D10 HD0 M1 FEND SM0 INC D0 I2000 IRET SM0 INC D1 I2001 IRET 指令形式： LD SM0 //SM0为常 ON线圈 DMOV K10000 HD0 //将第一段预置值 HD0设为 10000 DMOV K-10000 HD2 //将第二段预置值 HD2设为-10000 DMOV K200000 D10 //设定高速计数比较值 LD M0 // 高速计数触发条件 M0 CNT_AB HSC0 D10 HD0 //高速计数中断指令 LDP M1 // 高速计数复位条件 M1 RST HSC0 //高速计数以及 24段复位 FEND // 主程序结束 I2000 //第一段中断标记 LD SM0 //SM0为常 ON线圈 INC D0 //D0内数值加 1 IRET // 中断返回标记 I2001 //第二段中断标记 LD SM0 //SM0为运行常 ON线圈 INC D1 //D1 内数值加 1 IRET // 中断返回标记


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 239 例 2：横编机应用案例（连续循环模式） 系统原理如下图所示：通过PLC控制变频器的相关端子，从而达到有效控制电动机的目的，同时经过 编码器的反馈信号，对横编机进行有效控制，即进行精确定位，同时通过观察高速计数器数值来测试 100 段设定值中断的精确度。 HSC0=K0+K75000 HSC0=K75000+K15000 HSC0=K90000+(K-75000) HSC0=K15000+(K-15000) I2002 I2003 I2000 I2001 反向 低速运转反向高速运转 正向 低速运转正向高速运转 脉冲频率f 以下为 PLC程序，其中主要软元件功能如下： Y2：正转输出信号； Y3：反转输出信号； Y4：段速 1输出信号； HSC2：来回次数累计计数器； HSC0：AB相高速计数器。 驱动 段速 1控制 AB相高速计数输入 反 馈 信 号 控制 正转，反转控制 可编程控制器 PLC V5系列变频器 电动机 编码器 横编机 正转 反转 时间 t


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
5 高速计数 XD/XL 系列可编程控制器用户手册［基本指令篇］ 240 面板中参数配置如下图所示： 程序部分如下所示： SM0 CNT HSC2 CNT_AB HSC0 D0 K1000000 DMOV HSC0 D200 D100 SM2 FEND SM0 I2000 IRET SM0 I2001 IRET ( ) Y2 S Y2 ( ) Y4 S ( ) Y4 R ( ) Y2 R ( ) Y3 S


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 5 高速计数 241 I2002 SM0 ( ) Y4 S IRET SM0 I2003 IRET ( ) Y3 R ( ) Y4 R ( ) Y2 S 梯形图转换为命令语句如下： LD SM2 //SM2为初始正向脉冲线圈 SET Y2 // 输出线圈 Y2置位（即开始正转运行） LDP Y2 // 横编机往复次数计数触发条件 Y2（即正转上升沿触发） CNT HSC2 K1000000 // 计数器 HSC2 开始计数 LD SM0 //SM0为运行常 ON线圈 CNT_AB HSC0 D0 D100 //高速计数及 100段首地址设定 DMOV HSC0 D200 // 读 HSC0高速计数值到 D200 FEND // 主程序结束 I2000 //第一段中断标记 LD SM0 //SM0为运行常 ON线圈 SET Y4 // 输出线圈 Y4 置 ON（即按段速 1低速运行） IRET // 中断返回标记 I2001 //第二段中断标记 LD SM0 //SM0为运行常 ON线圈 RST Y4 // 输出线圈 Y4复位（即低速运行停止） RST Y2 // 输出线圈 Y2复位（即正转运行停止） SET Y3 // 输出线圈 Y3置位（即反转运行） IRET // 中断返回标记 I2002 //第三段中断标记 LD SM0 //SM0为运行常 ON线圈 SET Y4 //输出线圈 Y4置位（即按段速 1低速运行） IRET // 中断返回标记 I2003 //第四段中断标记 LD SM0 //SM0为运行常 ON线圈 RST Y3 // 输出线圈 Y3复位（即反转运行停止） RST Y4 //输出线圈 Y4复位（即低速运行停止） SET Y2 // 输出线圈 Y2置位（即正转运行） IRET // 中断返回标记


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 242 6 通讯功能 通讯功能相关指令一览 指令助记符 功能 回路表示及可用软元件 章节 MODBUS 通讯 COLR 线圈读 6-2-5-1 INPR 输入线圈读 INPR S1 S2 S3 D1 D2 6-2-5-2 COLW 单个线圈写 COLW D1 D2 S1 S2 6-2-5-3 MCLW 多个线圈写 MCLW D1 D2 D3 S1 S2 6-2-5-4 REGR 寄存器读 REGR S1 S2 S3 D1 D2 6-2-5-5 INRR 输入寄存器读 INRR S1 S2 S3 D1 D2 6-2-5-6 REGW 单个寄存器写 REGW D1 D2 S1 S2 6-2-5-7 MRGW 多个寄存器写 MRGW D1 D2 D3 S1 S2 6-2-5-8 自由格式通讯 SEND 发送数据 SEND D10 D100 K2 6-3-4-1 RCV 接收数据 RCV D20 D200 K2 6-3-4-2 串口参数的读取和写入 CFGCR 串口参数读 CFGCR HD0 K7 K2 6-5-1 CFGCW 串口参数写 CFGCW HD0 K8 K2 6-5-2 COLR S1 S2 S3 D1 D2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 243 6-1．概述 XD/XL系列可编程控制器本体（固件版本 V3.2及以上、上位机软件 V3.2.2及以上）提供了多途径的 通讯手段，能满足用户各种通讯和网络需求。它不仅支持 Modbus RTU、Modbus ASCII，还支持自由格式 通讯以及现场总线 X-NET。因此，通过XD/XL系列 PLC能与各种通讯协议的设备进行通讯，例如：打印 机、仪表等。 6-1-1．通讯口 1）通讯口 XD/XL系列 PLC有多种端口，如USB口、以太网口、COM0~COM5、COM2-RS232、COM2-RS485。 各系列 PLC对端口的支持可参见下表： ×不支持 √支持 USB RJ45 COM0 COM1 COM2- RS232 COM2- RS485 COM3 COM4 COM5 XD1 × × √ √ × √ × × × XD2 × × √ √ × √ √ √ √ XD3 √ × × √ × √ √ √ √ XD5 √ × × √ × √ √ √ √ XDM √ × × √ × √ √ √ √ XDC × × × √ √ √ √ √ √ XD3E × √ × √ × √ √ √ √ XD5E × √ × √ × √ √ √ √ XDME × √ × √ × √ √ √ √ XDH × √ × √ × √ √ × × XL1 × ※1 × √ √ × √ × × × XL3 √ × × √ × √ √ × × XL3E × √ × √ × √ √ × × XL5 √ × × √ × √ √ × × XL5E × √ × √ × √ √ × × XL5N × √ × √ × √ √ × × XLME × √ × √ × √ √ × × XLH × √ × √ × √ √ × × XL5H × √ × √ × √ √ × × 【注】 ： ※1：XL1-16T-U 配备 USB 口。 ※2：打“√”的系列 PLC 中可能有个别型号产品不支持 COM2~COM5，具体见本书附录 5。 XD系列各通讯口分布位置如下所示： 【注】 ：XD5E/XDME/XDH 的输出端子排最左侧为 RS232 口。 ● COM COM X0 X1 X2 X3 X4 X5 X6 X7 COM0 24V 0V ● A B COM0 Y0 COM1 Y1 COM2 Y2 COM3 Y3 COM4 Y4 Y5 COM5 Y6 Y7 COM6 Y10 Y11 Y12 Y13 COM7 Y14 Y15 Y16 Y17 COM8 Y20 Y21 Y22 Y23 COM9 Y24 Y25 Y26 Y27● ● ● PWR RUN ERRXD3-60R-E 3210 4 3210 Y 65 7 7654 X PROGRAMMABLE CONTROLLER X10 X11 X12 X13 X14 X15 X16 X17 X20 X21 X22 X23 X24 X25 X26 X27 X30 X31 X32 X33 X34 X35 X36 X37 X40 X41 X42 X43 COM4 COM5 COM2-RS485 TYPE:XD3-48R-E DATE:20120701 SN:201208021525 Xinje Electronic Co.,Ltd COM3 USB口/RJ45/COM0 /COM2-RS232 COM1/RJ45


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 244 XL系列各通讯口分布位置如下所示： 2）各通讯口定义及功能如下表所示： 名称 外观 接口定义 支持协议 功能 COM0 RS232口 X-NET Modbus 可下载程序， 通讯参数可通过编程软件或串 口配置软件 XINJEConfig重新设置 COM1 RS232口 Modbus RTU Modbus ASCII 自由格式通讯 X-NET 可下载程序和连接外部设备， 通讯参数可通 过编程软件或串口配置软件 XINJEConfig 重新设置 COM2- RS232 RS232口 Modbus RTU Modbus ASCII 自由格式通讯 X-NET 可下载程序和连接外部设备， 通讯参数可通 过编程软件或串口配置软件 XINJEConfig 重新设置 COM2- RS485 A、B端子 RS485口 Modbus RTU Modbus ASCII 自由格式通讯 X-NET 可下载程序和连接外部设备， 通讯参数可通 过编程软件或串口配置软件 XINJEConfig 重新设置 USB口 USB口 X-NET 高速下载口，可通过 USB 下载线来下载程 序，但需要先安装 USB 驱动程序 RJ45 以太网口 X-NET Ethernet EtherCAT 高速稳定下载/上传程序和数据，远程监 控，与局域网内的 TCP IP设备通讯，通讯 参数可通过编程软件或串口配置软件 XINJE Config设置；EtherCA T仅 XDH、 XLH系列 LAN2口支持，可同步控制最多 64 轴电机 COM3 左扩展 ED口 （用于扩展 RS232口 /RS485口） Modbus RTU Modbus ASCII 自由格式通讯 X-NET 连接外部设备， 通讯参数可通过编程软件或 串口配置软件 XINJEConfig设置 COM4 上扩展 BD口 RS232口 /RS485口/光纤 口（具体见下 述内容） Modbus RTU Modbus ASCII 自由格式通讯 X-NET 连接外部设备， 通讯参数可通过编程软件或 串口配置软件 XINJEConfig设置 COM5 COM6 CAN通讯口 CAN2.0A CAN2.0B 与支持 CAN 总线通讯的其他设备通讯。此 接口支持 CANopen通讯协议（支持主从） ， 可切换 CANBUS通讯（默认） 【注】 ： ※1：COM0 口默认为 X-NET 通讯模式；XDC 的 COM1 默认为 X-NET 通讯模式。 ※2：XD1、XD2 系列靠近输出端子的 232 口为 COM0 口，与端子排上的 485 口没有冲突。 ※3：XDC 系列的 COM2-RS232 和 COM2-RS485 不能同时使用；在编程软件中配置时，与 COM2 一样， 端口号为 COM2。 USB口/COM0 COM1 COM2 COM3 XLME-32T4 RJ45 COM1 COM2 RJ45 XL1/XL3/XL5 XL5E/XLME FG 0V 24V A B ECAT ENET CAN+CAN-GND COM1 X7 X6 X5 X2 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 XLH-30A32 RJ45 COM6 COM1 COM2 RJ45 XLH-30A32 A B


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 245 ※4：如 COM1 参数修改后无法联机，可通过“上电停止 PLC” ，停止成功后初始化，然后重新上电来解决 问题；如无必要，最好不要修改 COM1 的通讯参数。 ※5：LAN1 口支持 Ethernet 通讯，LAN2 口支持 EtherCA T总线功能。 ※6：X-NET 通讯功能不在本手册所述范围内，请查阅《X-NET 总线用户手册》 。 ※7：以太网通讯内容不在本手册所述范围内，请查阅《以太网通讯用户手册》 。 ※8：EtherCA T总线内容不在本手册所述范围内，请查阅《EtherCA T运动控制用户手册》 。 ※9：XLH-30A32 固件为 3.7.3 及以上版本支持 CAN 总线功能。 3）RS232 通讯口（COM0、COM1、COM2-RS232） COM0、COM1、COM2-RS232引脚定义如下： 4）RS485 通讯口（COM2、COM2-RS485） RS485 通讯口引脚为 A、B 端子，A 为“RS485+”信号、B 为“RS485-”信号，XL 系列的 485 口已 外置，其中 SG为信号地端子。端口图如下： 在使用 RS485 方式通讯的时候，请使用双绞线（如下图） ，如果条件允许，可使用屏蔽双绞线，并且 单端接地，如无可靠地也可悬空。 5）USB 下载口 在使用 USB 口下载程序和数据时，必须先安装 USB 驱动和 XINJEConfig 软件，由于目前的 USB 驱 动程序已经内置在 XINJEConfig软件中，所以在安装 XINJEConfig软件后会自动安装 USB驱动程序。 XINJEConfig软件一般已包含在 XDPPro软件的安装包里，用户可以到信捷官网（www.xinje.com）中 的“服务与支持”---“下载中心”版块里下载，文件名为“XD/XG/XL信捷 PLC编程工具软件 XDPPro”。 配置工具和驱动程序安装好后，信捷 PLC 编程工具软件需要切换到“Xnet 通讯”模式，切换方法如 下： （1）打开“信捷PLC编程工具软件” ，找到菜单栏中的“选项”----“软件串口设置” ，如下图所示： 3 4 5 1 2 6 87 Mini Din 8芯插座（孔） 4：RxD 5：TxD 8：GND 发送端 接收端 接收端 发送端 串扰 信号


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 246 （2）弹出如下图所示的“设置软件串口”窗口，点击“新建” ，配置界面如下： （3）方口通讯接口选为 USB，通讯协议为 xnet，查找方式为设备类型，重启服务后，点确定； （4）使用状态改为“使用中”后，再点确定：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 247 （5）提示“成功连接到本地 PLC” ，表示连接成功。 注意： ① 当软件中出现下图所示错误时，可点击“重启服务”尝试重新连接，或者重启编程软件以及PLC， 进行再次连接，如果仍然无法连接，需要检查 PLC 是否上电状态、USB 下载线是否连接正常、USB 驱动 和 XINJEConfig软件是否安装正常。 ② 目前信捷官网上发布的 V3.7.16 版本的编程软件可以一键安装 USB 驱动、XINJEConfig 软件和信 捷 PLC编辑工具软件，用户无需再分别安装这三个软件。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 248 6）以太网口（RJ45 口） RJ45 口为以太型 PLC 独有，支持 TCP/IP 协议的 Ethernet 通讯，该口具有比 USB 通讯方式更迅捷稳 定的特点，体现在对PLC数据监控的实时性更好、程序上下载更快速。而Ethernet通讯本身运用的接线方 式较 RS485、USB 也有着明显的优势，在多台 PLC 通讯的场合中用户只需通过一台交换机便可实现对现 场任意 PLC进行通讯。 除了应用于局域网场合，Ethernet也支持通过互联网对 PLC的远程查找、监控操作、上下载功能、与 网内其他 TCP IP设备进行通讯。 RJ45口可在信捷 PLC编程工具软件中的“PLC配置”-“以太网口”中配置，也可以通过XINJEConfig 配置工具中配置，具体内容参阅相关手册。 XDH 系列 PLC 的 LAN2 口支持 EtherCAT总线控制功能，轴数多达 64 轴，控制周期≤1ms，功能的 具体使用请查阅《EtherCA T运动控制用户手册》。 7）左扩展ED 口（COM3） 左扩展 ED 口通过外接 ED 板来实现 RS232 口和 RS485 口的扩展，目前已有的 ED 板型号为：XD- NES-ED（可扩展一个 RS232口和一个 RS485口，但两者不能同时通讯） 。 XD-NES-ED 8）上扩展BD 口（COM4、COM5） 上扩展 BD口需要通过扩展 BD板来实现通讯，目前有三种BD板：RS232方式（XD-NS-BD）、RS485 方式（XD-NE-BD）以及光纤口方式（XD-NO-BD）。 XD 系列本体 24/32 点 PLC 可以扩展 1 块 BD 板，XD 系列本体 48/60 点 PLC 可以扩展 2 块 BD 板， XD 系列本体 16点 PLC不可以扩展 BD板。 （1）XD-NS-BD PWR COM 电源指示灯 通讯指示灯 接线端子排 COM 接线端子排 通讯指示灯 各部分名称如下： 名称 功能 通讯指示灯 暂不支持该功能 接线端 子排 TX 信号发送端子 RX 信号接收端子 GND 接地端子 ● 空端子 各部分名称如下： 名称 功能 电源指示灯 当 ED模块有供电电源时该指示灯亮 通讯指示灯 当 ED模块通讯口正常通讯时该指示灯亮 接 线 端 子 排 A RS485通讯 485+端子 B RS485通讯 485-端子 SG 地 FG 接地端子 空 空端子 TX RS232通讯数据发送端子 RX RS232通讯数据接收端子 SG 地


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 249 （2）XD-NE-BD XD-NE-BD 板内有拨动开关，用于选择是否是终端。XD-NE-BD 板出厂开关默认拨到 OFF（左） ，即 不加终端电阻。如果XD-NE-BD 板处于总线的首或者尾，则需要在首尾各加一个120欧姆的终端电阻，拨 动开关则拨到 ON（右） 。 （3）XD-NO-BD 9）CAN 通讯口 XLH-30A32的 CAN通讯端口采用的是 3PIN端口设计，能与支持CAN总线通讯的其他设备通讯。此 接口支持 CANopen 通讯协议（支持主从） ，可切换CANBUS 通讯（默认）,XLH-30A32(L)固件为 3.7.3 及 以上版本支持 CAN总线功能。 CAN通讯的具体使用详见《CAN通讯用户手册》。 6-1-2．通讯参数 参数名称 说明 站号 Modbus站号 1~254 波特率 300bps~9Mbps 数据位 8 停止位 1、1.5、2 校验 None（无校验） 、Odd（奇校验） 、Even（偶校验） 、Empty、Mask 通讯口默认参数：站号为 1、波特率 19200bps、8 个数据位、1个停止位、偶校验。 PLC通讯口参数的设置有多种方式： Modbus通讯参数设置有两种方式： （1）通过编程软件进行参数设置， （2）配置工具XINJEConfig进行参 数设置；详见 6-2-6 节。 自由格式通讯参数设置可通过编程软件进行设置；详见 6-3-2 节。 X-NET 通讯参数设置可通过配置工具 XINJEConfig进行参数设置。X-NET 通讯功能详见《X-NET 总线 用户手册》 。 【注】 ：对 PLC 本体上的 A、B 端口而言，1Mbps 以上波特率只适用于 X-NET 通讯模式，在 modbus 通讯 时本体 A、B 端子达不到 1M。 COM A B COM通讯指示灯 接线端子排 终端电阻 拨码 COM通讯指示灯 接线端子排 各部分名称如下： 名称 功能 通讯指示灯 当 BD板通信成功时该指示灯闪烁 接线端 子排 A 485+ B 485- S 信号地 ● 空端子 终端电阻拨码 通过拨动拨码选择是否需要终端电阻（120Ω） 各部分名称如下： 名称 功能 通讯指示灯 暂不支持该功能 接线端子排 左边是信号输入端子，右边是信号输出端子


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 250 6-2．Modbus 通讯功能 6-2-1．Modbus 通讯概述 XD/XL系列可编程控制器本体支持 Modbus协议通讯主、从机形式。 主站形式： 可编程控制器作为主站设备时，通过 Modbus 指令可与其它使用 Modbus-RTU或者 Modbus-ASCII 协 议的从机设备通讯；与其他设备进行数据交换。例：信捷 XD3系列 PLC，可以通过通讯来控制变频器。 从站形式： 可编程控制器作为从站设备时，只能对其它主站的要求做出响应。 主从的概念： 在 RS485 网络中，某一时刻，可以有一主多从（如下图） ，其中主站可以对其中任意从站进行读写操 作，从站之间不可直接进行数据交换，主站需编写通讯程序，对其中的某个从站进行读写，从站无需编写 通讯程序，只需对主站的读写进行响应即可。 （接线方式：所有的485+连在一起，所有的 485-连在一起） 主 从1 从2 从3 在 RS232网络中（如下图） ，只能一对一通讯，某一时刻只有一主一从。 主 从 之所以图中有虚线箭头 （包括RS485网络中） ， 是因为理论上在两个网络中， 只要各个PLC不发数据， 网络中任意 PLC都可以用来作为主站，其它 PLC作为从站；但是由于多个 PLC之间没有一个统一的时钟 基准，容易出现在同一时刻有多个 PLC发送数据，会导致通讯冲突失败，因此不建议这样使用。 【注】 ： ※1：对于 XD/XL 系列 PLC，RS232 与 RS485 只支持半双工。 ※2：在原 XC 系列 PLC 中，如果主 PLC 与从 PLC 之间进行通讯时，由主 PLC 给从 PLC 发送数据，如果 主 PLC 在前一次发送数据后，从 PLC 还没来得及将全部数据接收完，此时主 PLC 再次给从 PLC 发送数据时， 容易导致从 PLC 接收数据发生错误；在 XD/XL 系列 PLC 中，我们通过添加通讯前延时等待时间设置来解决此 问题，即从站 PLC 接收完数据，需要延时一定的时间，才能再接收下一次通讯数据。 6-2-2．XD/XL 中 Modbus 指令处理方式的变化 与 XC系列 PLC相比，XD/XL中 Modbus指令的处理方式发生变化，用户可以在用户程序中直接书写 Modbus指令，协议栈会对Modbus通讯请求进行排队处理，与通讯不是同一个任务；即在主程序中客户可 以将多条 Modbus通讯指令写在一起，通过同一个触发条件同时对它们进行触发，PLC会对这些通讯指令 根据协议栈对它们进行 Modbus通讯请求进行排队处理，不会像原来的XC系列 PLC导致多条通讯指令同 时执行时会发生通讯错误的问题。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 251 M0 COLR K1 K500 K3 M1 K2 MCLW K1 K500 K3 M1 K2 REGW K1 K500 D1 K2 M0 COLR K1 K500 K3 M1 K2 MCLW K1 K500 K3 M1 K2 REGW K1 K500 D1 K2 XC系列（×） XD/XL系列（√） 说明： 在 XD/XL 系列 PLC 顺序功能块中取消了 Modbus 通讯指令，完全由现有的 Modbus 指令处理方式来 替代。 6-2-3．Modbus 通讯地址 可编程控制器内部软元件编号与对应的 Modbus地址编号如下表示： 1）XD1、XD2、XD3、XD3E、XL1、XL3、XL3E 系列PLC 的 Modbus 地址与内部软元件对照表： 注意：X、Y 的Modbus 地址计算详见表格最底部注意点。 类型 元件 符号 元件编号 个 数 Modbus 地址 （十六进制） Modbus 地址 （十进制） 线 圈 、 位 对 象 M M0~M7999 8000 0~1F3F 0~7999 X X0~X77（本体） 64 5000~503F 20480~20543 X10000~X10077（#1 模块） 64 5100~513F 20736~20799 X10100~X10177（#2 模块） 64 5140~517F 20800~20863 X10200~X10277（#3 模块） 64 5180~51BF 20864~20927 X10300~X10377（#4 模块） 64 51C0~51FF 20928~20991 X10400~X10477（#5 模块） 64 5200~523F 20992~21055 X10500~X10577（#6 模块） 64 5240~527F 21056~21119 X10600~X10677（#7 模块） 64 5280~52BF 21120~21183 X10700~X10777（#8 模块） 64 52C0~52FF 21184~21247 X11000~X11077（#9模块） 64 5300~533F 21248~21311 X11100~X11177（#10模块） 64 5340~537F 21312~21375 X20000~X20077（#1 BD） 64 58D0~590F 22736~22799 X20100~X20177（#2 BD） 64 5910~594F 22800~22863 X30000~X30077（#1 ED） 64 5BF0~5C2F 23536~23599 Y Y0~Y77（本体） 64 6000~603F 24576~24639 Y10000~Y10077（#1 模块） 64 6100~613F 24832~24895 Y10100~Y10177（#2 模块） 64 6140~617F 24896~24959 Y10200~Y10277（#3 模块） 64 6180~61BF 24960~25023 Y10300~Y10377（#4 模块） 64 61C0~61FF 25024~25087 Y10400~Y10477（#5 模块） 64 6200~623F 25088~25151 Y10500~Y10577（#6 模块） 64 6240~627F 25152~25215 Y10600~Y10677（#7 模块） 64 6280~62BF 25216~25279 Y10700~Y10777（#8 模块） 64 62C0~62FF 25280~25343 Y11000~Y11077（#9模块） 64 6300~633F 25344~25407 Y11100~Y11177（#10模块） 64 6340~637F 25408~25471 Y20000~Y20077（#1 BD） 64 68D0~690F 26832~26895 Y20100~Y20177（#2 BD） 64 6910~694F 26896~26956 Y30000~Y30077（#1 ED） 64 6BF0~6C2F 27632~27695 S S0~S1023 1024 7000~73FF 28672~29695


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 252 类型 元件 符号 元件编号 个 数 Modbus 地址 （十六进制） Modbus 地址 （十进制） SM SM0~SM2047 2048 9000~97FF 36864~38911 T T0~T575 576 A000~A23F 40960~41535 C C0~C575 576 B000~B23F 45056~45631 ET ET0~ET31 32 C000~C01F 49152~49183 SEM SEM0~SEM31 32 C080~C09F 49280~49311 HM ※1 HM0~HM959 960 C100~C4BF 49408~50367 HS ※1 HS0~HS127 128 D900~D97F 55552~55679 HT ※1 HT0~HT95 96 E100~E15F 57600~57695 HC ※1 HC0~HC95 96 E500~E55F 58624~58719 HSC ※1 HSC0~HSC31 32 E900~E91F 59648~59679 寄 存 器 、 字 对 象 D D0~D7999 8000 0~1F3F 0~7999 ID ID0~ID99（本体） 100 5000~5063 20480~20579 ID10000~ID10099（#1 模块） 100 5100~5163 20736~20835 ID10100~ID10199（#2 模块） 100 5164~51C7 20836~20935 ID10200~ID10299（#3 模块） 100 51C8~522B 20936~21035 ID10300~ID10399（#4 模块） 100 522C~528F 21036~21135 ID10400~ID10499（#5 模块） 100 5290~52F3 21136~21235 ID10500~ID10599（#6 模块） 100 52F4~5357 21236~21335 ID10600~ID10699（#7 模块） 100 5358~53BB 21336~21435 ID10700~ID10799（#8 模块） 100 53BC~541F 21436~21535 ID10800~ID10899（#9 模块） 100 5420~5483 21536~21635 ID10900~ID10999（#10模块） 100 5484~54E7 21636~21735 ID20000~ID20099（#1 BD） 100 58D0~5933 22736~22835 ID20100~ID20199（#2 BD） 100 5934~5997 22836~22935 ID30000~ID30099（#1 ED） 100 5BF0~5C53 23536~23635 寄 存 器 、 字 对 象 QD QD0~QD99（本体） 100 6000~6063 24576~24675 QD10000~QD10099（#1模块） 100 6100~6163 24832~24931 QD10100~QD10199（#2模块） 100 6164~61C7 24932~25031 QD10200~QD10299（#3模块） 100 61C8~622B 25032~25131 QD10300~QD10399（#4模块） 100 622C~628F 25132~25231 QD10400~QD10499（#5模块） 100 6290~62F3 25232~25331 QD10500~QD10599（#6模块） 100 62F4~6357 25332~25431 QD10600~QD10699（#7模块） 100 6358~63BB 25432~25531 QD10700~QD10799（#8模块） 100 63BC~641F 25532~25631 QD10800~QD10899（#9模块） 100 6420~6483 25632~25731 QD10900~QD10999（#10模块） 100 6484~64E7 25732~25831 QD20000~QD20099（#1 BD） 100 68D0~6933 26832~26931 QD20100~QD20199（#2 BD） 100 6934~6997 26932~27031 QD30000~QD30099（#1 ED） 100 6BF0~6C53 27632~27731 SD SD0~SD2047 2048 7000~77FF 28672~30719 TD TD0~TD575 576 8000~823F 32768~33343 CD CD0~CD575 576 9000~923F 36864~37439 ETD ETD0~ETD31 32 A000~A01F 40960~40991 HD ※1 HD0~HD999 1000 A080~A467 41088~42087 HSD ※1 HSD0~HSD499 500 B880~BA73 47232~47731 HTD ※1 HTD0~HTD95 96 BC80~BCDF 48256~48351 HCD ※1 HCD0~HCD95 96 C080~C0DF 49280~49375


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 253 类型 元件 符号 元件编号 个 数 Modbus 地址 （十六进制） Modbus 地址 （十进制） HSCD ※1 HSCD0~HSCD31 32 C480~C49F 50304~50335 FD ※2 FD0~FD5119 5120 C4C0~D8BF 50368~55487 SFD ※2 SFD0~SFD1999 2000 E4C0~EC8F 58560~60559 FS ※2 FS0~FS47 48 F4C0~F4EF 62656~62703 2）XD5、XDM、XDC、XD5E、XDME、XL5、XL5E、XL5N、XL5H、XLME 系列Modbus 地址与内部软元件对照 表： 类型 元件 符号 元件编号 个数 Modbus 地址 （十六进制） Modbus 地址 （十进制） 线 圈 、 位 对 象 M M0~M20479 20480 0~4FFF 0~20479 X X0~X77（本体） 64 5000~503F 20480~20543 X10000~X10077（#1 模块） 64 5100~513F 20736~20799 X10100~X10177（#2 模块） 64 5140~517F 20800~20863 X10200~X10277（#3 模块） 64 5180~51BF 20864~20927 X10300~X10377（#4 模块） 64 51C0~51FF 20928~20991 X10400~X10477（#5 模块） 64 5200~523F 20992~21055 X10500~X10577（#6 模块） 64 5240~527F 21056~21119 X10600~X10677（#7 模块） 64 5280~52BF 21120~21183 X10700~X10777（#8 模块） 64 52C0~52FF 21184~21247 X11000~X11077（#9模块） 64 5300~533F 21248~21311 X11100~X11177（#10模块） 64 5340~537F 21312~21375 X11200~X11277（#11模块） 64 5380~53BF 21376~21439 X11300~X11377（#12模块） 64 53C0~53FF 21440~21503 X11400~X11477（#13模块） 64 5400~543F 21504~21567 X11500~X11577（#14模块） 64 5440~547F 21568~21631 X11600~X11677（#15模块） 64 5480~54BF 21632~21695 X11700~X11777（#16模块） 64 54C0~54FF 21696~21759 X20000~X20077（#1 BD） 64 58D0~590F 22736~22799 X20100~X20177（#2 BD） 64 5910~594F 22800~22863 X30000~X30077（#1 ED） 64 5BF0~5C2F 23536~23599 Y Y0~Y77（本体） 64 6000~603F 24576~24639 Y10000~Y10077（#1 模块） 64 6100~613F 24832~24895 Y10100~Y10177（#2 模块） 64 6140~617F 24896~24959 Y10200~Y10277（#3 模块） 64 6180~61BF 24960~25023 Y10300~Y10377（#4 模块） 64 61C0~61FF 25024~25087 Y10400~Y10477（#5 模块） 64 6200~623F 25088~25151 Y10500~Y10577（#6 模块） 64 6240~627F 25152~25215 Y10600~Y10677（#7 模块） 64 6280~62BF 25216~25279 Y10700~Y10777（#8 模块） 64 62C0~62FF 25280~25343 Y11000~Y11077（#9模块） 64 6300~633F 25344~25407 Y11100~Y11177（#10模块） 64 6340~637F 25408~25471 Y11200~Y11277（#11模块） 64 6380~63BF 25472~25535 Y11300~Y11377（#12模块） 64 63C0~63FF 25536~25599 Y11400~Y11477（#13模块） 64 6400~643F 25600~25663


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 254 类型 元件 符号 元件编号 个数 Modbus 地址 （十六进制） Modbus 地址 （十进制） Y11500~Y11577（#14模块） 64 6440~647F 25664~25727 Y11600~Y11677（#15模块） 64 6480~64BF 25728~25791 Y11700~Y11777（#16模块） 64 64C0~64FF 25792~25855 Y20000~Y20077（#1 BD） 64 68D0~690F 26832~26895 Y20100~Y20177（#2 BD） 64 6910~694F 26896~26956 Y30000~Y30077（#1 ED） 64 6BF0~6C2F 27632~27695 S S0~S7999 8000 7000~8F3F 28672~36671 SM SM0~SM4095 4096 9000~9FFF 36864~40959 T T0~T4095 4096 A000~AFFF 40960~45055 C C0~C4095 4096 B000~BFFF 45056~49151 ET ET0~ET39 40 C000~C027 49152~49191 SEM SEM0~SEM127 128 C080~C0FF 49280~49407 HM ※1 HM0~HM6143 6144 C100~D8FF 49408~55551 HS ※1 HS0~HS999 1000 D900~DCE7 55552~56551 HT ※1 HT0~HT1023 1024 E100~E4FF 57600~58623 HC ※1 HC0~HC1023 1024 E500~E8FF 58624~59647 HSC ※1 HSC0~HSC39 40 E900~E927 59648~59687 寄 存 器 、 字 对 象 D D0~D20479 20480 0~4FFF 0~20479 ID ID0~ID99（本体） 100 5000~5063 20480~20579 ID10000~ID10099（#1 模块） 100 5100~5163 20736~20835 ID10100~ID10199（#2 模块） 100 5164~51C7 20836~20935 ID10200~ID10299（#3 模块） 100 51C8~522B 20936~21035 ID10300~ID10399（#4 模块） 100 522C~528F 21036~21135 ID10400~ID10499（#5 模块） 100 5290~52F3 21136~21235 ID10500~ID10599（#6 模块） 100 52F4~5357 21236~21335 ID10600~ID10699（#7 模块） 100 5358~53BB 21336~21435 ID10700~ID10799（#8 模块） 100 53BC~541F 21436~21535 ID10800~ID10899（#9 模块） 100 5420~5483 21536~21635 ID10900~ID10999（#10模块） 100 5484~54E7 21636~21735 ID11000~ID11099（#11模块） 100 54E8~554B 21736~21835 ID11100~ID11199（#12模块） 100 554C~55AF 21836~21935 ID11200~ID11299（#13模块） 100 55B0~5613 21936~22035 ID11300~ID11399（#14模块） 100 5614~5677 22036~22135 ID11400~ID11499（#15模块） 100 5678~56DB 22136~22235 ID11500~ID11599（#16模块） 100 56DC~573F 22236~22335 ID20000~ID20099（#1 BD） 100 58D0~5933 22736~22835 ID20100~ID20199（#2 BD） 100 5934~5997 22836~22935 ID30000~ID30099（#1 ED） 100 5BF0~5C53 23536~23635 QD QD0~QD99（本体） 100 6000~6063 24576~24675 QD10000~QD10099（#1模块） 100 6100~6163 24832~24931 QD10100~QD10199（#2模块） 100 6164~61C7 24932~25031 QD10200~QD10299（#3模块） 100 61C8~622B 25032~25131 QD10300~QD10399（#4模块） 100 622C~628F 25132~25231 QD10400~QD10499（#5模块） 100 6290~62F3 25232~25331 QD10500~QD10599（#6模块） 100 62F4~6357 25332~25431 QD10600~QD10699（#7模块） 100 6358~63BB 25432~25531 QD10700~QD10799（#8模块） 100 63BC~641F 25532~25631


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 255 类型 元件 符号 元件编号 个数 Modbus 地址 （十六进制） Modbus 地址 （十进制） QD10800~QD10899（#9模块） 100 6420~6483 25632~25731 QD10900~QD10999（#10模块） 100 6484~64E7 25732~25831 QD11000~QD11099（#11模块） 100 64E8~654B 25832~25931 QD11100~QD11199（#12模块） 100 654C~65AF 25932~26031 QD11200~QD11299（#13模块） 100 65B0~6613 26032~26131 QD11300~QD11399（#14模块） 100 6614~6677 26132~26231 QD11400~QD11499（#15模块） 100 6678~66DB 26232~26331 QD11500~QD11599（#16模块） 100 66DC~673F 26332~26431 QD20000~QD20099（#1 BD） 100 68D0~6933 26832~26931 QD QD20100~QD20199（#2 BD） 100 6934~6997 26932~27031 QD30000~QD30099（#1 ED） 100 6BF0~6C53 27632~27731 SD SD0~SD4095 4096 7000~7FFF 28672~32767 TD TD0~TD4095 4096 8000~8FFF 32768~36863 CD CD0~CD4095 4096 9000~9FFF 36864~40959 ETD ETD0~ETD39 40 A000~A027 40960~40999 HD ※1 HD0~HD6143 6144 A080~B87F 41088~47231 HSD ※1 HSD0~HSD1023 1024 B880~BC7F 47232~48255 HTD ※1 HTD0~HTD1023 1024 BC80~C07F 48256~49279 HCD ※1 HCD0~HCD1023 1024 C080~C47F 49280~50303 HSCD ※1 HSCD0~HSCD39 40 C480~C4A7 50304~50343 FD ※2 FD0~FD8191 8192 C4C0~E4BF 50368~58559 SFD ※2 SFD0~SFD4095 4096 E4C0~F4BF 58560~62655 FS ※2 FS0~FS47 48 F4C0~F4EF 62656~62703 3）XDH、XLH 系列Modbus 地址与内部软元件对照表： 类型 元件 符号 元件编号 个数 Modbus 地址 (十六进制） Modbus 地址 （十进制） 线 圈 、 位 对 象 M M0~M20479 20480 0~4FFF 0~20479 X X0~X77（本体） 64 5000~503F 20480~20543 X10000~X10077（#1模块） 64 5100~513F 20736~20799 X10100~X10177（#2模块） 64 5140~517F 20800~20863 X10200~X10277（#3模块） 64 5180~51BF 20864~20927 X10300~X10377（#4模块） 64 51C0~51FF 20928~20991 X10400~X10477（#5模块） 64 5200~523F 20992~21055 X10500~X10577（#6模块） 64 5240~527F 21056~21119 X10600~X10677（#7模块） 64 5280~52BF 21120~21183 X10700~X10777（#8模块） 64 52C0~52FF 21184~21247 X11000~X11077（#9模块） 64 5300~533F 21248~21311 X11100~X11177（#10模块） 64 5340~537F 21312~21375 X11200~X11277（#11模块） 64 5380~53BF 21376~21439 X11300~X11377（#12模块） 64 53C0~53FF 21440~21503 X11400~X11477（#13模块） 64 5400~543F 21504~21567 X11500~X11577（#14模块） 64 5440~547F 21568~21631 X11600~X11677（#15模块） 64 5480~54BF 21632~21695 X11700~X11777（#16模块） 64 54C0~54FF 21696~21759 X20000~X20077（#1 BD） 64 58D0~590F 22736~22799


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 256 类型 元件 符号 元件编号 个数 Modbus 地址 (十六进制） Modbus 地址 （十进制） X20100~X20177（#2 BD） 64 5910~594F 22800~22863 X30000~X30077（#1 ED） 64 5BF0~5C2F 23536~23599 Y Y0~Y77（本体） 64 6000~603F 24576~24639 Y10000~Y10077（#1模块） 64 6100~613F 24832~24895 Y10100~Y10177（#2模块） 64 6140~617F 24896~24959 Y10200~Y10277（#3模块） 64 6180~61BF 24960~25023 Y10300~Y10377（#4模块） 64 61C0~61FF 25024~25087 Y10400~Y10477（#5模块） 64 6200~623F 25088~25151 Y10500~Y10577（#6模块） 64 6240~627F 25152~25215 Y10600~Y10677（#7模块） 64 6280~62BF 25216~25279 Y10700~Y10777（#8模块） 64 62C0~62FF 25280~25343 Y Y11000~Y11077（#9模块） 64 6300~633F 25344~25407 Y11100~Y11177（#10模块） 64 6340~637F 25408~25471 Y11200~Y11277（#11模块） 64 6380~63BF 25472~25535 Y11300~Y11377（#12模块） 64 63C0~63FF 25536~25599 Y11400~Y11477（#13模块） 64 6400~643F 25600~25663 Y11500~Y11577（#14模块） 64 6440~647F 25664~25727 Y11600~Y11677（#15模块） 64 6480~64BF 25728~25791 Y11700~Y11777（#16模块） 64 64C0~64FF 25792~25855 Y20000~Y20077（#1 BD） 64 68D0~690F 26832~26895 Y20100~Y20177（#2 BD） 64 6910~694F 26896~26956 Y30000~Y30077（#1 ED） 64 6BF0~6C2F 27632~27695 S S0~S7999 8000 7000~8F3F 28672~36671 SM SM0~SM4095 4096 9000~9FFF 36864~40959 T T0~T4095 4096 A000~AFFF 40960~45055 C C0~C4095 4096 B000~BFFF 45056~49151 ET ET0~ET39 40 C000~C027 49152~49191 SEM SEM0~SEM127 128 C080~C0FF 49280~49407 HM ※1 HM0~HM6143 6144 C100~D8FF 49408~55551 HS ※1 HS0~HS999 1000 D900~DCE7 55552~56551 HT ※1 HT0~HT1023 1024 E100~E4FF 57600~58623 HC ※1 HC0~HC1023 1024 E500~E8FF 58624~59647 HSC ※1 HSC0~HSC39 40 E900~E927 59648~59687 寄 存 器 、 字 对 象 D D0~D20479 20480 0~4FFF 0~20479 ID ID0~ID99（本体） 100 5000~5063 20480~20579 ID10000~ID10099（#1模块） 100 5100~5163 20736~20835 ID10100~ID10199（#2模块） 100 5164~51C7 20836~20935 ID10200~ID10299（#3模块） 100 51C8~522B 20936~21035 ID10300~ID10399（#4模块） 100 522C~528F 21036~21135 ID10400~ID10499（#5模块） 100 5290~52F3 21136~21235 ID10500~ID10599（#6模块） 100 52F4~5357 21236~21335 ID10600~ID10699（#7模块） 100 5358~53BB 21336~21435 ID10700~ID10799（#8模块） 100 53BC~541F 21436~21535 ID10800~ID10899（#9模块） 100 5420~5483 21536~21635 ID10900~ID10999（#10模块） 100 5484~54E7 21636~21735 ID11000~ID11099（#11模块） 100 54E8~554B 21736~21835 ID11100~ID11199（#12模块） 100 554C~55AF 21836~21935


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 257 类型 元件 符号 元件编号 个数 Modbus 地址 (十六进制） Modbus 地址 （十进制） ID11200~ID11299（#13模块） 100 55B0~5613 21936~22035 ID11300~ID11399（#14模块） 100 5614~5677 22036~22135 ID11400~ID11499（#15模块） 100 5678~56DB 22136~22235 ID11500~ID11599（#16模块） 100 56DC~573F 22236~22335 ID20000~ID20099（#1 BD） 100 58D0~5933 22736~22835 ID20100~ID20199（#2 BD） 100 5934~5997 22836~22935 ID30000~ID30099（#1 ED） 100 5BF0~5C53 23536~23635 QD QD0~QD99（本体） 100 6000~6063 24576~24675 QD10000~QD10099（#1模块） 100 6100~6163 24832~24931 QD10100~QD10199（#2模块） 100 6164~61C7 24932~25031 QD10200~QD10299（#3模块） 100 61C8~622B 25032~25131 QD10300~QD10399（#4模块） 100 622C~628F 25132~25231 QD10400~QD10499（#5模块） 100 6290~62F3 25232~25331 QD10500~QD10599（#6模块） 100 62F4~6357 25332~25431 QD10600~QD10699（#7模块） 100 6358~63BB 25432~25531 QD10700~QD10799（#8模块） 100 63BC~641F 25532~25631 QD QD10800~QD10899（#9模块） 100 6420~6483 25632~25731 QD10900~QD10999（#10模块） 100 6484~64E7 25732~25831 QD11000~QD11099（#11模块） 100 64E8~654B 25832~25931 QD11100~QD11199（#12模块） 100 654C~65AF 25932~26031 QD11200~QD11299（#13模块） 100 65B0~6613 26032~26131 QD11300~QD11399（#14模块） 100 6614~6677 26132~26231 QD11400~QD11499（#15模块） 100 6678~66DB 26232~26331 QD11500~QD11599（#16模块） 100 66DC~673F 26332~26431 QD20000~QD20099（#1 BD） 100 68D0~6933 26832~26931 QD20100~QD20199（#2 BD） 100 6934~6997 26932~27031 QD30000~QD30099（#1 ED） 100 6BF0~6C53 27632~27731 SD SD0~SD4095 4096 7000~7FFF 28672~32767 TD TD0~TD4095 4096 8000~8FFF 32768~36863 CD CD0~CD4095 4096 9000~9FFF 36864~40959 ETD ETD0~ETD39 40 A000~A027 40960~40999 HD ※1 HD0~HD6143 6144 A080~B87F 41088~47231 HSD ※1 HSD0~HSD1023 1024 B880~BC7F 47232~48255 HTD ※1 HTD0~HTD1023 1024 BC80~C07F 48256~49279 HCD ※1 HCD0~HCD1023 1024 C080~C47F 49280~50303 HSCD ※1 HSCD0~HSCD39 40 C480~C4A7 50304~50343 FD ※2 FD0~FD8191 8192 C4C0~E4BF 50368~58559 SFD ※2 SFD0~SFD4095 4096 E4C0~FC2F 58560~64559 FS ※2 FS0~FS47 48 F4C0~F4EF 62656~62703 【注】 ： ※1：以 ※1标记的为掉电保持区域；以 ※2标记的为 Flash 区域。 ※2：以上表格中的地址在 PLC 作为下位机且使用 Modbus-RTU或者 Modbus-ASCII 协议通讯时使用， 一般上位机为：组态/触摸屏/PLC…… ※3：如果上位机为 PLC 则按照 Modbus-RTU或者 Modbus-ASCII 协议编写程序。 ※4：如果上位机为组态或者触摸屏则有两种情况：第一种有信捷驱动，例如：信捷触摸屏 /紫金桥组态 等，可直接使用 PLC 内部软元件（Y0/M0）写程序；第二种没有信捷驱动，则选择 Modbus-RTU 或者 Modbus-ASCII 协议，然后使用上表中的地址来定义数据变量。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 258 ※5：输入输出点为八进制，请按照八进制计算对应的输入输出点 Modbus 地址，例如：Y0 对应的 Modbus 地址是 H6000，Y10 对应的 Modbus地址是 H6008（并不是 H6010），Y20 对应的 Modbus 地址是 H6010（并不是 H6020）。 ※6：当 Modbus 地址超过 K32767 时，需使用十六进制表示，且地址前需加“0” 。例如：HD0 的 Modbus 地址是十进制的 41088（超出 K32767），软件中无法写入 K41088，故需要使用十六进制表示为 H0A080。 ※7：X、Y 的 Modbus 地址计算，已 X 为例，Y 的 Modbus 地址计算与 X 同理。 X0：20480 X10 ：20480+8 X20 ：20480+16 X30 ：20480+24… X10000：20736 X10010 ：20736+8 X10020 ：20736+16… X10200：20800 X10210 ：20800+8 X10220 ：20800+16… 6-2-4．Modbus 通讯数据格式 1）Modbus 通讯传输模式 包含两种传输模式， 分别为 RTU模式与 ASCII模式； 它定义了报文域的位内容在线路上串行的传送； 它确定了信息如何打包为报文和解码；Modbus 串行链路上所有设备的传输模式（和串行口参数）必须相 同。 2）Modbus-RTU 通讯数据结构 RTU模式： 当设备使用 RTU（Remote Terminal Unit）模式在 Modbus串行链路通信，报文中每个 8位字节含有两 个 4 位十六进制字符。这种模式的主要优点是较高的数据密度，在相同的波特率下比ASCII模式有更高的 吞吐率。每个报文必须以连续的字符流传送。 RTU模式帧检验域：循环冗余校验（CRC）。 RTU模式帧描述： Modbus 站号 功能代码 数据 CRC 1 字节 1 字节 0~252字节 2字节 CRC低 CRC高 格式： START 保持无输入信号大于等于10ms Address（站号） 通讯地址：8-bit 二进制地址 Function 功能码：8-bit 二进制地址 DATA（n – 1） 资料内容：N*8-bit 资料，N≤8，最大252个字节 …………… DATA 0 CRC CHK Low CRC校验码 CRC CHK High 16-bit CRC校验码由2个8-bit 二进制组合 END 保持无出入信号大于等于10ms 通讯地址： 00H：所有信捷XC系列PLC广播（broadcast）——广播时候下位机不回复数据。 01H：对01地址PLC通讯。 0FH：对15地址PLC通讯。 10H：对16地址PLC通讯。以此类推……，最大可到254（FEH）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 259 功能码（Function）与资料内容（DATA）： 功能码 功能 对应的modbus指令 01H 读线圈指令 COLR 02H 读输入线圈指令 INPR（不支持读信捷PLC 的输入线圈） 03H 读出寄存器内容 REGR 04H 读输入寄存器指令 INRR 05H 写单个线圈指令 COLW 06H 写单个寄存器指令 REGW 10H 写多个寄存器指令 MRGW 0FH 写多个线圈指令 MCLW （1）以功能码 06H（单个寄存器写）为例，说明 Modbus-RTU的发送和接收格式。 例如：上位机对 PLC的 H0002地址即 D2 写数据 K5000（即 H1388）。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 06H 功能码 06H 寄存器地址 00H 寄存器地址 00H 02H 02H 数据内容 13H 数据内容 13H 88H 88H CRC CHECK Low 25H CRC CHECK Low 25H CRC CHECK High 5CH CRC CHECK High 5CH 说明： ① 地址即 PLC的站号。 ② 功能码即 Modbus-RTU协议中所定义的读写操作代码。 ③ 寄存器地址即 6-2-3 章节表格中所列出的信捷 PLC Modbus通讯地址。 ④ 数据内容即为往 D2寄存器中写的数据 K5000（即 H1388）。 ⑤ CRC CHECK Low/ CRC CHECK High为 CRC校验的低位和高位数据。 如果一台信捷 XD3系列 PLC为上位机，和另一台XD3系列 PLC通讯，同样对D2写 K5000（十进制 5000） ，如下： M0 REGW K1 H0002 K5000 K2 M0 为触发条件，采用上升沿执行一次。使用信捷 PLC 进行 Modbus 通讯时，虽然只执行一次通讯指 令， 但如果通讯不成功， 可设置重发次数， 系统则会自动重发， 如果重发通讯都不成功则视本次通讯完成。 以下是 REGW指令和 RTU协议数据的对应关系（其余指令与此类似） ： REGW 功能码 06H K1 站号地址 H0002 modbus地址 K5000 数据内容即 1388H K2 PLC通讯串口号 完整的数据串是：01H 06H 00H 02H 13H 88H （系统自动进行 CRC校验） 如果用串口调试工具监控串口 2，可得到数据如下： 01 06 00 02 13 88 25 5C 注意：在程序中使用的数据不分二进制、 十进制、 十六进制， 只要保证数值上相等即可， 例如：B10000、 K16和 H10值相等，所以以下三条通讯指令功能相同： REGW K1 B111110100 D1 K2 REGW K1 K500 D1 K2 REGW K1 H1F4 D1 K2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 260 （2）功能码 01H/02H：读线圈/读输入线圈 例如：读取线圈地址6000H（Y0）的状态。此时，Y0、Y1均为ON。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 01H/02H 功能码 01H/02H 线圈地址 60H 字节数 01H 00H 线圈个数 00H 数据内容 03H 02H CRC CHECK Low A3H CRC CHECK Low 11H CRC CHECK High CBH CRC CHECK High 89H 由于 Y0和 Y1的状态均为 ON，所以数据内容为 03H（0000 0011）。 （3）功能码 03H：读出寄存器内容 例如：读出寄存器地址03E8H为首的2个寄存器的内容（D1000、D1001）。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 03H 功能码 03H 寄存器地址 03H 字节数 04H E8H 寄存器个数 00H 数据内容 12H 2EH 02H 04H E8H CRC CHECK Low 44H CRC CHECK Low 9DH CRC CHECK High 7BH CRC CHECK High CCH 此时，读出的 D1000和 D1001中的数值分别是：122EH（4654）和 04E8H（1256）。 注意：字节数应为寄存器个数的 2 倍。 （4）功能码 05H：写单个线圈 例如：将线圈地址6000H（Y0）置ON。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 05H 功能码 05H 线圈地址 60H 线圈地址 60H 00H 00H 数据内容 （低在前高在后） FFH 数据内容 FFH 00H 00H CRC CHECK Low 92H CRC CHECK Low 92H CRC CHECK High 3AH CRC CHECK High 3AH 注意：单个线圈写时，ON为 00FFH，OFF为 0000H；且数据内容是低字节在前，高字节在后。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 261 （5）功能码 0FH：多个线圈写 例如：对 PLC中的 6000H（Y0）为首的 16个线圈进行写入。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 0FH 功能码 0FH 线圈地址 60H 线圈地址 60H 00H 00H 线圈个数 00H 线圈个数 00H 10H 10H 字节数 02H - - 数据内容 （低在前高在后） 03H 01H CRC CHECK Low 43H CRC CHECK Low 4AH CRC CHECK High 16H CRC CHECK High 07H 数据内容为 0103H，其二进制表示为 0000 0001 0000 0011，写入对应 Y17~Y0，所以 Y0、Y1、Y10置 ON。 注意：在写数据内容时，低字节数据在前，高字节数据在后。 （6）功能码 10H：多个寄存器写 例如：对 PLC中的 0000H（D0）为首的 3个寄存器进行写入。 RTU模式： 询问信息格式 回应信息格式 地址 01H 地址 01H 功能码 10H 功能码 10H 寄存器地址 00H 寄存器地址 00H 00H 00H 寄存器个数 00H 寄存器个数 00H 03H 03H 字节数 06H - - 数据内容 00H 01H 00H 02H 00H 03H CRC CHECK Low 3AH CRC CHECK Low 80H CRC CHECK High 81H CRC CHECK High 08H 执行后，D0、D1、D2中的数值分别为：1、2、3。 注意：字节数=寄存器个数*2。 3）Modbus-ASCII 通讯数据结构 ASCII模式： 当 Modbus串行链路的设备被配置为使用 ASCII（American Standard Code for Information Interchange） 模式通信时，报文中的每个 8 位字节以两个 ASCII 字符发送。当通信链路或者设备无法符合 RTU模式的 定时管理时使用该模式。 注意：由于一个字节需要两个字符，故此模式比 RTU效率低。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 262 例：字节 0X5B会被编码为两个字符：0x35和 0x42（ASCII编码 0x35 =”5”，0x42 =”B”）。 ASCII模式帧检验域：纵向冗余校验（LRC – Longitudinal Redundancy Checking） ASCII模式帧描述： 起始符 Modbus 站号 功能代码 数据 LRC 结束符 1 字符 2字符 2字符 0~252*2字符 2 字符 2 字符 0x3A 0x0D 0x0A 格式： STX（3AH） 起始字符=3AH 地址码高位 通讯位置（站别） ：由2个ASCII码组合 地址码低位 功能码高位 功能码（command） ：由2个ASCII码组合 功能码低位 指令起始地址 命令起始位：由4个ASCII码组合 指令起始地址 指令起始地址 指令起始地址 数据长度 数据起始到结束的长度：由4个ASCII码组合 数据长度 数据长度 数据长度 LRC校验高位 LRC检查码：由2个ASCII码组合 LRC校验低位 END高位 结束字符：END Hi=CR（0DH），END Lo=CR（0AH） END低位 通讯地址： 00H：所有信捷XD系列PLC广播（broadcast）——广播时候下位机不回复数据。 01H：对01地址PLC通讯。 0FH：对15地址PLC通讯。 10H：对16地址PLC通讯。以此类推……，最大可到254（FEH）。 功能码（Function）与资料内容（DATA）： 功能码 功能 对应的modbus 指令 01H 读线圈指令 COLR 02H 读输入线圈指令 INPR 03H 读出寄存器内容 REGR 04H 读输入寄存器指令 INRR 05H 写单个线圈指令 COLW 06H 写单个寄存器指令 REGW 10H 写多个寄存器指令 MRGW 0FH 写多个线圈指令 MCLW 下面以 06功能码（单个寄存器写）为例，介绍数据格式（其余功能码与此类似） ： 例如：上位机对 PLC的 H0002地址即 D2 写数据 K5000（即 H1388）。 ASCII模式： 起始符 3AH 地址 30H 31H 功能码 30H 36H


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 263 寄存器地址高字节 30H 30H 寄存器地址低字节 30H 32H 数据内容高字节 31H 33H 数据内容低字节 38H 38H LRC 35H 43H 结束符 0DH 0AH 说明： 1）地址即 PLC的站号。 2）功能码即 Modbus-ASCII协议中所定义的读写操作代码。 3）寄存器地址即 6-2-3 章节表格中所列出的信捷 PLC Modbus通讯地址。 4）数据内容即为往 D2寄存器中写的数据，此处为 H1388。 5）LRC CHECK Low / CRC CHECK High为 CRC校验的低位和高位数据。 如果一台信捷 XD3 系列 PLC 为上位机，和另一台 XD3 系列 PLC 通讯，同样对 D2 写 K5000（进制 5000）如下： M0 REGW K1 H0002 K5000 K2 M0 为触发条件，采用上升沿执行一次。使用信捷 PLC 进行 Modbus 通讯时，虽然只执行一次通讯指 令， 但如果通讯不成功， 可设置重发次数， 则系统会自动重发， 如果重发通讯都不成功则视本次通讯完成。 以下是 REGW指令和 ASCII协议数据的对应关系（其余指令与此类似） ： REGW 功能码 06H K1 站号地址 H0002 modbus地址 K5000 数据内容即 1388H K2 PLC通讯串口号 完整的数据串是： 3AH 30H 31H 30H 36H 30H 30H 30H 32H 31H 33H 38H 38H 35H 43H （系统自动进行 LRC校验） 如果用串口调试工具监控串口 2，可得到数据如下：3AH 30H 31H 30H 36H 30H 30H 30H 32H 31H 33H 38H 38H 35H 43H 0DH 0AH 注意：在程序中使用的数据不分二进制、 十进制、 十六进制， 只要保证数值上相等即可， 例如：B10000、 K16和 H10值相等，所以以下三条通讯指令功能相同： REGW K1 B111110100 D1 K2 REGW K1 K500 D1 K2 REGW K1 H1F4 D1 K2


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 264 6-2-5．Modbus 通讯指令 Modbus指令，分为线圈读写、寄存器读写，下面具体介绍这些指令的用法。 通讯指令中各操作数定义说明： 1、远端通讯局号：与 PLC所连接下位机的串口站号。 例如：PLC 连接了三台变频器，要通过通讯来读写参数，此时将变频器的站号设置成 1，2，3，即变 频器为下位机，PLC 为上位机，且下位机的远端通讯局号分别为 1，2，3（下位机站号和上位机站号可设 置成相同） 2、远端线圈/寄存器首地址编号：指定远端线圈/寄存器个数：PLC对下位机读写操作时候的第一个线 圈/寄存器地址，一般结合“指定线圈/寄存器个数”一起使用。 例如：PLC 要读一台信捷变频器的输出频率（H2103） 、输出电流（H2104） 、母线电压（H2105） ，则 远端寄存器首地址为 H2103，指定寄存器个数为 K3 3、本地接收/发送线圈/寄存器地址：PLC中需要与下位机中进行数据交换的线圈/寄存器。 例如：写线圈 M0：将 M0状态写到下位机中指定地址 写寄存器 D0：将 D0值写到下位机指定地址 读线圈 M1：将下位机指定地址中的内容到 M1 读寄存器 D1：将下位机指定寄存器内容读到 D1 4、通讯条件：Modbus 通讯的前置条件可以是常开/闭线圈和上升/下降沿。常开/闭线圈触发时，会一 直执行 Modbus 指令，当对多个从站进行通讯或者通讯量较大时，可能会出现通讯滞缓的现象，这时可以 采用震荡线圈做触发条件； 上升/下降沿触发时，Modbus指令只执行一次， 只有下一次上升/下降沿来临时， 才会再次执行 Modbus指令。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 265 6-2-5-1. 线圈读[COLR] 1）指令概述 将指定局号中指定线圈状态读到本机内指定线圈中的指令。 线圈读[COLR] 16位指令 COLR 32位指令 - 执行条件 常开/闭线圈、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定远端通讯局号 16位，BIN S2 指定远端线圈首地址编号 16位，BIN S3 指定线圈个数的数值或寄存器地址 16位，BIN D1 指定本地接收线圈的首地址 位 D2 指定 PLC串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● ● D1 ● ● ● ● ● ● D2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DS 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 COLR K1 K500 K3 M1 X0 K2 S1· S2· S3· D1· D2·  读线圈指令，Modbus功能码为 01H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 S3：K1~K2000，即读取线圈的最大个数为 2000。  X0为 ON时， 执行COLR指令。指令开始执行时，Modbus读写指令执行标志 SM160（串口 2）置ON； 执行完成时，SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户 可查询相关寄存器判断错误原因。串口 2的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持） 。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 266 6-2-5-2. 输入线圈读[INPR] 1）指令概述 将指定局号中指定输入线圈状态读到本机内指定线圈中的指令。 输入线圈读[INPR] 16位指令 INPR 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定远端通讯局号 16位，BIN S2 指定远端线圈首地址编号 16位，BIN S3 指定线圈个数的数值或寄存器地址 16位，BIN D1 指定本地接收线圈的首地址编号 位 D2 指定 PLC串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● ● D1 ● ● ● ● ● ● D2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DS 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 INPR K1 K500 K3 M1 X0 K2 S1· S2· S3· D1· D2·  读输入线圈指令，Modbus功能码为 02H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 S3：K1~K2000，读取输入线圈的最大个数为 2000。  X0为 ON时，执行INPR指令，指令开始执行时，Modbus读写指令执行标志 SM160（串口 2）置ON， 执行完成时，SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户 可查询相关寄存器判断错误原因。串口 2的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。  该指令不能用于读取信捷 PLC的输入线圈。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 267 6-2-5-3. 单个线圈写[COLW] 1）指令概述 将本机内指定线圈状态写到指定局号中指定线圈的指令。 单个线圈写[COLW] 16位指令 COLW 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定远端通讯局号 16位，BIN D2 指定远端线圈首地址编号 16位，BIN S1 指定本地发送线圈首地址编号 位 S2 指定串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● ● ● S1 ● ● ● ● ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 COLW K1 K500 M1 X0 K2 D1· D2· S1· S2·  写单个线圈指令，Modbus功能码为 05H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  X0 为 ON 时，执行 COLW指令，Modbus 读写指令执行标志 SM160（串口 2）置 ON，执行完成时， SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户可查询相关寄 存器判断错误原因。串口 2 的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 268 6-2-5-4. 多个线圈写[MCLW] 1）指令概述 将本机内指定的多个线圈的状态写到指定局号中指定线圈的指令。 多个线圈写[MCLW] 16位指令 MCLW 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定远端通讯局号 16位，BIN D2 指定远端线圈首地址编号 16位，BIN D3 指定线圈个数的数值 16位，BIN S1 指定本地发送线圈首地址编号 位 S2 指定串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● ● D3 ● ● ● ● ● ● ● ● ● S1 ● ● ● ● ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 MCLW K1 K500 K3 M1 X0 K2 D1· S1· S2·D2· D3·  写多个线圈指令，Modbus功能码为 0FH。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 D3即写线圈的最大个数为 1976。  X0 为 ON 时，执行 MCLW指令，Modbus 读写指令执行标志 SM160（串口 2）置 ON，执行完成时， SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户可查询相关寄 存器判断错误原因。串口 2 的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 269 6-2-5-5. 寄存器读[REGR] 1）指令概述 将指定局号指定寄存器读到本机内指定寄存器的指令。 寄存器读[REGR] 16位指令 REGR 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定远端通讯局号 16位，BIN S2 指定远端寄存器首地址编号 16位，BIN S3 指定寄存器个数的数值 16位，BIN D1 指定本地接收寄存器首地址编号 16位，BIN D2 指定串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● D1 ● ● ● ● ● ● D2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 REGR K1 K500 K3 D1 X0 K2 S1· S2· S3· D1· D2·  读寄存器指令，Modbus功能码为 03H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 S3及读寄存器的最大个数为 125。  X0 为 ON 时，执行 REGR 指令，Modbus 读写指令执行标志 SM160（串口 2）置 ON，执行完成时， SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户可查询相关寄 存器判断错误原因。串口 2 的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 270 6-2-5-6. 输入寄存器读[INRR] 1）指令概述 将指定局号指定输入寄存器读到本机内指定寄存器的指令。 输入寄存器读[INRR] 16位指令 INRR 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定远端通讯局号 16位，BIN S2 指定远端寄存器首地址编号 16位，BIN S3 指定寄存器个数 16位，BIN D1 指定本地接收寄存器首地址编号 16位，BIN D2 指定串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● D1 ● ● ● ● ● ● D2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 INRR K1 K500 K3 D1 X0 K2 S1· S2· S3· D1· D2·  读输入寄存器指令，Modbus功能码为 04H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 S3即读输入寄存器的最大个数为 125。  X0 为 ON 时，执行 INRR 指令，Modbus 读写指令执行标志 SM160（串口 2）置 ON，执行完成时， SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户可查询相关寄 存器判断错误原因。串口 2 的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 271 6-2-5-7. 单个寄存器写[REGW] 1）指令概述 将本机内指定寄存器写到指定局号指定寄存器的指令。 单个寄存器写[REGW] 16位指令 REGW 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定远端通讯局号的数值 16位，BIN D2 指定远端寄存器首地址编号 16位，BIN S1 指定本地发送寄存器首地址编号 16位，BIN S2 指定串口编号 16位，BIN 3）适用软元件 操作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● ● S1 ● ● ● ● ● ● ● ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 REGW K1 K500 D1 X0 K2 D1· S1· S2·D2·  写单个寄存器指令，Modbus功能码为 06H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  X0 为 ON 时，执行 REGW 指令，Modbus 读写指令执行标志 SM160（串口 2）置 ON，执行完成时， SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自动重发。用户可查询相关寄 存器判断错误原因。串口 2 的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 272 6-2-5-8. 多个寄存器写[MRGW] 1）指令概述 将本机内指定寄存器写到指定局号指定寄存器的指令。 多个寄存器写[MRGW] 16位指令 MRGW 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 指定远端通讯局号 16 位，BIN D2 指定远端寄存器首地址编号 16 位，BIN D3 指定寄存器个数的数值 16 位，BIN S1 指定本地发送寄存器首地址编号 16 位，BIN S2 指定串口编号 16 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m D1 ● ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● ● ● ● D3 ● ● ● ● ● ● ● ● ● S1 ● ● ● ● ● ● ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 MRGW K1 K500 K3 D1 X0 K2 D1· D2· D3· S1· S2·  写多个寄存器指令，Modbus功能码为 10H。  串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  操作数 D3即写寄存器的最大个数为 123。  X0 为 ON 时，执行 MRGW指令，Modbus读写指令执行标志 SM160（串口 2）置 ON，执行完成时， Modbus读写指令执行标志 SM160（串口 2）置 OFF。如果通讯发生错误，且设置了重发次数，则会自 动重发。用户可查询相关寄存器判断错误原因。串口 2的 Modbus读写指令执行结果在 SD160中。  串口 2的当前通讯异常从站站号存储在 SD165中 （通讯异常从站站号寄存器目前仅固件3.7.4及以上以 太网机型支持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 273 6-2-6．Modbus 串口配置方式 Modbus通讯参数的设置有两种方式：1、通过编程软件进行参数设置；2、通过配置工具XINJEConfig 进行参数设置； 一、通过编程软件进行参数设置 在使用编程软件对 PLC串口参数进行配置时，V3.4以下版本必须使用 XNET通讯模式，V3.4及以上 版本也可以使用 modbus通讯方式（即 RS232口）进行配置。 1、使用 USB 下载线把 PLC 与电脑连接好。这里的 USB 下载线即是触摸屏的下载线，如下图，软件 必须切换到 Xnet通讯模式。 2、打开“信捷PLC编程工具软件” ，找到菜单栏中的“PLC设置”----“PLC串口设置” 。如下图（1） 所示： 图（1） 3、会出现如图（2）所示的窗口： 图（2）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 274 4、点击“添加” ，会出现两种通讯模式，Modbus通讯和自由格式通讯，选择Modbus通讯，右边会出 现串口配置的界面，如图（3）所示： 图（3） 端口号：指 PLC的 COM口，其中 COM2是指 COM2（RS485）或 COM2（RS232）； 波特率、数据位、校验位、停止位和需要通讯的设备设置为一致； 站号：如果 PLC作为主机，站号可以默认为 1，如果 PLC作为从机，则需要设置不同的站号； 两种通讯模式：RTU和 ASCII。 发送前延时（ms）：PLC 发送数据前等待时间。在原 XC 系列 PLC 中，如果主 PLC 与从 PLC 之间进 行通讯时，由主PLC给从 PLC发送数据，如果主PLC 在前一次发送数据后，而从PLC还没来得及把数据 接收完，此时主 PLC 再次给从 PLC 发送数据时，容易导致从 PLC 结束数据发生错误；在 XD 系列 PLC 中，我们通过添加“发送前延时”设置来进行解决，即在从站接收数据完成后，必须延时一定的时间才能 接收下一次的通讯数据，这样就不会导致上面的问题出现。 回复超时（ms）：是指 PLC发送请求后收不到回应，等待重发的时间。 重试次数：是指 PLC收不到回应重发的次数，每重发一次需要一个回复超时时间。 5、设置完成后，点击“写入 PLC”，PLC需要断电重启，参数才能生效。 注意：V3.4 以下版本的 XD 系列的 PLC 在下载和上传串口配置数据时必须使用 XNET 通讯模式，即 用 USB口下载和上传配置数据。 如果出现如下图所示的提示， 需要检查你所配置的串口参数是否是从USB 口下载到 PLC中的。 二、通过配置工具XNetConfigTool 进行参数设置 在使用配置工具 XINJEConfig 对 PLC 串口参数进行配置时，V1.6.308 及以下版本的 XINJEConfig 工 具必须使用 USB口。V1.6.309及以上版本的 XINJEConfig工具也可以使用 RS232口配置。 1、使用 USB下载线把 PLC与电脑连接好。这里的 USB下载线即为触摸屏的下载线，如下图：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 275 2、双击桌面上的快捷方式 ，或在开始菜单中打开“XINJEConfig”软件，会出现“欢迎使用 信捷设备配置工具”窗口。 3、单击“PLC” ，出现“PLC连接设备”窗口。 4、在“查找的端口”处选择你电脑与 PLC的连接口， “连接协议”选择XNet，点击查找设备，出现 “PLC配置”窗口。 串口号：K0~K5。K0：COM0（RS232）；K1：COM1（RS232）；K2：COM2（RS485）或COM2（RS232）；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 276 K3：COM3（左扩展口） ；K4：COM4（上扩展口 1）；K5：COM5（上扩展口 2）。 在这里，我们便可以对各个通讯口的通讯模式与通讯参数进行设定。 6、当通讯口参数设置完成后，单击“写入配置” ，提示写入配置成功。 7、至此串口参数配置完成，关闭 XINJEConfig配置软件，PLC断电重启，参数才能生效。 6-2-7．Modbus 通讯样例及说明 接线方式有 232连接方式和 485连接方式两种。 A、232 连接方式 【注】 ： ※1：上图中以*1标记的通讯口 1 只标出了 RS232 引脚。 ※2：XD/XL 系列 PLC，RS232 通讯不支持全双工，因此只能单向通讯。 ※3：RS232 通讯距离短（大约 13 米左右且和现场环境密切相关） ，如需远距离通讯请选用RS485 通讯方 式。 B、485 连接方式 A为 485+、B为 485-。A接 A、B 接 B，如果一个主站多个从站，只需将所有的A 相连，所有的B 相 连。 举例： 一台信捷 XD3系列 PLC控制 3台 XC系列 PLC，让3 台下位机的 Y0随着主机动作（主机Y0 亮从机 Y0亮，主机 Y0灭从机 Y0灭） ，前提条件是Y0的通断，通讯有足够的时间来反映，且三台下位机的同步 要求不是非常严格（完全同步达不到） 。 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 通讯口1※1 引脚如下： Mini Din8芯插座（孔） 4:RXD 5:TXD 8:GND


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 277 第一种方法，常规写法，程序如下图： Y0 Y0 COLW K1 H4800 Y0 K2 COLW K2 H4800 Y0 K2 COLW K3 H4800 Y0 K2 上图程序以串口 2为例，相应的串口通讯标志位是串口 2的，如使用其他串口，请参考附录 1。 第二种方法，使用广播功能，程序如下图： Y0 Y0 COLW K0 H4800 Y0 K2 广播站号为0，所有下位机响应但是不会回复，注意 广播不能进行读操作。 PLC1 当 Y0 状态发生改变的时候，将上位机的 Y0 状态广播到所有下位机，广播时候三台下位机 PLC 的同 步性较第一种方法更好。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 278 6-2-8．应用举例 例 1：下面是 1个主站和 3个从站循环进行 Modbus通讯读写的程序。 程序操作： （1）将主机的 Y0~~Y11态写入 2#从机的 Y0~~Y11； （2）将 2#从机的 Y0~~Y10到主机的 M10~~M19； （3）将主机的 D10~~D19的内容写入 2#从机的 D10~~D19； （4）将 2#从机的 D10~~D19的内容读进主机的 D20~~D29； （5）从机 3#、4#站依此类推。 下面是 XC系列通讯程序： MOV K2 D100 M8002 X0 ( S ) S0 M0 STL S0 S0 ( S ) M0 MOV H3FF DY0 MCLW D100 K24576 K10 Y0 K2 M0 M8138 ( S ) S1 ( R ) M0 STLE STL S1 M1 S1 ( S ) M1 COLR D100 K24576 K10 M10 K2 M1 M8138 ( S ) S2 ( R ) M1 STLE MOV K0 DY0 STL S2 M2 S2 ( S ) M2 MRGW D100 K10 K10 D10 K2 M2 M8138 ( S ) S3 ( R ) M2 STLE FMOV K1 D10 K10 D100 K5 STL S3 M3 S3 ( S ) M3 REGR D100 K10 K10 D20 K2 M3 M8138 ( S ) S0 ( R ) M3 STLE FMOV K0 D10 K10 INC D100 //将#2号站放到 D100里启动执行流程 S0 //将主站的 Y0~Y11输出置 ON；然后将主站 状态依次写入 2#、3#、4#从机的 Y0~Y11；通 讯成功了后进入流程 S1。 //依次将 2#、3#、4#从机的 Y0~~Y11状态读 到主机 M10~M19；通讯成功后把主站 Y0~Y11复位并且进入流程 S2。 //将主站的 D10~D19 写入数值 1；然后将主 站的寄存器依次写入 2#、3#、4#从机的 D10~D19；通讯成功后进入流程 S3。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 279 MOV K2 D100 M8002 X0 ( S ) S0 M0 STL S0 S0 ( S ) M0 MOV H3FF DY0 MCLW D100 K24576 K10 Y0 K2 M0 M8138 ( S ) S1 ( R ) M0 STLE STL S1 M1 S1 ( S ) M1 COLR D100 K24576 K10 M10 K2 M1 M8138 ( S ) S2 ( R ) M1 STLE MOV K0 DY0 STL S2 M2 S2 ( S ) M2 MRGW D100 K10 K10 D10 K2 M2 M8138 ( S ) S3 ( R ) M2 STLE FMOV K1 D10 K10 D100 K5 STL S3 M3 S3 ( S ) M3 REGR D100 K10 K10 D20 K2 M3 M8138 ( S ) S0 ( R ) M3 STLE FMOV K0 D10 K10 INC D100 Modbus-RTU指令处理方式发生变化，用户可以在用户程序中直接书写Modbus-RTU指令，协议栈会 对 Modbus-RTU通讯请求进行排队处理，通讯是另外一个任务，即在主程序中，用户可以将多条Modbus- RTU通讯指令写在一起，通过同一个触发条件同时对它们进行触发，PLC会对这些通讯指令根据协议站对 它们进行 Modbus-RTU求进行排队处理， 不会像原来的XC系列 PLC导致多条通讯指令同时执行时会发生 通讯错误的问题。 下面是 XD系列程序： MCLW K2 K24576 K10 Y0 K2 M0 COLR K2 K24576 K10 M10 K2 MRGW K2 K10 K10 D10 K2 REGR K2 K10 K10 D20 K2 MCLW K3 K24576 K10 Y0 K2 COLR K3 K24576 K10 M20 K2 MRGW K3 K10 K10 D10 K2 REGR K3 K10 K10 D30 K2 MCLW K4 K24576 K10 Y0 K2 COLR K4 K24576 K10 M30 K2 MRGW K4 K10 K10 D10 K2 REGR K4 K10 K10 D40 K2 M200 MOV H3FF DY0 FMOV K1 D10 K10 M201 MOV H0 DY0 FMOV K0 D10 K10 //M200 的上升沿将主机 Y0~Y11置 ON，D10 到 D19 赋 1；M201 的上升沿将主机 Y0~Y11 置 OFF，D10到 D19清 0。 //将主站的 Y0~Y11写入 2#的 Y0~Y11；把 2# 的 Y0~Y11 读到 M10~M19 ； 将 主 站 的 D10~D19寄存器的内容写入 2#的 D10~D19； 把 2#的 D20~D29读到主站的 D20~D29；依次 类推。 //依次将 2#、3#、4#从机的 D10~D19的寄存 器内容读进主站的 D20~D29；通讯成功后把 主站 D10~D19 复位，然后将站号加 1，执行 流程 S0，循环。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 280 命令语： LDP M200 // 将 M200置 ON MOV H3FF DY0 // 将十六进制 3FF传送给 Y0~Y15 FMOV K1 D10 K10 // 将十进制数 1传送给寄存器 D10~D19 LDP M201 //将 M201置 ON MOV H0 DY0 //将十六进制 0传送给 Y0~Y15 FMOV K0 D10 K10 // 将十进制数 0传送给寄存器 D10~D19 LD M0 //将 M0置 ON MCLW K2 K24576 K10 Y0 K2 //将主站 Y0~Y11十个位的状态写入 2#站 Y0~Y11 COLR K2 K24576 K10 M10 K2 //将 2#站 Y0~Y11十个位的状态读进主站 M10~M19 MRGW K2 K10 K10 D10 K2 //将主站 D10~D19十个寄存器写入 2#站 D10~D19 REGR K2 K10 K10 D20 K2 //将 2#站 D10~D19十个寄存器读进 主站 D20~D29 MCLW K3 K24576 K10 Y0 K2 //将主站 Y0~Y11十个位的状态写入 3#站 Y0~Y11 COLR K3 K24576 K10 M20 K2 //将 3#站 Y0~Y11十个位的状态读进主站 M20~M29 MRGW K3 K10 K10 D10 K2 //将主站 D10~D19十个寄存器写入 3#站 D10~D19 REGR K3 K10 K10 D30 K2 //将 3#站 D10~D19十个寄存器读进主站 D30~D39 MCLW K4 K24576 K10 Y0 K2 //将主站 Y0~Y11十个位的状态写入 4#站 Y0~Y11 COLR K4 K24576 K10 M30 K2 //将 4#站 Y0~Y11十个位的状态读进主站 M30~M39 MRGW K4 K10 K10 D10 K2 //将主站 D10~D19十个寄存器写入 4#站 D10~D19 REGR K4 K10 K10 D40 K2 //将 4#站 D10~D19十个寄存器读进主站 D40~D49


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 281 6-3．自由格式通讯 6-3-1．自由格式通讯模式 自由格式通讯是以数据块的形式进行数据传送，受PLC缓存的限制，每次发送、接收的数据量最大为 256 个字节，下表所示机型可支持 1000个字节。 机型 固件要求 收发数据字节数 XDH/XLH/XG2机型 V3.7.3 及以上 1000个字节 以太网机型 （不包括XD3E/XL3E） V3.7.4及以上 1000个字节 所谓自由格式，即自定义协议通讯，现在市场上很多智能设备都支持RS232或者 RS485通讯，而各家 产品所使用的协议不尽相同，例如：信捷PLC使用标准的 Modbus-RTU协议，一些温度控制器厂家使用的 自定义协议；如果用信捷PLC和温度控制器通讯，读取温度控制器采集的当前温度，则需使用自由格式通 讯，完全按照仪表厂家的协议来发送数据，这样即可通讯上。 自由格式通讯应具备的前提条件： ① COM0（RS232）、COM1（RS232）、COM2（RS485）或COM2（RS232）、COM3（左扩展口） 、COM4 （上扩展口 1）、COM5（上扩展口 2）均可以进行自由格式通讯，但由于自由通讯时需要修改串口 参数，因此不建议使用 COM1。 ② 波特率：300bps~3Mbps、4.5Mbps~9Mbps（特殊机型可用） ③ 数据格式必须与下位机设置相同，有以下几种可选： 数据位：5bits（特殊机型可以用） 、6bits（特殊机型可以用） 、7bits、8bits、9bits 校验位：None（无校验） 、Odd（奇校验） 、Even（偶校验） 、Empty、Mask 停止位：1位、1.5位、2位 ④ 起始符：1字节、终止符：1字节 用户可设置一个起始/终止符，设置起始/终止符之后，PLC在发送数据时，自动加上起始/终止 符，在接收数据时，自动去掉起始/终止符。 其实起始符、终止符可以看成是协议中数据帧头、帧尾，因此，如果下位机通讯有起始符终止 符时，既可以在软件中设定，也可以将其写在协议中。 ⑤ 通讯形式：8 位、16位 选择 8 位缓冲形式进行通讯时，通讯过程中寄存器的高字节是无效的，PLC 只利用寄存器的 低字节进行发送和接收数据。 选择 16位缓冲形式进行通讯时，PLC 将发送寄存器的全部数据，且先发送低字节数据，再发 送高字节数据。 当需要把一个 16 位寄存器的低字节和高字节一起传送给另一个 16 位寄存器中时，必须选择 16 位缓冲形式进行通讯，且通讯字节数是 2 个。当一个 16 位寄存器中存放的数值只占用了低字 节，则我们可以选择 8 位缓冲形式进行通讯，通讯字节数是 1 个。往往我们进行通讯时数据一般 不会超过一个寄存器的低字节（即 HFF） ，所以只要采用软件中默认的8位缓冲进行通讯即可。 ⑥ 超时时间：帧超时（ms） 、回复超时（ms） 帧：是指一个数据串。 帧超时：是指 PLC接收的两帧数据的时间间隔，保证PLC区分接收一帧结束的时间。通常用 于判断 PLC 一帧数据是否接收完毕，当两帧数据间的间隔时间大于帧超时则表示通讯一帧数据结 束。 回复超时：是指 PLC 发送请求后收不到回应，等待重发的时间。如果设置回复超时 300ms， 则默认通讯时，PLC等待对方回应 300ms，时间到未收到回应，则重新发送请求。 如果想要缩短通讯时间，则可以根据波特率的大小，适当调小以上两个参数。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 282 6-3-2．串口配置方式 1、使用 USB 下载线把 PLC 与电脑连接好。这里的 USB 下载线为 TH/TG 触摸屏的下载线，如下图， 软件切换到 Xnet通讯模式。 2、打开“信捷PLC编辑工具软件” ，找到菜单栏中的“PLC设置”----“PLC串口设置” 。如下图（1） 所示： 图（1） 3、弹出如图（2）所示的窗口： 图（2） 4、点击“添加”中的“自由格式通讯” ，右边会出现串口配置的界面，如图（3）所示： 图（3）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 283 端口号：是指 PLC的 COM口，其中 COM2是 COM2（RS485）或 COM2（RS232）。 帧超时：是指 PLC发送的两帧数据的时间间隔，保证接收方区分接收一帧结束的时间。 回复超时（ms）：是指 PLC发送请求后收不到回应，等待重发的时间。 其他的串口参数，根据下位机参数来设置即可。 5、设置完成后，点击“写入 PLC”即可，PLC需要断电重启，参数才能生效。 注意：V3.4及以上版本的 PLC可以使用 modbus通讯方式（即 RS232口）进行配置；V3.4以下版本 的 XD系列 PLC在下载和上传串口配置数据时必须使用 X-NET通讯模式， 即通过USB口下载和上传配置 数据。如果出现如下图所示的提示，需要检查配置的串口参数是否是经由USB口下载到 PLC中。 6-3-3．适用场合 什么时候需要使用自由通讯？ 以上节中所述的情况为例，信捷PLC与温控仪表通讯，而仪表使用自己的通讯协议，协议规定读取温 度需发送“： ” “R” “T” “CR”四个字符，各字符含义如下： 字符 含义 ： 数据开始 R 读功能 T 温度 CR 回车，数据结束 PLC需要将上述字符的 ASCII码发送到仪表，才能读取到仪表测得的当前温度值。通过查询ASCII码 表可得到各字符的 ASCII码值（十六进制） ： 字符 对应 ASCII 码值 ： 3A R 52 T 54 CR 0D 显然按照上面描述的情况，使用 MODBUS 指令不能通讯，这个时候就需要使用自由格式通讯。关于 详细的使用在后面章节中会以此为例来编程样例程序。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 284 6-3-4．自由格式指令形式 6-3-4-1. 发送数据[SEND] 1）指令概述 将本机内指定的数据写到指定局号指定地址的指令。 发送数据[SEND] 16位指令 SEND 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.2.3及以上 软件要求 V3.2.2及以上 2）操作数 操作数 作用 类型 S1 指定本地发送数据的首地址编号 16 位，BIN S2 指定发送字节个数的数据或软元件地址编号 16 位，BIN n 指定通讯口编号 16 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 SEND D10 D100 K2 S1· S2· n M0  数据发送指令，M0的一次上升沿发送一次数据。  通讯口号。范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  在数据发送过程中， ‘正在发送’标志位SM162（通讯口 2）置 ON。 开始 终止数据 M0 SM162 发送数据  当缓冲位数为 8位时，只发送寄存器的低字节数据，例如：要发送D100~D107寄存器中的低字节数据 时，S2应设为 8。  当缓冲位数为 16 位时，寄存器的高低字节数据都将被发送，例如：要发送D100~D107中的高、低字 节数据时，S2应设为 16，且发送时，低字节在前高字节在后。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 285 6-3-4-2. 接收数据[RCV] 1）指令概述 将指定局号的数据写到本机内指定地址的指令。 接收数据[RCV] 16位指令 RCV 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.2.3及以上 软件要求 V3.2.2及以上 2）操作数 操作数 作用 类型 S1 指定本地接收数据的首地址编号 16 位，BIN S2 指定接收字节个数的数据或软元件地址编号 16 位，BIN n 指定通讯口编号 16 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● n ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 RCV D20 D200 K2 S1· S2· n M1  数据接收指令，M1的一次上升沿接收一次数据。  通讯口号。范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  在接收到数据后， ‘接收完成’标志位SM163（通讯口 2）置 ON。 开始 终止数据 M1 SM163 接收数据 手动置OFF  当缓冲位数为 8 位时，接收的数据只存放在低字节中，例如：要接收 8 个字节数据，依次存放在 D100~D107这 8个寄存器的低字节中，此时，S2应设为 8。  当缓冲位数为 16位时，寄存器的高低字节中都会存放接收的数据，例如：要接收16个字节数据，依次 存放在 D100~D107这 8个寄存器中，此时，S2 应设为 16。且接收时，低字节在前高字节在后。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 286 6-3-4-3. 释放串口[RCVST] 1）指令概述 将指定的串口资源进行释放的指令。 释放串口[RCVST] 16位指令 RCVST 32 位指令 - 执行条件 常开/闭、上升沿触发 适用机型 XD全系列、XL全系列 固件要求 V3.2.3及以上 软件要求 V3.2.2及以上 2）操作数 操作数 作用 类型 n 指定要释放的串口编号 16 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m n ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 RCVST K2 n M0  释放串口指令，M0的一次上升沿执行一次操作。  通讯口号。范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232或 RS485）、 K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  释放串口时，将接收完成标志位‘SM163’ （通讯口2）置 OFF。  在进行自由格式通讯时，如果无超时或超时时间设定过长，可通过RCVST指令立即释放占用的串口资 源，以便进行其他通讯操作。 开始 M0 接收数据 SM163 数据


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 287 6-3-5．自由格式通讯样例 例 1：在 6-3-3 章节说明为什么要使用自由格式通讯的时候，我们举例信捷 PLC 和温控仪表通讯，下 面就此例进行说明。 操作步骤： 1、先将硬件线路连接好。这里我们使用 PLC 的串口 2 来通讯，即将仪表上的 485+接 PLC 输出端的 A，仪表上的 485﹣接 PLC输出端的 B。 2、按照温控仪表的通讯参数将 PLC的串口参数设定好，参数设置如下图，参数设置好后，重新上电 才能生效。 3、按照 6-3-3 节中描述的协议编写程序。 读取温度需发送： “： ” “R” “T” “CR” “： ” ---- 数据开始 “R” ---- 读功能 “T” ---- 温度 “CR” ---- 回车，数据结束 程序如下： M0 M0 MOV H3A D0 MOV H52 D1 MOV H54 D2 MOV H0D D3 SEND D0 K4 K2 RCV D10 K4 K2 读取开关 D0:“：”ascii码值 D1：“R”ascii码值 D2：“T”ascii码值 D1：“CR”ascii码值 D0：“:”ascii码值SM162 读取开 关 D10：接收起始寄存器 0 0 0 0 0 0 串口2 Free指令 正在发送标志 在尝试 PLC 与其他智能设备通讯时，建议先使用串口调试工具（可选用信捷的 T-COM）将通讯的数 据格式即协议确定好，这样做的好处是：串口调试工具修改方便、使用灵活；在串口调试工具确定可以通 讯成功之后，按照得到的数据格式编写 PLC程序，这样往往事半功倍。 事实上，Modbus-RTU 协议可以看成自由协议中比较特殊的一种，两者关系类似椭圆与圆，可尝试使 用自由格式来实现 Modbus指令的功能。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 288 例 2：将一台 XD3的 PLC的 HD1~HD5这 5 个寄存器的数值发送到另外一台 XDM的 PLC的 D1~D5 中。 如果用户在了解了 Modbus通讯以后，可以使用 Modbus-RTU的通讯方式来做，只要在主机里写一条 “写多个寄存器指令（MRGW） ”即可完成。在这里我们使用自由格式的方式来完成。 操作步骤： 1、先将硬件线路连接好。这里我们使用 PLC 的串口 2 来通讯，即将两台 PLC 的 A 与 A 短接，B 与 B 短接。 2、 把两台PLC的串口 2的参数设置为一致， 参数设置如下图所示， 参数设置好后重新上电才能生效。 3、XD3中编写的指令如下： SM2 MOV H1122 HD1 MOV H3344 HD2 MOV H5566 HD3 MOV H7788 HD4 SEND HD1 K10 K2 4386 30600 21862 13124 4366 MOV H99AA HD5 -26198SM13 XDM中编写的指令如下： SM0 RCV D1 K10 K2 17 有时候用户通讯的数据是以 ASCII码的形式存放在多个寄存器中的，用户需要把这个数值取出来，存 放在一个寄存器中并在触摸屏中显示出来， 客户往往会考虑到使用HEX（ASCII转十六进制） 指令来实现， 但是 HEX 指令使用麻烦且理解困难，往往我们不会采用该指令来完成，可以通过 ASCII 码对照表来找到 数值间的关系来实现。 ASCII码对照表如下： ASCII 值 控制字符 ASCII 值 控制字符 ASCII 值 控制字符 ASCII 值 控制字符 0 NUT 32 (space) 64 @ 96 ` 1 SOH 33 ! 65 A 97 a 2 STX 34 ” 66 B 98 b 3 ETX 35 # 67 C 99 c


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 289 ASCII 值 控制字符 ASCII 值 控制字符 ASCII 值 控制字符 ASCII 值 控制字符 4 EOT 36 $ 68 D 100 d 5 ENQ 37 % 69 E 101 e 6 ACK 38 & 70 F 102 f 7 BEL 39 ’ 71 G 103 g 8 BS 40 ( 72 H 104 h 9 HT 41 ) 73 I 105 i 10 LF 42 * 74 J 106 j 11 VT 43 + 75 K 107 k 12 FF 44 ， 76 L 108 l 13 CR 45 - 77 M 109 m 14 SO 46 。 78 N 110 n 15 SI 47 / 79 O 111 o 16 DLE 48 0 80 P 112 p 17 DC1 49 1 81 Q 113 q 18 DC2 50 2 82 R 114 r 19 DC3 51 3 83 S 115 s 20 DC4 52 4 84 T 116 t 21 NAK 53 5 85 U 117 u 22 SYN 54 6 86 V 118 v 23 TB 55 7 87 W 119 w 24 CAN 56 8 88 X 120 x 25 EM 57 9 89 Y 121 y 26 SUB 58 ： 90 Z 122 z 27 ESC 59 ； 91 [ 123 { 28 FS 60 < 92 \ 124 | 29 GS 61 = 93 ] 125 } 30 RS 62 > 94 ^ 126 ~ 31 US 63 ? 95 — 127 DEL 例 3：某压力控制器与 PLC通过自由格式通讯来实现数据采集， 压力控制器上显示的数值为-0.7814Mpa， PLC采集到的数值是从 D0开始存放，依次存放了7个寄存器，但需要将这 7个寄存器组合的值取出以 10 进制的形式存放在 D46中。 通过 PLC的数据监控，可以监控到 D0~D6寄存器里面的 ASCII码如下： 切换到 10进制，显示如下： 通过对照 ASCII码和 10 进制数值之间的关系， 我们可以找到规律，D1、D3、D4、D5、D6 里面的 ASCII 码与 10进制之间相差 48，把寄存器中的数值减去 K48再通过乘 10的倍数来得到最终的 10进制数值，运 算公式如下：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 290 D46＝（D1-48）*1 +（D3-48）*0.1 +（D4-48）*0.01 +（D5-48）*0.001 +（D6-48）*0.0001 D0是符号位，通过查表得知，D0＝K45时，代表是负值； D0＝K43时，代表是正值。 梯形图如下： M0 SUB D1 K48 D10 48 0 SUB D3 K48 D12 55 0 SUB D4 K48 D14 56 0 SUB D5 K48 D16 49 0 SUB D6 K48 D18 52 0 FLT D10 D10 0 0 FLT D12 D12 0 7 FLT D14 D14 0 8 FLT D16 D16 0 1 FLT D18 D18 0 4 EMUL D12 K0.1 D20 7 0.7 EMUL D14 K0.01 D24 8 0.08 EMUL D16 K0.001 D28 1 0.001 EMUL D18 K0.0001 D32 4 0.0004 EADD D10 D20 D40 0 0.7 0.7 EADD D40 D24 D42 0.7 0.08 0.78 EADD D42 D28 D44 0.78 0.001 0.781 EADD D44 D32 D46 0.781 0.0004 0.7814 D0 EMUL D46 K-1 D100 K45 D0 EMUL D46 K1 D100 K43 0.7814 -0.7814 0.7814 -0.7814 45 45


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 291 6-4．通讯标志位与寄存器 通讯相关标志位 串口号 编号 功能 说明 串口 0 SM140 Modbus指令正在执行标志 指令开始执行时，置 ON 执行完成时，置 OFF SM142 自由格式通讯正在发送标志 指令开始执行时，置 ON 发送完成时，置 OFF SM143 自由格式通讯接收完成标志 接收到一帧数据或接收数据超时 时，置 ON； 需要用户程序置 OFF 串口 1 SM150 Modbus指令正在执行标志 同 SM140 SM152 自由格式通讯发送中标志 同 SM142 SM153 自由格式通讯接收完成标志 同 SM143 串口 2 SM160 Modbus指令正在执行标志 同 SM140 SM162 自由格式通讯发送中标志 同 SM142 SM163 自由格式通讯接收完成标志 同 SM143 串口 3 SM170 Modbus指令正在执行标志 同 SM140 SM172 自由格式通讯发送中标志 同 SM142 SM173 自由格式通讯接收完成标志 同 SM143 串口 4 SM180 Modbus指令正在执行标志 同 SM140 SM182 自由格式通讯发送中标志 同 SM142 SM183 自由格式通讯接收完成标志 同 SM143 串口 5 SM190 Modbus指令正在执行标志 同 SM140 SM192 自由格式通讯发送中标志 同 SM142 SM193 自由格式通讯接收完成标志 同 SM143 通讯相关寄存器 串口号 编号 功能 说明 串口 0 SD140 Modbus读写指令执行结果 0：正确 100：接收错误 101：接收超时 180：CRC错误 181：LRC错误 182：站号错误 183：发送缓冲区溢出 400：功能码错误 401：地址错误 402：长度错误 403：数据错误 404：从站忙 405：内存错误（擦写 FLASH） SD141 X-Net通讯结果 0：正确 1：通讯超时 2：内存错误 3：接收 CRC错误 420：XNET读写错误


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 292 串口号 编号 功能 说明 SD142 自由格式通讯发送结果 0：正确 410：自由格式发送缓冲区溢出 SD143 自由格式通讯接收结果 0：正确 410：发送数据长度溢出 411：接收数据短 412：接收数据长 413：接收错误 414：接收超时 415：无起始符 416：无终止符 SD144 自由格式通讯接收数据个数 按字节计，不包含起始符、终止符 SD145 Modbus指令通信异常的从站号 0：表示 SD140无任何错误信息 非 0： 表示SD140中存在错误并对应 的展示出当前出错从站的站号 （仅 3.7.4 及以上固件版本以太网机 型支持） …… SD149 串口 1 SD150 Modbus读写指令执行结果 同 SD140 SD151 X-Net通讯结果 同 SD141 SD152 自由格式通讯发送结果 同 SD142 SD153 自由格式通讯接收结果 同 SD143 SD154 自由格式通讯接收数据个数 同 SD144 SD155 Modbus指令通信异常的从站号 同 SD145 …… SD159 串口 2 SD160 Modbus读写指令执行结果 同 SD140 SD161 X-Net通讯结果 同 SD141 SD162 自由格式通讯发送结果 同 SD142 SD163 自由格式通讯接收结果 同 SD143 SD164 自由格式通讯接收数据个数 同 SD144 SD165 Modbus指令通信异常的从站号 同 SD145 …… SD169 串口 3 SD170~SD179 串口 4 SD180~SD189 串口 5 SD190~SD199


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 293 6-5．串口参数的读取和写入 除通过串口配置面板修改通讯参数外，还可以通过串口参数的读取指令[CFGCR]和串口参数的写入指 令[CFGCW]来实现。 6-5-1．串口参数的读取[CFGCR] 1）指令概述 将串口参数读取到本机内指定的寄存器里。 串口参数的读取[CFGCR] 16位指令 CFGCR 32位指令 - 执行条件 常开/闭线圈、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.4及以上 2）操作数 操作数 作用 类型 D 指定本地寄存器首地址编号 16位，BIN S1 指定读取串口参数的个数 16位，BIN S2 指定读取的串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD；CD 表示 CD、HCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS； DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、 HSC。 4）功能和动作 CFGCR HD0 K8 K2 X0 S1· S2·D·  操作数 S1：读取串口参数占用的寄存器个数，一般为 8（XD5E/XDME系列为 9）。  操作数 S2：串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  将串口 2的 8个参数读取到 HD0~HD7中。具体参数的名称和定义见 6-5-3 节内容。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 294 6-5-2．串口参数的写入[CFGCW] 1）指令概述 将本机内指定寄存器里的数值写入到指定串口中。 串口参数的写入[CFGCW] 16位指令 CFGCW 32位指令 - 执行条件 常开/闭线圈、边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.4及以上 2）操作数 操作数 作用 类型 S1 指定本地寄存器首地址编号 16位，BIN S2 指定写入串口参数的个数 16位，BIN S3 指定写入的串口编号 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● S3 ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD；CD 表示 CD、HCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS； DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、 HSC。 4）功能和动作 CFGCW HD0 K8 K2 X0 S2. S3.S1.  操作数 S2：写入串口参数占用的寄存器个数，一般为 8（XD5E/XDME系列为 9）。  操作数 S3：串口号范围：K0~K5。K0：COM0（RS232）、K1：COM1（RS232）、K2：COM2（RS232 或 RS485）、K3：COM3（左扩展口） 、K4：COM4（上扩展口 1）、K5：COM5（上扩展口 2）。  将 HD0~HD7中的数值写入到串口 2的参数里。具体参数的名称和定义见 6-5-3 节内容。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 6 通讯功能 295 6-5-3．串口参数的名称及设定 假设 HD0~HD14对应串口参数，则各寄存器代表的参数名称及设定如下表所示： 参数 地址 参数名称及设定 MODBUS 通讯时 （HD0=1） 自由格式通讯时 （HD0=2） X-NET 通讯时 OMMS（HD0=3） TBN（HD0=3） HD0 网络种类 1：MODBUS； 2：自由格式； 3：X-NET通讯； HD1 MODBUS站号 1~254 波特率 见附表 1 网络号 0~32767 网络号 0~32767 HD2 传输模式 0：RTU 128：ASCII 帧格式 见附表 2 站点号 0~100 站点号 0~100 HD3 波特率 见附表 1 Free属性 bit7： 1：有起始符 0：无起始符 bit6： 1：有终止符 0：无终止符 物理层类型 0：PHY_RS485 1：PHY_SOF（单向光纤环网） 2：PHY_OFPP（光纤点点网） 3：PHY_RS232 4：PHY_RS422 5：PHY_TTL（TTL电平网） HD4 帧格式 见附表 2 起始符 链路层类型 0：TBN 1：HDN 2：CCN 4：PPU 3：PPFD 5：Ethernet HD5 重试次数 0~5 终止符 OMMS属性 128：支持周期通信，否则 不支持 波特率 见附表 1 HD6 回复超时 0~65535 帧超时时间 0~255 OMMS波特率 见附表 1 令牌循环时间 1~60000（ms） HD7 发送前延时 0~255 回应超时时间 0~65535 （0为无限等待） OMMS从站列表 数组中每个字节的每一位 表示该从站是否可以访问 （主站时有效，即站点号 为 1） 最大站点数 1~100 HD8 - - - - 【注】 ：表格中不包含自由格式通讯模式下的“缓冲位数” ，故“缓冲位数”不能通过CFGCR 和 CFGCW 指 令读写，但可使用 MOV 指令读写， “缓冲位数”地址见附录3。 附表1：波特率 数值 波特率 数值 波特率 数值 波特率 数值 波特率 1 300 bps 7 19200 bps 13 256000 bps 19 1000000 bps 2 600 bps 8 28800 bps 14 288000 bps 20 1200000 bps 3 1200 bps 9 38400 bps 15 384000 bps 21 1500000 bps 4 2400 bps 10 57600 bps 16 512000 bps 22 2400000 bps 5 4800 bps 11 115200 bps 17 576000 bps 23 3000000 bps 6 9600 bps 12 192000 bps 18 768000 bps


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
6 通讯功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 296 附表2：帧格式 停止位 校验位 数据位长度 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 00：1位 01：1.5位 10：2位 000：无 001：奇 010：偶 011：空 100：Mask 000：5 位 001：6 位 010：7 位 011：8 位 100：9 位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 297 7 PID 控制功能 7-1．PID 控制指令 7-1-1．概述 虽然很多工业过程是非线性或时变的，但通过对其简化可以变成基本线性和动态特性不随时间变化的 系统，这样 PID 就可控制了。 XD/XL 系列 PLC 的本体全部支持 PID 控制指令，并提供了自整定功能。用户可以通过自整定得到最 佳的采样时间和 PID 参数值，从而提高控制精度。 XD/XL系列 PLC采用 PID 指令形式给用户带来了诸多便利： （1）输出可以是数据形式 D、HD，也可以是开关量形式 Y，在编程时可以自由选择。 （2）通过自整定可得到最佳 PID 参数值，提高了控制精度。 （3）可通过软件设置来选择逆动作还是正动作。前者用于常规加热控制，后者常用于空调冷却控制。 （4）PID控制可以脱离与扩展模块的联系，扩展了该功能的灵活性。 （5）XD/XL系列 PLC在本体部分有两种自整定法，分别为阶跃响应法和临界振荡法。 对温度控制对象来说，使用阶跃响应法，需要保证被控对象的当前温度与环境温度一致时，才能开始 自整定。而临界振荡法开始整定时，被控对象的当前温度不一定要与环境温度一致，可以从任何温度开始 自整定。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 298 7-1-2．指令形式 1）指令概述 将指定寄存器中数值进行 PID控制的指令。 PID 控制[PID] 16位指令 PID 32位指令 - 执行条件 常开/闭线圈触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.2 及以上 2）操作数 操作数 作用 类型 S1 设定目标值（SV）的软元件地址编号 16位，BIN S2 测定值（PV）的软元件地址编号 16位，BIN S3 设定控制参数的软元件首地址编号 16位，BIN D 运算结果（MV）的存储地址编号或输出端口 16位，BIN；位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● S2 ● ● S3 ● D ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 PID D0 D10 HD0 D100 X0 D·S1· S2· S3·  S3~ S3+ 69将被该指令占用，不可当作普通的数据寄存器使用。  该指令在每次达到采样时间的间隔时执行。  对于运算结果，数据寄存器用于存放 PID 输出值；输出点用于输出开关量信号。 （PLC 的输出类型需 为晶体管型）  若 PID 指令输出为寄存器，将会以数字量输出，如果是输出端子，则会以占空比输出。例如：数字量 上限为 4095，当前输出数字量位 2078，那么输出端子就会以 50%的占空比输出。  PID的控制规律如下： 比例 积分 微分 Up Ui Ud + r（t） + e（t） - u（t） c（t） 被控对象 + + 模拟 PID控制系统原理图 e(t) = r (t ) –c ( t ) （1-1） u(t) = Kp [ e(t) + 1/Ti ∫ e(t)dt + TD de(t)/dt] （1-2）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 299 其中，e(t)为偏差，r ( t )为给定值，c ( t )为实际输出值，u(t)为控制量； 式（1-2）中，Kp、Ti、TD分别为比例系数、积分时间系数、微分时间系数。 运算结果： 1．模拟量输出：MV = u（t）的数字量形式，默认范围为 0~4095。 2．开关量输出：Y = T * [ MV / PID输出上限]。Y为控制周期内输出点接通时间，T 为控制周期，与 采样时间相等。PID输出上限默认值为 4095。 7-1-3．参数设置 用户在信捷 PLC 编程工具软件中直接调用 PID 指令时，可在窗口中进行设置（如下图），也可通过 MOV等指令在 PID运算前，将目标值、采样时间等参数写入指定寄存器。 自整定模式配置如下： V3.2 及以上版本的软件中，可以对临界振荡法进行面板配置（阶跃响应法和临界振荡法可选配置）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 300 7-1-3-1．寄存器定义表 PID控制指令相关参数地址，请参照下表： 地址 功能 说明 备注 S3 采样时间 无论自整定模式还是手动模式均需 设定 32位无符号数，单位 ms S3+2 模式设置 bit0：0：负动作； 1：正动作 bit1～bit6不可使用 bit7：0：手动 PID； 1：自整定 PID bit8：1：自整定成功标志 bit9～bit10：自整定方法 00：阶跃响应法 01：临界振荡法 bit11～bit12不可使用 bit13～bit14 自整定 PID 控制模式 （使用临界振荡法时有效） 00：PID控制 01：PI控制 10：P 控制 bit15：0：普通模式； 1：高级模式 S3+3 比例增益（Kp） 0～32767（单位：%） S3+4 积分时间（Ti） 0～32767（单位：100ms） 0时作为无积分处理 S3+5 微分时间（Td） 0～32767（单位：10ms） 0时作无微分处理 S3+6 PID运算范围 0～32767 PID调整带宽 S3+7 控制死区 0～32767 死区范围内 PID 输出值不变 S3+8 采样温度滤波系数 0～100（单位：%） 高级模式下， 对输入采样温度 滤波，0 时没有输入滤波 S3+9 微分增益（KD） 0～100（单位：%） 仅用于高级模式 （普通模式默 认 50%），0时无微分增益 S3+10 输出上限设定值 0～32767 S3+11 输出下限设定值 0～32767 S3+12 单位温度变化对应 AD 值变化 满量程 AD值*（0.3~1%） 默认值：10 16 位无符号，仅阶跃 PID 整 定 S3+13 PID 自整定是否允许超 调 0：允许超调 1：不超调（尽量减少超调） 仅阶跃 PID 整定 S3+14 自整定结束过渡阶段当 前目标值每次调整的百 分比% 不可调 16 位无符号，仅阶跃 PID 整 定 S3+15 限制超调时自整定结束 过渡阶段超过目标值次 数 仅阶跃 PID 整定，默认允许 最大 15次 S3+16 PID类型及状态 Bit0~bit1： 00：手动 PID模式 01：阶跃整定模式 10：临界振荡整定模式 Bit8： 0：手动控制状态 系统内部使用参数， 仅供监测 用


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 301 地址 功能 说明 备注 1： 自整定结束， 进入手动控制状态 S3+17 PID最大输出值 0～32767 系统内部使用参数， 仅供监测 用 S3+18 PID最小输出值 0～32767 系统内部使用参数， 仅供监测 用 S3+19 上次采样时间 0～采样时间（单位：ms） 16 位无符号，系统内部使用 参数，仅供监测用 S3+20 实际采样时间间隔 值在采样时间左右 32 位无符号，系统内部使用 参数，仅供监测用 S3+22 上次用户设定的目标温 度 修改目标温度前的值 系统内部使用参数， 仅供监测 用 S3+23 - - 参数保留 下面为联合使用地址（分为阶跃整定、临界振荡整定、手动控制3 个部分） 阶跃整定部分（参数只读，仅用作监测） S3+24 实际采样间隔 0～4294967296（单位：ms） 系统内部使用参数 S3+26 自整定 PID 所处的运算 段 0：准备阶段 1～2：自整定参数采集 3：计算 PID 参数 系统内部使用参数 S3+28 自整定 PID 运算参数所 持续的时间 0～4294967296（单位：ms） 系统内部使用参数 S3+30 两拐点时间实时累计 到达拐点时清零并重新计算时间 0～4294967296（单位：ms） 系统内部使用参数 S3+32 拐点的采样变化值 两个拐点间的采样差值 -2147483648~2147483647 系统内部使用参数 S3+34 拐点的 EK的采样间隔时 间 0～4294967296（单位：ms） 系统内部使用参数 S3+36 自整定 PID 到拐点的时 间 0～4294967296（单位：ms） 系统内部使用参数 S3+38 上一次采样温度 -32767~32767 系统内部使用参数 S3+39 自整定 PID 运算到拐点 的时间 -32767~32767（单位：ms） 系统内部使用参数 S3+40 自整定 PID 运算的起始 采样值 -32767~32767 系统内部使用参数 S3+41 自整定时保持在拐点处 的次数 0~65535 系统内部使用参数 S3+42 无用时间 0～4294967296（单位：ms） 系统内部使用参数 S3+44 停止温度 自整定结束时的温度 范围：-32767~32767 系统内部使用参数 临界振荡整定部分（参数只读，仅用作监测） S3+24 PID控制模式 0：PID 控制 1：PI控制 2：P 控制 16 位无符号，系统内部使用 参数 S3+25 当前自整定所处位段 0：准备阶段 1：开始自整定 2～3：自整定参数采集 4：计算 PID 参数 16 位无符号，系统内部使用 参数 S3+26 自整定温度位于第几个 波峰段 0：第一个波峰段 1：第二个波峰段 16 位无符号，系统内部使用 参数


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 302 地址 功能 说明 备注 S3+27 最低采样温度 -32767～32767 系统内部使用参数 S3+28 最高采样温度 -32767～32767 系统内部使用参数 S3+30 最低温度对应采样时间 0～4294967296（单位：ms） 系统内部使用参数 S3+32 最高温度对应采样时间 0～4294967296（单位：ms） 系统内部使用参数 S3+34 自整定用时累计 0～4294967296（单位：ms） 系统内部使用参数 手动控制部分（参数只读，仅用作监测） S3+24 当前目标温度 -32767~32767 系统内部使用参数 S3+25 需要更新目标温度 0：不需要 1：需要 16 位无符号，系统内部使用 参数 S3+26 达到目标温度次数 0~65535 系统内部使用参数 S3+27 PID运算范围上限 -32767~32767 系统内部使用参数 S3+28 PID运算范围下限 -32767~32767 系统内部使用参数 S3+30 PID采用 Y口输出时， 高 电平时间 0～4294967296（单位：ms） 系统内部使用参数 S3+32 上次滤波后采样温度 上个采样时间采集到的滤波后的温 度（需要先设定高级模式里的输入 滤波常数） 浮点型，系统内部使用参数 S3+34 上次温度偏差 浮点型，系统内部使用参数 S3+36 上次积分项值 上一个采样时间的 Ui 对应的数字 量值 浮点型，系统内部使用参数 S3+38 上次微分项值 上一个采样时间的 Ud 对应的数字 量值 浮点型，系统内部使用参数 S3+40 上次 PID输出值 浮点型，系统内部使用参数 【注】 ：当自整定模式结束转为手动控制后，原 S3+24~S3+40 地址内的数值将被手动控制模式下的数值覆 盖。 7-1-3-2．参数说明 1）动作方向  正动作：随着测定值 PV的增加操作输出值 MV随之增加的动作，一般用于冷却控制。  逆动作：随着测定值 PV的增加操作输出值 MV反而减少的动作，一般用于加热控制。 2）模式设置  普通模式 使用参数寄存器的范围为 S3～S3+69，其中 S3～S3+7 需要用户设置；S3+8～S3+69 为系统所占 用，用户不可以使用。  高级模式 使用参数寄存器的范围为 S3～S3+69，其中 S3～S3+7 和 S3+8～S3+11 需要用户设置；S3+16～ S3+69为系统所占用，用户不可以使用。 3）采样时间[S3] 系统按照一定的时间间隔对当前值进行采样并与输出值比较，这个时间间隔即为采样时间 T。当 DA 输出时，T 无限制；当端口输出时，T 必须大于 1 个 PLC 程序扫描周期。T 的取值宜在 100~1000 个 PLC 扫描周期的范围内。 4）PID 运算范围[S3+6] 系统在运行时，一开始处于PID 全开阶段，即以最快的速度（默认为4095）接近目标值，当达到PID 的运算范围时，参数 Kp、TI、TD开始起控制作用。如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 303 目标值 PID 运算范围 PID 全开区 时间t 输出值 如目标值为 100，PID 运算范围的值取 10，那么 PID真正进行运算的范围即为 90~110。 5）控制死区[S3+7] 当 PID 输出值在较小的范围内波动，不会对被控系统造成多大的影响。因此实际上没有必要将系统输 出的有功功率控制得非常准确。为此可以在控制有功功率的PID控制器中设置死区。另外，如果不停的调 节输出值，有关的机械元件将会磨损得很快。通过设置控制死区，可以避免这种情况。如下图所示： 时间t PID输出值 上一个值120 当前值122 下一个值135 假设，此时我们设定控制死区值为10，那么在上图中，PID 输出当前值（122）对上一个输出值（120） 来说，变化量仅为 2，PID运算后将结果（122）保持在内部寄存器，最终输出值保持上一次的输出值（仍 为 120） ，下一个输出值135对 120具有变化量 15，大于控制死区值，PID实际输出值变为 135。 7-1-4．自整定模式 当用户不清楚 PID参数的具体设定值时，可以选用自整定模式，使系统自动寻找最佳的控制参数（比 例增益 Kp、积分时间 Ti、微分时间 TD）。  自整定模式适用的控制对象：温度及压力；不适用的控制对象：液位及流量等。  自整定就是提取 PID 参数的过程，有时自整定一次并不能找到最佳参数，需要进行多次自整定才行， 中间出现震荡属正常现象。自整定结束找到最佳参数后，要调到手动PID。如果手动 PID过程中控制 对象不稳定，不能控制在恒定目标值，可能是参数调节不理想造成，需要再调节PID参数来实现稳定 控制。  阶跃响应法在自整定开始的时候，用户可以预先将 PID 的控制周期（采样时间）设为 0，在整定结束 后也可以依据实际需要进行手工修改。  对于阶跃响应法，在进行自整定前，系统必须处于非控制状态下的稳态。对温度控制对象来说，就是 当前测定温度与环境温度一致。  临界振荡法在自整定开始的时候，用户需要预先将PID的控制周期（采样时间）设定好。参考值：一 般响应慢的系统可以设定为 1000ms，响应快的系统，可以设定为 10ms-100ms。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 304  临界振荡法进行自整定，系统可以从任一状态开始。对温度控制对象来说，就是当前测定温度不需要 与环境温度一致。可以低于目标温度，也可以高于目标温度。  两种自整定方法和 PID控制曲线图： （1）阶跃响应法：自整定前需要保证起始温度和环境温度一致。 输出值 D0+DIFF D0设定值 D0-DIFF 时间t （2）临界振荡法：自整定的起始温度可以任意。 时间t 输出值 D0+DIFF D0设定值 D0-DIFF 进入自整定模式，请设置 S3+2 的 bit7 为 1，并开通 PID 运行条件。在观察到 S3+2 的 bit8 为 1 （自整定成功）后，表示自整定成功。详见后面的程序案例。  PID自整定周期变化值[S3+12] 自整定时，在 S3+12中设置该值。 这个设定值决定自整定性能，一般设置一个标准测量单位对应的AD值。默认值为10，建议设定 范围：满量程 AD值×0.3~1%。 用户一般无需改动，但如果系统受外界扰动很大，需要适度增加这个值，以避免正/逆动作判断出 错。 如果该值过大， 整定出来的PID控制周期 （采样时间） 可能会过长， 所以需要避免设定较大数值。 注意：用户在缺乏经验时，该值取默认值 10，PID采样时间（控制周期）取 0ms，然后做自整定。  PID自整定超调允许设置[S3+13] 设置为 0时，允许超调，系统总是能够选到最佳PID 参数，但是在整定的过程中，测定值可能会 低于目标值，也可能会超出目标值，此时要考虑安全因素。 设置为 1时，不允许超调。对于安全方面有严格要求的控制对象，如压力容器等，为避免在自整 定过程中出现测定值严重超出目标值的情况，可将 S3+13设置为 1，以避免超调。 在此过程中，如果 S3+2的 bit8由 0变 1，说明自整定成功，得到了最佳参数；如果 S3+2的 bit8 始终为 0，直到 S3+2的 bit7由 1变为 0，说明自整定结束，得到的参数并非最佳参数，可能需要做一 些手工调整。  自整定结束过渡阶段当前目标值每次调整的百分比%[S3+14] 该参数仅在[S3+13]为 1 时有效。 如果在自整定后直接进入正常 PID控制，容易产生小幅度的超调。适当减小该参数值有利于抑制 超调， 但该值过小容易造成响应滞后。 默认值100%， 相当于该参数不起作用。 建议调整范围50~80%。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 305 图例说明： 当前目标值每次调整的比例为 2/3（即 S3+14为 67%） ，系统的初始温度为0度，目标温度为 100 度，此时当前目标温度调整情况如下所示： 下一个当前目标值=当前目标值+(最终目标值－当前目标值)*2/3 ; 则系统的当前目标值变化顺序 为 66度，88度，96度，98度，99度，100度。 ℃ 100 96 88 66 t 当前目标值1 当前目标值2 当前目标值3 目标值 当前系统值  限制超调时自整定结束过渡阶段超过目标值次数[S3+15] 该参数仅在[S3+13]为 1 时有效。 如果在自整定后直接进入正常 PID控制，容易产生小幅度的超调。适当增加该参数值有利于抑制 超调，但该值过大容易造成响应滞后。默认值 15次，建议调整范围 5~20。 7-1-5．高级模式 为了使 PID 控制效果更好，用户可以在高级模式中，对相关参数进行设置。进入高级模式，请设置 [S3+2]的 bit15为 1，或通过 XDPPro软件进行设置。  输入滤波常数[S3+8] 具有使采样值变化平滑的效果。默认值为 0%，表示不滤波。  微分增益[S3+9] 低通滤波环节，具有缓和输出值急剧变化的效果。 默认值为 50%，增大该值将使缓和作用更为明显，一般用户无需改动。  输出上、下限设定值[S3+10]、[S3+11] 用户可通过设定该值来选择模拟量的输出范围。 默认值：输出下限=-32767 输出上限=32767 7-1-6．应用要点  在持续输出的情况下，作用能力随反馈值持续增强而逐渐变弱的系统，可以进行自整定，如温度或压 力。对于流量或液位对象，则不一定适合作自整定。  在允许超调的条件下，自整定得出的 PID 参数为系统最佳参数。  在不允许超调的前提下，自整定得出的PID参数视目标值而定，即不同的设定目标值可能得出不同的 PID参数，且这组参数可能并非系统的最佳参数，但可供参考。  用户如无法进行自整定，也可以依赖一定的工程经验值手工调整，但在实际调试中，需根据调节效果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 306 进行适当修改，下面介绍几种常见控制系统的经验值供用户参考： 7-1-7．程序举例 例 1： MOV ID10000 D10 SM0 M1 M2 ( S ) HD2.7 M0 PID D0 D10 HD0 Y0 M1 M2 M2 ( R ) HD2.7 HD2.8 HD13 ( R ) M1 HD2.8 K0 HD13 K1 软元件功能注释： HD2.7：自整定位 HD2.8：自整定成功标志 M0：常规 PID控制 M1：自整定控制 M2：自整定后直接进入 PID 控制 HD13：是否允许超调 操作流程： （1）首先，将温度模块采集到的实际温度值传送到PID指令的采集寄存器中； （2）给 PID 指令的 P、I、D以及采样周期分别赋一个大概的参数（可以参见参考值） ； （3）置位自整定控制位 M1，启动 PID 自整定（详细的自整定变化过程请参加下面的例 2）； （4）当自整定完成后会通过自整定成功位 HD2.8将自整定控制位 M1复位； （5）可以直接将常规 PID 控制线圈 M0 置位，利用自整定整定出的 P、I、D 以及采样周期参数进行 PID控制； （6）如果利用自整定整定出的参数做 PID 控制效果不是很好，可以将自整定整定出的参数进行适当 的调整，已达到最佳效果。 注意：此 PLC温度 PID控制的程序几乎适用于所有温控项目中。  温度系统：P（%）2000 ~ 6000， I（分钟）3 ~ 10， D（分钟）0.5 ~ 3  流量系统：P（%）4000 ~ 10000，I（分钟）0.1 ~ 1  压力系统：P（%）3000 ~ 7000， I（分钟）0.4 ~ 3  液位系统：P（%）2000 ~ 8000， I（分钟）1 ~ 5 // 将 ID10000 中的内容送至 D10 // 自整定控制开始，或自整定结束后，将PID 模 式设为自整定 // 开始 PID，D0 为目标值，D10 为测量值，HD0 开始为 PID 参数区，将 PID 控制结果通过 Y0 端口输出 // PID控制结束， 关闭自整定PID 模式 // 自整定成功后，且允许超调时，关闭自整定控 制位，自整定结束 // 自整定转为手动模式后，且不允许超调时，关 闭自整定控制位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 307 例 2： 以下为阶跃响应法控制目标温度为 60℃时，在允许超调与不允许超调情况下的自整定与控制过程描 述。  当选定为“允许超调”时： （1）设定的目标温度为 60℃（600）； （2）相关的参数设定为： 图 1 PID 自整定允许超调参数设定 （3）允许超调经测试的结果曲线如下图： 图 2 PID 自整定允许超调波形图 说明： 当设定的目标温度为 60℃、PID 运算范围设定为 10℃、PID 控制死区设定为 0.2℃（配置面板上要写 0.2×10=2）和自整定周期变化值设定为 10时，在开始常温进行 PID 控制时；将 PID 启动，此时输出端会 以全速输出从 28℃开始给加热器加热；当温度一直加热到约 100℃时，此时加热输出端才会停止；由于此 时还有余温的原因，温度还会继续上升，一直使温度达到 110℃左右才达到最高温，这个时候才开始慢慢 的降温，一直降温到低于 60℃时加热输出端再次开始加热输出，当温度到达约 70℃左右时，加热输出端


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 308 再次关断，当上升了少量的余温时会再次温降，以此不断的循环；温度在目标温度的上下波动幅度越来越 小，最终以达到 PID 的温控。 注意点： （1） 当温度一直加热到100℃左右停止加热时， 此时PID开始标志位 HD2.7不会立即自动进行复位， 会有很长一段时间的延时后才会复位； （2）当温度一直加热到 100℃左右停止加热时，自整定成功标志位 HD2.8会立即置位； （3）刚开始进行 PID 运算后，PLC 会自动给出一个采样时间（一般约为 2500 左右） ，当温度一直加 热到 100℃左右停止加热时，此参数会自动被另外一个数值所取代，此时的参数即为PID 自整定出的最佳 采样周期时间； （4）刚开始进行 PID 运算后，PLC 会分别自动给出 P、I、D 三个参数（这三个参数每次一样，为定 值，分别为 4454、926、2317） ，当温度一直加热到100℃左右停止加热时，此时这三个参数会自动被另外 三个数值所取代，此时的三个参数即为 PID自整定出的最佳 P、I、D的参数值； （5）由于当温度一直加热到 100℃左右停止加热时 PID 开始标志位 HD2.7 要经过较长的时间才会自 动进行复位，而且一般此时的采集温度要比目标温度高的多；所以此时如果再次将 PID 的前提导通的话， 会再次进行 PID 运算，由于此时的采集温度要比目标温度高，PID 会在很短的时间内通过自整定整定出的 PID 所有最佳参数值全部为 0，进而取代了原来的 PID 的所有的参数值，使所有新的 PID 最佳参数值全部 显示为 0，这也很可能就是客户所说的为什么 PID 参数不能够掉电记忆的原因；所以要求每次在重新进行 PID运算时要等待加热物体的温度降到室温再执行； （6）当 PID 自整定的开始标志位和自整定成功标志位用的都是带掉电记忆的位时，最好能够适时的 对它们进行置位与复位，以保证下次启动或 PLC重新上电时不会导致 PID运算错误。 （7）当利用允许超调时第一次加热升温时最终的最高温度会达到110℃左右的高温，比预先设定的目 标温度高出 50℃左右，超调的量较大。 （8）在 PID启动时，此时输出端会以全速输出从28℃开始给加热器加热，当温度一直加热到约60℃ 左右时可以通过数据判断强制让加热器停止加热，以达到抑制温升超调值过大的目的，不过这样就打乱了 PID自整定的正常运行； （9） 当将PID 运算范围设定的值适当的扩大时， 也可以一定程度的达到抑制温升超调值过大的目的。  当选定为不允许超调时： （1）设定的目标温度为 60℃（600）； （2）相关的参数设定为： 图 3 PID 自整定不允许超调参数设定


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 309 （3）不允许超调经测试的结果曲线如下图： 图 4 PID 自整定不允许超调波形图 说明： 当设定的目标温度为 60℃、PID 运算范围设定为 10℃、PID 控制死区设定为 0.2℃（配置面板上要写 0.2×10=2）和自整定周期变化值设定为 10时，在开始常温进行 PID 控制时，将 PID 启动，此时输出端会 以全速输出从 28℃开始给加热器加热；当温度一直加热到约 48℃时此时加热输出端就会停止；由于此时 还有余温的原因，温度还会继续上升，一直使温度达到 70℃左右就达到最高温，这个时候接着开始慢慢的 降温，一直降温到低于 60℃时加热输出端再次开始加热输出，当温度到达约 62℃左右时，加热输出端再 次关断，当上升了少量的余温时（约到 64℃左右）会再次温降，以此不断的循环；温度在目标温度的上下 波动幅度越来越小，最终以达到 PID 的温控，精度在+0.25℃。 注意点： （1）当温度一直加热到 48℃左右停止加热时，此时 PID 开始标志位 HD2.7 不会立即自动进行复位， 会有很长一段时间的延时后才会复位； （2）当温度一直加热到 48℃左右停止加热时，自整定成功标志位 HD2.8 也没有立即置位，直到 PID 自整定成功温度稳定时还是仍然没有置位； （3）刚开始进行 PID 运算后，PLC 会自动给出一个采样时间（一般约为 2500 左右） ，当温度一直加 热到 48℃左右停止加热时，此参数会自动被另外一个数值所取代，此时的参数即为PID 自整定出的最佳采 样周期时间； （4）刚开始进行 PID 运算后，PLC 会分别自动给出 P、I、D 三个参数（这三个参数每次一样，为定 值，分别为4454、926、2317） ，当温度一直加热到48℃左右停止加热时，此时这三个参数会自动被另外三 个数值所取代，此时的三个参数即为 PID 自整定出的最佳 P、I、D 的参数值； （5）由于当温度一直加热到48℃左右停止加热时 PID 开始标志位 HD2.7要经过较长的时间才会自动 进行复位，而且一般此时的采集温度要比目标温度高的多；所以此时如果再次将PID的前提导通的话，会 再次进行 PID运算， 由于此时的采集温度要比目标温度高，PID 会在很短的时间内通过自整定整定出的 PID 所有最佳参数值全部为 0，进而取代了原来的 PID的所有的参数值，使所有新的 PID最佳参数值全部显示 为 0，这也很可能就是客户所说的为什么 PID 参数不能够掉电记忆的原因；所以要求每次在重新进行 PID 运算时要等待加热物体的温度降到室温再执行； （6）当 PID 自整定的开始标志位和自整定成功标志位用的都是带掉电记忆的位时，最好能够适时的 对它们进行置位与复位，以保证下次启动或 PLC重新上电时不会导致 PID运算错误。 （7）当利用允许超调时第一次加热升温时最终的最高温度只会达到 70℃左右的温度，比预先设定的 目标温度高出约 10℃左右，超调的量较小。 （8） 当将PID 运算范围设定的值适当的扩大时， 也可以一定程度的达到抑制温升超调值过大的目的。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 310 7-2．BPC_TEMP_PID 7-2-1．PID 算法 BPC_TEMP_PID指令，适用于加热、制冷、加热/制冷三种控温场景。BPC_TEMP_PID包含加热和制 冷两路输出，且每种输出提供比例、PWM、模拟量三种输出形式。包含自动控温功能、手动控制功能，线 性控温功能、超调抑制功能、参数整定功能等。 BPC_TEMP_PID指令并不是必须要和温度扩展模块绑定使用的，测温模块的温度值、AD模块计算而 来的温度值、 通讯输入的温度值等都可以作为温度PID的当前温度值， 但是需要注意 ‘当前温度值’ 为Real 型，关联前要进行数据类型转换。 指令包含以下工作模式：  未激活  阶跃响应自整定  临界振荡自整定  自动控制模式  线性自动模式  手动无扰动模式  手动扰动模式 温度 PID可连续采集在控制回路内测量的过程值并将其与所设置的设定值进行比较。温度 PID将根据 生成的控制偏差计算加热和（或）制冷的输出值，而该值用于将过程值调整到设定值。 温度 PID控制器的输出值由三种作用构成：  比例作用 输出值的比例作用与控制偏差成比例增加。  积分作用 输出值的积分作用一直增加，直到控制偏差达到平衡状态。  微分作用 微分作用随控制偏差的变化率而增加。 过程值会尽快校正到设定值。 如果控制偏差的变化率下降， 则微分作用将再次减弱。 BPC_TEMP_PID 是一种具有抗积分饱和功能，并且能够对比例作用和微分作用进行加权的 PID 控制 器，PID计算公式如下： 𝑃𝐼𝐷out = 𝐾𝑝 ⋅ [(𝑃𝑐 ⋅ 𝑆𝑉 − 𝑃𝑉) + 1 𝑇𝑖 ⋅ 𝑠 ⋅ (𝑆𝑉 − 𝑃𝑉) + 𝑇𝑑 ⋅ 𝑠 𝐷𝑓 ⋅ 𝑇𝑑 ⋅ 𝑠 + 1 ⋅ (𝐷𝑐 ⋅ 𝑆𝑉 − 𝑃𝑉)] 参数 说明 𝑃𝐼𝐷out PID算法输出值 𝐾𝑝 比例增益 𝑠 拉普拉斯运算符 𝑃𝑐 比例作用权重 𝑆𝑉 目标温度值 𝑃𝑉 当前温度值 𝑇𝑖 积分作用时间 𝑇𝑑 微分作用时间 𝐷𝑓 微分延迟系数 𝐷𝑐 微分作用权重


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 311 7-2-2．BPC_TEMP_PID 指令 7-2-2-1. 指令形式 梯形图 Enable SetValue PresentValue BPC_TEMP_PID ManualValue LineValue PIDMode ModeActive WarningCLR ErrorCLR Reset CurrentSetValue HeatOutput CoolOutput HeatOutput_Analog CoolOutput_Analog HeatOutput_PWM CoolOutput_PWM State WarningFlag WarningCode ErrorFlag ErrorCode BPC_TEMP_PID_1 在添加指令时，会自动声明该指令的实例化，即 在‘ _SYS_PID’变 量表 中 自动 添加 一 个 ‘BPC_TEMP_PID’类型的变量 C 语言 BPC_TEMP_PID_BODY （&BPC_TEMP_PID1） C 语言编程环境中，指令名称为 “BPC_TEMP_PID _BODY” 【注】：在 C语言中调用 BPC_TEMP_PID 指令， 需要先在_SYS_PID 的系统变量表中自行添加 ‘BPC_TEMP_PID’类型的变量，在调用指令 时，将变量名称填入括号中。 7-2-2-2. 输入参数 参数 中文名 类型 初始值 范围 说明 SetValue 目标温度值 Real 0.0 -3.0E38 ~3.0E38 设定的目标温度值。 大于温度错误上限、 小于温度错误下限， 输出 错误标志位，PID 控制器进入错误输出模式； 大于目标温度警告上限、小于目标温度警告 下限，输出警告标志位，但 PID 控制器正常 运行。 单位℃ PresentValue 当前温度值 Real 0.0 -3.0E38 ~3.0E38 测量的实时温度值。 大于温度错误上限、 小于温度错误下限， 输出 错误标志位，PID控制器进入错误输出模式； 大于当前温度警告上限、小于当前温度警告 下限，输出警告标志位，但 PID 控制器正常 运行。 单位℃ ManualValue 手动输出值 Real 0.0 -100.0 ~100.0 当激活手动控制模式后，PID输出值=手动输 出值。 制冷时， 手动输出值需为负数； 制热时， 手动 输出值需为正值。 单位%


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 312 参数 中文名 类型 初始值 范围 说明 LineValue 线性化斜率 Real 0.0 0~3.0E38 当激活线性控制模式后，温度将按照预设斜 率升降温，斜率方向取决于当前温度值和目 标温度值。 单位℃/min PIDMode 控制模式 UInt 0 0~6 可设定的控制模式。 0： （默认）未激活； 1：阶跃响应法整定； 2：临界振荡法整定； 3：自动控制模式； 4：线性自动模式； 5：手动无扰动模式； 6：手动扰动模式； ModeActive 模式激活 Bool FALSE × 上升沿触发生效，PID 控制器切换到保存在 PIDMode中的工作模式。 WarningCLR 警告清除 Bool FALSE × 上升沿触发生效， 清除警告信息。 触发信号始 终为 TRUE 时，警告会一直处于屏蔽状态， 警告代码输出始终为 0。 ErrorCLR 错误清除 Bool FALSE × 上升沿触发生效，同时清除错误信息和警告 信息。 Reset 控制器重启 Bool FALSE × 上升沿触发生效，将 PID 控制器重启，清除 错误信息和警告信息； 触发信号始终为 TRUE，控制器会始终处于 “未激活”模式，再次激活控制模式，需要重新 选择 PIDMode， 然后使用ModeActive激活模 式。 7-2-2-3. 内部参数 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W 基 础 配 置 /.BasicConﬁg.T empMode 控温方式 UInt 0 0~2 指令 重新 导通 生效 控温方式。 0（默认） ：加热； 1：制冷； 2：双向。 请注意： 整定模式无双 向方式。 若双向用于整 定模式时， 整定过程会 根据启动时的当前温 度值与目标温度值之 间的关系， 自动切换至 加热（或制冷）方式。 比如选择双向控温方 式，启动整定时，当前 温度值小于或等于目 标温度值， 控温方式切 换至加热， 按照此方式 进行整定， 请注意监控 相关数据信息。 RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 313 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.BasicConﬁg. Heat.OutMode 加热输出方 式 UInt 0 0~2 指令 重新 导通 生效 加热输出方式。 0（默认） ：百分比； 1：PWM； 2：模拟量。 RW /.BasicConﬁg. Heat.OutputScl Data 加热模拟量 输出标定 DInt 4095 -224~224 指令 重新 导通 生效 当用户选择加热输出 方式为模拟量时， 需要 设定加热模拟量输出 标定。 加热模拟量输出=（加 热输出 *1%）*加热模 拟量输出标定。 RW /.BasicConﬁg.C ool.OutMode 制冷输出方 式 UInt 0 0~2 指令 重新 导通 生效 制冷输出方式。 0（默认） ：百分比； 1：PWM； 2：模拟量。 RW /.BasicConﬁg.C ool.OutputSclD ata 制冷模拟量 输出标定 DInt 4095 -224~224 指令 重新 导通 生效 当用户选择制冷输出 方式为模拟量时， 需要 设定制冷模拟量输出 标定。 制冷模拟量输出=（制 冷输出 *1%）*制冷模 拟量输出标定。 RW /.BasicConﬁg.E rrSubValue 错误替代输 出值 Real 0.0 -100~100.0 立即 生效 错误输出模式下，PID 输出值=错误替代输出 值。 单位% RW 加 热 参 数 /.HeatParams.C ontrolStructure 加热控制器 结构 UInt 0 0~1 指令 重新 导通 生效 加热控制器结构。 0（默认） ：PID； 1：PI。 RW /.HeatParams.K p 加热比例增 益 Real 1.0 0~3.0E38 立即 生效 加热比例增益。 RW /.HeatParams.T i 加热积分时 间 Real 20.0 0~100000.0 立即 生效 加热积分时间。 单位 s RW /.HeatParams.T d 加热微分时 间 Real 0.0 0~100000.0 立即 生效 加热微分时间。 单位 s RW /.HeatParams.T dFiltRatio 加热微分滞 后系数 Real 0.2 0~3.0E38 立即 生效 加热微分滞后系数。 RW /.HeatParams.P Weighting 加热比例作 用权重 Real 1.0 0~1.0 立即 生效 加热比例作用权重。 RW /.HeatParams.D Weighting 加热微分作 用权重 Real 1.0 0~1.0 立即 生效 加热微分作用权重。 RW /.HeatParams.C ontrolCycle 加热控制周 期 Real 1.0 0~100000.0 立即 生效 加热控制周期。 单位 s RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 314 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.HeatParams.D eadZone 加热死区宽 度 Real 0.0 0~3.0E38 立即 生效 加热死区宽度。 目标温度值 -死区宽度 <当前温度值 <目标温 度值+死区宽度，该范 围为死区； 死区宽度内， 强制将误 差值等于 0，进行 PID 运算。 提示： 死区宽度应小于 控制区宽度。 单位℃ RW /.HeatParams.C ontrolZone 加热控制区 宽度 Real 3.0E38 0~3.0E38 立即 生效 加热控制区宽度。 目标温度值 -控制区宽 度<当前温度值 <目标 温度值+控制区宽度， 该范围为控制区； 控制区范围内， 加热输 出由 PID 控制器自动 运算得出； 当前温度值<目标温度 值-控制区宽度，加热 输出为加热输出上限； 当前温度值>目标温度 值+控制区宽度，加热 输出为加热输出下限。 单位℃ RW /.HeatParams.O utputUpperLim it 加热输出上 限 Real 100.0 % 0~100.0 立即 生效 加热输出上限。 单位% RW /.HeatParams.O utputLowerLim it 加热输出下 限 Real 0.0% 0~100.0 立即 生效 加热输出下限。 单位% RW /.HeatParams.O ﬀset 加热输出前 馈补偿量 Real 0.0 0.0~100.0 立即 生效 加热输出前馈补偿量。 单位% RW 制 冷 参 数 /.CoolParams.C ontrolStructure 制冷控制器 结构 UInt 0 0~1 指令 重新 导通 生效 制冷控制器结构。 0（默认） ：PID； 1：PI。 RW /.CoolParams.K p 制冷比例增 益 Real 1.0 0~3.0E38 立即 生效 制冷比例增益。 RW /.CoolParams.T i 制冷积分时 间 Real 20.0 0~100000.0 立即 生效 制冷积分时间。 单位 s RW /.CoolParams.T d 制冷微分时 间 Real 0.0 0~100000.0 立即 生效 制冷微分时间。 单位 s RW /.CoolParams.T dFiltRatio 制冷微分滞 后系数 Real 0.2 0~3.0E38 立即 生效 制冷微分滞后系数。 RW /.CoolParams.P Weighting 制冷比例作 用权重 Real 1.0 0~1.0 立即 生效 制冷比例作用权重。 RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 315 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.CoolParams.D Weighting 制冷微分作 用权重 Real 1.0 0~1.0 立即 生效 制冷微分作用权重。 RW /.CoolParams.C ontrolCycle 制冷控制周 期 Real 1.0 0~100000.0 立即 生效 制冷控制周期。 单位 s RW /.CoolParams.D eadZone 制冷输入死 区 Real 0.0 0~3.0E38 立即 生效 制冷死区宽度。 目标温度值 -死区宽度 <当前温度值 <目标温 度值+死区宽度，该范 围为死区； 死区宽度内， 强制将误 差值等于 0，进行 PID 运算。 提示： 死区宽度应小于 控制区宽度。 单位℃ RW /.CoolParams.C ontrolZone 制冷控制区 宽度 Real 3.0E38 0~3.0E38 立即 生效 制冷控制区宽度。 目标温度值 -控制区宽 度<当前温度值 <目标 温度值+控制区宽度， 该范围为控制区； 控制区范围内， 制冷输 出由 PID 控制器自动 运算得出； 当前温度值<目标温度 值-控制区宽度，制冷 输出为制冷输出下限； 当前温度值>目标温度 值+控制区宽度，制冷 输出为制冷输出上限。 单位℃ RW /.CoolParams.O utputUpperLim it 制冷输出上 限 Real 100.0 % 0~100.0 立即 生效 制冷输出上限。 单位% RW /.CoolParams.O utputLowerLim it 制冷输出下 限 Real 0.0% 0~100.0 立即 生效 制冷输出下限。 单位% RW /.CoolParams.O ﬀset 制冷输出前 馈补偿量 Real 0.0 0.0~100.0 立即 生效 制冷输出前馈补偿量。 单位% RW 高 级 配 置 /.SpecialConﬁg .InputUpperLi mit 温度错误上 限 Real 3.0E38 -3.0E38 ~3.0E38 立即 生效 目标温度值 （或当前温 度值） 大于温度错误上 限时，PID控制器错误 标志位输出，PID 控制 器进入错误输出模式。 单位℃ RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 316 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.SpecialConﬁg .InputLowerLi mit 温度错误下 限 Real - 3.0E38 -3.0E38 ~3.0E38 立即 生效 目标温度值 （或当前温 度值） 小于温度错误下 限时，PID控制器错误 标志位输出，PID 控制 器进入错误输出模式。 单位℃ RW /.SpecialConﬁg .SetpointWarni ng_H 目标温度警 告上限 Real 3.0E38 -3.0E38 ~3.0E38 立即 生效 目标温度值大于目标 温度警告上限时，PID 控制器警告标志位输 出，PID 控制器正常运 行。 单位℃ RW /.SpecialConﬁg .SetpointWarni ng_L 目标温度警 告下限 Real - 3.0E38 -3.0E38 ~3.0E38 立即 生效 目标温度值小于目标 温度警告下限时，PID 控制器警告标志位输 出，PID 控制器正常运 行。 单位℃ RW /.SpecialConﬁg .InputWarning_ H 当前温度警 告上限 Real 3.0E38 -3.0E38 ~3.0E38 立即 生效 当前温度值大于当前 温度警告上限时，PID 控制器警告标志位输 出，PID 控制器正常运 行。 单位℃ RW /.SpecialConﬁg .InputWarning_ L 当前温度警 告下限 Real - 3.0E38 -3.0E38 ~3.0E38 立即 生效 当前温度小于当前温 度警告下限时，PID控 制器警告标志位输出， PID控制器正常运行。 单位℃ RW 过 程 数 据 /.ProcessData.T empError 当前控制内 温度偏差 Real 0.0 -3.0E38 ~3.0E38 × 当前控制内温度偏差。 单位℃ R /.ProcessData.I OutputOld 积分项输出 值 Real 0.0 -3.0E38 ~3.0E38 × 积分项输出值。 R /.ProcessData. DOutputOld 微分项输出 值 Real 0.0 -3.0E38 ~3.0E38 × 微分项输出值。 R /.ProcessData.P IDOutputSumO ld PID 总输出 值 Real 0.0 -100.0 ~100.0 × PID总输出值。 单位% R 积 分 设 定 /.IntegralSettin g.UserData 积分初值用 户分配值 Real 0 -3.0E38 ~3.0E38 指令 重新 导通 生效 积分初值用户分配值。 RW /.IntegralSettin g.IOutUper 积分饱和上 限 Real 3.0E38 0~3.0E38 指令 重新 导通 生效 积分计算大于上限后， 不再继续累计， 除非递 减方可生效； 积分计算小于 -1*上 限，不再继续累计，除 非递增方可生效。 RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 317 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.IntegralSettin g.IOldMode 积分初值类 型 UInt 0 0~2 指令 重新 导通 生效 积分初值类型。 0：默认值； 1：初值 0； 2：用户分配值。 RW 线 性 监 视 /.LineMonitor. Mode 线性模式 UInt 0 0~2 × 当前温度值与目标温 度值之间的关系。 0：未激活； 1：线性升温； 2：线性降温 R /.LineMonitor.S tatus 线性状态 Bool FALSE × 当前设定值与目标温 度值之间的关系。 FALSE：未激活或当前 设定值线性未完成； TRUE：当前设定值线 性完成 R 整 定 设 定 /.TuneSetting.T empDiﬀEnable 整定温差屏 蔽 Bool FALSE 指令 重新 导通 生效 整定温差屏蔽 FALSE：不屏蔽，整定 过程中， 温差不符合要 求会无法整定； TRUE： 屏蔽， 整定前需 要先设置控制周期， 整 定过程按照设定的控 制周期进行。 RW /.TuneSetting.T uneRule 整定规则 UInt 0 0~3 指令 重新 导通 生效 用于阶跃 /临界整定法 的整定规则。 0：默认； 1：快速； 2：标准； 3：慢速； 阶跃响应法整定情况 下，实际支持 0：默认 为标准；1：快速；2： 标准； 其余均为默认形 式； 临界震荡法整定情况 下，实际支持 0：默认 为快速；1：快速；2： 标准；3：慢速； RW /.TuneSetting.T uneNumber 整定次数 UInt 1 1~3 指令 重新 导通 生效 临界振荡法整定使用， 最多可设置3次整定过 程， 对应的所需时间会 进一步加长。 仅在临界振荡整定时 有效，阶跃整定无效。 RW


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 318 类 别 参数 名称 数据 类型 默认值 数据范围 生效 时机 说明 R/W /.TuneSetting.S tepRespState 阶跃响应法 整定状态 UInt 0 0~10 × 0：初始化 1：计算标准差 2：获取拐点数据 3：计算控制参数 7：修改目标设定值 8：整定成功 9：整定失败 10：切换等待 R /.TuneSetting.C ritPropState 临界振荡法 整定状态 UInt 0 0~10 × 0：初始化 1：计算标准差 2：等待到达设定目标 值 3：获取过程信息 5：计算控制参数 7：修改目标设定值 8：整定成功 9：整定失败 10切换等待 R /.TuneSetting.E valuate 整定评价指 标 UInt 0：容易；1：正常；2： 难 R 7-2-2-4. 输出参数 参数 中文名 类型 初始值 范围 说明 CurrentSetV alue 当前设定值 Real 0.0 -3.0E38~3.0E38 当前设定值， 显示PID内部 运算时实际使用的设定值。 单位℃ HeatOutput 加热输出 Real 0.0 0~100.0 加热输出。单位% CoolOutput 制冷输出 Real 0.0 0~100.0 制冷输出。单位% HeatOutput_Analog 加热模拟量输出 DInt 0 -2^24~2^24 加热模拟量输出。 CoolOutput_Analog 制冷模拟量输出 DInt 0 -2^24~2^24 制冷模拟量输出。 HeatOutput_PWM 加热 PWM输出 Bool FALSE × 加热 PWM输出。 CoolOutput_PWM 制冷 PWM输出 Bool FALSE × 制冷 PWM输出。 State 当前控制模式 UInt 0 0~7 当前控制模式： 0： （默认）未激活； 1：阶跃响应法整定； 2：临界振荡法整定； 3：自动控制模式； 4：线性自动模式； 5：手动无扰动模式； 6：手动扰动模式； 7：错误输出模式。 WarningFlag 警告标志位 Bool FALSE × WarningFlag=TRUE，表示 最少存在一个警告信号。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 319 参数 中文名 类型 初始值 范围 说明 WarningCode 警告代码 UDINT 2# 2#0 2#0 详见警告代码表格 该部分的提示内容为警告 代码列表的内容 在梯形图、自由监控均默认 与通用指令一样显示。 ErrorFlag 错误标志位 Bool FALSE × ErrorFlag=TRUE， 表示最少 存在一个错误信号。 ErrorCode 错误代码 UDINT 2# 2#0 2#0 详见错误代码表格 该部分的提示内容为错误 代码列表的内容 在梯形图、自由监控均默认 与通用指令一样显示。 7-2-2-5. 错误代码 错误代码采用二进制加法显示，即采用一个 32 位寄存器的每一位表示一个错误信息，当存在多个错 误信息时，可以通过错误代码查看到所有错误信息。 当参数【ErrorFlag：Bool】处于 TRUE状态，则表示至少存在一条未处理的错误，具体错误信息查看 错误代码【ErrorCode】。 错误代码(16#0000) 位 内容 0 - 无错误（正常模式） 1 Bit0 整定初始化失败 原因： 1、阶跃响应法温差不符合要求； 2、临界振荡法温差不符合要求； 3、未设置控制周期。 2 Bit1 阶跃响应法整定失败 原因：违背物理原则。加热整定过程当前温度值大于目标温度值；制 冷整定过程当前温度值小于目标温度值。 4 Bit2 阶跃响应法整定失败 原因：参数计算失败，请重新整定或采取临界振荡法进行整定。 8 Bit3 临界振荡法整定失败， 原因：违背物理原则。加热整定过程当前温度值大于目标温度值；制 冷整定过程当前温度值小于目标温度值。 10 Bit4 临界振荡法整定失败 原因：参数计算失败，请重新整定或采取阶跃响应法进行整定。 20 Bit5 加热参数设置错误。 参数包括：输出上（下）限、控制周期。 40 Bit6 制冷参数设置错误 参数包括：输出上（下）限、控制周期。 80 Bit7 错误及警告配置参数设置错误 100 Bit8 线性自动模式启动失败 原因：线性化斜率设置错误。 200 Bit9 目标温度值（或当前设定值）大于温度错误上限 400 Bit10 目标温度值（或当前设定值）小于温度错误下限 800 Bit11 当前温度值大于温度错误上限 1000 Bit12 当前温度值小于温度错误下限 2000 Bit13 V AR_INPUT参数范围超限制 Bit14~Bit31 -


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 320 7-2-2-6. 警告代码 警告代码采用二进制加法显示，即采用一个 32 位寄存器的每一位表示一个错误信息，当存在多个警 告信息时，可以通过错误代码查看到所有警告信息。 当参数【WarningFlag：Bool】处于 TRUE状态，则表示至少存在一条未处理的警告，具体警告信息查 看警告代码【WarningCode】。 注：警告不会影响指令正常运行。 警告代码 (16#0000) 位 内容 0 - 无警告（正常模式） 1 Bit0 目标温度值（或当前设定值）大于目标温度警告上限 2 Bit1 目标温度值（或当前设定值）小于目标温度警告下限 4 Bit2 当前温度值大于当前温度警告上限 8 Bit3 当前温度值小于当前温度警告下限 10 Bit4 系统运行过程，指令切换控制模式不合理，强制更改回上周期运行模式，并产生警 告信息。 不合理切换包括有： 1、上周期运行模式为非空闲模式，但是当前切换至阶跃响应法整定模式； 2、上周期运行模式为非空闲模式，但是当前切换至临界振荡法整定模式； 3、上周期运行模式为阶跃响应法整定模式，但是当前切换至非阶跃响应法模式，同 时检测到阶跃响应法并没有完成； 4、上周期运行模式为临界振荡法整定模式，但是当前切换至非临界振荡法模式，同 时检测到临界振荡法并没有完成； 5、上周期运行模式为错误输出模式，但是当前切换至非错误输出模式，并检测到错 误依旧存在。 20 Bit5 阶跃响应法整定过程，计算比例增益、积分时间、微分时间，参数不在数据限制范 围内，强制更改就近值，可能参数不匹配当前环境 40 Bit6 临界振荡法整定过程，计算比例增益、积分时间、微分时间，参数不在数据限制范 围内，强制更改就近值，可能参数不匹配当前环境 80 Bit7 PID计算总输出被限制在当前控温方式的输出上限（输出上限小于 100%时检测） 100 Bit8 PID计算总输出被限制在当前控温方式的输出下限（输出下限大于0%时检测） 200 Bit9 线性自动模式下，新设定值违背当前控温状态的物理原则，则无法进行线性控制。 包括： 1、控温方式为加热且线性状态为 TRUE时，新目标温度值小于当前设定值。 2、控温方式为制冷且线性状态为 TRUE时，新目标温度值大于当前设定值。 400 Bit10 模拟量输出标定为 0，则当前控温方式下，模拟量输出始终为0，可能出现严重控制 错误。 800 Bit11 参数按照就近原则强制更改至合理数据范围 参数包括： 1、积分饱和上限； 2、积分初值类型； 3、积分初值用户分配值； 4、临界振荡整定次数； 5、模拟量输出标定； 6、微分滞后系数； 7、控制区范围； 8、比例增益； 9、积分时间； 10、微分时间 11、控制周期；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 321 警告代码 (16#0000) 位 内容 12、比例作用权重； 13、微分作用权重； 14、死区宽度； 15、输出上限； 16、输出下限； 17、前馈补偿值； 18、手动设定值； 19、错误及警告配置全部参数； 20、错误替代输出值。 1000 Bit12 - 2000 Bit13 - 7-2-2-7. 控制模式说明 模式切换注意事项： 配置[PIDMode：UINT]参数 （设定目标控制模式） 后， 系统不会立即进入目标模式， 需通过[ModeActive： BOOL]参数的上升沿触发，方可激活 PIDMode 中设定的工作模式。模式激活状态可通过输出参数[State： UINT]监控（State数值与 PIDMode设定值一致时，即为激活成功） 。 1）未激活模式(PIDMode=0) 系统处于空闲状态，加热输出、制冷输出等所有输出值均为 0。 2）阶跃响应法整定模式(PIDMode=1) 前提条件： ①当前实际温度（与目标温度的差值需满足“|差值| > 0.3×（温度错误上限- 温度错误下限）”，且“| 差值| > 0.5×|目标温度|”；若不满足，触发错误代码 1（整定初始化失败）；。此条件可通过整定温差屏蔽 [TempDiﬀEnable：BOOL]置 TURE进行屏蔽（此参数需一直保持 TRUE状态）。 ②加热整定时需满足“当前温度(PresentValue)<目标温度(SetV alue)”，制冷整定时与之相反；若违背， 触发错误代码 2（不符合物理原则） ； ③仅能从“未激活模式(PIDMode=0)”切换至本模式；若从其他非空闲模式切换，触发警告代码10（模 式切换不合理） ，模式切换失败并自动回退至上一模式。 系统通过阶跃响应法整定所需参数，线性使能位、手动使能位全部无效；最终整定公式的采取规则取 决于用户设定的整定规则[TuneRule：UINT；0：默认；1：快速；2：标准；3：慢速]，此参数生效时机为 “指令重新导通生效”。本模式下，实际支持：0：默认为标准；1：快速；其余均为默认形式。 整定成功完成后，进入等待进程后切换自动控制模式（PIDMode=3），继续运行。整定失败后，切换错 误模式（State=7）。 3）临界振荡法整定模式(PIDMode=2) 前提条件： ①当前实际温度与目标温度差值需大于 5℃，否则会进入错误模式，错误代码 1（整定初始化失败，临 界振荡法需要差距 5℃）。此条件可通过整定温差屏蔽（TempDiﬀEnable：BOOL）置 TURE 进行屏蔽（此 参数需一直保持 TRUE状态）。 ②加热整定时，需要当前值小于目标值；制冷整定与之相反；否则会进入错误模式，错误代码 8（不 符合物理原则）。 ③仅能从“未激活模式(PIDMode=0)”切换至本模式；若从其他非空闲模式切换，触发警告代码 10（模 式切换不合理） ，模式切换失败并自动回退至上一模式。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 322 此模式下，系统通过临界振荡法整定所需参数，线性化斜率、手动输出值的设定失效；最终整定公式 的采取规则取决于用户设定的整定规则[TuneRule：UINT；0：默认（快速） 、1：快速、2：标准、3：慢速]， 参数生效时机为 “指令重新导通生效” ；临界振荡过程可最多支持三种功率 （100%，88%，66%） 逐步整定， 计算参数更加准确，但对应的时间就会进一步变长，具体需要采取几种，取决于 临界振荡法整定次数 [TuneNumber：UINT；1（默认）～3] 整定成功完成并进入等待进程后，系统自动切换至自动控制模式（PIDMode=3） ；整定失败后，切换至 错误输出模式（State=7）。 4）自动控制模式(PIDMode=3) 系统按 PID 设定参数自动运算，实现温度闭环控制。 按照 PID设定控制参数进行计算， 控制区宽度外按照用户设定的控温输出上/下限进行控制， 控制区宽 度内按照 PID计算值输出控制。 其他影响参数： 输入死区：仅在 PID 计算时有效，不影响控制区宽度的判断。 积分初始值情况：可通过积分初值类型[/.INTegralSetting.IOldMode：UINT；0：默认值；1：初值 0； 2：用户分配值]进行选择。 5）线性自动控制模式(PIDMode=4) 此模式下，满足线性升降温需求，激活线性化设定值过程，线性变化率根据 输入参数线性化斜率 [LineValue：REAL；Unit：℃/min]变化，斜率方向由当前温度（PresentValue）与目标温度（SetValue）的关 系自动判定。 温度调节逻辑与“自动控制模式”一致。 6）手动无扰动模式(PIDMode=5) 此模式下，执行手动模式，并从本模式切至自动模式后，输出无扰变化，即 PID输出不会突变，逐渐 变化过渡至自动计算值，避免温度波动。 7）手动扰动模式(PIDMode=6) 此模式下，执行手动模式，并从本模式切至自动模式后，输出扰动变化，即 PID输出会突变为自动的 输出值。 8）错误模式(PIDMode=7) 系统运行过程，触发错误后，执行错误模式，此模式下，PID 输出值取决于用户设定的错误输出替代 值。 错误模式下，模式切换操作无效，可通过以下两种方式恢复： ①停止检查错误后，重新启动； ②控制器重启，即触发[Reset：BOOL]参数上升沿将控制器重启，重启后将此参数复位方可执行模式 切换；若控制器重启退出后依旧存在错误，那么指令会再次进入错误模式。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 323 7-2-3．添加BPC_TEMP_PID 指令 BPC_TEMP_PID的使用条件：  XD5E/XL5E系统 PLC，固件版本<3.7.3>及以上。  信捷 PLC编程工具软件，软件版本<3.7.17c > 及以上。 7-2-3-1. 选择 PLC 机型 如果没有支持 BPC_TEMP_PID 指令的 PLC，需要在软件中将 PLC 机型切换为支持 BPC_TEMP_PID 指令的机型。 如果有支持 BPC_TEMP_PID指令的 PLC，在连接时会自动匹配机型，无需再次切换。 当机型切换至不支持“BPC_TEMP_PID”指令的型号时，因指令库和参数配置界面会隐藏，所以需要 将工程先进行备份保存。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 324 7-2-3-2. 添加指令库 右击“POU功能库”选择“库管理” ，进入“库管理”界面。 在“库管理”界面中，勾选“ProcessControl”和“XJBasic ProcessControl” ，然后点击“确认” ，完成 设置。 注意：编程软件中不会默认勾选，需要在编程前手动添加。 添加完成后，左侧菜单栏中的“系统库”列表中将包含“XJBasic ProcessControl”库，此时可以在程序 中添加“BPC_TEMP_PID”指令。 7-2-3-3. _SYS_PID 变量表 “_SYS_PID”为“BPC_TEMP_PID”指令专用的系统变量表，可自行添加变量，变量名称自定义。在 添加变量时，会自动勾选“保持” ，因变量中的很多参数需要掉电保持，如将“保持”取消掉，则在PLC重


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 325 新上电后，PID将无法正常运行。 7-2-3-4. 程序中添加指令 1）在梯形图中添加指令 直接输入“BPC_TEMP_PID” ，确认后会直接弹出“自动声明”界面，自行修改名称后，点击“确认” ， 完成指令添加。 “自动声明”时系统会默认勾选“保持” ，因实例化中的很多参数需要掉电保持，如将实例化修改为非 保持性变量，则在 PLC重新上电后，PID将无法正常运行。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 326 2）在FC 块、FB 块的梯形图中添加指令 FC 块、FB 块的梯形图模式，暂时不支持“BPC_TEMP_PID”的实例化使用形参，因此在 FC 块的梯 形图模式下， 添加 “BPC_TEMP_PID” 指令， 需要先在 “_SYS_PID” 的系统变量表中添加 “BPC_TEMP_PID” 类型的变量，变量名称可自定义。 然后在 FC 块的梯形图中，直接输入添加的“BPC_TEMP_PID”类型变量的名称，此时成功在 FC 块 中添加“BPC_TEMP_PID”指令。 3）在FC 块、FB 块的 C 语言中添加指令（使用实参） 先在“_SYS_PID”的系统变量表中添加“BPC_TEMP_PID”类型的变量，变量名称可自定义。 然后在 FC 块的 C 语言编辑器中，直接输入 BPC_TEMP_PID_BODY(&BPC_TEMP_PID_3);,此时成功 在 FC 块中添加“BPC_TEMP_PID”指令。 “ BPC_TEMP_PID_BODY(&BPC_TEMP_PID_3)”中“ BPC_TEMP_PID_BODY”为函数名称， “BPC_TEMP_PID_3”为变量名称，该变量名称是“_SYA_PID”中的变量名称。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 327 4）在FC 块的 C 语言中添加指令（使用形参） 先在 FC 块的局部变量表中添加“BPC_TEMP_PID”类型、 “VAR_IN_OUT”类别的变量，变量名称可 自定义。 然后在 FC 块的 C 语言编辑器中，直接输入 BPC_TEMP_PID_BODY ( &*V AR1 );，此时成功在 FC 块 中添加“BPC_TEMP_PID”指令。 与使用实参不同，使用“VAR_IN_OUT”的形参，需要在变量名称前添加“*”号。 在调用 FC 块前，在“_SYS_PID”的系统变量表中添加“BPC_TEMP_PID”类型的变量，变量名称可 自定义。 在调用 FC 块时，在指令引脚输入“_SYS_PID”中的变量名称。 5）在FB 块的 C 语言中添加指令（使用形参） 先在 FB 块的局部变量表中添加“BPC_TEMP_PID”类型、 “VAR_IN_OUT”类别的变量，变量名称可 自定义。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 328 然后在 FC 块的 C 语言编辑器中，直接输入 BPC_TEMP_PID_BODY ( self->V AR1 );，此时成功在 FC 块中添加“BPC_TEMP_PID”指令。 与使用实参不同，使用“VAR_IN_OUT”的形参，需要在变量名称前使用指针“self->”。 在调用 FB 块前，在“_SYS_PID”的系统变量表中添加“BPC_TEMP_PID”类型的变量，变量名称可 自定义。 在调用 FB 块时，首先 FB 块会自动生成一个实例化，然后需要在指令引脚输入“_SYS_PID”中的变 量名称。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 329 7-2-4．配置BPC_TEMP_PID 7-2-4-1. 进入温度PID 配置界面 在添加完 BPC_TEMP_PID后，可通过“温度 PID配置”界面进行参数配置。 可通过点击左侧菜单栏的“过程控制-温度 PID配置” ，或右击指令，点击“转到配置”进入“温度PID 配置”界面。 同时可通过点击“温度PID调试”界面的“转到配置”按键，跳转至该实例化对应的“温度PID配置” 界面。 7-2-4-2. 温度 PID 配置-视图页 视图页内容有基础配置、PID参数、输出配置三种分类，在界面中可自行修改参数。 “读取”操作是将 PLC中的在线值上传到界面中。 “写入”操作是将界面中的离线值写入到 PLC中。 当需要在视图页进行参数修改时，建议先进行“读取”操作。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 330 在修改参数时，应注意参数的生效时机，否则参数将无法正常写入生效。 7-2-4-3. 温度 PID 配置-列表页 列表页内容是所有参数的汇总，参数和内容相比视图页更加全面，当需要在程序中需要用到某个参数 时，可通过列表中的变量路径找到该参数。 在修改参数时，应注意参数的生效时机，否则参数将无法正常写入生效。 7-2-4-4. 程序一致性检测 当“_SYS_PID”系统变量表中的内容发生变化时，软件中的 将会闪烁，此时“温度 PID 配置” 界面的“读取”和“写入”操作，将无法正常使用， “温度PID调试”界面，无法正常使用，需要重新下载 PLC程序，方能回复正常。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 7 PID 控制功能 331 7-2-4-5. 下载用户配置 在下载程序时， 勾选PID配置选项， 点击 “确定” ， 所有PID 实例化的配置参数将全部下载至 PLC中。 7-2-4-6. 选择上传用户配置 上传 PLC程序时，勾选“选择” ，所有的PID参数都将上传至软件中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
7 PID 控制功能 XD/XL 系列可编程控制器用户手册［基本指令篇］ 332 7-2-5．调试BPC_TEMP_PID 7-2-5-1. 进入温度PID 调试界面 在添加完 BPC_TEMP_PID后，可通过“温度 PID配置”界面进行参数配置。 可通过点击左侧菜单栏的“过程控制-温度 PID调试” ，或右击指令，点击“转到配置”进入“温度PID 调试”界面。 同时可通过点击“温度PID配置”界面的“转到调试”按键，跳转至该实例化对应的“温度PID调试” 界面。 7-2-5-2. 温度 PID 调试 当点击“启用温度 PID调试”后，进入调试模式，此时指令引脚上的输入变量将失效，可以在调试界 面操作进行参数设置、模式切换、和报警清除。 当处于在线模式时，调试界面中的状态监控一直有效，即使没有启动温度PID调试，也可以通过调试 界面监控 PID状态和报警信息。 启动温度 PID调试的条件是指令处于导通状态，当指令的导通条件断开时，调试状态会立即停止，再 次导通指令时，需要重新启动温度 PID调试。 注意：调试界面中的曲线采集，同一时刻只能采集一个 PID 实例的实时曲线，当切换至其他实例时， 会停止已经采集的曲线。如需采集多个PID实例的实时曲线，可在其中一个调试界面自行添加变量，进行 曲线采集。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 333 8 C 语言功能块 8-1．概述 XD/XL系列支持用户在信捷 PLC 编辑工具软件中利用 C 语言编写功能块，在需要的地方进行调用， 其最大的优点是支持几乎所有的 C语言函数（相对于 XC 系列，XD/XL系列还支持全局变量） ，增强了程 序的保密性，同时由于可进行多处调用和不同文件的调用，大大提高了编程人员的效率。 8-2．指令形式 1）指令概述 将编辑好的 C语言功能块在指定区域调用的指令。 调用C 语言功能块[NAME_C] 16位指令 NAME_C 32位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 软件要求 2）操作数 操作数 作用 类型 S1 C 语言函数功能块名称，由用户自定义 字符串 S2 对应 C 语言函数内字 W的起始地址 16位，BIN S3 对应 C 语言函数内位 B 的起始地址 位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 S2 ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 4）功能和动作 NAME_C D0 M0 X0 S1· S2· S3·  S1为用户自定义函数名称，由数字、英文、下划线及中文组成，首字符不能为数字，名称长度需<=19 个英文字符（1个中文字符对应 2 个英文字符）。  函数名称不能与PLC内置指令名称冲突，如LD、ADD、SUB、PLSR等。  函数名称不能与当前PLC已经存在的函数功能块同名。 关于指令格式的具体说明将在下章节结合例程说明。 注意：3.8.1及以上版本软件支持使用中文名称。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 334 8-3．操作步骤 1、打开PLC编辑软件，在左侧的“工程”工具栏内选择“函数功能块” ，右击选择“添加新源文件” 。 2、出现如下对话框，填写所要编辑函数的信息。 功能块名称即为梯形图中调用函数块时使用的名称， 例如上图为：FUNC1则在梯形图中调用时应写成 如下格式： FUNC1 D0 M0 M0 3、在新建完成后，会出现下面的编辑画面。 编辑者名称 功能块命名 ‘{}’之间为C语 言程序编辑区域 主函数名称 （为函数功能块名 称．该名称不能随意修改，必 须在编辑窗口进行修改） PINT16S W 对应为软元件D BIT B 对应为软元件M


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 335  参数传递方式：在梯形图调用时，传入的D（HD）和M（HM） ，即为W和B的起始地址。如上图，当 指令FUNC1 D0 M0中的为D0，M0开始，则W[0]为D0，W[10]为D10，B[0]为M0，B[10]为M10；当指 令FUNC1 HD0 HM0中的为HD0，HM0开始，则W[0]为HD0，W[10]为HD10，B[0]为HM0， B[10]为 HM10；如梯形图中使用的参数为D100，M100，则W[0]为D100，B[0]为M100；如果梯形图中使用的 参数为HD0，HM0，则W[0]=HD0，B[0]=HM0；如果梯形图中使用的参数为HD0，M0，则W[0]=HD0， B[0]=M0；如果梯形图中使用的参数为D100，HM100，则W[0]=D100，B[0]=HM100。因此，字与位元 件的首地址和是否使用掉电保持型数据寄存器和线圈由用户在PLC程序中设定。 注意：C函数内部定义的局部变量不能多于100个字。3.8.1及以上版本软件中， 变量名称支持使用中文。  参数W：表示字软元件，使用时按数组使用，如W[0]=1；W[1]=W[2]+W[3]；在程序中可按照标准C规 范使用。  参数B：表示位软元件，使用时也按数组使用，支持位置1和位清零，如B[0]=1；B[1]=0；以及赋值， 如B[0]=B[1]。  双字运算：在W前加个D，如DW[10]=100000，表示给W[10]W[11]合成的双字赋值。 浮点运算：支持在函数中定义浮点变量，以及进行浮点运算（例如：浮点数寄存器D0（双字）可表示 为FW[0]，FW[0]=123.456）。  其它相关软元件在C语言里面的定义： 函数功能块创建时在主函数的内部默认定义#define SysRegAddr_HD_D_HM_M。如果需要使用输入 （X） 以及输出（Y） ，则需要在默认的宏定义“#define SysRegAddrHD_D_HM_M”的基础上加上X、Y，即： “#define SysRegAddrHD_D_HM_M_X_Y”例如：将输入X0的状态给定线圈M0，则为：B[0]=X[0]； 将输Y0的状态给定线圈M10，则为：B[10]=Y[0]； （注意：对应的X、Y在C语言中都为十进制表示，而 非八进制） 。 同理，如果是非掉电保持的流程S、计数器C、定时器T、计数器寄存器CD、定时器寄存器TD、存储器 D （ HD ） 以 及 内 部 线 圈M （ HM ） 等在 C 语 言 中 的 应 用 都 相 类 似， 宏定义 “ #define SysRegAddr_S_C_T_CD_TD_D_M”；如果是掉电保持的流程HS、计数器HC、定时器HT、计数器寄存 器 HCD 、定时器寄存器 HTD 等在 C 语 言 中 的 应 用 都 相 类 似， 宏定义 “ #define SysRegAddr_HS_HC_HT_HCD_HTD”。 样例程序：W[0]=CD[0];W[1]=TD[0];B[1]=C[0];B[2]=T[0]; 注意：软元件类型除去 SEM其他都支持。  函数功能块创建时在主函数的内部默认定义#define SysRegAddr_HD_D_HM_M。 建议作为局部宏定义使用，即在函数体内部使用。  函数库：用户功能块可以直接使用函数库中定义的函数和常量，函数库中包含的函数和常量见8-10节 部分。  支持的其他数据类型： BOOL //布尔量 INT8U //8位无符号整数 INT8S //8位有符号整数 INT16U //16位无符号整数 INT16S //16位有符号整数 INT32U //32位无符号整数 INT32S //32位有符号整数 FP32 //单精度浮点 FP64 //双精度浮点


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 336 例：#define DHD*(INT32S*)&HD //DHD 表示双字HD #define FF W*（FP64*）&D //FFW 表示双精度浮点数 #define DDW* （long long* ）&D //DDW 表示四字寄存器 意义：DHD是一个32位有符号整数。DHD[0]代表由HD0 HD1组成，是一个32位有符号整数断电保持 寄存器。 预定义的宏： #define true 1 #define false 0 #define TRUE 1 #define FALSE 0  头文件导出没有不可编辑选项，其他与源文件相同。  在C语言中，有两种引用头文件规则，#include “xx.h”及#include <xxx.h>，使用PLC工程中的头文件时， 需要在源文件中使用#include “xxx.h”。  勿在头文件中使用宏定义#define SysRegAddr，该宏定义在头文件中无效，只能在源文件中使用。  在C功能块里面使用定义不能定义和PLC标准相冲突的定义类型，不能对W，B，DW，FD，SFD进行二 次定义，否则编译无法通过。  C函数功能块不支持位软元件组成字功能，如DX0、DM0。 8-4．函数的导入、导出 1）导出 （1）功能：将函数导出为文件，供其他PLC程序导入用。 （2）导出方式 a）可编辑：将源代码也导出，并保存为文件。再次导入后，可再次编辑。 b）不可编辑：源代码不导出。再次导入后只可使用，无法编辑。导出为不可编辑时，以太网机型和 非以太网机型不能通用，只需先将机型修改后再导出就可以使用。 2）导入 功能：导入已存在的函数功能块文件，供该PLC程序使用。 选中全局库/默认库，右键点击菜单“批量导入文件” ，选择相应文件，按“确定”即可。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 337 8-5．功能块的编辑 例：将 PLC中寄存器 D0，D1相加，然后将值赋给 D2。 （1）首先在“工程”工具栏里，新建一个函数功能块，在这里我们把它命名为ADD_2，并且编辑 C 语言程序。 （2）编辑完之后，点击编译。 根据编译信息列表内所显示的信息，我们可以查找修改C 语言程序里的语法漏洞。在这里比较容易的 发现程序中 W[2]=W[0]+W[1]的后面缺少符号“； ” 。 当我们将程序修改后，再次进行编译。从列表信息里可以确认，在程序里面并没有语法错误。 （3） 然后再编写PLC程序， 分别赋值十进制数10，20到寄存器 D0，D1中， 并调用函数功能块 ADD_2。 如下所示： （4）然后将程序下载到 PLC当中，运行 PLC，并置位 M0。 （5）我们可以通过工具栏上的自由监控观察到 D2的值变成了 30，说明赋值成功了。 编译信息列表 自由监控


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 338 8-6．程序举例 如果要进行一个“复杂运算” （包括加减运算，但是运算步骤很多） ，尤其是需要重复使用这个算法处 理数据时候，使用 C 函数功能块将非常方便。 例 1：用公式：a= b/c+b*c+(c-3)*d完成运算。 方法一：如果使用梯形图编写上述公式，处理步骤与程序如下：  首先求出 c-3  然后算出两个乘法和一个除法的积  最后求和 虽然只有以上三个步骤，但是梯形图只支持两个源操作数，所以必须分成多步求结果。 SM0 SUB D2 K3 D10 MUL D10 D3 D12 MUL D1 D2 D14 DIV D1 D2 D16 WTD D16 D18 D2:C DADD D12 D14 D20 DADD D20 D18 D22 运行常 ON线圈 D10:C-3 D10:C-3 D3:D D12;(C-3)*D D1:B D2:C D14:B*C D2:C D16:B/C D1:B D16:B/C D18:B/C结果转化为双字 D12;(C-3)*D D14:B*C D18:B/C结果转化为双字 D22:A 2 -1 -3-1 3 4 2 8 4 2 2 2 2 -3 8 5 5 2 7 在上面梯形图运算中有几点要注意： （1）MUL运算结果为双字，就是说 MUL D1 D2 D14[D15]，结果是存放在 D14[D15]两个寄存器内。 （2）DIV 运算结果分商和余数，即：DIV D1 D2 D16，商在 D16中，余数在 D17中，所以如果运算 有余数则精度就降低了，要得到精确的结果得用浮点数运算。 （3）在求和时，由于 D16 为商，是单字数据，所以加运算的时候得先统一数据类型，最终得到的结 果存放在 D22[D23]中。 方法二：使用 C 函数写，梯形图程序如下： M0 RESULT D0 M0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 339 首先，我们对上述 C 语言梯形图指令结构进行解析如下： RESULT 函数功能块的名称 D0 表示函数中 W[0]为 D0，W[1]为 D1 以此类推，如果 D0 位置寄存器为 D32，则函数块 中 W[0]为 D32，W[1]为 D33 以此类推；如果 S2 为 HD32，则函数中 W[0]为 HD32， W[1]为 HD33以此类推 M0 表示函数中 B[0]为 M0，B[1]为 M1 以此类推，如果 S2 为 M32，则函数块中 B[0]为 M32，B[1]为 M33以此类推；如果S2为 HM32，则函数中B[0]为 HM32，B[1]为 HM33 以此类推 C 语言部分内容如下： 通过两种方法的对比可以看出，通过 C函数功能，能够大大简化梯形图编程，提高编程效率。 上面的 C函数运算和梯形图相似，精度也不高，如果要得到精确结果则使用浮点运算。 例 2：利用函数功能块计算出 CRC校验值。  CRC校验运算规则如下： （1）令 16-bit寄存器（CRC寄存器）=FFFFH。 （2）将第一个 8-bit byte 的讯息与低位元 16-bit CRC寄存器异或（Exclusive OR）。 （3）右移一位 CRC寄存器，将 0 填入高位元处。 （4）检查右移的值，如果是 0，就将第三步的新值存入 CRC寄存器内，如果为非 0，那么将 CRC寄存 器的值与 A001H异或，将结果存入 CRC寄存器内。 （5）重复（3）到（4） ，将8-bit全部运算完成。 （6）重复（2）到（5） ，取下一个8-bit 的讯息指令，直到所有讯息指令运算完成。最后，得到的 CRC 寄存器的值，即是CRC的校验码。值得注意的是，CRC的校验码必须交换放置与讯息指令的检查 码中。  编辑 C 语言功能块程序，如下：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 340  编写 PLC梯形图程序，给相关寄存器赋值（D0：校验数据的字节个数，D1～D5：校验数据的内容） 。 然后调用函数名为 CRC_CHECK的 C函数，如下： MOV H5 D0 SM2 MOV H12 D1 MOV H34 D2 MOV H56 D3 MOV H78 D4 MOV H90 D5 CRC_CHECK D0 M0 M0  下载到 PLC里，然后运行，使M0置 ON，通过自由监控就会发现寄存器D6，D7内分别存入了 CRC 校验值的高位与低位。 8-7．新增功能 1）格式化 V3.7.16以下版本软件通过功能块编辑页面菜单栏中的“高级”->“编辑器辅助设置”打开辅助功能设 置页面进行设置，如下图所示： V3.7.16及以上版本软件通过选项的“C编辑器设置”打开辅助功能设置页面进行设置，如下图所 示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 341 2）局部代码自动格式化 （1）输入“;”时自动设置已完成语句的格式 当用户输入字符”;”时，将当前所在行的语句进行格式化。 （2）输入"}"时自动设置已完成块的格式 当用户输入”}”时，对”{}”内的内容进行格式化。 3）格式化/整理代码时处理特殊字符 针对用户输入到编辑器中的全角字符，由于编译器无法识别，需要进行转换，转换为半角字符。 4）代码提示 当用户输入字符时，代码提示功能会给予一定的提示帮助用户输入和完成代码。 （1）提交 当用户按下回车或者“;”时，会将当前编辑的代码提交给分析器进行分析，生成代码提示的列表； （2）提示 用户输入字符时，代码提示控件自动弹出，匹配用户的输入并作出提示；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 342 （3）成员变量的访问提示 当用户输入”.”或者”->”时，代码提示功能会帮助用户提示定义变量的结构体或者联合体类型 中的成员，如下图所示。 （4）自动缩进 优化了编辑器的自动缩进功能，更加符合用户习惯。 （5）自动生成括号 当用户输入”(” ”[” ”{”时，自动帮助用户生成相应的有括号”)” ”]” ”}”。 5）注释/取消注释 注释选中行/取消选择行的注释。 快捷键为 Ctrl + /。 6）函数功能库 详见 8-8 节。 8-8．函数功能库功能说明 提供对 C功能块的加密和封装导出、导入功能。 8-8-1. 库的分类 函数功能库分为项目库和全局库： 项目库：用户项目库中的函数功能保存在该工程下，直接使用。 全局库：用户全局库中的函数功能保存到本地目录中，方便用户调用。 8-8-2.打开、保存文件 启动 XDPPro软件运行空白工程或打开任意现有工程，查看函数功能库。 注意： （1）函数功能库分为项目库和全局库，空白工程默认添加一个默认库（即为项目库）； （2）若用新版本打开的是旧版本下的工程，其函数功能被添加到默认库中； （3）若用旧版本打开的是新版本下的工程，其默认库中的函数功能被保留，其余则不能被解析。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 343 8-8-3. 新建功能 8-8-3-1. 新建项目库 在左侧的“工程”工具栏内选择 “函数功能库”，右击选择“新建项目库”，可在弹出界面中编辑项目 库的名称、版本、描述、作者等信息，如下图所示： 注意：若库名称与当前功能库中任意库名称相同，则会出现如下所示弹窗：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 344 8-8-3-2. 新建全局库 在左侧的“工程”工具栏内选择 “函数功能库” ，右击选择“新建全局库” ，可在弹出界面中编辑全局 库的名称、版本、描述、作者等信息，如下图所示： 注意：若未设置全局库目录，将会出现下图所示的提示信息，并显示全局库目录设置界面： 设置好路径后，显示新建库文件的窗口，填写库信息（名称，版本，描述，作者） 。若库名称与当前功 能库中任意库名称相同，则会出现如下所示弹窗：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 345 8-8-3-3. 新建源文件 在左侧的“工程”工具栏内选择 “函数功能库”中需要添加源文件的项目库或全局库，右击选择“新 建源文件” ，可在弹出界面中编辑源文件的名称、版本、描述、作者等信息，如下图所示： 填写好后单击“下一步”，可配置参数信息： 完成参数配置后，点击“下一步”，出现源文件的预览界面，若有问题可点击“上一步”重新设置参 数，没有问题后，点击“确定”即可完成源文件的添加。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 346 8-8-3-4. 新建头文件 在左侧的“工程”工具栏内选择 “函数功能库”中需要添加源文件的项目库或全局库，右击选择“新 建头文件” ，可在弹出界面中编辑头文件的名称，如下图所示： 名称编辑完成后，单击“确定” ，完成头文件添加。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 347 8-8-4. 编辑功能 8-8-4-1. 编辑库信息 单击左侧工程栏中需要编辑信息的“项目库”或“全局库”，在弹出的库信息界面可查看并编辑库的 基本信息/文件信息/限制信息： 1）基本信息  名称：库名称允许使用字母、数字和中文，中、英文长度限制均为128。  版本：库信息版本格式为“V主.次.修订” 。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 348 2）文件信息  被选中功能库下添加源文件/头文件，文件信息界面显示文件基本信息。  由导入的文件决定用户是否可将其编辑。  批量导出的文件可选择是否可被编辑。  批量删除应用后，移除库文件在PLC工程的引用。 3）限制信息 黑名单下的机型不能够被使用，白名单下仅限用该机型。 8-8-4-2. 源文件信息 单击工程栏中需要编辑信息的源文件： 在弹出源文件界面中，单击“信息” ，即可对源文件信息进行修改，源文件函数签名被修改，代码同 时产生相应的修改。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 349 8-8-4-3. 头文件信息 单击工程栏中需要编辑信息的头文件： 在弹出头文件界面中，单击“信息” ，即可对头文件信息进行修改，头文件函数签名被修改，代码同 时产生相应的修改。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 350 8-8-5. 导出功能 8-8-5-1. 库导出 单击左侧工程栏中需要编辑信息的“项目库”或“全局库” ，在弹出的库信息界面中点击“导出” ： 普通导出：如果库文件是可编辑库，以可编辑库导出；如果库文件是不可编辑库，以不可编辑库导 出； 加密导出：如果库文件为可编辑库，将库文件中的源文件进行编译后导出为不可编辑库；如果库文 件为不可编辑库，则将库文件直接保存。 8-8-5-2. 源文件/头文件导出 右击工程栏中需要导出的源文件/头文件->“导出文件”： 或者点击左侧工程栏中需要导出的源文件/头文件，在右侧编辑界面中，点击“导出” ：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 351 在弹出的文件信息中选择导出模式（是否可编辑）： 设置好后单击确定，选择文件保存路径： 选择好路径后，单击确定，导出完成。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 352 8-8-6. 导入功能 8-8-6-1. 功能库导入 在左侧的“工程”工具栏内选择 “函数功能库” ，右击选择“导入到项目库”或“导入到全局库”： 在弹出的“选择函数功能库文件”界面中，选择文件，点击“打开” ，导入完成。 8-8-6-2. 函数文件导入 右击左侧工程栏中需要导入文件的“项目库”或“全局库” ，选择“批量导入文件” ：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 353 在“选择文件”界面选择需要导入的函数文件，点击“打开”，完成文件导入。 8-8-7. 其余功能 8-8-7-1. 库管理 在左侧的“工程”工具栏内选择 “函数功能库” ，右击选择“库管理” ： 在弹出的“函数功能库管理窗口”可完成对功能库的新建、导入、删除（且移除库文件在工程中引 用）、设置，通过勾选该管理中的功能库，应用生成，即可在工程中调用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 354 点击设置可更改全局库目录： 8-8-7-2. 删除库文件 在上一章节的“函数功能库管理窗口” 中，选中相应库文件使其显示为蓝色，点击删除，在当前工程 中删除库文件。 8-8-7-3. 移除库文件 右击左侧工程栏中需要导入文件的“项目库”或“全局库” ，选择“移除库文件”： 注意：移除库文件是将文件从当前工程中移除应用，并不删除。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 355 8-8-7-4. 删除源文件/头文件 删除源文件/头文件有两种方法： 方法一：右击工程栏中需要导出的源文件/头文件->“删除文件” ： 方法二：单击左侧工程栏中需要删除文件的功能库： 在右侧编辑界面中选择“文件信息”： 勾选需要删除的文件，点击“批量删除” ： 点击“应用”，出现“应用成功”的提示信息，文件已删除。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 356 8-8-7-5. 转换 “全局库”和“项目库”之间可以相互转换，打开功能库的编辑界面（具体步骤可参考 8-8-7-4 章节， 方法二）。 点击“转换为全局库”或“转换为项目库” 。 8-8-7-6. 编译 单击左侧工程栏中的源文件，点击右侧编辑界面中的 “编译” 。 8-8-7-7. 全局库目录的设置 设置全局库共有三种方法： 方法一：打开库管理界面（具体步骤请参考8-8-7-1. 库管理），若未设置过全局库目录，则会出现设置 全局库目录提示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 357 方法二：在新建全局库过程中，若未设置过全局库目录，则会出现与方法一种相同的提示，可在“更 改函数功能库路径”弹窗中设置路径。 方法三：打开库管理界面（具体步骤请参考 8-8-7-1. 库管理） ，点击“设置”-> “全局库目录”如下 所示： 在弹出的“更改函数功能库路径”窗口中点击“编辑路径” ，设置好后，点击“确定” ，完成修改。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 358 8-9．应用要点  一个函数功能块文件内部，可以写多个子函数，进行相互调用。  多个函数功能块文件彼此独立，不能调用其它功能块内部的函数。  函数功能块文件可以调用浮点，算术等C语言库函数，如sin，cos，tan。  在原来的XC系列PLC中定义的变量只支持局部变量而不支持全局变量，而现在的XD/XL系列PLC中不 仅支持局部变量，同时也支持全局变量，这在一定程度上提高了C语言功能块的使用灵活度，使用户 使用起来更加方便。  全局变量推荐用法： ① 使用软元件区域代替普通内存来存储全局变量的数据。 PLC的软元件空间可以作为全局变量空间使用，安全性得到保障。 ② 用法示例 <1> 以 FP64类型示例 如上图所示，在函数的外部，首先声明了全局的指针GlobalV，然后在主函数中进行了初始化，令其 指向软元件的空间，空间首地址为W[0]所在的地址，最后，可以在其他函数中通过指针的操作，获取变量 的值。 <2>以结构体类型示例 结构体的声明


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 359 结构体类型全局变量使用示例  信捷 PLC编程工具软件中同时也保留了“C功能块库” ，如下图所示： 在此功能块中汇总了一些常用的 C语言函数，您可以直接调用里面的 C 函数，如下图：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 360 当选择对应的功能块（例如点击 TEL10） ，在编辑软件左边的工程栏中会自动出现对应的函数名，如 图： 这样，在梯形图编辑框中就可以随时调用了。 8-10．C 语言常见问题 1）对线圈进行二次宏定义 有用户在定义了软元件类型后，又做出了进一步的扩展，如下代码： #define SysRegAddr_HD_D_HM_M_X_Y #define OUT Y[1] OUT = 100; 对 Y 等线圈进行二次宏定义不是允许的，这是因为线圈数据的读写并不是简单地指针，而是通过函数 读取的方式，这种情况编译器无法处理，导致报错。 2）使用线圈的值作为判断条件 用户使用线圈的值作为 if语句的判断条件，如下代码： if(X[0])D[0] =10; 这种写法在编译时会报错，原因是我们的编译器在内部处理时出现了错误，建议用户换行之后即可， 如下： if(X[0]) D[0] =10; 3）使用 DM 目前不支持 DM[0]这种写法。仅支持 DW FW两种双字操作。 4）编译报错，且宏定义的颜色变为黑色 该现象由于代码中出现了全角字符导致，使用格式化/整理代码可以清除全角字符。 5）头文件里C 语言函数没有编译功能。 头文件中没有编译功能，只能对源文件进行编译，头文件不能单独编译。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 361 6）两个源文件调用头文件时只需在一个源文件里面写声明，两个都写编译没错，但下载程序有错。 在函数的外部使用#include “xxx.h”，可以理解为全局都包含了这个头文件，单独编译一个源文件是没 有问题的。 头文件的作用可以理解为：编译器在预处理代码的过程中，将头文件中声明的变量、函数替换 #include“xxx.h”。 然而，在下载过程中， 对多个源文件进行编译、链接的过程，两个源文件经过预处理之后，都有头文 件中变量、函数的声明，在链接时就会出现重复声明的错误，XDPPro表现为链接错误。 建议：正确地在需要使用头文件内容的地方包含头文件，而不是一味地在函数外部直接包含头文件。 7）使用DW 的时候，默认就是D 的双字使用，不能对DW 进行二次定义。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 362 8）若程序中有加密函数，需先将相关机型添加到白名单中。 9）在软件中编辑C 函数，关闭软件后，C 函数没有在左侧工程栏显示， 需要右击函数工程库，点开库 管理，勾选默认库，保存之后即可正常显示。 10）C 函数中不能使用超过PLC 范围以外的继电器或者是线圈地址，不建议对SFD，FD 等参数进行频 繁的擦写，否则会导致PLC 报错。 11）双字双精度转换案例 12）使用C 函数功能块报错“功能块链接时期发生错误” ： ① 下载空程序，检查是否是 C函数编写有误导致； ② 导出的源文件不能跨平台使用，目前共有以下四类平台： a. XD1 /XD2/XD3/XD5/XDM/XDC/XL1/XL2/XL2/XL5； b.XDH/XLH； c. XD5E/XDME/XLME在线下载机型； d. XD5E/XDME/XLME非在线下载机型。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 363 13）模块地址在C 函数中的对应关系： 模块类型 模块地址 C函数地址 数字量输入模块 X10000 X64 X10100 X128 X10200 X192 ... ... X11700 X1024 数字量输出模块 Y10000 Y64 Y10100 Y128 Y10200 Y192 ... ... Y11700 Y1024 模块输入寄存器 ID10000 ID100 ID10100 ID200 ... ... ID11500 ID1600 模块输出寄存器 QD10000 QD100 QD10100 QD200 ... ... QD11500 QD1600 扩展 BD ID20000 XD3：ID1100 XD5~XDH：ID1700 QD20000 XD3：QD1100 XD5~XDH：QD1700 扩展 ED ID30000 XD3：ID1300 XD5~XDH：ID1900 QD30000 XD3：QD1300 XD5~XDH：QD1900


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 364 8-11．函数表 默认函数库 常量名 数据 说明 _LOG2 (double)0.693147180559945309417232121458 2的对数 _LOG10 (double)2.3025850929940459010936137929093 10的对数 _SQRT2 (double)1.41421356237309504880168872421 根号2 _PI (double)3.1415926535897932384626433832795 PI _PIP2 (double)1.57079632679489661923132169163975 PI/2 _PIP2x3 (double)4.71238898038468985769396507491925 PI*3/2 字符串函数 说明 void * memchr(const void *s, int c, size_t n); 传回s位置开始前n个字元第一次出现字元 c的 位置指标 int memcmp(const void *s1, const void *s2, size_t n); 比较位置s1和位置s2的前n个字元 void * memcpy(void *s1, const void *s2, size_t n ); 从位置s2复制n个字元到位置s1，传回s1 void * memset(void *s, int c, size_t n); 取代s位置开始前n个字元成为字元c， 传回位置 指标s char * strcat(char *s1, const char *s2); 连结字串ct到字串s之后. Char * strchr(const char *s, int c); 传回字元c第一次出现在字串s位置的指标 int strcmp(const char *s1, const char *s2 ); 比较字串s1和s2 char * strcpy(char *s1, const char *s2); 将字串s1复制到字串s2 双精度数学函数 单精度数学函数 说明 double acos(double x); float acosf(float x); 反余弦函数 double asin(double x); float asinf(float x); 反正弦函数 double atan(double x); float atanf(float x); 反正切函数 double atan2(double y, double x); float atan2f(float y, float x); 参数y/x的反正切函数值 double ceil(double x); float ceilf(float x); 传回大于或等于参数 x的最小 double 整数 double cos(double x); float cosf(float x); 余弦函数 double cosh(double x); float coshf(float x); hyperbolic余弦函数， cosh(x)=(e^x+e^(-x))/2 double exp(double x); float expf(float x); 自然数的指数e^x double fabs(double x); float fabsf(float x); 传回参数x的绝对值 double floor(double x); float floorf(float x); 传回小于或等于参数 x的最大 double 整数 double fmod(double x, double y); float fmodf(float x, float y); 如果y为非零值，传回浮点数x/y的余 数 double frexp(double val, int _far *exp); float frexpf(float val, int _far *exp); 将参数 x的浮点数分解成尾数和指 标，x = m*2^exp，传回m值的尾数， 将指数存入参数exp double ldexp(double x, int exp); float ldexpf(float x, int exp); x乘以2的n次方是x*2^n double log(double x); float logf(float x); 自然对数logx double log10(double x); float log10f(float x); 十为底的对数log10x double modf(double val, double *pd); float modff(float val, float *pd); 将浮点数x分解成整数和小数部分， 传回小数部分，将整数部分存入参数 ip


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 8 C 语言功能块 365 双精度数学函数 单精度数学函数 说明 double pow(double x, double y); float powf(float x, float y); 传回参数x为底，参数y的次方值x^y double sin(double x); float sinf(float x); 正弦函数 double sinh(double x); float sinhf(float x); Hyperbolic正弦函数， sinh(x)=(e^x-e^(-x))/2 double sqrt(double x); float sqrtf(float x); 参数x的平方根 double tan(double x); float tanf(float x); 正切函数 double tanh(double x); float tanhf(float x); hyperbolic正切函数， tanh(x)=(e^x-e^(-x))/(e^2+e^(-x)) 以反正弦函数为例说明函数表中函数的使用方法： float asinf（float x）； float asinf 中的 float 表示函数的返回值为 float 型；float x中的 float 表示函数形参为 float 型。实际 使用时候，无需写 float，如下例中的行 14： Flash 寄存器操作特殊函数库 Flash 寄存器操作特殊函数 说明 flash_copy ( void *dst, void *src, size_t len ); 向 flash寄存器进行拷贝数据的函数。 dst：拷贝到的目标寄存器的起始地址； src：源数据地址； len：拷贝的字节数； flash_move ( void *dst, void *src, size_t len ); flash_move用于flash寄存器的拷贝字节， 如果目标区域和源 区域有重叠的话，flash_move能够保证源串在被覆盖之前将 重叠区域的字节拷贝到目标区域中，但复制后源内容会被 更改。但是当目标区域与源区域没有重叠则和flash_copy函 数功能相同。 dst：拷贝到的目标寄存器的起始地址； src：源数据地址； len：拷贝的字节数； flash_set_int8 ( void* dst, int8 data ); 对flash寄存器进行某种类型的赋值。 dst：目标寄存器的起始地址； data：不同类型的数据； flash_set_int16 ( void* dst, int16 data ); flash_set_int32 ( void* dst, int32 data ); flash_set_int64 ( void* dst, int64 data ); flash_set_float32( void* dst, float32 data ); flash_set_float64( void* dst, float64 data ); 以 Flash寄存器进行拷贝数据和赋值为例说明函数表中函数的使用方法： 例 1：向 Flash寄存器 FD100拷贝数据。 flash_copy ( void *dst, void *src, size_t len )； flash_ copy函数内的 void表示参数类型。实际使用的时候，无需写 void，如下例中的行 13：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
8 C 语言功能块 XD/XL 系列可编程控制器用户手册［基本指令篇］ 366 例 2：向 Flash寄存器赋值。 flash_set_int16 ( void* dst, int16 data ); flash_ set_int16函数与 flash_copy相比的优势： 如果使用 flash_copy函数对 flash寄存器进行数值赋值，使用上及其不方便： int temp_val = 1000; flash_copy(&FD[1000], &temp_val, sizeof(temp_val)); 如果直接使用 flash_set：flash_set_int32(&FD[1000], 1000); 如下例中的行 13~18： 注意： （1）flash_move函数需要下位机 PLC固件版本 （固件版本：V3.7.2固件日期：20210528） 的支持。 （2）Flash寄存器可写入约 1,000,000次，且每次写入为整片 Flash寄存器擦写，较费时，频繁写入将 造成 Flash 寄存器的永久损坏，因此不建议用户频繁写入。谨慎使用上电常 ON、震荡线圈（例如：SM0、 SM11）为驱动条件。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 367 9 顺序功能块 BLOCK 顺序功能块相关指令一览 指令助记符 功能 回路表示及可用软元件 章节 顺序功能块 SBSTOP 暂停 BLOCK执行 SBSTOP S1 S2 9-6-1- 1 SBGOON 继续执行 BLOCK SBGOON S1 S2 9-6-1- 2 9-1．BLOCK 基本概念 顺序功能块， 即BLOCK（以下简称 BLOCK）是为了实现某些功能而存在的一段程序块。 可以将BLOCK 理解为一个特殊的流程，在这个特殊的流程里，所有的程序按照一个原则来执行，即顺序执行原则，这也 是 BLOCK与一般流程最大的不同之处。 BLOCK 开始于 SBLOCK、结束于 SBLOCKE，中间为编程人员书写指令区。如果同一个 BLOCK 中 包含多个发脉冲指令（其他指令也适用） ，那么脉冲指令将按照触发条件成立的先后顺序依次执行；同时， 先执行的脉冲指令结束后才开始下一条脉冲指令的执行。 对于 XD/XL系列 PLC而言，可允许存在多个 BLOCK功能块 ※1。 一个完整的 BLOCK结构，如下图所示： 【注】： ※1：固件版本 V3.4.5 以下的 XD 系列 PLC 允许的 BLOCK 个数最多为 8 个。 固件版本 V3.4.5 及以上的 XD 系列 PLC 和 XL 系列 PLC，程序里最多可写100 个 BLOCK，但同时最 多只能运行 8 个。 ※2：当 BLOCK 块的触发条件是由常开线圈闭合触发时，将会从 BLOCK 最上面依次向下执行，执行完最 后一条指令后， 会立即重新开始由上往下循环执行； 当触发条件断开时，BLOCK 块并不会立即停止， 而是完成最后一次扫描，将未执行的程序执行完毕后再停止。 ※3：当 BLOCK 块的触发条件是由线圈的上升沿触发时，每触发一次，顺序功能块 BLOCK 就会由上至下 依次执行一次，不会循环执行。 ※4：当 BLOCK 中写了关于 FROM 和 TO 等指令，建议 BLOCK 指令使用上升沿导通触发，FromTo参数 都会保存在模块的内部 Flash 里，如果使用常通指令导通 To 指令的话，有一定几率会出现在断电时 候擦写 Flash 从而导致模块内部数据的错乱。 BLOCK运行开始 BLOCK内的执行语段， 所有指令按顺序执行 BLOCK运行结束 用户执行语段 脉冲配置 读写模块（FROM/TO） G 指令 Wait指令 命令语列表 SBLOCK 顺序功能块 n SBLOCKE


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 368 9-2．BLOCK 的调用 在一个程序文件中，可调用多个BLOCK程序块。BLOCK的调用方法为面板配置法，以下为 BLOCK 配置的具体操作。 9-2-1．BLOCK 的添加 打开信捷 PLC 编辑工具软件，在左侧的工程栏中找到“顺序功能块” ，右键单击它，将会出现“添加 顺序功能块”命令，如下图所示： 单击该命令，将弹出设置面板，如下图所示： 上图便是编辑某一 BLOCK的界面，在该界面上可以修改该顺序功能块的注释，添加多个程序语段、 修改和删除对应语段， 包括脉冲、 运动控制等多种指令。 上移/下移用于 BLOCK中指令的上下位置的调整。 单击“插入”按钮，将看到系统已自动列出可能要用到的几种类别的指令，包括命令语列表、脉冲配 置、Wait指令、模块读写（FROM/TO）、G 指令、读写 SD模块。如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 369 例如，在上面的 BLOCK中添加一个“脉冲配置” ，对其设置如下： 单击确定后，将发现在设置面板中也添加了相应信息，如下图所示： 继续单击确定，梯形图界面中将会出现如下指令段： 同时，在左侧工程栏中的“顺序功能块”下出现了新添加的功能块，如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 370 9-2-2．BLOCK 的转移 如果想要将已经建立好的 BLOCK转移到其他地方时，必须先删除原 BLOCK 程序块（需要全部选中 才能够删除） ，如下图所示： 然后将光标先定位在所需调用的地方，然后右键单击已建立的 BLOCK，在弹出的菜单中选择“添加 到当前梯形图节点” ，如下图所示： 此时，将发现该 BLOCK已经出现在了光标所在处，如下图所示： 9-2-3．BLOCK 的删除 如果只是删除在程序中调用的 BLOCK 程序块，可采用选中 BLOCK 区域后再按“Delete”键的方法 （同 BLOCK转移操作的前半部分） 。 如果是要彻底删除某一功能块，则只要右键单击该功能块，选择“删除顺序功能块”即可，删除之后， 将无法再调用，只能重新添加。如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 371 9-2-4．BLOCK 的修改 当成功添加 BLOCK功能块之后，如果想对 BLOCK进行整体上的修改，则只要双击梯形图窗口中该 BLOCK 的起始段或结束段，即可打开配置面板进行修改，如果只是对其中某一段程序进行修改，则双击 该段指令即可，两种修改方式如下图所示： （A）双击 BLOCK起始段/结束段： （B）双击具体语段：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 372 9-3．BLOCK 内部指令的编辑 9-3-1．命令语列表 由于配置面板中提供的几种方式针对性较强， 难以满足更丰富的编程要求。 为了可以自由的向BLOCK 中添加程序，以命令语的形式编辑将会带来极大的便利。 打开配置面板，单击“添加” ，如下图所示： 单击“命令语列表” ，此时将弹出新的面板，如下图所示： 框内即为命令语的添加区域，用户可以自由添加需要的程序。另外需要注意的是， “忽略条件”是控制 是否执行以下命令语， 如果不填， 则默认执行， 如果勾选了 “忽略条件” ， 然后在后面的框内输入控制线圈， 那么，当该线圈接通时，将不执行所在的命令语列表。如下图所示： 注： （1）忽略条件只能是“M”或者“X” ，不能用其他控制线圈。 （2）命令语仅支持该手册第 3、4章的指令（该手册 3-5、3-11、3-12、3-14、3-15、4-3中的指令不支 持）。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 373 此时，单击“确定” ，程序区域将会出现如下程序段： “命令语列表”前的 M0则为是否执行该命令语列表的条件。 注意：同一个 BLOCK中可以添加多个程序段，每一段都由“SKIP 条件”来作为其执行与否的条件， 条件成立则跳过不执行，条件不成立或为空则执行。 在上图中，命令语段在梯形图中并未展开显示，但可以根据该语段的作用修改其注释，如下图所示： 注释修改之后的 BLOCK语段也有了相应的变化，如下图所示： 9-3-2．脉冲配置 以相同的方法打开脉冲配置面板，如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 374 在该配置面板中可设定脉冲输出的形式，相对或者绝对；其他参数相应的输入区中写入参数的地址， 以及脉冲频率以及脉冲个数、跳转条件等。 添加两条发脉冲指令到 BLOCK中，如下图所示： 9-3-3．Wait 指令 以前面的方法，打开 Wait 指令的配置面板。Wait 指令是用于等待标志位或是定时到再执行当前梯级 的程序。配置面板中提供了两种等待方式，其一为标志位、其二为定时，两种方式设置分别如下： （A）标志位（信号量） 信号量 SEM在梯形图中的两种触发方式如下所示： M30 POST SEM0 M30 OUT SEM0 （B）定时等待 （C）梯形图窗口中的效果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 375 注意：在 XD/XL系列 PLC的顺序功能块的 W AIT指令后面不能够添加普通的内部线圈，只能添加信号量 SEM位（SEM0~SEM31共 32个） ；信号量SEM位的状态不能够通过 SET与 RST来进行控制，只能通过 POST指令对它进行置位，而当执行完W AIT SEM指令后会自动对 SEM位进行复位；或者通过 OUT指令 输出。 两者的区别在于， 用POST指令需要用边沿触发， 可保持住SEM的状态； 用OUT需要用常开触发， 断开导通条件 SEM就复位。 9-3-4．读写模块（FROM/TO）指令 该项是方便 PLC与称重模块、PT100测温模块、热电偶模块等进行参数读写而设立的，用户只需通过 该面板就可对模块进行读取和写入。 以对第一扩展模块进行读取为例，配置面板如下图所示： FROM/TO指令的配置也非常方便，直接从下拉列表中选择“读模块”或者“写模块” ，然后依次填好 模块号、模块地址、参数个数、本地线圈首地址，系统将自动产生一条指令。如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 376 9-4．BLOCK 的执行方式 1、存在多个 BLOCK时，其执行方式与一般程序相同，条件成立时，BLOCK即执行。 （A）条件为常开/闭线圈 M1 SBLOCK 顺序功能块1 SBLOCK 顺序功能块2 SBLOCK 顺序功能块3 M2 M3 如图所示，顺序功能块 1，顺序功能块 2，顺序功能块 3是同步执行的。当 M1，M2，M3为 ON的时 候，所有 BLOCK循环执行。 注意：当 BLOCK块中的程序未执行完，而导通条件M断开了，BLOCK并不会立即停止而是完成最后 一次扫描，将剩下的程序执行完毕后才会停止。 （B）条件为上升/下降沿 如图所示当 M1，M2，M3从 OFF->ON 的时候，所有 Block只执行一次。 扫描周期1 扫描周期2 扫描周期3 Block1 Block1，Block2 Block1,Block2,Block3 M1 M2 M3 M1 SBLOCK 顺序功能块1 SBLOCK 顺序功能块2 SBLOCK 顺序功能块3 M2 M3 ↑ ↑ ↑


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 377 2、BLOCK内部的程序按照扫描时间顺序执行，条件成立的先执行，一条执行完后再执行满足条件的 第二条。 （A）不带忽略条件 M2 SBLOCK 顺序 功能块1 PLSR HD0 HD100 K1 Y0 PLSR HD200 HD300 K1 Y1 SBLOCKE FROM K10000 K0 K6 M10 顺序功能块 1中的程序执行顺序如下图所示： 扫描周期1 扫描周期2 扫描周期3 扫描周期4 扫描周期5 PLSR Y0 PLSR Y1 FROM BLOCK的执行 BLOCK条件为 OFF，并且所有顺 序指令执行完毕 （B）带忽略条件 M2 SBLOCK 顺序功能块1 PLSR HD0 HD100 K1 Y0 PLSR HD200 HD300 K1 Y1 SBLOCKE FROM K10000 K0 K6 M10 M3 M4 M5 说明： （1）当 M2为 ON的时候，顺序功能块 1执行。 （2）在 BLOCK内部，所有指令都是顺序执行的。 （3）M3，M4，M5是 SKIP标志，表示是否跳过当前梯级的指令，如果为 ON 则跳过。 （4）当 M3为 OFF的时候，如果没有其他指令占用脉冲控制块Y0，执行 PLSR HD0 HD100 K1 Y0指 令； 如果当前脉冲控制块已经被占用， 则当前BLOCK等待其他指令释放该控制块后再执行 PLSR HD0 HD100 K1 Y0指令。 （5）Y0 脉冲发送完毕以后，判断 M4，如果 M4 为 OFF，检查脉冲控制块 Y1；如果 M4 为 ON，则 判断 M5，如果 M5 为 OFF，执行模块通讯。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 378 9-5．BLOCK 内部指令的编写要求 在 BLOCK中， 指令的编写并不是随意的， 必须符合一定的要求。 编程人员请务必遵守以下几项原则： 1、不同的 BLOCK，不建议指定同一个端口进行脉冲输出。 不建议 建议 M0 SBLOCK 顺序功能块1 PLSR HD0 HD100 K1 Y0 SBLOCKE M1 M0 SBLOCK 顺序功能块2 PLSR HD0 HD100 K1 Y0 SBLOCKE M0 SBLOCK 顺序功能块1 PLSR HD0 HD100 K1 Y0 SBLOCKE M1 M0 SBLOCK 顺序功能块2 PLSR HD0 HD100 K1 Y1 SBLOCKE 2、主程序与 BLOCK不可以同时对同一个端口进行脉冲输出。 不可行（×） 可行（√） M0 PLSR HD0 HD100 K1 Y0 M0 SBLOCK 顺序功能块1 SBLOCKE PLSR HD0 HD100 K1 Y0 M0 PLSR HD0 HD100 K1 Y0 M0 SBLOCK 顺序功能块1 SBLOCKE PLSR HD0 HD100 K1 Y1 3、BLOCK内部指令最多只能带 1 个忽略条件。 不可行（×） 可行（√） M0 SBLOCK 顺序功能块1 PLSR HD0 HD100 K1 Y0 SBLOCKE M1 M2 M0 SBLOCK 顺序功能块1 PLSR HD0 HD100 K1 Y0 SBLOCKE M1 4、忽略条件只允许 X、M这 2种位软元件，且不带偏移。 不可行（×） 可行（√） M0 SBLOCK 顺序功能块1 SBLOCKE T0 M2[D10] PLSR D0 D100 K1 Y0 PLSR HD0 HD100 K1 Y0 M0 SBLOCK 顺序功能块1 SBLOCKE X0 M2 PLSR D0 D100 K1 Y0 PLSR HD0 HD100 K1 Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 379 5、输出指令不允许为 CNT_AB(CNT)、PWM。 不可行（×） 可行（√） M0 SBLOCK 顺序功能块1 CNT_AB HSC0 D0 SBLOCKE M1 PWM K100 D0 Y0 M2 M0 SBLOCK 顺序功能块1 SBLOCKE M1 M2 PLSR D0 D100 K1 Y0 PLSR HD0 HD100 K1 Y0 6、不建议将顺序功能块 BLOCK放在流程（STL）里面使用，因为当流程执行结束跳转到下一个流程 时，如果此时 BLOCK还没有执行完或者流程结束时而 BLOCK的触发条件还没有断开，此时可能会出现 一些意想不到的问题；所以建议用户尽量将顺序功能块 BLOCK与流程 STL分开控制。 不可行（×） 可行（√） SM0 SBLOCK FROM K0 K1 K5 D100 WAIT K1 K50 STL S0 SBLOCKE M100 ( ) STLE Y0 PLSR HD0 HD100 K1 Y0 S0 SBLOCK FROM K0 K1 K5 D100 WAIT K1 K50 STL S0 SBLOCKE M100 ( ) STLE Y0 PLSR HD0 HD100 K1 Y0 7、LabelKind类型不允许出现 P、I等标签指令虽可在配置面板中的命令语部分中被允许输入，但实际无效，应注意避免。 8、将 PLSR写在 BLOCK中，如果中途异常停止了，例如：碰到负极限等，再重新导通这条BLOCK 指令，此时不会运行，因为目前的 BLOCK还处于运行状态


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 380 9-6．BLOCK 相关指令 9-6-1．指令说明 9-6-1-1. 暂停 BLOCK 的执行[SBSTOP] 1）指令概述 暂停 BLOCK中指令执行的指令。 暂停BLOCK 的执行[SBSTOP] 16位指令 SBSTOP 32 位指令 - 执行条件 常开/闭、边沿触发 适用机型 XD全系列、XL全系列 固件要求 K2、K3模式有版本要求 软件要求 V3.2 2）操作数 操作数 作用 类型 S1 指定顺序功能块块号的数值或软元件地址编号 16位，BIN S2 指定暂停执行 BLOCK的方式的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 SBSTOP K1 K0 M1 S1· S2·  S1 为顺序功能块块号，块号唯一且不能更改，可在左侧工程栏查看，位置如下：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 381  S2 为暂停执行 BLOCK的方式，可用操作数：K0、K1、K2、K3。 K0：缓慢停止 BLOCK，即当脉冲正在发送时，SBSTOP 条件成立，则脉冲将走斜坡，缓慢停止。必 须与 SBGOON指令配合使用。 K1：立即停止 BLOCK，即当 SBSTOP条件成立时，立即停止 BLOCK中的脉冲指令的执行。必须与 SBGOON指令配合使用。 0 频率 K1 K0 执行SBSTOP t K2：毁灭性缓慢停止BLOCK，即当脉冲正在发送时，SBSTOP条件成立， 则脉冲将走斜坡缓慢停止， 无需和 SBGOON 指令配合使用，因此剩下的指令将不再执行。执行该指令后，该 BLOCK 可重 新启动。（注意：K2模式仅 V3.4.2及以上固件版本 PLC支持） K3：毁灭性立即停止 BLOCK，即当脉冲正在发送时，SBSTOP 条件成立，则立即停止 BLOCK 中的 脉冲指令的执行， 无需和SBGOON指令配合使用， 因此剩下的指令将不再执行。 执行该指令后， 该 BLOCK可重新启动。（注意：K3模式仅 V3.4.6及以上固件版本 PLC或 V3.5.3及以上固件版 本 XD5E/XDME支持。 ） 9-6-1-2. 继续执行已暂停的BLOCK[SBGOON] 1）指令概述 继续执行 BLOCK中的指令，相对于 SBSTOP指令而言。 继续执行已暂停的BLOCK [SBGOON] 16位指令 SBGOON 32位指令 - 执行条件 边沿触发 适用机型 XD全系列、XL全系列 固件要求 - 软件要求 V3.2 2）操作数 操作数 作用 类型 S1 指定顺序功能块块号的数值或软元件地址编号 16位，BIN S2 指定暂停执行 BLOCK的方式的数值 16位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K /H ID QD X Y M S T C Dn.m S1 ● ● S2 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 SBGOON K1 K0 M3 S1· S2·


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 382  S1 为顺序功能块块号，块号唯一且不能更改，可在左侧工程栏查看，位置如下：  S2 为继续执行 BLOCK的方式，可用操作数：K0、K1 K0：继续执行被暂停 BLOCK中的未完成的指令； 例如，当脉冲未发完就被立即停止时，SBGOON条件成立后，将继续发送剩余脉冲个数。 K1：继续执行被暂停的 BLOCK，但舍弃未发完的指令； 例如，当脉冲未发完就被立即停止时，SBGOON 条件成立后，将不再发送未发完的脉冲个数， 而是直接执行后面的指令。  该指令只适用于 BLOCK中的 PLSR指令，对插补指令只能发完剩下的脉冲，无法跳过。 9-6-2．指令的执行时序 1、 SBSTOP（K1 K1）+SBGOON（K1 K1） SBLOCK 顺序功能块1 M0 SBLOCKE SBSTOP K1 K1 M2 SBGOCN K1 K1 M4 PLSR HD0 HD100 K1 Y0 条件M0 PLS Y0 扫描周期1 扫描周期2 扫描周期3 扫描周期4 扫描周期5 条件M2 条件M4 M0由 OFF→ON 时，执行 BLOCK里的 PLSR HD0 HD100 K1 Y0 指令，开始脉冲的发送；当 M2由


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 383 OFF→ON 时，BLOCK暂停执行，此时立即停止脉冲发送；当 M4由 OFF→ON 时，舍弃之前未发完的脉 冲。 2、SBSTOP（K1 K1）+SBGOON（K1 K0） SBLOCK 顺序功能块1 M0 SBLOCKE SBSTOP K1 K1 M2 SBGOCN K1 K0 M3 PLSR HD0 HD100 K1 Y0 条件M0 PLS Y0 扫描周期1 扫描周期2 扫描周期3 扫描周期4 扫描周期5 条件M2 条件M3 PLS Y0 M0由 OFF→ON 时，执行 BLOCK里的 PLSR HD0 HD100 K1 Y0 指令，开始脉冲的发送；当 M2由 OFF→ON 时，BLOCK暂停执行，此时立即停止脉冲发送；当 M3由 OFF→ON 时，开始发送之前未发完 的脉冲个数。 3、SBSTOP（K1 K0）+SBGOON（K1 K1） SBLOCK 顺序功能块1 M0 SBLOCKE SBSTOP K1 K0 M1 SBGOCN K1 K1 M4 PLSR HD0 HD100 K1 Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
9 顺序功能块 BLOCK XD/XL 系列可编程控制器用户手册［基本指令篇］ 384 M0由 OFF→ON 时，执行 BLOCK里的 PLSR HD0 HD100 K1 Y0 指令，开始脉冲的发送；当 M1由 OFF→ON 时，BLOCK暂停执行，此时脉冲将走斜坡，慢慢停止；当 M4由 OFF→ON 时，舍弃之前未发 完的脉冲个数。 4、SBSTOP（K1 K0）+SBGOON（K1 K0） M0由 OFF→ON 时，执行 BLOCK里的 PLSR HD0 HD100 K1 Y0 指令，开始脉冲的发送；当 M1由 条件M0 PLS Y0 扫描周期1 扫描周期2 扫描周期3 扫描周期4 扫描周期5 条件M1 条件M4 SBLOCK 顺序功能块1 M0 SBLOCKE SBSTOP K1 K0 M1 SBGOCN K1 K0 M3 PLSR HD0 HD100 K1 Y0 条件M0 PLS Y0 扫描周期1 扫描周期2 扫描周期3 扫描周期4 扫描周期5 条件M1 条件M3 PLS Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 9 顺序功能块 BLOCK 385 OFF→ON 时，BLOCK暂停执行，此时脉冲走斜坡，缓慢停止；当 M3由 OFF→ON 时，发送之前未发完 的脉冲个数。 这里要注意，虽然SBSTOP指令采用斜坡停止方式，但也会存在脉冲个数较多，使得脉冲最终停止发 送时，仍有未发完的脉冲个数的情形；这种情况下，如果再执行SBGOON K1 K0，则会将之前未发完的脉 冲个数先发完为止。 9-7．BLOCK 执行标志位/寄存器 1）BLOCK 执行标志位软元件一览表： 地址号 功能 说明 SM300 BLOCK1正在执行标志 BLOCK 监控状态下 1：正在执行 0：未执行 SM301 BLOCK2正在执行标志 SM302 BLOCK3正在执行标志 ……. ……. …….. ……. SM399 BLOCK100正在执行标志 2）BLOCK 执行状态寄存器一览表： 地址号 功能 说明 SD300 BLOCK1当前执行的指令 BLOCK监控状态下，使用该值 SD301 BLOCK2当前执行的指令 SD302 BLOCK3当前执行的指令 ……. ……. …….. ……. SD399 BLOCK100当前执行的指令 若用到 GBLOCK，则占用 SM399和 SD399。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 386 10 特殊功能指令 特殊功能相关指令一览 指令助记符 功能 回路表示及可用软元件 章节 脉宽调制 PWM 以指定占空比、频率输出脉 冲 10-1 频率测量 FRQM 定脉冲个数计时间频率测量 10-2 定时 STR 精确定时 10-3 中断 EI 允许中断 10-4 DI 禁止中断 10-4 IRET 中断返回 10-4 PWM S1 S2 D FRQM S1 D S2 S3 STR D1 D2 EI DI IRET


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 387 10-1．脉宽调制[PWM] 1）指令概述 进行 PWM脉宽调制的指令。 PWM 脉宽调制[PWM] 16位指令 - 32位指令 PWM 执行条件 常开/闭线圈触发 适用机型 XD/XL系列（不含 XD1/XL1） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定占空比的数值或软元件地址编号 32位，BIN S2 指定输出频率的数值或软元件地址编号 32位，BIN D 指定输出脉冲端口编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● S2 ● ● ● ● ● ● ● ● ● D ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  占空比数值 n的范围：1~65535  输出频率 f的范围：1~100KHz  XD系列 PLC脉宽调制只可在输出端口为晶体管输出型的 PLC，端口分配具体如下表： PLC 型号 PWM 配置端口 XD2-16T/RT -24T/RT -32T/RT -48T/RT -60T/RT Y0、Y1 XD3-16T/RT-24T/RT-24T4-32T/RT-32T4-42T/RT-48T/RT-60T/RT Y0、Y1 XD5-16T/RT-24T/RT-32T/RT-42T-48T/RT -60T/RT-80T Y0、Y1 XD5-24T4 -32T4-48T4 -48T6-60T4 -60T6-60T10 Y0、Y1、Y2、Y3 XD5-48D4T4 Y14、Y16、Y20、Y22 XDM-24T4 -32T4 -60T4 -60T10 Y0、Y1、Y2、Y3 XDC-24T -32T -48T -60T Y0、Y1 XD3E-24/30/48/60T、XD3E-24/30/48/60NPT Y0、Y1 XD3E-30/48/60NPT4 Y0、Y1、Y2、Y3 XD5E-24T -30T -48T -60T Y0、Y1 XD5E-30T4 -60T4 -60T6 -60T10 Y0、Y1、Y2、Y3 XDME-30T4 -60T4 -60T10 Y0、Y1、Y2、Y3 XDH-24A8（L）-30A16（L）-60T4-60A32-60A64 Y0、Y1、Y2、Y3 XL3-16T/32T Y0、Y1 XL5-16T/32T Y0、Y1 PWM K100 D10 Y0 X0 S1· S2· D·


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 388 PLC 型号 PWM 配置端口 XL3E-16T/32T Y0、Y1 XL5E-16T/32T Y0、Y1 XL5-32T4、XL5E-32T4/64T6、XLME-32T4 Y0、Y1、Y2、Y3 XL5-64T10、XL5E-64T10、XLME-64T10 Y0、Y1、Y2、Y3 XL5N-32T Y0、Y1 XL5H-24A8（L） Y0、Y1 XLH-24A16（L）-30A32（L） Y0、Y1、Y2、Y3  PWM脉宽调制输出的占空比=n /65535×100%  PWM 脉宽调制输出是以 0.1Hz 为单位的，所以 S2 设定频率时，设定值是实际频率的 10 倍关系（即 10f） 。例如：要设定频率为72KHz，则 S2中的设定值应为 720000。  X0为 ON时，输出 PWM波形；X0为 OFF时，停止输出；PMW脉宽调制输出是没有脉冲累计的。 注意： （1）在使用脉宽调制 PWM 指令时，需要在输出端加放大电阻，在输出端子与 24V 之间并联一个阻 值为 1K的放大电阻。 （2）XDH/XLH机型需固件版本在 V3.7.2及以上，才支持此功能。 （3）XD5-24D2T2机型不支持 PWM指令。 5）例 1 如上图所示，有一个 DC24V 控制的指示灯，现需要控制指示灯的亮度，为了尽量降低截波器引起的 能量损失，将截波器闸门由关闭（Off）的状态于一瞬间全开（On） ，接着再关闭的方式循环，如此作用的 方法称为开关作用。 由于此作用如同将电流进行切离， 因此称为截波器。 在电源与指示灯之间插入晶体管， 在此晶体管的基极加入脉冲状信号时，基极与射极间的电流成为脉冲状。指示灯的输入电压与占空比的值 成比例。因此改变占空比的值，即可自由改变指示灯的输入电压。改变此比值的方法有很多种，其中较常 用的一种为不改变单位时间所发生之On次数而改变On状态的时间长度， 此方法称为脉冲宽度调变 （PWM）。 本例将 PWM技术应用于控制指示灯的亮度调节，其控制器可接受24V的 PWM 控制，控制亮度范围 为 25％、50％、75％以及 100%的亮度，指示灯的亮度由 PWM的占空比来决定。 （1）元件说明 PLC 软元件 控制说明 备注 X0 启动按钮，按下时，X0状态为 On X1 停止按钮，按下时，X1状态为 On X2 25%亮度按钮，按下时，X2状态为 On X3 50%亮度按钮，按下时，X3状态为 On X4 75%亮度按钮，按下时，X4状态为 On X5 100%亮度按钮，按下时，X5状态为 On HD0 脉宽调制输出占空比寄存器 HD2 脉宽调制输出频率寄存器 默认 100Hz T0 t 左图中：T0=1/f t/T0=n/65535


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 389 （2）控制程序 （3）程序说明 ① 本例中通过设置 HD0 值的大小来控制指示灯的电压，供电电压=DC24V*HD0/65535，脉冲输出频 率固定为 100Hz。 ② 按下启动按钮，X0 由 OFF→ON 变化一次，M0/M1 被置位为 ON，指示灯电压调节启动，再按下 对应的开度按钮即可进行电压调节。 ③ 按下 25%亮度按钮，X2=ON，HD0值为 K16383，HD0/65535=0.25，指示灯亮度为 25%的亮度。 ④ 按下 50%亮度按钮，X3=ON，HD0值为 K32767，HD0/65535=0.5，指示灯亮度为 50%的亮度。 ⑤ 按下 75%亮度按钮，X4=ON，HD0值为 K49151，HD0/65535=0.75，指示灯亮度为 75%的亮度。 ⑥ 按下 100%亮度按钮，X5=ON，HD0值为 K65535，HD0/65535=1，指示灯亮度为 100%的亮度。 ⑦ 按下关闭按钮，X1 由 OFF→ON 变化一次，HD0 值被清零，同时关闭 PWM 导通条件，指示灯供 电电压为 0V。 DMOV K1000 HD2 DMOV K0 HD0 PWM HD0 HD2 Y0 MSET M0 M1 SM2 X0 X1 ZRST M0 M1 M0 X2 X3 X4 X5 DMOV K16383 HD0 X3 X4 X5 DMOV K32767 HD0 X3 X4 X5 DMOV K49151 HD0 X3 X4 X5 DMOV K65535 HD0 X2 X2 X2 M1


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 390 10-2．频率测量[FRQM] 1）指令概述 进行频率的测量的指令。 频率测量[FRQM] 16位指令 - 32位指令 FRQM 执行条件 常开/闭线圈触发 适用机型 XD/XL系列(不含 XD1/XL1/XDH/XLH) 固件要求 V3.4.6b及以上 软件要求 - 2）操作数 操作数 作用 类型 S1 指定采样脉冲个数的数值或软元件地址编号 16位，BIN D 指定测量结果的软元件编号 32位，BIN S2 指定显示精度的数值 16位，BIN S3 指定脉冲输入端口 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● ● ● ● ● ● ● ● ● D ● ● ● ● ● S2 ● ● ● ● ● ● ● ● S3 ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作  采样脉冲个数为计算脉冲频率的采样脉冲个数（即定脉冲个数计时时间） ，此参数值可以根据所测频 率的大小适当的进行调整（一般来说，所测频率越高采样脉冲个数越大） 。  测量结果，单位：Hz。  显示精度：只能设置为 1、10、100、1000、10000。  M0为 ON时，FRQM周而复始地从 X0采样 20个脉冲，记录下采样时间，将采样个数除以采样时间 计算出频率值存入 D100 中，不断地重复测量。如果测量的频率值小于测量的范围，则返回测量值为 0。  测量精度：0.001%。 5）频率测量的脉冲输入对应的X 编号一览表 机型 X 编号 备注（测频上限） XD2系列 16 点 X0、X3、X6 最高 10K 24/32/48/60点 X0、X3 最高 80K X6 最高 10K XD3 系列 16/24/32点 X0 最高 80K X3、X6 最高 10K 42/48/60点 X0、X3 最高 80K X6 最高 10K FRQM K20 D100 X0 K1 M0 D·S1· S3. S2.


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 391 机型 X 编号 备注（测频上限） XD5系列 16/24/32/42/48/60/80点 X0、X3 最高 80K X6 最高 10K 24T4/32T4/48T4/48D4T4/60T4 X0、X3、X6、X11 最高 80K 24D2T2/48T6/60T6/60T10 X0、X3、X6、X11 最高 80K XDM系列 24T4/32T4/60T4 X0、X3、X6、X11 最高 80K 60T10 X0、X3、X6、X11 最高 80K XDC系列 24/32/48/60点 X0、X3、X6、X11 最高 80K XD3E系列 24/30/48/60点 X0、X3 最高 80K X6 最高 10K XD5E系列 24/30/48/60点 X0、X3 最高 80K X6 最高 10K 30T4/60T4/60T6/60T10 X0、X3、X6、X11 最高 80K XDME系列 30T4/60T4/60T10 X0、X3、X6、X11 最高 80K XL3系列 16/32点 X0 最高 80K X3、X6 最高 10K XL5系列 16/32点 X0、X3 最高 80K X6 最高 10K 32T4/64T10 X0、X3、X6、X11 最高 80K XL3E 16/32点 X0、X3 最高 80K X6 最高 10K XL5E系列 16/32点 X0、X3 最高 80K X6 最高 10K 32T4/64T6/64T10 X0、X3、X6、X11 最高 80K XLME 系列 32T4 X0、X3、X6、X11 最高 80K 64T10 X0、X3、X6、X11 最高 150K XL5H系列 24A8L X0、X3 最高 80K X6 最高 10K XL5N系列 32 点 X0、X3 最高 80K X6 最高 10K 6）例 1 如下图所示，异步电机驱动传送带运送待加工工件，现需要实时显示待加工工件的移动速度，传送轴 的直径长度 R=100mm，传送轴上带动的齿轮数为 100个，要求显示的速度，单位为 m/min。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 392 （1）元件说明 PLC 软元件 控制说明 X0 接近开关，用来数齿轮数 M0 启动信号 D16 速度存储寄存器（浮点数） （2）控制程序 （3）程序说明 ① 将启动信号 M0置位，开始执行频率测量以及速度计算程序。 ② 先将测得的频率值转化为浮点数，再除以一圈 100个齿轮，得到一秒传动轴转几圈（浮点数）。 ③ 算出传动轴一圈的周长长度存储在寄存器 D6（浮点数）中，再算出一秒传动轴的传送距离存储在 寄存器 D10（浮点数）中（单位为 m/s）。 ④ 将一秒传动轴的传送距离乘以 60得出以 m/min为单位的速度（浮点数）。 FRQM K20 D0 X0 K1 EDIV D2 K100 D4 DFLT D0 D2 M0 EMUL K0.1 K3.14 D6 EMUL D4 D6 D10 EMUL D10 K60 D16


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 393 10-3．精确定时[STR] 1）指令概述 进行精确定时、读取精确定时以及停止精确定时。 精确定时[STR] 16位指令 - 32位指令 STR 执行条件 边沿触发 适用机型 XD 全系列 （XDH不支持） 、XL全系列 （XLH不支持） 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 D1 定时器编号 位 D2 定时值的数值或软元件地址编号 32位，BIN 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m D1 只能是 ET D2 ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 《精确定时》 、 《精确定时复位》  D1· ：定时器编号。范围：ET0~ET24（ET0、ET2· · ·全部是偶数，ET26之后不能使用 STR指令） 。  D2· ：定时值。  精确定时器是 1ms为单位的定时器。  精确定时器是 32位的，计数值范围是 0~+2,147,483,647。  STR指令执行时，首先将定时器清零，再进行计数。  当 X0 从 OFF→ON 时，定时器 ET0开始计时，时间累计到 100ms时，ET0立即置位且 ETD0的值保 持 100 不再变化；如果当 X0 再次从 OFF→ON 时，定时器 ET0状态由 ON→OFF，并重新开始计时， 时间累计到 100ms时，ET0再次置位。如下图所示： STR ET0 K100 X0 D1· D2· Y0 ET0 RST ET0 M0 X0 ET0 100ms 100ms M0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 394  当 STR 的前置条件为常开/闭线圈时，精确定时器在定时时间到时立即置 ON 并清零重新开始定时， 循环往复。 《读取精确定时》 、 《停止精确定时》 5）精确定时中断  精确定时达到计时值时会产生一个相应的中断标记，可以执行一些中断子程序。  允许在精确定时中断中，再次启动精确定时。  每个精确定时器都有对应的中断标记。如下表所示： 定时器编号 中断标记 定时器编号 中断标记 ET0 I3000 ET10 I3005 ET2 I3001 ET12 I3006 ET4 I3002 …… …… ET6 I3003 ET22 I3011 ET8 I3004 ET24 I3012 DMOV ET0 X0 STOP ET0 M0 D· D· D0 STR ET0 K100 X0 Y0 RST ET0 M0 I3000 Y1 M1 IRET FEND ET0 SM0 SM0  当 X0 由 OFF→ON 时，立即将当前的精确定时值 送入 D0，不受扫描周期影响。  当 M0由 OFF→ON 时，立即执行 STOP指令，停 止精确定时，不受描周期影响。 当 X0从 OFF→ON时， 定时器ET0开始计时， 时间累计到 100ms时，ET0置位；同时产生一 个中断，程序跳转到中断标记 I3000 处执行一 次中断子程序。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 395 6）例 1 如下图所示，为灌装机的结构示意图，通过控制液体阀门的打开时间（本例中设定为3000ms）来控制 液体的灌装容量；为了提高瓶中所灌装液体的容量精度，可以选用精确定时来控制液体阀门打开的时间。  元件说明 PLC 软元件 控制说明 X0 启动按钮，按下时，X0状态为 ON ET0 精确定时定时器 Y0 控制液体阀门，ON时阀门打开，OFF时阀门关闭  控制程序  程序说明 （1）本例中手动控制时， 通过按下启动按钮X0， 立即将液体阀门Y0以及精确定时器 ET0同时打开。 （2）等精确定时时间到后立即将液体阀门 Y0以及精确定时器 ET0同时关闭。 7）例 2 如下图所示，我们可以利用精确定时中断来实现脉冲波宽调变功能，产生下面的振荡波形，Y2状态置 ON500ms，脉波周期为 1000ms。  元件说明 PLC 软元件 控制说明 X0 启动按钮，按下时，X0 状态为 On Y2 脉冲输出端子 STR ET0 K3000 X0 RST ET0 （ S ） Y0 ET0 （ R ） Y0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 396 PLC 软元件 控制说明 M0 内部辅助线圈 ET0 精确定时定时器  控制程序，可采用以下两种方式： 方式一： 方式二：  程序说明 （1）本例中，通过按下启动按钮 X0，立即启动精确定时中断循环，通过输出端子 Y2 开始输出振荡 波形。 （2）当松开按钮 X0 时，将会立即关闭精确定时中断循环，停止 Y2的振荡波形输出。 8）例 3 频率测量 FRQM指令使用的是“定脉冲个数计时间”算法实现频率测量功能，下面我们通过“定时间 计脉冲个数”的方式来实现。  元件说明 PLC 软元件 控制说明 M0 启动按钮，按下时，X0状态为 On ET0 精确定时定时器 HD0 精确定时时间设定值（单位：ms） HSC0 外部信号高速计数计数器 D10 最终测得的频率数值（单位：s） RST ET0 X0 STR ET0 K500 X0 FEND I3000 SM0 Y2 （ S ） Y2 PLS M0 Y2 （ R ） M0 Y2 SM0 STR ET0 K500 IRET END RST ET0 X0 STR ET0 K500 X0 FEND I3000 SM0 IRET END ALT Y2 24V 0V ● A B COM0 Y0 COM1 Y1 COM2 Y2 Y3 Y4 Y5 COM3 Y6 Y7 Y8 Y9 COM4 Y10 Y11 Y12 Y13 ● COM COM X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 PWR RUN ERR XD3-32R 3210 4 8765 9 3210 7654 8 9 -E Y X COM0 COM1 编码器 屏蔽 电源+ 0V DC24V A B


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 397  控制程序  程序说明 （1）本例中，首先需要设置高速计数采样周期寄存器 HD0，即定多长时间运算一次高速计数，单位 为 ms。 （2）通过置位启动按钮M0，立即启动精确定时中断循环以及高速计数，通过输入端子高速计数定时 运算出频率测量值。 （3）通过此方式所得的频率测量范围为 0~80KHz，精度为 0.005%。 RST ET0 M0 STR ET0 HD0 M0 FEND I3000 SM0 STR ET0 HD0 IRET END M0 CNT HSC0 K999999999 DMOV HSC0 D0 SM0 DFLT D0 D2 DFLT HD0 D4 EDIV K1000 D4 D6 EMUL D2 D6 D8 DINT D8 D10 DMOV K0 HSC0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 398 10-4．中断[EI]、[DI]、[IRET] XD/XL 系列 PLC 都具有中断功能，中断功能分两种：一、外部中断；二、定时中断。通过中断功能 可以处理一些特定的程序，它不受可编程控制器的扫描周期的影响。 10-4-1．外部中断 输入端子 X可以作为外部中断的输入用，每一输入端对应于一个外部中断，输入的上升沿或者下降沿 都可触发中断，中断子程序写在主程序之后（FEND命令之后） 。当产生中断后，主程序立即停止执行，转 而执行相应的中断子程序，等中断子程序执行完成后，再立即返回继续执行主程序。 注意：原 XC 系列 PLC 中外部中断不能够实现上升沿和下降沿共同触发的问题在 XD/XL 系列 PLC 中可以得到彻底解决，外部中断可同时支持上升沿和下降沿。 1）外部中断端口定义 XD/XL系列 16点 XD/XL系列 24~64点 输入端 子 指针编号 禁止中 断指令 输入端子 指针编号 禁止中 断指令 上升中断 下降中断 上升中断 下降中断 X2 I0000 I0001 SM050 X2 I0000 I0001 SM050 X3 I0100 I0101 SM051 X3 I0100 I0101 SM051 X4 I0200 I0201 SM052 X4 I0200 I0201 SM052 X5 I0300 I0301 SM053 X5 I0300 I0301 SM053 X6 I0400 I0401 SM054 X6 I0400 I0401 SM054 X7 I0500 I0501 SM055 X7 I0500 I0501 SM055 XD系列 10点 X10 I0600 I0601 SM056 输入端 子 指针编号 禁止中 断指令 X11 I0700 I0701 SM057 上升中断 下降中断 X12 I0800 I0801 SM058 X2 I0000 I0001 SM050 X13 I0900 I0901 SM059 X3 I0100 I0101 SM051 X4 I0200 I0201 SM052 注意： （1）禁止中断指令线圈置位后，外部中断将不会执行！ （2）在程序中已用作外部中断信号的外部中断端子，不可再用作 ZRN的原点和 Z相、PLSR的 EXT 信号。 主程序 主程序 中断程序 输入中断


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 399 2）中断指令 允许中断[EI]、禁止中断[DI]、中断返回[IRET] 注意： （1）在中断子程序里，只能写简单的置位、复位、传送、运算等可以在一个扫描周期内执行的指令， 其他如发脉冲、定时（精确定时除外） 、通讯等需要持续执行的指令均不支持。 （2）定时中断共有 20路（I40**~I59**），同一个定时中断只能使用一个时间，例如：对中断 I40**使 用了 I4010（每 10ms 执行一次定时中断） ，此时就不能使用I4050（每 50ms 执行一次定时中断） ，可以写 成 I4150。 3）中断范围的限制 DI FEND EI 中 断 禁 止 中 断 许 可 EI FEND I0000 IRET I0100 IRET END  通过对 DI指令编程，可以设定中断禁止区间。  在 DI~EI区间不允许中断输入。  不需要中断禁止时，请仅对EI指令编程，无需对 DI指令编程。 中 断 许 可 范 围 中 断 ① 中 断 ②  如果用 EI指令允许中断， 则在扫描程序的过程中 如果中断输入由“OFF→ON”，则执行中断例行程 序①、②，结束后回到初始主程序初始主程序。  中断用指针（I****） ，必须在FEND 指令后作为 标记编程。  可编程控制器平时呈允许中断状态。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 400 4）中断禁止 5）例1 工位原点 A点（X2） B点（X3） C点（X4） 如上图所示，现需要正向走 3段工位，由于 A、B、C 三点的位置是不确定（会随机变动） ，且要求从 工位原点到 A 点、A 点到 B 点、B 点到 C 点三段的移动速度都不一样但都是固定的，在这种情况下我们 可以通过结合 PLSF指令以及外部中断的功能来实现；我们可以分别在A、B、C三点的位置安装一个接近 开关，接入 PLC的 X2、X3、X4三个端子（X2、X3、X4三个端子全部为外部中断端子，上升沿中断编号 分别为 I0000、I0100、I0200，具体型号 PLC 的外部中断端子请参见“外部中断端口定义” ） ；脉冲端子为 Y0，方向端子由 Y2 来控制，为了提高速度变换的精度，加减速时间设定为 0，通过外部中断进行速度快 速切换，每段的脉冲频率与对应的寄存器如下表所示： 名称 频率设定值 （Hz） 脉冲数设定值 原点至 A 点 10000 999999999 A 点至 B 点 30000 999999999 B 点至 C 点 20000 999999999 加减速时间 0 注意：由于每段的脉冲数目是不定的，所以每段的脉冲数目设定一个很大的值，保证工位足可以配到 各位置的接近开关；当到达 C点位置时通过外部中断立即执行 STOP指令急停。  元件说明 PLC 软元件 控制说明 M0 启动按钮，按下时，PLSF脉冲指令开始发脉冲 HD0 存放 PLSF指令脉冲频率寄存器 EI SM050 FEND I0000 IRET END M0 中 断 许 可 中 断 程 序  对于每个输入中断， 分别配有禁止中断的特 殊继电器（SM50~SM69）  左图的程序示例中，如果用 M0 使 SM50 “ON” ，则禁止第0路的中断输入。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 401  控制程序  程序说明 （1）首先利用 SM2 上电给寄存器 HD0 赋值 K10000，置位启动位 M0，脉冲指令 PLSF 开始按照 10000Hz的频率开始发送脉冲， 由原点位置开始向A点位置移动 （PLSF详细的配置方式请参见脉冲章节） 。 （2） 当工作台移动到A 点位置触碰到 X2 的上升边沿时， 立即执行外部中断I0000， 在外部中断I0000 中立即给寄存器 HD0赋值 K30000，工作台从 A 点开始以 30000Hz向 B 点移动。 （3）当工作台移动到B 点位置触碰到 X3 的上升边沿时，立即执行外部中断I0100，在外部中断I0100 中立即给寄存器 HD0赋值 K20000，工作台从 B点开始以 20000Hz向 C 点移动。 （4）当工作台移动到C 点位置触碰到 X4 的上升边沿时，立即执行外部中断I0200，在外部中断I0200 中立即关闭脉冲指令 PLSF的导通条件 M0，执行脉冲停止 STOP指令立即停止脉冲。 PLSF HD0 K1 Y0 SM2 DMOV K10000 HD0 M0 FEND I0000 IRET END STOP Y0 K1 SM0 DMOV K30000 HD0 IRET I0100 SM0 DMOV K20000 HD0 IRET I0200 SM0 ( R ) M0


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 402 6）例 2 下图是产品批量包装机械结构示意图，每检测到 30个产品，机械手就开始动作，同时停止传送带的 运行。当打包动作完成后，机械手和计数器均被复位。但是为了提高工作效率，工件传送带传送的速度 较快，传感器 X2每检测到一个工件导通的时间约为 8ms，PLC输入点的默认滤波时间为 10ms，所以通 过普通的计数器进行计数会导致大部分的工件无法检测到，我们可以通过外部中断来进行计数实现工件 计数功能。 产品批量包装机械结构示意图  元件说明 PLC 软元件 控制说明 X2 产品计数光电传感器，当检测到产品时，X2状态为 On X1 机械手动作完成传感器，当动作完成时，X1状态为 On C0 一般用 16位增计数器 Y0 包装机械手  控制程序 M0 X1 FEND I0000 IRET END RST C0 SM0 INC D0 Y0 （ ） M0 （ R ） Y0 （ R ） M0 （ S ） D0 K30 =  程序说明 （1）在外部中断 I0000中对 X2输入点进行计数，当计数达到 30个工件时，立即将线圈 M0置位。 （2）在主程序中，通过判断线圈 M0的状态，来控制输出点 Y0的输出。 （3）当机械手包装动作完成后，机械手动作完成传感器将被接通，X1由Off→On变化一次，RST指 令被执行，Y0 和C0 均被复位，同时关闭线圈M0，等待下一批产品的包装。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 403 10-4-2．定时中断 1）功能和动作 在主程序的执行周期很长的情况下，如果要处理特定的程序；或者在顺控扫描中，需要每隔一段时间 执行特定的程序时，定时中断功能非常适用。它可以不受可编程控制器的扫描周期的影响，每隔Nms执行 定时中断子程序。  定时中断默认是打开状态，定时中断子程序类似其他中断子程序，必须写在主程序之后，以I40xx 指 令开始，结束于 IRET。  一共有 20路定时中断，表示方法为：I40**~I59**。其中‘**’表示定时中断的时间，时基为 1ms或 100us。例如：时基为 1ms时，I4010表示每隔 10ms执行一次第 1 路定时中断。 2）中断序号 XD、XL全系列产品定时中断： 3）中断范围的限制  定时中断通常情况下是处于允许状态的。  用 EI、DI指令可以设置中断允许或禁止区间。如上图所示，在DI~EI区间，所有定时中断被禁止，在 DI~EI区间范围之外是允许的。 Y0 FEND I4010 INC D0 IRET X0 SM0 中断序号 中断禁止指令 中断序号 中断禁止指令 说明 I40** SM070 I50** SM080 “**” 表示定时中断的时间， 范围 1~99，时基可通过设置 SM98 进 行切换，SM98为 ON时，时基为 100us；SM98为 OFF时，时基为 1ms。 注意： （1）只有 I59**定时中断才支持 100us时基。 （2）时基选择功能仅固件版本 V3.4.6及以上 PLC支持。 I41** SM071 I51** SM081 I42** SM072 I52** SM082 I43** SM073 I53** SM083 I44** SM074 I54** SM084 I45** SM075 I55** SM085 I46** SM076 I56** SM086 I47** SM077 I57** SM087 I48** SM078 I58** SM088 I49** SM079 I59** SM089


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 404 4）中断禁止 FEND I4010 IRET DI EI EI SM070 FEND I4020 IRET END M0 中断许可 中断许可 中断禁止 中断程序 中 断 许 可 中 断 程 序  对于前 3 路定时中断，分别配有禁止中断的 特殊继电器（SM070~SM079）。  左图的程序示例中，如果用 M0 使 SM070 “ON” ，则禁止第0路的定时中断被禁止。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 405 10-5．SD 卡的读写 XD5（16点除外） 、XDM系列 PLC本体可扩展一个 SD卡用于数据的存储和备份，SD卡槽位于 PLC 的 CPU板上，使用时需掀开 BD盖板，再将 SD卡插入卡槽中。 PLC出厂时未安装 SD卡，用户需自备 MicroSD（TF卡） ，卡容量不能大于 32GB。 SD卡安装到 PLC上之前，请先使用读卡器在电脑上格式化为 FAT32格式。 注意： （1）以太网型 PLC不支持 SD卡。 （2）SD卡的使用与 PLC的部分通讯口有冲突。XD5-32/60、XD5/XDM-32T4/60T4与 COM4有冲突， XD5-60T6/T10、XDM-60T10与 COM4、COM5都有冲突。 10-5-1．文件内容及格式 SD卡支持 4种数据类型，分别是单字（W） 、双字（DW） 、浮点（Fm.n）和字符（Sx）。 如下图所示，Excel文件中的第一行为数据类型申明： 各类型数据范围及占用空间，见下表： 数据类型 W DW Fm.n(m<=15,n<=15) Sx(x<=16) 数据范围 -32768～32767 -2147483648～ 2147483647 -18446742974197923840～ 18446742974197923840 \ SD 卡中占用字符 数 6 11 m+1+n 2*x WORD 数 1 2 2 x 【注】 ： ※1：当数据实际长度小于存储在 SD 卡中占用字符数时，左起用空格补齐。如某单字数据为 454，小于 W 类型所占用的 6 个字符，因此左起补 6-3=3 个空格，实际占用为“∟∟∟454”（∟表示空格）。 ※2：当 Fm.n 为负数时，符号位“-”也占用一个字符，如定义的浮点类型为 F5.3，将数据“-12345.123” 写入 SD 卡后，将删除最低有效位，该数据将变成“-12345.12”。 ※3：字符 Sx 的 x 代表 word 长度，而非字符长度。 ※4：由于 Excel 里面不会显示出目前前面有多少个空格形式和后面的换行符，建议 SD 卡使用记事本来进 行编辑，看的更明确。 10-5-2．文件名及存放位置 SD卡支持存放“.csv”格式文件，这些文件必须存放在 SD卡的根目录下。 所有“.csv”文件必须以“dataxxx.csv”来命名， “xxx”为文件索引号，范围为 001~999，当 xxx小于 100 时，左起添 0补齐。如文件索引号为 1时，该文件正确的命名为“data001.csv”。 10-5-3．读写SD 卡 读写 SD卡指令在顺序功能块 BLOCK里，打开 BLOCK功能界面，插入“读写 SD模块” 。以下为读 写 SD卡指令介绍。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 406 1）读 SD 卡 在顺序功能块中添加一条读 SD卡指令，如下图所示： 上图中读 SD卡指令为：READSD D0 D10 D20 ，各参数功能含义如下： D0：文件索引号/列/行首地址，D0~D2分别表示文件索引号、列号、行号。 如上图数据监控所示，D0=1、D1=1，D2=2，表示： 文件索引号为 1：即文件名为 data001.csv； 列号为 1：第 1列； 行号为 2：第 2行（数据第 2行） 。 D10：读取数据的 WORD数。 如上图数据监控所示，D10=1，表示读取 1 WORD的数据。 D20：读取的数据存放在 PLC本体的首地址。 如上图数据监控所示，D20中读取到的数据为-32765。 因此，上图程序的具体含义是：读取SD卡根目录下文件名为 data001.csv的第 1 列、第 2行的 1 word 数据，并将读取到的数据保存在寄存器 D20中。 若列数为 0时，读取数据的 WORD数表示读取的行数。例如：D0=1、D1=0、D2=1、D10=5时，表示 从文件 data001.csv的第 1行开始读取 5行的数据存到 D20开始的寄存器中。 2）写 SD 卡 在顺序功能块中添加一条写 SD卡指令，如下图所示： 上图中写 SD卡指令为：WRITESD D30 D40 D50 ，各参数功能含义如下： D30：文件索引号/列/行首地址，D30~D32分别表示文件索引号、列号、行号。 如上图数据监控所示，D30=10、D1=1，D2=2，表示： 文件索引号为 10：即文件名为 data010.csv； 列号为 1：第 1列； 行号为 2：第 2行（数据第 2行） 。 D40：读取数据的 WORD数。 如上图数据监控所示，D40=3，表示写入 3 WORD的数据。 D50：写入的数据存在 PLC本体的首地址。 如上图数据监控所示，将 D50开始的寄存器数据写入到 SD卡中。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 407 因此，上图程序的具体含义是：将寄存器 D50 开始的 3 word 数据写入到 SD 卡根目录下文件名为 data010.csv的第 1列、第 2 行处。 若列数为 0 时，写入数据的 WORD 数表示写入的行数。例如：D30=2、D31=0、D32=3、D40=5 时， 表示将 D50开始的 5 行数据写入到 data002.csv的第 3~7行中。 10-5-4．注意事项 1）字符型中只支持可见字符（字母、数字），即ASCII 码表中[32,126]范围类的字符。 例外情况：  支持不可见字符中的结束符。  不支持可见字符中的“,”（逗号）。 2）CSV 文件限制  CSV文件里的列数不能超过 20列。  文件数据行所占字符不能超过 512个字符（包括逗号和换行符） 。 3）读写数据的WORD 数限制 一笔数据不能只读取其中一部分。 比如： 格式定义为w,dw,s8， 如果从第一列w开始读， 读取的WORD 数为 10，则S8不能完全读出来，程序将报错（正确的 WORD数为 3，或者11）。当程序判断参数有错时， 将不读写 SD卡。 4）创建 CSV 文件限制  若使用 windows 自带的记事本创建 CSV 文件，最后一行末尾必须换行，数据严格按照类型定义 （10-5-1节中的表格）来创建，如下图所示：  已有的 CSV文件，使用之前须使用 10-5-5 节的格式转换工具转换过之后才能使用。 5）读取过程限制 读取指令中，若指定的行数超过文件实际行数，程序报错。 6）写过程说明 在写指令中，若指定的行数超过文件实际行数时，将文件进行扩展。扩展过程中，按照列数据类型， 在相应的位置插入空格，留出固定的空间，以便以后插入数据。 注意：若写入行数大于文件实际行数时， 文件将进行扩展。 文件扩展速度很慢， 会影响PLC扫描周期， 导致看门狗触发。不建议这么使用。 7）SD 卡状态信息 可通过特殊寄存器 SD453查看 SD卡的状态信息，如下表所示： SD453 含义 出现的原因 0 操作成功 1 预留 2 预留 3 预留 4 读写的文件不存在 文件不存在


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 408 SD453 含义 出现的原因 5 读文件到末尾 到达文件末尾 6 正在读文件 有任务正在读文件 7 正在写文件 有任务正在写文件 8 读写错误 正在读写时拔出 SD卡 9 SD卡空间不足 SD卡空间不足 10 预留 11 FAT32错误 SD卡没有插好，或 SD卡没有格式成 FAT32 12 预留 13 预留 14 SD卡不能初始化 SD卡没有插好 15 预留 16 预留 17 预留 18 预留 19 检测不到 SD卡 SD卡未插入 20 读写参数错误 检查 index，row，line，wordcnt 21 读写的数据不符合格式定义 缺少数据类型定义 22 文件的数据类型错误 出现了 w,dw,Sn,Fx.y之外的类型定义 23 文件的数据类型不合定义 浮点、字符数据占字符数不合定义 24 非法的文件名 index>999 25 非法的列索引 列索引大于文件列数 26 非法行索引 行索引小于 1 27 非法的读写 word数 读写字数小于 1 28 非法的读写 word数 word数不能完全读出数据 29 文件数据行字符数超限 数据行字符超过 512字符 30 其他错误 10-5-5．使用案例 1）操作案例1：文档中的数据相同的格式 ① 新建一个 csv格式的表格，建议右键以记事本打开可以直观的看前面的占位符,命名为 data010.csv ② 针对每个数据类型都需要和字符数一一对应上，例如，写 dw 的双字整数，会占用 11 个字符，需 要写成 ∟∟∟∟∟∟∟∟∟11，∟代表一个空格符，如图所示： 注意：新建文件时需要在最后一个数字后面换行，并加上一个 11位的空格符（此处根据文件中数据 的实际类型给到，若是单字寄存器，则加上 7位的空格符） ，确保可以正确读到数据。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 409 ③ 指令写成如下图所示的形式： 读 SD卡指令 写 SD 卡指令 HD50/HD200-对应文件名中的 ID号，HD51-对应修改的列号，HD52-对应修改的行号， 给HD50值 10， HD51给值 1，HD52给值 1，即第一列第一行； HD60/HD210-对应总共需要读取的 WORD数量，需要总共修改了10个双字数据，每个双字数据占用 2 个 word，HD210填写 20，读数据同理； HD220-HD238对应需要写入 SD卡中的数据，例如前10个数据需要改成全部为 99的数据，读数据同 理； 导通指令之前建议先添加监控 SD453（SD卡报错信息），导通指令后SD453没有报错代码既是写入成 功。 ④ 再次打开 SD卡中的文件查看数据情况，目前 SD卡数据写入顺序按照第一列第一行->第二列第一 行->第三列第一行->第四列第一行->第一列第二行->第二列第二行->第三列第二行->第四列第二行->第一 列第三行->第二列第三行依次写入，如下图所示。 2）操作案例2：文档中的数据为不同的格式 ① 新建一个 csv格式的表格，建议右键以记事本打开可以直观的看前面的占位符，命名为 data006.csv ② 针对每个数据类型都需要和字符数一一对应上，例如，写 f4.2 的浮点数，需要写成 ∟∟∟1.10， ∟代表一个空格符，如图所示： w dw f2.2 s2 分别占用的字符数 6 11 5 4 注意：此处文件中的数据类型为不同格式，需要在最后一个数据后面加上换行即可。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 410 ③ 指令写成如下图所示的形式： 读 SD卡指令 写 SD 卡指令 HD0/HD100-对应文件名中的 ID号，即HD0中数据为 006，HD1-对应修改的列号，HD1中写 2，HD2- 对应修改的行号，HD2中写 1即第二列第一行； HD10/HD110-对应总共需要修改的 WORD 数量，需要修改 1 个双字数据，1 个浮点数数据和一个字 符，HD10填写 6，读数据同理，需要保持数据类型一致； w dw f2.2 s2 分别占用的 word数 1 2 2 2 HD120-HD124 对应需要写入 SD 卡中的数据，例如，文件中的，21，3.1，41 依次改成 28，3.8，48， HD120 的数据类型为双字，数值写 28，HD122 数据类型为浮点数，数值写 3.8， HD124 数据类型为字符 格式，数值写 48，读数据同理，需要保持数据类型一致； 导通指令之前建议先添加监控 SD453（D 卡报错信息），导通指令后 SD453 没有报错代码既是写入成 功。 ④ 再次打开 SD卡中的文件查看数据情况，目前 SD卡数据写入顺序按照第二列第一行->第三列第一 行->第四列第一行->依次写入，如下图所示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 411 10-6．多工位控制[MSC] 1）指令概述 根据触发输入抓取编码器数值，计算并保存每个工位工件的进入值和离开值，并根据存储的各工位各工件 的数值和编码器当前值比较，并将比较结果输出。 多工位控制[MSC] 16位指令 - 32位指令 MSC 执行条件 常开/闭线圈触发 适用机型 XD5、XDM、XDH、XD5E、XDME、XL5E、XL5N、XL5H、 XLME、XLH 固件要求 - 软件要求 - 2）操作数 操作数 作用 类型 S1 指定指令触发输入点的软元件地址编号 位 S2 指定高速计数器编号 32 位，BIN S3 指定工位与工件的数量、滤波时间的寄存器首地址编号 16 位，BIN S4 指定基准值与偏差值的寄存器首地址编号 32 位，BIN D1 指定存储索引值、比较值的寄存器首地址编号 16/32位，BIN D2 指定输出结果的软元件地址编号 位 3）适用软元件 操 作 数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m S1 ● S2 只能是 HSC S3 ● ● ● ● ● ● ● ● S4 ● ● ● ● ● ● ● ● D1 ● ● ● ● ● ● ● ● D2 ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 4）功能和动作 MSC X4 HSC0 HD0 X0 S1 S2 D2 HD10 D100 M0 D1S3 S4  S1：为指令触发输入点，可选用外部中断输入点或普通输入点，上升沿时和下降沿时触发指令，抓取 编码器数值。  S2：为配合使用的高速计数器的编号，用于编码器信号输入，高速计数方式为单相递增模式。  S3：连续占用 3个 16位寄存器（单字） ，用于设定工位数量、工件数量、滤波时间，建议使用断电保 持寄存器。具体寄存器分配如下：  S3：设定工位数量，记为 n，范围：1~100；  S3+1：设定最多可处理工件数量，记为 m，范围：1~64；  S3+2：设定滤波时间，范围：0~32767，单位：ms；此参数可用于防止机械抖动引起的误差。如 果滤波时间设为 0 则表示不滤波，小于 0 也按 0 处理。假设滤波时间设为 t，触发输入点为 X4， 则输入信号的抓取采用以下方式： 上升沿：X4 OFF状态维持至少 t毫秒后，检测到的第一个上升沿就是触发信号；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 412 下降沿：X4 ON状态维持至少 t毫秒后，检测到的第一个下降沿就是触发信号。  S4：连续占用 3n 个 32 位寄存器（双字） ，此处 n 为工位总数，用于设置每个工位的的基准值、工件 进入偏差值、工件离开偏差值，每个参数占用连续2 个寄存器，建议使用断电保持寄存器。具体寄存 器地址分配如下所示： 参数名称 工位1 工位2 …… 工位n 基准值（双字） S4 S4+2 …… S4+（n-1）×2 工件进入偏差值（双字） S4+2n S4+2n+2 …… S4+（2n-1）×2 工件离开偏差值（双字） S4+4n S4+4n+2 …… S4+（4n-1）×2  当某工位的基准值设为 0时，表示该工位不运作。  工件进入偏差值和工件离开偏差值主要用于位置校准，当实际使用时发现工件进入和离开对应工 位的编码器数值与设定不符时，可以通过调整工件进入偏差值和工件离开偏差值来进行校准。比 如，工位 1 的基准值设为 1000，表示工件在触发 X4 上升沿后再经过 1000 个高速计数值进入工 位 1 位置，如果实际使用时，工件只用了990个高速计数值就进入工位 1 位置时，就可以设定工 件进入偏差值为-10。  D1：连续占用 2n 个 16 位寄存器（单字） 、2m×n 个 32位寄存器（双字） ，此处 m为工件总数，n 为 工位总数，用于存储每个工位的工件前进索引值、 追随索引值、 每个工位的进入比较值、 离开比较值。 具体寄存器地址分配如下： 参数名称 工位1 工位2 …… 工位n 前进索引值（单字） D1 D1+1 …… D1+（n-1） 追随索引值（单字） D1+n D1+（n+1） …… D1+（2n-1） 工件1 进入比较值（双字） D1+2n D1+2n+2 …… D1+2n+2（n-1） 工件1 离开比较值（双字） D1+4n D1+4n+2 …… D1+4n+2（n-1） …… …… …… …… …… 工件m 进入比较值（双字） D1+4m×n-2n D1+4m×n-2n+2 …… D1+4m×n-2 工件m 离开比较值（双字） D1+4m×n D1+4m×n+2 …… D1+4m×n+2（n-1） 【注】：D1 占用存储区较大，请确认寄存器空间是否足够使用，若不足使用时，PLC 将只执行有效区域的数 据存储，并且不会产生报警和提示。  当某工位的进入比较值和离开比较值均为 0 时，表示该工位的比较动作不执行。  前进索引值在触发输入信号的每一次上升沿和下降沿时自动加1（如果滤波时间＞0，则等待滤波 时间后再加 1） ，而且采用循环累加方式，比如，工件最多处理数量m＝10 时，则前进索引值将 会以 0、1、2、3……19、0、1、2、3……19 循环（初始值为 0） 。由于上升沿和下降沿时前进索 引值都会加 1，且最后一工件离开触发信号时前进索引值会清零，即最大值到 19 后数值会变成 0，因此前进索引值最大为 2m-1。 【注】：前进索引值加 1 前会判断追随索引值，若加 1 后数值等于追随索引值，则记录此次的比较值 和不累加追随索引值。  追随索引值在工件进入工位、离开工位时均自动加 1。一般情况下，工件走完一个工位，对应工 位的追随索引值为偶数。  进入比较值在对应工件触发输入信号上升沿时，自动计算并存储到 D1 数据区，工位的进入比较 值一般为： 工件 m进入工位 n 的比较值＝工件 m的抓取计数值（上升沿时）+工位 n 的基准值+工位 n的工 件进入偏差值。  离开比较值在对应工件触发输入信号下降沿时，自动计算并存储到 D1 数据区，工位的离开比较 值一般为： 工件 m离开工位 n 的比较值＝工件 m的抓取计数值（下降沿时）+工位 n 的基准值+工位 n的工 件离开偏差值。  D2：连续占用n个线圈（对应n个工位数量） ，只能指定Y和 M线圈输出，用于判断对应工件是否进 入和离开工位。指令执行时，每个工位将依照追随索引值判断对应工件是否按照设定比较值进入和离 开工位，当对应工件的实时计数值≥进入比较值时，对应输出点置 ON，且追随索引值自动加1；当对


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 413 应工件的实时计数值≥离开比较值时，对应输出点置 OFF，且追随索引值自动加 1，但不会超过前进 索引值。  MSC指令没有使用次数限制， 但程序中如果需要使用同一个高数计数器， 则每条指令必须放在不同的 流程里，且每次只能执行一条指令。  指令执行前，请确认所使用的高速计数器是否溢出（可通过高速计数溢出标志位SM130等判断） ，并 做出相应的处理。  MSC的前置条件断开后再重新导通时，D1、D2存储区域内的数值将全部清 0 和置 OFF。  指令处理的基本流程如下所示： 开始 检测单元 检测 计算单元 计算单元 数据存储区 比较单元 工位1 比较 输出 不输出 进入值 相等 离开值 相等 比较单元 工位2 比较单元 工位n 比较 输出 不输出 进入值 相等 离开值 相等 比较 输出 不输出 进入值 相等 离开值 相等 上升沿 下降沿 注意： （1）当 MSC指令中工位数或工件数给定参数为 0或超限时会导致 PLC报错（指令无报错） ，此时需 将指令导通条件断开，并将 PLC 停止运行以保证 PLC 处于安全停止状态，再重新启动 PLC，确保指令参 数正确情况下，才能正常运行此指令。 （2）当工件给进过快时会导致报错：MSC 多工位控制工件给进过快。例如：一条流水线，只设定了 三个工位，但是第 1个工件还没加工完，流水线上给进了第二个、第三个工件，到检测到第四个工件到来 的时候这个时候出现此报错。 （3）在出现 MSC多工位控制工件给进过快时，可能会导致只生成了进入比较值，而没有生成离开比 较值，进而出现工件在离开工位后输出线圈一直保持 ON状态的情况。 （4）运行过程中修改相应工位的偏差值实时生效。 5）程序举例 例：现有 5个工件需要经过 3个工位进行加工，触发输入信号为 X4，编码器信号输入点为 X0（对应 高速计数器为 HSC0） ，每个工件的宽度为100，工件间的距离为 1500，工位 1距离 X4为 1000，工位 2距 离 X4为 2000，工位 3距离 X4为 4000。 …… 工位1 工位2 工位3 X4 工件1工件2工件5 1000 2000 4000 1001500 程序如下： MSC X4 HSC0 HD0 X0 HD10 HD100 M10


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
10 特殊功能指令 XD/XL 系列可编程控制器用户手册［基本指令篇］ 414 软元件说明： 软元件地址 功能说明 X4 触发输入点 HSC0 高速计数输入点，接收编码器信号 HD0 工位数，这里应为 3 HD1 最大可处理工件数，这里设为 4 HD2 滤波时间，可设为 300（即 300ms） HD10（双字） 工位 1的基准值，这里应为 1000 HD12（双字） 工位 2的基准值，这里应为 2000 HD14（双字） 工位 3的基准值，这里应为 4000 HD16（双字） 工位 1的工件进入偏差值，设为 0 HD18（双字） 工位 2的工件进入偏差值，设为 0 HD20（双字） 工位 3的工件进入偏差值，设为 0 HD22（双字） 工位 1的工件离开偏差值，设为 0 HD24（双字） 工位 2的工件离开偏差值，设为 0 HD26（双字） 工位 3的工件离开偏差值，设为 0 输出结果地址分配： 参数名称 工位 1 工位2 工位 3 前进索引值（单字） HD100 HD101 HD102 追随索引值（单字） HD103 HD104 HD105 工件1 进入比较值（双字） HD106 HD108 HD110 工件1 离开比较值（双字） HD112 HD114 HD116 工件2 进入比较值（双字） HD118 HD120 HD122 工件2 离开比较值（双字） HD124 HD126 HD128 工件3 进入比较值（双字） HD130 HD132 HD134 工件3 离开比较值（双字） HD136 HD138 HD140 工件4 进入比较值（双字） HD142 HD144 HD146 工件4 离开比较值（双字） HD148 HD150 HD152 输出标志 M10 M11 M12 工件 1到工位 1程序执行流程如下图，其他工件工位执行流程以此类推： 开始 触发检测信 号X4 检测 前进索引值 HD100=1 前进索引值 HD100=2 工件1在工位1中 M10=ON 工件1移动中 工件1触发X4上升沿 工件1触发X4下降沿 记录数值到 工件1工位1进入比较值HD106 工件1工位2进入比较值HD108 工件1工位3进入比较值HD110中 记录数值到 工件1工位1离开比较值HD112 工件1工位2离开比较值HD114 工件1工位3离开比较值HD116中 工位1比较单元 （HSCD0与HD106和HD112 数值比较） HD106 HSCD0 HD11 2 HD112 HSCD0 工件1离开工位1 M10=OFF


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 10 特殊功能指令 415 程序执行结果： 假设工件 1触发 X4上升沿时的高速计数值为 1000，则各工位的前进索引值、追随索引值、工件进入 比较值、工件离开比较值如下表所示： 参数名称 工位1 工位2 工位 3 工件 1 前进索引值 X4上升沿：HD100=1 X4上升沿：HD101=1 X4上升沿：HD102=1 X4下降沿：HD100=2 X4下降沿：HD101=2 X4下降沿：HD102=2 追随索引值 M10上升沿：HD103=1 M11上升沿：HD104=1 M12 上升沿：HD105=1 M10下降沿：HD103=2 M11下降沿：HD104=2 M12 下降沿：HD105=2 进入比较值 HD106=2000 HD108=3000 HD110=5000 离开比较值 HD112=2100 HD114=3100 HD116=5100 工件 2 前进索引值 X4上升沿：HD100=3 X4上升沿：HD101=3 X4上升沿：HD102=3 X4下降沿：HD100=4 X4下降沿：HD101=4 X4下降沿：HD102=4 追随索引值 M10上升沿：HD103=3 M11上升沿：HD104=3 M12 上升沿：HD105=3 M10下降沿：HD103=4 M11下降沿：HD104=4 M12 下降沿：HD105=4 进入比较值 HD118=3600 HD120=4600 HD122=6600 离开比较值 HD124=3700 HD126=4700 HD128=6700 工件 3 前进索引值 X4上升沿：HD100=5 X4上升沿：HD101=5 X4上升沿：HD102=5 X4下降沿：HD100=6 X4下降沿：HD101=6 X4下降沿：HD102=6 追随索引值 M10上升沿：HD103=5 M11上升沿：HD104=5 M12 上升沿：HD105=5 M10下降沿：HD103=6 M11下降沿：HD104=6 M12 下降沿：HD105=6 进入比较值 HD130=5200 HD132=6200 HD134=8200 离开比较值 HD136=5300 HD138=6300 HD140=8300 工件 4 前进索引值 X4上升沿：HD100=7 X4上升沿：HD101=7 X4上升沿：HD102=7 X4下降沿：HD100=0 X4下降沿：HD101=0 X4下降沿：HD102=0 追随索引值 M10上升沿：HD103=7 M11上升沿：HD104=7 M12 上升沿：HD105=7 M10下降沿：HD103=0 M11下降沿：HD104=0 M12 下降沿：HD105=0 进入比较值 HD142=6800 HD144=7800 HD146=9800 离开比较值 HD148=6900 HD150=7900 HD152=9900 工件 5 前进索引值 X4上升沿：HD100=1 X4上升沿：HD101=1 X4上升沿：HD102=1 X4下降沿：HD100=2 X4下降沿：HD101=2 X4下降沿：HD102=2 追随索引值 M10上升沿：HD103=1 M11上升沿：HD104=1 M12 上升沿：HD105=1 M10下降沿：HD103=2 M11下降沿：HD104=2 M12 下降沿：HD105=2 进入比较值 HD106=8400 HD108=9400 HD110=11400 离开比较值 HD112=8500 HD114=9500 HD116=11500 注意：X0一旦断开再重新导通时，上表中的数据将全部被清 0。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 416 11 结构化文本 ST 11-1. ST 编辑功能 11-1-1. 编辑界面显示 文本编辑器界面显示如下，以颜色区分不同字符，具有错误标识、浮框提示。 11-1-2. 快捷输入 11-1-2-1. 智能提示 1）输入提示 在 ST编辑器中支持根据文本中输入字符逐字匹配相关内容，默认在输入处下方提示相关的变量、关 键字、POU等信息。 2）POU 参数提示 调用功能、功能块并输入用于输入 POU参数的左圆括号，默认在输入处下方显示参数提示框，提示 POU中参数类别、名称、类型、注释。参数提示框一直显示，直至输入右圆括号或触发ESC退出或将光 标移动至当前输入之外位置，关闭提示窗口。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 417 注意： （1）输入提示和参数提示同时存在情况下，输入提示在输入处下方显示，参数提示在输入处上方显 示； （2）提示窗口默认在输入行下面显示；若输入为可视界面最后一行，则提示窗口在输入处上方显示。 11-1-2-2. 代码补全 支持 Tab键自动补全语句： 对功能、功能块、功能块实例自动格式化补全输入、输出参数；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 418 对 IF、CASE、FOR、WHILE、REPEA T语句自动格式化补全。 注意：Tab键快捷输入，当前行开始到光标位置为整体作为关键字，如果不匹配，则认为输入 Tab制 表符号。 11-1-2-3. 变量声明 在 ST 编辑界面支持以下三种方式注册变量：  支持界面图标注册变量，如下图：  在 ST语句相应输入位置，输入符合变量命名规范的字符，触发enter后弹出自动声明窗口，一次 性声明多个变量。  光标停留在相应符合变量命名规范的字符，右键菜单—[注册到变量表]或快捷键“Ctrl+Shift+I”， 弹出 自动声明窗口。 注意： （1）上述操作仅针对未定义且符合命名规范的字符。若已定义变量或不符合命名规范的字符则不会 出现注册变量图标，不会换行自动声明； （2）注册变量类型默认为 int，需要分析语句，确定声明变量的类型。例如：abc := 123.456; 自动声明 变量时，abc类型为 real。其余参数类别、对象等信息参考梯形图编辑器规则； （3）输入 FB类型，支持上述三种方式，注册实例。 11-1-3. 错误检测 文本中输入代码时，自动执行代码检查，即检查语法，并对错误语句下方标注“ ”进行提示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 419 不同错误以显示“ ”颜色区分，具体含义如下表： 波浪线颜色 错误含义 红色 语法错误 蓝色 语义错误 绿色 警告 紫色 其他类型错误 触发“编译”按钮、下载程序对当前活动窗口中 ST 语句进行词法、语法、语义分析。文本中标识错 误代码，信息窗口输出警告、错误信息。 双击信息直接跳转至文本中相应错误处。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 420 11-1-4 其他操作 11-1-4-1. 基础操作 1）光标跳转 软件支持以下三种方式实现 ST编辑器中光标移动：  鼠标左击定位光标；  键盘中“↑↓←→”键，移动光标停留位置；  鼠标光标停留在某处，按“Home”键光标会跳到行首，按 End键光标会跳到行尾。 2）选择 支持连续选择、选中字符、选中行、全选四种选择方式：  连续选择： 确认选中起始地方，放置光标并按住鼠标左键，向左或右滚动鼠标滚轮，连续选中ST语句： 确认选中起始地方，放置光标，按住“Shift” ，再点击结束地方，可快速选中中间区域。  选中字符：鼠标光标停留再某处，左键单击。选中光标后的操作数或操作符号。选中内容以空格 或操作数/操作符作划分。  选中行：单击行编号区域，选中该行。按住“Shift” ，连续选中多行。  全选：快捷键“Ctrl+A” ，选中当前编辑窗口中所有内容。 3）复制语句 单选或多选 ST语句后，可通过工程菜单栏、右键菜单或快捷键“Ctrl+C”复制程序段 4）粘贴语句 支持通过工程菜单栏、右键菜单或快捷键“Ctrl+V”粘贴语句到光标停留位置。粘贴完成后，光标跳 转至粘贴语句的最后。 5）剪切语句 单选或多选 ST语句后，可通过工程菜单单栏、右键菜单或快捷键“Ctrl+X”剪切选中的 ST语句，剪 切完成后行号重新排序，光标停留在被剪切区域起始位置。 6）删除语句 单选或多选 ST语句后，可通过工程菜单单栏、右键菜单或快捷键“Delete”删除选中的 ST语句，删 除完成后行号重新排序，光标停留在被删除区域起始位置。 7）撤销/重做 撤销，撤销上一步操作；重做，即恢复被撤销的上一步操作。 撤销、重做记录最多保留 10步。 8）自动缩进 ST 编辑器支持以下三种缩进方式：  当前行存在关键字，换行后自动增加 Tab字符（四字符）缩进；  当前行不存在关键字，换行后和上行同缩进；  点击“格式化/整理代码”按钮对当前窗口执行缩进调整。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 421 9）代码注释 ST 编辑器支持以下两种注释方法：  单行注释：用“//”表示；  多行注释：用“ （*”开始，用“*） ”结束 支持通过以下两种方式注释代码：  文本中输入注释符号；  变量声明区中工具栏“切换行注释”或右键菜单或快捷键“Ctrl+K”。 10）查找替换 支持通过菜单栏或快捷键“Ctrl+F” 、 “Ctrl+R”打开查找、替换弹窗，在查找、替换弹窗面板中显示查 找内容行和列，支持双击内容定位具体位置。 11）整理代码 触发“格式化/整理代码”按钮对当前活动窗口中 ST语句进行格式化：  对缩进进行处理；  将 ST关键字语句（IF，CASE 等）转换为大写。 12）缩放显示 ST 支持缩放显示，默认 100%，支持范围 50%-300%，每次调整按照 10%比例。支持以下两种方式：  按住快捷键 Ctrl，鼠标滚轮放大缩小当前活动窗口可视界面；  工具栏放大缩小工具。 11-1-4-2. 折叠/展开 ST 编辑器中以下三类代码块的展开/折叠操作：  ST 关键字折叠：覆盖 V AR、V AR_INPUT、V AR_OUTPUT、V AR_IN_OUT、V AR_GLOBAL、 V AR_TEMP、CASE、FOR、REPEA T、IF/ELSE/ELSIF、WHILE、STRUCT 等关键字对应的代码 块。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 422  POU参数换行折叠：对 POU 参数列表按换行形式进行折叠，简化参数区域的视觉呈现。  自定义代码块折叠：通过REGION和 END_REGION标记自定义折叠区域，实现指定代码块的展 开/折叠。 注： ①：REGION必须与 END_REGION成对使用； ②：所有指令必须在一个区间内完成； ③：REGION 可与 IF/CASE 等语句配合组织代码结构，但仅在编辑器中显示，不参与程序执行； ④：支持嵌套。 折叠/展开操作如下：  鼠标单击轮廓视图区域的折叠方块，折叠展开；  右键菜单全部折叠/全部展开或快捷键“Alt+0”/“Alt+Shift+0”。 11-1-4-3. 切换书签 选择行后，可通过工程菜单栏或右键菜单或快捷键添加/删除书签，具体支持操作如下：  “切换书签”命令设置或删除当前位置书签；  “上/下一个书签”命令跳转到当前活动编辑器的上/下一个书签；  “清除活动窗口书签” 命令删除当前活动编辑器中的所有书签， “清除全部书签” 命令删除当前工 程中的所有书签


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 423 11-1-4-4. 跳转 可通过工程菜单栏、 右键菜单或快捷键打开跳转窗口， 输入行号后触发 “跳转” 或enter， 即跳转至行。 若指定行号不存在，则不做跳转。 11-1-5. ST 编辑快捷键 快捷键 说明 快捷键 说明 Ctrl+Shift+I 注册变量 Alt+0 全部折叠 Ctrl+Shift+D 转到定义 Alt+Shift+0 全部展开 Ctrl+X 剪切 Ctrl+ F 查找 Ctrl+C 复制 Ctrl+ R 替换 Ctrl+V 粘贴 Enter 跳转 Delete 删除 Ctrl+K 切换行注释 Ctrl+Z 撤销 Ctrl+Shift+M 切换书签 Ctrl+Y 重做 Ctrl+Shift+5 上一个书签 Tab 代码补全 Ctrl+Shift+6 下一个书签


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 424 11-2. ST 基础操作符 11-2-1. 取余 1）操作符概述 变量或常量相除取余，结果为两数相除后的余数，是一个整型数据。 操作符 名称 ST 句法 MOD 取余 <OUT> := <IN1> MOD <IN2>...; 2）操作数 适用变量 操作数 描述 输入/输出 数据类型 IN1 被除值 输入 SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULINT及其指针 IN2 除值 输入 SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULINT及其指针 OUT 余数 返回值 SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULINT及其指针 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m IN1 ● ● ● ● ● ● ● ● ● ● IN2 ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 3）功能说明  计算用被除值“IN1”除以除值“IN2”得到的余数。 4）注意事项  “IN1”、“IN2”及余数“OUT”的数据类型不同亦可，支持隐式转换。此时，应以包含所有数据的 数据类型进行运算处理。例如，“IN1”为 INT型、“IN2”为 DINT型时，应以 DINT型进行运算处 理。所以，取余结果为 DINT型；  不同数据类型，不满足隐式转换规则的变量取余，语句报错；  BOOL、BIT类型变量，位元件限制进行取余运算，软件报错。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 425 11-2-2. 指数 1）指令概述 计算两个实数的乘幂。 操作符 名称 ST 句法 ** 乘幂运算 <OUT> := <IN1> ** <IN2>...; 2）操作数 适用变量 操作数 描述 输入/输出 数据类型 IN1 被乘幂数 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LRESL/B YTE/WORD/DWORD IN2 乘幂次数 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LRESL/B YTE/WORD/DWORD、元件、常数 OUT 运算结果 返回值 浮点类型 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m IN1 ● ● ● ● ● ● ● ● ● ● IN2 ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 3）功能说明  用被乘幂数“IN1”和乘幂次数“IN2”计算〖IN1〗^IN2的值。 4）注意事项  输入类型为 SINT/INT/USINT/UINT/REAL/BYTE/WORD，则运算结果类型为 REAL。输入类型为 DINT/UDINT/LREAL/DWORD，则运算结果类型为 LREAL。输入 ULINT/LINT/LWORD类型，语句 报错。  运算结果的绝对值小于实数可表现的最小值时，“OUT”的值为 0。  BOOL、BIT类型变量，位元件限制进行指数运算，软件报错。  根据输入值“IN1”、“IN2”组合不同，“OUT”的值如下所示： "IN1" +∞ 1~+∞ 1 0~1 0 -1~0 -1 -1~-∞ 0 非数值 “In2” +∞ +∞ +∞ 1 0 0 0 1 +∞ +∞ 非数字 正偶数 +∞ 数值(*1)(*2) 0 数值(*1)(*2) +∞ 非数字 正奇数 数值(*2)(*3) -∞ 正小数 非数字 +∞ 0 1 1 1 1 1 1 负偶数 0 数值(*1)(*2) +∞/- ∞ 数值(*1)(*2) 0 非数字 负奇数 数值(*2)(*3) 负小数 非数字 0 0 0 1 +∞ +∞ +∞ 1 0 0 非数字 非数值 非数字 非数字 非数字 非数字 非数字 非数字


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 426 【注】 ： *1：运算结果超出“OUT”的数据类型有效范围时，“OUT”的值为+∞。 *2：运算结果无限接近 0、已无法用“OUT”的数据类型表现，或非标准化数时，“OUT”的值为 0。 *3：运算结果超出“OUT”的数据类型有效范围时，“OUT”的值为+∞。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果 11-2-3. 数据类型大小 1）操作符概述 获取数据在内存中所占用的存储空间，以字节为单位来计数。 操作符 名称 ST 句法 SIZEOF 计算数据类型大小 <OUT> := SIZEOF(<IN>); 2）操作数 适用变量 操作数 描述 输入/输出 数据类型 IN 输入值 输入 BIT/BOOL/SINT/USINT/INT/UINT/DINT/UDINT/LINT/U LINT/REAL/LREAL/BYTE/WORD/DWORD/LWORD、数 组、结构体、FB、指针、元件 OUT 运算结果 返回值 UDINT 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 3）功能说明 计算变量名称或数据类型在CPU内存中所占用存储空间。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 427 4）程序示例说明 项目 说明 变量定义 程序示例 运行结果 11-2-4. 与、或、异或、取反 1）指令概述 按位进行运算（AND&：与运算；XOR：异或运算；OR：或运算；NOT：取反）。 操作符 名称 ST 句法 AND或& 按位与 <OUT> := IN1 AND IN2...; XOR 按位异或 <OUT> := IN1 XOR IN2...; OR 按位或 <OUT> := IN1 OR IN2...; NOT 按位取反 <OUT> := NOT IN1; 2）操作数 适用变量 操作数 描述 输入/输出 数据类型 IN1~INn 运算对象 输入 整形,BIT,BOOL OUT 运算结果 返回值 对应输入类型 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● 注：D 表示 D、HD；TD 表示 TD、HTD、ETD；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表 示 DS、DHS；DT 表示 DT、DHT；DC 表示 DC、DHC。M 表示 M、HM、SM；S 表示 S、HS；T 表示 T、HT、ET； C 表示 C、HC、HSC。 3）功能说明  AND&：对输入“IN1”~“INn”对应的位进行与运算。  XOR：对输入“IN1”~“INn”对应的位进行异或运算。  OR：对输入“IN1”~“INn”对应的位进行或运算。  NOT：对输入“IN1”~“INn”对应的位进行取反运算。 4）注意事项  “IN1”～“INn”的数据类型不同亦可，支持隐式转换。此时，应以包含所有数据的数据类型进行运 算处理。例如，“IN1”为 INT型、“IN2”为 DINT型时，应以 DINT型进行运算处理。所以，预算


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 428 结果为 DINT型。  BIT、BOOL类型仅支持与 BIT、BOOL类型或位元件或常数（0、1、TRUE、FALSE）进行运算，其 余类型或数据报错。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 429 11-3. ST 基础语句 指令类型 指令语句 赋值语句 := 功能块/函数调用 功能块/函数调名(); 选择语句 IF CASE 迭代语句 FOR WHILE REPEAT 跳转语句 EXIT CONTINUE JMP 返回语句 RETURN NULL 语句 ; 11-3-1. 赋值语句 1）语句概述 赋值语句是是结构化文本中最常用的语句之一，作用是将其右侧的表达式产生的值赋给左侧的操作数 （变量或地址） 。 2）语句结构 赋值语句使用“:=”表示，具体格式参考如下： <变量>:=<表达式>; 3）程序示例 类型 程序示例 单赋值运算 a := b; a := a+b; a := 10; a := D0; M0 := TRUE; 多赋值运算 a := b := c; 组合赋值运算 a += b 等同于 a := a + b; a -= b 等同于 a := a - b; a *= b 等同于 a := a * b; a /= b 等同于 a := a / b; 4）注意事项  在<变量>中支持字元件、位元件、变量。 <表达式>中支持字元件、位元件、变量、常量、表达式。  若操作数是多元素变量并且具有相同数据类型，则左边变量的所有元素的值被右边表达式对应的元素 值替代。  赋值运算的数据类型取决于左边变量的数据类型，右边表达式可被隐式转换。若类型不匹配，则在输 入时实时检查报错。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 430 11-3-2. 函数及功能块调用 1）语句概述 功能块调用采用将功能块名进行实例化实现调用，具体格式如下： 功能块实例名(功能块参数); 如果需要在 ST 中调用功能块，可直接输入功能块的实例名称，并在随后的括号中给功能块的各参数 分配数值或变量，参数之间以逗号隔开；功能块调用以分号结束。 例：在结构化文本中调用功能块（FB）TMR_FB，将设其实例名为 TMR_FB_1，具体实现如下图： 11-3-3. 返回语句 1）语句概述 返回语句，即 RETURN 语句的作用是使其后续的所有代码均终止执行。RETURN 常配合条件判断使 用，用于异常处理（如除 0、参数非法）或提前终止无效计算。 2）语句结构 具体格式如下： RETURN; 3）语句示例 利用 RETURN 语句实现除 0 检查，当除数为 0 时，FB_Divide 变量输出 9999.0；当除数非 0 时， FB_Divide变量输出除法运算结果。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 431 11-3-4. 选择语句 11-3-4-1. IF 语句 1）IF 语句 用 IF语句实现单分支选择结构，基本格式如下： IF <布尔表达式> THEN <语句内容>; END_IF; 如果使用上述格式，只有当<布尔表达式>为 TRUE时，才执行语句内容，否则不执行IF语句的<语句 内容> 。语句内容可以为一条语句或者可以为空语句，也可以并列多条语句，该语句表达式执行流程图如 下图： 布尔表达式 语句内容 TRUE FALSE 程序举例： 2）IF …ELSE 语句 用 IF语句实现双分支选择机构，基本格式如下： IF <布尔表达式> THEN <语句内容 1>; ELSE <语句内容 2>; END_IF;


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 432 如上表达式先判断<布尔表达式>内的值，如果为 TRUE，则执行<语句内容 1>，如为 FALSE，则执行 <语句内容 2>，程序执行流程图如下图： 布尔表达式 语句内容1 TRUE FALSE 语句内容2 程序举例： 定义两个 BOOL变量， 分别名为V AR1、V AR2，当V AR1变量为 TRUE时， 将V AR2变量置为 TRUE； 若 V AR1变量为 FALSE，则将 V AR2变量置为 FALSE。 当程序的条件判断式不止一个时，此时，需要再一个嵌套的 IF …ELSE语句，即多分支选择结构，基 本格式如下： IF <布尔表达式 1> THEN IF <布尔表达式 2> THEN <语句内容 1>; ELSE <语句内容 2>; END_IF; ELSE <语句内容 3>; END_IF; 参考上述说明，在 IF …ELSE中嵌套一个 IF …ELSE语句，实现嵌套。 如上表达式先判断<布尔表达式 1>内的值，如果为 TRUE，则继续判断<布尔表达式 2>的值，如果<布 尔表达式 1>的值为 FALSE， 则执行<语句内容 3>， 回到<布尔表达式 2>判断， 如果<布尔表达式 2>为TRUE， 则执行<语句内容 1>，反之则执行<语句内容 2>。 3）IF..ELSIF..ELSE 语句 此外，多分支选择结构还能通过如下方式来呈现。具体格式如下


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 433 IF <布尔表达式 1> THEN <语句内容 1>; ELSIF <布尔表达式 2> THEN <语句内容 2>; ELSIF <布尔表达式 3> THEN <语句内容 3>; . . . . . . ELSE <语句内容 n>； END_IF; 如果表达式为 TRUE，那么只执行指令，不执行其它指令。否则，从表达式开始进行判断，直到其中 的一个布尔表达式为 TRUE， 然后执行与此布尔表达式对应语句内容。 如果布尔表达式的值都不为TRUE， 则只执行指令，程序执行流程图如下： 布尔表达式1 语句内容1 TRUE FALSE 布尔表达式2 FALSE 布尔表达式3 FALSE 语句内容N语句内容3语句内容2 TRUE TRUE 11-3-4-2. CASE 多方向分支语句 1）语句概述 CASE语句是多分支选择语句，他根据表达式的值来使程序从多个分支中选择一个用于执行的分支。 2）语句结构 CASE<整数式>OF <整数式的值 1>:<语句内容 1>; <整数式的值 2>:<语句内容 2>; <整数式的值 3, 整数式的值 5>:<语句内容 3>; <整数式的值 6 .. 整数式的值 10>: <语句内容 4>; ... <整数式的值 n>: <语句内容 n>; ELSE <ELSE 语句内容>; END_CASE;


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 434 语句执行流程：  如果<整数式>的值为<整数式的值 i>，则执行指令<语句内容 i>；  如果<条件变量>没有任何指定的值，则执行指令<ELSE语句内容>；  如果条件变量的几个值都需要执行相同的指令，那么可以把几个值相继写在一起，并且用逗号分 开。这样，共同的指令被执行，如上程序第四行；  如果需要条件变量在一定的范围内执行相同的指令，可以通过写入初、终值，以两个点分开。这 样，共同的指令被执行，如上述程序第五行。 流程展示： 条件变量 数值3、5 语句内容3语句内容2语句内容1 语句 内容n语句 内容4 数值1 数值2 数值6~10 数值n 3）程序示例 4）注意事项  在<整数式>中支持字元件、整数型变量、整数式（a+b）。  在<整数式的值 n >中指定多个整数的 OR逻辑时，数值用“,”分隔；在<整数式的值 n >中指定连续的 整数时，开始整数和结束整数之间以“..”分隔。  CASE必须与 END_CASE成对使用。  ELSE语句可省略。  END_CASE后可以省略分号。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 435 11-3-5. 迭代语句 11-3-5-1. FOR 循环 1）语句概述 FOR循环语句用于计算一个初始化序列，当某个条件为TRUE时，重复执行嵌套语句并计算一个迭代 表达式序列，如果为 FALSE，则终止循环。 2）语句结构 具体格式如下： FOR <控制变量> := <初始值> TO <目标值> BY <步长>DO <语句内容>； END_FOR; 3）执行流程  计算<控制变量>是否在<初始值>与<目标值>的范围内；  当<控制变量>小于<目标值>，执行<语句内容>；  当<控制变量>大于<目标值>，则不会执行<语句内容>；  当每次执行<语句内容>时，<控制变量>总是按照指定的步长增加其值。步长可以是任意的整数值。如 果不指定步长，则其缺省值是 1；  当<变量>大于<目标值>时，退出循环。 4）语句示例 利用 FOR循环实现将 0-99依次赋值给 A[100]的数值成员。 5)注意事项  <控制变量>支持字元件、整数型变量。<初始值> 、<目标值>、<增减值>支持字元件、整数型变量、 整数式（a+b） ，其类型取决于左边变量的数据类型，支持隐式转换。若类型不匹配，则在输入时实时 检查报错。  <步长>支持负值。  BY<增减值>可省略，省略时，BY作为 1执行。  <反复变量>数据超出<终值> ，则不执行语句。  如果<目标值>等于<变量>的极限值，则会进入死循环，故不能对<目标值>设极限值。  FOR必须与 END_FOR成对使用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 436 11-3-5-2. WHILE 循环 1）语句概述 WHILE 循环的结束条件可以是任意的逻辑表达式，即可以指定一个条件，当满足该条件时，执行循 环。 2）语句结构 具体格式如下： WHILE < 布尔表达式 > DO < 语句内容 > ; END_WHILE; 3）执行流程  计算<布尔表达式>的返回值；  当<布尔表达式>的值为 TRUE时，重复执行<语句内容>；  当<布尔表达式>初始值为 FALSE，那么指令<语句内容>不会被执行，跳转至 WHILE语句的结尾。 布尔表达式 语句 TRUE FALSE 4）语句示例 利用 WHILE循环实现将 1~10累加，赋值到V AR2变量（V AR1、V AR2变量不保持，初值默认为0）。 5）注意事项  <布尔表达式>支持位元件、BIT/BOOL型变量、BOOL型表达式。  如果<布尔表达式>的值始终为 TRUE，那么将会产生死循环，应当避免死循环的产生。  WHILE必须与 END_WHILE成对使用。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 437 11-3-5-3. REPEAT 循环 1）语句概述 执行某语句，在某条件式变为真前，重复该语句。 2）语句结构 具体格式如下： REPEAT < 语句 >; UNTIL < 布尔表达式 > END_REPEAT; 3）执行流程 REPEAT循环的执行顺序如下：  当<布尔表达式>的值为 FALSE时，执行<语句内容>；  当<布尔表达式>的值为 TRUE时，停止执行<语句内容>；  第一次执行<语句内容>后，如果<布尔表达式>的值为 TRUE，那么<语句内容>只被执行一次。 语句 布尔表达式 FALSE TRUE 4）语句示例 利用 REPEAT循环实现当 M0 由 OFF 变为 ON 的瞬间，将 1~10 累加，赋值到 V AR2变量（V AR1、 VAR2 变量不保持，初值默认为 0）。 5）注意事项  < 布尔表达式 >支持位元件、BIT/BOOL型变量、BOOL型表达式；  REPEAT必须与 END_REPEAT成对使用；  END_REPEA T后可省略分号；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 438  REPEAT循环与 WHILE 循环不同，因为只有在指令执行以后，REPEAT循环才检查结束条件。这就 意味着使用 REPEA T循环时无论结束条件怎样，循环至少执行一次。 11-3-5-4. EXIT 中断当前循环 1）语句概述 在循环语句（FOR语句、WHILE语句、REPEA T语句）条件满足前终止循环。 2）语句结构 具体格式如下： EXIT; 3）语句示例  如果在整个循环过程中 CON 一直为假，那么 SUM的最终值将是 6（每次循环 SUM被加 1两次，共 3 次循环） 。  如果 CON 在某次循环中为真，那么在那次循环中 SUM 只会被加 1 一次（因为 EXIT 会立即退出循 环） ，后续的SUM := SUM +1;语句不会执行，循环也会提前结束。最终SUM的值将取决于 CON为真 的那次循环的 A值：  如果 CON在 A=1 时为真，SUM的最终值将是 1。  如果 CON在 A=2 时为真，SUM的最终值将是 3。  如果 CON在 A=3 时为真，SUM的最终值将是 5。 4）注意事项  循环嵌套时，EXIT退出相应层的循环。 11-3-5-5. CONTINUE 退出循环 1）语句概述 CONTINUE 语句的作用是跳过当前循环的剩余部分，忽略位于它后面的代码而直接开始一次新的循 环。 当多个循环嵌套时，CONTINUE语句只能使直接包含它的循环语句开始一次新的循环， 具体格式如下。 2）语句结构 具体格式如下： CONTINUE;


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 439 3）语句示例  如果在整个循环过程中 CON 一直为假，那么 SUM 的最终值将是 6（每次循环 SUM被加 1 两次，共 3 次循环） 。  如果 CON在某次循环中为真，那么在那次循环中SUM只会被加 1 一次（因为 CONTINUE会跳过后 面的加 1 操作） ，最终SUM的值会小于 6。具体值取决于 CON为真的次数和位置。  若 CON变量一直为真，那么循环会直接跳过后面的SUM := SUM +1;语句，进入下一次循环，即仅执 行前面的 SUM := SUM +1;语句，最终结果为 3。 4）注意事项  当多个循环嵌套时，CONTINUE语句只能使直接包含它的循环语句开始一次新的循环。 11-2-5-6. JMP 跳转 1）语句概述 在循环语句（FOR语句、WHILE语句、REPEA T语句）条件满足前忽略本次循环，直接执行下一次循 环。 2）语句结构 具体格式如下： JMP < 标签 >; < 标签 >:< 语句 >; 3）语句示例 利用 JMP语句实现 10个 1累加。 4）注意事项  为保证代码的可读性和可靠性，通常情况下，应该避免使用JMP跳转指令。  文本中跳转标签未作用时 ，则编译警告。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 440 11-4. ST 基础指令 11-4-1. 数据转换指令 11-4-1-1. <数据类型>_TO_<数据类型> 1）指令概述 将任意数据类型转换为另一数据类型。 指令 名称 ST 句法 xx_TO_xxx 类型转换 OUT _V AR:= xx_TO_ xxx (IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● ● ● OUT ● ● ● ● 适用变量 操作数 描述 输入/输出 数据类型 IN 转换对象 输入 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL OUT 转换结果 返回值 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  指令名称因“IN”和转换结果“OUT”的数据类型组合不同而异。“xx”是输入“IN”类型， “xxx”是 转换结果“OUT”类型，参数传递满足隐式转换规则； 例如， “IN”为 INT型、 “OUT”为 DINT型时，指令名称为 INT_TO_DINT。 4）注意事项  “IN”为带符号整数、 “IN”的数据大小小于“OUT”的数据大小时，需要进行符号扩展。  “IN”为无符号整数、 “IN”的数据大小小于“OUT”的数据大小时， “OUT”的高位中将填入 0。  “IN”的数据大小大于“OUT”的数据大小时，高位将舍去。  “IN”为实数， “OUT”为整型， “IN”值的小数点采用四舍五入到最近的整数，具体参考 IEC 标准。  “IN”若为 bit\bool 型，“IN”的数据为 FALSE时， “OUT”结果为 0，“IN”的数据为 TRUE 时，结 果为 1。“OUT”若为 BIT/BOOL型， “IN”的数据为 0 时，结果为 FALSE；操作数为其他数值，结果 为 TRUE。  指令与输入“IN”和转换结果“OUT”的数据类型不匹配时，编译报错。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 441 5）程序示例说明 举例说明：输入为变量 AA，输出为变量 BB。 指令 名称 ST 表现 BOOL_TO_INT BOOL转换为 INT BB:= BOOL_TO_INT(AA); INT_TO_DINT INT转换为 DINT BB:= INT_TO_DINT(AA); INT_TO_REAL INT转换为 REAL BB:= INT_TO_REAL(AA); … … … 11-4-1-2. TO_<数据类型> 1）操作符概述 将任意类型转换为指定类型。 指令 名称 ST 句法 TO_ xxx 类型转换 OUT_V AR := TO_ xxx (IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● ● ● OUT ● ● ● ● 适用变量 操作数 描述 输入/输出 数据类型 IN 转换对象 输入 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL OUT 转换结果 返回值 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  指令名称因“OUT”的数据类型不同而异。“xxx”是转换结果“OUT”类型，参数传递满足隐式转 换规则。 例如，“OUT”为 DINT型时，指令名称为 TO_DINT。 4）注意事项  “IN”为带符号整数、“IN”的数据大小小于“OUT”的数据大小时，需要进行符号扩展。  “IN”为无符号整数、“IN”的数据大小小于“OUT”的数据大小时，“OUT”的高位中将填入 0。  “IN”的数据大小大于“OUT”的数据大小时，高位将舍去。  “IN”为实数，“OUT”为整型，“IN”值的小数点采用四舍五入到最近的整数， 具体参考IEC标准。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 442  “IN”若为 BIT/BOOL 型，“IN”的数据为 FALSE时，“OUT”结果为 0，“IN”的数据为 TRUE 时，结果为 1。“OUT”若为 BIT/BOOL型，“IN”的数据为 0时，结果为 FALSE；操作数为其他数 值，结果为 TRUE。  指令与转换结果“OUT”的数据类型不匹配时，编译报错。 5）程序示例说明 举例说明：输入为变量 AA，输出为变量 BB。 指令 名称 ST 表现 TO_INT 任意类型转换为 INT BB:= TO_INT(AA); TO_DINT 任意类型转换为 DINT BB:= TO_DINT(AA); TO_REAL 任意类型转换为 REAL BB:= TO_REAL(AA);


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 443 11-4-2. 数学函数 11-4-2-1. 绝对值 ABS 1）指令概述 计算整数、实数的绝对值。 指令 名称 ST 句法 ABS 绝对值 OUT_V AR := ABS(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULIN T/REAL/LREAL OUT 绝对值 返回值 SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULIN T/REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  计算输入对象“IN”的绝对值。 4）注意事项  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 定义变量 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 444 11-4-2-2. 平方根SQRT 1）操作符概述 计算非负整数、非负实数的平方根。 指令 名称 ST 句法 SQRT 平方根运算 OUT_V AR := SQRT(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 平方根 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  计算输入对象“IN”的平方根。 4）注意事项  输入值“IN”的值为负数时，“OUT”的值为非数字。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 445 11-4-2-3. 自然对数LN 1）指令概述 返回一个数的自然对数。自然对数以常数项 e（2.71828182845904）为底。 指令 名称 ST 句法 LN 自然对数运算 OUT_V AR := LN(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 对数 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  计算自然对数（底数为 e 2.71828）。 0 1 1 2.718282 [In] [Out] 4）注意事项  输入值“IN”的值为负数时，“OUT”的值为非数字。输入值“IN”的值为 0 时，“OUT”的值为负 无穷大。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 447 11-4-2-4. 10 为底的对数LOG 1）操作符概述 返回以 10为底的对数。 指令 名称 ST 句法 LOG 常用对数运算 OUT _V AR:= LOG(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 对数 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  计算常用对数（底数为 10的对数） 。 0 1 1 10 [In] [Out] 4）注意事项  输入值“IN”的值为负数时，“OUT”的值为非数字。输入值“IN”的值为 0 时，“OUT”的值为负 无穷大。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 448 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果 11-4-2-5. 指数函数EXP 1）操作符概述 返回 e（自然对数的底）的幂次方，e 是一个常数为 2.71828的数。 指令 名称 ST 句法 EXP 自然指数运算 OUT_V AR := EXP(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 对数 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  计算自然对数的底数 e 的“lN”幂。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 449 0 1 1 2.718282 [In] [Out] 4）注意事项  输入值“lN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 450 11-4-2-6. 三角函数SIN/COS/TAN 1）操作符概述 进行三角函数运算。SIN：sin（正弦值）；COS：cos（余弦值）；TAN：tan（正切值）。 指令 名称 ST 句法 SIN 正弦值运算 OUT_V AR := SIN(IN_V AR); COS 余弦值运算 OUT_V AR := COS(IN_V AR); TAN 正切值运算 OUT_V AR := TAN(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 运算结果 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  进行实数的三角函数运算。运算对象“IN”为弧度（rad）单位的角度。 函数 说明 波形图 SIN 计算“lN”的 sin（正弦值） 1 0 -1 π 2 π 3π 2 2ππ 2 -π3π 2 -2π [In] [Out] COS 计算“lN”的 cos（余弦值） 1 0 -1 π 2 π 3π 2 2ππ 2 -π3π 2 -2π [In] [Out]


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 451 函数 说明 波形图 TAN 计算“lN”的 tan（正切值） 0 -1 1 [In] [Out] 2π3π 2 ππ 2 π 2 -π3π 2 -2π 4）注意事项  “IN”的值为正无穷大、负无穷大、非数字时，“OUT”的值为非数字。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 452 11-4-2-7. 反三角函数ASIN/ACOS/ATAN 1）操作符概述 进行反三角函数运算。ASIN：sin^-1（反正弦值）；ACOS：cos^-1（反余弦值）；A TAN：tan^-1（反正切值） 。 指令 名称 ST 句法 ASIN 反正弦值运算 OUT_VAR := ASIN(IN_V AR); ACOS 反余弦值运算 OUT_V AR := ACOS(IN_V AR); ATAN 反正切值运算 OUT_V AR := ATAN(IN_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● 适用变量 操作数 描述 输入/输出 数据类型 IN 运算对象 输入 SINT/USINT/INT/UINT/DINT/UDINT/REAL/LREAL OUT 运算结果 返回值 REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  进行实数的三角函数运算。运算结果“OUT”为弧度单位的角度。 函数 说明 波形图 ASIN 输出“IN”的 sin^-1（反正弦 值）。“OUT”的范围为 -π/2～ π/2。 0 [In] [Out] π 2 1.0-1.0 π 2 ACOS 输出“IN”的 cos^-1（反余弦 值）。“OUT”的范围为 0～π 0 [In] [Out] π 2 1.0-1.0 π


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 453 函数 说明 波形图 ATAN 输出“IN”的 tan^-1（反正切 值）。“OUT”的范围为 -π/2～ π/2。 “IN”的值为+ ∞时，“OUT” 的值为 π/2。“IN”的值为 -∞ 时，“OUT”的值为-π/2。 0 [In] [Out] π 2 π 2 4）注意事项  ASIN指令、ACOS指令中，“IN”的值为-1.0～1.0以外时，“OUT”的值为非数字。A TAN指令中， “IN”的值为非数字时，“OUT”的值为非数字。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 454 11-4-3. 选择操作指令 11-4-3-1. 二选一指令SEL 1）指令概述 通过选择开关，在两个输入数据中选择一个作为输出，选择开关为FALSE时，输出为第一个输入数据，选 择开关为 TRUE时，输出为第二个数据。 指令 名称 ST 句法 SEL 位选择 OUT _V AR:= SEL (G_V AR,IN_V AR0,IN_V AR1); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 G ● ● ● IN0,IN1 ● ● ● ● ● OUT ● ● ● ● 适用变量 操作数 描述 输入/输出 数据类型 G 条件 输入 BIT/BOOL IN0,IN1 选择 输入 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL OUT 运算结果 返回值 BIT/BOOL/BYTE/WORD/DWORD/LWORD/SINT/USIN T/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m G ● ● ● ● ● ● ● ● IN0IN1 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  从 2 个选项“IN0” 、 “IN1”中选择 1 个。选择“IN0”和“IN1”中的哪一个需要在条件“G”中指定。 若“G”的值为 FALSE，则“OUT”中代入“IN0” ，若为TRUE，则代入“IN1”。 「G」 「Out」:=「In1」 「Out」:=「In0」 TRUE FALSE


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 455 4）注意事项  输入值“IN0”、“IN1”类型不同时，返回值“OUT”覆盖输入值“IN0”、“IN1”有效范围，否则报错 提示。  输入值“IN0”、“IN1”类型不满足隐式转换，报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果 11-4-3-2. 取最值MAX/MIN 1）操作符概述 MAX：在 2个数值中，检索最大值。 MIN：在 2个数值中，检索最小值。 指令 名称 ST 句法 MAX 最大值检索 OUT_V AR := MAX(IN_V AR1, IN_V AR2); MIN 最小值检索 OUT_V AR := MIN(IN_V AR1, IN_V AR2); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 IN ● ● ● OUT ● ● 适用变量 操作数 描述 输入/输出 数据类型 IN1~IN2 运算对象 输入 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/UI NT/DINT/UDINT/LINT/ULINT/REAL/LREAL OUT 运算结果 返回值 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/UI NT/DINT/UDINT/LINT/ULINT/REAL/LREAL


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 456 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m IN1IN2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● D ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  MAX：在 2个运算对象“IN1”~“IN2”中，检索最大值。  MIN：在 2个运算对象“IN1”~“IN2”中，检索最小值。 4）注意事项  输入值“IN”的值为负数时，“OUT”的值为非数字。  输入值“IN”和返回值“OUT”的数据类型支持隐式转换，类型不匹配则报错提示。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 457 11-4-3-3. 限制值LIMIT 1）指令概述 输入数据在上限、下限值之间则输出该值，若低于下限值则输出下限值，若高于上限值则输出上限值。 指令 名称 ST 句法 LIMIT 上下限限制 OUT__V AR := LIMIT (MN_V AR,IN_V AR,MX_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 MN ● ● ● IN ● ● MX ● ● ● OUT ● ● 适用变量 操作数 描述 输入/输出 数据类型 MN 下限值 输入 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/U INT/DINT/UDINT/LINT/ULINT/REAL/LREAL IN 限制对象 输入 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/U INT/DINT/UDINT/LINT/ULINT/REAL/LREAL MX 上限值 输入 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/U INT/DINT/UDINT/LINT/ULINT/REAL/LREAL OUT 运算结果 返回值 BYTE/WORD/DWORD/LWORD/SINT/USINT/INT/U INT/DINT/UDINT/LINT/ULINT/REAL/LREAL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m MN ● ● ● ● ● ● ● ● ● ● ● ● ● ● IN ● ● ● ● ● ● ● ● ● ● ● ● ● MX ● ● ● ● ● ● ● ● ● ● ● ● ● ● OUT ● ● ● ● ● ● ● ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  根据上限值“MX” 、下限值“MN” ，对限制对象“IN”的值进行限制。处理结果“OUT”的值如下所 示。 “IN”的值 “OUT”的值 IN<MN MN MN<IN<MX IN MX<IN MX 4）注意事项  输入值“MX” 、 “MN” 、 “IN”类型不同时，返回值“OUT”覆盖输入值“MX” 、 “MN” 、 “IN” 有效 范围，否则报错提示。  输入值“MX” 、 “MN” 、 “IN”类型不满足隐式转换，报错提示。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 458  输入值“MX”小于“MN”时， “OUT”的值为 0。 5）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 459 11-4-4. 边沿检测指令 11-4-4-1. 上升沿检测R_TRIG 1）指令概述 输入信号上升（FALSE → TRUE）时，仅输出 1个扫描周期的 TRUE。 指令 名称 ST 句法 R_TRIG 上升沿 R_TRIG_instance(Clk_V AR,Q_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 Clk ● ● ● Q ● ● ● 适用变量 操作数 描述 输入/输出 数据类型 Clk 输入信号 输入 BIT/BOOL Q 输出信号 输入 BIT/BOOL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m Clk ● ● ● ● ● ● ● ● Q ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  R_TRIG：输入信号“Clk”上升（FALSE→TRUE）时，仅在 1个扫描周期内在输出信号“Q”中代入 TRUE。其他情况下， “Q”的值为 FALSE。 TRUE FALSE 「Clk」 「Q」=abc TRUE FALSE 任务周期 ST R_TRIG_instance(A,abc) 4）程序示例说明 项目 说明 变量定义


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 460 项目 说明 程序示例 运行结果 11-4-4-2. 下降沿检测F_TRIG 1）指令概述 输入信号下降（TRUE → FALSE）时，仅输出 1 个扫描周期的 TRUE。 指令 名称 ST 句法 F_TRIG 下降沿 F_TRIG_instance(Clk_V AR,Q_V AR); 2）操作数 操作数 位 字 常量 位元件 位变量 字元件 字变量 Clk ● ● ● Q ● ● ● 适用变量 指令 名称 ST 句法 指令 Clk 输入信号 输入 BIT/BOOL Q 输出信号 输入 BIT/BOOL 适用软元件 操作数 字软元件 位软元件 系统 常数 模块 系统 D FD SFD SD TD CD DX DY DM DS DT DC K/H ID QD X Y M S T C Dn.m Clk ● ● ● ● ● ● ● ● Q ● ● ● ● ● ● 注：D 表示 D、HD；TD表示 TD、HTD、ET；CD 表示 CD、HCD、HSCD、HSD；DM 表示 DM、DHM、DSM；DS 表示 DS、DHS；DM 表示 DM、DHM；DS 表示 DS、DHS。M 表示 M、HM、SM；S 表示 S、HS；T表示 T、HT、ET；C 表示 C、HC、HSC。 3）功能说明  F_TRIG：输入信号“Clk”下降（TRUE→FALSE）时，仅在 1个扫描周期内在输出信号“Q”中代入 TRUE。其他情况下， “Q”的值为 FALSE。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 11 结构化文本 ST 461 TRUE FALSE 「Clk」 「Q」=abc TRUE FALSE 任务周期 ST F_TRIG_instance(A,abc); 4）程序示例说明 项目 说明 变量定义 程序示例 运行结果


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
11 结构化文本 ST XD/XL 系列可编程控制器用户手册［基本指令篇］ 462 11-5. ST 中软元件表示 11-5-1. 常规表示方法 直接在程序中调用软元件即可使用。 利用 ST语言实现当 M0为 ON时，向 D0寄存器赋值 10；当 M0 为 OFF时，向 D0中赋值 5。程序编 写、执行效果如下： 程序编写 程序执行效果 M0 为ON M0 为OFF 11-5-2. 寄存器数据类型转换表示 在程序中通过 TYPE#REG对寄存器的类型进行强制转换。其中 TYPE为数据类型，REG为寄存器。 寄存器数据转换 TYPE#REG TYPE BOOL/SINT/USINT/INT/UINT/DINT/UDINT/LINT/ULINT/REAL/LREAL/BYTE/ WORD/DWORD/LWORD REG D/SD/ID/QD/HD/HSD/CD/TD/ETD/HTD/HCD/HSCD 转换示例说明： 程序编写 程 序 执 行 效 果 M0 为 ON M0 为OFF 11-5-3. 软元件偏移 在程序中通过软元件[表达式]实现软元件偏移功能。 软元件偏移方法 软元件[表达式] 软元件 与软元件常规写法一致，如 D0、M0 表达式 支持寄存器，常数，变量，表达式 举例说明 D0[D10]；D0[10]；HD0[V AR1]；HD0[V AR1+V AR2]；REAL#D0[LINT#D10]


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 12 程序组织单元 POU 463 12 程序组织单元 POU POU 全称 Program Organizational Unit，即程序组织单元，程序组织单元是信捷 PLC 编程工具软件的 基本构成元素，用户可以基于程序组织单元编写应用程序，POU包括函数、函数块、程序，函数和函数块 都可以基于梯形图和 C语言进行编写，程序可以调用函数和函数块，构成用户的应用程序。 注意：3.7.16、3.7.16a 版本软件，Ethercat 总线机型支持 POU 功能；3.7.17 及以上版本软件全系列支 持 POU 功能。 POU 使用详见《XD XL XG 系列可编程控制器用户手册（软件篇）》第6 章节。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 464 13 常见问题及处理方法 Q1: PLC 如何和PC 连接？ A1: 固件版本 V3.2及以上的 XD系列 PLC支持 USB口、COM1口（RS232）、COM2口（RS485）三种方 式下载，以太网型 PLC还支持以太网口（RJ45）下载。 1、通过 USB口和 PC连接（见 6-1-1节） 2、通过 COM1口（RS232）和 PC连接 1）请通过 XVP 线（请使用本公司专用的XVP线或 DVP线）将 PC与 PLC 进行连接，电脑无九针串 口只有 USB 接口的，请使用USB转 RS232转串和 XVP线进行连接。当XVP线正确连接好后，给 PLC上 电，点击 PLC编辑软件上的“选项”---“软件串口设置” ，弹出如下图所示的设置软件串口窗口，双击对 应名称，操作如下图： 点击自动搜索，显示成功连接 PLC，点确定：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 465 使用状态改为“使用中” ，点确定即可： 至此，您已经成功将 PLC与 PC 机成功连接！ 注：检测串口失败，可使用上电停止 PLC。 若检测串口失败，出现如下图提示，可能串口参数被修改，可使用上电停止PLC。 ① 再点击 PLC操作—上电停止 PLC，如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 466 ② 选择设备管理器中对应的 COM 口，确认连接第一个圆口，点确定： ③ 根据提示，给 PLC断电，等 PLC上的 PWR灯灭了后，等待 5秒，给 PLC重新上电，出现如下提 示，表示上电停止成功，点击确定； ④ 点击确定后，点运行 PLC，右下角出现运行扫描周期即已连接成功； 至此，您已经成功将 PLC与 PC 机成功连接！ ⑤ 若上电停止不成功，或停止后还是无法连接 PLC，请拨打客服热线：400-885-0136 联系我们。 2、通过 COM2口（RS485）和 PC连接 电脑自带 9 针串口的，可以通过 RS485转串模块和信捷 XVP线，将 PC 与 PLC（通常为 COM2口） 进行连接；电脑只有 USB接口的，可以通过 USB转 RS485线进行连接。 当接线正确连接好后，给 PLC 上电，点击 PLC 编辑软件上的“软件串口设置 ”图标，将会弹出 如下窗口：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 467 此时您可以根据 PC 机的连接串口，选择正确的通讯串口号；波特率选择19200BPS，奇偶校验选择偶 校验，8个数据位，1个停止位；您可以通过直接点击窗口里面的“通讯测试”按钮，检测是否通讯成功， 成功连接后的窗口左下角将会显示“成功连接 PLC” ，显示如下： 至此，您已经成功将 PLC与 PC 机成功连接！ 3、通过以太网口（RJ45）和 PC连接（以太网型 PLC支持） 第一步：接线 将以太网 PLC 与交换机或电脑通过超五类网线连接。 第二步： 设置网口 PLC和电脑的 IP地址  设置以太网 PLC 执行“设置以太网 PLC”这步的前提是 PLC 已经和软件通讯上，若没有，则先通过串口、USB 或是 网线将 PLC和电脑通讯上。串口、USB 通讯参见手册第 4章前，网口局域网通讯参见 4.3.1 或 4.3.2，网 口远程连接参见 4.3.3。 网口 PLC 默认 IP 为 192.168.6.6，可通过编程软件对其修改。打开 XDPPro 软件，软件左侧工程一栏 中找到“PLC 配置”→“以太网口”，如下图： 注意：修改 IP后，PLC需要断电重启才生效。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 468  设置电脑的 IP 地址 1）在电脑桌面右下角找到 网络图标，鼠标右键选择“打 开网络共享中心” 。 2）在网络和共享中心的界面（也可以在“适配器选项”界面） ，双击“本地连接”打开网卡状态信息 （有的电脑在插上 PLC的网线后识别到设备的网卡不是“本地连接”， 得选择识别到未知设备的网卡进行 后面的修改） ，再双击“属性”按钮，在菜单栏中找到 Ipv4设置选项并双击打开 IP地址配置界面。 3）按下图在 IP 地址配置界面填入对应参数，点击“确认”按钮，完成配置。注意：IP 地址必须为 6 网段，如 192.168.6.20。 第三步：XDPPro 通过网口监控 PLC 网口连接 PLC主要分为三种方式：指定地址、局域网口按 ID查找、远程连接。  指定 IP 地址连接 打开编程软件，选择“软件串口设置”，选择任意一个通讯口，进入配置界面；通讯接口选


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 469 “Ethernet”；网口协议支持Modbus-TCP与XNET，两种协议均可选择： 1）选择XNET 协议，设备IP地址选择网口配置的IP，再点击配置服务—重启服务，参数填写完成后 点击确定即可完成连接。 2）选择Modbus-TCP协议，设备IP是填写 PLC的 IP，本地IP是填写电脑的 IP，或是直接点击“扫 描 IP”自动输入相关参数，点击确定即可完成连接。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 470  局域网口按 ID 查找 打开编程软件，选择“软件串口设置”，选择任意一个通讯口，进入配置界面；通讯接口选 “Ethernet”；通讯协议选 XNET，连接方式选择“局域网口”，查找方式可以选“设备类型”或是“设 备 ID”。两种方式都可以： 1）查找方式选“设备类型”，勾选相应类型，再点击配置服务—重启服务，点击确定即可完成连接。 2）查找方式选“设备 ID”，填入网口 PLC的 ID号（PLC的 ID号可以查看 PLC标签，也可以通过 左侧菜单栏中的“PLC本体信息”查看，本体信息查看 ID号的前提是 PLC与软件通讯上了） 。 【注】：ID连接和局域网连接要求PLC的IP与电脑的IP在同一网段。 注意事项： （1）一台电脑可能有多个网卡，通过 Ethernet 与网口 PLC 通讯时请只使用一个网卡，网卡只配置 一个IP 地址。 （2）如果正常操作下无法连接，请查看以下内容。 ① 如果当前电脑可以ping通PLC的IP地址（ping的步骤可以百度或是看《基于以太网的TCP_IP通讯 用户手册》的1-1-3章节），但是连接不上，请读取编程软件左边工程栏“以太网口”，如果读取出以太 网配置为“自动获取IP地址”。则请更改“使用下面IP”，给定IP等参数后并重新上电PLC。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 471 ② 如果①确认没问题，请查看电脑的“本地连接状态”在“详细信息”中查看IPV4的地址，是否是 只有一个IP。如有IPV4地址有两个IP，则电脑是有两个网卡的。请将多的网卡卸载，网卡卸载参见百度。 ③ 如果①②确认没有问题，请使用XNet config tool工具查看“我的电脑”，“适配器设置”选择 跟随系统，或对应的网卡。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 472 ④ 若以上配置都没问题，且可以 ping 通。请请使用XNet config tool工具查看“我的电脑”的 “路由表设置”和 PLC 的“路由表设置”，保证其路由表设置一样，可以点击“读取”查看路由表设 置。 我的电脑路由表配置 PLC 路由表配置  远程连接 第一步：准备工作  XDPPro编程工具（软件V3.5及以上版本）；  XDE/XD5E/XDME/XDH/XL5E/XLME/XL5N/XL5H/XLH/XG1系列PLC（固件V3.5及以上版 本）；  XG2系列PLC（固件V3.6及以上，仅RJ45口1）  计算机（可访问互联网）；  路由器设备（可访问互联网）；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 473  百兆交换机（可选）；  超五类网线。 第二步：远程连接配置 执行这步的前提是PLC与软件通讯成功。若是确保PLC勾选了“启用远程通讯”，可使用默认参数 而跳过该步。 打开 XDPPro编程软件（软件版本 V3.5 及以上），软件界面左侧“以太网口” 打开窗口 选择“远程通信”，具体参数介绍详见《X-NET 总线手册》3-1-2 节。这里以写入默认值为例，PLC 重 新上电配置生效，如下图所示： 第三步： 远程连接 ① 点击“软件串口设置” ，弹出“通信配置”窗口，通信接口选“Ethernet”； ② 通讯协议选XNET； ③ 连接方式选“远程连接”； ④ 填入网口PLC对应的配置参数：设备 ID 和密码，点击确认按钮，完成远程连接。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 474 第四步：通讯故障排除 在连接过程中若报“接收方未登录”或者“连接远程设备失败”等错误信息，请确认以下几点信 息：  ID是否填写有误；  服务器域名或 IP 地址是否有效；  设备密码是否正确；  标志位“SM1900”是否置位，若未置位，请确认；  当前计算机网络是否良好；  网线连接是否正确有无脱落； 确认后请重新上电尝试。 Q2: PC 无法通过RS232 口与 PLC 连接，显示当前处于脱机状态？ A2:  导致这种状况主要是由于以下几种原因： （1）用户修改了PLC上的 COM1口的通讯参数（不建议修改COM1口的通讯参数，否则将会导致您 的 PC 与 PLC无法连接！ ） ； （2）USB转串驱动软件的安装不正确或者 USB转串口线的性能不好； （3）PLC的 COM1通讯口损坏； （4）使用的不是信捷公司专用的 XVP下载通讯线。  处理办法： （1）首先，请确认PC与 PLC连接的通讯线是否为信捷公司专用的 XVP 线，如果不是，请更换成信 捷公司专用的 XVP通讯线； （2）如果确认连接线是信捷公司专用的 XVP 线并且使用了 USB 转串，您可以找一台带有 9 针串口 的台式电脑尝试与 PLC 进行连接，如果与台式电脑可以正常连接，请更换性能更好的 USB 转串口线或者 重新安装 USB转串驱动软件； （3） 如果PLC与台式电脑也无法正常连接， 您可以通过 “上电停止PLC” 功能停止PLC， 同时将PLC 恢复为出厂设置，操作方式如下： Ⅰ） 将PLC上电并通过 XVP线与 PLC正确连接， 点击PLC编辑软件菜单栏上的 “PLC操作” 按钮；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 475 Ⅱ）从下拉菜单中点击“上电停止 PLC”； Ⅲ）将会跳出以下窗口： Ⅳ）此时，您直接将PLC电源断电，断电约 2~3秒钟再重新给 PLC上电，正常情况下会跳出一个上 电停止 PLC 成功窗口；如果 PLC 重新上电没有跳出成功停止窗口，可以重新再尝试几次，直至 跳出成功停止窗口： Ⅴ）直接点击“信息”窗口中的确认键，再点击 PLC编辑软件菜单栏上的“PLC设置”按钮； Ⅵ）从下拉菜单中点击“PLC初始化” ； Ⅶ）此时，将会跳出初始化成功窗口，至此，PLC的“上电停止PLC”操作全部完成，您可以成功将


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 476 PLC与 PC机连接上了： Ⅷ）如果您在第Ⅳ步中多次尝试都未成功的话，或者在第Ⅶ步点击“PLC初始化”时跳出的是如下窗 口： 在这两种情况下，只能通过 PLC的系统更新工具将 PLC的系统重新更新一下，更新成功后，PLC 就可以与 PC机成功连接（详细的系统更新步骤及要求请参见本章的Q3相关内容） 。 （4）通过自带 9 针串口的台式电脑对 PLC 更新系统，如果系统更新不成功或者无法更新，在排除是 电脑串口坏的可能性后，则有可能是 PLC的通讯口损坏，请直接与代理商或者厂家联系。 Q3: XD/XL 系列PLC 系统更新相关问题 A3:  一般何种情况下需要进行 PLC系统更新？ （1）由于软件结构优化和功能增强的需要，PLC软件处于不断升级阶段；软、固件版本的不匹配将导 致老版本的 PLC 不支持部分升级后的新功能的问题。为了解决这个问题，可以通过 PLC 系统更新功能， 将老版本的 PLC固件系统升级到新的版本，以使用新的指令功能。 （2）当您使用了保密下载程序功能却忘记了密码，导致 PLC 无法使用时，您可以通过系统自更新来 解决（注意：系统自更新后，PLC里原有程序会丢失！ ） 。  如何进行对 XD/XL系列 PLC的系统更新？ 1、首先将 PLC断电，将您桌面上打开的可能会占用串口的软件全部关闭，通过不同的方式将 PLC 连上电脑。 1）XD系列与电脑连接方式 将下载线插在 PLC的 RS232口上（注意：必须是 PORT1口） ，另一端接在电脑串口上（尽量使用电 脑自带的 9针串口，如没有，也可以通过 USB转串将 PLC与电脑的 USB口相连接） 。 2）XG1与电脑的连接方式 通过 RS485转串模块，将 PC与 PLC 相连接。 注意：XG1系列 PLC的 COM1口需通过 485转 USB 后，与电脑连接进行系统更新。 2、在“信捷 PLC编程工具软件”中，点击“帮助” —“固件升级”，打开更新工具，“产品选 择”勾选 PLC；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 477 3、在“打开固件”选项中打开您需要更新的下位机系统文件；在“打开固件”选项中打开您需要更 新的系统文件 （可根据前面的表格确认） ； 如下图是 XDM-60T10的系统更新文件， 选择后点“打开”： 4、通信配置 点击“通信配置”选项，则出现参数设置界面；


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 478 注意：只需要根据您的电脑实际串口号设定通讯端口即可，波特率无需修改。 5、参数设置完毕，然后点击“开始更新”，出现如下面方框里面的文字，此时给 PLC上电，PLC就 开始自更新了，更新可能需要几分钟的时间，当数据停止更新出现“传送完毕”时说明已经更新好。 给 PLC上电，显示“开始下载” ，进行自动更新，更新过程中，右下角会出现进度条：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 479  更新完毕后，关闭更新工具， 给 PLC重新上电，再下载一个空程序就完成了！ 自更新 后，初次下载程序会提示“程序被锁，是否继续”，此处点击‘是’即可  PLC下位机版本查询： PLC固件版本可以在编辑软件的左边“工程栏”中查看， 找到“PLC本体信息”并点击， 将会显示“PLC 信息”窗口（联机状态下）： XD/XL系列所有 PLC系统更新无需短接引脚！


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 480 PLC面向自己正放示意图 注意： （1）在进行 PLC 系统自更新时的过程中，切勿使 PLC 断电或者是瞬间断电，否则将会导致 PLC 无 法进行系统自更新；万一出现这种情况（通常会显示发送数据失败、ID 不匹配和重新上电没有反应等）， 无法对 PLC进行系统自更新时，请与代理商或者厂家联系！ （2）当 PLC经过系统自更新后，里面原有的程序会丢失！ （3）在信捷官网 www.xinje.com下载中心中有详细的 PLC 系统自更新操作步骤、要求以及系统自更 新工具，您可以参阅此网站上的相关内容。 Q4: 怎么实现信捷PLC 的位元件组功能？ A4: 可以通过连续的 16个线圈组成一个字， 例如：DM0， 是以线圈M0开始的 M0~M15的 16个线圈 （位） 组成一个字，如下图： DM0： M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 继而，我们可以对此寄存器里面的位进行操作。 举例 1： M100 MOV K3 DM0 还有一种操作模式是直接对固定某个寄存器进行位操作，例如：D0.0，表示寄存器D0中 16个位的第 一个位，同理，D0.1表示寄存器 D0中 16个位的第二个位，依次类推，如下图： D0： D0.15 D0.14 D0.13 D0.12 D0.11 D0.10 D0.9 D0.8 D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.0 同理，我们可以对寄存器 D0里面的位进行操作。 当 M100由 OFF到 ON时，M0、M1 为 ON，M2~M15均为 OFF。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 481 Q5: LDD/OUTD 等立即执行指令有什么用？ A5: PLC执行用户程序的时候，输入点的状态首先映射到映像寄存器，然后每个扫描周期开始时，PLC会 从映像寄存器中刷新输入点的状态；如果使用 LDD 指令，则输入点的状态无需经过映像寄存器；输出点 的输出（OUTD）与此类似。 LDD/OUTD指令一般用在 I/O需要立即刷新的场合，这样可以使输入输出的状态不受扫描周期的影 响。 输入端子物理状态X0 LDD X0输入状态 LD X0输入状态 1个扫描周期 输入点 X0使用的 LDD 与 LD的时序图 Q6: 为什么使用ALT 指令来控制输出时，输出点一直在闪？ A6: 对于 ALT以及许多运算指令，只要条件满足（如：以常开常闭线圈作为触发条件） ，每个扫描周期都 会执行一次，因此在使用这些指令的时候，最好触发条件使用上升沿、下降沿。 Q7: PLC 的线圈 M 以及输出端子 Y 怎么有时无法输出？ A7: 输出主要有两种方法：1、用 OUT指令输出；2、用 SET指令输出，SET指令将线圈置位或者 Y 端口 输出后，如不进行复位（RST） ，线圈将保持输出状态。 一般在程序中，同一个线圈 M 或者输出端 Y 只可以使用一种输出方式，如果两种输出方式同时混合 使用时，就会出现无法输出现象。 举例说明： M0 ( ) Y0 M0 M1 ( S ) Y0 ( R ) Y0 M0 M1 ( ) Y0 ( ) Y0 此外，如果在软件里监控到 Y 点已置 ON，但实际端子无输出，请检查 SM34（所有输出禁止）是否 被置 ON。 当 M0为 ON、M1为 OFF时，Y0不会有输出 当 M0为 OFF、M1为 ON时，Y0会有输出 原因：双线圈输出 Y0只能导通一个扫描周期 当 M0导通后，Y0一直为 ON，直到 M1导通后，Y0为 OFF


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 482 Q8: 关于PLC 中纽扣电池检测及更换问题 A8: 纽扣电池的额定电压为 3V， 可以通过万用表来测量纽扣电池的电压以确定纽扣电池是否有电； 当PLC 的断电保持寄存器在断电后重新上电时，里面的值都变为0 时，一般来说很有可能是PLC的纽扣电池没电 了；如果电池没电需寄回公司重新更换电池。 用户可通过 SM5和 SD5来检测纽扣电池的电量，以方便及时更换电池，具体见附录 1和附录 2。 Q9: 与组态软件通讯问题 A9: 若组态软件中可以直接选择信捷 XD/XL系列 PLC时，则直接按顺序配置完即可；若无法直接选择信 捷 XD/XL系列 PLC，则应该选择 Modbus-RTU通讯模式，通过 RS485口进行通讯，具体参数设置请参照 本手册第 6章《通讯功能》 ，进行具体地址设置时，必须依照本手册里的“PLC软元件编号与 Modbus地址 编号对应表”进行。 Q10: Modbus 通讯问题 A10: 首先请确保 PLC上的 A、B 端子与其它设备的 RS485通讯端子正确连接，若要修改PLC的 COM2口 参数，方法如下： 方法 1：通过配置参数指令进行配置 具体指令请参照本手册第 6 章《通讯功能》 。 不同设备的通讯参数设置一般都不一样，请务必正确选择通讯设备的频率给定方式，弄清楚相应 MODBUS通讯地址和功能码，某些通讯设备需要给定运行信号后才显示出设置频率。 方法 2：通过控制面板来配置（具体配置方法请参照本手册第 6 章《通讯功能》 。 Q11: XD/XL 系列 PLC 三个指示灯（PWR/RUN/ERR）问题 A11: 指示灯现象 可能存在的问题 处理办法 PWR 灯闪，其余 灯灭 1、I/O板短路 2、24V负载过大 3、下载无程序没有点击运行 检查 I/O 端子接线是否有短路，本体 24V 电源输 出的负载是否过大，排除以上两种可能后仍无效 的话请与厂家联系！ 三个灯都不亮 1、PLC的接入电源短路 2、PLC硬件的内部电源板损坏 请检查 PLC 的接入电源是否短路或者有其它问 题，若不存在电源问题请与厂家联系！ PWR 灯亮、ERR 灯亮 1、PLC接入电源电压不稳定 1、确认接入电源是否稳定 2、程序扫描周期过大 2、检查程序中是否有 FOR循环程序拉长扫描周 期 3、扩展模块通信超时 3、检查模块供电是否稳定，排线是否有松动 4、BD/ED模块通信超时 4、检查模块供电是否稳定，排线是否有松动 5、系统出现异常中断错误 5、检查程序中是否使用 C语言，C语言中地址 是否越界，是否有调用非法指针


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 483 Q12: 为什么进行浮点数运算时结果不正确？ A12: 当您进行浮点数运算时，您必须先将相关参数从整数转化为浮点数，例如：浮点数除法 EDIV D0 D2 D10，及将寄存器D0的值除以寄存器 D2的值，将相除的结果（浮点数）存放在寄存器D10里面；如果在 执行此指令之前，寄存器 D0、D2里面的值为整数，则寄存器D10里面的将会发生错误，需要分别将寄存 器 D0、D2里面的整数值转化为浮点数后，再执行浮点数除法指令，梯形图如下： FLT D0 D6 FLT D2 D8 EDIV D6 D8 D10 M0 Q13: 为什么算出来的浮点数在梯形图上监控显示了一个乱码？ A13: 由于梯形图中无法显示浮点数，所以需要监控浮点数时，可以通过编辑软件上的“自由监控 ”对 浮点数进行监控；假如要监控的浮点数的数值存放在寄存器D10里，监控步骤如下： （1）点击编辑软件上面的“自由监控” ，在编辑软件的下方将会跳出数据监控栏，在数据监控栏中点 击“添加” ，将会弹出“监控节点输入”窗口，如下图： （2）在“监控节点”框中输入 D10， “监控模式”选择浮点，点击“确认”键即可，您将会在自由监 控栏中监控寄存器 D10里面的浮点数数值。 Q14: 为什么用了DMUL 指令后出现数据错误？ A14: 由于 DMUL 指令运算时，是 32 位*32 位=64 位的运算，所以运算结果占用了 4 个字，例如：DMUL D0 D2 D10，两个乘数都是32 位（D1、D0）与（D3、D2） ，乘积的结果为 64位（D13、D12、D11、D10）， 所以 D10~D13 连续 4 个寄存器都被占用，不能够再作他用，而用户往往会忽略这一点在程序中使用了寄 存器 D12~D13，进而导致运算时数据出错。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 484 Q15: 为什么设备运行了一段时间后输出点输出动作异常？ A15: 可能是输出端子的端子座松脱接触不良，检查配线或者脱落式端子是否有松脱情形。 Q16: 为什么扩展模块电源指示灯亮，但是无法动作？ A16: 可能是模块的连接插排与 PLC的插针接触不良或主机问题，确认主机与扩展机连接没有松脱，并以交 叉对比方式确认主机或扩展机问题。 Q17: 高速计数输入端已接入信号，却看不到相应的计数器进行高速计数？ A17: 如果要进行高速计数，除了要将高速脉冲接入PLC高速计数输入端，还要配合功能指令书写相应的高 数计数程序；详情请参照本手册的第 5 章《高数计数》相关内容。 Q18: C 语言功能相对于梯形图有哪些优点？ A18: （1）XD/XL系列 PLC支持几乎所有的 C 语言函数，在涉及到复杂的数学运算时，C 语言的优势更加 的明显； （2）增强了程序的保密性（使用文件—高级保存模式时，C语言无法上传） ； （3）C 语言功能块可进行多处调用和不同文件的调用，大大提高了编程人员的效率。 Q19: PLC 输出端子的 A、B 两个接线端子是做什么用的？ A19: PLC输出端子的 A、B两个接线端子是 PLC上 COM2通讯口的 RS485接线端子。 Q20: 顺序功能块BLOCK 的触发条件分别为上升沿触发与常闭导通时有何区别？ A20: 当顺序功能块 BLOCK 的触发条件为上升沿触发时，每触发一次，BLOCK 将会按照顺序执行原则从 上至下依次执行一次；而当触发条件为常闭导通触发时，BLOCK 将会按照顺序执行原则从上至下依次执 行后，立即返回不断的循环执行，直至常闭条件断开，完成最后一次循环后结束。 SBLOCK顺序功能模块 指令 1 指令 3 指令 2 SBLOCKE M0 至 上 而 下 顺 序 执 行 SBLOCK顺序功能模块 指令 1 指令 3 指令 2 SBLOCKE M800 至 上 而 下 循 环 顺 序 执 行


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 485 Q21: XD/XL 系列 PLC 有哪几种程序下载模式，各有什么特点？ A21: XD/XL系列 PLC具有三种程序下载模式，分别是：  普通下载模式 此模式下，您可以方便自由的将电脑上的程序下载到 PLC 里或者将 PLC 里的程序上传到电脑上，一 般在设备调试时使用此模式将会很方便。  密码下载模式 您可以给 PLC 设定一个密码，当您将 PLC 里的程序上传到电脑上时，您需要输入正确的密码，在密 码高级选项中您还可以勾选“下载程序需要先解密”功能（注意：此操作危险，如遗忘口令，您的PLC将 被锁！ ） ，此下载模式适合用户需要对设备程序进行保密时且自己可以随时调出设备程序时使用。  保密下载模式 在此模式下将电脑上的程序下载到 PLC 里面，用户不管通过什么方法都无法将 PLC 里的程序上传到 电脑上；同时保密下载用户程序，可以占用更少的 PLC 内部资源，使 PLC 的程序容量大大增加，能够拥 有更快的下载速度；使用此下载模式后程序将彻底无法恢复。 Q22: XD/XL 系列PLC 有哪几种保密方式？ A22: 信捷 PLC有三种保密方法： （1）导入导出下载文件； （2）保密下载； （3）加密码下载。  导入导出下载文件 将 PLC程序以此种方式保存后，用户可以下载和使用程序，但是无法查看和编辑程序。  保密下载 保密下载到 PLC后，PLC中的程序和数据将无法上传，提示“程序不存在” 。  加密码下载 如果对将设定了密码的程序下载到 PLC后，PLC程序上传时需要输入正确密码；如果勾选“下载 程序需要先解密” ，则在下载新程序到PLC时也需要输入正确的密码，此模式下，无法修改PLC的时 钟信息，保密性更强。 Q23: XD/XL 系列 PLC 的 I/O 自由切换功能是怎么回事啊？ A23: 当您的 PLC在使用的过程中需要更换输入输出端子或者输入输出端子损坏时， 通过I/O端口自由切换 功能无需修改程序，只要通过简单设置即可实现更换的目的，使工作变得更加方便、快捷和高效；通过信 捷触摸屏即可轻松实现端子更换的工作，即使是无任何编程及电工基础的操作人员都可以更改。 信捷PLC编辑软件I/O设置界面 信捷HMI编辑软件I/O设置界面


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
13 常见问题及处理方法 XD/XL 系列可编程控制器用户手册［基本指令篇］ 486 Q24: XD/XL 系列 PLC 的间接寻址功能是怎么回事？ A24: 在线圈、数据寄存器后加上偏移量后缀（如 X3[D100]、M10[D100]、D0[D100]） ，可实现间接寻址功 能；如 D100=9，X3[D100]表示 X14，M10[D100]表示 M19，D0[D100]表示 D9；在涉及到大量位与寄存器 运算以及存储时，此功能将会给你带来巨大的帮助！ Q25: XD/XL 系列 PLC 如果需要通过网络连接有哪些方式呢？ A25: XD/XL系列 PLC可以通过信捷公司的 T-BOX、G-BOX、W-BOX、S-BOX、A-BOX、扩展模块或扩展 ED 板进行网络连接，且以上几种模块和 ED 板都有各自的通讯特色，详细内容可以参阅各通讯模块或者 ED板的使用手册。 Q26: XD/XL 系列 PLC 如何在编辑软件中加入软元件和行注释呢？ A26:  软元件注释 XD/XL 系列 PLC 编辑软件在对软元件进行注释时，先将鼠标光标移动到对应的软元件上然后右击鼠 标，将会弹出菜单栏： 点击“修改软元件注释” ，将会跳出“编辑软元件注释”编辑窗口，输入注释内容即可：  行注释 在对行进行注释时，只要在相应行的最左端双击鼠标左键，然后在弹出的输入框中输入以“;”符号开 始的注释语句。 注意：“;”必须是英文输入状态下的分号，而不是中文状态下的“； ” ，如下图所示：


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 13 常见问题及处理方法 487 Q27: 为什么时钟功能使用不了？时钟为什么不准？ A27: XD/XL系列 PLC的时钟功能基本上为标配功能，出厂的 PLC都是默认带时钟功能的。 如果您使用的 PLC 带有时钟功能，请检查寄存器 SD13-SD19 里的值是否为十进制，如果不是，您需 要通过 BIN指令或者 TRD 指令将其转化为十进制。 XD/XL 系列 PLC 的时钟存在一定的误差，误差大约为每月±5 分钟，请通过触摸屏或者直接在 PLC 程序里进行校准。 如对时钟精度要求较高，建议XD系列 PLC配合精确时钟 BD板 XD-RTC-BD 使用，误差约为每月 13 秒。


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 488 附录 特殊软元件一览表 附录1．特殊辅助继电器一览 1）初始状态（SM0~SM5） 编号 功能 说明 SM000 运行常 ON线圈 RUN 输入 SM0 SM1 SM2 SM3 扫描周期 PLC运行时一直为 ON SM001 运行常 OFF线圈 PLC运行时一直为 OFF SM002 初始正向脉冲线圈 PLC 开始运行后第一个扫 描周期为 ON SM003 初始负向脉冲线圈 PLC 开始运行后第一个扫 描周期为 OFF SM004 PLC运行是否出错 当 SM4置 ON，表示 PLC运行过程中出现错误 （固件版本 V3.4.5及以上的 PLC支持此功能） SM005 电量过低报警线圈 当电池电压低于 2.5V时，SM5将置 ON（此时请尽快更换电池，否 则数据将无法保持） 注：此线圈仅适用于非 Ethercat总线机型 SM007 在线下载忙碌标志 在线下载写回 flash判断忙标志位 SM008 电容充电完成标志 电容充电完成情况（XDH、XLH、XG2支持此功能） 2）震荡脉冲（SM11~SM14） 编号 功能 说明 SM011 以 10ms的频率周期震荡 5ms 5ms SM012 以 100ms的频率周期震荡 50ms 50ms SM013 以 1 秒钟的频率周期震荡 0.5s 0.5s


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 489 编号 功能 说明 SM014 以 1 分钟的频率周期震荡 30s 30s 3）标志（SM20~SM22） 编号 功能 说明 SM020 零位 加减运算结果为 0 时，置 ON SM021 借位 运算结果发生下限溢出时，置 ON SM022 进位 运算结果发生上限溢出时，置 ON 4）PC 模式（SM30~SM34） 编号 功能 说明 SM030 PLC初始化 PLC恢复到出厂设置 SM032 保持寄存器清除 驱动此 M时，可以将 HM、HS的 ON/OFF映像储存器和 HT、 HC、HD的当前值清零。 SM034 所有输出禁止 PLC 的输出指示灯全灭，但 Y 端子的输出状态保持，如果是用 于脉冲输出，软件中也会监控到脉冲变化，但是实际没有输出， 脉冲停止发送方式为急停，扩展模块输出也禁止。 5）步进阶梯（SM40） 编号 功能 说明 SM040 流程正在执行标志 流程执行时，置 ON 6）中断禁止（SM50~SM90） 编号 地址号 功能 说明 SM050 I0000/I0001 禁止输入中断 0 执行 EI指令后，即使中断许可，但是 当此 SM动作时，对应的输入 中断将无法单独动作 例如：当SM050处于 ON时，禁止中 断 I0000/I0001 SM051 I0100/I0101 禁止输入中断 1 SM052 I0200/I0201 禁止输入中断 2 SM053 I0300/I0301 禁止输入中断 3 SM054 I0400/I0401 禁止输入中断 4 …… …… …… SM069 I1900/I1901 禁止输入中断 19 SM070 I40** 禁止定时中断 0 执行 EI指令后，即使中断许可，但是 当此 SM 动作时，对应的定时器中断 将无法单独动作 SM071 I41** 禁止定时中断 1 SM072 I42** 禁止定时中断 2 SM073 I43** 禁止定时中断 3 SM074 I44** 禁止定时中断 4 …… …… …… SM089 I59** 禁止定时中断 19 SM090 禁止所有中断 禁止所有中断 7）高速环形计数器（SM99） 地址号 功能 说明 SM099 高速环形计数使能 SM99置 ON，SD99每 0.1ms加 1，在 0到 32767循环。 8）高速计数完成标志位（SM100~SM109） 地址号 功能 说明 SM100 HSC0计数完成标志位（100段） SM101 HSC2计数完成标志位（100段）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 490 地址号 功能 说明 SM102 HSC4计数完成标志位（100段） SM103 HSC6计数完成标志位（100段） SM104 HSC8计数完成标志位（100段） SM105 HSC10计数完成标志位（100段） SM106 HSC12计数完成标志位（100段） SM107 HSC14计数完成标志位（100段） SM108 HSC16计数完成标志位（100段） SM109 HSC18计数完成标志位（100段） 9）高速计数方向标志位（SM110~SM119） 地址号 功能 说明 SM110 高速计数 HSC0方向标志位 SM111 高速计数 HSC2方向标志位 SM112 高速计数 HSC4方向标志位 SM113 高速计数 HSC6方向标志位 SM114 高速计数 HSC8方向标志位 SM115 高速计数 HSC10方向标志位 SM116 高速计数 HSC12方向标志位 SM117 高速计数 HSC14方向标志位 SM118 高速计数 HSC16方向标志位 SM119 高速计数 HSC18方向标志位 10）高速计数错误标志位（SM120~SM129） 地址号 功能 说明 SM120 高速计数 HSC0错误标志位 SM121 高速计数 HSC2错误标志位 SM122 高速计数 HSC4错误标志位 SM123 高速计数 HSC6错误标志位 SM124 高速计数 HSC8错误标志位 SM125 高速计数 HSC10错误标志位 SM126 高速计数 HSC12错误标志位 SM127 高速计数 HSC14错误标志位 SM128 高速计数 HSC16错误标志位 SM129 高速计数 HSC18错误标志位 11）高速计数值溢出标志位（SM130~SM139） 地址号 功能 说明 SM130 高速计数 HSC0溢出标志位 SM131 高速计数 HSC2溢出标志位 SM132 高速计数 HSC4溢出标志位 SM133 高速计数 HSC6溢出标志位 SM134 高速计数 HSC8溢出标志位 SM135 高速计数 HSC10溢出标志位 SM136 高速计数 HSC12溢出标志位 SM137 高速计数 HSC14溢出标志位 SM138 高速计数 HSC16溢出标志位 SM139 高速计数 HSC18溢出标志位


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 491 12）通讯（SM140~SM193） 串口号 编号 功能 说明 串口 0 SM140 Modbus指令正在执行标志 指令开始执行时，置 ON 执行完成时，置 OFF SM141 X-NET 指令正在执行标志 指令开始执行时，置 ON 执行完成时，置 OFF SM142 自由格式通讯正在发送标志 指令开始执行时，置 ON 发送完成时，置 OFF SM143 自由格式通讯接收完成标志 接收到一帧数据或接收数据超时时， 置ON； 需要用户程序置 OFF（网口机型常开导通 RCV，会自动置 ON置 OFF） 串口 1 SM150 Modbus指令正在执行标志 同 SM140 SM151 X-NET 指令正在执行标志 同 SM141 SM152 自由格式通讯发送中标志 同 SM142 SM153 自由格式通讯接收完成标志 同 SM143 串口 2 SM160 Modbus指令正在执行标志 同 SM140 SM161 X-NET 指令正在执行标志 同 SM141 SM162 自由格式通讯发送中标志 同 SM142 SM163 自由格式通讯接收完成标志 同 SM143 串口 3 SM170 Modbus指令正在执行标志 同 SM140 SM171 X-NET 指令正在执行标志 同 SM141 SM172 自由格式通讯发送中标志 同 SM142 SM173 自由格式通讯接收完成标志 同 SM143 串口 4 SM180 Modbus指令正在执行标志 同 SM140 SM181 X-NET 指令正在执行标志 同 SM141 SM182 自由格式通讯发送中标志 同 SM142 SM183 自由格式通讯接收完成标志 同 SM143 串口 5 SM190 Modbus指令正在执行标志 同 SM140 SM191 X-NET 指令正在执行标志 同 SM141 SM192 自由格式通讯发送中标志 同 SM142 SM193 自由格式通讯接收完成标志 同 SM143 13）顺序功能块BLOCK（SM300~SM399） 编号 功能 说明 SM300 BLOCK1正在执行标志 执行中为 ON SM301 BLOCK2正在执行标志 执行中为 ON SM302 BLOCK3正在执行标志 执行中为 ON SM303 BLOCK4正在执行标志 执行中为 ON SM304 BLOCK5正在执行标志 执行中为 ON SM305 BLOCK6正在执行标志 执行中为 ON …… …… SM396 BLOCK97正在执行标志 执行中为 ON SM397 BLOCK98正在执行标志 执行中为 ON SM398 BLOCK99正在执行标志 执行中为 ON SM399 BLOCK100正在执行标志 执行中为 ON


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 492 14）错误检测（SM400~SM414） 编号 功能 说明 SM400 I/O错误 SM401 扩展模块通讯错误 SM402 BD/ED通讯错误 SM403 FROM/TO指令错误标志 SM404 PID指令错误标志 SM405 没有用户程序 内部码校验错 SM406 用户程序错误 执行码、配置表或中断表校验错 SM407 SSFD校验错误 SM408 内存错误 无法擦除或写入 Flash SM409 运算错误 SM410 偏移溢出错误 偏移量超过软元件范围 SM411 FOR-NEXT 溢出错误 SM412 无效数据填充位 SM413 加密校验错误 SM414 FLASH寄存器数据错误 SM415 RTC实时时钟错误标志位 RTC时间日期校验失败 15）错误信息（SM450~SM465） 编号 功能 说明 SM450 系统错误标志 SM451 hardfault中断标志 SM452 SM453 SD卡错误标志 SM454 电源出现掉电现象 SM455 掉电保持数据错误 SM456 在线下载错误标志位 SM460 扩展模块 ID 不匹配 SM461 BD/ED模块 ID 不匹配 SM462 扩展模块通信超时 SM463 BD/ED模块通信超时 SM464 扩展模块通信数据溢出 SM465 BD/ED模块通信数据溢出 17）扩展模块、BD 状态（SM500） 编号 功能 说明 SM500 模块状态读取完成


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 493 附录2．特殊辅数据寄存器一览 1）电池（SD5） 编号 功能 说明 SD005 电池电量显示寄存器 电池电压为 3.1V时，显示 100；当电池电压低于 2.5V时， 显示为 0，此时请尽快更换电池，否则数据将无法断电保持 住 注：此寄存器仅适用于非 Ethercat 总线机型，Ethercat总线 机型通过超级电容写入内部芯片实现数据保持。 2）时钟（SD10~SD19） 编号 功能 说明 SD010 当前扫描周期 100us，us为单位 SD011 扫描时间的最小值 100us，us为单位 SD012 扫描时间的最大值 100us，us为单位 SD013 秒（时钟） 0~59 SD014 分钟（时钟） 0~59 SD015 小时（时钟） 0~23 SD016 日（时钟） 1~31 SD017 月（时钟） 1~12 SD018 年（时钟） 00~99 SD019 星期（时钟） 1（一）~7（日） 3）标志（SD20~SD31） 编号 功能 说明 SD020 机种 SD021 机型（低 8）系列号（高 8） SD022 兼容系统版本号（低）系统版本号（高） SD023 兼容机型版本号（低）机型版本号（高） SD024 机型信息 SD025 机型信息 SD026 机型信息 SD027 机型信息 SD028 适用的上位机版本 SD029 适用的上位机版本 SD030 适用的上位机版本 SD031 适用的上位机版本 4）步进阶梯（SD040） 编号 功能 说明 SD40 当前执行流程 S 的标号 5）高速环形计数器（SD99） 编号 功能 说明 SD099 高速环形计数器 SM99置 ON时，SD99每 0.1ms加 1，在 0~32767循 环


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 494 6）高速计数值（SD100~SD109） 编号 功能 高速计数器编号 SD100 当前段（表示第 n 段） HSC00 SD101 当前段（表示第 n 段） HSC02 SD102 当前段（表示第 n 段） HSC04 SD103 当前段（表示第 n 段） HSC06 SD104 当前段（表示第 n 段） HSC08 SD105 当前段（表示第 n 段） HSC10 SD106 当前段（表示第 n 段） HSC12 SD107 当前段（表示第 n 段） HSC14 SD108 当前段（表示第 n 段） HSC16 SD109 当前段（表示第 n 段） HSC18 7）高速计数错误（SD120~SD129） 编号 功能 说明 SD120 HSC0错误信息 SD121 HSC2错误信息 SD122 HSC4错误信息 SD123 HSC6错误信息 SD124 HSC8错误信息 SD125 HSC10错误信息 SD126 HSC12错误信息 SD127 HSC14错误信息 SD128 HSC16错误信息 SD129 HSC18错误信息 8）通讯（SD140~SD199） 串口号 编号 功能 说明 串口 0 SD140 Modbus读写指令执行结果 0：正确 100：接收错误 101：接收超时 180：CRC错误 181：LRC错误 182：站号错误 183：发送缓冲区溢出 400：功能码错误 401：地址错误 402：长度错误 403：数据错误 404：从站忙 405：内存错误（擦写 FLASH） SD141 X-Net通讯结果 0：正确 1：通讯超时 2：内存错误 3：接收 CRC错误 420：XNET读写错误 SD142 自由格式通讯发送结果 0：正确 410：自由格式发送缓冲区溢出 SD143 自由格式通讯接收结果 0：正确 410：发送数据长度溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 495 串口号 编号 功能 说明 411：接收数据短 412：接收数据长 413：接收错误 414：接收超时 415：无起始符 416：无终止符 SD144 自由格式通讯接收数据个数 按字节计，不包含起始符、终止符 串口 0 SD145 Modbus指令通信异常的从站号 0：表示 SD140无任何错误信息 非 0：表示 SD140中存在错误并对应 的展示出当前出错从站的站号 （仅 3.7.4及以上固件版本以太网机 型支持） …… SD149 串口 1 SD150 Modbus读写指令执行结果 同 SD140 SD151 X-Net通讯结果 同 SD141 SD152 自由格式通讯发送结果 同 SD142 SD153 自由格式通讯接收结果 同 SD143 SD154 自由格式通讯接收数据个数 同 SD144 SD155 Modbus指令通信异常的从站号 同 SD145 …… SD159 串口 2 SD160 Modbus读写指令执行结果 同 SD140 SD161 X-Net通讯结果 同 SD141 SD162 自由格式通讯发送结果 同 SD142 SD163 自由格式通讯接收结果 同 SD143 SD164 自由格式通讯接收数据个数 同 SD144 SD165 Modbus指令通信异常的从站号 同 SD145 …… SD169 串口 3 SD170~SD179 串口 4 SD180~SD189 串口 5 SD190~SD199 9）顺序功能块（SD300~SD399） 编号 功能 说明 SD300 BLOCK1当前执行的指令号 BLOCK监控的时候用这个值 SD301 BLOCK2当前执行的指令号 BLOCK监控的时候用这个值 SD302 BLOCK3当前执行的指令号 BLOCK监控的时候用这个值 SD303 BLOCK4当前执行的指令号 BLOCK监控的时候用这个值 SD304 BLOCK5当前执行的指令号 BLOCK监控的时候用这个值 SD305 BLOCK6当前执行的指令号 BLOCK监控的时候用这个值 …… …… …… SD396 BLOCK97当前执行的指令号 BLOCK监控的时候用这个值 SD397 BLOCK98当前执行的指令号 BLOCK监控的时候用这个值 SD398 BLOCK99当前执行的指令号 BLOCK监控的时候用这个值 SD399 BLOCK100当前执行的指令号 BLOCK监控的时候用这个值


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 496 10）错误检测（SD400~SD414） 编号 功能 说明 SD400 I/O错误类型 SD401 通信错误的扩展模块编号 表示第 n个模块错误 SD402 通信错误的 BD/ED模块编号 SD403 FROM/TO指令错误类型 SD404 PID指令错误类型 SD405 无用户程序 SD406 用户程序错误类型 SD407 SSDF错误类型 SD408 擦写 FLASH错误类型 SD409 运算错误类型 1：除 0 错误 2：MRST，MSET前操作数地址小于后操作数 3：ENCO，DECO编码、解码指令的数据位超 限 4：BDC码错误 7：开根号错误 SD410 偏移错误类型 SD411 SD412 无效数据填充值（低 16位） SD413 无效数据填充值（高 16位） SD414 FLASH寄存器数据错误类型 SD415 RTC实时时钟错误类型 1：RTC电源出现低压情况，需要重新写入时间 2：RTC写数据，时钟芯片未应答 ACK信号 3：写入非法时间日期数据 11）错误检测（SD450~SD465） 编号 功能 说明 SD450 系统错误类型 1：看门狗发作（默认 200ms） 2：申请控制块失败 3：访问不合法的地址 SD451 hardfault错误类型 1：储存器错误 2：总线错误 3：用法错误 SD453 SD卡错误 SD454 掉电时间 SD455 掉电保持数据错误类型 SD456 在线下载错误类型 1：在线下载程序校验错误 2：在线下载擦 Flash失败 3：在线下载写 Flash失败 4：在线下载启动 Bank号存储失败 SD460 扩展模块号 ID不匹配 SD461 BD/ED模块号 ID不匹配 SD462 扩展模块号通信超时 1~16：第（1~16）个扩展模块通信超时 SD463 BD/ED模块号通信超时 1：第 1 个 BD 模块通信超时 2：第 2 个 BD 模块通信超时 3：ED模块通信超时 SD464 扩展模块号通信数据溢出 SD465 BD/ED模块号通信数据溢出


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 497 12）扩展模块、BD 状态（SD500~SD516） 编号 功能 说明 SD500 模块号 扩展模块：#10000～10015 BD模块：#20000～20001 ED模块：#30000 SD501~SD516 扩展模块、BD/ED状态 16个寄存器 13）模块信息（SD520~SD823） 编号 功能 说明 备注 SD520~SD535 扩展模块信息 扩展模块 1 每个扩展模块、BD、ED占 用 16个寄存器 …… …… …… SD760~SD775 扩展模块信息 扩展模块 16 SD776~SD791 BD模块信息 BD模块 1 SD792~SD807 BD模块信息 BD模块 2 SD808~SD823 ED模块信息 ED模块 1 14）扩展模块错误信息（SD860~SD943） 编号 功能 说明 备注 SD860 读模块错误次数 扩展模块 1 SD861 读模块错误类型 1、模块地址错误 2、模块接收数据长度错误 3、模块 CRC校验错误 4、模块 ID 错误 5、模块超时错误 SD862 写模块错误次数 SD863 写模块错误类型 SD864 读模块错误次数 扩展模块 2 SD865 读模块错误类型 1、模块地址错误 2、模块接收数据长度错误 3、模块 CRC校验错误 4、模块 ID 错误 5、模块超时错误 SD866 写模块错误次数 SD867 写模块错误类型 …… SD920 读模块错误次数 扩展模块 16 SD921 读模块错误类型 1、模块地址错误 2、模块接收数据长度错误 3、模块 CRC校验错误 4、模块 ID 错误 5、模块超时错误 SD922 写模块错误次数 SD923 写模块错误类型 SD930 当前 ED读写时长 100us，us为单位 ED模块 1 SD931 最小 ED读写时长 SD932 最大 ED读写时长 SD933 ED读写错误次数 SD934 ED读写总次数（低 16位）


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
附录 特殊软元件一览表 XD/XL 系列可编程控制器用户手册［基本指令篇］ 498 编号 功能 说明 备注 SD935 ED读写总次数（高 16位） SD936 当前 BD1读写时长 100us，us为单位 BD模块 1 SD937 最小 BD1读写时长 SD938 最大 BD1读写时长 SD939 BD1读写错误次数 SD940 BD1读写总次数（低 16位） SD941 BD1读写总次数（高 16位） SD942 当前 BD2读写时长 100us，us为单位 BD模块 2 SD943 最小 BD2读写时长读模块错误类型 SD944 最大 BD2读写时长 SD945 BD2读写错误次数 SD946 BD2读写总次数（低 16位） SD947 BD2读写总次数（高 16位） 15）版本信息（SD990~SD993） 编号 功能 说明 备注 SD990 固件版本编译日期 低 16位 SD991 固件版本编译日期 高 16位 SD992 FPGA版本编译日期 低 16位 SD993 FPGA版本编译日期 高 16位 16）特殊功能（HSD50~HSD55）（固件版本V3.4.6 及以上支持） 编号 功能 说明 HSD50 电源掉电后保持数据写回时间※1 单字，单位 1ms HSD51 电源掉电检测 电源掉电后 CPU工作时间，单位 100us HSD52 上一次 PLC运行时间（低 16位） 双字，单位 1s HSD53 上一次 PLC运行时间（高 16位） HSD54 当前次 PLC运行时间（低 16位） 双字，单位 1s HSD55 当前次 PLC运行时间（高 16位） HSD58 FLASH寄存器擦写次数计数 17）错误历史记录（HSD80~HSD179、HSD190~HSD459） 编号 功能 说明 HSD79 错误列表索引值 （1）XDC系列 PLC仅支持存储 4 条错 误历史信息； （2）此功能需要编程软件版本 V3.5.3 （20190326）及以上、PLC固件版本 V3.4.6及以上支持。 （3）H运动模式最大支持 20条错误信 息，C 运动模式支持最大 4 条错误信 息。 HSD80~HSD84 第 1 条错误信息 HSD85~HSD89 第 2 条错误信息 HSD90~HSD94 第 3 条错误信息 HSD95~HSD99 第 4 条错误信息 HSD100~HSD104 第 5 条错误信息 HSD105~HSD109 第 6 条错误信息 HSD110~HSD114 第 7 条错误信息 HSD115~HSD119 第 8 条错误信息 HSD120~HSD124 第 9 条错误信息 HSD125~HSD129 第 10条错误信息 HSD130~HSD134 第 11条错误信息 HSD135~HSD139 第 12条错误信息 HSD140~HSD144 第 13条错误信息 HSD145~HSD149 第 14条错误信息


c0: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）
c1: XD、XL系列可编程控制器用户手册（基本指令篇）（PD05 20260610 1.6.1）.pdf
c3:
XD/XL 系列可编程控制器用户手册［基本指令篇］ 附录 特殊软元件一览表 499 编号 功能 说明 HSD150~HSD154 第 15条错误信息 HSD155~HSD159 第 16条错误信息 HSD160~HSD164 第 17条错误信息 HSD165~HSD169 第 18条错误信息 HSD170~HSD174 第 19条错误信息 HSD175~HSD179 第 20条错误信息 HSD190~HSD194 第 21条错误信息 H 运动模式扩展到 76条错误信息。 注：固件版本 V3.7.2及其以上支持。 HSD195~HSD199 第 22条错误信息 …… HSD450~HSD454 第 75条错误信息 HSD455~HSD459 第 76条错误信息 【注】 ：※1：HSD50 在 V3.7.2 及其以上版本为“电源掉电后保持数据写回时间”。


