西門子S7-1200/1500 PLC SCL語(yǔ)言編程從入門到精通
定 價(jià):99 元
- 作者:北島李工 編
- 出版時(shí)間:2022/1/1
- ISBN:9787122400413
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TM571.61
- 頁(yè)碼:347
- 紙張:
- 版次:01
- 開本:16開
本書幫助讀者系統(tǒng)學(xué)習(xí)西門子SCL編程語(yǔ)言,書中案例的硬件基于西門子S7-1200/1500系列PLC,軟件基于博途開發(fā)環(huán)境。本書分三部分:入門篇、進(jìn)階篇和高級(jí)篇。入門篇介紹了S7-1200/1500的硬件環(huán)境、PLC工作原理及SCL編程的基本概念;進(jìn)階篇介紹了SCL編程的復(fù)雜數(shù)據(jù)類型、擴(kuò)展指令、工藝對(duì)象等,包含大量實(shí)用案例講解;高級(jí)篇介紹如何使用C#語(yǔ)言編寫TCP及UDP通信的控制臺(tái)程序,并實(shí)現(xiàn)與PLC的通信。本書從基礎(chǔ)到進(jìn)階再到高級(jí),帶領(lǐng)讀者循序漸進(jìn)地學(xué)習(xí)西門子SCL編程方法和技巧。
書中附有視頻講解,讀者掃描二維碼即可觀看學(xué)習(xí)。
本書適合電氣自動(dòng)化的編程和調(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的工作原理與存儲(chǔ)方式 031
2.1 PLC的工作原理 031
2.1.1 PLC的程序結(jié)構(gòu) 031
2.1.2 CPU的工作模式 031
2.2 CPU的存儲(chǔ)器 033
2.2.1 裝載存儲(chǔ)器 033
2.2.2 工作存儲(chǔ)器 033
2.2.3 保持存儲(chǔ)器 034
2.2.4 系統(tǒng)存儲(chǔ)器 034
2.3 SIMATIC存儲(chǔ)卡 035
2.3.1 SIMATIC存儲(chǔ)卡簡(jiǎn)介 035
0201-SIMATIC存儲(chǔ)卡介紹 035
2.3.2 SIMATIC存儲(chǔ)卡的安裝 036
2.3.3 SIMATIC存儲(chǔ)卡的工作模式 037
2.3.4 使用SIMATIC存儲(chǔ)卡更新CPU固件 037
2.4 在線查看存儲(chǔ)器的使用情況 038
第3章 TIA博途軟件開發(fā)環(huán)境 039
3.1 TIA博途平臺(tái)簡(jiǎn)介 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)用實(shí)例 049
4.1 創(chuàng)建示例程序 049
0401-創(chuàng)建示例程序 049
4.2 項(xiàng)目的編譯、下載與在線監(jiān)控 053
0402-項(xiàng)目程序的下載與在線監(jiān)控 053
4.3 程序的比較 054
0403-程序在線與離線比較 055
4.4 項(xiàng)目的歸檔與恢復(fù) 055
0404-項(xiàng)目的歸檔與恢復(fù) 056
4.5 使用項(xiàng)目參考功能 056
0405-使用項(xiàng)目參考功能 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 啟動(dòng)組織塊 059
5.2.4 延時(shí)中斷組織塊 059
5.2.5 循環(huán)中斷組織塊 059
5.2.6 硬件中斷組織塊 060
5.2.7 時(shí)間錯(cuò)誤中斷組織塊 060
5.2.8 診斷錯(cuò)誤中斷組織塊 060
5.2.9 插拔中斷組織塊 060
5.2.10 機(jī)架或子站故障組織塊 061
5.2.11 日期時(shí)間中斷組織塊 061
5.2.12 狀態(tài)中斷組織塊 061
5.2.13 更新中斷組織塊 061
5.2.14 配置中斷組織塊 061
5.2.15 運(yùn)動(dòng)控制插補(bǔ)器組織塊 061
5.2.16 運(yùn)動(dòng)控制伺服組織塊 061
5.2.17 運(yùn)動(dòng)控制伺服前調(diào)組織塊 061
5.2.18 運(yùn)動(dòng)控制伺服后調(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è)計(jì) 068
5.4.2 程序組織單元的命名規(guī)則 068
5.4.3 代碼注釋的推薦格式 069
第6章 SCL語(yǔ)言 070
6.1 SCL語(yǔ)言與PLC國(guó)際編程標(biāo)準(zhǔn) 070
6.1.1 SCL語(yǔ)言簡(jiǎn)介 070
6.1.2 PLC國(guó)際編程標(biāo)準(zhǔn)——IEC 61131-3簡(jiǎn)介 071
6.2 SCL語(yǔ)言的特點(diǎn)和優(yōu)勢(shì) 071
6.3 先睹為快:SCL編程實(shí)現(xiàn)按鈕控制指示燈 072
6.3.1 硬件/軟件環(huán)境及電氣圖紙 072
0601-TIA博途實(shí)例-電氣圖紙 073
6.3.2 程序代碼示例 073
0602-TIA博途實(shí)例-程序講解 075
0603-LED燈實(shí)際效果演示 075
第7章 SCL編程的基本概念 076
7.1 基本數(shù)據(jù)類型 076
7.1.1 布爾型 076
7.1.2 整數(shù)類型 076
7.1.3 實(shí)數(shù)類型 077
7.1.4 定時(shí)器時(shí)間值類型 078
7.1.5 日期時(shí)間類型 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ùn)算符及其優(yōu)先級(jí) 088
7.5 語(yǔ)句 088
7.5.1 語(yǔ)句概述 088
7.5.2 賦值語(yǔ)句 088
7.5.3 條件語(yǔ)句(IF) 089
7.5.4 選擇語(yǔ)句(CASE) 090
7.5.5 循環(huán)語(yǔ)句 091
7.5.6 跳轉(zhuǎn)語(yǔ)句 094
7.6 代碼的注釋 095
第8章 SCL基本指令及其應(yīng)用 096
8.1 沿信號(hào)檢測(cè)指令 096
8.1.1 上升沿信號(hào)檢測(cè)指令 096
0801-上升沿信號(hào)檢測(cè) 096
8.1.2 下降沿信號(hào)檢測(cè)指令 097
8.2 定時(shí)器指令 097
8.2.1 脈沖定時(shí)器(TP)指令 097
0802-脈沖定時(shí)器示例 099
8.2.2 延時(shí)接通定時(shí)器(TON)指令 099
0803-延時(shí)接通定時(shí)器示例 100
8.2.3 延時(shí)斷開定時(shí)器(TOF)指令 100
0804-延時(shí)斷開定時(shí)器示例 101
8.2.4 保持型延時(shí)接通定時(shí)器(TONR)指令 101
0805-保持型延時(shí)接通定時(shí)器示例 102
8.2.5 復(fù)位定時(shí)器(RESET_TIMER)指令 102
8.2.6 定時(shí)器預(yù)設(shè)值設(shè)置(PRESET_TIMER)指令 103
8.3 計(jì)數(shù)器指令 103
8.3.1 加計(jì)數(shù)器指令 103
8.3.2 減計(jì)數(shù)器指令 104
8.3.3 加/減計(jì)數(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 讀寫存儲(chǔ)器指令 107
8.5.1 PEEK指令 107
8.5.2 POKE指令 108
8.6 移動(dòng)指令 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基本編程實(shí)例 118
9.1 電機(jī)啟停控制 118
0901-電機(jī)啟?刂-電氣圖紙講解 119
0902-電機(jī)啟停控制-程序講解 120
0903-電機(jī)啟?刂-實(shí)際演示 120
9.2 用不同的頻率控制蜂鳴器 120
0904-不同頻率控制蜂鳴器發(fā)聲-電氣圖紙講解 121
0905-不同頻率控制蜂鳴器發(fā)聲-程序講解 122
0906-不同頻率控制蜂鳴器發(fā)聲-實(shí)際演示 123
9.3 空壓機(jī)的延時(shí)關(guān)閉 124
0907-空壓機(jī)延時(shí)關(guān)閉-電氣圖紙講解 124
0908-空壓機(jī)延時(shí)關(guān)閉-程序講解 126
0909-空壓機(jī)延時(shí)關(guān)閉-實(shí)際演示 126
9.4 移動(dòng)單元位置計(jì)算 126
0910-移動(dòng)單元位置計(jì)算-電氣圖紙講解 127
0911-移動(dòng)單元位置計(jì)算-程序講解 128
0912-移動(dòng)單元位置計(jì)算-實(shí)際演示 128
9.5 獲取模擬量溫濕度傳感器的值 129
0913-模擬量溫濕度傳感器-電氣圖紙講解 129
0914-模擬量溫濕度傳感器-程序講解 130
0915-模擬量溫濕度傳感器-實(shí)際演示 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擴(kuò)展指令 143
11.1 日期時(shí)間指令 143
11.1.1 時(shí)間加減指令 143
11.1.2 時(shí)鐘讀寫指令 144
1101-讀寫CPU系統(tǒng)時(shí)鐘 145
11.2 字符串操作指令 146
11.2.1 獲取字符串當(dāng)前長(zhǎng)度 146
11.2.2 獲取字符串最大長(zhǎng)度 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í)間中斷的設(shè)置與啟用 152
11.3.4 延時(shí)中斷的啟用與取消 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)識(shí)及維護(hù)數(shù)據(jù) 172
1109-讀取標(biāo)識(shí)及維護(hù)數(shù)據(jù) 174
第12章 SCL編程進(jìn)階實(shí)例與技巧 175
12.1 通用函數(shù)庫(kù) 175
12.1.1 基本介紹 175
12.1.2 下載與安裝 175
1201-LGF通用函數(shù)庫(kù)的下載及安裝 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)型存儲(chǔ)區(qū) 179
1204-LGF環(huán)型存儲(chǔ)區(qū)函數(shù) 179
12.2 自己編程實(shí)現(xiàn)沿信號(hào)檢測(cè) 181
12.3 自己編程實(shí)現(xiàn)雙穩(wěn)態(tài)觸發(fā)器 182
12.4 自己編程實(shí)現(xiàn)減計(jì)數(shù)器 184
12.5 自己編程實(shí)現(xiàn)定時(shí)采樣 186
12.6 自己編程實(shí)現(xiàn)數(shù)據(jù)塊復(fù)制 188
12.7 自己編程計(jì)算設(shè)備運(yùn)行時(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)建自己的全局庫(kù) 196
1205-創(chuàng)建自己的全局庫(kù) 197
第13章 SCL工藝功能及其應(yīng)用 198
13.1 高速計(jì)數(shù)器 198
13.1.1 高速計(jì)數(shù)器概述 198
13.1.2 S7-1200的高速計(jì)數(shù)器 198
13.1.3 S7-1200的高速計(jì)數(shù)器指令 200
13.1.4 S7-1500的高速計(jì)數(shù)器模塊 204
13.1.5 實(shí)例1:CPU 1214FC獲取編碼器的數(shù)據(jù) 208
1301-編碼器-高速計(jì)數(shù)器電氣圖紙講解 209
1302-編碼器例程程序講解 211
13.1.6 實(shí)例2:高速計(jì)數(shù)器當(dāng)前值的斷電保存 211
1303-保存高速計(jì)時(shí)器當(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實(shí)例:CPU 1214FC使用PWM實(shí)現(xiàn)電機(jī)調(diào)速 220
1305-EPLAN電氣圖紙講解 220
13.3 PID控制 223
13.3.1 開環(huán)系統(tǒng)與閉環(huán)系統(tǒng) 223
1306-PWM控制電機(jī)調(diào)速-實(shí)際延時(shí) 223
13.3.2 PID控制器 224
13.3.3 S7-1200/1500 PID指令介紹 224
1307-PID指令及其組態(tài) 224
13.3.4 PID工藝對(duì)象 226
13.3.5 實(shí)例:CPU 1214C使用PID控制水罐的溫度 227
13.4 運(yùn)動(dòng)控制 232
13.4.1 運(yùn)動(dòng)控制概述 232
13.4.2 S7-1200的PTO資源 236
13.4.3 S7-1500/ET 200MP的TM PTO4模塊 236
13.4.4 S7-1200/1500的運(yùn)動(dòng)軸與工藝對(duì)象 238
1308-運(yùn)動(dòng)軸工藝對(duì)象介紹 238
13.4.5 S7-1200/1500的運(yùn)動(dòng)控制指令 241
13.4.6 實(shí)例:CPU 1214FC控制步進(jìn)電機(jī)進(jìn)行絕對(duì)定位 252
1309-步進(jìn)電機(jī)-接線圖講解 254
1310-步進(jìn)電機(jī)運(yùn)動(dòng)控制-工藝對(duì)象講解 256
1311-步進(jìn)電機(jī)控制-回原點(diǎn) 258
1312-步進(jìn)電機(jī)運(yùn)動(dòng)控制-程序講解 261
1313-步進(jìn)電機(jī)運(yùn)動(dòng)控制-實(shí)例演示 261
第14章 SCL通信功能及其應(yīng)用 262
14.1 串行通信 262
14.1.1 串行通信概述 262
14.1.2 S7-1200的串口通信模塊及信號(hào)板 264
1401-CM 1241 RS232模塊外觀介紹 264
1402-CB 1241 RS485外觀及安裝介紹 267
14.1.3 S7-1500/ET 200MP串口通信模塊 268
14.1.4 點(diǎn)對(duì)點(diǎn)通信指令 270
1403-串口指令SEND_PTP&RCV_PTP數(shù)據(jù)收發(fā)演示 270
1404-CM 1241 RS232固件更新 278
14.1.5 SCL實(shí)例:CPU 1214FC與串口助手通信 279
1405-CM1241使用通用串行指令與串口助手通信 279
14.2 Modbus-RTU通信 281
14.2.1 Modbus簡(jiǎn)介 281
14.2.2 S7-1200/1500的Modbus-RTU指令 283
14.2.3 Modbus協(xié)議的數(shù)據(jù)模型和地址模型 287
14.2.4 SCL實(shí)例: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)建一個(gè)TCP通信函數(shù)塊ComTCP 309
14.3.4 Modbus TCP通信 312
1411-Modbus-TCP服務(wù)器和客戶端程序介紹 321
1412-Modbus-TCP通信實(shí)例演示 321
14.3.5 UDP通信 321
1413-創(chuàng)建一個(gè)UDP通信的函數(shù)塊comUDP 325
14.4 PROFINET通信 328
14.4.1 PROFINET協(xié)議簡(jiǎn)介 328
14.4.2 PROFINET IO控制器與IO設(shè)備 329
14.4.3 實(shí)例:構(gòu)建一個(gè)PROFINET IO系統(tǒng) 330
1414-構(gòu)建一個(gè)PRFINET IO系統(tǒng) 330
14.4.4 智能設(shè)備(I-Device) 332
14.4.5 實(shí)例: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
第三篇 高級(jí)篇 339
第15章 高級(jí)語(yǔ)言C#與SCL的程序應(yīng)用實(shí)例 339
15.1 C#語(yǔ)言簡(jiǎn)介 339
15.2 使用C#創(chuàng)建一個(gè)TCP服務(wù)器程序myTCPServer 340
15.3 使用myTCPServer與函數(shù)塊FB5005_ComTCP通信 343
1501-myTCPServer與函數(shù)塊 FB5005_ComTCP通信 343
15.4 使用C#創(chuàng)建一個(gè)UDP通信程序myUDPTalker 343
15.5 使用myUDPTalker與函數(shù)塊FB5006_ComUDP通信 346
1502-myUDPTalker與函數(shù)塊FB5006_ComUDP通信 346
附錄 ASCII碼表 347