3dwoo大學簡體電腦書店
PLC結構化文本編程(第2版)
( 簡體 字)
作者:傅磊類別:1. -> 電子工程 -> PLC
出版社:清華大學出版社PLC結構化文本編程(第2版) 3dWoo書號: 56341
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:1/1/2024
頁數:396
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302644811 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章ST語言基本介紹
1.1ST語言簡介
1.1.1ST語言的誕生背景
1.1.2ST語言的基本特點
1.2ST語言與SCL以及STL的關系
1.3ST語言的特點
1.3.1良好的跨平臺移植性
1.3.2方便的數學計算
1.3.3輕松實現復雜算法
1.3.4輕松進階計算機高級語言
1.3.5方便的注釋
1.4初學者對ST語言的誤解
1.4.1與英語相關
1.4.2ST語言不易理解
1.4.3需要很深的PLC基礎
1.4.4工具和操作的繼承
1.4.5ST語言維護麻煩
1.5書中使用的ST語言開發環境
1.5.1施耐德SoMachine
1.5.2三菱GXWorks2與GXWorks3
1.5.3西門子TIAPortal
1.6其他PLC的ST語言開發環境
1.6.1臺達
1.6.2匯川
1.6.3英威騰
1.6.4禾川
1.6.5步科
1.6.6松下
1.6.7歐姆龍
1.6.8基恩士
1.6.9施耐德
1.6.10羅克韋爾


