16 PLC 功能应用MS300
642
16-1 PLC 概要
简介
MS300 内建 PLC 的功能,所提供的指令包含阶梯图编辑工具 WPLSoft、基本指令应用指令使用方法,
主要均延用台达 PLC 产品 DVP 系列的操作方式。
阶梯图编辑工具 WPLSoft
WPLSoft 为台达电子─可程控器 DVP 系列及 MS300 在 Windows 操作系统环境下所使用之程序编辑软
件。WPLSoft 除了一般 PLC 程序的规划及 Windows 的一般编辑功能 (例如:剪下、贴上、复制、多窗
口等) 外,另提供多种中 / 英文批注编辑及其他便利功能 (例如:缓存器编辑、设定、档案读取、存盘
及各接点图示监测与设定等) 。
安装 WPLSoft 编辑软件的基本需求如下:
项 目 系 统 需 求
操作系统 Windows 95 / 98 / 2000 / NT / ME / XP / 7 /10
CPU Pentium 90 以上机种
内存 16 MB 以上 (建议使用 32 MB 以上)
磁盘驱动器
硬盘容量:至少 100 MB 以上空间
光驱一部 (安装本软件时使用)
显示器 分辨率:640×480,16 色以上,建议将屏幕区域设定为 800×600 个像素
鼠标 一般用鼠标或 Windows 兼容的装置
打印机 具 Windows 驱动程序的打印机
RS-485 埠 至少需有一个 RS-485 埠可与 PLC 连接
USB 埠 透过变频器本体上的 USB 埠可与 PLC 连接
表 16-1
16 PLC 功能应用MS300
643
16-2 PLC 使用上需注意事项
1. MS30 提供 2 个通讯的串口来上传 / 下载 PLC 程序,如下图 16-1 所示。
Channel 1 (USB 端口) 通讯格式与 Channel 2 相同。
Channel 2 通讯格式默认为 7,N,2,9600。ASCII. 可透过参数修改 (传输速度由参数 09-01 修
改;通讯格式由参数 09-04 修改)。
2. P 预设为站号 2,如果想改 PLC 站号可在参数 09-35 修改,但此地址不可与参数 09-00 (变频器地
址) 设为一样。
图 16-1
3. 上位机可以同时变频器和内部 PLC 存取资料,实现方式为透过站号的识别。举例来说,如果变频器站
号为 1 而内部 PLC 站号为 2,则上位机命令为
01 (站号) 03 (读取) 0400 (地址) 0001 (1 笔),表示要读取变频器参数 04-00 的资料
02 (站号) 03 (读取) 0400 (地址) 0001 (1 笔),表示要读取内部 PLC X0 的数据
4. 上传 / 下载程序时,PLC 程序将停止动作。
5. 使用 WPR 指令时请注意,如果是用在写入参数的部份,则容许改值次数限于 10 的 9 次方内,否则会
发生内存写坏的情形。次数的计算以写入值是否变更为依据,若写入值不变,在下一个执行时,次数
不累加;若写入值与上次不同时,则计算为一次。
6. 将参数 00-04 设定为 28 时,显示的值为 PLC 缓存器 D1043 之值,如下图 16-2 所示:
图 16-2
数字操作器 KPC-CC01 (选购品)
可显示 0~65535
16 PLC 功能应用MS300
644
7. 在 PLC RUN 及 PLC STOP 模式下,参数 00-02 设定内容 9 与 10 不能做设定,也就是不能重设回出
厂值。
8. 参数 00-02 设为 6 时,可以恢复 PLC 到出厂值。
9. 当 PLC 有写到输入接点 X 时,所对应的 MI 功能会无作用。
10. 当 PLC 有控制变频器运转时,则控制命令完全由 PLC 控制而不理会参数 00-21 的设定。
11. 当 PLC 有控制变频器频率 (FREQ 指令),则频率命令完全由 PLC 控制而不理会参数 00-20 的设定和
Hand ON / OFF 的组合。
12. 当 PLC 有控制变频器运转时,如果此时数字操作器设定 STOP 有效,则会触发 FStP 错误并停车。
16 PLC 功能应用MS300
645
16-3 开始启动
计算机联机 Connect to PC
请依下方步骤开始操作 PLC 功能
在数字操作器 KPC-CC01 (选配) 按 MENU 键选择 10:PLC 功能后,按下 ENTER 键。接着,再选择
2:启动 PLC 功能并按下 ENTER 键,如下图 16-3 所示。
图 16-4
图 16-3
1. 接线:请将变频器 RJ-45 通讯接口经由 RS-485 与计算机联机。
16 PLC 功能应用MS300
646
KPC-CC01 (选配)
图 16-5
PLC 功能如左图 16-5 所示,选择项目 2 及执行 PLC 功能。
1:无功能 (Disable)
2:启动 PLC 功能 (PLC Run)
3:停止 PLC 功能 (PLC Stop)
KPMS-LE01
图 16-6
进入 PLC 模式设定 (如左图 16-6 所示),选择 PLC1
PLC0:不执行 PLC 功能
PLC1:触发 PLC RUN
PLC2:触发 PLC STOP
当外部多功能输入端子 (MI1~MI7) 设定为 PLC Mode select bit0 (51) 或 PLC Mode select bit1
(52) 时,端子接点导通 (CLOSE) 或断路 (OPEN) 时,会强制切换 PLC 的模式,此时 Keypad
的切换无效。而对应如下:
PLC 模式
PLC Mode select bit1 (52) PLC Mode select bit0 (51) 使用 KPC-CC01 使用 KPMS-LE01
无功能 PLC0 OFF OFF
启动 PLC 功能 PLC1 OFF ON
停止 PLC 功能 PLC2 ON OFF
维持前一态 维持前一态 ON ON
表 16-2
MS300 数字操作器执行 PLC 功能方式
当数字操作器上 PLC 页面切换至 PLC0 (或使用 KPC-CC01,选取「无功能」) 时,内建 PLC
功能将会失效,且无法使用 WPLSoft 或 ISPSoft 做通讯控制。
当数字操作器上 PLC 页面切换至 PLC1 (或使用 KPC-CC01,选取「启动 PLC 功能」) 时,
将会触发执行内建 PLC 功能,且可使用 WPLSoft 或 ISPSoft 的 Modbus 通讯控制。
当数字操作器上 PLC 页面切换至 PLC2 (或使用 KPC-CC01,选取「停止 PLC 功能」) 时,
将会触发停止内建 PLC 功能。在此状态下,可使用 WPLSoft 或 ISPSoft 做通讯控制,但内
建 PLC 功能中的程序将无法执行。
当内建 PLC 功能被触发 (PLC1 或 PLC2),可以由 WPLSoft 或 ISPSoft 切换其启动或停止。
外部端子控制方式如同上表 16-2 所述。
註記:
⚫ 当输出 / 输入端子 (MI1~MI7 Relay MO) 有被编写至 PLC 程序里,这些输出 / 输入端子将只被 PLC
使用。举例来说,PLC 执行时 (PLC1 或 PLC2),当 PLC 程序中有控制到 Y0 时,对应的输出端子 Relay
(RA / RB / RC) 就会跟着程序动作。此时多功能输入 / 输出端子的设定会无效,因为这些端子的功能
已经被 PLC 所使用,可参考参数 02-52、02-53、03-30 看看哪些 DI / DO / AO 已被 PLC 所占用。
⚫ 当 PLC 程序中有使用到特殊缓存器 D1040 时,其对应的 AO 接点 AFM 则会被占用。
⚫ 参数 03-30 为监控 PLC 功能模拟输出端子动作状态,其 bit0 对应为 AFM 动作状态。
2. 执行 PLC 功能方式
16 PLC 功能应用MS300
647
I/O 装置对应说明
输入设备:
PLC
输入 Relay
X0 X1 X2 X3 X4 X5 X6 X7 X10 X11 X12 X13 X14 X15 X16 X17
变频器
输入端子 MI1 MI2 MI3 MI4 MI5 MI6 MI7
表 16-3
输出装置:
PLC
输出 Relay
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17
变频器
输出端子 RY MO1 MO2
表 16-4
图 16-7
16 PLC 功能应用MS300
648
安装 WPLSoft
请至台达官网之下载中心下载与安装 WPLSoft 编辑软件:
安装完成后,WPLSoft 程序将建立在指定的默认子目录「C:\\Program Files\\Delta Industrial
Automation\\WPLSoft x.xx」下。
程序编写
步骤 1. 以鼠标点取 WPLSoft 图标按钮 (ICON) 即可执行编辑软件 (如下图 16-8)。
图 16-8、左:WPLSoft 程序图标;右:程序开启画面
步骤 2. 出现 WPLsoft 编辑器窗口 (如下图 16-9)。第一次进入 WPLSoft 且尚未执行『开启新文件』
时,窗口在菜单栏中只有『档案 (F)』、『通讯 (C)』、『检视 (V)』、『设定 (O)』与『说明
(H)』。
图 16-9
16 PLC 功能应用MS300
649
注记:第二次进入 WPLSoft 则会直接开启最后一次编辑的档案并显示于编辑窗口。WPLSoft 编辑软件
窗口说明如下图 16-10 所示:
图 16-10
步骤 3. 点选图示工具栏中 按钮:开启新档 (Ctrl+N),如下图 16-11 所示。
图 16-11
注记:除了上述方式,也可从菜单栏中的『档案 (F) 』选取『开新档案 (N) Ctrl+N』,如下图 16-12 所
示。
图 16-12
画面名称列
菜单栏
显示工具栏
工作区
指令编辑区
阶梯图编辑区
16 PLC 功能应用MS300
650
步骤 4. 点选后会出现「机种设定」窗口 (如下图 16-13 所示),请设定项目标题、文件名、目前使用的
机种类别、机种设定及通信设置。
图 16-13
通信设置:依所需的通讯方式进行设定,然后按「确定」(如下图 16-14 所示)。
图 16-14
注记:当使用 USB 埠连接变频器 (MS300 / MH300 系列) 时,需特别注意联机设定中的传输方式仍需
选用『RS232』。
16 PLC 功能应用MS300
651
步骤 5. 设定完成后按下确认键,即可开始进行程序的编辑。编辑程序的方式有两种:指令模式与阶梯图
模式 (如下图 16-15 所示),可自行选择欲使用的模式进行编辑。
图 16-15
注记:在阶梯图模式中可利用阶梯图工具栏中的按钮 (如下图 16-16 所示) 进行编辑程序。
图 16-16
16 PLC 功能应用MS300
652
基本操作-范例
输入如下阶梯图。下方步骤说明可使用鼠标操作及键盘功能键 (F1~F12) 操作。
图 16-17
步骤 1. 建立新档案后进入以下画面。
图 16-18
步骤 2. 点选 『常开开关』按钮或按功能键 F1。画面出现输入设备名称与批注对话框后便可选取
装置名称 (例:M)、装置编号 (例:10) 及输入批注 (例:辅助接点),完成后即可按下确定键,
如下图 16-19、16-20 所示。
图 16-19
16 PLC 功能应用MS300
653
图 16-20
步骤 3. 点选 『输出线圈』按钮或按功能键 F7。画面出现输入设备名称与批注对话框后选取装置
名称 (例:Y)、装置编号 (例:0) 及输入批注 (例:输出线圈),完成后即可按下确定键,如下
图 16-21、16-22 所示。
图 16-21
图 16-22
16 PLC 功能应用MS300
654
步骤 4. 单击 ENTER 键,画面出现输入指令窗口,输入「END」后按确定键,如下图 16-23、16-24
所示。
图 16-23
图 16-24
步骤 5. 点选 『阶梯图→指令』按钮,将编辑完成的阶梯图作编译转换成指令程序。编译完成后母
线左边会出现步级数 (steps),如下图 16-25 所示。
图 16-25
16 PLC 功能应用MS300
655
程序下载
在 WPLSoft 输入程序后,选择编译 。编译完成后选择 下载程序。WPLSoft 将依照设定选项
中通信设置之通讯格式与联机之 PLC 做程序下载。
程序监控
确定 PLC 为 RUN 模式,在下载程序后,点选 『在线模式』按钮在通讯选单中选择阶梯图监控开
始,如下图 16-26 所示:
图 16-26
16 PLC 功能应用MS300
656
16-4 PLC 阶梯图基本原理
PLC 之阶梯图程序扫描之示意图
依阶梯图组态演算出输出
结果 (尚未送到外界输出点
,但内部装置会实时输出)
周而复始的执行
图 16-27
阶梯图简介
阶梯图为广泛应用在自动控制的一种图形语言,这是沿用电气控制电路的符号所组合而成的一种图
形,透过阶梯图编辑器画好阶梯图形后,PLC 的程序设计也就完成,以图形表示控制的流程较为直观,
易为熟悉电气控制电路的技术人员所接受。在阶梯图形很多基本符号及动作都是根据在传统自动控制配
电盘中常见的机电装置如按钮、开关、继电器 (Relay) 、定时器 (Timer) 及计数器 (Counter) 等等。
PLC 的内部装置:PLC 内部装置的种类及数量随各厂牌产品而不同。内部装置虽然沿用了传统电气
控制电路中的继电器、线圈及接点等名称,但 PLC 内部并不存在这些实际物理装置,与它对应的只是
PLC 内部存储器的一个基本单元 (一个位,bit),若该位为 1 表示该线圈受电,该位为 0 表示线圈不受
电,使用常开接点 (Normal Open,NO 或 a 接点) 即直接读取该对应位的值,若使用常闭接点 (Normal
Close,NC 或 b 接点) 则取该对应位值的反相。多个继电器将占有多个位 (bit),8 个位,组成一个字节
(或称为一个字节,byte),二个字节,称为一个字 (word),两个字,组合成双字 (double word)。当多个
继电器一并处理时 (如加 / 减法、移位等) 则可使用字节、字或双字,且 PLC 内部的另两种装置:定时
器及计数器,不仅有线圈,而且还有计时值与计数值,因此还要进行一些数值的处理,这些数值多属于
字节、字或双字的形式。
由以上所述,各种内部装置,在 PLC 内部的数值储存区,各自占有一定数量的储存单元,当使用这
些装置,实际上就是对相应的储存内容以位或字节或字的形式进行读取。
基本 PLC 的基本内部装置介绍
16 PLC 功能应用MS300
657
装置种类 功 能 说 明
输入继电器
(Input Relay)
输入继电器是 PLC 与外部输入点 (用来与外部输入开关连接并接受外部输入信号的端子)
对应的内部存储器储存基本单元。它由外部送来的输入信号驱动,使它为 0 或 1。用程序
设计的方法不能改变输入继电器的状态,即不能对输入继电器对应的基本单元改写,亦无
法由 WPLSoft 作强制 ON / OFF 动作。它的接点 (a、b 接点) 可无限制地多次使用。无输
入信号对应的输入继电器只能空着,不能移作它用。
装置表示:X0, X1,…X7, X10, X11,…,装置符号以 X 表示,顺序以 8 进制编号。
输出继电器
(Output Relay)
输出继电器是 PLC 与外部输出点 (用来与外部负载作连接) 对应的内部存储器储存基本单
元。它可以由输入继电器接点、内部其它装置的接点以及它自身的接点驱动。它使用一个
常开接点接通外部负载,其它接点,也像输入接点一样可无限制地多次使用。无输出对应
的输出继电器,它是空着的,如果需要,它可以当作内部继电器使用。
装置表示:Y0, Y1,…Y7, Y10, Y11,…,装置符号以 Y 表示,顺序以 8 进制编号。
内部辅助继电器
(Internal Relay)
内部辅助继电器与外部没有直接联系,它是 PLC 内部的一种辅助继电器, 其功能与电气控
制电路中的辅助 (中间) 继电器一样, 每个辅助继电器也对应着内存的一基本单元它可由
输入继电器接点、输出继电器接点以及其它内部装置的接点驱动,它自己的接点也可以无
限制地多次使用。内部辅助继电器无对外输出,要输出时请透过输出点。
装置表示:M0, M1,…,装置符号以 M 表示,顺序以 10 进制编号。
计数器
(Counter)
计数器用来实现计数操作。使用计数器要事先给定计数的设定值 (即要计数的脉冲数) 。计
数器含有线圈、接点及计数储存器,当线圈由 OFF→ON,即视为该计数器有一脉冲输入,
其计数值加一,有 16 位可供用户选用。
装置表示:C0, C1,…,装置符号以 C 表示,顺序以 10 进制编号。
定时器
(Timer)
定时器用来完成定时的控制。定时器含有线圈、接点及计时值缓存器,当线圈受电,等到
达预定时间,它的接点便动作 (a 接点闭合,b 接点开路) ,定时器的定时值由设定值给定。
定时器有规定的时钟周期 (计时单位:100 ms) 。一旦线圈断电,则接点不动作 (a 接点开
路,b 接点闭合) ,原计时值归零。
装置表示:T0, T1,…,装置符号以 T 表示,顺序以 10 进制编号。
数据缓存器
(Data register)
PLC 在进行各类顺序控制及定时值与计数值有关控制时,常常要作数据处理和数值运算,
而数据缓存器就是专门用于储存数据或各类参数。每个数据缓存器内有 16 位二进制数值,
即存有一个字,处理双字用相邻编号的两个数据缓存器。
装置表示:D0, D1,…,装置符号以 D 表示,顺序以 10 进制编号。
表 16-5
16 PLC 功能应用MS300
658
阶梯图组成图形与说明
阶梯图形结构 命令解说 指令 使用装置
常开开关,a 接点 LD X、Y、M、T、C
常闭开关,b 接点 LDI X、Y、M、T、C
串接常开 AND X、Y、M、T、C
串接常闭 ANI X、Y、M、T、C
并接常开 OR X、Y、M、T、C
并接常闭 ORI X、Y、M、T、C
正缘触发开关 LDP X、Y、M、T、C
负缘触发开关 LDF X、Y、M、T、C
正缘触发串接 ANDP X、Y、M、T、C
负缘触发串接 ANDF X、Y、M、T、C
正缘触发并接 ORP X、Y、M、T、C
负缘触发并接 ORF X、Y、M、T、C
区块串接 ANB 无
区块并接 ORB 无
多重输出
MPS
MRD
MPP
无
线圈驱动输出指令 OUT Y、M
部分基本指令、应用指令
部分基本指令
应用指令
反向逻辑 INV 无
表 16-6
16 PLC 功能应用MS300
659
16-4-3 PLC 阶梯图之编辑要点
程序编辑方式是由左母线开始至右母线 (在 WPLSoft 编辑省略右母线的绘制) 结束,一列编完再换下一
列,一列的接点个数最多能有 11 个,若是还不够,会产生连续线继续连接,进而续接更多的装置,连续
编号会自动产生,相同的输入点可重复使用。如下图 16-28 所示:
图 16-28
阶梯图程序的运作方式是由左上到右下的扫描。线圈及应用命令运算框等属于输出处理,在阶梯图形中
置于最右边。以下图 16-29 为例,我们来逐步分析阶梯图的流程顺序,右上角的编号为其顺序。
命令顺序解析
1 LD X0
2 OR M0
3 AND X1
4 LD X3
AND M1
ORB
5 LD Y1
AND X4
6 LD T0
AND M3
ORB
7 ANB
8 OUT Y1
TMR T0 K10
图 16-29
阶梯图各项基本结构详述
1. LD (LDI) 命令:一区块的起始给予 LD 或 LDI 的命令。如下图 16-30 所示:
图 16-30
LDP 及 LDF 的命令结构也是如此,不过其动作状态有所差别。LDP、LDF 在动作时是在接点导通
的上升缘或下降缘时才有动作。如下图 16-31 所示:
图 16-31
16 PLC 功能应用MS300
660
2. AND (ANI) 命令:单一装置接于一装置或一区块的串联组合。如下图 16-32 所示:
图 16-32
注记:ANDP、ANDF 的结构也是如此,只是其动作发生情形是在上升与下降缘时。
3. OR (ORI) 命令:单一装置接于一装置或一区块的组合。如下图 16-33 所示:
图 16-33
注记:ORP、ORF 也是相同的结构,不过其动作发生时是在上升及下降缘。
4. ANB 命令:一区块与一装置或一区块的串接组合。如下图 16-34 所示:
图 16-34
5. ORB 命令:一区块与一装置或与一区块并接的组合。如下图 16-35 所示:
图 16-35
注记:ANB 及 ORB 运算,如果有好几个区块结合,应该由上而下或是由左而右,依序合并成区块
或是网络。
16 PLC 功能应用MS300
661
图 16-36
常用基本程序设计范例
启动、停止及自保
有些应用场合需要利用按钮的瞬时闭合及瞬时断开作为设备的启动与停止。因此若要维持持续动作,则
必须设计自保回路,自保回路有下列几种方式:
范例 1:停止优先的自保回路
当启动常开接点 X1 = ON,停止常闭接点 X2=OFF 时,Y1 = ON,此时将 X2 = ON,则线圈
Y1 停止受电,所以称为停止优先。如下图 16-37 所示:
Y1 X2
X1
START
STOP
Y1
图 16-37
6. MPS、MRD、MPP 命令:多重输出的分歧点记忆,这样可以产生多个并且具有变化的不同输出。
MPS 指令是分歧点的开始,所谓分歧点是指水平线与垂直线相交之处,我们必须经由同一垂直线
的接点状态来判定是否应该下接点记忆命令,基本上每个接点都可以下记忆命令,但是顾虑到 PLC
的运作方便性以及其容量的限制,所以有些地方在阶梯图转换时就会有所省略,可以由阶梯图的结
构来判断是属于何种接点储存命令。
MPS 可以由「┬」来做分辨,一共可以连续下此命令 8 次。MRD 指令是分歧点记忆读取,因
为同一垂直线的逻辑状态是相同的,所以为了继续其他的阶梯图的解析进行,必须要再把原接
点的状态读出。
MRD 可以由「├」来做分辨。MPP 指令是将最上层分歧点开始的状态读出并且把它自堆栈中
读出 (Pop),因为它是同一垂直线的最后一笔,表示此垂直线的状态可以结束了。
MPP 可以由「└」来做判定。基本上使用上述的方式解析不会有误,但是有时相同的状态输出,
编译程序会将之省略,以下图 16-36 说明:
16 PLC 功能应用MS300
662
范例 2:启动优先的自保回路
当启动常开接点 X1 = ON,停止常闭接点 X2=OFF 时,Y1 = ON,线圈 Y1 将受电且自保,此
时将 X2 = ON,线圈 Y1 仍因自保接点而持续受电,所以称为启动优先。如下图 16-38 所示:
Y1
X1 X2
START STOP
Y1
图 16-38
范例 3:设定 (SET)、复位 (RST) 指令的自保回路
下图 16-39 是利用 RST 及 SET 指令组合成的自保电路。
⚫ RST 指令设置在 SET 指令之后,为停止优先。由于 PLC 执行程序时,是由上而下,因此
会以程序最后 Y1 的状态作为 Y1 的线圈是否受电。所以当 X1 与 X2 同时动作时,Y1 将失
电,因此为停止优先 (请参考图 16-39 之左图)。
⚫ SET 指令设置在 RST 指令之后,为启动优先。当 X1 与 X2 同时动作时,Y1 将受电,因此
为启动优先 (请参考图 16-39 之右图)。
图 16-39
常用的控制回路
范例 4:条件控制
X1、X3 分别启动 / 停止 Y1,X2、X4 分别启动 / 停止 Y2,而且均有自保回路。由于 Y1 的常
开接点串联了 Y2 的电路,成为 Y2 动作的一个 AND 的条件,所以 Y2 动作要以 Y1 动作为条
件,Y1 动作中 Y2 才可能动作。如下图 16-40 所示:
X 1 X 3
Y 1
Y 1
X 2 X 4
Y 2
Y 2
Y 1
X 1
X 3
X 2
X 4
Y 1
Y 2
图 16-40
16 PLC 功能应用MS300
663
范例 5:互锁控制
下图 16-41 为互锁控制回路,启动接点 X1、X2 哪一个先有效,对应的输出 Y1 或 Y2 将先动
作。而且其中一个动作,另一个就不会动作,也就是说 Y1、Y2 不会同时动作 (互锁作用)。即
使 X1,X2 同时有效,由于阶梯图程序是自上而下扫描,Y1、Y2 也不可能同时动作。本阶梯图
形只有让 Y1 优先。
图 16-41
范例 6:顺序控制
若把范例 5「互锁控制」中 Y2 的常闭接点串入到 Y1 的电路中,作为 Y1 动作的一个 AND 条
件 (如下图 16-42 所示),则这个电路不仅 Y1 作为 Y2 动作的条件,而且当 Y2 动作后还能停止
Y1 的动作,这样就使 Y1 及 Y2 确实执行顺序动作的程序。
X1 X3
Y1
Y1
X2 X4
Y2
Y2
Y1
Y2
图 16-42
范例 7:振荡电路
周期为 ΔT+ΔT 的振荡电路
下图 16-43 为一个很简单的阶梯图形。当开始扫描 Y1 常闭接点时,由于 Y1 线圈为失电状态,
所以 Y1 常闭接点闭合,接着扫描 Y1 线圈时,使之受电,输出为 1。下次扫描周期再扫描 Y1
常闭接点时,由于 Y1 线圈受电,所以 Y1 常闭接点打开,进而使线圈 Y1 失电,输出为 0。重
复扫描的结果,Y1 线圈上输出了周期为 ΔT (ON) +ΔT (OFF) 的振荡波形。
Y 1
Y 1 Y 1
T T
图 16-43 X1 X3
Y1
Y1
X2 X4
Y2
Y2
Y1
X1
X3
X2
X4
Y1
Y2
Y2
16 PLC 功能应用MS300
664
周期为 nT+ΔT 的振荡电路
下图 16-44 的阶梯图程序使用定时器 T0 控制线圈 Y1 的受电时间,Y1 受电后,它在下个扫描
周期又使定时器 T0 关闭,进而使 Y1 的输出成了下图中的振荡波形。其中 n 为定时器的十进制
设定值,T 为该定时器时基 (时钟周期)。
图 16-44
范例 8:闪烁电路
下图 16-45 是常用的使指示灯闪烁或使蜂鸣器报警用的振荡电路。它使用了两个定时器,以控
制 Y1 线圈的 ON 及 OFF 时间。其中 n1、n2 分别为 T1 与 T2 的计时设定值,T 为该定时器时
基 (时钟周期)。
T 1
Y 1
Y 1
n1*T
TMR T 1 Kn1 X 0
X 0 T 2
TMR T 2 Kn2
X 0 T 1
n2*T
图 16-45
范例 9:触发电路
在下图 16-46 中,X0 的上升缘微分指令使线圈 M0 产生 ΔT (一个扫描周期时间) 的单脉冲,在
这个扫描周期内线圈 Y1 也受电。下个扫描周期线圈 M0 失电,其常闭接点 M0 与常闭接点 Y1
都闭合着,进而使线圈 Y1 继续保持受电状态,直到输入 X0 又来了一个上升缘,再次使线圈
M0 受电一个扫描周期,同时导致线圈 Y1 失电…。其动作时序如下图。这种电路常用于靠一个
输入使两个动作交替执行。另外由下时序图形可看出:当输入 X0 是一个周期为 T 的方波信号
时,线圈 Y1 输出便是一个周期为 2T 的方波信号。
图 16-46
X0
M0
X0
M0 Y1
M0
Y1
M0 Y1
Y1
T
16 PLC 功能应用MS300
665
范例 10:延迟电路
当输入 X0 ON 时,由于其对应常闭接点 OFF,使定时器 T10 处于失电状态,所以输出线圈
Y1 受电,直到输入 X0 OFF 时,T10 得电并开始计时,输出线圈 Y1 延时 100 秒 (K1000 ×
0.1 秒 = 100 秒) 后失电,请参考下图 16-47 的动作时序。
图 16-47
范例 11:通断延迟电路,使用两个定时器组成的电路,当输入 X0 ON 与 OFF 时,输出 Y4 都会产生延
时。如下图 16-48 所示:
图 16-48
范例 12:延长计时电路
在下图 16-49 之左图电路中,从输入 X0 闭合到输出 Y1 得电的总延迟时间 = (n1+n2) × T。
T11、T12:定时器;时钟周期:T。
X 0
Y 1
TMR T12 Kn2
X 0
T11
TMR T11 Kn1
T12
Y 1
T11
T12
n1*T
n2*T
(n1+n2)*T
图 16-49
16 PLC 功能应用MS300
666
16-5 PLC 各种装置功能
项目 规格 备注
演算控制方式 内存程序,往返式来回扫瞄方式
扫描开始会先更新输入点,扫描
结束会再更新输出点
输入 / 输出控制方式
结束再生方式 (当执行至 END 指令),输入 / 输
出有立即刷新指令
演算处理速度 基本指令 (数个 us) 应用指令 (1~数十个 us)
程序语言 指令+阶梯图
程序容量 2000 steps
输入 / 输出接点
数字输入 (X) :7,数字输出 (Y) :3,模拟输
入 AI:2,模拟输出 AO:1
表 16-7
类别 装置 项目 范围 功能
继
电
器
位
元
型
态
X 外部输入继电器 X0~X17,16 点,8 进制编码 合计
32 点
对应至外部的输入点
Y 外部输出继电器 Y0~Y17,16 点,8 进制编码 对应至外部的输出点
M
辅助
继电器
一般用 M0~M799,800 点 合计
1080 点
接点可于程序内做 ON / OFF 切换
特殊用 M1000~M1279,280 点
T 定时器
100 ms
定时器 T0~T79,80 点
合计
80 点
TMR 指令所指定的定时器,若计
时到达则此同编号 T 的接点将会
ON
C 计数器
16 位
上数一般用
C0~C39,40 点
合计
40 点
CNT 指令所指定的计数器,若计
数到达则此同编号 C 的接点将会
ON
暂存
器字
元组
资料
T 定时器现在值 T0~T79,80 点 计时到达时,接点导通
C 计数器现在值 C0~C39,16 位计数器 40 点 计数到达时,该计数器接点导通
D
资料
缓存器
停电保持用 D0~D9,10 点
合计
420 点
一般用 D10~D199,190 点 作为数据储存的内存区域
特殊用 D1000~ D1219,220 点
常数
K 10 进制
单字节 可设定范围:K-32,768 ~ K32,767
双字节 可设定范围:K-2,147,483,648~K2,147,483,647
H 16 进制
单字节 可设定范围:H0000~HFFFF
双字节 可设定范围:H00000000~HFFFFFFFF
串行通信口 (程序写入 / 读出) RS-485 / USB / Keypad Port
模拟输入/输出 内建二组模拟输入,一组模拟输出
高速计数 内建一组 (MI7) 32 位高速计数器
功能扩充模块 选购 无
通讯扩充模块 选购 CMM-COP02 (CANopen)
表 16-8
16 PLC 功能应用MS300
667
各装置功能说明
输入 / 输出接点的功能
输入接点 X 的功能:输入接点 X 与输入设备连接,读取输入讯号进入 PLC。每一个输入接点 X 的 A 或
B 接点于程序中使用次数没有限制。输入接点 X 之 ON / OFF 只会跟随输入设备的 ON / OFF 做变化,
不可使用周边装置 (WPLSoft) 来强制输入接点 X 之 ON / OFF。
输出接点 Y 的功能
输出接点 Y 的任务就是送出 ON / OFF 信号来驱动连接输出接点 Y 的负载。输出接点分成两种,一为继
电器 (Relay),另一为晶体管 (Transistor),每一个输出接点 Y 的 A 或 B 接点于程序中使用次数没有限
制,但输出线圈 Y 的编号,在程序建议仅能使用一次,否则依 PLC 的程序扫描原理,其输出状态的决
定权会落在程序中最后的输出 Y 的电路。
图 16-50
数值、常数 [K] / [H]
常数
单字节 K 10 进制 K-32,768 ~ K32,767
双字节 K-2,147,483,648~K2,147,483,647
单字节 H 16 进制 H0000~HFFFF
双字节 H00000000~HFFFFFFFF
表 16-9
PLC 内部依据各种不同控制目的,共使用 5 种数值类型执行运算的工作,各种数值的任务及功能如下说
明。
二进制 (Binary Number,BIN)
PLC 内部之数值运算或储存均采用二进制,二进制数值及相关术语如下:
位 (bit) 位为二进制数值之最基本单位,其状态非 1 即 0
位数 (Nibble) 由连续的 4 个位所组成 (如 b3~b0),可用以表示一个位数之 10 进制数
字 0~9 或 16 进制之 0~F。
字节 (Byte) 是由连续之两个位数所组成 (亦即 8 位,b7~b0),可表示 16 进制之
00~FF。
字符组 (Word) 是由连续之两个字节所组成 (亦即 16 个位,b15~b0),可表示 16 进制
之 4 个位数值 0000~FFFF。
双字符组 (Double Word) 是由连续之两个字符组所组成 (亦即 32 个位,b31~b0),可表示 16 进
制之 8 个位数值 00000000~FFFFFFFF
表 16-10
16 PLC 功能应用MS300
668
二进制系统中位、位数、字节、字符组、及双字符组的关系如下图 16-51 所示:
图 16-51
八进制 (Octal Number,OCT)
DVP-PLC 的外部输入及输出端子编号采八进制编码
例:外部输入:X0~X7,X10~X17… (装置编号);
外部输出:Y0~Y7,Y10~Y17… (装置编号)
十进制 (Decimal Number,DEC)
十进制在 PLC 系统应用的时机如:
作为定时器 T、计数器 C 等的设定值,例:TMR C0 K50。(K 常数)
M、T、C、D 等装置的编号,例:M10、T30。(装置编号)
在应用指令中作为操作数使用,例:MOV K123 D0。(K 常数)
BCD (Binary Code Decimal,BCD)
以一个位数或 4 个位来表示一个十进制的数据,故连续的 16 个位可以表示 4 位数的十进制数值数据。
主要用于读取指拨轮数字开关的输入数值或将数值数据输出至七段显示驱动器显示之用。
十六进制 (Hexadecimal Number,HEX)
十六进制在 PLC 系统应用的时机:在应用指令中作为操作数使用,例:MOV H1A2B D0。(H 常数)
常数 K
十进制数值在 PLC 系统中,通常会在数值前面冠以一个「K」字表示,例:K100,表示为十进制,其数
值大小为 100。
例外:当使用 K 再搭配位装置 X、Y、M,可组合成为位数、字节、字符组或双字符组形式的数据。
例:K2Y10、K4M100。在此 K1 代表一个 4 bits 的组合,K2~K4 分别代表 8、12 及 16 bits 的组
合。
常数 H
十六进制数值在 PLC 中,通常在其数值前面冠以一个「H」字符表示,例:H100,其表示为十六进制,
数值大小为 100。
16 PLC 功能应用MS300
669
辅助继电器的功能
辅助继电器 M 与输出继电器 Y 一样有输出线圈及 A、B 接点,而且于程序当中使用次数无限制,使用者
可利用辅助继电器 M 来组合控制回路,但无法直接驱动外部负载。依其性质可区分为下列二种:
一般用辅助继电器:
一般用辅助继电器于 PLC 运转时若遇到停电,其状态将全部被复归为 OFF,再送电时其状态仍为
OFF。
特殊用辅助继电器:
每一个特殊用辅助继电器均有其特定之功用,未定义的特殊用辅助继电器请勿使用。
定时器的功能
定时器是以 100 ms 为一个计时单位,计时方式采上数计时,当定时器现在值 = 设定值时输出线圈导
通,设定值为 10 进制 K 值,亦可使用数据缓存器 D 当成设定值。
定时器之实际设定时间 = 计时单位 * 设定值
计数器特点
项目 16 位计数器
类型 一般型
计数方向 上数
设定值 0~32,767
设定值的指定 常数 K 或数据缓存器 D
现在值的变化 计数到达设定值就不再计数
输出接点 计数到达设定值,接点导通并保持
复归动作 RST 指令被执行时现在值归零,接点被复归成 OFF
接点动作 在扫描结束时,统一动作 表 16-11
计数器的功能
计数器之计数脉波输入信号由 OFFON 时,计数器现在值等于设定值时输出线圈导通,设定值为 10 进
制 K 值,亦可使用数据缓存器 D 当成设定值。
16 位计数器:
16 位计数器的设定范围:K0~K32,767。(K0 与 K1 相同,在第一次计数时输出接点马上导通。)
一般用计数器在 PLC 停电的时候,计数器现在值即被清除。
若使用 MOV 指令或 WPLSoft 将一个大于设定值的数值传送到 C0 现在值缓存器时,在下次 X1 由
OFFON 时,C0 计数器接点即变成 ON,同时现在值内容变成与设定值相同。
计数器之设定值可使用常数 K 直接设定或使用缓存器 D (不包含特殊数据缓存器 D1000~D1199 或
D2000~D2799) 中之数值作间接设定。
设定值若使用常数 K 仅可为正数,使用数据缓存器 D 作为设定值可以是正负数。 计数器现在值由
32,767 再往上累计时则变为 - 32,768。
16 PLC 功能应用MS300
670
范例:
LD X0 X0
Y0
CNT C0 K5
X1
RST C0
C0
RST C0
LD X1
CNT C0 K5
LD C0
OUT Y0
图 16-52
1. 当 X0 = ON 时 RST 指令被执行,C0 的现
在值归零,输出接点被复归为 OFF。
2. 当 X1 由 OFFON 时,计数器之现在值将
执行上数 (加一) 的动作。
3. 当计数器 C0 计数到达设定值 K5 时,C0 接
点导通,C0 现在值=设定值 = K5。之后的
X1 触发信号 C0 完全不接受,C0 现在值保
持在 K5 处。 图 16-53
16 PLC 功能应用MS300
671
16-5-2 特殊继电器功能说明 (特 M)
R / W 项目中:RO:只读功能;RW:可擦写功能
特 M 功能说明 R/W *
M1000 运转监视常开接点 (a 接点)。RUN 的状态下,此接点 ON RO
M1001 运转监视常闭接点 (b 接点)。RUN 的状态下,此接点 OFF RO
M1002 启始正向 (RUN 的瞬间 ON) 脉波。RUN 的瞬间,产生正向的脉波,其宽度 = 扫描周期 RO
M1003 启始负向 (RUN 的瞬间 OFF) 脉波。RUN 的瞬间,产生负向的脉波,其宽度 = 扫描周
期 RO
M1004 -- --
M1005 变频器故障指示 RO
M1006 变频器无输出 RO
M1007 变频器运转方向:0:正转;1:反转 RO
M1008
~
M1010
-- --
M1011 10 ms 时钟脉冲,5 ms ON / 5 ms OFF RO
M1012 100 ms 时钟脉冲,50 ms ON / 50 ms OFF RO
M1013 1s 时钟脉冲,0.5s ON / 0.5s OFF RO
M1014 1 min 时钟脉冲,30s ON / 30s OFF RO
M1015 频率到达 (搭配 M1025 有使用时) RO
M1016 参数读写错误 RO
M1017 参数写入成功 RO
M1018 -- --
M1019 -- --
M1020 零旗号 (Zero flag) RO
M1021 借位旗号 (Borrow flag) RO
M1022 进位旗号 (Carry flag) RO
M1023 除数为 0 RO
M1024 -- --
M1025 0:变频器目标频率 = 设定频率
1:变频器目标频率 = 0 RW
M1026 设定变频器运转方向:0:正转;1:反转 RW
M1027 触发变频器 Reset RW
M1028
~
M1037
-- --
M1038 MI7 计数开始 RW
M1039 reset MI7 计数值 RW
M1040 硬件供电 (Servo On) RW
M1041 -- --
M1042 快速停车 (Quick Stop) RW
M1043 -- --
M1044 暂停 (Halt) RW
M1045
~
M1051
-- --
M1052 锁住频率 (lock,频率锁在当前所运转的频率) RW
M1053
~ -- --
16 PLC 功能应用MS300
672
特 M 功能说明 R/W *
M1055
M1056 硬件已供电 (Servo On Ready) RO
M1057 -- --
M1058 快速停车中 (On Quick Stopping) RO
M1080 485 例外错误 RO
M1081 485 Check Sum 或数据格式错误 RO
M1085 485 数据已更新完成 RW
M1086 485 数据接收一次请求 RW
M1090 OFF (详细说明请参考参数 00-29) RO
M1091 HAND (详细说明请参考参数 00-29) RO
M1092 AUTO (详细说明请参考参数 00-29) RO
M1100 LOCAL (详细说明请参考参数 00-29) RO
M1101 REMOTE (详细说明请参考参数 00-29) RO
表 16-12
16 PLC 功能应用MS300
673
16-5-3 特殊缓存器功能说明 (特 D)
特 D 功能说明 R / W *
D1000 -- --
D1001 内部 PLC 版本 RO
D1002 程序容量 RO
D1003 程序内存内容总和 RO
D1004
~
D1009
-- --
D1010 现在扫描时间 (单位:0.1 ms) RO
D1011 最小扫描时间 (单位:0.1 ms) RO
D1012 最大扫描时间 (单位:0.1 ms) RO
D1013
~
D1017
-- --
D1018 当前积分值 RO
D1019 强制设定 PID 的 I 积分量 RW
D1020 输出频率 (0.00~599.00 Hz) RO
D1021 输出电流 (####.#A) RO
D1022 -- --
D1023
通讯扩充卡编号
0:无扩充卡
1:DeviceNet Slave
2:Profibus-DP Slave
3:CANopen Slave
5:EtherNet/IP Slave
RO
D1024
~
D1026
-- --
D1027 PID 演算完后的频率命令 RO
D1028 AVI 的对应值 (0.00~100.00%) RO
D1029 ACI 的对应值 (0.00~100.00%) RO
D1030
~
D1034
-- --
D1035 VR 的对应值 (0.00~100.00%) RO
D1036 当前变频器错误码 RO
D1037 当前变频器的输出频率 RO
D1038 当前 DC bus 电压 RO
D1039 当前输出电压 RO
D1040 AFM 模拟输出设定值 (0.00~100.00%) RW
D1041
~
D1042
-- --
D1043 当参数 00-04 设定为 28,可将此值显示于面版上,显示方式为 C xxxx RW
D1044
~
D1049
-- --
D1050 实际运转模式
0:速度 RO
16 PLC 功能应用MS300
674
特 D 功能说明 R / W *
D1051
~
D1053
-- --
D1054 MI7 当前计算的 count 值 (Low word) RO
D1055 MI7 当前计算的 count 值 (High Word) RO
D1056 MI7 所对应的转速 RO
D1057 MI7 的转速比 (单位为:脉波 / Hz) (脉波除以 Hz) RW
D1058 MI7 对应转速的更新速度 (ms) RW
D1059 MI7 所对应的转速的小数位数 (0~3) RW
D1060 运转模式设定
0:速度 RW
D1061 485 Modbus 通讯逾时时间 (ms) RW
D1062 速度模式下的转矩限制 RW
D1063
~
D1069
-- --
D1100 目标频率 RO
D1101 目标频率 (需运转) RO
D1102 参考频率 RO
D1103
~
D1106
-- --
D1107 圆周率 π (Pi) Low word RO
D1108 圆周率 π (Pi) High word RO
D1109 随机数值 RO
D1600 当前的 485 接收到的信息长度 RO
D1601 当前的 485 接收到的封包累计 RO
D1610 堆放封包的起始 D 区 RW
表 16-13
16 PLC 功能应用MS300
675
16-5-4 PLC 装置通讯地址
装置 范围 类别 地址 (Hex)
X 00~17 (Octal) bit 0400~040FF
Y 00~17 (Octal) bit 0500~050F
T 00~79 bit / word 0600~064F
M 000~799 bit 0800~0B1F
M 1000~1279 bit 0BE8~0CFF
C 0~39 bit / word 0E00~0E27
D 00~199 word 1000~10C7
D 1000~1219 word 13E8~14C3
表 16-14
可使用之命令码
通讯功能码 (Function Code) 功能说明 功能对象
H1 Coil 状态读取 Y、M、T、C
H2 Input 状态读取 X、Y、M、T、C
H3 读取单笔数据 T、C、D
H5 强制单个 Coil 状态改变 Y、M、T、C
H6 写入单笔资料 T、C、D
HF 强制多个 Coil 状态改变 Y、M、T、C
H10 写入多笔资料 T、C、D
表 16-15
注记:
MS300 在 PLC 功能打开时,可以同时对 PLC 和变频器的参数做对应,其方式为透过不同的站号来区
分,变频器 (预设站号为 1,PLC 设站号为 2)。
16 PLC 功能应用MS300
676
16-6 指令功能说明
16-6-1 基本指令一览表
一般指令
脚本 功能 操作数 执行速度 (s)
LD 载入 A 接点 X、Y、M、T、C 0.8
LDI 载入 B 接点 X、Y、M、T、C 0.8
AND 串联 A 接点 X、Y、M、T、C 0.8
ANI 串联 B 接点 X、Y、M、T、C 0.8
OR 并联 A 接点 X、Y、M、T、C 0.8
ORI 并联 B 接点 X、Y、M、T、C 0.8
ANB 串联回路方块 无 0.3
ORB 并联回路方块 无 0.3
MPS 存入堆栈 无 0.3
MRD 堆栈读取 (指针不动) 无 0.3
MPP 读出堆栈 无 0.3
表 16-16
输出指令
脚本 功能 操作数 执行速度 (s)
OUT 驱动线圈 Y、M 1
SET 动作保持 (ON) Y、M 1
RST 接点或缓存器清除 Y、M、T、C、D 1.2
表 16-17
定时器、计数器
脚本 功能 操作数 执行速度 (s)
TMR 16 位定时器 T-K 或 T-D 1.1
CNT 16 位计数器 C-K 或 C-D (16 位) 0.5
表 16-18
主控指令
脚本 功能 操作数 执行速度 (s)
MC 共通串行接点之连结 N0~N7 0.4
MCR 共通串行接点之解除 N0~N7 0.4
表 16-19
接点上升缘 / 下降缘检出指令
脚本 功能 操作数 执行速度 (s)
LDP 正缘检出动作开始 X、Y、M、T、C 1.1
LDF 负缘检出动作开始 X、Y、M、T、C 1.1
ANDP 正缘检出串联连接 X、Y、M、T、C 1.1
ANDF 负缘检出串联连接 X、Y、M、T、C 1.1
ORP 正缘检出并联连接 X、Y、M、T、C 1.1
ORF 负缘检出并联连接 X、Y、M、T、C 1.1
表 16-20
16 PLC 功能应用MS300
677
上下微分输出指令
脚本 功能 操作数 执行速度 (s)
PLS 上微分输出 Y、M 1.2
PLF 下微分输出 Y、M 1.2
表 16-21
结束指令
脚本 功能 操作数 执行速度 (s)
END 程序结束 无 0.2
表 16-22
其他指令
脚本 功能 操作数 执行速度 (s)
NOP 无动作 无 0.2
INV 运算结果反相 无 0.2
P 指标 P 0.3
表 16-23
16 PLC 功能应用MS300
678
16-6-2 基本指令详细说明
指令 功能
LD 载入 A 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
LD 指令用于左母线开始的 A 接点或一个接点回路块开始的 A 接点,它的作用是把当前
内容保存,同时把取来的接点状态存入累积缓存器内。
阶梯图:
X0 X1
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
LDI 载入 B 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
LDI 指令用于左母线开始的 B 接点或一个接点回路块开始的 B 接点,它的作用是把当前
内容保存,同时把取来的接点状态存入累积缓存器内。
阶梯图:
X0 X1
Y1
脚本: 说明:
LDI X0 载入 X0 之 B 接点
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
AND 串联 A 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
AND 指令用于 A 接点的串联连接,先读取目前所指定串联接点的状态再与接点之前逻
辑运算结果作「及」(AND) 的运算,并将结果存入累积缓存器内。
阶梯图:
X1 X0
Y1
脚本: 说明:
LDI X1 载入 X1 之 B 接点
AND X0 串联 X0 之 A 接点
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
679
指令 功能
ANI 串联 B 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ANI 指令用于 B 接点的串联连接,它的作用是先读取目前所指定串联接点的状态再与接
点之前逻辑运算结果作「及」(AND) 的运算,并将结果存入累积缓存器内。
阶梯图:
X1 X0
Y1
脚本: 说明:
LD X1 载入 X1 之 A 接点
ANI X0 串联 X0 之 B 接点
OUT Y1 驱动 Y1 线圈
指令 功能
OR 并联 A 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
OR 指令用于 A 接点的并联连接,它的作用是先读取目前所指定串联接点的状态再与接
点之前逻辑运算结果作「或」(OR) 的运算,并将结果存入累积缓存器内。
阶梯图:
X0
X1
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
OR X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
ORI 并联 B 接点
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ORI 指令用于 B 接点的并联连接,它的作用是先读取目前所指定串联接点的状态再与接
点之前逻辑运算结果作「或」(OR) 的运算,并将结果存入累积缓存器内。
阶梯图:
X0
X1
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
ORI X1 串联 X1 之 B 接点
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
680
指令 功能
ANB 串联回路方块
操作数 无
ANB 是将前一保存的逻辑结果与目前累积缓存器的内容作「及」(AND) 的运算。
阶梯图:
X1
X3
Y1
X0
X2
ANB
Block A Block B
脚本: 说明:
LD X0 载入 X0 之 A 接点
ORI X2 并联 X2 之 B 接点
LDI X1 载入 X1 之 B 接点
OR X3 并联 X3 之 A 接点
ANB 串联回路方块
OUT Y1 驱动 Y1 线圈
指令 功能
ORB 并联回路方块
操作数 无
ORB 是将前一保存的逻辑结果与目前累积缓存器的内容作「或」(OR) 的运算。
阶梯图:
X1
X3
Y1
X0
X2
ORB
Block A
Block B
脚本: 说明:
LD X0 载入 X0 之 A 接点
ANI X1 并联 X1 之 B 接点
LDI X2 载入 X2 之 B 接点
AND X3 并联 X3 之 A 接点
ORB 并联回路方块
OUT Y1 驱动 Y1 线圈
指令 功能
MPS 存入堆栈
操作数 无
将目前累积缓存器的内容存入堆栈 (堆栈指针加一)。
指令 功能
MRD 读出堆栈 (指针不动)
操作数 无
读取堆栈内容存入累积缓存器 (堆栈指针不动)。
16 PLC 功能应用MS300
681
指令 功能
MPP 读出堆栈
操作数 无
自堆栈取回前一保存的逻辑运算结果,存入累积缓存器 (堆栈指针减一)。
阶梯图:
X0
Y1
X1
M0
X2
Y2
END
MPP
MRD
MPS
脚本: 说明:
LD X0 载入 X0 之 A 接点
MPS 存入堆栈
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
MRD 读出堆栈 (指针不动)
AND X2 串联 X2 之 A 接点
OUT M0 驱动 M0 线圈
MPP 读出堆栈
OUT Y2 驱动 Y2 线圈
END 程序结束
指令 功能
OUT 驱动线圈
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
将 OUT 指令之前的逻辑运算结果输出至指定的组件。
线圈接点动作:
运算结果
OUT 指 令
线 圈 接 点
A 接点 (常开) B 接点 (常闭)
FALSE OFF 不导通 导通
TRUE ON 导通 不导通
阶梯图:
X0 X1
Y1
脚本: 说明:
LDI X0 载入 X0 之 B 接点
AND X1 并联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
682
指令 功能
SET 动作保持 (ON)
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
当 SET 指令被驱动,其指定的组件被设定为 ON,且被设定的组件会维持 ON,不管
SET 指令是否仍被驱动。可利用 RST 指令将该组件设为 OFF。
阶梯图:
X0 Y0
SET Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
ANI Y0 并联 Y0 之 B 接点
SET Y1 动作保持 (ON)
指令 功能
RST 接点或缓存器清除
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
当 RST 指令被驱动,其指定的组件的动作如下:
元 件 状 态
Y,M 线圈及接点都会被设定为 OFF。
T,C 目前计时或计数值会被设为 0,且线圈及接点都会被设定为 OFF。
D 内容值会被设为 0。
若 RST 指令没有被执行,其指定组件的状态保持不变。
阶梯图:
X0
RST Y5
脚本: 说明:
LD X0 载入 X0 之 A 接点
RST Y5 接点或缓存器清除
16 PLC 功能应用MS300
683
指令 功能
TMR 16 位定时器
操作数 T-K T0~T159,K0~K32,767
T-D T0~T159,D0~D399
当 TMR 指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定
时值 (计时值 ≥ 设定值),其接点动作如下:
N.O. (Normally Open) 接点 开路
N.C. (Normally Close) 接点 闭合
若 RST 指令没有被执行,其指定组件的状态保持不变。
阶梯图:
X0
TMR T5 K1000
脚本: 说明:
LD X0 载入 X0 之 A 接点
TMR T5 K1000
T5 定时器
设定值为 K1000
指令 功能
CNT 16 位计数器
操作数 C-K C0~C79,K0~K32,767
C-D C0~C79,D0~D399
当 CNT 指令由 OFF ON 执行,表示所指定的计数器线圈由失电受电,则该计数器
计数值加 1,当计数到达所指定的定数值 (计数值 = 设定值),其接点动作如下:
N.O. (Normally Open) 接点 开路
N.C. (Normally Close) 接点 闭合
当计数到达之后,若再有计数脉波输入,其接点及计数值均保持不变,若要重新计数或
作清除的动作,请利用 RST 指令。
阶梯图:
X0
CNT K100 C2
脚本: 说明:
LD X0 载入 X0 之 A 接点
CNT C2 K100
C2 计数器
设定值为 K100
16 PLC 功能应用MS300
684
指令 功能
MC / MCR 共通串联接点之连结 / 解除
操作数 N0~N7
MC 为主控起始指令,当 MC 指令执行时,位于 MC 与 MCR 指令之间的指令照常执行。
当 MC 指令 OFF 时,位于 MC 与 MCR 指令之间的指令动作如下所示:
指 令 区 分 说 明
一般定时器 计时值归零,线圈失电,接点不动作
计数器 线圈失电,计数值及接点保持目前状态
OUT 指令驱动的线圈 全部不受电
SET,RST 指令驱动的组件 保持目前状态
应用指令 全部不动作
MCR 为主控结束指令,置于主控程序最后,在 MCR 指令之前不可有接点指令。
MC-MCR 主控程序指令支持巢状程序结构,最多可 8 层,使用时依 N0~N7 的顺序,请
参考如下程序所示:
阶梯图:
X0
MC N0
X1
Y0
X2
MC N1
X3
Y1
MCR N1
MCR N0
X10
MC N0
X11
Y10
MCR N0
脚本: 说明:
LD X0 载入 X0 之 A 接点
MC N0 N0 共通串联接点之连结
LD X1 载入 X1 之 A 接点
OUT Y0 驱动 Y0 线圈
:
LD X2 载入 X2 之 A 接点
MC N1 N1 共通串联接点之连结
LD X3 载入 X3 之 A 接点
OUT Y1 驱动 Y1 线圈
:
MCR N1 N1 共通串联接点之解除
:
MCR N0 N0 共通串联接点之解除
:
LD X10 载入 X10 之 A 接点
MC N0 N0 共通串联接点之连结
LD X11 载入 X11 之 A 接点
OUT Y10 驱动 Y10 线圈
:
MCR N0 N0 共通串联接点之解除
16 PLC 功能应用MS300
685
指令 功能
LDP 正缘检出动作开始
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
LDP 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接
点上升缘检出状态存入累积缓存器内。
阶梯图:
X1
Y1
X0
脚本: 说明:
LDP X0 X0 正缘检出动作开始
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
LDF 负缘检出动作开始
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
LDF 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接
点下降缘检出状态存入累积缓存器内。
阶梯图:
X1
Y1
X0
脚本: 说明:
LDF X0 X0 负缘检出动作开始
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
ANDP 正缘检出串联连接
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ANDP 指令用于接点上升缘检出的串联连接。
阶梯图:
X1
Y1
X0
脚本: 说明:
LD X0 载入 X0 之 A 接点
ANDP X1 X1 正缘检出串联连接
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
686
指令 功能
ANDF 负缘检出串联连接
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ANDF 指令用于接点下降缘检出的串联连接。
阶梯图:
X1
Y1
X0
脚本: 说明:
LD X0 载入 X0 之 A 接点
ANDF X1 X1 负缘检出串联连接
OUT Y1 驱动 Y1 线圈
指令 功能
ORP 正缘检出并联连接
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ORP 指令用于接点上升缘检出的并联连接。
阶梯图:
X0
X1
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
ORP X1 X1 正缘检出并联连接
OUT Y1 驱动 Y1 线圈
指令 功能
ORF 负缘检出并联连接
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
ORF 指令用于接点下降缘检出的并联连接。
阶梯图:
X0
X1
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
ORF X1 X1 负缘检出并联连接
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
687
指令 功能
PLS 上微分输出
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
上微分输出指令。当 X0 = OFF ON (正缘触发) 时 PLS 指令被执行,M0 送出一次脉
波,脉波长度为一次扫描时间。
阶梯图:
X0
PLS M0
M0
SET Y0
时序图:
脚本: 说明:
LD X0 载入 X0 之 A 接点
PLS M0 M0 上微分输出
LD M0 载入 M0 之 A 接点
SET Y0 Y0 动作保持 (ON)
指令 功能
PLF 下微分输出
操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
下微分输出指令。当 X0 = ON OFF (负缘触发) 时 PLF 指令被执行,M0 送出一次脉
波,脉波长度为一次扫描时间。
阶梯图:
X0
PLF M0
M0
SET Y0
脚本: 说明:
LD X0 载入 X0 之 A 接点
PLF M0 M0 下微分输出
LD M0 载入 M0 之 A 接点
SET Y0 Y0 动作保持 (ON)
时序图:
16 PLC 功能应用MS300
688
指令 功能
END 程序结束
操作数 无
在阶梯图程序或指令程序最后必须加入 END 指令。PLC 由地址 0 扫描到 END 指令,
执行之后,返回到地址 0 重新作扫描执行。
指令 功能
NOP 无动作
操作数 无
指令 NOP 在程序不做任何运算,因此执行后仍会保持原逻辑运算结果,使用时机如下:
想要删除某一指令,而又不想改变程序长度,则可以 NOP 指令取代。
阶梯图: 脚本: 说明:
LD X0 载入 X0 之 B 接点
NOP 无动作
OUT Y1 驱动 Y1 线圈
指令 功能
INV 运算结果反相
操作数 无
将 INV 指令之前的逻辑运算结果反相存入累积缓存器内。
阶梯图:
X0
Y1
脚本: 说明:
LD X0 载入 X0 之 A 接点
INV 运算结果反相
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
689
指令 功能
P 指标
操作数 P0~P255
指针 P 用于子程序呼叫指令 API 01 CALL 使用不须从编号 0 开始,但是编号不能重复
使用,否则会发生不可预期的错误。
阶梯图:
X0
Y1
CALL P10
X1
P10
脚本: 说明:
LD X0 载入 X0 之 A 接点
CALL P10 呼叫指令 CALL 到 P10
:
P10 指标 P10
LD X1 载入 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
16 PLC 功能应用MS300
690
16-6-3 应用指令一览表
分类 API 脚本 P 指令 功能 STEPS
16 位 32 位 16 位 32 位
回路控制
01 CALL - 呼叫子程序 3 -
02 SRET - - 子程序结束 1 -
06 FEND - - 主程序结束 1 -
传送比较
10 CMP DCMP 比较设定输出 7 13
11 ZCP DZCP 区域比较 9 17
12 MOV DMOV 数据移动 5 9
15 BMOV – 全部传送 7 –
四则逻辑
运算
20 ADD DADD BIN 加法 7 13
21 SUB DSUB BIN 减法 7 13
22 MUL DMUL BIN 乘法 7 13
23 DIV DDIV BIN 除法 7 13
24 INC DINC BIN 加一 3 5
25 DEC DDEC BIN 减一 3 5
旋转位移 30 ROR DROR 右旋转 5 –
31 ROL DROL 左旋转 5 –
资料处理
40 ZRST – 区域清除 5 -
49 – DFLT BIN 整数二进浮点数变换 - 9
浮点运算
110 – DECMP 二进浮点数比较 – 13
111 – DEZCP 二进浮点数区域比较 – 17
116 – DRAD 角度径度 – 9
117 – DDEG 径度角度 – 9
120 – DEADD 二进浮点数加法 – 13
121 – DESUB 二进浮点数减法 – 13
122 – DEMUL 二进浮点数乘法 – 13
123 – DEDIV 二进浮点数除法 – 13
124 – DEXP 二进浮点数取指数 – 9
125 – DLN 二进浮点数取自然对数 – 9
127 – DESQR 二进浮点数开平方根 – 9
129 – DINT 二进浮点数BIN 整数变换 – 9
130 – DSIN 二进浮点数 SIN 运算 – 9
131 – DCOS 二进浮点数 COS 运算 – 9
132 – DTAN 二进浮点数 TAN 运算 – 9
133 – DASIN 二进浮点数 ASIN 运算 – 9
134 – DACOS 二进浮点数 ACOS 运算 – 9
135 – DATAN 二进浮点数 ATAN 运算 – 9
136 – DSINH 二进浮点数 SINH 运算 – 9
137 – DCOSH 二进浮点数 COSH 运算 – 9
138 – DTANH 二进浮点数 TANH 运算 – 9
格雷码 170 GRY DGRY BINGRY 码变换 5 9
171 GBIN DGBIN GRY 码BIN 变换 5 9
数据处理 202 SCAL DSCAL 比例值运算 5 9
16 PLC 功能应用MS300
691
分类 API 脚本 P 指令 功能 STEPS
16 位 32 位 16 位 32 位
接点型态
逻辑运算
215 LD& DLD& - 接点型态逻辑运算 LD# 5 9
216 LD| DLD| - 接点型态逻辑运算 LD# 5 9
217 LD^ DLD^ - 接点型态逻辑运算 LD# 5 9
218 AND& DAND& - 接点型态逻辑运算 AND# 5 9
219 ANDl DANDl - 接点型态逻辑运算 AND# 5 9
220 AND^ DAND^ - 接点型态逻辑运算 AND# 5 9
221 OR& DOR& - 接点型态逻辑运算 OR# 5 9
222 OR| DOR| - 接点型态逻辑运算 OR# 5 9
223 OR^ DOR^ - 接点型态逻辑运算 OR# 5 9
接点型态
比较指令
224 LD= DLD= - 接点型态比较 LD※ 5 9
225 LD> DLD> - 接点型态比较 LD※ 5 9
226 LD< DLD< - 接点型态比较 LD※ 5 9
228 LD<> DLD<> - 接点型态比较 LD※ 5 9
229 LD<= DLD<= - 接点型态比较 LD※ 5 9
230 LD>= DLD>= - 接点型态比较 LD※ 5 9
232 AND= DAND= - 接点型态比较 AND※ 5 9
233 AND> DAND> - 接点型态比较 AND※ 5 9
234 AND< DAND< - 接点型态比较 AND※ 5 9
236 AND<> DAND<> - 接点型态比较 AND※ 5 9
237 AND<= DAND<= - 接点型态比较 AND※ 5 9
238 AND>= DAND>= - 接点型态比较 AND※ 5 9
240 OR= DOR= - 接点型态比较 OR※ 5 9
241 OR> DOR> - 接点型态比较 OR※ 5 9
242 OR< DOR< - 接点型态比较 OR※ 5 9
244 OR<> DOR<> - 接点型态比较 OR※ 5 9
245 OR<= DOR<= - 接点型态比较 OR※ 5 9
246 OR>= DOR>= - 接点型态比较 OR※ 5 9
浮点接点
型态
275 - FLD= - 浮点数接点型态比较 LD※ - 9
276 - FLD> - 浮点数接点型态比较 LD※ - 9
277 - FLD< - 浮点数接点型态比较 LD※ - 9
比较指令
278 - FLD<> - 浮点数接点型态比较 LD※ - 9
279 - FLD<= - 浮点数接点型态比较 LD※ - 9
280 - FLD>= - 浮点数接点型态比较 LD※ - 9
281 - FAND= - 浮点数接点型态比较 AND※ - 9
282 - FAND> - 浮点数接点型态比较 AND※ - 9
283 - FAND< - 浮点数接点型态比较 AND※ - 9
284 - FAND<> - 浮点数接点型态比较 AND※ - 9
285 - FAND<= - 浮点数接点型态比较 AND※ - 9
286 - FAND>= - 浮点数接点型态比较 AND※ - 9
287 - FOR= - 浮点数接点型态比较 OR※ - 9
288 - FOR> - 浮点数接点型态比较 OR※ - 9
289 - FOR< - 浮点数接点型态比较 OR※ - 9
290 - FOR<> - 浮点数接点型态比较 OR※ - 9
291 - FOR<= - 浮点数接点型态比较 OR※ - 9
292 - FOR>= - 浮点数接点型态比较 OR※ - 9




