欧姆龙 NJ501 PLC 基础知识及应用
赵贤林 主编
前 言
自从 1969 年,美国数字设备公司研制出了第一台可编程控制器 PDP--14,在美国通用汽
车公司的生产线上试用成功,PLC 就逐渐开始进入了我们的生活。可编程序控制器是一种
以计算机(微处理器)为核心的通用工业控制装置,目前已被广泛地应用于工业生产的各个
领域。早期的可编程序控制器只能进行开关量的逻辑控制,被称为可编程序逻辑控制器
(Programmable Logic Controller) , 简 称 PLC 。 现 代 可 编 程 序 控 制 器 采 用 微 处 理 器
(Microprocessor)作为中央处理单元,其功能大大增强,它不仅具有逻辑控制功能,还具
有算术,模拟量处理和通信联网等功能。
OMRON 公司是世界著名的几大 PLC 生产与开发的公司之一,早在 70 年代初就开始
开发并生产 PLC 是其他生产 PLC 公司的先驱。OMRON 的各种大,中,小,微型机各具特
色各有所长,在中国市场的占有率位居前列。特别是它的小型机及微型机在中国市场占有率
很高,在简单控制设备之中使用非常广泛并在用户中享有很高的声誉。近年来,PLC 技术
的发展异常迅猛。以 OMRON 公司为例,90 年代后期扩充了 P 型机的系列产品的同时也随
之发布了 CPM1A、CPM2A。2000 年代发布了 CP1 系类产品,为了进一步丰富中型机的商
品群还发布了 CJ,CS 等系类产品。NJ 系列的 PLC 是 OMRON 公司最新开发的 PLC 机型,
搭载了最新的高速微处理器(MPU),具有高速、高效、高稳定性等特性,且打破过去 PLC
的内存分配制度,采用共用内存,在 PLC 领域中做到了改革与创新。
现在中国制造业面临着劳动力人口的减少,人工费增加,商品需求高度化等课题,今后
在节省人力资源,品质均一化等自动化方面会发展更为迅速。从迄今为止在中国制造业中占
大比例的简单的控制设备到高附加价值,高速高精度的生产设备转型是必然趋势。作为机械
控制核心的控制器必然要达到更高一层的性能。
本书介绍的 NJ 系列产品是以“创造最高端生产机械”为目标所开发的新一代设备自动化
控制器。搭载了最新的高速微处理器(MPU),融合了欧姆龙在制造现场所掌握的丰富的知
识与经验,实现了高稳定性与超高速,高性能并存。另外,控制器的软件构造也符合国际标
准(IEC61131-3),可根据机械本身的机能来选择最为合适的编程语言。这种结构设计可以
完全应对各种变量,使软件的再利用变得更为容易,使设计人员的开发效率实现飞跃性的提
高。通过位置控制单元与 CPU 单元统合,并且搭载 EtherCAT 通信使高速,高精度的运动控
制得以简单实现。专用的支持软件(Sysmac Studio)也统合了机械控制的必要机能,还拥有
数据跟踪及 3D 仿真等强大功能,在没有实际机械的情况下也可实现事前动作检查及远程技
术支持。
本书的具体结构
本书分三部分,共 8 章和 1 个附录。
第一部分:通用 PLC 和 NJ501 的硬件知识
本部分为绪论部分。在绪论中介绍了通用 PLC 的硬件结构、工作原理及使用方法等有
关知识,同时也介绍了 OMRON 公司生产的 PLC NJ501 的基本硬件结构,重点是了解 PLC
的基本构造和工作原理。
第二部分:软件的使用
第 2 章到第 7 章是本书的核心部分,着重介绍了 NJ501 的基本指令以及编程软件 Sysmac
Studio 的使用方法。第 2 章介绍 Sysmac Studio 的使用方法,机架的配置、伺服的添加、变
量的登入等。第 3 章到第 5 章讲述了 Sysmac Studio 中的指令部分,包括逻辑指令、功能指
令和数组指令的定义及使用方法,是 PLC 的第 6 章首先介绍了一些工业通信网络基础知识,
然后着重介绍了 OMRON NJ501 PLC 的通信网络及其配置方法。第 7 章全面介绍 NJ501 的
运动控制方法。通过对指令的综合应用实现对轴的运动控制。
第三部分:算法设计和应用举例
主要是介绍了 NJ501 的一些基本的算法实例,通过一些工业例子的介绍和分析,使得
学习者能更好的理解和综合运用各类算法指令。
致谢:
本书在教学使用过程中,可根据专业需要,适当进行删减,有些内容和应用实例适宜学
生自学或在进行课程设计、毕业设计时参考。
本书由赵贤林主编,编委为胡珊珊、李晓林、董旭斌、戴存礼等,参加编写的还有张正
飞、张阳、张杭等。全书由赵贤林统稿、定稿。本书的编写得到了中国工控网,教育部教育
信息管理中心胡珊珊老师,上海欧姆龙自动化(中国)有限公司金颖,张杰等工程师的大力支
持。并特别感谢胡珊珊老师在本书的编写和出版中做出的大量工作。
本书由东南大学费树岷教授审稿,并提出了许多有益的建议和意见,上海欧姆龙自动化
(中国)有限公司提供了不少应用资料,在此表示衷心的感谢。在编写本书的过程中,参阅和
利用了部分兄弟院校老师编写出版教材的内容和材料,对原作者也一并致谢。
由于编者水平有限和时间仓促,不足和疏漏之处在所难免,敬请读者批评指正。
目 录
第一章 绪论 ................................................................................................. 错误!未定义书签。
第一节 可编程序控制器概念 ............................................................... 错误!未定义书签。
1.1.1 PLC 的定义 .......................................................................... 错误!未定义书签。
1.1.2 PLC 的特点 .......................................................................... 错误!未定义书签。
1.1.3 PLC 的组成 ......................................................................... 错误!未定义书签。
1.1.4 PLC 的编辑语言 .................................................................. 错误!未定义书签。
1.1.5 PLC 的工作方式 .................................................................. 错误!未定义书签。
1.1.6 PLC 的主要性能指标 .......................................................... 错误!未定义书签。
1.1.7 PLC 国际标准(IEC61131—3) ........................................ 错误!未定义书签。
1.1.8 NJ 系列与 PLCopen ............................................................ 错误!未定义书签。
第二节 NJ501 系统概述 ......................................................................... 错误!未定义书签。
1.2.1 PLC 整体结构 ...................................................................... 错误!未定义书签。
1.2.2 电源 ..................................................................................... 错误!未定义书签。
1.2.3 扩展单元 ............................................................................. 错误!未定义书签。
1.2.4 通信协议 ............................................................................. 错误!未定义书签。
1.2.5 编程软件 ............................................................................. 错误!未定义书签。
1.2.6 集成的测试环境 ................................................................. 错误!未定义书签。
第二章 NJ501PLC 系统编程软件与语法 .................................................... 错误!未定义书签。
第一节 NJ501 操作软件 Sysmac Studio ............................................. 错误!未定义书签。
2.1.1 Sysmac Studio 的概述 ...................................................... 错误!未定义书签。
2.1.2 Sysmac Studio 的启动 ...................................................... 错误!未定义书签。
2.1.3 CPU 扩展机架设置 .............................................................. 错误!未定义书签。
2.1.4 控制器的设置 ..................................................................... 错误!未定义书签。
2.1.5 EtherCAT 的设定 ................................................................ 错误!未定义书签。
2.1.6 I/O 映射表的设定 ............................................................. 错误!未定义书签。
第二节 数据类型 ................................................................................... 错误!未定义书签。
2.2.1 NJ 系列能处理的数据类型 ................................................ 错误!未定义书签。
2.2.2 数组数据类型 ..................................................................... 错误!未定义书签。
2.2.3 衍生数据类型 ..................................................................... 错误!未定义书签。
第三节 变量 ........................................................................................... 错误!未定义书签。
2.3.1 变量的定义 ......................................................................... 错误!未定义书签。
2.3.2 变量的类型 ......................................................................... 错误!未定义书签。
2.3.3 登陆的变量 ......................................................................... 错误!未定义书签。
2.3.4 数组变量的登陆 .................................................................. 错误!未定义书签。
第四节 程序的组建与使用 ................................................................. 错误!未定义书签。
2.4.1 程序模块 ............................................................................. 错误!未定义书签。
2.4.2 程序的组成 ......................................................................... 错误!未定义书签。
2.4.3 程序的执行顺序 ................................................................. 错误!未定义书签。
2.4.4 程序模块的显示和创建 ..................................................... 错误!未定义书签。
2.4.5 程序的编辑 .......................................................................... 错误!未定义书签。
第五节 功能块与功能的概述 ............................................................... 错误!未定义书签。
2.5.1 功能块 FB ............................................................................. 错误!未定义书签。
2.5.2 功能 FUN ............................................................................... 错误!未定义书签。
2.5.3 功能块与功能的区别 ......................................................... 错误!未定义书签。
第六节 任务概述与设定 ....................................................................... 错误!未定义书签。
2.6.1 任务功能的特点 ................................................................. 错误!未定义书签。
2.6.2 任务执行的优先级 ............................................................. 错误!未定义书签。
2.6.3 周期任务 I/O 刷新 ............................................................. 错误!未定义书签。
2.6.4 系统服务 .............................................................................. 错误!未定义书签。
第七节 程序的检测与模拟运行 ......................................................... 错误!未定义书签。
2.7.1 程序的检测 .......................................................................... 错误!未定义书签。
2.7.2 数据跟踪的使用 .................................................................. 错误!未定义书签。
2.7.3 监视窗口 ............................................................................. 错误!未定义书签。
2.7.4 仿真功能 .............................................................................. 错误!未定义书签。
2.7.5 调试功能 .............................................................................. 错误!未定义书签。
2.7.6 动作时间的仿真 ................................................................. 错误!未定义书签。
第三章 NJ501 逻辑指令 ................................................................................ 错误!未定义书签。
第一节 基本指令及编程 ....................................................................... 错误!未定义书签。
3.1.1 基本指令 .............................................................................. 错误!未定义书签。
3.1.2 块与 AND 和块或 OR 指令 ................................................. 错误!未定义书签。
第二节 逻辑编程 ................................................................................... 错误!未定义书签。
3.2.1 梯级基本指令的描述方法 ................................................. 错误!未定义书签。
3.2.2 基本编程方法 ...................................................................... 错误!未定义书签。
3.2.3 比较指令的应用 ................................................................. 错误!未定义书签。
3.2.4 逻辑运算指令 ...................................................................... 错误!未定义书签。
第三节 定时器指令 ............................................................................... 错误!未定义书签。
3.3.1 定时器简介 ......................................................................... 错误!未定义书签。
3.3.2 定时器指令 .......................................................................... 错误!未定义书签。
第四节 计数器 ....................................................................................... 错误!未定义书签。
3.4.1 计数器简介 .......................................................................... 错误!未定义书签。
3.4.2 计数器指令 .......................................................................... 错误!未定义书签。
第四章 NJ501 功能指令 ............................................................................. 错误!未定义书签。
第一节 传送指令 ................................................................................... 错误!未定义书签。
4.1.1 传送指令介绍 ..................................................................... 错误!未定义书签。
4.1.2 传送指令的运用 .................................................................. 错误!未定义书签。
第二节 类型转换指令 ........................................................................... 错误!未定义书签。
4.2.1 类型转换指令介绍 .............................................................. 错误!未定义书签。
4.2.2 类型转换指令的运用 ......................................................... 错误!未定义书签。
第三节 移位指令 ................................................................................... 错误!未定义书签。
4.3.1 移位指令介绍 ...................................................................... 错误!未定义书签。
4.3.2 移位指令的运用 ................................................................. 错误!未定义书签。
第四节 运算指令 ................................................................................... 错误!未定义书签。
4.4.1 基础运算指令 ..................................................................... 错误!未定义书签。
4.4.2 三角函数和反三角函数运算指令 ..................................... 错误!未定义书签。
4.4.3 数学高级运算指令 ............................................................. 错误!未定义书签。
第五节 BCD 转换指令 ......................................................................... 错误!未定义书签。
4.5.1 BCD 转换指令介绍 ............................................................. 错误!未定义书签。
4.5.2 BCD 转换指令的运用 .......................................................... 错误!未定义书签。
第六节 选择指令 ................................................................................... 错误!未定义书签。
4.6.1 选择指令介绍 ...................................................................... 错误!未定义书签。
4.6.2 选择指令的运用 ................................................................. 错误!未定义书签。
第七节 文本字符串指令 ....................................................................... 错误!未定义书签。
4.7.1 文本字符串指令介绍 ......................................................... 错误!未定义书签。
4.7.2 文本字符串指令的运用 ..................................................... 错误!未定义书签。
第八节 时间与日期设定指令 ............................................................... 错误!未定义书签。
4.8.1 时间与日期基础指令介绍 ................................................. 错误!未定义书签。
4.8.2 时间数据类型转换指令 ..................................................... 错误!未定义书签。
4.8.3 时间获取指令 ..................................................................... 错误!未定义书签。
第九节 仿真指令 ................................................................................... 错误!未定义书签。
4.9.1 仿真指令介绍 ..................................................................... 错误!未定义书签。
4.9.2 仿真指令的运用 ................................................................. 错误!未定义书签。
第十节 顺序指令 ................................................................................... 错误!未定义书签。
4.10.1 顺序控制指令 ................................................................. 错误!未定义书签。
4.10.2 顺序输入(边沿脉冲指令) ........................................... 错误!未定义书签。
4.10.3 顺序输出 ........................................................................... 错误!未定义书签。
第五章 数组 ................................................................................................... 错误!未定义书签。
第一节 数组的简介 ............................................................................... 错误!未定义书签。
5.1.1 数组介绍 ............................................................................. 错误!未定义书签。
第二节 数组指令 ................................................................................. 错误!未定义书签。
5.2.1 数组基础指令 ...................................................................... 错误!未定义书签。
5.2.2 数组比较指令 ..................................................................... 错误!未定义书签。
5.2.3 数组移位指令 ...................................................................... 错误!未定义书签。
5.2.4 数组选择指令 ...................................................................... 错误!未定义书签。
5.2.5 数组转换指令 ..................................................................... 错误!未定义书签。
5.2.6 数组逻辑运算指令 ............................................................. 错误!未定义书签。
第六章 NJ501 网络通信技术及应用 ............................................................ 错误!未定义书签。
第一节 NJ501 的工业以太网 EtherNet/IP ......................................... 错误!未定义书签。
6.1.1 EtherNet /IP 概述 .......................................................... 错误!未定义书签。
6.1.2 NJ501 的 IP 配置 ................................................................ 错误!未定义书签。
第二节 CPU 的 EtherNet/IP 通讯 ...................................................... 错误!未定义书签。
6.2.1 内置 EtherNet/IP 口 ......................................................... 错误!未定义书签。
6.2.2 EtherNet/IP 的内部处理 .................................................. 错误!未定义书签。
第三节 标签数据连接 ........................................................................... 错误!未定义书签。
6.3.1 数据传递 .............................................................................. 错误!未定义书签。
6.3.2 标签与标签组 ...................................................................... 错误!未定义书签。
6.3.3 连接方式 .............................................................................. 错误!未定义书签。
6.3.4 注意事项 .............................................................................. 错误!未定义书签。
6.3.5 系统定义变量 ...................................................................... 错误!未定义书签。
第四节 CIP 报文分组信息通讯 ............................................................ 错误!未定义书签。
6.4.1 CIP 报文分组信息通讯概述 ............................................. 错误!未定义书签。
6.4.2 传输路由途径 ..................................................................... 错误!未定义书签。
6.4.3 CIP 通讯指令 ...................................................................... 错误!未定义书签。
6.4.4 信息错误与校正 ................................................................. 错误!未定义书签。
6.4.5 与 CJ 系列 CPU 的 EtherNet/IP 通讯 ............................... 错误!未定义书签。
第五节 其他通讯服务功能 ................................................................... 错误!未定义书签。
6.5.1 Socket 服务 .......................................................................... 错误!未定义书签。
6.5.2 FTP 服务 .............................................................................. 错误!未定义书签。
6.5.3 NTP 服务 ............................................................................. 错误!未定义书签。
6.5.4 SNMP 服务 .......................................................................... 错误!未定义书签。
6.5.5 FINS 服务 ............................................................................ 错误!未定义书签。
6.5.6 BOOTP 客户端 .................................................................... 错误!未定义书签。
6.5.7 HOST(主机)名指定 ....................................................... 错误!未定义书签。
第六节 NJ501 的工业网络系统 EtherCAT ........................................... 错误!未定义书签。
6.6.1 EtherCAT 机制..................................................................... 错误!未定义书签。
6.6.2 EtherCAT 协议..................................................................... 错误!未定义书签。
6.6.3 通信类型 .............................................................................. 错误!未定义书签。
6.6.4 PDO 映射 ............................................................................ 错误!未定义书签。
6.6.5 时钟同步功能 ..................................................................... 错误!未定义书签。
6.6.6 EtherCAT 通讯的控制状态 ................................................ 错误!未定义书签。
6.6.7 拓扑结构 .............................................................................. 错误!未定义书签。
6.6.8 通信建立所需文件 ............................................................. 错误!未定义书签。
第七节 NJ501 内置 EtherCAT 通信 ...................................................... 错误!未定义书签。
6.7.1 CPU 单元(内置 EtherCAT)的显示 ................................ 错误!未定义书签。
6.7.2 通信周期与 I/O 刷新的关系 .............................................. 错误!未定义书签。
6.7.3 SDO 通讯动作周期 ............................................................. 错误!未定义书签。
6.7.4 通过用户程序访问从站 ..................................................... 错误!未定义书签。
6.7.5 登记网络构成信息 ............................................................. 错误!未定义书签。
6.7.6 从站的使能和禁用 ............................................................. 错误!未定义书签。
6.7.7 监视包(Packets)功能 ...................................................... 错误!未定义书签。
6.7.8 与第三方设备从站连接 ...................................................... 错误!未定义书签。
第八节 EtherCAT 的单元设置 .............................................................. 错误!未定义书签。
6.8.1 系统配置和配线 .................................................................. 错误!未定义书签。
6.8.2 硬件设定 .............................................................................. 错误!未定义书签。
6.8.3 软件(主从站)设定 ............................................................ 错误!未定义书签。
第九节 报错的应对 ............................................................................... 错误!未定义书签。
6.9.1 报错的种类 .......................................................................... 错误!未定义书签。
6.9.2 报错发生时的对应 ............................................................. 错误!未定义书签。
6.9.3 清除报错 .............................................................................. 错误!未定义书签。
第七章 NJ501 运动技术控制 ........................................................................ 错误!未定义书签。
第一节 运动控制基础 ........................................................................... 错误!未定义书签。
7.1.1 运动控制概述 ...................................................................... 错误!未定义书签。
7.1.2 轴的概述 .............................................................................. 错误!未定义书签。
7.1.3 轴的建立 ............................................................................. 错误!未定义书签。
7.1.4 轴参数的设定 ..................................................................... 错误!未定义书签。
7.1.5 轴的试运行 .......................................................................... 错误!未定义书签。
第二节 运动控制程序的书写与应用 ................................................... 错误!未定义书签。
7.2.1 运动任务的设置 .................................................................. 错误!未定义书签。
7.2.2 轴状态 .................................................................................. 错误!未定义书签。
第三节 功能块(FB)的类型 .............................................................. 错误!未定义书签。
7.3.1 Execute 型 FB ...................................................................... 错误!未定义书签。
7.3.2 Enable 型 FB ....................................................................... 错误!未定义书签。
第四节 运动控制功能指令介绍 ........................................................... 错误!未定义书签。
7.4.1 轴指令介绍 ......................................................................... 错误!未定义书签。
7.4.2 MC_Power 指令 .................................................................. 错误!未定义书签。
7.4.3 MC_Home 指令 ................................................................... 错误!未定义书签。
7.4.4 MC_Move 指令 ................................................................... 错误!未定义书签。
7.4.5 MC_Stop 指令 ..................................................................... 错误!未定义书签。
第五节 运动控制模式介绍 ................................................................... 错误!未定义书签。
7.5.1 中断模式 ............................................................................. 错误!未定义书签。
7.5.2 待机模式 ............................................................................. 错误!未定义书签。
7.5.3 混合模式 ............................................................................. 错误!未定义书签。
第八章 PLC 程序的简单设计法及应用举例 ................................................ 错误!未定义书签。
第一节 PLC 程序设计 ........................................................................... 错误!未定义书签。
8.1.1 PLC 程序的简单设计法 ..................................................... 错误!未定义书签。
8.1.2 简单逻辑控制设计 ............................................................. 错误!未定义书签。
第二节 应用举例 ................................................................................... 错误!未定义书签。
附录 ................................................................................................................ 错误!未定义书签。
实验:数据标签链接通讯 ........................................................................ 错误!未定义书签。