第2章ST語言基礎知識
2.1IEC61131標準與PLCopen組織
2.1.1標準的誕生背景
2.1.2標準的組成
2.1.3PLCopen組織
2.2進制
2.2.1二進制
2.2.2八進制
2.2.3十進制
2.2.4十六進制
2.3變量
2.3.1變量的意義
2.3.2變量屬性
2.4數據類型
2.4.1數據類型的意義
2.4.2標準數據類型
2.4.3擴展數據類型
2.4.4自定義數據類型
2.5數據類型轉換
2.5.1數據類型轉換的意義
2.5.2隱式轉換
2.5.3顯式轉換
2.6程序組織單元
2.6.1軟件模型
2.6.2初步認識功能和功能塊
2.6.3SoMachine中常用的功能塊和函數
第3章ST語言基本語法
3.1ST語言的基本規則
3.1.1不區分大小寫
3.1.2變量必須先定義再使用
3.1.3使用英文輸入法
3.2ST語言的基本組成
3.2.1行號
3.2.2注釋
3.2.3空語句
3.2.4語句部分
3.3賦值語句
3.3.1語句組成
3.3.2注意事項
3.4賦值與相等
3.5編寫技巧和方法
3.5.1縮進與對齊
3.5.2快捷鍵
3.5.3注釋
3.5.4空語句和注釋符號
3.5.5變量命名
第4章邏輯運算與IF語句
4.1BOOL型邏輯運算
4.1.1AND
4.1.2OR
4.1.3NOT
4.1.4XOR
4.2無符號數的邏輯運算
4.2.1運算方法
4.2.2BOOL型與WORD型的邏輯運算
4.3IF…END_IF語句
4.3.1執行流程
4.3.2IF…END_IF語句的應用
4.4IF…ELSE…END_IF語句
4.5綜合應用
4.5.1“啟保停”的ST語言實現
4.5.2IF語句與邏輯運算語句
4.5.3置位與復位
4.5.4復雜梯形圖
4.5.5基本電機控制
4.5.6互鎖控制
4.5.7變頻器多段速控制
4.5.8多軸狀態判斷
4.6西門子博途中的邏輯運算
4.7使用IF語句的注意事項
第5章邊沿觸發
5.1基本概念
5.1.1上升沿
5.1.2下降沿
5.1.3西門子博途中的邊沿觸發
5.2邊沿觸發與邏輯運算的綜合應用
5.2.1啟動保持停止
5.2.2單按鈕啟停
5.2.3邏輯運算實現邊沿觸發
5.3注意事項
第6章比較運算
6.1比較運算符
6.1.1梯形圖中的比較運算
6.1.2比較運算的注意事項
6.2各數據類型的比較運算
6.2.1BOOL型
6.2.2數值型
6.2.3時間型
6.2.4字符串型
6.3連續比較運算
6.4比較運算與邊沿觸發的綜合應用
6.4.1監控變量值的變化
6.4.2密碼鎖
第7章數學運算
7.1加、減、乘、除運算
7.1.1加法運算
7.1.2減法運算
7.1.3乘法運算
7.1.4除法運算
7.1.5取余運算
7.2加、減、乘、除運算的應用
7.2.1計算設備的持續運行時間
7.2.2伺服計算
7.2.3生成隨機數
7.2.4模擬量計算
7.2.5設備車速計算
7.2.6碼垛與拆垛
7.2.7配方計算
7.2.8高低字節交換
7.2.9字節組合成字
7.3函數運算
7.3.1乘方
7.3.2絕對值
7.3.3三角函數
7.3.4對數
7.3.5平方根
7.4如何調用函數
第8章運算優先級
8.1優先級的意義
8.2優先級的應用
8.2.1不能進行連續比較運算
8.2.2啟保停程序中的括號
第9章IF語句的嵌套
9.1嵌套的執行流程
9.2嵌套的應用
9.2.1伺服電機的控制
9.2.2密碼鎖
9.3嵌套的注意事項
9.4IF…ELSIF…END_IF語句
9.4.1執行流程
9.4.2IF…ELSIF…END_IF語句的應用
第10章定時器與計數器
10.1定時器
10.1.1定時器的調用
10.1.2應用定時器的注意事項
10.2計數器
10.3定時器和計數器的應用
10.3.1累積定時器
10.3.2星形三角形啟動
10.3.3第三方設備寫入定時器定時時間
10.4如何調用功能塊
10.5西門子博途中的定時器調用
10.5.1調用方法
10.5.2如何減少背景數據塊
10.6三菱GXWorks3中的函數和功能塊調用
10.6.1函數調用
10.6.2功能塊調用
第11章功能塊和函數
11.1功能塊和函數的意義
11.2功能塊與函數中的變量
11.2.1形參和實參
11.2.2變量屬性
11.2.3如何區分功能塊和函數
11.3函數的實質
11.3.1靜態變量與臨時變量
11.3.2自定義函數的使用
11.4CODESYS中常用系統函數介紹
11.4.1字符串處理函數
11.4.2數據類型轉換函數
11.5功能塊的實質
11.5.1實例名的意義
11.5.2功能塊的特征
11.5.3如何減少功能塊的調用
11.6功能塊和函數在編程中的應用
第12章循環語句
12.1循環的實質
12.2FOR循環語句
12.2.1FOR循環執行流程
12.2.2使用FOR循環的注意事項
12.3FOR循環的應用
12.3.1FOR循環實現多個電機的啟停控制
12.3.2PLC的I/O點放入數組
12.3.3位組合成字
12.3.4伺服一鍵使能
12.3.5冒泡排序
12.3.6指針與數組
12.3.7指針實現冒泡排序
12.3.8批量傳送數據
12.3.9三菱PLC變址尋址
12.3.10配方處理
12.3.11模擬量濾波
12.4WHILE循環語句
12.4.1WHILE循環執行流程
12.4.2使用WHILE循環的注意事項
12.5REPEAT循環語句
12.5.1REPEAT循環執行流程
12.5.2使用REPEAT循環的注意事項
12.6循環語句的控制
12.6.1EXIT
12.6.2CONTINUE
12.7循環語句的注意事項
第13章CASE語句
13.1CASE語句的執行流程
13.2CASE語句的意義
13.3CASE語句的應用
13.3.1周期脈沖輸出
13.3.2星形三角形啟動
13.3.3紅綠燈控制
13.3.4桁架機械手
13.3.5工藝的暫停處理
13.3.6簡化復雜的IF語句
13.3.7狀態機編程法
13.3.8伺服回零
13.3.9步進抱閘控制
13.3.10MODBUS輪詢
13.3.11立庫
13.4CASE語句與定時器
參考文獻
附錄APLC程序設計方法
附錄B淺談非標設備的PLC程序設計
附錄C關于PLC編程框架和標準化
附錄DPLC程序移植
附錄E淺談ST語言的學習方法
本書從電氣從業人員熟悉的梯形圖入手,逐步引申,詳細介紹了基于IEC61131-3標準的可編程控制
器(PLC)如何從使用梯形圖編程過渡到使用結構化文本(ST)語言編程。
本書講解由淺入深,以施耐德電氣基于 CODESYS的編程軟件 SoMachineV4.3為主要工具,介紹如
何通過ST語言實現梯形圖最基本的功能,以及 ST 語言的基本運算、基本語句、函數與功能塊的調用,并
結合大量實例,詳細闡述 PLC基于ST語言的編程技術以及結構化編程思想。同時,本書以西門子博途和
三菱 GX Works3為輔助工具,重點介紹ST語言跨平臺移植時的注意事項,以及不同 PLC之間ST語言的
細微差別。PLC編程是一項系統工程,僅僅介紹編程語言是不夠的,因此本書還會穿插介紹一些與 ST 語
言編程有關的 PLC系統知識。ST語言具有與平臺無關的天然屬性。因此,只要符合IEC61131-3標準,
無論什么品牌的 PLC,本書都適用,例如西門子、施耐德、倍福、三菱、歐姆龍、基恩士、匯川、和利時、倫茨以
及 ABB和 KEBA 等,不同品牌的 PLC之間僅有細微的差別。
本書適合沒有計算機基礎,特別是沒有計算機高級語言基礎的電氣從業人員,幫助他們從熟悉的梯形
圖開始入門并進階到ST語言編程。
本書第1版自出版以來,筆者收到了很多熱心讀者的來信和反饋,對書的內容提出了很多合理化和可行性建議,再加上PLC技術也在不斷迭代更新,筆者便針對性地對第1版的內容進行了增加和修改,并更正了部分錯誤。

