国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向精細(xì)化工流程控制的通信技術(shù)

2021-03-12 11:24:14何曉東杜紅濤黃嘉明
自動(dòng)化與信息工程 2021年1期
關(guān)鍵詞:輪詢讀報(bào)隊(duì)列

何曉東 杜紅濤 黃嘉明

技術(shù)應(yīng)用

面向精細(xì)化工流程控制的通信技術(shù)

何曉東1杜紅濤1黃嘉明2

(1.珠海市長(zhǎng)陸工業(yè)自動(dòng)控制系統(tǒng)股份有限公司,廣東 珠海 5190902.暨南大學(xué)理工學(xué)院,廣東 廣州 510632)

網(wǎng)絡(luò)實(shí)時(shí)通信是精細(xì)化工流程控制的重要基礎(chǔ)環(huán)節(jié)。以某生產(chǎn)車間精細(xì)化工流程控制系統(tǒng)為背景,根據(jù)生產(chǎn)需求,設(shè)計(jì)PC端與PLC的通信架構(gòu),并優(yōu)化報(bào)文收發(fā)機(jī)制,使PLC的數(shù)據(jù)可根據(jù)系統(tǒng)的設(shè)定進(jìn)行頻率有差異地讀取,進(jìn)而提高通信效率和生產(chǎn)效率。該方法對(duì)中小精細(xì)化工企業(yè)流程控制具有較好的借鑒意義。

流程控制;實(shí)時(shí)通信;報(bào)文收發(fā)機(jī)制

0 引言

根據(jù)某生產(chǎn)車間精細(xì)化工流程控制系統(tǒng)的生產(chǎn)要求,需在PC端實(shí)時(shí)查看生產(chǎn)情況與下單操作。PC端通過(guò)實(shí)時(shí)通信反復(fù)輪詢讀取PLC的現(xiàn)場(chǎng)數(shù)據(jù),解析后放置于PC端的共享內(nèi)存中待用。這對(duì)PC端與PLC之間的通信效率與通信質(zhì)量提出較高要求,然而數(shù)據(jù)的實(shí)時(shí)性有一定差異。PC端向PLC讀取數(shù)據(jù)時(shí),應(yīng)根據(jù)數(shù)據(jù)實(shí)時(shí)性差異有規(guī)律地讀取,從而提高通信效率。

1 流程控制系統(tǒng)硬件

精細(xì)化工流程控制系統(tǒng)從下到上分為現(xiàn)場(chǎng)層、控制層和中心管理層3個(gè)層級(jí),包括的主要硬件如表1所示。

現(xiàn)場(chǎng)層主要包括各種傳感器、執(zhí)行機(jī)構(gòu)等設(shè)備,負(fù)責(zé)工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集和執(zhí)行各種控制命令。

控制層包括S7-1500系列CPU控制器,負(fù)責(zé)對(duì)采集的數(shù)據(jù)進(jìn)行處理并輸出控制信號(hào)。

中心管理層包括生產(chǎn)線監(jiān)控系統(tǒng)、配方管理系統(tǒng)與生產(chǎn)排單系統(tǒng)等??刂茖优c中心管理層采用工業(yè)以太網(wǎng)的方式通信。

2 PC端與PLC通信架構(gòu)

精細(xì)化工流程控制系統(tǒng)的PLC采用S7-1500。首先,通過(guò)數(shù)據(jù)采集模塊把現(xiàn)場(chǎng)數(shù)據(jù)采集到PLC的數(shù)據(jù)塊,并把數(shù)據(jù)類型和讀寫頻率等級(jí)相同的數(shù)據(jù)放在相同地址塊的連續(xù)區(qū)域,以便虛設(shè)備批量讀取數(shù)據(jù)和設(shè)置掃描級(jí)別來(lái)提高通信速率[1-2]。其中,虛設(shè)備定義為記錄PLC數(shù)據(jù)塊中連續(xù)并小于1000個(gè)字節(jié)的數(shù)據(jù)地址信息與設(shè)備信息的虛擬設(shè)備[3]。

