欧姆龙 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 单元统合,并且搭载 Ethe rCAT 通信使高速,高精度的运动控
制得以简单实现。专用的支持软件(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 转换指令 ......................................................................... 错误!未定义书签。