隨著工業4.0時代的到來和智能制造的發展,ST語言的應用也越來越廣泛。很多讀者想快速學會ST語言以解決實際問題,但困難重重,總有條無法逾越的鴻溝橫亙在面前。就筆者的個人經驗以及讀者的反饋來看,困難無非集中在以下幾點: 第一,PLC基礎不過關; 第二,對PLC的應用目的不清楚; 第三,對ST語言仍然有誤解; 第四,不肯動手練習; 第五,不結合機械設備理解程序。針對以上問題,第2版增加了常見PLC如何新建ST語言開發環境的內容。由于PLC品牌眾多,但讀者對ST語言與PLC品牌無關的概念有點模糊,希望讀者能明確一個理念: 學習ST語言,是學習它的語法和語句,以及它的編程理念,結合PLC的各種功能,比如任務和功能塊、總線控制、寄存器尋址等功能,應用于工程實踐,而不是糾結不同PLC品牌的差異、糾結各種指令的用法。PLC是工業控制器,面向的是工業應用,但很多學習ST語言的實例,跟工業控制應用相差甚遠,特別是循環語句部分,第2版著重增加了一些工業現場的實例,并增加了對PLC基礎的講解和程序的實現方法講解。

編程語言只是工具,就好比廚師手中的刀,如果廚師對烹飪技術一竅不通,再好的刀也做不出可口的佳肴。正所謂“君子生非異也,善假于物也”。如果廚師烹飪技術一流,沒有稱手的刀,做出的菜肴想必達不到色、香、味俱佳的層次,正所謂“巧婦難為無米之炊”。有了稱手的工具,還要有扎實的基礎才能使用好工具。所以要想學好ST語言,光學習ST語言的語法和語句是不行的,還需要扎實地掌握PLC基礎知識。

最后希望讀者能明白,本書的實例雖然脫胎于工業現場,但目的并不僅僅是讓讀者學會這些實例,最重要的是希望讀者能夠通過反復練習,結合書中的實例,加深對ST語言的理解,并能融會貫通、舉一反三,掌握ST語言的本質,正所謂“熟讀唐詩三百首,不會吟詩也會吟”,最終達到“目無全牛”“游刃有余”的境界。

由于筆者水平有限,書中疏漏之處在所難免,敬請讀者批評指正。


傅磊2023年12月

前言
隨著生產力的發展和科學技術的進步,機器設備控制技術越來越復雜。非標準設備
層出不窮,邏輯控制與運動控制的融合越來越密切,工藝計算也越來越復雜。
從事設計調試的一線工程技術人員都有這樣的感受,使用傳統的梯形圖(Ladder Diagram,LD)編程感覺越來越力不從心,特別是
面對復雜任務的時候。結構化文本(Structured Text,ST)語言的出現,大大簡化了程序的編寫難度,提高了工作效率,使工程技術人員能夠輕松面對各種復雜的控制任務。過去,ST語言更像是奢侈品,支持ST語言的可編程控制器(Programmable Logic Controller,PLC)非常少,而且這些PLC一般是中、高檔系列的,價格較貴。近幾年,支持ST語言的PLC越來越多,很多品牌的高、中、低檔PLC都支持ST語言,例如三菱最基礎的FX1S系列PLC,也可以使用ST語言編程。


市面上的多數PLC教材,都以介紹梯形圖為主,各大院校也仍在沿用這類教材,
書中即使有涉及ST語言的內容,也是一帶而過,讓初學者更加糊涂。
各大PLC廠商的幫助文檔和編程手冊中有對ST語言的講解,
但是不系統,只有簡單的講解,沒有詳細的用法說明,其中的例子
也與工業控制的關系不大,很難讓初學者理解和掌握,
甚至難以入門。很多電氣從業人員
不了解ST語言,甚至將其與西門子PLC的語句表(Statement List,STL)
以及指令表(Instruction List,IL)混為一談。
在很多場合,ST語言僅僅被用于配合梯形圖進行數學運算,這違背了設計ST語言的初衷。人們對ST語言的各種誤解,再加上使用ST語言的電氣從業人員比較少,嚴重影響了ST語言的推廣和使用,使初學者更加畏懼ST語言。


因此,從工程技術實踐出發,編寫一本適合電氣從業人員學習ST語言的教程,非常必要。


本書是筆者根據多年工作經驗及學習ST語言的具體體會編寫而成的。大多數電氣從業人員都是以梯形圖為基礎接觸PLC編程
的,并且除了理工科專業的畢業生之外,電氣從業人員幾乎沒有接觸計算機高級語言的經歷。
因此,本書將以最基本的梯形圖為切入點,介紹如何用ST語言代替梯形圖,逐步深入,
帶領讀者進入ST語言的世界,即使不會計算機高級語言的電氣從業人員也能輕松入門。

筆者水平有限,書中難免有不符合邏輯的地方,歡迎讀者批評指正。

傅磊
pagetop