本書系統(tǒng)地講解了如何利用C#開發(fā)智能制造工程,以具體項目為載體,重在實戰(zhàn),講解如何搭建智能制造系統(tǒng)的C#軟件架構(gòu)及如何開發(fā)出優(yōu)秀的C#代碼。本書分為3部分:基礎(chǔ)篇、進(jìn)階篇和實戰(zhàn)篇;A(chǔ)篇首先講解了智能制造的基本概念及其相關(guān)的軟/硬件環(huán)境,然后對智能制造的開發(fā)軟件C#的基礎(chǔ)知識進(jìn)行了詳細(xì)的講解;進(jìn)階篇對C#的高級特性和設(shè)計模式進(jìn)行了詳細(xì)的講解;實戰(zhàn)篇引入了運動控制器,針對智能制造的幾個熱點應(yīng)用領(lǐng)域——自動化領(lǐng)域、物聯(lián)網(wǎng)領(lǐng)域、機(jī)器視覺領(lǐng)域進(jìn)行了詳細(xì)的講解,并依托具體的項目講解如何利用C#搭建智能制造系統(tǒng)的軟件架構(gòu)。本書可作為高等院校智能制造、機(jī)械工程和自動化類專業(yè)的教材,也可作為智能制造、自動化等相關(guān)領(lǐng)域的科技工作者、技術(shù)人員、軟件開發(fā)人員的實戰(zhàn)指導(dǎo)書。
劉江省,博士、副教授,機(jī)械工程學(xué)會生產(chǎn)工程分會委員,山東省計量測試學(xué)會幾何量分會理事,山東省裝備制造業(yè)協(xié)會理事。常年工作在研發(fā)一線,具有20多年的項目研發(fā)經(jīng)驗。研究方向為智能裝備的研究及開發(fā)等。
目錄
基礎(chǔ)篇
第1章 智能制造導(dǎo)論 2
1.1 智能制造簡介 2
1.1.1 智能制造的起源 2
1.1.2 智能制造的定義 3
1.1.3 智能制造發(fā)展的3個階段 3
1.1.4 智能制造技術(shù)產(chǎn)業(yè)鏈 6
1.2 智能制造的硬件 8
1.2.1 PLC和運動控制器 8
1.2.2 輸入/輸出 11
1.2.3 計算機(jī)/觸摸屏 11
1.2.4 驅(qū)動器和電機(jī) 11
1.2.5 執(zhí)行機(jī)構(gòu) 12
1.2.6 反饋裝置 13
1.2.7 通信接口 13
1.3 智能制造的軟件 17
1.3.1 工業(yè)軟件 17
1.3.2 嵌入式軟件和非嵌入式軟件 18
1.3.3 上位機(jī)和下位機(jī) 19
1.4 C#語言與.NET Framework平臺 20
1.4.1 上位機(jī)開發(fā)平臺 20
1.4.2 C#介紹 21
1.4.3 .NET Framework介紹 21
1.5 本書主要內(nèi)容和章節(jié)安排 23
第2章 C#應(yīng)用程序開發(fā)基礎(chǔ) 25
2.1 Visual Studio開發(fā)環(huán)境 25
2.1.1 Console控制臺應(yīng)用程序 27
2.1.2 類庫的開發(fā)與應(yīng)用 30
2.1.3 Windows窗體應(yīng)用程序 33
2.1.4 常用的Windows標(biāo)準(zhǔn)控件 37
2.1.5 控件屬性和事件 38
2.1.6 窗體設(shè)計實例 40
2.2 生成、運行與調(diào)試 42
2.2.1 生成和運行 42
2.2.2 調(diào)試 44
2.3 C#基本語法 46
2.3.1 C#程序結(jié)構(gòu) 46
2.3.2 命名空間 47
2.3.3 關(guān)鍵字 48
2.3.4 標(biāo)識符 48
2.3.5 代碼注釋 49
2.4 C#代碼編寫規(guī)范 49
2.4.1 字母大小寫約定 50
2.4.2 命名注意事項 50
2.5 本章小結(jié) 51
第3章 C#語言基礎(chǔ) 52
3.1 數(shù)據(jù)類型 52
3.1.1 值類型 52
3.1.2 引用類型 55
3.1.3 裝箱與拆箱 57
3.2 數(shù)據(jù)類型之間的轉(zhuǎn)換 57
3.2.1 類型鑄造 58
3.2.2 通過string進(jìn)行類型轉(zhuǎn)換 58
3.2.3 使用as操作符進(jìn)行類型轉(zhuǎn)換 61
3.3 常量與變量 61
3.3.1 常量 61
3.3.2 變量 64
3.4 運算符與表達(dá)式 65
3.4.1 算術(shù)運算符 65
3.4.2 關(guān)系運算符 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#語言的結(jié)構(gòu) 74
3.5.1 分支語句 74
3.5.2 循環(huán)語句 79
3.5.3 跳轉(zhuǎn)語句 82
3.6 數(shù)組 83
3.7 類 85
3.7.1 類的定義 85
3.7.2 類的成員 86
3.7.3 構(gòu)造函數(shù) 87
3.7.4 析構(gòu)函數(shù) 89
3.8 方法 91
3.8.1 方法的聲明 91
3.8.2 參數(shù)傳遞 93
3.9 屬性 96
3.10 接口 98
3.10.1 接口的概念 99
3.10.2 接口的實現(xiàn) 99
3.11 本章小結(jié) 101
第4章 C#面向?qū)ο蟮木幊碳夹g(shù) 102
4.1 面向?qū)ο蟮母拍?102
4.1.1 面向過程的編程思想 102
4.1.2 面向?qū)ο蟮木幊趟枷?103
4.1.3 面向?qū)ο蟪绦蛟O(shè)計3原則 104
4.2 類的封裝與繼承的實現(xiàn) 110
4.3 類的抽象與多態(tài)的實現(xiàn) 114
4.3.1 方法重載 114
4.3.2 運算符重載 116
4.3.3 虛方法與方法覆蓋 118
4.3.4 抽象類與抽象方法 120
4.4 本章小結(jié) 121
?
進(jìn)階篇
第5章 C#高級特性 123
5.1 集合 123
5.1.1 動態(tài)數(shù)組類 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 多線程技術(shù) 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 反射技術(shù) 159
5.5.1 什么是反射 160
5.5.2 反射技術(shù)的應(yīng)用 160
5.5.3 反射技術(shù)的優(yōu)/缺點 165
5.6 本章小結(jié) 166
第6章 C#圖形圖像編程 167
6.1 GDI+繪圖基礎(chǔ) 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 圖像的讀取、保存和轉(zhuǎn)換 182
6.3.2 圖像的復(fù)制和粘貼 185
6.3.3 彩色圖像處理 189
6.4 本章小結(jié) 195
第7章 C#設(shè)計模式 196
7.1 什么是設(shè)計模式 196
7.2 設(shè)計模式的七大原則或法則 198
7.2.1 單一職能原則 198
7.2.2 開放封閉原則 199
7.2.3 里氏代換原則 200
7.2.4 依賴倒轉(zhuǎn)原則 201
7.2.5 接口隔離原則 201
7.2.6 合成復(fù)用原則 202
7.2.7 迪米特法則 203
7.3 常用設(shè)計模式的實現(xiàn) 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 本章小結(jié) 225
實戰(zhàn)篇
第8章 運動控制器的C#應(yīng)用開發(fā) 227
8.1 運動控制導(dǎo)論 227
8.1.1 運動控制系統(tǒng)的組成 228
8.1.2 運動控制系統(tǒng)的分類 229
8.1.3 運動控制器的應(yīng)用領(lǐng)域 231
8.2 運動控制系統(tǒng)的應(yīng)用 231
8.2.1 運動控制系統(tǒng)的功能 232
8.2.2 單軸運動 233
8.2.3 多軸運動 236
8.3 用ZBasic開發(fā)下位機(jī)軟件 239
8.4 用C#開發(fā)上位機(jī)軟件 241
8.5 正運動的運動控制器的C#例程 246
8.5.1 單軸控制 246
8.5.2 多軸插補(bǔ) 250
8.6 本章小結(jié) 254
第9章 C#在自動化領(lǐng)域的應(yīng)用開發(fā) 255
9.1 上位機(jī)軟件功能分解 255
9.2 底層控制模塊的開發(fā) 257
9.2.1 控制器的底層控制功能分析 257
9.2.2 代碼實現(xiàn) 258
9.3 流程控制模塊的開發(fā) 274
9.3.1 公共定義 274
9.3.2 流程類的封裝 275
9.3.3 流程控制類 280
9.3.4 流程控制模塊的類關(guān)系圖 282
9.3.5 流程控制模塊的使用 282
9.4 其他模塊的開發(fā) 284
9.5 UI 285
9.6 本章小結(jié) 286
第10章 C#在物聯(lián)網(wǎng)領(lǐng)域的應(yīng)用開發(fā) 288
10.1 物聯(lián)網(wǎng)導(dǎo)論 288
10.1.1 物聯(lián)網(wǎng)的定義和特征 288
10.1.2 物聯(lián)網(wǎng)的起源和發(fā)展 288
10.1.3 物聯(lián)網(wǎng)的應(yīng)用 289
10.1.4 物聯(lián)網(wǎng)的傳輸方式 290
10.2 串口通信和串口通信網(wǎng)絡(luò) 290
10.2.1 串口通信 290
10.2.2 串口網(wǎng)絡(luò)服務(wù)器 292
10.2.3 串口參數(shù) 293
10.3 Modbus通信協(xié)議 293
10.3.1 什么是Modbus通信 293
10.3.2 Modbus寄存器 294
10.3.3 Modbus功能碼 295
10.4 用C#實現(xiàn)串口通信 297
10.4.1 SerialPort類 298
10.4.2 TcpClient類 300
10.4.3 NModbus 302
10.5 C#在物聯(lián)網(wǎng)中的開發(fā)實例 306
10.5.1 面向蝶閥裝配的半自動檢測及其質(zhì)量追溯系統(tǒng) 306
10.5.2 系統(tǒng)的連接示意圖及硬件選型 307
10.5.3 串行網(wǎng)絡(luò)的建立 308
10.5.4 串口基類的建立 312
10.5.5 各類串口設(shè)備的連接 313
10.5.6 類結(jié)構(gòu) 320
10.6 本章小結(jié) 321
第11章 C#在機(jī)器視覺領(lǐng)域的應(yīng)用開發(fā) 322
11.1 機(jī)器視覺導(dǎo)論 322
11.1.1 什么是機(jī)器視覺 322
11.1.2 機(jī)器視覺能干什么 323
11.1.3 機(jī)器視覺的基本構(gòu)成 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 本章小結(jié) 351
參考文獻(xiàn) 352