目录
施耐德 EcoStruxure Machine控制器应用及编程进阶

主编 李幼涵



本书介绍了运动控制中多轴电机同步运动的应用;通过案例介绍了电子凸轮运动、电子齿轮运动和数控机床G代码编程的各种应用;详细介绍了各种通用总线(如 EtherCAT、EtherNet/IP、PROFINET)的通信应用以及与过程控制网络连接的应用;最后介绍了面向对象编程(Object-Oriented Programming,OOP),并给出了编程技巧。

本书可供纺织、包装、物流、印染、印刷、机械加工等领域的应用设计工程师和大专院校相关专业的师生阅读,具有较强的实用价值。

图书在版编目(CIP)数据

施耐德 EcoStruxure Machine控制器应用及编程进阶 /李幼涵主编 . —北京:机械工业出版社,2019.9

ISBN 978-7-111-63598-7

Ⅰ . ①施… Ⅱ . ①李… Ⅲ . ①可编程序控制器 Ⅳ . ① TP332.3

中国版本图书馆 CIP数据核字(2019)第 185041号

机械工业出版社(北京市百万庄大街 22号邮政编码 100037)策划编辑:林春泉 责任编辑:林春泉责任校对:杜雨霏 封面设计:鞠 杨责任印制:郜 敏北京圣夫亚美印刷有限公司印刷

2019年 9月第 1版第 1次印刷

184mm×260mm · 15.5印张 · 382千字 0 001—3 000册标准书号:ISBN 978-7-111-63598-7

定价:69.00元

电话服务网络服务客服电话:010-88361066 机工官网: www.cmpbook.com     010-88379833 机工官博: weibo.com/cmp1952     010-68326294 金书网: www.golden-book.com封底无防伪标均为盗版 机工教育服务网: www.cmpedu.com



时光荏苒,在经历了二三十年的高速发展之后,中国工业来到了从制造大国向制造强国转型的时刻。制造强国意味着工业企业不仅要生产更优质的产品,还要以更绿色、更智能、可持续的方式重塑生产流程。基于此,施耐德电气率先提出绿色智能制造的理念。为了帮助客户践行这些理念,施耐德电气逐步扩充自身的软件、硬件能力,利用基于物联网的 EcoStruxure 架构与平台,通过互联互通的产品、边缘控制、应用分析和服务三个层面的创新,为工业客户的转型升级赋能。由施耐德电气技术专家李幼涵领衔编写的《施耐德 EcoStruxure Machine控制器应用及编程进阶》一书,它是本着推动工业企业的数字化转型和智能制造向纵深发展而推出的指导书。该书支持施耐德 EcoStruxure架构与平台在工厂生产流程和机器离散制造的自动化及智能化的落地,也给出了实现物联网设备的互联互通解决方案,回答了应用工程师们在开发智能机器、绿色工厂实践中遇到的问题。书中的大量案例也是施耐德电气这些资深工程师们实践经验的总结和展示,相信对广大工程技术人员及大专院校师生会有所帮助和裨益。该书以施耐德电气当前最新软硬件技术为平台,介绍了互联互通采用的前沿总线通信技术、以太网通信技术及编程架构,对我国的科研机构和高校教学发展也有一定的参考作用。

施耐德电气真诚地愿为中国工业的不断升级、技术的不断进步、创新的不断涌现而贡献力量,持续向市场推出接受度更高的产品和解决方案。该书的出版必定会成为工业制造领域重要的数字化和自动化参考资料及培训教材。期待着该书早日面世,以飨读者。

施耐德电气(中国)有限公司高级副总裁  工业自动化业务中国区负责人  庞邢健   2019年 7月  



本书是已出版的《施耐德 EcoStruxure Machine控制器应用及编程指南》进阶篇。本书介绍了运动控制的复杂应用,包括电子凸轮、电子齿轮以及数控单元 CNC的各种应用,内容虽然有些复杂,但是通过案例和大量的图说,可深入浅出地帮助读者更好地学习和应用。本书中,对插补控制的应用给出了不用运动控制器实现同步插补运动的编程方法和算法,可以降低硬件的成本。由于智能制造和智能机器的设计越来越多地注重互联互通,因此本书也介绍了各种流行的通信协议的设计方法和设备之间的互联互通的编程方法,并给出了案例,其中涉及 EtherCAT、 EtherNet/IP、PROFINET、SERCOS、OPC(Object Linking and Embedding for Process Control)以及采用 C语言的自由编程案例。在本书的最后一章,介绍了面向对象编程( Object-Oriented Programming,OOP)的内容,因为面向对象编程是一种编程趋势,它使应用程序的扩展性和可维护性更友好。

本书的编写得到了施耐德电气(中国)有限公司的几位资深主任工程师的大力帮助,李振工程师编写了第 1章和第 2章;唐海丽工程师编写了第 3章;李融工程师编写了第 4~6章;方平工程师编写了第 7章和第 8章;李幼涵编写了第 9章和第 10章并对全书进行了审阅、修改和校对。在此感谢他们将多年的应用经验分享给读者,感谢工业事业部刘立新总监和沈伟峰经理的一贯支持。他山之石,可以攻玉。愿我国的工程师们利用一切先进技术和设计理念,将产品设计得更加完美!

