《PLC編程實用指南(第3版)》圍繞PLC用于順序控制、脈沖量控制、模擬量控制、通信及數(shù)據(jù)處理五大主題,對歐姆龍、西門子、三菱及部分和利時(含ABB)、AB、施耐德、GE PLC的資源及其功能做了分析,并以這五大主題的應(yīng)用程序設(shè)計為實例,系統(tǒng)介紹了PLC應(yīng)用程序設(shè)計的理論、算法及技巧,具有理論的完整性和實際的可操作性。本書內(nèi)容完整、概念清晰、算法實用、獨創(chuàng)求新、涉及面廣、信息量大,是PLC編程的實用指南。它可幫助您盡快步入PLC編程殿堂,進而成為精通多品牌PLC編程技術(shù)的高手。
本書于2006 年1 月發(fā)行了第1 版, 再版于2013 年。其所介紹的PLC 編程指南是作者近30 年來工程實踐及PLC 應(yīng)用研究的總結(jié)。有的算法, 如順序控制中的工程設(shè)計法、異步時序邏輯正常工作原則及設(shè)計方法、PLC 時序邏輯同步化設(shè)計、運動控制目標追蹤法等, 則是作者在有關(guān)學術(shù)論文、出版其它專著及本書時提出的。本書不像其它大多數(shù)PLC 專著那樣只是單純地介紹某個品牌PLC 的應(yīng)用, 而是圍繞PLC 用于順序控制、脈沖量控制、模擬量控制、通信及數(shù)據(jù)處理五大主題, 以應(yīng)用程序設(shè)計為實例, 詳細地介紹了PLC 編程理論、算法及技巧, 具有完整的理論性和實際的可操作性。以PLC 應(yīng)用程序設(shè)計為主題的另一個好處是, 不會因PLC 機型的更迭而需要改變。盡管PLC 日新月異, 但本書始終會是您使用PLC 的好幫手。十多年來, 令作者欣慰的是這些編程理論、算法及技巧多數(shù)都得到廣大讀者的肯定, 在互聯(lián)網(wǎng)上也深受好評, 有的還在相關(guān)著作中予以引用。
本書此次再版只是對舊版的修訂, 原有的風格、特點, 以及得到讀者肯定的優(yōu)點還保留著。當初為了推廣PLC 的使用, 總想盡可能多地介紹一些PLC 的基礎(chǔ)及相關(guān)知識。為此,作者結(jié)合工程實踐經(jīng)驗的積累及PLC 應(yīng)用研究的深入, 曾先后出版了10 本相關(guān)專著, 其篇幅大體上是一本比一本“厚”, 本書第2 版算是最厚的一本。如今PLC 應(yīng)用已很廣泛, 有關(guān)專著已到了應(yīng)該縮減篇幅、提煉精華、從“厚” 變“薄” 的時候了。所以此次本書改版主要是針對之前第2 版篇幅較大、不夠精煉的不足, 在加強針對性、少而精上下了較多功夫。
擺在讀者面前的第3 版與前兩版相比有如下幾點變動:
1. 刪減了不必要的基礎(chǔ)、硬件及資料性知識; 刪減了不常用及重復(fù)的內(nèi)容; 突出了PLC 編程思想, 即編程理論、算法及技巧的探討;
2. 調(diào)整了章節(jié)結(jié)構(gòu), 使本書的主題更加鮮明, 系統(tǒng)性也有所增強;
3. 對標準化編程知識及對未來發(fā)展做了簡要說明, 并繼續(xù)保留有關(guān)編程新算法討論;
4. 精簡文字, 力爭精益求精。同時, 還對個別文字及例圖錯誤做了改正, 彌補了當時的遺憾。
最后, 我在第2 版前言中講的: “一本專著, 與其它事物成長一樣, 也要有個過程”。
正所謂眾人拾柴火焰高, 有那么多熱心讀者的熱情呵護和具體幫助, 加上我自己的努力, 相信會縮短這個成長過程, 會讓讀者更加滿意! 然而, 盡管我的決心再大, 但個人能力、水平、精力有限, 所以, 也還可能留下遺憾, 在此還懇望讀者一如既往, 不吝賜教!宋伯生
前言
緒論1
0.1PLC原理1
0.2PLC類型4
0.3PLC性能6
0.4PLC應(yīng)用8
0.5PLC使用9
第1章PLC編程技術(shù)基礎(chǔ)16
1.1PLC程序概念16
1.1.1PLC 指令16
1.1.2PLC 功能(Function)17
1.1.3PLC 功能塊(Function block)17
1.1.4PLC 程序塊(POU)18
1.1.5PLC 任務(wù)(Task)18
1.1.6PLC工程(Project)19
1.2PLC程序語言19
1.2.1指令表(Instruction List,IL)20
1.2.2結(jié)構(gòu)化文本語言(Structured Text,ST)20
1.2.3梯形圖(Ladder Diagram,LD)22
1.2.4功能塊圖(Function Block Diagram,F(xiàn)BD)23
1.2.5連續(xù)功能圖(Continuous Function Chart,CFC)24
1.2.6順序功能圖(Sequential Function Chart ,SFC)24
1.3PLC程序數(shù)據(jù)25
1.3.1地址26
1.3.2變量34
1.3.3常量36
1.3.4其它變量36
1.4PLC指令系統(tǒng)36
1.4.1基本邏輯類指令36
1.4.2定時、計數(shù)指令43
1.4.3應(yīng)用指令49
1.4.4功能、功能塊65
1.5PLC編程軟件66
1.5.1概述66
1.5.2組成69
1.5.3使用73
1.6PLC程序?qū)嵗?8
1.6.1控制輸出程序79
1.6.2單按鈕起停程序80
1.6.3求公因數(shù)程序84
結(jié)語86
第2章PLC順序控制程序設(shè)計88
2.1PLC順序控制概述88
2.1.1順序控制類型88
2.1.2順序控制編程方法90
2.2組合邏輯編程92
2.2.1組合邏輯表達式與真值表92
2.2.2組合邏輯分析93
2.2.3組合邏輯綜合93
2.2.4組合邏輯綜合實例94
2.3異步時序邏輯編程96
2.3.1異步時序邏輯表達式與通電表96
2.3.2異步時序邏輯分析98
2.3.3異步時序邏輯綜合99
2.3.4異步時序邏輯綜合舉例103
2.4同步時序邏輯編程110
2.4.1異步時序邏輯同步化110
2.4.2同步時序邏輯表達式與狀態(tài)圖111
2.4.3同步時序邏輯分析112
2.4.4同步時序邏輯綜合113
2.4.5同步時序邏輯綜合實例114
2.5標志值法編程123
2.5.1基本思路123
2.5.2實現(xiàn)方法123
2.5.3實際應(yīng)用123
2.6高級指令編程128
2.6.1用字邏輯指令處理128
2.6.2用子程序處理132
2.6.3用宏處理135
2.6.4用功能塊處理137
2.7圖解法編程139
2.7.1時序圖法編程139
2.7.2流程圖法編程141
2.7.3Petri網(wǎng)法編程145
2.8工程方法編程152
2.8.1分散控制及其應(yīng)用152
2.8.2集中控制及其應(yīng)用155
2.8.3混合控制及其應(yīng)用161
2.8.4工程方法編程再思考172
2.9線性鏈表控制編程173
2.9.1簡單線性鏈表程序?qū)崿F(xiàn)及實例173
2.9.2分支線性鏈表算法要點及程序?qū)崿F(xiàn)180
結(jié)語190
第3章脈沖量控制程序設(shè)計191
3.1脈沖量控制概述191
3.1.1脈沖量控制的目的191
3.1.2脈沖量控制的特點192
3.2脈沖量控制硬件基礎(chǔ)193
3.2.1脈沖信號采集193
3.2.2脈沖信號輸出204
3.3高速計數(shù)比較控制編程211
3.3.1內(nèi)置高速計數(shù)器比較控制211
3.3.2高速計數(shù)模塊比較控制216
3.4脈沖量開環(huán)控制編程220
3.4.1獨立運動控制220
3.4.2兩軸協(xié)調(diào)運動控制225
3.4.3多軸協(xié)調(diào)運動控制247
3.4.4運動控制細節(jié)處理248
3.5同步運動控制編程249
3.5.1同步開環(huán)控制249
3.5.2跟隨同步控制251
3.6硬件模塊實現(xiàn)運動控制252
3.6.1用位置控制、運動控制模塊實現(xiàn)252
3.6.2用運動控制CPU實現(xiàn)運動控制253
3.6.3專用于運動控制的PLC網(wǎng)絡(luò)254
結(jié)語255
第4章模擬量控制程序設(shè)計256
4.1模擬量控制概述256
4.1.1PLC模擬量控制過程256
4.1.2PLC模擬量控制目的257
4.1.3PLC模擬量控制類型258
4.1.4PLC模擬量控制特點261
4.1.5PLC模擬量控制要求及性能指標262
4.2PLC模擬量輸入及輸出263
4.2.1模擬量輸入263
4.2.2模擬量輸出264
4.2.3模擬量模塊訪問與數(shù)據(jù)處理266
4.3模擬量開環(huán)控制268
4.3.1程序控制268
4.3.2比例控制270
4.3.3補償控制271
4.4模擬量簡單閉環(huán)控制273
4.4.1ON/OFF閉環(huán)控制273
4.4.2負反饋控制275
4.5模擬量PID控制276
4.5.1PID控制算法276
4.5.2PID控制輸出及參數(shù)278
4.5.3PID控制算法程序?qū)崿F(xiàn)279
4.5.4PID控制改進算法281
4.5.5PID控制參數(shù)整定283
4.6用PID指令實現(xiàn)PID控制284
4.6.1PLC PID指令284
4.6.2PLC PID 指令應(yīng)用實例287
4.7用PLC PID功能塊(FB)實現(xiàn)PID控制291
4.7.1西門子 PLC PID功能塊(FB)291
4.7.2PID功能塊(FB)應(yīng)用294
4.8PID控制高級應(yīng)用及其改進算法295
4.8.1串級PID控制295
4.8.2串級雙輔助回路PID比例控制296
4.8.3串級比例并交叉限幅雙輔回路PID控制297
4.8.4前饋與PID混合控制297
4.9模擬量模糊控制程序設(shè)計298
4.9.1模糊控制原理298
4.9.2模糊控制算法301
4.9.3模糊算法實現(xiàn)304
4.10模擬量控制其它高級算法311
4.10.1最優(yōu)控制311
4.10.2適應(yīng)控制314
4.10.3預(yù)測控制316
4.10.4學習控制318
4.10.5專家控制320
4.11模擬量硬件模塊控制326
4.11.1專用控制模塊326
4.11.2回路控制模塊327
4.11.3過程控制CPU 329
結(jié)語330
第5章PLC通信程序設(shè)計331
5.1概述331
5.1.1PLC連網(wǎng)通信目的331
5.1.2PLC連網(wǎng)通信平臺333
5.1.3PLC連網(wǎng)通信方法344
5.1.4PLC通信程序特點352
5.2PLC與PLC通信程序設(shè)計354
5.2.1 PLC與PLC地址映射通信程序設(shè)計354
5.2.2PLC與PLC地址鏈接通信程序設(shè)計357
5.2.3 PLC與PLC 用串口指令通信程序設(shè)計372
5.2.4 PLC與PLC串口協(xié)議通信編程382
5.2.5 PLC與PLC網(wǎng)絡(luò)指令通信程序設(shè)計384
5.3PLC與計算機串口通信編程394
5.3.1計算機方程序設(shè)計要點395
5.3.2計算機用微軟控件通信編程397
5.3.3計算機用微軟應(yīng)用程序接口通信編程416
5.3.4計算機用PLC廠商通信控件編程424
5.3.5計算機用PLC廠商通信函數(shù)編程427
5.3.6計算機用OPC編程427
5.3.7計算機與PLC用公網(wǎng)平臺通信編程437
5.3.8PLC方程序設(shè)計438
5.4PLC與計算機以太網(wǎng)通信編程440
5.4.1計算機用Winsock Api函數(shù)通信編程441
5.4.2計算機用Winsock控件通信編程441
5.4.3互聯(lián)網(wǎng)通信編程445
5.4.4PLC方程序設(shè)計447
5.5PLC與計算機組態(tài)軟件通信編程450
5.5.1組態(tài)軟件概念450
5.5.2組態(tài)軟件簡介451
5.5.3組態(tài)軟件編程457
5.6PLC與人機界面通信程序設(shè)計464
5.6.1常用的人機界面464
5.6.2人機界面方程序設(shè)計467
5.6.3PLC方程序設(shè)計469
5.7PLC與智能裝置通信程序設(shè)計469
5.7.1用通信指令通信469
5.7.2用從站地址通信471
結(jié)語471
第6章PLC數(shù)據(jù)處理程序設(shè)計472
6.1數(shù)據(jù)終端是PLC的新角色472
6.1.1專職數(shù)據(jù)終端實例472
6.1.2兼職數(shù)據(jù)終端實例473
6.2數(shù)據(jù)采集程序設(shè)計474
6.2.1開關(guān)量采集475
6.2.2模擬量采集476
6.2.3脈沖量采集481
6.2.4脈沖選通采集484
6.3數(shù)據(jù)錄入程序設(shè)計486
6.3.1錄入數(shù)據(jù)設(shè)備486
6.3.2用通用指令錄入486
6.3.3用模擬方法錄入490
6.3.4用特殊指令錄入492
6.3.5用編碼鍵盤錄入492
6.4數(shù)據(jù)存儲程序設(shè)計494
6.4.1記錄存儲494
6.4.2壓縮存儲500
6.4.3安全存儲501
6.5數(shù)據(jù)顯示程序設(shè)計502
6.5.1數(shù)據(jù)數(shù)碼管顯示502
6.5.2數(shù)據(jù)動態(tài)顯示503
6.5.3數(shù)據(jù)脈沖選通顯示506
6.5.4高檔數(shù)據(jù)顯示設(shè)施507
6.6PLC數(shù)據(jù)傳送程序設(shè)計509
6.7數(shù)表處理程序設(shè)計509
6.7.1排序510
6.7.2求總數(shù)513
6.7.3求平均數(shù)515
第7章PLC控制可靠性程序設(shè)計516
7.1PLC控制可靠性概述516
7.1.1PLC控制可靠性概念516
7.1.2PLC控制可靠性類型517
7.2PLC自身工作可靠性518
7.2.1PLC錯誤(故障)類型518
7.2.2系統(tǒng)錯誤記錄518
7.2.3PLC故障及其排除519
7.3PLC輸入程序可靠性519
7.4PLC輸出程序可靠性524
7.5PLC通信程序可靠性526
7.6PLC異常處理程序527
結(jié)語531
第8章PLC程序組織532
8.1PLC程序組織概述532
8.1.1PLC程序組織步驟532
8.1.2PLC程序組織簡例535
8.2程序模塊化組織536
8.2.1程序模塊化組織概念536
8.2.2使用子程序法模塊化537
8.2.3使用跳轉(zhuǎn)指令模塊化537
8.2.4使用步進指令模塊化537
8.2.5用SFC語言編程537
8.2.6用程序塊、功能塊及函數(shù)編程538
8.3多PLC、多任務(wù)(程序、模塊)程序組織538
8.3.1歐姆龍 PLC多任務(wù)組織538
8.3.2S7300、400機多模塊組織541
8.3.3三菱PLC多程序組織543
8.3.4多CPU系統(tǒng)程序組織544
8.4PLC程序柔性化547
8.4.1程序使用柔性547
8.4.2地址分配柔性548
8.4.3參數(shù)設(shè)定柔性548
8.4.4動作選擇柔性551
8.4.5信號反饋柔性551
8.5PLC程序調(diào)試551
8.5.1PLC程序調(diào)試概述551
8.5.2PLC程序仿真調(diào)試552
8.5.3PLC工作模式及其改變552
8.5.4PLC程序聯(lián)機調(diào)試554
8.5.5PLC程序現(xiàn)場調(diào)試554
8.5.6PLC程序文檔555
結(jié)語555
附錄PLC與計算機通信協(xié)議556
附錄A歐姆龍HostLink協(xié)議556
附錄B歐姆龍FINS協(xié)議561
附錄CS200 PPI通信協(xié)議565
附錄D三菱PLC編程口通信協(xié)議568
附錄EModbus串口通信協(xié)議572
附錄FModbus TCP協(xié)議577
參考文獻578