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