
本书系统地讲解了如何利用C#开发智能制造工程,以具体项目为载体,重在实战,讲解如何搭建智能制造系统的C#软件架构及如何开发出优秀的C#代码。本书分为3部分:基础篇、进阶篇和实战篇。基础篇首先讲解了智能制造的基本概念及其相关的软/硬件环境,然后对智能制造的开发软件C#的基础知识进行了详细的讲解;进阶篇对C#的高级特性和设计模式进行了详细的讲解;实战篇引入了运动控制器,针对智能制造的几个热点应用领域——自动化领域、物联网领域、机器视觉领域进行了详细的讲解,并依托具体的项目讲解如何利用C#搭建智能制造系统的软件架构。本书可作为高等院校智能制造、机械工程和自动化类专业的教材,也可作为智能制造、自动化等相关领域的科技工作者、技术人员、软件开发人员的实战指导书。
前言 本书力求在阐明智能制造的基本概念、基本原理与基本方法的基础上,紧密结合智能制造工程实际,使读者对智能制造的机械、电气、软件及它们之间的关系建立起直观的认识,引导读者利用C#开发智能制造系统,以及利用C#构建智能制造系统的思维。 本书的编写和材料组织立足于C#在智能制造领域的应用,不仅适合高等院校智能制造、机械工程和自动化类专业的师生,还对企业相关科技人员具有一定的参考价值。 智能制造是继自动化制造之后更进一步的制造业形态,其核心是数字化、网络化和智能化。对于智能制造领域的企业,机械、电气、软件方面的复合型人才备受青睐。在智能制造领域,机械是基础,好的创意往往来源于机械设计方面的创新思维;电气是系统可实现及可靠运行的保障;软件是灵魂,产品功能是否强大在很大程度上依赖于软件功能。 本书是编者在高校和企业工作20余年的经验总结,结合在智能制造和智能测量设备方面的技术与研发工作,把多年在项目开发过程中的实战经验总结出来,希望能为在智能制造领域辛勤工作且想进一步提升智能制造的C#实战经验的读者带来“星星之火”。针对大型智能制造软件系统,开发人员要懂得利用设计模式设计合理的软件架构,在实际应用中,要灵活运用设计模式,不能循规蹈矩,并能灵活解决问题。只有实用的设计模式才是好的设计模式。 本书在编写过程中得到了深圳市正运动技术有限公司的大力支持,并提供了教具和产品资料,在此表示感谢。 本书的编写较匆忙,难免会存在失误,望读者不吝赐教,及时指出书中的错误,以便更正,也期待各位同人的指导与批评指正。
目录 基础篇 第1章 智能制造导论 2 1.1 智能制造简介 2 1.1.1 智能制造的起源 2 1.1.2 智能制造的定义 3 1.1.3 智能制造发展的3个阶段 3 1.1.4 智能制造技术产业链 6 1.2 智能制造的硬件 8 1.2.1 PLC和运动控制器 8 1.2.2 输入/输出 11 1.2.3 计算机/触摸屏 11 1.2.4 驱动器和电机 11 1.2.5 执行机构 12 1.2.6 反馈装置 13 1.2.7 通信接口 13 1.3 智能制造的软件 17 1.3.1 工业软件 17 1.3.2 嵌入式软件和非嵌入式软件 18 1.3.3 上位机和下位机 19 1.4 C#语言与.NET Framework平台 20 1.4.1 上位机开发平台 20 1.4.2 C#介绍 21 1.4.3 .NET Framework介绍 21 1.5 本书主要内容和章节安排 23 第2章 C#应用程序开发基础 25 2.1 Visual Studio开发环境 25 2.1.1 Console控制台应用程序 27 2.1.2 类库的开发与应用 30 2.1.3 Windows窗体应用程序 33 2.1.4 常用的Windows标准控件 37 2.1.5 控件属性和事件 38 2.1.6 窗体设计实例 40 2.2 生成、运行与调试 42 2.2.1 生成和运行 42 2.2.2 调试 44 2.3 C#基本语法 46 2.3.1 C#程序结构 46 2.3.2 命名空间 47 2.3.3 关键字 48 2.3.4 标识符 48 2.3.5 代码注释 49 2.4 C#代码编写规范 49 2.4.1 字母大小写约定 50 2.4.2 命名注意事项 50 2.5 本章小结 51 第3章 C#语言基础 52 3.1 数据类型 52 3.1.1 值类型 52 3.1.2 引用类型 55 3.1.3 装箱与拆箱 57 3.2 数据类型之间的转换 57 3.2.1 类型铸造 58 3.2.2 通过string进行类型转换 58 3.2.3 使用as操作符进行类型转换 61 3.3 常量与变量 61 3.3.1 常量 61 3.3.2 变量 64 3.4 运算符与表达式 65 3.4.1 算术运算符 65 3.4.2 关系运算符 67 3.4.3 逻辑运算符 68 3.4.4 位运算符 69 3.4.5 赋值运算符 70 3.4.6 条件运算符 72 3.4.7 其他运算符 72 3.4.8 运算符优先级 73 3.5 C#语言的结构 74 3.5.1 分支语句 74 3.5.2 循环语句 79 3.5.3 跳转语句 82 3.6 数组 83 3.7 类 85 3.7.1 类的定义 85 3.7.2 类的成员 86 3.7.3 构造函数 87 3.7.4 析构函数 89 3.8 方法 91 3.8.1 方法的声明 91 3.8.2 参数传递 93 3.9 属性 96 3.10 接口 98 3.10.1 接口的概念 99 3.10.2 接口的实现 99 3.11 本章小结 101 第4章 C#面向对象的编程技术 102 4.1 面向对象的概念 102 4.1.1 面向过程的编程思想 102 4.1.2 面向对象的编程思想 103 4.1.3 面向对象程序设计3原则 104 4.2 类的封装与继承的实现 110 4.3 类的抽象与多态的实现 114 4.3.1 方法重载 114 4.3.2 运算符重载 116 4.3.3 虚方法与方法覆盖 118 4.3.4 抽象类与抽象方法 120 4.4 本章小结 121 ? 进阶篇 第5章 C#高级特性 123 5.1 集合 123 5.1.1 动态数组类 124 5.1.2 哈希表类 125 5.1.3 排序列表类 127 5.1.4 堆栈类 128 5.1.5 队列类 130 5.2 泛型 131 5.2.1 泛型方法 132 5.2.2 泛型类 133 5.2.3 泛型集合 134 5.3 委托与事件 138 5.3.1 委托 138 5.3.2 事件 147 5.4 多线程技术 150 5.4.1 什么是线程 150 5.4.2 线程生命周期 150 5.4.3 主线程 151 5.4.4 Thread 类的一些常用属性和方法 151 5.4.5 创建线程 152 5.4.6 管理线程 156 5.4.7 销毁线程 158 5.5 反射技术 159 5.5.1 什么是反射 160 5.5.2 反射技术的应用 160 5.5.3 反射技术的优/缺点 165 5.6 本章小结 166 第6章 C#图形图像编程 167 6.1 GDI+绘图基础 167 6.1.1 Graphics类 167 6.1.2 Graphics类的常用方法 168 6.1.3 Graphics绘制实例 169 6.2 绘制图形 171 6.2.1 常用绘图对象 171 6.2.2 绘制功能 174 6.2.3 综合实例 177 6.3 图像处理 181 6.3.1 图像的读取、保存和转换 182 6.3.2 图像的复制和粘贴 185 6.3.3 彩色图像处理 189 6.4 本章小结 195 第7章 C#设计模式 196 7.1 什么是设计模式 196 7.2 设计模式的七大原则或法则 198 7.2.1 单一职能原则 198 7.2.2 开放封闭原则 199 7.2.3 里氏代换原则 200 7.2.4 依赖倒转原则 201 7.2.5 接口隔离原则 201 7.2.6 合成复用原则 202 7.2.7 迪米特法则 203 7.3 常用设计模式的实现 204 7.3.1 单例模式 204 7.3.2 工厂方法模式 206 7.3.3 简单工厂模式 209 7.3.4 抽象工厂模式 213 7.3.5 策略模式 217 7.3.6 观察者模式 220 7.4 本章小结 225 实战篇 第8章 运动控制器的C#应用开发 227 8.1 运动控制导论 227 8.1.1 运动控制系统的组成 228 8.1.2 运动控制系统的分类 229 8.1.3 运动控制器的应用领域 231 8.2 运动控制系统的应用 231 8.2.1 运动控制系统的功能 232 8.2.2 单轴运动 233 8.2.3 多轴运动 236 8.3 用ZBasic开发下位机软件 239 8.4 用C#开发上位机软件 241 8.5 正运动的运动控制器的C#例程 246 8.5.1 单轴控制 246 8.5.2 多轴插补 250 8.6 本章小结 254 第9章 C#在自动化领域的应用开发 255 9.1 上位机软件功能分解 255 9.2 底层控制模块的开发 257 9.2.1 控制器的底层控制功能分析 257 9.2.2 代码实现 258 9.3 流程控制模块的开发 274 9.3.1 公共定义 274 9.3.2 流程类的封装 275 9.3.3 流程控制类 280 9.3.4 流程控制模块的类关系图 282 9.3.5 流程控制模块的使用 282 9.4 其他模块的开发 284 9.5 UI 285 9.6 本章小结 286 第10章 C#在物联网领域的应用开发 288 10.1 物联网导论 288 10.1.1 物联网的定义和特征 288 10.1.2 物联网的起源和发展 288 10.1.3 物联网的应用 289 10.1.4 物联网的传输方式 290 10.2 串口通信和串口通信网络 290 10.2.1 串口通信 290 10.2.2 串口网络服务器 292 10.2.3 串口参数 293 10.3 Modbus通信协议 293 10.3.1 什么是Modbus通信 293 10.3.2 Modbus寄存器 294 10.3.3 Modbus功能码 295 10.4 用C#实现串口通信 297 10.4.1 SerialPort类 298 10.4.2 TcpClient类 300 10.4.3 NModbus 302 10.5 C#在物联网中的开发实例 306 10.5.1 面向蝶阀装配的半自动检测及其质量追溯系统 306 10.5.2 系统的连接示意图及硬件选型 307 10.5.3 串行网络的建立 308 10.5.4 串口基类的建立 312 10.5.5 各类串口设备的连接 313 10.5.6 类结构 320 10.6 本章小结 321 第11章 C#在机器视觉领域的应用开发 322 11.1 机器视觉导论 322 11.1.1 什么是机器视觉 322 11.1.2 机器视觉能干什么 323 11.1.3 机器视觉的基本构成 324 11.2 EmguCV 328 11.2.1 什么是EmguCV 329 11.2.2 如何下载和使用EmguCV 330 11.3 在线视觉检测开发案例 331 11.3.1 尺寸测量 332 11.3.2 二维码识别 341 11.4 本章小结 351 参考文献 352
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0451010