由于水平有限,难免有不尽人意之处,恳请广大读者批评指正。

李幼涵   2019年 7月  序前言



第 1章 电子凸轮功能 …………………………………………………………………………… 1

1.1 电子凸轮的概念 ………………………………………………………………………… 1

1.1.1 什么是机械凸轮 ………………………………………………………………… 1

1.1.2 什么是电子凸轮 ………………………………………………………………… 1

1.1.3 机械凸轮与电子凸轮的区别 …………………………………………………… 1

1.1.4 电子凸轮的应用场合 …………………………………………………………… 2

1.2 电子凸轮的实现 ………………………………………………………………………… 2

1.3 电子凸轮功能块详解 …………………………………………………………………… 2

1.3.1

 MC_Power使能功能块 ………………………………………………………… 4



1.3.2

 MC_Jog点动功能块 …………………………………………………………… 5



1.3.3

 MC_MoveVelocity速度移动功能块 …………………………………………… 5



1.3.4

 MC_Stop停止功能块 …………………………………………………………… 6



1.3.5

 MC_ReadStatus读取轴状态功能块 …………………………………………… 6



1.3.6

 MC_CamTableSelect电子凸轮表选择功能块 ………………………………… 7



1.3.7

 MC_CamIn电子凸轮啮合功能块 ……………………………………………… 8



1.3.8

 MC_CamOut电子凸轮脱开功能块 …………………………………………… 9

1.3.9 SMC3_CAN_WriteParameter写参数功能块 ………………………………… 10

1.3.10 SMC3_CAN_ReadParameter读参数功能块 ……………………………… 10





1.3.11

 MC_Home原点回归功能块 ………………………………………………… 10

1.4 如何在线切换电子凸轮曲线 ……………………………………………………………11

1.5 如何在线修改电子凸轮曲线的坐标 ………………………………………………… 12

1.6 如何在线创建电子凸轮曲线 ………………………………………………………… 13

1.7 电子凸轮曲线的缩放功能 …………………………………………………………… 15

1.8 电子凸轮曲线的镜像功能 …………………………………………………………… 17



1.9

 电子凸轮凸点 Tappets的应用………………………………………………………… 19

1.10 电子凸轮开关的应用 ………………………………………………………………… 21

1.11 电子凸轮的高级功能块 ……………………………………………………………… 24

1.12 电子凸轮点的批量导入 ……………………………………………………………… 30





第 2章 CNC功能 ……………………………………………………………………………… 32

2.1 常用 G代码的功能 …………………………………………………………………… 32

2.2 如何在 CNC编辑器中直接使用带变量的 G代码指令 …………………………… 38

2.3 如何在 NC文件中直接使用带变量的 G代码指令 ………………………………… 45

2.4 LMC058读取并执行 U盘上的 NC文件 …………………………………………… 48

2.5 SMC_Interpolator插补功能块的应用 ……………………………………………… 51

2.6 CNC功能的多轴控制 ………………………………………………………………… 52

2.7 CNC功能的多通道控制 ……………………………………………………………… 55

2.8 如何显示正在执行的 G代码行 ……………………………………………………… 59

2.9 如何在线切换 NC文件的执行 ……………………………………………………… 61

2.10 使用 CAD/CAM软件转换成 G代码文件时的注意事项 ………………………… 65

2.11 CNC的 M码功能 …………………………………………………………………… 68

2.12 CNC的 H码功能 …………………………………………………………………… 70

2.13 CNC的路径圆滑或圆整功能 ……………………………………………………… 72

2.14 CNC的路径规避功能 ……………………………………………………………… 75

2.15 CNC的刀具半径补偿功能 ………………………………………………………… 77

第 3章 PLC插补位置的控制 ………………………………………………………………… 80

3.1 插补的概念和应用 …………………………………………………………………… 80

3.2 典型插补算法 ………………………………………………………………………… 80

3.2.1 直线插补算法 ………………………………………………………………… 80

3.2.2 三次多项式插补算法 ………………………………………………………… 81

3.2.3 五次多项式插补算法 ………………………………………………………… 83

3.3 伺服驱动器插补位置模式 …………………………………………………………… 84

3.3.1 Interpolated Position模式 …………………………………………………… 84

3.3.2 伺服驱动器 IP模式原理和参数 ……………………………………………… 86

3.4 PLC插补位置控制的实现 …………………………………………………………… 87

3.4.1 PLC插补位置控制系统架构 ………………………………………………… 87

3.4.2 PLC插补位置控制实现原理 ………………………………………………… 87

3.4.3 PLC位置算法 ………………………………………………………………… 88

3.5 PLC插补位置控制的应用案例 ……………………………………………………… 91

第 4章 EtherCAT的应用 ……………………………………………………………………… 96

4.1 系统架构 ……………………………………………………………………………… 96

4.2 Somachine Motion中的操作 ………………………………………………………… 97

4.2.1 在 Somachine Motion软件中添加 LXM32M的 XML文件 ……………… 97

