西門子S7-1200/1500 PLC SCL語言編程從入門到精通
定 價:99 元
- 作者:北島李工 編
- 出版時間:2022/1/1
- ISBN:9787122400413
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TM571.61
- 頁碼:347
- 紙張:
- 版次:01
- 開本:16開
本書幫助讀者系統(tǒng)學(xué)習(xí)西門子SCL編程語言,書中案例的硬件基于西門子S7-1200/1500系列PLC,軟件基于博途開發(fā)環(huán)境。本書分三部分:入門篇、進(jìn)階篇和高級篇。入門篇介紹了S7-1200/1500的硬件環(huán)境、PLC工作原理及SCL編程的基本概念;進(jìn)階篇介紹了SCL編程的復(fù)雜數(shù)據(jù)類型、擴展指令、工藝對象等,包含大量實用案例講解;高級篇介紹如何使用C#語言編寫TCP及UDP通信的控制臺程序,并實現(xiàn)與PLC的通信。本書從基礎(chǔ)到進(jìn)階再到高級,帶領(lǐng)讀者循序漸進(jìn)地學(xué)習(xí)西門子SCL編程方法和技巧。
書中附有視頻講解,讀者掃描二維碼即可觀看學(xué)習(xí)。
本書適合電氣自動化的編程和調(diào)試工程師使用,也可作為大專院校相關(guān)專業(yè)的教材。
第一篇 入門篇 001
第1章 S7-1200/1500硬件介紹 001
1.1 西門子SIMATIC S7-1200 PLC概述 001
1.2 S7-1200的CPU模塊 003
1.2.1 CPU模塊概述 003
0101-CPU 1214FC介紹 004
1.2.2 CPU 1214C AC/DC/Relay 004
1.3 S7-1200的數(shù)字量模塊 007
1.3.1 數(shù)字量輸入模塊 007
1.3.2 數(shù)字量輸出模塊 009
1.4 S7-1200的模擬量模塊 010
1.4.1 模擬量輸入模塊 010
1.4.2 模擬量輸出模塊 012
1.5 西門子SIMATIC S7-1500 PLC概述 013
1.6 S7-1500的CPU模塊 015
1.6.1 CPU模塊概述 015
1.6.2 CPU 1515-2PN模塊 017
1.7 S7-1500/ET 200MP的數(shù)字量模塊 019
1.7.1 數(shù)字量輸入模塊 019
1.7.2 數(shù)字量輸出模塊 019
1.7.3 數(shù)字量故障安全模塊 021
1.8 S7-1500/ET 200MP的模擬量模塊 023
1.8.1 模擬量輸入模塊 023
1.8.2 模擬量輸出模塊 027
1.9 S7-1500/ET 200MP的組件 029
1.9.1 導(dǎo)軌 029
1.9.2 U形連接器 029
1.9.3 前連接器 029
1.9.4 電源端子 030
第2章 PLC的工作原理與存儲方式 031
2.1 PLC的工作原理 031
2.1.1 PLC的程序結(jié)構(gòu) 031
2.1.2 CPU的工作模式 031
2.2 CPU的存儲器 033
2.2.1 裝載存儲器 033
2.2.2 工作存儲器 033
2.2.3 保持存儲器 034
2.2.4 系統(tǒng)存儲器 034
2.3 SIMATIC存儲卡 035
2.3.1 SIMATIC存儲卡簡介 035
0201-SIMATIC存儲卡介紹 035
2.3.2 SIMATIC存儲卡的安裝 036
2.3.3 SIMATIC存儲卡的工作模式 037
2.3.4 使用SIMATIC存儲卡更新CPU固件 037
2.4 在線查看存儲器的使用情況 038
第3章 TIA博途軟件開發(fā)環(huán)境 039
3.1 TIA博途平臺簡介 039
3.2 程序編輯器介紹 042
3.3 SCL編輯器的常規(guī)設(shè)置 043
3.3.1 高亮顯示關(guān)鍵字 043
3.3.2 新添加塊的設(shè)置 044
3.4 創(chuàng)建SCL函數(shù)塊或函數(shù) 045
3.5 SCL代碼編輯器 045
3.6 SCL編輯器使用技巧 046
3.6.1 使用區(qū)間指令將代碼分區(qū) 046
3.6.2 使用書簽快速定位代碼 047
第4章 TIA博途軟件應(yīng)用實例 049
4.1 創(chuàng)建示例程序 049
0401-創(chuàng)建示例程序 049
4.2 項目的編譯、下載與在線監(jiān)控 053
0402-項目程序的下載與在線監(jiān)控 053
4.3 程序的比較 054
0403-程序在線與離線比較 055
4.4 項目的歸檔與恢復(fù) 055
0404-項目的歸檔與恢復(fù) 056
4.5 使用項目參考功能 056
0405-使用項目參考功能 056
第5章 S7-1200/1500的軟件架構(gòu)與編程 057
5.1 操作系統(tǒng)與用戶程序 057
5.2 操作系統(tǒng)的接口——組織塊 058
5.2.1 組織塊的分類 058
0501-組織塊(Organization Block)介紹 059
5.2.2 程序循環(huán)組織塊 059
5.2.3 啟動組織塊 059
5.2.4 延時中斷組織塊 059
5.2.5 循環(huán)中斷組織塊 059
5.2.6 硬件中斷組織塊 060
5.2.7 時間錯誤中斷組織塊 060
5.2.8 診斷錯誤中斷組織塊 060
5.2.9 插拔中斷組織塊 060
5.2.10 機架或子站故障組織塊 061
5.2.11 日期時間中斷組織塊 061
5.2.12 狀態(tài)中斷組織塊 061
5.2.13 更新中斷組織塊 061
5.2.14 配置中斷組織塊 061
5.2.15 運動控制插補器組織塊 061
5.2.16 運動控制伺服組織塊 061
5.2.17 運動控制伺服前調(diào)組織塊 061
5.2.18 運動控制伺服后調(diào)組織塊 062
5.3 用戶程序的基本單位——程序組織單元 062
5.3.1 函數(shù) 062
0502-函數(shù)(FC)介紹 062
5.3.2 函數(shù)塊 063
0503-函數(shù)塊(FB)及其背景數(shù)據(jù)塊的介紹 063
5.3.3 數(shù)據(jù)塊 064
0504-全局?jǐn)?shù)據(jù)塊(Global DB)介紹 064
0505-背景數(shù)據(jù)塊介紹 066
0506-多重背景數(shù)據(jù)塊介紹 067
5.4 編程指導(dǎo) 068
5.4.1 模塊化程序設(shè)計 068
5.4.2 程序組織單元的命名規(guī)則 068
5.4.3 代碼注釋的推薦格式 069
第6章 SCL語言 070
6.1 SCL語言與PLC國際編程標(biāo)準(zhǔn) 070
6.1.1 SCL語言簡介 070
6.1.2 PLC國際編程標(biāo)準(zhǔn)——IEC 61131-3簡介 071
6.2 SCL語言的特點和優(yōu)勢 071
6.3 先睹為快:SCL編程實現(xiàn)按鈕控制指示燈 072
6.3.1 硬件/軟件環(huán)境及電氣圖紙 072
0601-TIA博途實例-電氣圖紙 073
6.3.2 程序代碼示例 073
0602-TIA博途實例-程序講解 075
0603-LED燈實際效果演示 075
第7章 SCL編程的基本概念 076
7.1 基本數(shù)據(jù)類型 076
7.1.1 布爾型 076
7.1.2 整數(shù)類型 076
7.1.3 實數(shù)類型 077
7.1.4 定時器時間值類型 078
7.1.5 日期時間類型 079
7.1.6 字符與字符串類型 081
7.1.7 位字符串類型 082
7.2 變量與常量 083
7.2.1 變量概述 083
7.2.2 變量的命名規(guī)則 083
7.2.3 變量的聲明 084
7.2.4 預(yù)定義變量——ENO 084
7.2.5 常量概述 085
7.2.6 常量的聲明 085
7.3 表達(dá)式 086
7.3.1 算術(shù)表達(dá)式 086
7.3.2 關(guān)系表達(dá)式 087
7.3.3 邏輯表達(dá)式 087
7.4 運算符及其優(yōu)先級 088
7.5 語句 088
7.5.1 語句概述 088
7.5.2 賦值語句 088
7.5.3 條件語句(IF) 089
7.5.4 選擇語句(CASE) 090
7.5.5 循環(huán)語句 091
7.5.6 跳轉(zhuǎn)語句 094
7.6 代碼的注釋 095
第8章 SCL基本指令及其應(yīng)用 096
8.1 沿信號檢測指令 096
8.1.1 上升沿信號檢測指令 096
0801-上升沿信號檢測 096
8.1.2 下降沿信號檢測指令 097
8.2 定時器指令 097
8.2.1 脈沖定時器(TP)指令 097
0802-脈沖定時器示例 099
8.2.2 延時接通定時器(TON)指令 099
0803-延時接通定時器示例 100
8.2.3 延時斷開定時器(TOF)指令 100
0804-延時斷開定時器示例 101
8.2.4 保持型延時接通定時器(TONR)指令 101
0805-保持型延時接通定時器示例 102
8.2.5 復(fù)位定時器(RESET_TIMER)指令 102
8.2.6 定時器預(yù)設(shè)值設(shè)置(PRESET_TIMER)指令 103
8.3 計數(shù)器指令 103
8.3.1 加計數(shù)器指令 103
8.3.2 減計數(shù)器指令 104
8.3.3 加/減計數(shù)器指令 105
8.4 數(shù)學(xué)指令 106
8.4.1 正弦指令 106
8.4.2 余弦指令 106
8.4.3 平方指令 106
8.4.4 最大值指令 107
8.4.5 最小值指令 107
8.5 讀寫存儲器指令 107
8.5.1 PEEK指令 107
8.5.2 POKE指令 108
8.6 移動指令 110
8.6.1 MOVE_BLK指令 111
8.6.2 UMOVE_BLK指令 111
8.6.3 FILL_BLK指令 111
8.6.4 UFILL_BLK指令 112
8.7 轉(zhuǎn)換指令 112
8.7.1 類型轉(zhuǎn)換指令 112
8.7.2 取整指令 112
8.7.3 歸一化指令——NORM_X 113
8.7.4 比例縮放指令——SCALE_X 114
8.8 字邏輯指令 115
8.8.1 解碼(DECO)指令 115
8.8.2 編碼(ENCO)指令 115
8.9 移位指令 116
8.9.1 右移(SHR)指令 116
8.9.2 左移(SHL)指令 116
8.9.3 循環(huán)右移(ROR)指令 117
8.9.4 循環(huán)左移(ROL)指令 117
第9章 SCL基本編程實例 118
9.1 電機啟?刂 118
0901-電機啟?刂-電氣圖紙講解 119
0902-電機啟?刂-程序講解 120
0903-電機啟?刂-實際演示 120
9.2 用不同的頻率控制蜂鳴器 120
0904-不同頻率控制蜂鳴器發(fā)聲-電氣圖紙講解 121
0905-不同頻率控制蜂鳴器發(fā)聲-程序講解 122
0906-不同頻率控制蜂鳴器發(fā)聲-實際演示 123
9.3 空壓機的延時關(guān)閉 124
0907-空壓機延時關(guān)閉-電氣圖紙講解 124
0908-空壓機延時關(guān)閉-程序講解 126
0909-空壓機延時關(guān)閉-實際演示 126
9.4 移動單元位置計算 126
0910-移動單元位置計算-電氣圖紙講解 127
0911-移動單元位置計算-程序講解 128
0912-移動單元位置計算-實際演示 128
9.5 獲取模擬量溫濕度傳感器的值 129
0913-模擬量溫濕度傳感器-電氣圖紙講解 129
0914-模擬量溫濕度傳感器-程序講解 130
0915-模擬量溫濕度傳感器-實際演示 131
9.6 BCD碼轉(zhuǎn)換成整數(shù) 131
0916-BCD碼轉(zhuǎn)換成整數(shù) 132
9.7 位字符串的提取與組合 133
0917-位字符串的提取與組合 133
第二篇 進(jìn)階篇 135
第10章 S7-1200/1500復(fù)雜數(shù)據(jù)類型 135
10.1 數(shù)組 135
10.1.1 數(shù)組概述 135
10.1.2 數(shù)組的聲明 136
10.1.3 數(shù)組元素的引用 136
10.2 指針 136
10.2.1 基本概念 136
10.2.2 Pointer類型 137
10.2.3 Any類型 138
10.2.4 Variant類型 139
10.3 結(jié)構(gòu)體 139
10.3.1 結(jié)構(gòu)體及其聲明 139
10.3.2 結(jié)構(gòu)體變量的引用 140
10.4 用戶自定義類型 141
10.4.1 基本概念 141
10.4.2 用戶自定義類型變量的聲明及引用 142
10.5 系統(tǒng)數(shù)據(jù)類型 142
第11章 SCL擴展指令 143
11.1 日期時間指令 143
11.1.1 時間加減指令 143
11.1.2 時鐘讀寫指令 144
1101-讀寫CPU系統(tǒng)時鐘 145
11.2 字符串操作指令 146
11.2.1 獲取字符串當(dāng)前長度 146
11.2.2 獲取字符串最大長度 146
11.2.3 讀取字符串左側(cè)字符 146
11.2.4 讀取字符串右側(cè)字符 147
11.2.5 讀取字符串中間字符 147
11.2.6 插入字符串 148
11.2.7 替換字符串 148
11.3 中斷指令 149
11.3.1 硬件中斷的綁定與解綁 149
11.3.2 循環(huán)中斷的設(shè)置與查詢 150
11.3.3 日期時間中斷的設(shè)置與啟用 152
11.3.4 延時中斷的啟用與取消 155
11.4 配方管理 156
11.4.1 配方概述 156
11.4.2 配方相關(guān)數(shù)據(jù)塊 157
11.4.3 配方導(dǎo)出指令 158
1102-如何導(dǎo)出配方數(shù)據(jù) 159
11.4.4 配方導(dǎo)入指令 161
1103-如何導(dǎo)入配方數(shù)據(jù) 162
11.4.5 讀配方指令 164
1104-讀取配方數(shù)據(jù) 165
11.4.6 寫配方指令 165
1105-寫入配方數(shù)據(jù) 166
11.5 診斷指令 166
11.5.1 讀取IO設(shè)備的名稱 166
1106-讀取IO設(shè)備名稱 166
11.5.2 讀取IO設(shè)備信息 168
1107-讀取IO設(shè)備信息 168
11.5.3 讀取IO設(shè)備的狀態(tài) 170
1108-讀取IO設(shè)備狀態(tài) 170
11.5.4 讀取標(biāo)識及維護(hù)數(shù)據(jù) 172
1109-讀取標(biāo)識及維護(hù)數(shù)據(jù) 174
第12章 SCL編程進(jìn)階實例與技巧 175
12.1 通用函數(shù)庫 175
12.1.1 基本介紹 175
12.1.2 下載與安裝 175
1201-LGF通用函數(shù)庫的下載及安裝 175
12.1.3 LGF函數(shù)介紹——脈沖繼電器 176
1202-LGF脈沖繼電器 177
12.1.4 LGF函數(shù)介紹——頻率發(fā)生器 178
1203-LGF頻率發(fā)生器 178
12.1.5 LGF函數(shù)介紹——環(huán)型存儲區(qū) 179
1204-LGF環(huán)型存儲區(qū)函數(shù) 179
12.2 自己編程實現(xiàn)沿信號檢測 181
12.3 自己編程實現(xiàn)雙穩(wěn)態(tài)觸發(fā)器 182
12.4 自己編程實現(xiàn)減計數(shù)器 184
12.5 自己編程實現(xiàn)定時采樣 186
12.6 自己編程實現(xiàn)數(shù)據(jù)塊復(fù)制 188
12.7 自己編程計算設(shè)備運行時間 189
12.8 間接尋址 192
12.8.1 變量的覆蓋訪問(AT) 192
12.8.2 變量的片段訪問(SLICE) 192
12.8.3 PEEK/POKE 194
12.9 SCL源代碼操作 195
12.9.1 導(dǎo)出源代碼 195
12.9.2 導(dǎo)入源代碼 195
12.10 SCL程序加密保護(hù) 196
12.11 創(chuàng)建自己的全局庫 196
1205-創(chuàng)建自己的全局庫 197
第13章 SCL工藝功能及其應(yīng)用 198
13.1 高速計數(shù)器 198
13.1.1 高速計數(shù)器概述 198
13.1.2 S7-1200的高速計數(shù)器 198
13.1.3 S7-1200的高速計數(shù)器指令 200
13.1.4 S7-1500的高速計數(shù)器模塊 204
13.1.5 實例1:CPU 1214FC獲取編碼器的數(shù)據(jù) 208
1301-編碼器-高速計數(shù)器電氣圖紙講解 209
1302-編碼器例程程序講解 211
13.1.6 實例2:高速計數(shù)器當(dāng)前值的斷電保存 211
1303-保存高速計時器當(dāng)前值 211
13.2 脈寬調(diào)制(PWM) 213
13.2.1 脈寬調(diào)制概述 213
13.2.2 S7-1200的PWM資源 213
13.2.3 S7-1200 PWM的組態(tài)與控制 214
13.2.4 S7-1500的PWM資源 216
13.2.5 S7-1500 PWM的組態(tài)與控制 216
1304-PWM組態(tài)及程序講解 216
13.2.6 SCL實例:CPU 1214FC使用PWM實現(xiàn)電機調(diào)速 220
1305-EPLAN電氣圖紙講解 220
13.3 PID控制 223
13.3.1 開環(huán)系統(tǒng)與閉環(huán)系統(tǒng) 223
1306-PWM控制電機調(diào)速-實際延時 223
13.3.2 PID控制器 224
13.3.3 S7-1200/1500 PID指令介紹 224
1307-PID指令及其組態(tài) 224
13.3.4 PID工藝對象 226
13.3.5 實例:CPU 1214C使用PID控制水罐的溫度 227
13.4 運動控制 232
13.4.1 運動控制概述 232
13.4.2 S7-1200的PTO資源 236
13.4.3 S7-1500/ET 200MP的TM PTO4模塊 236
13.4.4 S7-1200/1500的運動軸與工藝對象 238
1308-運動軸工藝對象介紹 238
13.4.5 S7-1200/1500的運動控制指令 241
13.4.6 實例:CPU 1214FC控制步進(jìn)電機進(jìn)行絕對定位 252
1309-步進(jìn)電機-接線圖講解 254
1310-步進(jìn)電機運動控制-工藝對象講解 256
1311-步進(jìn)電機控制-回原點 258
1312-步進(jìn)電機運動控制-程序講解 261
1313-步進(jìn)電機運動控制-實例演示 261
第14章 SCL通信功能及其應(yīng)用 262
14.1 串行通信 262
14.1.1 串行通信概述 262
14.1.2 S7-1200的串口通信模塊及信號板 264
1401-CM 1241 RS232模塊外觀介紹 264
1402-CB 1241 RS485外觀及安裝介紹 267
14.1.3 S7-1500/ET 200MP串口通信模塊 268
14.1.4 點對點通信指令 270
1403-串口指令SEND_PTP&RCV_PTP數(shù)據(jù)收發(fā)演示 270
1404-CM 1241 RS232固件更新 278
14.1.5 SCL實例:CPU 1214FC與串口助手通信 279
1405-CM1241使用通用串行指令與串口助手通信 279
14.2 Modbus-RTU通信 281
14.2.1 Modbus簡介 281
14.2.2 S7-1200/1500的Modbus-RTU指令 283
14.2.3 Modbus協(xié)議的數(shù)據(jù)模型和地址模型 287
14.2.4 SCL實例:CPU 1214FC通過Modbus-RTU協(xié)議讀取溫度傳感器的數(shù)值 289
1406-CB 1241 RS485讀取溫度傳感器EPLAN電氣圖紙講解 289
1407-CB 1241 RS485讀取溫度傳感器 291
14.3 以太網(wǎng)通信 292
14.3.1 S7-1200/1500的以太網(wǎng)接口及連接資源 292
14.3.2 S7通信 293
1408-S7通信連接硬件組態(tài) 296
1409-CPU ST20和CPU 1214FC的通信講解 299
14.3.3 TCP通信 303
1410-創(chuàng)建一個TCP通信函數(shù)塊ComTCP 309
14.3.4 Modbus TCP通信 312
1411-Modbus-TCP服務(wù)器和客戶端程序介紹 321
1412-Modbus-TCP通信實例演示 321
14.3.5 UDP通信 321
1413-創(chuàng)建一個UDP通信的函數(shù)塊comUDP 325
14.4 PROFINET通信 328
14.4.1 PROFINET協(xié)議簡介 328
14.4.2 PROFINET IO控制器與IO設(shè)備 329
14.4.3 實例:構(gòu)建一個PROFINET IO系統(tǒng) 330
1414-構(gòu)建一個PRFINET IO系統(tǒng) 330
14.4.4 智能設(shè)備(I-Device) 332
14.4.5 實例:CPU ST20作為CPU 1214FC的智能設(shè)備 332
14.5 Web服務(wù)器應(yīng)用 335
14.5.1 Web服務(wù)器功能介紹 335
14.5.2 標(biāo)準(zhǔn)Web服務(wù)器 337
1415-Web服務(wù)器功能介紹 337
第三篇 高級篇 339
第15章 高級語言C#與SCL的程序應(yīng)用實例 339
15.1 C#語言簡介 339
15.2 使用C#創(chuàng)建一個TCP服務(wù)器程序myTCPServer 340
15.3 使用myTCPServer與函數(shù)塊FB5005_ComTCP通信 343
1501-myTCPServer與函數(shù)塊 FB5005_ComTCP通信 343
15.4 使用C#創(chuàng)建一個UDP通信程序myUDPTalker 343
15.5 使用myUDPTalker與函數(shù)塊FB5006_ComUDP通信 346
1502-myUDPTalker與函數(shù)塊FB5006_ComUDP通信 346
附錄 ASCII碼表 347