YASKAWA MP900, MP2000 User Guide

图标的说明
为使读者了解说明内容的区分 本书中设计了如下图标 并在必要的地方使用这些图 标
以助读者理解
表示需要熟记的重要事项
表示具体程序举例 操作实例
表示补充事项或记住后会便于使用的功能
表示对难于理解的用语进行解释 以及对事先没有说明而后出现的用语进行说明
Copyright 2004 株式会社 安川电机
未经本公司的书面许可
禁止转载或复制本书的一部分或全部内容
iii
目录
图标的说明- - - - - - - - - - - - - - - - - - - - - - - - - - iii 本手册的简介- - - - - - - - - - - - - - - - - - - - - - - - viii 本手册的资料构成- - - - - - - - - - - - - - - - - - - - - - viii 相关手册- - - - - - - - - - - - - - - - - - - - - - - - - - - ix 本手册的使用方法- - - - - - - - - - - - - - - - - - - - - - - xi 关于软件- - - - - - - - - - - - - - - - - - - - - - - - - - - xi
1 章 梯形图指令
1.1 继电器电路指令 - - - - - - - - - - - - - - - - - - - 1-4
1.1.1 A 触点指令 (NOC) - - - - - - - - - - - - - - - - - - - - - - 1-4
1.1.2 B 触点指令 (NCC) - - - - - - - - - - - - - - - - - - - - - - 1-5
1.1.3 接通延时定时器指令 (TON[10ms]) - - - - - - - - - - - - - - - 1-5
1.1.4 断开延时定时器指令 (TOFF[10ms])- - - - - - - - - - - - - - - 1-7
1.1.5 接通延时定时器指令 (TON[1s]) - - - - - - - - - - - - - - - - 1-8
1.1.6 断开延时定时器指令 (TOFF[1s])- - - - - - - - - - - - - - - - 1-9
1.1.7 上升脉冲指令 (ON-PLS)- - - - - - - - - - - - - - - - - - - 1-10
1.1.8 下降脉冲指令 (OFF-PLS) - - - - - - - - - - - - - - - - - - 1-12
1.1.9 线圈指令 (COIL)- - - - - - - - - - - - - - - - - - - - - - 1-13
1.1.10 置位线圈指令 (S-COIL)- - - - - - - - - - - - - - - - - - - 1-14
1.1.11 复位线圈指令 (R-COIL)- - - - - - - - - - - - - - - - - - - 1-15
1.2 数值运算指令 - - - - - - - - - - - - - - - - - - - 1-16
1.2.1 存储指令 (STORE) - - - - - - - - - - - - - - - - - - - - - 1-16
1.2.2 加法指令 (ADD) - - - - - - - - - - - - - - - - - - - - - - 1-18
1.2.3 加法扩展指令 (ADDX)- - - - - - - - - - - - - - - - - - - - 1-20
1.2.4 减法指令 (SUB) - - - - - - - - - - - - - - - - - - - - - - 1-21
1.2.5 减法扩展指令 (SUBX)- - - - - - - - - - - - - - - - - - - - 1-23
1.2.6 乘法指令 (MUL) - - - - - - - - - - - - - - - - - - - - - - 1-24
1.2.7 除法指令 (DIV) - - - - - - - - - - - - - - - - - - - - - - 1-27
1.2.8 整型余数指令 (MOD) - - - - - - - - - - - - - - - - - - - - 1-29
1.2.9 实型余数指令 (REM) - - - - - - - - - - - - - - - - - - - - 1-30
1.2.10 增量指令 (INC) - - - - - - - - - - - - - - - - - - - - - - 1-31
1.2.11 减量指令 (DEC) - - - - - - - - - - - - - - - - - - - - - - 1-32
1.2.12 时间加法指令 (TMADD) - - - - - - - - - - - - - - - - - - - 1-33
1.2.13 时间减法指令 (TMSUB) - - - - - - - - - - - - - - - - - - - 1-35
1.2.14 时间经过指令 (SPEND) - - - - - - - - - - - - - - - - - - - 1-37
1.2.15 符号取反指令 (INV) - - - - - - - - - - - - - - - - - - - - 1-39
1.2.16 1 的补码指令 (COM) - - - - - - - - - - - - - - - - - - - - 1-41
1.2.17 绝对值转换指令 (ABS) - - - - - - - - - - - - - - - - - - - 1-42
1.2.18 2 进制转换指令 (BIN) - - - - - - - - - - - - - - - - - - - 1-44
1.2.19 BCD 转换指令 (BCD) - - - - - - - - - - - - - - - - - - - - 1-45
1.2.20 校验转换指令 (PARITY)- - - - - - - - - - - - - - - - - - - 1-46
1.2.21 ASCII 码转换 1 指令 (ASCII) - - - - - - - - - - - - - - - - 1-47
1.2.22 ASCII 码转换 2 指令 (BINASC) - - - - - - - - - - - - - - - - 1-49
1.2.23 ASCII 码转换 3 指令 (ASCBIN) - - - - - - - - - - - - - - - - 1-50
iv
1.3 逻辑运算 / 比较指令 - - - - - - - - - - - - - - - - 1-51
1.3.1 逻辑与指令 (AND) - - - - - - - - - - - - - - - - - - - - - - 1-51
1.3.2 逻辑或指令 (OR) - - - - - - - - - - - - - - - - - - - - - - 1-52
1.3.3 逻辑异或指令 (XOR) - - - - - - - - - - - - - - - - - - - - -1-53
1.3.4 比较指令 (
1.3.5 比较指令 ( ≦ ) - - - - - - - - - - - - - - - - - - - - - - -1-55
1.3.6 比较指令 (
1.3.7 比较指令 (
1.3.8 比较指令 ( ≧ ) - - - - - - - - - - - - - - - - - - - - - - -1-58
1.3.9 比较指令 (
1.3.10 范围检查指令 (RCHK) - - - - - - - - - - - - - - - - - - - -1-60
) - - - - - - - - - - - - - - - - - - - - - - -1-54
) - - - - - - - - - - - - - - - - - - - - - - -1-56 ) - - - - - - - - - - - - - - - - - - - - - - -1-57
) - - - - - - - - - - - - - - - - - - - - - - -1-59
1.4 程序控制指令 - - - - - - - - - - - - - - - - - - - 1-63
1.4.1 图调用指令 (SEE) - - - - - - - - - - - - - - - - - - - - - - 1-63
1.4.2 运动程序调用指令 (MSEE) - - - - - - - - - - - - - - - - - - 1-64
1.4.3 函数调用指令 (FUNC) - - - - - - - - - - - - - - - - - - - -1-65
1.4.4 连续执行型直接输入指令 (INS) - - - - - - - - - - - - - - - -1-66
1.4.5 连续执行型直接输出指令 (OUTS) - - - - - - - - - - - - - - -1-69
1.4.6 扩展程序执行指令 (XCALL) - - - - - - - - - - - - - - - - - - 1-71
1.4.7 WHILE 指令 (WHILE
1.4.8 IF 指令 (IF
1.4.9 IF 指令 (IF
1.4.10 FOR 指令 (FOR
1.4.11 EXPRESSION 指令 (EXPRESSION) - - - - - - - - - - - - - - - - 1-80
END_WHILE) - - - - - - - - - - - - - - - - 1-72 END_IF) - - - - - - - - - - - - - - - - - - - - 1-74 ELSE END_IF) - - - - - - - - - - - - - - - - - 1-76
END_FOR) - - - - - - - - - - - - - - - - - - - 1-78
1.5 基本函数指令 - - - - - - - - - - - - - - - - - - - 1-81
1.5.1 平方根指令 (SQRT) - - - - - - - - - - - - - - - - - - - - - 1-81
1.5.2 正弦指令 (SIN) - - - - - - - - - - - - - - - - - - - - - - - 1-83
1.5.3 余弦指令 (COS) - - - - - - - - - - - - - - - - - - - - - - - 1-85
1.5.4 正切指令 (TAN) - - - - - - - - - - - - - - - - - - - - - - - 1-87
1.5.5 反正弦指令 (ASIN) - - - - - - - - - - - - - - - - - - - - - 1-88
1.5.6 反余弦指令 (ACOS) - - - - - - - - - - - - - - - - - - - - - 1-89
1.5.7 反正切指令 (ATAN) - - - - - - - - - - - - - - - - - - - - - 1-90
1.5.8 指数指令 (EXP) - - - - - - - - - - - - - - - - - - - - - - - 1-92
1.5.9 自然对数指令 (LN) - - - - - - - - - - - - - - - - - - - - - 1-93
1.5.10 常用对数指令 (LOG) - - - - - - - - - - - - - - - - - - - - -1-94
1.6 数据操作指令 - - - - - - - - - - - - - - - - - - - 1-95
1.6.1 位循环左移指令 (ROTL) - - - - - - - - - - - - - - - - - - -1-95
1.6.2 位循环右移指令 (ROTR) - - - - - - - - - - - - - - - - - - -1-97
1.6.3 位传送指令 (MOVB) - - - - - - - - - - - - - - - - - - - - - 1-99
1.6.4 字传送指令 (MOVW) - - - - - - - - - - - - - - - - - - - - 1-101
1.6.5 替换传送指令 (XCHG) - - - - - - - - - - - - - - - - - - - 1-103
1.6.6 表初始化指令 (SETW) - - - - - - - - - - - - - - - - - - - 1-105
1.6.7 字节
1.6.8 字
1.6.9 数据检索指令 (BSRCH) - - - - - - - - - - - - - - - - - - - 1-111
1.6.10 分类指令 (SORT) - - - - - - - - - - - - - - - - - - - - - 1-113
1.6.11 位左移指令 (SHFTL) - - - - - - - - - - - - - - - - - - - - 1-114
1.6.12 位右移指令 (SHFTR) - - - - - - - - - - - - - - - - - - - - 1-116
1.6.13 字复制指令 (COPYW) - - - - - - - - - - - - - - - - - - - - 1-117
1.6.14 字节交换指令 (BSWAP) - - - - - - - - - - - - - - - - - - - 1-119
字展开指令 (BEXTD) - - - - - - - - - - - - - - - - - 1-107
字节压缩指令 (BPRESS) - - - - - - - - - - - - - - - - 1-109
v
1.7 DDC 指令- - - - - - - - - - - - - - - - - - - - - - 1-121
1.7.1 死区 A 指令 (DZA) - - - - - - - - - - - - - - - - - - - - - 1-121
1.7.2 死区 B 指令 (DZB) - - - - - - - - - - - - - - - - - - - - - 1-123
1.7.3 上下限值指令 (LIMIT) - - - - - - - - - - - - - - - - - - - 1-125
1.7.4 PI 控制指令 (PI) - - - - - - - - - - - - - - - - - - - - - 1-128
1.7.5 PD 控制指令 (PD) - - - - - - - - - - - - - - - - - - - - - 1-131
1.7.6 PID 控制指令 (PID) - - - - - - - - - - - - - - - - - - - - 1-134
1.7.7 一阶延迟指令 (LAG) - - - - - - - - - - - - - - - - - - - - 1-138
1.7.8 相位超前滞后指令 (LLAG) - - - - - - - - - - - - - - - - - - 1-141
1.7.9 函数发生器指令 (FGN) - - - - - - - - - - - - - - - - - - - 1-144
1.7.10 反函数发生器指令 (IFGN) - - - - - - - - - - - - - - - - - - 1-148
1.7.11 直线加减速器 1 指令 (LAU) - - - - - - - - - - - - - - - - - 1-152
1.7.12 直线加减速器 2 指令 (SLAU)- - - - - - - - - - - - - - - - - 1-156
1.7.13 脉宽调制指令 (PWM) - - - - - - - - - - - - - - - - - - - - 1-163
1.8 表数据操作指令 - - - - - - - - - - - - - - - - - -1-165
1.8.1 块调出指令 (TBLBR) - - - - - - - - - - - - - - - - - - - - 1-165
1.8.2 块写入指令 (TBLBW) - - - - - - - - - - - - - - - - - - - - 1-167
1.8.3 行检索指令
1.8.4 列检索指令 横向 (TBLSRC) - - - - - - - - - - - - - - - - - 1-171
1.8.5 块清除指令 (TBLCL) - - - - - - - - - - - - - - - - - - - - 1-173
1.8.6 表间块传送指令 (TBLMV) - - - - - - - - - - - - - - - - - - 1-175
1.8.7 Q 表调出指令 (QTBLR
1.8.8 Q 表写入指令 (QTBLW QTBLWI) - - - - - - - - - - - - - - - 1-179
1.8.9 Q 指针清除指令 (QTBLCL) - - - - - - - - - - - - - - - - - - 1-181
纵向 (TBLSRL) - - - - - - - - - - - - - - - - - 1-169
QTBLRI) - - - - - - - - - - - - - - - 1-177
2 章 系统标准函数指令
2.1 信息函数 - - - - - - - - - - - - - - - - - - - - - - 2-2
2.1.1 信息发送函数 (MSG-SND) - - - - - - - - - - - - - - - - - - - 2-2
2.1.2 信息接收函数 (MSG-RCV) - - - - - - - - - - - - - - - - - - 2-15
2.2 示踪函数 - - - - - - - - - - - - - - - - - - - - - 2-24
2.2.1 示踪函数 (TRACE) - - - - - - - - - - - - - - - - - - - - - 2-24
2.2.2 数据示踪调出函数 (DTRC-RD) - - - - - - - - - - - - - - - - 2-25
2.2.3 故障示踪调出函数 (FTRC-RD) - - - - - - - - - - - - - - - - 2-28
2.2.4 变频器示踪调出函数 (ITRC-RD) - - - - - - - - - - - - - - - 2-32
2.3 变频器函数 - - - - - - - - - - - - - - - - - - - - 2-35
2.3.1 变频器常数写入函数 (ICNS-WR) - - - - - - - - - - - - - - - 2-35
2.3.2 变频器常数调出函数 (ICNS-RD) - - - - - - - - - - - - - - - 2-40
2.4 其他的函数 - - - - - - - - - - - - - - - - - - - - 2-43
2.4.1 计数函数 (COUNTER) - - - - - - - - - - - - - - - - - - - - 2-43
2.4.2 先进先出函数 (FINFOUT) - - - - - - - - - - - - - - - - - - 2-45
vi
附录 A EXPRESSION
A.1 数式 - - - - - - - - - - - - - - - - - - - - - - - A-2
A.1.1 运算符 - - - - - - - - - - - - - - - - - - - - - - - - - - - A-2 A.1.2 运算对象 - - - - - - - - - - - - - - - - - - - - - - - - - - A-4 A.1.3 函数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-4
A.2 可识别的表达式种类 - - - - - - - - - - - - - - - - A-5
A.2.1 算术运算符 - - - - - - - - - - - - - - - - - - - - - - - - - A-5 A.2.2 比较运算符 - - - - - - - - - - - - - - - - - - - - - - - - - A-5 A.2.3 逻辑运算符 - - - - - - - - - - - - - - - - - - - - - - - - - A-5 A.2.4 赋值运算符 - - - - - - - - - - - - - - - - - - - - - - - - - A-6 A.2.5 函数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-6 A.2.6 其他 - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-6
A.3 在梯形图程序中的应用 - - - - - - - - - - - - - - - A-7
A.3.1 IF 指令句的条件表达式 - - - - - - - - - - - - - - - - - - - A-7 A.3.2 WHILE 指令句的条件表达式 - - - - - - - - - - - - - - - - - - A-7 A.3.3 EXPRESSION 指令句的运算表达式 - - - - - - - - - - - - - - - A-7
vii
本手册的简介
本手册详细地说明了支持 MP900/MP2000 系列 ( 以下称 MP 系列 ) 的设计与维护的新梯 形图编辑器
本手册以充分理解 Microsoft Windows 95/98/2000/NT 的操作方法的人员为对象 关于 Windows 的打开 关闭及鼠标操作 Windows 应用程序的一般操作等 请参阅计 算机所附的说明书
为了能正确使用新梯形图编辑器 请仔细阅读本手册 请妥善保管本手册 以便需要 时参阅
本手册的资料构成
MP900 系列有 MP910 MP920 MP930 MP940 四种
MP2000 系列有 MP2100 和 MP2300 两种
资料构成根据上述产品构成修订 相关手册在下一页有介绍 敬请参阅
软件的操作方法
viii
相关手册
机器控制器 MP900/MP2000 系列的相关手册包括下表所示的内容 请根据需要进行阅 读
用户手册名 资料编号
机器控制器 MP930 用户手册 设计与维护篇
机器控制器 MP900/MP2000 系列 用户手册 梯形图程序篇
机器控制器 MP900/MP2000 系列
用户手册 运动程序篇
机器控制器 MP900 系列 用户手册 示教操作器篇
机器控制器 MP920 用户手册 设计与维护篇
机器控制器 MP900 系列 编程装置用 软件 MPE720 用户手册 操作说明简易版
机器控制器 MP920 用户手册 运动模块篇
机器控制器 MP920 用户手册 通讯模块篇
机器控制器 MP920 设置手册 EMC 指令用
机器控制器 MP910 用户手册 设计与维护篇
机器控制器 MP940 用户手册 设计与维护篇
机器控制器 MP940 设置手册 EMC 指令用
机器控制器 MP900 系列 用户手册 MECHATROLINK 篇
机器控制器 MP900 系列 用户手册 260I/F DeviceNet 篇
SI-C887-1.1
SI-C887-1.2
SIZ-C887-1.3
SI-C887-1.6
SIZ-C887-2.1
SIZ-C887-2.3
SIZ-C887-2.5
SIZ-C887-2.6
SIBZ-C887-2.50
SIZ-C887-3.1
SIZ-C887-4.1
SIBZ-C887-4.50
SIZ-C887-5.1
SIZ-C887-5.2
适用机型
MP910 MP920 MP930 MP940 MP2100 MP2300
{
{{{{{ {
{{{{{ {
{{
{
{{{{
{
{
{
{
{
{
{{{{
{{
ix
用户手册名 资料编号
机器控制器 MP900 系列 MPPanel 用户手册
机器控制器 MP900 系列 MPLogger 用户手册
机器控制器 MP900 系列 MPLoader (Server) 用户手册
机器控制器 MP900 系列 MPLoader (Client) 用户手册
机器控制器 MP900/MP2000 系列 用户手册 新梯形图编辑器程序指令篇
机器控制器 MP900/MP2000 系列 用户手册 新梯形图编辑器操作篇
机器控制器 MP2300 用户手册 基本模块篇
机器控制器 MP2300 用户手册 通讯模块篇
机器控制器 MP900/MP2000 系列 编程装置用 用户手册标准版
机器控制器 MP2100 用户手册 设计与维护篇
SIZ-C887-10.1
SIZ-C887-11.1
SIZ-C887-12.1
SIZ-C887-12.2
SIZ-C887-13.1
SIZ-C887-13.2
SIJPC88070003A
SIJPC88070004A
SIJPC88070005A
SIJPC88070001A
适用机型
MP910 MP920 MP930 MP940 MP2100 MP2300
{{{
{{{
{{{
{{{
{{{{{ {
{{{{{ {
{
{
{{{{{ {
{
x
本手册的使用方法
本手册的使用对象
本手册以下列人员为对象
进行 MP900/MP2000 系列系统设计的人员 进行 MP900/MP2000 系列运动程序编程的人员 进行 MP900/MP2000 系列梯形图程序编程的人员
缩略语及缩写符号
本手册使用如下所示的缩略语及缩写符号
PLC 机器控制器的总称 MPE720 编程装置用软件的总称
关于软件
使用注意事项
本软件请在 1 台特定的电脑上使用 需要在其他电脑上使用时 请另行购买 严禁复制本软件 并将其用于编程装置用之外的用途 请妥善保管本软件的软盘 严禁对本软件进行反编译 反汇编 未经本公司许可 严禁将本软件的一部分或全部转让 交换 转借给第三者使用
注册商标
Windows Windows95/98/2000/NT 是美国 Microsoft 公司的注册商标 Pentium 是美国 Intel 公司的注册商标 以太网 (Ethernet) 是美国 Xerox 公司的注册商标
xi
1章
梯形图指令
本章对继电器电路指令 数值运算指令 逻辑运算 / 比较指令 程序控 制指令 行了说明
1 章 梯形图指令
1.1 继电器电路指令 - - - - - - - - - - - - - - - - - - - 1-4
1.1.1 A 触点指令 (NOC) - - - - - - - - - - - - - - - - - - - - - - 1-4
1.1.2 B 触点指令 (NCC) - - - - - - - - - - - - - - - - - - - - - - 1-5
1.1.3 接通延时定时器指令 (TON[10ms]) - - - - - - - - - - - - - - - 1-5
1.1.4 断开延时定时器指令 (TOFF[10ms]) - - - - - - - - - - - - - - - 1-7
1.1.5 接通延时定时器指令 (TON[1s]) - - - - - - - - - - - - - - - - 1-8
1.1.6 断开延时定时器指令 (TOFF[1s]) - - - - - - - - - - - - - - - - 1-9
1.1.7 上升脉冲指令 (ON-PLS) - - - - - - - - - - - - - - - - - - - 1-10
1.1.8 下降脉冲指令 (OFF-PLS) - - - - - - - - - - - - - - - - - - 1-12
1.1.9 线圈指令 (COIL) - - - - - - - - - - - - - - - - - - - - - - 1-13
1.1.10 置位线圈指令 (S-COIL) - - - - - - - - - - - - - - - - - - - 1-14
1.1.11 复位线圈指令 (R-COIL) - - - - - - - - - - - - - - - - - - - 1-15
基本函数指令 数据操作指令 DDC 指令以及表数据操作指令进
1
1.2 数值运算指令 - - - - - - - - - - - - - - - - - - - - 1-16
1.2.1 存储指令 (STORE) - - - - - - - - - - - - - - - - - - - - - 1-16
1.2.2 加法指令 (ADD) - - - - - - - - - - - - - - - - - - - - - - 1-18
1.2.3 加法扩展指令 (ADDX) - - - - - - - - - - - - - - - - - - - - 1-20
1.2.4 减法指令 (SUB) - - - - - - - - - - - - - - - - - - - - - - 1-21
1.2.5 减法扩展指令 (SUBX) - - - - - - - - - - - - - - - - - - - - 1-23
1.2.6 乘法指令 (MUL) - - - - - - - - - - - - - - - - - - - - - - 1-24
1.2.7 除法指令 (DIV) - - - - - - - - - - - - - - - - - - - - - - 1-27
1.2.8 整型余数指令 (MOD) - - - - - - - - - - - - - - - - - - - - 1-29
1.2.9 实型余数指令 (REM) - - - - - - - - - - - - - - - - - - - - 1-30
1.2.10 增量指令 (INC) - - - - - - - - - - - - - - - - - - - - - - 1-31
1.2.11 减量指令 (DEC) - - - - - - - - - - - - - - - - - - - - - - 1-32
1.2.12 时间加法指令 (TMADD) - - - - - - - - - - - - - - - - - - - 1-33
1.2.13 时间减法指令 (TMSUB) - - - - - - - - - - - - - - - - - - - 1-35
1.2.14 时间经过指令 (SPEND) - - - - - - - - - - - - - - - - - - - 1-37
1.2.15 符号取反指令 (INV) - - - - - - - - - - - - - - - - - - - - 1-39
1-1
1 章 梯形图指令
1.2.16 1 的补码指令 (COM) - - - - - - - - - - - - - - - - - - - - 1-41
1.2.17 绝对值转换指令 (ABS) - - - - - - - - - - - - - - - - - - - 1-42
1.2.18 2 进制转换指令 (BIN) - - - - - - - - - - - - - - - - - - - 1-44
1.2.19 BCD 转换指令 (BCD) - - - - - - - - - - - - - - - - - - - - 1-45
1.2.20 校验转换指令 (PARITY) - - - - - - - - - - - - - - - - - - - 1-46
1.2.21 ASCII 码转换 1 指令 (ASCII) - - - - - - - - - - - - - - - - 1-47
1.2.22 ASCII 码转换 2 指令 (BINASC) - - - - - - - - - - - - - - - - 1-49
1.2.23 ASCII 码转换 3 指令 (ASCBIN) - - - - - - - - - - - - - - - - 1-50
1.3 逻辑运算 / 比较指令 - - - - - - - - - - - - - - - - 1-51
1.3.1 逻辑与指令 (AND) - - - - - - - - - - - - - - - - - - - - - 1-51
1.3.2 逻辑或指令 (OR) - - - - - - - - - - - - - - - - - - - - - - 1-52
1.3.3 逻辑异或指令 (XOR) - - - - - - - - - - - - - - - - - - - - 1-53
1.3.4 比较指令 (
1.3.5 比较指令 ( ≦ ) - - - - - - - - - - - - - - - - - - - - - - 1-55
1.3.6 比较指令 (
1.3.7 比较指令 ( ) - - - - - - - - - - - - - - - - - - - - - - 1-57
1.3.8 比较指令 ( ≧ ) - - - - - - - - - - - - - - - - - - - - - - 1-58
1.3.9 比较指令 (
1.3.10 范围检查指令 (RCHK) - - - - - - - - - - - - - - - - - - - - 1-60
) - - - - - - - - - - - - - - - - - - - - - - 1-54
) - - - - - - - - - - - - - - - - - - - - - - 1-56
) - - - - - - - - - - - - - - - - - - - - - - 1-59
1.4 程序控制指令 - - - - - - - - - - - - - - - - - - - 1-63
1.4.1 图调用指令 (SEE) - - - - - - - - - - - - - - - - - - - - - 1-63
1.4.2 运动程序调用指令 (MSEE) - - - - - - - - - - - - - - - - - - 1-64
1.4.3 函数调用指令 (FUNC) - - - - - - - - - - - - - - - - - - - - 1-65
1.4.4 连续执行型直接输入指令 (INS) - - - - - - - - - - - - - - - 1-66
1.4.5 连续执行型直接输出指令 (OUTS) - - - - - - - - - - - - - - - 1-69
1.4.6 扩展程序执行指令 (XCALL) - - - - - - - - - - - - - - - - - 1-71
1.4.7 WHILE 指令 (WHILE
1.4.8 IF 指令 (IF
1.4.9 IF 指令 (IF
1.4.10 FOR 指令 (FOR END_FOR) - - - - - - - - - - - - - - - - - - 1-78
1.4.11 EXPRESSION 指令 (EXPRESSION) - - - - - - - - - - - - - - - 1-80
END_WHILE) - - - - - - - - - - - - - - - 1-72 END_IF) - - - - - - - - - - - - - - - - - - - 1-74 ELSE END_IF) - - - - - - - - - - - - - - - - 1-76
1.5 基本函数指令 - - - - - - - - - - - - - - - - - - - 1-81
1.5.1 平方根指令 (SQRT) - - - - - - - - - - - - - - - - - - - - - 1-81
1.5.2 正弦指令 (SIN) - - - - - - - - - - - - - - - - - - - - - - 1-83
1.5.3 余弦指令 (COS) - - - - - - - - - - - - - - - - - - - - - - 1-85
1.5.4 正切指令 (TAN) - - - - - - - - - - - - - - - - - - - - - - 1-87
1.5.5 反正弦指令 (ASIN) - - - - - - - - - - - - - - - - - - - - - 1-88
1.5.6 反余弦指令 (ACOS) - - - - - - - - - - - - - - - - - - - - - 1-89
1.5.7 反正切指令 (ATAN) - - - - - - - - - - - - - - - - - - - - - 1-90
1.5.8 指数指令 (EXP) - - - - - - - - - - - - - - - - - - - - - - 1-92
1.5.9 自然对数指令 (LN) - - - - - - - - - - - - - - - - - - - - - 1-93
1.5.10 常用对数指令 (LOG) - - - - - - - - - - - - - - - - - - - - 1-94
1.6 数据操作指令 - - - - - - - - - - - - - - - - - - - 1-95
1.6.1 位循环左移指令 (ROTL) - - - - - - - - - - - - - - - - - - - 1-95
1.6.2 位循环右移指令 (ROTR) - - - - - - - - - - - - - - - - - - - 1-97
1.6.3 位传送指令 (MOVB) - - - - - - - - - - - - - - - - - - - - - 1-99
1.6.4 字传送指令 (MOVW) - - - - - - - - - - - - - - - - - - - - - 1-101
1.6.5 替换传送指令 (XCHG) - - - - - - - - - - - - - - - - - - - - 1-103
1.6.6 表初始化指令 (SETW) - - - - - - - - - - - - - - - - - - - - 1-105
1-2
1.6.7 字节 字展开指令 (BEXTD) - - - - - - - - - - - - - - - - - 1-107
1.6.8 字
1.6.9 数据检索指令 (BSRCH) - - - - - - - - - - - - - - - - - - - 1-111
1.6.10 分类指令 (SORT) - - - - - - - - - - - - - - - - - - - - - 1-113
1.6.11 位左移指令 (SHFTL) - - - - - - - - - - - - - - - - - - - - 1-114
1.6.12 位右移指令 (SHFTR) - - - - - - - - - - - - - - - - - - - - 1-116
1.6.13 字复制指令 (COPYW) - - - - - - - - - - - - - - - - - - - - 1-117
1.6.14 字节交换指令 (BSWAP) - - - - - - - - - - - - - - - - - - - 1-119
字节压缩指令 (BPRESS) - - - - - - - - - - - - - - - - 1-109
1.7 DDC 指令 - - - - - - - - - - - - - - - - - - - - - 1-121
1.7.1 死区 A 指令 (DZA) - - - - - - - - - - - - - - - - - - - - - 1-121
1.7.2 死区 B 指令 (DZB) - - - - - - - - - - - - - - - - - - - - - 1-123
1.7.3 上下限值指令 (LIMIT) - - - - - - - - - - - - - - - - - - - 1-125
1.7.4 PI 控制指令 (PI) - - - - - - - - - - - - - - - - - - - - - 1-128
1.7.5 PD 控制指令 (PD) - - - - - - - - - - - - - - - - - - - - - 1-131
1.7.6 PID 控制指令 (PID) - - - - - - - - - - - - - - - - - - - - 1-134
1.7.7 一阶延迟指令 (LAG) - - - - - - - - - - - - - - - - - - - - 1-138
1.7.8 相位超前滞后指令 (LLAG) - - - - - - - - - - - - - - - - - 1-141
1.7.9 函数发生器指令 (FGN) - - - - - - - - - - - - - - - - - - - 1-144
1.7.10 反函数发生器指令 (IFGN) - - - - - - - - - - - - - - - - - 1-148
1.7.11 直线加减速器 1 指令 (LAU) - - - - - - - - - - - - - - - - - 1-152
1.7.12 直线加减速器 2 指令 (SLAU) - - - - - - - - - - - - - - - - 1-156
1.7.13 脉宽调制指令 (PWM) - - - - - - - - - - - - - - - - - - - - 1-163
1
1.8 表数据操作指令 - - - - - - - - - - - - - - - - - 1-165
1.8.1 块调出指令 (TBLBR) - - - - - - - - - - - - - - - - - - - - 1-165
1.8.2 块写入指令 (TBLBW) - - - - - - - - - - - - - - - - - - - - 1-167
1.8.3 行检索指令
1.8.4 列检索指令
1.8.5 块清除指令 (TBLCL) - - - - - - - - - - - - - - - - - - - - 1-173
1.8.6 表间块传送指令 (TBLMV) - - - - - - - - - - - - - - - - - - 1-175
1.8.7 Q 表调出指令 (QTBLR
1.8.8 Q 表写入指令 (QTBLW
1.8.9 Q 指针清除指令 (QTBLCL) - - - - - - - - - - - - - - - - - - 1-181
纵向 (TBLSRL) - - - - - - - - - - - - - - - - 1-169 横向 (TBLSRC) - - - - - - - - - - - - - - - - 1-171
QTBLRI) - - - - - - - - - - - - - - - 1-177 QTBLWI) - - - - - - - - - - - - - - - 1-179
1-3
1 章 梯形图指令
1.1.1 A 触点指令 (NOC)
1.1 继电器电路指令
1.1.1 A 触点指令 (NOC)
概要
映像寄存器的值为 1(ON) 时 将位输出置为 ON 反之 映像寄存器的值为 0(OFF) 时 将位输出置为 OFF
格式
标记 NOC
全称
NO Contact
RELAY
类别
图标
参数
参数名称 设定
继电器编号
所有比特型寄存器 同上带下标字母
程序举例
当 MB000100 ON 时 MB000101 为 ON
MB000100ONOFF
MB000101ONOFF
1-4
1.1.2 B 触点指令 (NCC)
概要
映像寄存器的值为 1(ON) 时 将位输出置为 OFF 反之 映像寄存器的值为 0(OFF) 时
将位输出置为 ON
格式
参数
标记 NCC
NC Contact
全称
类别
RELAY
图标
1.1 继电器电路指令
1
参数名称 设定
继电器编号
所有比特型寄存器 同上带下标字母
程序举例
当 MB000100 ON 时 MB000101 为 OFF
MB000100ONOFF
MB000101ONOFF
1.1.3 接通延时定时器指令 (TON[10ms])
概要
位输入为 ON 时 进行计时 当 计数值 设定值 时 位输出为 ON
计数中位输入为 OFF 时 停止计时 位输入再次为 ON 时 从 (0) 开始计数 同时 计数用的寄存器中存储实际计数时间 ( 以 10ms 为单位 ) 的值
1-5
1 章 梯形图指令
1.1.3 接通延时定时器指令 (TON[10ms])
格式
参数
Set( 设定值 ) 所有整型寄存器
Count( 计数值 )
标记 TON[10ms]
全称
On-Delay Timer[10ms]
RELAY
类别
图标
参数名称 设定
同上带下标字母 (0 65535(655.35s) 10ms 刻度 ) 常数
整型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
MW00011 作为计时器的计数用寄存器而工作 为避免重复 请务必设定未使用的寄存器
1-6
1.1.4 断开延时定时器指令 (TOFF[10ms])
概要
位输入为 OFF 时 进行计时 当 计数值 设定值 时 位输出为 OFF
计数中最近的位输入为 ON 时 停止计时 位输入再次为 OFF 时 从 (0) 开始计数 同时 计数用的寄存器中存储实际计数时间 ( 以 10ms 为单位 ) 的值
1.1 继电器电路指令
格式
标记 TOFF[10ms]
Off-Delay Timer[10ms]
全称
类别
RELAY
图标
参数
参数名称 设定
Set( 设定值 )
Count( 计数值 ) 整型寄存器 (# C 寄存器除外 )
所有整型寄存器 同上带下标字母 (0 65535(655.35s) 10ms 刻度 ) 常数
同上带下标字母
程序举例
1
1-7
1 章 梯形图指令
1.1.5 接通延时定时器指令 (TON[1s])
MW00011 作为计时器的计数用寄存器而工作 为避免重复 请务必设定未使用的寄存器
1.1.5 接通延时定时器指令 (TON[1s])
概要
位输入为ON时 进行计时 当 计数值 设定值 时 , 位输出为 ON
计数中最近的位输入为 OFF 时 停止计时 位输入再次为 ON 时 从 (0) 开始计数 同时 计数用的寄存器中存储实际计数时间 ( 以 1s 为单位 ) 的值
格式
标记 TON[1s]
全称 On-Delay Timer[1s]
类别 RELAY
图标
参数
参数名称 设定
Set( 设定值 ) 所有整型寄存器
同上带下标字母 (0 65535s 1s 刻度 ) 常数
Count( 计数值 ) 整型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
1-8
MW00011 作为计时器的计数用寄存器而工作 为避免重复 请务必设定未使用的寄存器
1.1.6 断开延时定时器指令 (TOFF[1s])
概要
1.1 继电器电路指令
1
位输入为 OFF 时 进行计时 当 计数值 设定值 时 位输出为 OFF
计数中位输入为 OFF 时 停止计时 位输入再次为 ON 时 从 (0) 开始计数 同时 计数用的寄存器中存储实际计数时间 ( 以 1s 为单位 ) 的值
格式
标记 TOFF[1s]
全称 Off-Delay Timer[1s]
RELAY
类别
图标
参数
参数名称 设定
Set( 设定值 )
Count( 计数值 ) 整型寄存器 (# C 寄存器除外 )
所有整型寄存器 同上带下标字母 (0 65535s 1s 刻度 ) 常数
同上带下标字母
1-9
1 章 梯形图指令
1.1.7 上升脉冲指令 (ON-PLS)
程序举例
MW00011 作为计时器的计数用寄存器而工作 为避免重复 请务必设定未使用的寄存器
1.1.7 上升脉冲指令 (ON-PLS)
概要
位输入状态从 OFF 变为 ON 时 位输出在一个扫描周期内为 ON 指定的寄存器用于保 存位输出上次的值
格式
标记 ON-PLS
全称
类别 RELAY
图标
参数
Rise Pulse
参数名称 设定
用于保存位输入上次值的 寄存器编号
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
1-10
1.1 继电器电路指令
程序举例
当 IB00001 从 OFF 变为 ON 时 MB000101 在一个扫描周期内为 ON MB000100 用于保存 IB00001 上次的值
表 1.1 表示上升脉冲指令的寄存器状态
1
表 1.1 上升脉冲指令的寄存器状态
输入 结果
IB00001
OFF OFF OFF OFF OFF ON OFF OFF
ON OFF ON ON ON ON ON OFF
( 注 )在该程序举例中 检测出的并非 MB000100 的上升 而是 IB00001
的上升
MB000100
(IB00001 上次的值 )
MB000100 仅用于保存 IB00001 上次的值
MB000100
(IB00001 的保存 )
MB000100
1-11
1 章 梯形图指令
1.1.8 下降脉冲指令 (OFF-PLS)
1.1.8 下降脉冲指令 (OFF-PLS)
概要
位输入从 ON 变为 OFF 时 位输出在一个扫描周期内为 ON 指定的寄存器用于保存位 输出上次的值
格式
标记 OFF-PLS
Fall Pulse
全称
类别
RELAY
图标
参数
参数名称 设定
用于保存位输入上次值的 寄存器编号
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
当 IB00001 从 ON 变为 OFF 时 MB000101 在一个扫描周期内为 ON MB000100 用于保存 IB00001 上次的值
1-12
表 1.2 表示下降脉冲指令的寄存器状态
IB00001
OFF OFF OFF OFF OFF ON OFF ON
ON OFF ON OFF ON ON ON OFF
( 注 )在该程序举例中 检测出的并非 MB000100 的下降 而是 IB00001
的下降
1.1.9 线圈指令 (COIL)
概要
表 1.2 下降脉冲指令的寄存器状态
输入 结果
MB000100
(IB00001 上次的值 )
MB000100 仅用于保存 IB00001 上次的值
MB000100
(IB00001 的保存 )
1.1 继电器电路指令
MB000101
1
位输入 ON 时 将映像寄存器的值置为 1(ON) 位输入 OFF 时 置为 0(OFF)
格式
标记 COIL
全称 Coil
类别 RELAY
图标
参数
参数名称 设定
线圈编号 比特型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
MB000100 为 ON 时 MB000101 为 ON
1-13
1 章 梯形图指令
1.1.10 置位线圈指令 (S-COIL)
1.1.10 置位线圈指令 (S-COIL)
概要
执行条件成立时 将输出置为 ON 并保持ON的状态
格式
标记 S-Coil
全称 Set Coil
类别
RELAY
图标
参数
参数名称 设定
线圈编号 比特型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
多次指定同一输出地点时
上例将进行如下动作
*
OB00000 为 OFF 时 在置位线圈指令下 OB00000 为 ON 状态
1-14
1.1.11 复位线圈指令 (R-COIL)
概要
执行条件成立时 将输出置为 OFF 并保持 OFF 的状态
格式
1.1 继电器电路指令
参数
参数名称 设定
线圈编号
程序举例
多次指定同一输出地点时
标记 R-Coil
全称 Reset Coil
类别
RELAY
图标
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
1
上例将进行如下动作
*
OB00000 为 ON 时 在复位线圈指令下 OB00000 为 OFF 状态
1-15
1 章 梯形图指令
1.2.1 存储指令 (STORE)
1.2 数值运算指令
1.2.1 存储指令 (STORE)
概要
将 Source 存储在 Dest 中
格式
标记 STORE
全称
Store
MATH
类别
图标
参数
参数名称 设定
Source 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-16
程序
1.2 数值运算指令
1
将长整型的数据存储到整型寄存器中时 直接保留低 16 位 存储的数据即使超出整数范围(-32768
32767) 也不会发生运算错误 敬请注意
1-17
1 章 梯形图指令
1.2.2 加法指令 (ADD)
1.2.2 加法指令 (ADD)
概要
进行整型 长整型 实型数的加法运算 给 Source A 加上 Source B 将其结果存储 在 Dest 中 整型的运算结果大于 32767 时 发生数据上溢的运算错误 长整型的运算结果大于 2147483647 时
发生数据上溢的运算错误
格式
标记 ADD
Add
全称
类别
MATH
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-18
程序举例
整型数的加法运算
1.2 数值运算指令
1
实型数的加法运算
长整型的加减法指令 ( - --) 通常为 32 位 但在余数补偿运算表达式 ( 前一指令 为乘法指令 (
) 后一指令为除法指令 ( )) 中使用时为 64 位运算
1-19
1 章 梯形图指令
1.2.3 加法扩展指令 (ADDX)
1.2.3 加法扩展指令 (ADDX)
概要
进行整型 长整型数的加法运算 给 Source A 加上 Source B 将其结果存储在 Dest 中
即使运算结果数据上溢 也不会发生运算错误
格式
标记 ADDX
Extended Add
全称
类别
MATH
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
程序举例
在整型数的加法运算中为避免发生运算错误而使用
长整型的加减法指令 ( - --) 通常为 32 位 但在余数补偿运算表达式 ( 前一指令 为乘法指令 (
) 后一指令为除法指令 ( )) 中使用时为 64 位运算
1-20
1.2.4 减法指令 (SUB)
概要
进行整型 长整型 实型数的减法运算 从 Source A 减去 Source B 将其结果存储 在 Dest 中 整型的减法运算结果小于 -32768 时 发生数据下溢的运算错误 长整型的减法运算 结果小于 -2147483648 时
格式
发生数据下溢的运算错误
标记 SUB
Subtract
全称
类别
MATH
图标
1.2 数值运算指令
1
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-21
1 章 梯形图指令
1.2.4 减法指令 (SUB)
程序举例
整型数的减法运算
实型数的减法运算
长整型的加减法指令 ( - --) 通常为 32 位 但在余数补偿运算表达式 ( 前一指令 为乘法指令 (
) 后一指令为除法指令 ( )) 中使用时为 64 位运算
1-22
1.2.5 减法扩展指令 (SUBX)
概要
进行整型 长整型数的减法运算 即使运算结果数据下溢 也不会发生运算错误
格式
1.2 数值运算指令
标记 SUB
全称 Subtract
类别
MATH
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1
程序举例
在整型数的减法运算中为避免发生运算错误而使用
长整型的加减法指令 ( - --) 通常为 32 位 但在余数补偿运算表达式 ( 前一指令 为乘法指令 (
) 后一指令为除法指令 ( )) 中使用时为 64 位运算
1-23
1 章 梯形图指令
1.2.6 乘法指令 (MUL)
1.2.6 乘法指令 (MUL)
概要
进行整型 长整型 实型数的乘法运算 Source A 乘以 Source B 将其结果存储在 Dest 中
格式
标记 MUL
Multiply
全称
类别
MATH
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-24
程序举例
整型数的乘法运算
1.2 数值运算指令
1
长整型数的乘法运算
1-25
1 章 梯形图指令
1.2.6 乘法指令 (MUL)
实型数的乘法运算
长整型的加减法指令 ( - --) 通常为 32 位 但在余数补偿运算表达式 ( 前一指令 为乘法指令 (
) 后一指令为除法指令 ( )) 中使用时为 64 位运算
1-26
1.2.7 除法指令 (DIV)
概要
进行整型 长整型 实型数的除法运算 Source A 除以 Source B 将其结果存储在 Dest 中
格式
标记 DIV
Divide
全称
类别
MATH
图标
1.2 数值运算指令
1
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-27
1 章 梯形图指令
1.2.7 除法指令 (DIV)
程序举例
实型数的除法运算
1-28
1.2.8 整型余数指令 (MOD)
概要
将整型 长整型除法运算的余数存储在 Dest 中 请在除法指令后立即执行 若不在 除法指令后立即执行
格式
参数
1.2 数值运算指令
其后到下次数值运算指令出现之间的运算结果将无法保证
标记 MOD
Integer Remainder
全称
类别
MATH
图标
1
参数名称 设定
Dest
整型 长整型 实型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
程序举例
将整型除法运算的商存储在 MW00101 中 余数存储在 MW00102 中
1-29
1 章 梯形图指令
1.2.9 实型余数指令 (REM)
1.2.9 实型余数指令 (REM)
概要
将实型除法运算的余数存储在 Dest 中 此时所谓的余数 是指从 Source 连续减去 Base 所得的剩余
即 假设连续减去的次数为 n 则得到如下结果
Dest Source (Base n)(0 ≦ Dest Base)
格式
标记 REM
Real Remainder
全称
类别
MATH
图标
参数
参数名称 设定
Source 所有实型寄存器
同上带下标字母 常数
Base 所有实型寄存器
同上带下标字母 常数
Dest
实型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
求出 MF00200 除以常数 1.5 的余数 将其结果存储在 DF00202 中
1-30
1.2.10 增量指令 (INC)
概要
给整型 长整型寄存器加 1 整型时 加法运算结果即使大于 32767 也不会发生数 据上溢的运算错误
格式
参数
同样 长整型也不会发生数据上溢的运算错误
标记 INC
Increment
全称
类别
MATH
图标
1.2 数值运算指令
1
参数名称 设定
Dest 整型 长整型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
程序举例
整型
1-31
1 章 梯形图指令
1.2.11 减量指令 (DEC)
长整型
1.2.11 减量指令 (DEC)
概要
从整型 长整型寄存器中减 1 整型时 减法运算结果即使小于 -32768 也不会发生 数据下溢的运算错误 同样 长整型也不会发生数据下溢的运算错误
格式
参数
参数名称 设定
Dest 整型 长整型寄存器 (# C 寄存器除外 )
标记 DEC
全称 Decrement
类别 MATH
图标
同上带下标字母 下标寄存器
1-32
程序举例
整型
1.2 数值运算指令
1
长整型
1.2.12 时间加法指令 (TMADD)
概要
进行两个时间数据(时/分/秒)的加法运算 给 Dest 加上 Source( 加时间 ) 将其结果存储在 Dest 中 Source 和 Dest 的 数据格式如下
表 1.3 数据格式
寄存器偏置 数据内容 数据范围 (BCD)
0 时 / 分 高位字节 ( 时 )
低位字节 ( 分 )
1 0000 0059
1-33
0 23 0 59
1 章 梯形图指令
1.2.12 时间加法指令 (TMADD)
Source Dest 及运算结果的内容在上述数据范围内时 正常执行运算 执行后的 Status 为 OFF 储 9999(H)
Source 及 Dest 超出数据范围时 不执行运算 Dest 的秒寄存器内存
Status 为 ON 运算结果超出数据范围时 其值被直接存储在 Dest 中
Status 为 ON
格式
标记 TMADD
全称
Time Add
MATH
类别
图标
参数
参数名称 设定
Source 所有整型寄存器
同上带下标字母
Dest
Status
*
可省略 Status
*
整型寄存器 (# C 寄存器除外 ) 同上带下标字母
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
在 MW00100 MW00101 的时间数据上加 DW00000 DW00001 的时间数据
8 时 40 分 32 秒 1 时 22 分 16 秒 10 时 2 分 48 秒 (MW00100) (MW00101) (DW00000) (DW00001) (MW00100) (MW00101)
时间数据 执行前 执行后
MW00100
MW00101
DW00000
DW00001
0840H 1002H
0032H 0048H
0122H 0122H
0016H 0016H
1-34
1.2.13 时间减法指令 (TMSUB)
概要
进行两个时间数据(时/分/秒)的减法运算 从 Dest( 被减时间 ) 中减去 Source( 减时间 ) 将其结果存储在 Dest 中 Source 和 Dest 的数据格式如下
1.2 数值运算指令
表 1.4 数据格式
寄存器偏置 数据内容 数据范围 (BCD)
0 时 / 分 高位字节 ( 时 )
低位字节 ( 分 )
1 0000
0059
0 23 0 59
Source Dest 及运算结果的内容在上述数据范围内时 正常执行运算 执行后的 Status 为 OFF 储 9999(H)
Source 及 Dest 超出数据范围时 不执行运算 Dest 的秒寄存器内存
Status 为 ON 运算结果超出数据范围时 其值被直接存储在 Dest 中
Status 为 ON
格式
TMSUB
标记
全称 Time Sub
MATH
类别
图标
1
参数
参数名称 设定
Source
Dest
Status
*
可省略 Status
*
所有整型寄存器 同上带下标字母
整型寄存器 (# C 寄存器除外 ) 同上带下标字母
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
1-35
1 章 梯形图指令
1.2.13 时间减法指令 (TMSUB)
程序举例
从 MW00100 MW00101 的时间数据中减 DW00000 DW00001 的时间数据
8 时 40 分 32 秒 1 时 22 分 16 秒 7 时 18 分 16 秒 (MW00100) (MW00101) (DW00000) (DW00001) (MW00100) (MW00101)
时间数据 执行前 执行后
MW00100 0840H 0718H
MW00101 0032H 0016H
DW00000 0122H 0122H
DW00001 0016H 0016H
1-36
1.2.14 时间经过指令 (SPEND)
概要
进行两个数据(年/月/日/时/分/秒)的减法运算 计算经过的时间 从 Dest 中减去 Source 将其结果存储在 Dest 中 Source 和 Dest 的格式如下
1.2 数值运算指令
表 1.5 Source 的格式
寄存器偏置 数据内容 数据范围 (BCD) 输入输出
0 年 (BCD) 0000
1 月 / 日 (BCD) 高位字节 ( 月 )
低位字节 ( 日 )
2 时 / 分 (BCD) 高位字节 ( 时 )
低位字节 ( 分 )
3 秒 (BCD) 0000
表 1.6 Dest 的格式
寄存器偏置 数据内容 数据范围 (BCD) 输入输出
0 年 (BCD) 0000
1 月 / 日 (BCD) 高位字节 ( 月 ) 1 12
低位字节 ( 日 )
2 时 / 分 (BCD) 高位字节 ( 时 ) 0 23
低位字节 ( 分 )
3 秒 (BCD) 0000 0059 IN/OUT
4 总计秒数 将运算结果的年 / 月 / 日 / 时 / 分
5
换算成秒数的结果 ( 长整数 )
0099 IN
1 12 1 31
0 23 0 59
0059 IN
0099 IN/OUT
1 31
0 59
IN
IN
IN/OUT
IN/OUT
IN/OUT
Source Dest 及运算结果的内容在上述数据范围内时 正常执行运算 执行后的 Status 为 OFF 储 9999(H)
Source 及 Dest 超出数据范围时 不执行运算 Dest 的秒寄存器内存
Status 为 ON 运算结果超出数据范围时 其值被直接存储在 Dest 中
Status 为 ON
1
格式
SPEND
标记
全称 Time Spend
MATH
类别
图标
1-37
1 章 梯形图指令
1.2.14 时间经过指令 (SPEND)
参数
参数名称 设定
Source
Dest 整型寄存器 (# C 寄存器除外 )
Status
*
*
可省略 Status 的设定
所有整型寄存器 同上带下标字母
同上带下标字母
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
将 MW00100 MW00103 的时间数据与 DW00000 DW00003 的时间数据之间经过的时间 存储在 MW00100
MW00105 中
98 年 5 月 11 日 15 时 04 分 47 秒 (MW00100) (MW00101) (MW00102) (MW00103)
98 年 4 月 2 日 8 时 13 分 08 秒
(DW00000) (DW00101) (DW00102) (DW00103)
0 年 39 日 6 时 51 分 39 秒
(MW00100) (MW00101) (MW00102) (MW00103)
时间数据 执行前 执行后
MW00100 H0098 H0000
MW00101 H0511 H0039
MW00102 H1504 H0651
MW00103 H0047 H0039
MW00104
MW00105
DW00000 H0098 H0098
DW00001 H0402 H0402
DW00002 H0813 H0813
DW00003 H0008 H0008
3394299(10进制数)
运算结果中 年按 365 天计算 不考虑闰年 而且运算结果中不计算月数 只计算天数
1-38
1.2.15 符号取反指令 (INV)
概要
将 Source 的符号反转 将其结果存储在 Dest 中
格式
1.2 数值运算指令
标记 INV
全称 Inverse
类别
MATH
图标
参数
参数名称 设定
Source 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
程序举例
整型数据
1
长整型数据
1-39
1 章 梯形图指令
1.2.15 符号取反指令 (INV)
实型数据
1-40
1.2.16 1 的补码指令 (COM)
概要
将 Source的1的补码存储在Dest中
格式
1.2 数值运算指令
标记 COM
全称 Complement
类别
MATH
图标
参数
参数名称 设定
Source 所有整型 长整型寄存器
同上带下标字母 下标寄存器
Dest
整型 长整型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
程序举例
整型数据
1
长整型数据
1-41
1 章 梯形图指令
1.2.17 绝对值转换指令 (ABS)
1.2.17 绝对值转换指令 (ABS)
概要
将 Source 的绝对值存储在 Dest 中
格式
标记 ABS
全称 Absolute
类别
图标
参数
MATH
参数名称 设定
Source
Dest 整型 长整型 实型寄存器 (# C 寄存器除外 )
所有整型 长整型 实型寄存器 同上带下标字母 下标寄存器
同上带下标字母 下标寄存器
程序举例
整型数据
长整型数据
1-42
实型数据
1.2 数值运算指令
1
1-43
1 章 梯形图指令
1.2.18 2 进制转换指令 (BIN)
1.2.18 2 进制转换指令 (BIN)
概要
将 Source 的 BCD 格式的数值转换为 2 进制数值 (BIN 转换 ) 将其结果存储在 Dest 中 假设 BCD 格式的数值 (4位)为abcd 用下列算式求出 BIN 指令的输出值 Dest Dest (a 1000) (b 100) (c 10) d 当 Source 的数值不是 BCD 格式 (123FH等)时
无法得出正确结果
格式
标记 BIN
Convert to Binary
全称
类别
MATH
图标
参数
参数名称 设定
Source 所有整型 长整型寄存器
同上带下标字母 下标寄存器
Dest
整型 长整型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
程序举例
整型数据
长整型数据
1-44
1.2.19 BCD 转换指令 (BCD)
概要
将 Source 的 2 进制格式的数値转换为 BCD 数值 (BCD 转换 ) 将其结果存储在 Dest 中 假设 Source的 10 进制数值 (4位 ) 为 0abcd 用下列算式求出 BCD 指令的输出值 Dest Dest (a 4096) (b 256) (c 16) d Source 的数值不是 BCD 格式 ( 大于 9999 的数及负数 ) 时
格式
标记 BCD
Convert to BCD
全称
类别
MATH
图标
1.2 数值运算指令
无法得出正确的结果
1
参数
参数名称 设定
Source
Dest 整型 长整型寄存器 (# C 寄存器除外 )
所有整型 长整型寄存器 同上带下标字母 下标寄存器
同上带下标字母 下标寄存器
程序举例
整型数据
长整型数据
1-45
1 章 梯形图指令
1.2.20 校验转换指令 (PARITY)
1.2.20 校验转换指令 (PARITY)
概要
计算 Source的2进制格式位为ON( 1) 的数 将其结果存储在 Dest 中
格式
标记 PARITY
全称 Count ON Bit
类别
MATH
图标
参数
参数名称 设定
Source 所有整型 长整型寄存器
同上带下标字母 下标寄存器
Dest 整型 长整型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
程序举例
整型数据
长整型数据
1-46
1.2.21 ASCII 码转换 1 指令 (ASCII)
概要
将 Source 中指定的字符 ( 字符串 ) 转换成 ASCII 码 将其结果存储在 Dest( 整型寄存 器)中 按照第 1 个字符 第 1 个字的低位字节 第 2 个字符 第 1 个字的高位字节这样的顺 序存储 入32个字符
格式
可区分大小写
字符串的长度为奇数时 存储地点的最后的字的高位字节为 0 最多可以输
标记 ASCII
全称 Convert Character to ASCII
类别
图标
1.2 数值运算指令
1
MATH
参数
参数名称 设定
Source ASCII 字符
Dest 整型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
将字符串 ABCD 存储在 MW00100 MW00101 中
高位字节 低位字节
42H(
MW00100
MW00101
B ) 41H( A )
D ) 43H( C )
44H(
MW00100
MW00101
4241H
4443H
1-47
1 章 梯形图指令
1.2.21 ASCII 码转换 1 指令 (ASCII)
将字符串 ABCDEFG 存储在 MW00100 MW00103 中
高位字节 低位字节
42H(
MW00100
MW00101
MW00102
MW00103
B ) 41H( A )
D ) 43H( C )
44H(
F ) 45H( E )
46H(
00H 47H(
空字节补 0
G )
MW00100
MW00101
MW00100
MW00101
4241H
4443H
4645H
0047H
1-48
1.2.22 ASCII 码转换 2 指令 (BINASC)
概要
将 Source 中存储的 16 位 2 进制数据转换为 16 进制 4 位的 ASCII 码 将其结果存储 在 Dest(2字)中
格式
标记 BINASC
全称
类别
图标
1.2 数值运算指令
1
Convert Binary to ASCII
MATH
参数
参数名称 设定
Source 所有整型寄存器
同上带下标字母 常数
Dest
整型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
将 2 进制数据 1234H 转换成 ASCII 码 将其结果存储在 MW00100 MW00101 中
高位字节 低位字节
32H(
MW00100
MW00101
2 ) 31H( 1 )
4 ) 33H( 3 )
34H(
MW00100
MW00101
3231H
3433H
1-49
1 章 梯形图指令
1.2.23 ASCII 码转换 3 指令 (ASCBIN)
1.2.23 ASCII 码转换 3 指令 (ASCBIN)
概要
将 Source(2 字 ) 中存储的 16 进制 4 位 ASCII 码表示的数据转换为 16 位的 2 进制数 据
格式
将其结果存储在 Dest(1 字 ) 中
标记 ASCBIN
全称
类别
图标
Convert ASCII to Binary
MATH
参数
参数名称 设定
Source 所有整型寄存器
同上带下标字母
Dest 整型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
将 MW00100 MW00101 中存储的 4 字节 ASCII 码转换为 2 进制 2 字节数据 将其结果 存储在 MW00200 中
转换源数据 存储数据
高位字节 低位字节 高位数据 低位数据
MW00100
MW00101
32H( 2 ) 31H( 1 )
34H(
4 ) 33H( 3 )
MW00200
12H 34H
1-50
1.3 逻辑运算 / 比较指令
1.3.1 逻辑与指令 (AND)
概要
将 Source A 和 Source B 的逻辑与存储在 Dest 中
1.3 逻辑运算 / 比较指令
表 1.7 位逻辑与真值表
Source A Source B Dest
00 0 01 0 10 0 11 1
格式
标记
全称 AND
类别 LOGIC
图标
参数
1
AND
参数名称 设定
Source A
Source B
Dest
所有整型 长整型寄存器 同上带下标字母 下标寄存器 常数
所有整型 长整型寄存器 同上带下标字母 下标寄存器 常数
整型 长整型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
1-51
1 章 梯形图指令
1.3.2 逻辑或指令 (OR)
1.3.2 逻辑或指令 (OR)
程序举例
将 MW00100 和常数的逻辑与存储在 MW00101 中
概要
将 Source A 和 Source B 的逻辑或存储在 Dest 中
表 1.8 位逻辑或真值表
Source A Source B Dest
00 0 01 1 10 1 11 1
格式
标记
全称
类别 LOGIC
图标
参数
OR
Inclusive OR
参数名称 设定
Source A 所有整型 长整型寄存器
同上带下标字母 下标寄存器 常数
Source B
Dest 整型 长整型寄存器 (# C 寄存器除外 )
所有整型 长整型寄存器 同上带下标字母 下标寄存器 常数
同上带下标字母 下标寄存器
1-52
程序举例
将 MW00100 和常数的逻辑或存储在 MW00101 中
1.3.3 逻辑异或指令 (XOR)
概要
将 Source A 和 Source B 的逻辑异或存储在 Dest 中
表 1.9 位逻辑异或真值表
1.3 逻辑运算 / 比较指令
1
Source A Source B Dest
00 0 01 1 10 1 11 0
格式
标记
全称 Exclusive OR
类别 LOGIC
图标
参数
XOR
参数名称 设定
Source A 所有整型 长整型寄存器
同上带下标字母 下标寄存器 常数
Source B
Dest
所有整型 长整型寄存器 同上带下标字母 下标寄存器 常数
整型 长整型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
1-53
1 章 梯形图指令
1.3.4 比较指令 (
1.3.4 比较指令 ( )
)
程序举例
将 MW00100 和常数的逻辑异或存储在 MW00101 中
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
标记
全称 Less Than(A B)
类别 LOGIC
图标
参数
参数名称 设定
Source A
Source B 所有整型 长整型 实型寄存器
所有整型 长整型 实型寄存器 同上带下标字母 下标寄存器 常数
同上带下标字母 下标寄存器 常数
程序举例
MW00100 的值小于 100 时 执行其后的运算指令
1-54
1.3.5 比较指令 ( ≦ )
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
1.3 逻辑运算 / 比较指令
标记 ≦
全称 Less Than or Equal(A ≦ B)
类别
LOGIC
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
1
程序举例
MW00100 的值小于等于 100 时 执行其后的运算指令
1-55
1 章 梯形图指令
1.3.6 比较指令 (
1.3.6 比较指令 ( )
)
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
标记
全称 Equal(A B)
类别
LOGIC
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
程序举例
MW00100 的值等于 100 时 执行其后的运算指令
1-56
1.3.7 比较指令 ( )
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
1.3 逻辑运算 / 比较指令
标记
全称 Not Equal(A B)
类别
LOGIC
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
1
程序举例
MW00100 的值不等于 100 时 执行其后的运算指令
1-57
1 章 梯形图指令
1.3.8 比较指令 ( ≧ )
1.3.8 比较指令 ( ≧ )
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
标记 ≧
全称 Greater Than or Equal(A ≧ B)
类别
LOGIC
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
程序举例
MW00100 的值大于等于 100 时 执行其后的运算指令
1-58
1.3.9 比较指令 ( )
概要
进行 Source A 和 Source B 比较结果的位输出 ( 结果为真时为 ON )
格式
1.3 逻辑运算 / 比较指令
标记
全称 Greater Than(A B)
类别
LOGIC
图标
参数
参数名称 设定
Source A 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
Source B 所有整型 长整型 实型寄存器
同上带下标字母 下标寄存器 常数
1
程序举例
MW00100 的值大于 100 时 执行其后的运算指令
1-59
1 章 梯形图指令
1.3.10 范围检查指令 (RCHK)
1.3.10 范围检查指令 (RCHK)
概要
检查输入的 Input 内容是否在 Lower Limit 和 Upper Limit 的范围内 将其结果进行 位输出
下限值 (Lower Limit) ≦输入值 (Input) ≦上限值 (Upper Limit) 时 结果位输出 ON
除上述以外时 结果位输出 OFF
格式
标记 RCHK
全称 Range Check
LOGIC
类别
图标
1-60
参数
参数名称 设定
Input ( 输入值 )
Lower Limit ( 下限值 )
Upper Limit ( 上限值 )
所有整型 长整型 实型寄存器 同上带下标字母 下标寄存器 常数
所有整型 长整型 实型寄存器 同上带下标字母 下标寄存器 常数
所有整型 长整型 实型寄存器 同上带下标字母 下标寄存器 常数
程序举例
1.3 逻辑运算 / 比较指令
1
整型运算时
输入 (MW00100) 输出 (DB000000)
-1000 MW00100 OFF
-1000 ≦ MW00100 ≦ 1000 ON
MW00100 1000 OFF
长整型运算时
输入 (ML00100) 输出 (DB000000)
-100000
-100000 ≦ ML00100 ≦ 100000 ON
ML00100 100000 OFF
ML00100 OFF
1-61
1 章 梯形图指令
1.3.10 范围检查指令 (RCHK)
实型运算时
输入 (MF00100) 输出 (DB000000)
-10.5
-10.5 ≦ DF00100 ≦ 10.5 ON
DF00100 10.5 OFF
DF00100 OFF
1-62
1.4 程序控制指令
1.4.1 图调用指令 (SEE)
概要
从主图调用子图 或从子图调用孙图时使用 但不同系列的图之间无法调用 例如 在 DWG.L 中无法表述 SEE.H01 的内容
格式
标记 SEE
全称
Call Program
CONTROL
类别
图标
1.4 程序控制指令
1
参数
参数名称 设定
Name 程序名
程序举例
1-63
1 章 梯形图指令
1.4.2 运动程序调用指令 (MSEE)
1.4.2 运动程序调用指令 (MSEE)
概要
调用指定的运动程序
格式
参数
标记 MSEE
Call Motion Program
全称
MOTION
类别 图标
参数名称 设定
Program No. ( 运动程序编号 )
Data ( 工作寄存器 )
程序举例
直接指定 间接指定 整型寄存器
寄存器地址 (#
001 256 的数值
C 寄存器除外 )
1-64
1.4.3 函数调用指令 (FUNC)
概要
从图,子图调用 以及从用户函数调用用户函数时使用 请事先定义需调用的用户函 数
( 系统已对系统函数做出了定义 因此没有必要再进行定义 ) 根据函数定义定
义输入名称
输入输出数
1.4 程序控制指令
格式
标记 FUNC
User Function
全称
类别
CONTROL
图标
参数
参数名称 设定
Name 函数程序名
INPUT( 根据函数定义 ) 输入参数 ( 类型取决于函数定义 )
ADRESS( 根据函数定义 ) 输入地址参数 ( 地址型寄存器 )
OUTPUT( 根据函数定义 ) 输出参数 ( 类型取决于函数定义 )
由函数定义决定的输入输出参数的数据类型如下表所示
输入数据类型 输入指定 说明
位输入 B-VAL 输入指定为比特型
此比特型数据为函数的输入
整型输入 I-VAL 输入指定为整型
指定寄存器编号的内容 ( 整型数据 ) 为函数的输入
I-REG 输入指定为整型寄存器编号的内容 调用函数时 指定整型寄存器编号
指定寄存器编号的内容 ( 整型数据 ) 为函数的输入
长整型输入 L-VAL 输入指定为长整型
调用函数时 指定寄存器编号的内容 ( 长整型数据 ) 为函数的输入
L-REG 输入指定为长整型寄存器编号的内容
调用函数时 长整型寄存器编号的内容 ( 长整型数据 ) 为函数的输入
实型输入 F-VAL 输入指定为实型
指定寄存器编号的内容 ( 实型数据 ) 为函数的输入
F-REG 输入指定为实型寄存器编号的内容 调用函数时 指定实型寄存器编号
指定寄存器编号的内容 ( 实型数据 ) 为函数的输入
地址输入 将指定寄存器 ( 任意整型寄存器 ) 的地址传递给函数 用户函数时仅为一次
输入
1
1-65
1 章 梯形图指令
1.4.4 连续执行型直接输入指令 (INS)
程序举例
1.4.4 连续执行型直接输入指令 (INS)
概要
与系统输入输出 ( 统一输入 / 统一输出 ) 独立 在用户程序中执行输入输出 输入输 出在直接输入输出指令执行时进行
在输入输出动作结束之前 不执行下一指令
格式
标记 INS
全称 Direct Input String
CONTROL
类别
图标
1-66
1.4 程序控制指令
参数
参数名称 设定
Parameter ( 参数表首地址 )
[Status]
ADR 类型 符号 名称 规格 输入输出
0
1
2
3
4
*
*
可省略 [Status]
表 1.10 INS 指令参数 / 数据表
W
RSSEL 单元指定 1 指定输入单元
W
MDSEL 单元指定 2
W
STS 状态 每个字的输入状态按相应的位输
W
N 字数 指定连续输入字数
W
ID1 输入数据 1 输出输入的数据
寄存器地址 (# C 寄存器除外 ) 同上带下标字母
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
出错时存储 0 (MP930 时
仅 1 个数据 )
IN
IN
OUT
IN
OUT
1
N 3
W
IDN 输入数据 N
RSSEL MDSEL 的设定方法
1. RSSEL
指定对象模块的安装单元 / 插槽
16 进制表示 xxyyH xx
yy
在 MP930 中 单元编号 1 插槽编号 3 为固定
2. MDSEL
FC84 0
abc d
a 输入模块种类 0 分立输入模块
b 单元编号 (1 4) 1 寄存器输入模块
插槽编号 (1 9)
c
d 数据偏置 (0 7)
单元编号 (1 4)
插槽编号 (1 9)
OUT
在 MP930 中 输入模块种类 0 单元编号 1 插槽编号 3 数据偏置 0 均被固定
1-67
1 章 梯形图指令
1.4.4 连续执行型直接输入指令 (INS)
程序举例
从安装在单元 2/ 插槽 4 上的 LIO 输入数据
1-68
1.4.5 连续执行型直接输出指令 (OUTS)
概要
按照事先设定的参数 / 数据表的内容 对 1 模块执行连续直接输出 适用于直接输出 的单元仅为 LIO
格式
标记 OUT
全称
类别
图标
1.4 程序控制指令
1
Direct Output String
CONTROL
参数
参数名称 设定
Parameter ( 参数表首地址 )
[Status]
ADR 类型 符号 名称 规格 输入输出
0
1
2
3
4
N 3
*
*
可省略 [Status]
表 1.11 OUTS 指令参数 / 数据表
W
RSSEL 单元指定 1 指定进行输出的模块
W
MDSEL 单元指定 2
W
STS 状态 每个字的输出状态按相应的位输
W
N 字数 指定连续输出字
W
OD1 输出数据 1 设定输出数据
W
ODN 输出数据 N
寄存器地址 (# C 寄存器除外 ) 同上带下标字母
比特型寄存器 (# C 寄存器除外 ) 同上带下标字母
(MP930 时
仅 1 个数据 )
IN
IN
OUT
IN
IN
IN
RSSEL MDSEL 的设定方法
RSSEL MDSEL 的设定方法与 INS 指令相同
1-69
1 章 梯形图指令
1.4.5 连续执行型直接输出指令 (OUTS)
程序举例
向单元 3/ 插槽 10 上安装的 LIO-01 输出 2 个字
MP930 时因本地 I/O 被分配为默认值 通过使用 OUTS 指令 进行每个扫描周期两次输出
1-70
1.4.6 扩展程序执行指令 (XCALL)
概要
在执行扩展程序时使用
所谓扩展程序 是指表格式程序 在 1 个图中能使用多个 XCALL 指令 但不能 2 次以 上调用同样的扩展程序
1.4 程序控制指令
格式
参数
参数名称 设定
Name ( 扩展程序种类 )
程序举例
标记 XCALL
Call Extended Program
全称
类别
CONTROL
图标
MCTBL 常数表 (M 寄存器 ) IOTBL ILKTBL ASMTBL
输入输出转换表
联锁表 部件总成表
1
1-71
1 章 梯形图指令
1.4.7 WHILE 指令 (WHILE
1.4.7 WHILE 指令 (WHILE END_WHILE)
END_WHILE)
概要
满足 WHILE 指令的条件表达式时 执行 WHILE END_WHILE 间的循环体 ( 指令体 ) 条 件不满足时
不执行指令体 而进入 END_WHILE 下面的指令
格式
指令表达式 ON 时
标记 WHILE END_WHILE
全称
While Do End of While
CONTROL
类别
图标
指令表达式 OFF 时
标记 WHILE-END_WHILE
While Do and End of While
全称
类别 CONTROL
图标
参数
参数名称 设定
条件表达式 条件表达式用 Expression 表述
1-72
1.4 程序控制指令
程序举例
对 MW00100 到 MW00199 的 100 个寄存器进行合计 将其结果存储在 MW00200 中
1
1-73
1 章 梯形图指令
1.4.8 IF 指令 (IF
1.4.8 IF 指令 (IF END_IF)
END_IF)
概要
IF 指令的条件表达式成立时 执行 IF 和 END_IF 之间的指令体 不成立时不执行
格式
指令表达式 ON 时
标记 IF END_IF
全称
If Then End of If
CONTROL
类别
图标
指令表达式 OFF 时
标记 IF-END_IF
全称 If Then and End of If
类别 CONTROL
图标
参数
参数名称 设定
条件表达式 条件表达式用 Expression 表述
1-74
1.4 程序控制指令
程序举例
MW00108 为 ON 时 给 MW00200 上加 MW00201 同时实现 MW00201 的自增
1
1-75
1 章 梯形图指令
1.4.9 IF 指令 (IF
1.4.9 IF 指令 (IF ELSE END_IF)
ELSE END_IF)
概要
IF 指令的条件表达式成立时 仅执行指令体 -1 不执行指令体 -2
IF 指令的条件表达式不成立时 仅执行指令体 -2 不执行指令体 -1
格式
指令表达式 ON 时
标记 IF ELSE END_IF
全称
If Then Else End of If
CONTROL
类别
图标
指令表达式 OFF 时
标记 IF-ELSE-END_IF
If Then and Else and End of If
全称
CONTROL
类别
图标
参数
参数名称 设定
条件表达式 条件表达式用 Expression 表述
1-76
程序举例
MW00010 的内容大于 0 时 将 MW00011 的内容设为 0
除此以外 将 MW00011 的内容设为 1
1.4 程序控制指令
1
1-77
1 章 梯形图指令
1.4.10 FOR 指令 (FOR
1.4.10 FOR 指令 (FOR END_FOR)
END_FOR)
概要
FOR 指令和相应的 END_FOR 指令之间的指令体 仅循环执行指定的次数 N
(B A 1)/C 变量 Variable 从初始值 Init 开始每循环执行一次就自加 Step 一次 当最终 Variable
Max 时结束循环
格式
指令表达式 ON 时
标记 FOR END_FOR
全称
For End of For
CONTROL
类别
图标
指令表达式 OFF 时
标记 FOR-END_FOR
全称 For and End of For
类别 CONTROL
图标
1-78
参数
参数名称 设定
Variable( 变量 )
Init( 初始值 )
Max( 最大值 )
Step( 增加部分 ) 所有整型寄存器
所有整型寄存器 同上带下标字母 下标寄存器 (I J)
所有整型寄存器 同上带下标字母 下标寄存器 常数
所有整型寄存器 同上带下标字母 下标寄存器 常数
同上带下标字母 下标寄存器 常数
1.4 程序控制指令
1
程序举例
交换 MW00100 MW00102 的高位字节和低位字节
1-79
1 章 梯形图指令
1.4.11 EXPRESSION 指令 (EXPRESSION)
1.4.11 EXPRESSION 指令 (EXPRESSION)
概要
EXPRESSION 指令由一个块构成
与线圈型元件考虑方法相同 输入行有启用 / 禁用指令的意思 因此左右两侧均可
块内设置有运算表达式表述用的 Expression 盒 最多可进行 100 行运算表达式的表 述
格式
标记 EXPRESSION
Expression
全称
类别
CONTROL
图标
参数
参数名称 设定
运算表达式 表述运算表达式
程序举例
1-80
1.5 基本函数指令
1.5.1 平方根指令 (SQRT)
概要
对整型及实型数据进行平方根运算 整型及实型的输入单位 输出结果不同 不能使
用长整型数据
整型数据
将输入 (Source) 的平方根存储在输出 (Dest) 中
不同于数学概念中的平方根 在 MP 梯形图编辑器中使用的平方根按以下算式表示
平方根 32768 sign(A) SQRT(|A|/32768)
sign(A)
|A|
输入的绝对值
1.5 基本函数指令
1
输入的符号
为数学平方根乘以 128 2( 约 181.02) 得到的值 另 输入值为负数时 则计算
绝对值的平方根 输出负数的运算结果
输出值的最大误差为 2
实型数据
将输入 (Source) 的平方根存储在输出 (Dest) 中 另 输入值为负数时 则计算绝对
值的平方根
输出负数的运算结果
格式
标记 SQRT
全称 Square Root
FUNCTION
类别
图标
1-81
1 章 梯形图指令
1.5.1 平方根指令 (SQRT)
参数
参数名称 设定
Source( 输入 )
Dest( 输出 )
所有整型 实型寄存器 同上带下标字母 下标寄存器 常数
整型 实型寄存器 (# C 寄存器除外 ) 同上带下标字母 下标寄存器
程序举例
整型数据
输入值为正数时
输入值为负数时
实型数据
输入值为正数时
输入值为负数时
1-82
1.5.2 正弦指令 (SIN)
概要
对整型及实型数据进行正弦运算 整型及实型的输入单位 输出结果不同 不能使用
长整型数据
整型数据
可在 -327.68 327.67 度范围内使用 将 Source 作为输入 (1 0.01度)使用 并
将运算结果存储在 Dest 中
如果误输入 -327.68 327.67 度以外的值 将不能得到正确的结果 例如 当输入
360.00 时
实型数据
将 Source 作为输入 ( 单位 度)使用 并将其正弦值存储在 Dest 中
会输出 -295.36 度的结果
1.5 基本函数指令
1
运算结果按 10000 倍的值输出
格式
标记 SIN
全称 Sine
FUNCTION
类别
图标
参数
参数名称 设定
Source( 输入 )
Dest( 输出 ) 整型 实型寄存器 (# C 寄存器除外 )
所有整型 实型寄存器 同上带下标字母 下标寄存器 常数
同上带下标字母 下标寄存器
1-83
1 章 梯形图指令
1.5.2 正弦指令 (SIN)
程序举例
整型数据
输入 30 度 (MW00100 30 100 3000)
输出 SIN(
实型数据
) 0.50(MW00102 0.50 10000 5000)
1-84
1.5.3 余弦指令 (COS)
概要
对整型及实型数据进行余弦运算 整型及实型的输入单位 输出结果不同 不能使用
长整型数据
整型数据
可在 -327.68 327.67 度范围内使用 将 Source 作为输入 (1 0.01度)使用 并
将运算结果存储在 Dest 中
如果误输入 -327.68 327.67 度以外的值 将不能得到正确的结果 例如 当输入
360.00 时
实型数据
将 Source 作为输入 ( 单位 度)使用 并将其余弦值存储在 Dest 中
会输出 -295.36 度的结果
1.5 基本函数指令
1
运算结果按 10000 倍的值输出
格式
标记 COS
全称 Cosine
FUNCTION
类别
图标
参数
参数名称 设定
Source( 输入 ) 所有整型 实型寄存器
同上带下标字母 下标寄存器 常数
Dest( 输出 ) 整型 实型寄存器 (# C 寄存器除外 )
同上带下标字母 下标寄存器
1-85
1 章 梯形图指令
1.5.3 余弦指令 (COS)
程序举例
整型数据
输入 60 度 (MW00100 60 100 6000)
输出 COS(
实型数据
) 0.50(MW00102 0.50 10000 5000)
1-86
1.5.4 正切指令 (TAN)
概要
将 Source 作为输入 ( 单位 度)使用 并将其正切值存储在 Dest 中 仅实型运算
格式
1.5 基本函数指令
标记 TAN
全称 Tangent
类别
FUNCTION
图标
参数
参数名称 设定
Source( 输入 ) 所有实型寄存器
同上带下标字母 常数
Dest( 输出 ) 实型寄存器 (# C 寄存器除外 )
同上带下标字母
程序举例
计算输入值 ( 45.0 度 ) 的正弦 TAN( ) 1.0
1
TAN 指令不能使用整型 长整型数据
1-87
1 章 梯形图指令
1.5.5 反正弦指令 (ASIN)
1.5.5 反正弦指令 (ASIN)
概要
将 Source 作为输入使用 并将其反正弦值 ( 单位 度 ) 存储在 Dest 中 仅实型运算
格式
标记 ASIN
全称 Arc Sine
类别
FUNCTION
图标
参数
参数名称 设定
Source( 输入 ) 所有实型寄存器
同上带下标字母 常数
Dest( 输出 )
实型寄存器 (# C 寄存器除外 ) 同上带下标字母
程序举例
计算输入值 (0.5) 的反正弦值 30.0 度 ASIN(0.5)
ASIN 指令不能使用整型 长整型数据
1-88
Loading...