流程控制系統(tǒng)的通信架構(gòu)圖如圖1所示。首先,初始化虛設(shè)備與虛設(shè)備隊(duì)列,并將虛設(shè)備置于虛設(shè)備隊(duì)列中,虛設(shè)備隊(duì)列用于輪詢讀取虛設(shè)備中的數(shù)據(jù);其次,初始化寫指令隊(duì)列,寫指令隊(duì)列用于存放需進(jìn)行寫操作的指令;再次,根據(jù)讀寫報(bào)文添加機(jī)制(輪詢各虛設(shè)備并按其掃描級(jí)別)調(diào)用發(fā)送與解析包生成讀寫報(bào)文,并分別將對(duì)應(yīng)的讀寫報(bào)文添加到讀寫報(bào)文隊(duì)列,從而保證讀取現(xiàn)場(chǎng)數(shù)據(jù)時(shí),實(shí)時(shí)性要求高的數(shù)據(jù)讀取頻率也高;最后,通道線程查看寫報(bào)文隊(duì)列是否存在寫報(bào)文,若存在,則把寫報(bào)文發(fā)送到指定設(shè)備并讀回結(jié)果報(bào)文,再調(diào)用發(fā)送與解析包解析是否寫操作成功;若寫報(bào)文隊(duì)列為空,則把讀報(bào)文隊(duì)列中的讀報(bào)文依次發(fā)送到指定設(shè)備并讀回結(jié)果報(bào)文,再調(diào)用發(fā)送與解析包把相應(yīng)的數(shù)據(jù)解析到共享內(nèi)存中待用。

圖1 流程控制系統(tǒng)的通信架構(gòu)圖

3 虛設(shè)備與變量定義模塊

3.1 虛設(shè)備模塊設(shè)計(jì)

虛設(shè)備記錄通信數(shù)據(jù)的具體位置信息與設(shè)備信息。一個(gè)虛設(shè)備最多可存放數(shù)據(jù)塊中1000個(gè)字節(jié)連續(xù)的地址數(shù)據(jù),而一個(gè)TCP報(bào)文長(zhǎng)度約為1480字節(jié),這樣讀一個(gè)虛設(shè)備的數(shù)據(jù)僅需一條讀指令即可。虛設(shè)備增加了掃描級(jí)別等字段,用于設(shè)置該設(shè)備的通信頻率[4-6]。

虛設(shè)備初始化所需的參數(shù)(以S7協(xié)議為例)如表2所示。虛設(shè)備參數(shù)定義如下:

1)虛設(shè)備名稱和虛設(shè)備編號(hào)可區(qū)分各虛設(shè)備;

2)通信驅(qū)動(dòng)指采用的通信驅(qū)動(dòng)名稱;

3)數(shù)據(jù)種類指數(shù)據(jù)屬于哪個(gè)數(shù)據(jù)塊,并由指定數(shù)字指代;

4)數(shù)據(jù)格式用于定義變量格式,字節(jié)(8位)、字(16位)和雙字(32位);

5)數(shù)據(jù)具體格式包括整型、無(wú)符號(hào)整型和浮點(diǎn)數(shù)3種;

6)訪問(wèn)方式指訪問(wèn)數(shù)據(jù)的方式,分為只讀、只寫和可讀可寫;

表2 虛設(shè)備初始化所需參數(shù)表

7)開始地址和數(shù)據(jù)長(zhǎng)度分別指數(shù)據(jù)在目標(biāo)設(shè)備中的開始位置和讀取數(shù)據(jù)的總長(zhǎng)度;

8)超時(shí)時(shí)間指虛設(shè)備生成對(duì)應(yīng)的讀寫報(bào)文后發(fā)送給目標(biāo)設(shè)備,目標(biāo)設(shè)備在指定的超時(shí)時(shí)間內(nèi)沒(méi)有返回結(jié)果報(bào)文時(shí),將修改設(shè)備的掃描級(jí)別,使得該設(shè)備的通信頻率降低,從而減少系統(tǒng)異常等待的時(shí)間;

9)掃描級(jí)別是指發(fā)送讀報(bào)文的頻率等級(jí),掃描級(jí)別包括1~10,1000,2000共12個(gè)數(shù)值,數(shù)值為1~10時(shí),數(shù)字越小掃描頻率越高;掃描級(jí)別為1000代表該虛設(shè)備的數(shù)據(jù)只讀取一次;掃描級(jí)別為2000代表該虛設(shè)備的數(shù)據(jù)為定時(shí)讀?。?/p>

10) IP地址和端口號(hào)用于指定發(fā)送報(bào)文目標(biāo)設(shè)備的IP地址和端口號(hào)。

根據(jù)系統(tǒng)的通信變量定義虛設(shè)備,虛設(shè)備列表如圖2所示。

圖2 虛設(shè)備列表

為簡(jiǎn)化虛設(shè)備定義過(guò)程,雙擊虛設(shè)備列表界面即可彈出虛設(shè)備定義程序框界面,如圖3所示。

圖3 虛設(shè)備定義程序框界面