4.2.2 硬件配置 ……………………………………………………………………… 98

4.2.3 工程设置 ……………………………………………………………………… 104

4.2.4 PLC设定 ……………………………………………………………………… 105

目  录

4.2.5 声明全局变量并映射 ………………………………………………………… 105

4.2.6 声明控制需要用到的局域变量 ……………………………………………… 106

4.2.7 状态字与控制字 ……………………………………………………………… 107

4.2.8 模式控制 ……………………………………………………………………… 108

第 5章 EtherNet/IP的应用 …………………………………………………………………… 113

5.1 PD3与 M241之间的 EtherNet/IP通信 ……………………………………………… 113

5.1.1 Somachine中的配置 ………………………………………………………… 113

5.1.2 Somachine Motion中的配置 ………………………………………………… 115

5.1.3 联机后的测试 ………………………………………………………………… 121

5.2 M241与 ATV340之间的 EtherNet/IP通信 ………………………………………… 122

5.2.1 变频器的参数设置 …………………………………………………………… 122

5.2.2 Somachine的配置 …………………………………………………………… 124

5.2.3 联机测试 ……………………………………………………………………… 129

第 6章 PROFINET的应用 …………………………………………………………………… 130

6.1 系统架构 ……………………………………………………………………………… 130

6.2 使用的软件和固件版本 ……………………………………………………………… 131

6.3 SoMove的设置………………………………………………………………………… 131

6.4 Somachine Motion的操作 …………………………………………………………… 131

6.4.1 在 Somachine Motion软件中添加 LXM32M的 XLM文件 ……………… 131

6.4.2 硬件配置 ……………………………………………………………………… 132

6.4.3 工程设置 ……………………………………………………………………… 136

6.4.4 声明变量 ……………………………………………………………………… 137

6.4.5 数据映射 ……………………………………………………………………… 137

6.4.6 参数通道 ……………………………………………………………………… 138

6.4.7 dmControl数据 ……………………………………………………………… 141

6.4.8 模式控制 ……………………………………………………………………… 141

第 7章 基于 OPC的通信应用 ………………………………………………………………… 145

7.1 OPC简介 ……………………………………………………………………………… 145

7.2 OPC经典架构 ………………………………………………………………………… 145

7.3 OPC统一架构 ………………………………………………………………………… 146

7.4  Somachine和 Somachine Motion软件对 OPC UA的支持 ………………………… 147

7.4.1 Somachine/Somachine Motion平台 OPC DA服务器配置 …………………… 148

7.4.2 OPC配置工具的文件菜单 …………………………………………………… 151

7.4.3 OPC配置工具的编辑菜单 …………………………………………………… 151

7.4.4 Somachine/Somachine Motion平台 OPC DA服务器的使用 ………………… 152

7.4.5 Somachine平台控制器 OPC UA服务器配置 ……………………………… 152

7.4.6 Somachine Motion平台控制器 OPC UA服务器配置 ……………………… 154

7.4.7 Somachine程序配置 ………………………………………………………… 156

7.4.8 Somachine Motion程序配置 ………………………………………………… 158

7.4.9 激活 PACDRIVE3控制器 OPC UA服务器 ………………………………… 161

7.5 应用案例 ……………………………………………………………………………… 162

7.5.1 VijeoCitect与 M241通过 OPC DA通信示例 ……………………………… 162

7.5.2 VijeoCitect与 PDR3通过 OPC UA通信示例 ……………………………… 167

第 8章 Somachine PLC与 M580以太网的通信 …………………………………………… 172

8.1 通信协议 ……………………………………………………………………………… 172

8.1.1 Modbus TCP …………………………………………………………………… 173

8.1.2 EtherNet/IP …………………………………………………………………… 175

8.2 通信示例 ……………………………………………………………………………… 177

8.2.1 M580作为 EtherNet/IP扫描器与 M241通信示例 ………………………… 177

8.2.2 M580作为 Modbus TCP客户端与 M241通信示例………………………… 185

8.2.3 M241作为 EtherNet/IP扫描器与 M580通信示例 ………………………… 188

8.2.4 M241作为 Modbus TCP客户端与 M580通信示例………………………… 195

第 9章 基于 Modbus TCP的 PC与 LexiumController的通信实现 ……………………… 198

9.1 Modbus TCP …………………………………………………………………………… 198

9.2 程序结构 ……………………………………………………………………………… 199

9.2.1 客户端 TCP/IP类的实现 …………………………………………………… 200

9.2.2 Modbus协议类的实现 ……………………………………………………… 200

9.2.3 对话框类的实现 ……………………………………………………………… 204

9.2.4 Somachine控制器侧的编程 ………………………………………………… 208

第 10章 面向对象编程 ………………………………………………………………………… 211

10.1 OOP概述 …………………………………………………………………………… 211

10.2 OOP的传承 ………………………………………………………………………… 217

10.3 OOP的界面 ………………………………………………………………………… 221

10.4 OOP的 SUPER 指针 ………………………………………………………………… 236



按 Ctrl+p 打印本页】【关闭