本書系統(tǒng)地講解了如何利用C#開發(fā)智能制造工程,以具體項目為載體,重在實戰(zhàn),講解如何搭建智能制造系統(tǒng)的C#軟件架構及如何開發(fā)出優(yōu)秀的C#代碼。本書分為3部分:基礎篇、進階篇和實戰(zhàn)篇;A篇首先講解了智能制造的基本概念及其相關的軟/硬件環(huán)境,然后對智能制造的開發(fā)軟件C#的基礎知識進行了詳細的講解;進階篇對C#的高級特性和設計模式進行了詳細的講解;實戰(zhàn)篇引入了運動控制器,針對智能制造的幾個熱點應用領域——自動化領域、物聯網領域、機器視覺領域進行了詳細的講解,并依托具體的項目講解如何利用C#搭建智能制造系統(tǒng)的軟件架構。本書可作為高等院校智能制造、機械工程和自動化類專業(yè)的教材,也可作為智能制造、自動化等相關領域的科技工作者、技術人員、軟件開發(fā)人員的實戰(zhàn)指導書。
劉江省,博士、副教授,機械工程學會生產工程分會委員,山東省計量測試學會幾何量分會理事,山東省裝備制造業(yè)協(xié)會理事。常年工作在研發(fā)一線,具有20多年的項目研發(fā)經驗。研究方向為智能裝備的研究及開發(fā)等。
目錄
基礎篇
第1章 智能制造導論 2
1.1 智能制造簡介 2
1.1.1 智能制造的起源 2
1.1.2 智能制造的定義 3
1.1.3 智能制造發(fā)展的3個階段 3
1.1.4 智能制造技術產業(yè)鏈 6
1.2 智能制造的硬件 8
1.2.1 PLC和運動控制器 8
1.2.2 輸入/輸出 11
1.2.3 計算機/觸摸屏 11
1.2.4 驅動器和電機 11
1.2.5 執(zhí)行機構 12
1.2.6 反饋裝置 13
1.2.7 通信接口 13
1.3 智能制造的軟件 17
1.3.1 工業(yè)軟件 17
1.3.2 嵌入式軟件和非嵌入式軟件 18
1.3.3 上位機和下位機 19
1.4 C#語言與.NET Framework平臺 20
1.4.1 上位機開發(fā)平臺 20
1.4.2 C#介紹 21
1.4.3 .NET Framework介紹 21
1.5 本書主要內容和章節(jié)安排 23
第2章 C#應用程序開發(fā)基礎 25
2.1 Visual Studio開發(fā)環(huán)境 25
2.1.1 Console控制臺應用程序 27
2.1.2 類庫的開發(fā)與應用 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#代碼編寫規(guī)范 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 運算符優(yōu)先級 73
3.5 C#語言的結構 74
3.5.1 分支語句 74
3.5.2 循環(huán)語句 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 類的抽象與多態(tài)的實現 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 動態(tài)數組類 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 創(chuàng)建線程 152
5.4.6 管理線程 156
5.4.7 銷毀線程 158
5.5 反射技術 159
5.5.1 什么是反射 160
5.5.2 反射技術的應用 160
5.5.3 反射技術的優(yōu)/缺點 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
實戰(zhàn)篇
第8章 運動控制器的C#應用開發(fā) 227
8.1 運動控制導論 227
8.1.1 運動控制系統(tǒng)的組成 228
8.1.2 運動控制系統(tǒng)的分類 229
8.1.3 運動控制器的應用領域 231
8.2 運動控制系統(tǒng)的應用 231
8.2.1 運動控制系統(tǒng)的功能 232
8.2.2 單軸運動 233
8.2.3 多軸運動 236
8.3 用ZBasic開發(fā)下位機軟件 239
8.4 用C#開發(fā)上位機軟件 241
8.5 正運動的運動控制器的C#例程 246
8.5.1 單軸控制 246
8.5.2 多軸插補 250
8.6 本章小結 254
第9章 C#在自動化領域的應用開發(fā) 255
9.1 上位機軟件功能分解 255
9.2 底層控制模塊的開發(fā) 257
9.2.1 控制器的底層控制功能分析 257
9.2.2 代碼實現 258
9.3 流程控制模塊的開發(fā) 274
9.3.1 公共定義 274
9.3.2 流程類的封裝 275
9.3.3 流程控制類 280
9.3.4 流程控制模塊的類關系圖 282
9.3.5 流程控制模塊的使用 282
9.4 其他模塊的開發(fā) 284
9.5 UI 285
9.6 本章小結 286
第10章 C#在物聯網領域的應用開發(fā) 288
10.1 物聯網導論 288
10.1.1 物聯網的定義和特征 288
10.1.2 物聯網的起源和發(fā)展 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通信協(xié)議 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#在物聯網中的開發(fā)實例 306
10.5.1 面向蝶閥裝配的半自動檢測及其質量追溯系統(tǒng) 306
10.5.2 系統(tǒng)的連接示意圖及硬件選型 307
10.5.3 串行網絡的建立 308
10.5.4 串口基類的建立 312
10.5.5 各類串口設備的連接 313
10.5.6 類結構 320
10.6 本章小結 321
第11章 C#在機器視覺領域的應用開發(fā) 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 在線視覺檢測開發(fā)案例 331
11.3.1 尺寸測量 332
11.3.2 二維碼識別 341
11.4 本章小結 351
參考文獻 352