在圖3中,可輸入或選中虛設(shè)備參數(shù),然后一鍵生成虛設(shè)備,并記錄于數(shù)據(jù)庫(kù)中。通過(guò)該方式使虛設(shè)備定義過(guò)程模板化,易于修正。

3.2 變量定義模塊設(shè)計(jì)

虛設(shè)備中每個(gè)變量代表的具體含義由變量定義模塊來(lái)完成。該模塊主要分為開關(guān)量模塊、模擬量模塊和文本量模塊[5],它們分別用來(lái)定義大小為1個(gè)比特、1個(gè)字節(jié)和多個(gè)字節(jié)的通信變量位于指定虛設(shè)備的位置信息。

3.3 發(fā)送與解析模塊

發(fā)送與解析模塊主要完成讀寫報(bào)文生成并填充到讀寫報(bào)文隊(duì)列、解析返回報(bào)文2。通過(guò)發(fā)送與解析包里的初始化虛設(shè)備函數(shù),將數(shù)據(jù)庫(kù)中的所有虛設(shè)備信息生成對(duì)應(yīng)的虛設(shè)備對(duì)象填充到虛設(shè)備隊(duì)列中。發(fā)送和解析包含有根據(jù)虛設(shè)備向讀報(bào)文隊(duì)列添加對(duì)應(yīng)的讀報(bào)文方法、根據(jù)寫指令生成寫指令報(bào)文并添加到寫報(bào)文隊(duì)列的方法、根據(jù)虛設(shè)備解析對(duì)應(yīng)的讀寫報(bào)文的方法等。通過(guò)調(diào)用這些方法,使讀寫報(bào)文的生成、添加,結(jié)果報(bào)文的解析更加方便。

4 讀寫報(bào)文的添加模塊與通道線程設(shè)計(jì)

4.1 讀寫報(bào)文的添加模塊

讀報(bào)文添加通過(guò)虛設(shè)備調(diào)用發(fā)送與解析包中的相應(yīng)方法,直接將該虛設(shè)備生成讀指令報(bào)文并添加到讀報(bào)文隊(duì)列中等待發(fā)送。寫指令報(bào)文根據(jù)寫指令隊(duì)列中寫指令參數(shù)生成,并將對(duì)應(yīng)的寫報(bào)文添加到寫報(bào)文隊(duì)列。寫指令中記錄寫操作的位置信息、數(shù)據(jù)長(zhǎng)度和寫數(shù)據(jù)的值等參數(shù)。

本文改進(jìn)寫報(bào)文隊(duì)列的添加機(jī)制,改進(jìn)部分主要體現(xiàn)在讀報(bào)文隊(duì)列的添加機(jī)制。通過(guò)在每個(gè)虛設(shè)備中定義掃描級(jí)別字段,不是簡(jiǎn)單輪詢虛設(shè)備后立即調(diào)用相應(yīng)方法向讀報(bào)文隊(duì)列中添加相應(yīng)的讀報(bào)文,而是在輪詢過(guò)程中根據(jù)掃描級(jí)別的設(shè)定,使掃描級(jí)別等級(jí)越高(數(shù)值越低)的虛設(shè)備添加讀報(bào)文的頻率越高,從而提高實(shí)時(shí)性要求較高的數(shù)據(jù)的讀寫效率。

讀寫報(bào)文的添加規(guī)則:首先,在讀報(bào)文隊(duì)列沒(méi)滿且讀指令隊(duì)列中沒(méi)有讀指令時(shí),輪詢虛設(shè)備隊(duì)列中的虛設(shè)備;輪詢過(guò)程中,輪詢到掃描級(jí)別為1000的虛設(shè)備時(shí),調(diào)用發(fā)送與解析包中的方法,把對(duì)應(yīng)的讀報(bào)文依次添加到讀指令隊(duì)列中,此類數(shù)據(jù)只從現(xiàn)場(chǎng)讀取一次;然后,用計(jì)數(shù)器記錄輪詢虛設(shè)備隊(duì)列的次數(shù),初始值為1;最后,在讀報(bào)文隊(duì)列沒(méi)滿的情況下反復(fù)輪詢虛設(shè)備隊(duì)列中的虛設(shè)備,若計(jì)數(shù)器數(shù)值是輪詢虛設(shè)備掃描級(jí)別數(shù)值的倍數(shù)且掃描級(jí)別不為1000或2000時(shí),分別調(diào)用發(fā)送與解析包中的方法,把對(duì)應(yīng)的讀報(bào)文依次添加到讀指令隊(duì)列中;輪詢到掃描級(jí)別為2000的虛設(shè)備時(shí),因該虛設(shè)備的數(shù)據(jù)為定時(shí)讀取,先看虛設(shè)備中的超時(shí)時(shí)間,判斷上次發(fā)送時(shí)間與系統(tǒng)時(shí)間之差是否大于等于報(bào)文中標(biāo)記的超時(shí)時(shí)間,若大于等于,則調(diào)用發(fā)送與解析包中的方法,把對(duì)應(yīng)的讀報(bào)文依次添加到讀指令隊(duì)列中;若小于,則跳過(guò)該虛設(shè)備繼續(xù)輪詢下一個(gè)虛設(shè)備。當(dāng)寫指令隊(duì)列中存在寫指令時(shí),調(diào)用發(fā)送與解析包中的方法,把對(duì)應(yīng)的寫報(bào)文依次添加到寫指令隊(duì)列中。

