定 價(jià):99 元
叢書名:工業(yè)自動(dòng)化與智能化叢書
- 作者:白海潮編著
- 出版時(shí)間:2023/7/1
- ISBN:9787111729778
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TM571.61
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書主要講解PLC的通信原理,并著重于實(shí)踐:首先講解基礎(chǔ)通信理論,其次介紹PLC通信協(xié)議,然后使用C#作為開發(fā)工具,根據(jù)通信協(xié)議來開發(fā)對應(yīng)的實(shí)例,實(shí)現(xiàn)計(jì)算機(jī)與PLC的通信,并且給出了實(shí)例代碼和相關(guān)界面。這種理論聯(lián)系實(shí)際的方式可以使讀者在了解PLC通信協(xié)議的同時(shí),了解串口和Socket編程,從而更加深刻地理解PLC的通信原理和實(shí)際應(yīng)用。
該書基于通信理論,詳述PLC通信協(xié)議,涵蓋大量實(shí)踐,對從事PLC及通信協(xié)議讀者具有很高的參考價(jià)值。
前言
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,德國在2013年提出了工業(yè)4.0的概念,這也是未來制造業(yè)發(fā)展的主要方向。工業(yè)4.0包含多種技術(shù)和通信系統(tǒng),各個(gè)系統(tǒng)之間需要非常精密的通信才能實(shí)現(xiàn)工廠的智能制造,這些通信系統(tǒng)也正是工業(yè)4.0的核心。通信系統(tǒng)負(fù)責(zé)消除各個(gè)系統(tǒng)、各個(gè)設(shè)備之間的壁壘,使系統(tǒng)與系統(tǒng)之間能夠準(zhǔn)確且無障礙地交流。這些通信系統(tǒng)使用了各種工業(yè)通信技術(shù),例如現(xiàn)場總線、工業(yè)以太網(wǎng)、WiFi等。工業(yè)通信系統(tǒng)的主要目的是使工廠的設(shè)備、傳感器和控制層的數(shù)據(jù)域與企業(yè)信息系統(tǒng)相融合,使得生產(chǎn)大數(shù)據(jù)傳到云計(jì)算數(shù)據(jù)中心進(jìn)行存儲(chǔ)、分析,并形成決策,再反過來指導(dǎo)生產(chǎn)。
通信協(xié)議的表述,以及工廠大量的制造設(shè)備和生產(chǎn)線流程是通過PLC來控制的,那么工廠控制層的大數(shù)據(jù)系統(tǒng)就需要從生產(chǎn)線設(shè)備的控制核心PLC來采集數(shù)據(jù),從而知道生產(chǎn)線上產(chǎn)品的制造信息和設(shè)備的狀態(tài)信息。但是,現(xiàn)階段每個(gè)工廠的生產(chǎn)線眾多,造成了制造設(shè)備多種多樣,進(jìn)而制造設(shè)備的核心PLC也是各種品牌、各種型號(hào)林立,這就造成工廠控制層與設(shè)備層的通信變得復(fù)雜且多樣。工廠控制層的數(shù)據(jù)采集系統(tǒng)大部分使用的是高級(jí)語言(例如C#、VB等),現(xiàn)在計(jì)算機(jī)高級(jí)語言與PLC通信時(shí)大部分使用歐姆龍、羅克韋爾(AB)、西門子、倍福(Beckhoff)等各大PLC廠商提供的中間軟件作為OPC Server,或者使用官方提供的動(dòng)態(tài)鏈接庫。如果使用OPC Server或者動(dòng)態(tài)鏈接庫,那么有兩個(gè)劣勢:一是中間軟件價(jià)格昂貴,二是通信速度慢。歐姆龍、AB、西門子、倍福等各大PLC廠商除了提供中間軟件和動(dòng)態(tài)鏈接庫外,還提供官方支持的通信協(xié)議,計(jì)算機(jī)通過官方指定的協(xié)議可以直接與PLC進(jìn)行通信,使通信更加簡單、快捷、經(jīng)濟(jì)。
本書講解歐姆龍、西門子、AB、倍福等PLC廠商官方公開的協(xié)議。歐姆龍部分主要講解Hostlink協(xié)議,以及無協(xié)議、Socket通信服務(wù)等。Hostlink協(xié)議包括C-Mode和FINS兩種命令格式。C-Mode相對簡單,但是只能訪問通道級(jí)別的數(shù)據(jù),無法直接訪問I/O點(diǎn)的數(shù)據(jù)。FINS與C-Mode相比稍復(fù)雜,但是可以直接訪問I/O點(diǎn)的數(shù)據(jù)。無協(xié)議和Socket的通信內(nèi)容沒有固定的協(xié)議,可以自己編寫,弊端是PLC端需要編寫通信程序。AB部分主要講解DF1、CIP、EtherNet/IP等協(xié)議。DF1協(xié)議在串口的全雙工和半雙工下有所區(qū)別,本書著重講解全雙工的DF1協(xié)議。CIP(Common Industrial Protocol,通用工業(yè)化協(xié)議)是國際性組織ODVA推出的一種通用工業(yè)協(xié)議。ODVA已經(jīng)有350多個(gè)成員,所有成員都支持CIP。EtherNet/IP是ODVA和CI兩大組織共同推出的基于標(biāo)準(zhǔn)以太網(wǎng)技術(shù)(IEEE 802.3與TCP/IP Socket相結(jié)合)的工業(yè)網(wǎng)絡(luò)技術(shù),使用標(biāo)準(zhǔn)以太網(wǎng)和TCP/IP技術(shù)來傳輸CIP通信數(shù)據(jù)包。CIP和EtherNet/IP這兩個(gè)協(xié)議也是本書的一個(gè)難點(diǎn)。西門子部分主要講解自由口通信、Modbus、開放式以太網(wǎng)通信等協(xié)議,這三種通信協(xié)議都需要在PLC端編程。倍福部分主要講解ADS通信和TCP/IP通信。ADS通信是倍福官方推薦的通信方式,但是需要使用倍福官方的動(dòng)態(tài)鏈接庫。TCP/IP不需要?jiǎng)討B(tài)鏈接庫,但是需要在PLC端編程。讀者在掌握這幾種PLC通信協(xié)議后再開發(fā)計(jì)算機(jī)數(shù)據(jù)采集程序,就可以直接使用官方給出的協(xié)議與PLC進(jìn)行通信。
本書從應(yīng)用者的角度,以最有代表性的4種PLC作為實(shí)例,先把協(xié)議講清楚,再把協(xié)議帶到C#編程實(shí)例里來實(shí)現(xiàn),然后把代碼也寫出來并做一定注解,讓讀者既理解了通信協(xié)議和通信方法,又學(xué)會(huì)了如何使用這些協(xié)議進(jìn)行編程。
限于編者水平,書中難免有欠妥、疏漏和錯(cuò)誤之處,懇請讀者指正。
目錄
前言
第1章 串口通信基礎(chǔ) 1
1.1 串口通信的原理 1
1.1.1 數(shù)據(jù)通信的基本原理 2
1.1.2 數(shù)據(jù)傳輸?shù)姆诸悺 ?
1.2 接口標(biāo)準(zhǔn) 5
1.3 PLC串口通信應(yīng)用 7
第2章 歐姆龍PLC串口通信 10
2.1 歐姆龍PLC串口通信概述 10
2.1.1 歐姆龍PLC通信協(xié)議 10
2.1.2 計(jì)算機(jī)與PLC的連接方式 11
2.1.3 PLC通信參數(shù)設(shè)置 12
2.2 歐姆龍Hostlink通信協(xié)議 14
2.2.1 Hostlink協(xié)議介紹 14
2.2.2 Hostlink協(xié)議C-Mode編程舉例 22
2.2.3 Hostlink發(fā)送FINS命令 26
2.2.4 Hostlink協(xié)議FINS編程舉例 28
2.3 歐姆龍PLC無協(xié)議通信 34
2.3.1 無協(xié)議通信的基本步驟 34
2.3.2 計(jì)算機(jī)通過無協(xié)議與PLC通信舉例 37
第3章 AB PLC串口通信 40
3.1 網(wǎng)絡(luò)層的概念 40
3.1.1 DF1相關(guān)層介紹 41
3.1.2 DF1協(xié)議描述 43
3.1.3 DF1消息幀結(jié)構(gòu) 49
3.1.4 應(yīng)用層數(shù)據(jù)包 51
3.2 模塊診斷 61
3.2.1 診斷計(jì)數(shù)器 61
3.2.2 消息包狀態(tài)碼 62
3.3 大型Control Logix系列PLC的DF1通信 63
3.4 DF1協(xié)議編程舉例 65
3.4.1 計(jì)算機(jī)與Micro Logix1100通信舉例 66
3.4.2 計(jì)算機(jī)與Logix5000通信舉例 68
3.4.3 計(jì)算機(jī)軟件的C#源代碼 72
第4章 西門子PLC串口通信 73
4.1 自由口通信 73
4.1.1 自由口概述 74
4.1.2 自由口的工作原理 75
4.1.3 計(jì)算機(jī)通過自由口與PLC通信舉例 83
4.2 PLC的Modbus通信協(xié)議 87
4.2.1 串行Modbus協(xié)議介紹 87
4.2.2 串行Modbus協(xié)議PLC指令庫介紹 91
4.2.3 計(jì)算機(jī)通過Modbus RTU協(xié)議與PLC通信舉例 97
第5章 歐姆龍PLC以太網(wǎng)通信 100
5.1 FINS通信概述 100
5.1.1 FINS通信網(wǎng)絡(luò)層模型 101
5.1.2 FINS命令 102
5.1.3 FINS/TCP的連接方法 110
5.1.4 FINS/TCP的模式規(guī)范 114
5.1.5 計(jì)算機(jī)通過FINS/TCP與歐姆龍PLC通信舉例 119
5.2 Socket通信服務(wù) 124
5.2.1 TCP通信 124
5.2.2 Socket服務(wù) 126
5.2.3 計(jì)算機(jī)通過Socket服務(wù)與PLC通信舉例 136
第6章 CIP和EtherNet/IP 146
6.1 CIP對象 147
6.1.1 對象的定義 147
6.1.2 對象的尋址 148
6.2 CIP消息協(xié)議 153
6.2.1 連接建立概述 153
6.2.2 消息路由請求/應(yīng)答的格式 155
6.3 CIP通信對象類 163
6.3.1 通過連接對象創(chuàng)建連接 163
6.3.2 通過連接管理器創(chuàng)建連接 164
6.3.3 連接生產(chǎn)者對象類的定義 164
6.3.4 連接消費(fèi)者對象類的定義 165
6.3.5 連接對象類的定義 166
6.3.6 連接管理器對象 179
6.3.7 庫對象 195
6.3.8 電子數(shù)據(jù)文檔 196
6.4 EtherNet/IP介紹 199
第7章 AB PLC以太網(wǎng)通信 214
7.1 AB PLC以太網(wǎng)通信概述 215
7.1.1 CIP和EIP對PLC性能的最低要求 215
7.1.2 PLC需要處理的信息 216
7.1.3 計(jì)算機(jī)連接PLC的步驟 216
7.2 PCCC命令的EIP封裝 217
7.2.1 EIP封裝CIP消息幀結(jié)構(gòu) 218
7.2.2 計(jì)算機(jī)通過PCCC對象訪問AB PLC編程舉例 223
7.3 AB PLC的CIP Data Table對象 231
7.3.1 Logix5500 PLC的標(biāo)簽和服務(wù) 231
7.3.2 計(jì)算機(jī)通過Data Table對象訪問Logix5500 PLC編程舉例 235
第8章 西門子PLC以太網(wǎng)通信 243
8.1 西門子開放式以太網(wǎng)TCP通信 245
8.1.1 開放式以太網(wǎng)TCP通信的指令和協(xié)議 246
8.1.2 PLC通過TCP指令塊編程與計(jì)算機(jī)通信舉例 256
8.2 Modbus TCP通信協(xié)議 265
8.2.1 Modbus TCP簡介 265
8.2.2 計(jì)算機(jī)與西門子PLC Modbus TCP通信舉例 275
第9章 倍福PLC以太網(wǎng)通信 283
9.1 TwinCAT系統(tǒng) 283
9.1.1 TwinCAT系統(tǒng)的結(jié)構(gòu) 284
9.1.2 TwinCAT系統(tǒng)的變量和存儲(chǔ)地址 287
9.2 TwinCAT ADS通信 287
9.2.1 TwinCAT ADS PLC設(shè)備 288
9.2.2 TwinCAT ADS設(shè)備標(biāo)識(shí)和路由 290
9.2.3 ADS通信 294
9.2.4 ADS通信舉例 297
9.3 TwinCAT TCP/IP通信 301
9.3.1 TwinCAT TCP/IP介紹 301
9.3.2 TwinCAT TCP/IP功能塊介紹 302
9.3.3 TwinCAT TCP/IP編程舉例 306
參考文獻(xiàn) 311