本書通過彩色圖解+視頻講解的方式,以西門子博途編程軟件(TIA Portal)V16為主要工具,詳細介紹了PLC結構化文本(ST)編程的相關知識。全書通過大量的實例由淺入深地介紹了ST語言的邏輯運算、比較和移位運算、程序控制語句、數(shù)學運算以及綜合應用和PLC的通信。在編寫實例時,通過函數(shù)和功能塊的調用詳細闡述了PLC基于ST語言的編程技術及結構化編程思想。同時,以三菱編程軟件GX Works2和施耐德編程軟件SoMachine V4.3作為輔助工具,重點介紹了ST語言的跨平臺移植以及不同PLC之間ST語言的細微差別。
書中的實例均以西門子TIA Portal V16呈現(xiàn),移植到三菱和施耐德中請參考視頻講解及相關程序。每個實例均通過了仿真和上機驗證,且附贈程序源文件,方便讀者實踐。
本書內容豐富實用、講解循序漸進,非常適合PLC技術人員等學習使用,也可用作職業(yè)院校及培訓學校相關專業(yè)的教材及參考書。
第1章 ST語言基礎
1.1 IEC 61131標準和PLCopen組織 1
1.1.1 IEC 61131標準 1
1.1.2 PLCopen組織 2
1.2 ST語言的特點 3
1.2.1 良好的跨平臺移植性 3
1.2.2 方便的數(shù)學計算 3
1.2.3 輕松實現(xiàn)復雜算法 4
1.2.4 易于數(shù)據(jù)管理 4
1.3 ST語言的基本規(guī)則 5
1.3.1 標識符 5
1.3.2 空格和注釋 5
1.3.3 關鍵字 5
1.4 數(shù)據(jù)類型 6
1.4.1 基本數(shù)據(jù)類型 6
1.4.2 擴展數(shù)據(jù)類型 11
1.4.3 復雜數(shù)據(jù)類型 11
1.4.4 參數(shù)類型 13
1.4.5 數(shù)據(jù)類型的轉換 14
1.5 常數(shù) 16
1.5.1 數(shù)字常數(shù) 16
1.5.2 字符或字符串常數(shù) 17
1.5.3 時間常數(shù) 17
1.6 變量 18
1.6.1 從物理地址到變量 18
1.6.2 變量的屬性 18
1.6.3 變量的定義 19
1.6.4 變量的前綴 22
1.7 程序組織單元 22
1.7.1 軟件模型 22
1.7.2 函數(shù)和功能塊中的變量 23
1.7.3 函數(shù) 25
1.7.4 功能塊 26
1.7.5 函數(shù)和功能塊的區(qū)別 27
第2章 邏輯控制與IF語句
2.1 ST語言的編程軟件 28
2.1.1 西門子博途編程軟件 28
2.1.2 三菱GX Works2編程軟件 32
2.1.3 施耐德SoMachine編程軟件 33
2.2 賦值與邏輯運算 35
2.2.1 賦值運算和邏輯表達式 35
2.2.2 [實例1] 電動機的自鎖控制 37
2.2.3 [實例2] 點動與自鎖控制 43
2.2.4 [實例3] 字中取位 48
2.3 IF選擇語句 52
2.3.1 IF語句 52
2.3.2 [實例4] 使用IF語句實現(xiàn)自鎖控制 54
2.3.3 [實例5] 使用IF語句實現(xiàn)點動與自鎖控制 56
2.3.4 [實例6] 位組合成字 57
2.3.5 [實例7] 傳送帶傳送方向指示 61
2.4 邊沿觸發(fā) 64
2.4.1 邊沿觸發(fā)指令 64
2.4.2 [實例8] 電動機的正反轉控制 66
2.4.3 [實例9] 單按鈕啟?刂瞥绦 69
2.5 定時器 71
2.5.1 定時器指令 71
2.5.2 [實例10] 任意周期脈沖輸出 74
2.5.3 [實例11] 停機時風機對主電機延時冷卻 75
2.5.4 [實例12] 電動機的順序啟動控制 78
2.5.5 [實例13] 電動機的Y-△降壓啟動控制 83
2.6 計數(shù)器 88
2.6.1 計數(shù)器指令 88
2.6.2 [實例14] 單按鈕控制多臺電動機的啟停 90
2.6.3 [實例15] 停車場空閑車位指示 93
第3章 比較運算和移位運算
3.1 比較運算 96
3.1.1 比較運算符 96
3.1.2 [實例16] 傳送帶工件計數(shù) 96
3.1.3 [實例17] 密碼鎖 100
3.2 移位運算 104
3.2.1 移位運算函數(shù) 104
3.2.2 [實例18] 多臺電動機的順序啟動控制 107
3.2.3 [實例19] 霓虹燈的控制 110
第4章 程序控制
4.1 CASE選擇語句 114
4.1.1 CASE語句 114
4.1.2 [實例20] 溫度測量與指示 115
4.1.3 [實例21] 運料小車控制 118
4.1.4 [實例22] 交通信號燈的控制 123
4.1.5 [實例23] 工件搬運 129
4.2 FOR循環(huán)語句 134
4.2.1 FOR語句 134
4.2.2 [實例24] 使用FOR循環(huán)初始化數(shù)組 135
4.2.3 [實例25] 使用FOR循環(huán)實現(xiàn)字中取位 136
4.2.4 [實例26] 使用FOR循環(huán)實現(xiàn)位組合成字 138
4.3 WHILE循環(huán)語句 140
4.3.1 WHILE語句 140
4.3.2 [實例27] 使用WHILE循環(huán)初始化數(shù)組 140
4.3.3 [實例28] 10臺電動機的啟停控制 142
4.4 REPEAT循環(huán)語句 144
4.4.1 REPEAT語句 144
4.4.2 [實例29] 使用REPEAT循環(huán)初始化數(shù)組 145
4.4.3 [實例30] 使用REPEAT語句實現(xiàn)多臺電動機的啟停 146
4.5 其他語句 150
4.5.1 退出循環(huán)語句EXIT 150
4.5.2 中斷循環(huán)語句CONTINUE 150
4.5.3 RETURN語句 151
4.5.4 [實例31] 使用循環(huán)語句實現(xiàn)產(chǎn)品分類 152
第5章 數(shù)學運算
5.1 算術運算 157
5.1.1 算術運算指令 157
5.1.2 [實例32] 滑動平均值數(shù)字濾波 159
5.1.3 [實例33] 中值數(shù)字濾波 162
5.2 數(shù)學函數(shù)運算 164
5.2.1 數(shù)學函數(shù) 164
5.2.2 [實例34] 限幅數(shù)字濾波 168
5.2.3 [實例35] 機械臂的定位控制 171
第6章 綜合實例
6.1 運算的優(yōu)先級 178
6.1.1 優(yōu)先級 178
6.1.2 優(yōu)先級的應用 179
6.2 日期和時間的應用 180
6.2.1 [實例36] 帶故障檢測的電動機控制 180
6.2.2 [實例37] 計算設備運行時間 184
6.2.3 [實例38] 選取累積時間短的水泵運行 190
6.2.4 [實例39] 響鈴控制 196
6.3 數(shù)據(jù)統(tǒng)計 198
6.3.1 [實例40] 統(tǒng)計數(shù)組元素正負值的個數(shù) 198
6.3.2 [實例41] 統(tǒng)計數(shù)據(jù)塊中位為1的個數(shù) 200
6.3.3 [實例42] 使用Variant指針計算面積 205
6.3.4 [實例43] 使用可變長度數(shù)組計算最值 209
6.4 數(shù)據(jù)管理 218
6.4.1 [實例44] 配方管理 218
6.4.2 [實例45] 報警管理 224
6.5 運動控制與PID 229
6.5.1 [實例46] 伺服定位控制 229
6.5.2 [實例47] 溫度的PID控制 235
第7章 PLC的通信
7.1 網(wǎng)絡通信基礎 244
7.2 西門子PLC的通信 245
7.2.1 以太網(wǎng)通信 245
7.2.2 [實例48] 兩臺S7-1200PLC的以太網(wǎng)通信 247
7.2.3 [實例49] 兩臺S7-1200PLC基于以太網(wǎng)的S7通信 258
7.2.4 [實例50] 兩臺S7-1200PLC的Modbus TCP通信 265
7.3 三菱PLC的通信 277
7.3.1 [實例51] 兩臺FXCPU的N∶N鏈接通信 277
7.3.2 [實例52] 兩臺FXCPU的CC-Link通信 285
7.4 PLC與變頻器的通信 295
7.4.1 串行通信概述 295
7.4.2 [實例53] 西門子S7-1200PLC與變頻器的USS通信 296
7.4.3 [實例54] 三菱PLC與變頻器的通信 307
參考文獻 316