4.2 通道線程設(shè)計(jì)

通道線程主要完成的工作包括:把讀寫報(bào)文隊(duì)列中的報(bào)文依次發(fā)送到具體設(shè)備中(PLC),并接收設(shè)備返回的結(jié)果報(bào)文;調(diào)用發(fā)送與解析包解析返回的數(shù)據(jù)并置于共享內(nèi)存中待用;當(dāng)通信出現(xiàn)問(wèn)題時(shí),進(jìn)行日志書寫。通道線程的執(zhí)行流程圖如圖4所示。

圖4 通道線程的執(zhí)行流程圖

首先,開啟一個(gè)線程,初始化通道與ISO_TP連接;接著,判斷寫報(bào)文隊(duì)列中是否有寫報(bào)文,若存在寫報(bào)文,則從寫報(bào)文隊(duì)列中取出第一個(gè)寫報(bào)文,并根據(jù)該寫報(bào)文寫指令中的通道信息,把該報(bào)文發(fā)送到指定設(shè)備,在接收到返回的結(jié)果報(bào)文后,調(diào)用發(fā)送與解析包解析是否寫成功;若寫報(bào)文隊(duì)列為空,則取出讀報(bào)文隊(duì)列中的第一個(gè)讀報(bào)文,并根據(jù)該讀報(bào)文虛設(shè)備中的通道信息,把該讀報(bào)文發(fā)送到指定設(shè)備,設(shè)備返回結(jié)果報(bào)文后,通過(guò)發(fā)送與解析包解析具體數(shù)據(jù)放置于共享內(nèi)存中待用。

解析過(guò)程中由于某些不確定因素,在發(fā)送讀寫報(bào)文后,可能出現(xiàn)較長(zhǎng)時(shí)間沒(méi)收到返回的結(jié)果報(bào)文或返回的結(jié)果報(bào)文校驗(yàn)不成功現(xiàn)象。若出現(xiàn)上述情況,將該讀寫報(bào)文重新發(fā)送到目標(biāo)設(shè)備。若通信還是異常,為不影響其他報(bào)文發(fā)送,合理分配通信時(shí)間,則將該指令報(bào)文的掃描級(jí)別修改為2000(定時(shí)讀?。R坏┩ㄐ耪:?,則恢復(fù)原來(lái)的掃描級(jí)別。這樣在輪詢時(shí)通信不會(huì)進(jìn)入異常等待狀態(tài),從而提高通信效率。

5 通信結(jié)果分析

首先,通過(guò)變量模塊定義通信變量;然后,通過(guò)虛設(shè)備依次定義通信變量位于PLC數(shù)據(jù)塊中的具體位置信息,并初始化虛設(shè)備、虛設(shè)備隊(duì)列、讀指令隊(duì)列、寫報(bào)文隊(duì)列和讀報(bào)文隊(duì)列;最后,導(dǎo)入發(fā)送與解析包,開啟通道線程。此時(shí)PLC與PC端的實(shí)時(shí)通信完成整體搭建,PLC與PC端通信實(shí)時(shí)狀態(tài)圖如圖5所示。

由圖5的發(fā)送欄可知:不同的虛設(shè)備發(fā)送指令包的數(shù)目存在一定的差別,從而得出數(shù)據(jù)讀取的頻率可以通過(guò)配置進(jìn)行改變。

圖5 通信連接狀態(tài)圖

經(jīng)過(guò)多次現(xiàn)場(chǎng)測(cè)試,得到的PLC與PC端的實(shí)時(shí)通信測(cè)試結(jié)果如表3所示。

表3 PLC與PC端的實(shí)時(shí)通信測(cè)試結(jié)果

綜合以上數(shù)據(jù)分析可得:PLC與PC端的實(shí)時(shí)通信在網(wǎng)絡(luò)與設(shè)備狀態(tài)良好的情況下,丟包率與錯(cuò)誤率都較低;丟包、錯(cuò)誤與連接失敗的主要原因是現(xiàn)場(chǎng)網(wǎng)絡(luò)在短時(shí)間內(nèi)出現(xiàn)延遲或網(wǎng)速不穩(wěn)定。

6 結(jié)語(yǔ)

本文根據(jù)精細(xì)化工流程控制系統(tǒng)中數(shù)據(jù)對(duì)實(shí)時(shí)性要求存在差異的特點(diǎn),設(shè)計(jì)PLC與PC端的通信架構(gòu),并實(shí)現(xiàn)了虛設(shè)備模塊、變量定義模塊、發(fā)送與解析模塊、讀寫報(bào)文的添加模塊和通道線程,從而使PLC端的數(shù)據(jù)根據(jù)系統(tǒng)設(shè)定進(jìn)行有差異地讀取,進(jìn)而合理配置資源,提高通信效率。

[1] 王敏,李峰.精細(xì)化工行業(yè)發(fā)展現(xiàn)狀及趨勢(shì)[J].云南化工, 2018,45(10):21-22.

[2] 常一帆.工業(yè)自動(dòng)化控制的現(xiàn)狀及未來(lái)發(fā)展趨勢(shì)[J].中國(guó)管理信息化,2016,19(12):177.

[3] 李占國(guó).化工企業(yè)液位自動(dòng)化控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電信息,2013(12):153,155.

[4] 李建民,熊詩(shī)波,魏晉宏.西門子S7-200與PC實(shí)時(shí)通訊的實(shí)現(xiàn)方法[J].太原理工大學(xué)學(xué)報(bào),2003(4):465-467.

[5] 賈濤.西門子S7-200以太網(wǎng)通訊協(xié)議研究[J].電子技術(shù)與軟件工程,2014(24):30-32.

[6] 董青青.基于TCP協(xié)議的PC與西門子S7-1200PLC通信研究[J].電子測(cè)試,2019(19):76-77,79.

Communication Technology for Fine Chemical Process Control

He Xiaodong1Du Hongtao1Huang Jiaming2

(1.Zhuhai Longtec., Ltd, Zhuhai 519090, China 2.College of Science and Engineering of Jinan University, Guangzhou 510632, China)

Network real-time communication is an important part of fine chemical process control. Taking the fine chemical process control system of a production workshop as the background, according to the production demand, the communication architecture between PC and PLC is designed, and the message sending and receiving mechanism is optimized, so that the PLC data can be read differently according to the system setting frequency, so as to improve the communication efficiency and production efficiency. This method can be used for reference in process control of small and medium-sized fine chemical enterprises.

process control; real-time communication; message sending and receiving mechanism

TN914.3

A

1674-2605(2021)01-0009-05

10.3969/j.issn.1674-2605.2021.01.009

何曉東,男,1970年生,本科,高級(jí)工程師,主要研究方向:工業(yè)自動(dòng)化、信息化系統(tǒng)規(guī)劃。E-mail: hexiaodong@longtec.com

杜紅濤,男,1977年生,本科,工程師,主要研究方向:工業(yè)自動(dòng)化、信息化系統(tǒng)研發(fā)。E-mail: duhongtao@longtec.com

黃嘉明,男,1995年生,本科,碩士,主要研究方向:網(wǎng)絡(luò)通信與信息處理。E-mail: 290045461@qq.com

猜你喜歡
輪詢讀報(bào)隊(duì)列
讀報(bào)
讀報(bào)
讀報(bào)
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
軟件(2020年3期)2020-04-20 00:58:44
《讀報(bào)一得》
基于等概率的ASON業(yè)務(wù)授權(quán)設(shè)計(jì)?
在隊(duì)列里
豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
依托站點(diǎn)狀態(tài)的兩級(jí)輪詢控制系統(tǒng)時(shí)延特性分析
萝北县| 湘阴县| 锡林浩特市| 蒙城县| 高台县| 白山市| 龙江县| 界首市| 大埔区| 株洲县| 锦州市| 甘孜县| 将乐县| 广宗县| 江永县| 温泉县| 信宜市| 陵川县| 秭归县| 吴忠市| 日照市| 双流县| 博乐市| 大同县| 巨野县| 彭山县| 开阳县| 德阳市| 新宁县| 临高县| 佛山市| 淮北市| 五常市| 伊宁市| 上思县| 延寿县| 阿图什市| 都兰县| 德州市| 青川县| 洛浦县|