梁汝軍
(1.北京化工大學(xué)化工資源有效利用國家重點(diǎn)實(shí)驗(yàn)室,北京100029;2.中國石油化工股份有限公司北京化工研究院燕山分院,北京102549)
銀催化劑是乙烯氧化制環(huán)氧乙烷反應(yīng)過程中惟一有效的催化劑。在該催化劑的研發(fā)過程中,銀催化劑中試評價(jià)裝置(以下簡稱單管裝置)及銀催化劑工業(yè)側(cè)線評價(jià)裝置(以下簡稱側(cè)線裝置)分別是2套對銀催化劑反應(yīng)性能進(jìn)行測試和評價(jià)的實(shí)驗(yàn)裝置。為了分析數(shù)據(jù)的準(zhǔn)確,先后裝備了工業(yè)在線色譜儀、工業(yè)在線質(zhì)譜儀等先進(jìn)的在線分析儀器。
以單管裝置裝備的工業(yè)在線質(zhì)譜儀(PRIMA-δB)為例,其突出的優(yōu)點(diǎn)是可以在瞬間進(jìn)行氣體試樣的全組分分析。但是,該優(yōu)點(diǎn)卻給DCS與工業(yè)在線質(zhì)譜儀之間的數(shù)據(jù)通信帶來了困難,因?yàn)楣I(yè)在線質(zhì)譜在對每一路試樣氣進(jìn)行分析檢測時(shí),一個(gè)周期內(nèi)會(huì)產(chǎn)生25個(gè)組分的摩爾比信號;總共6路試樣氣自動(dòng)循環(huán)切換分析,再加上工業(yè)在線質(zhì)譜儀內(nèi)部各種運(yùn)行狀態(tài)參數(shù)以及各種故障報(bào)警輸出等信號,總共有100多個(gè)信號要求在同一周期內(nèi)進(jìn)行傳輸。若采用傳統(tǒng)的模擬量或開關(guān)量信號傳輸模式,需要在DCS與工業(yè)在線質(zhì)譜儀之間鋪設(shè)至少數(shù)十根信號線,并需要在DCS機(jī)柜和工業(yè)在線質(zhì)譜儀中新增數(shù)個(gè)相互匹配的模擬量或開關(guān)量輸入/輸出卡件。這樣不僅投資巨大,而且給日后DCS和工業(yè)在線質(zhì)譜儀的管理和維護(hù)也帶來不小的難度。
為尋求準(zhǔn)確、可靠、快速的數(shù)據(jù)通信方法,有人曾進(jìn)行過各種嘗試,如文獻(xiàn)[1]利用傳統(tǒng)的模擬量、開關(guān)量I/O輸入輸出方式,實(shí)現(xiàn)了GC1000S工業(yè)在線色譜儀與TDC-3000DCS間的信號傳輸,但傳輸信號僅有2個(gè)模擬量信號和4個(gè)開關(guān)量信號;文獻(xiàn)[2]利用了工業(yè)在線色譜儀工作站中的RS-232CI/O接口卡與DCS中數(shù)據(jù)通信卡,實(shí)現(xiàn)了AA工業(yè)在線色譜儀與Centum-XL型DCS之間的數(shù)字化通信。但是,由于存在多臺(tái)AA工業(yè)在線色譜儀分析數(shù)據(jù)的通信地址分配與DCS通信卡中的地址分配不匹配的問題,在DCS中未能接收到全部的色譜分析數(shù)據(jù);文獻(xiàn)[3]曾利用Modbus協(xié)議的RS-485串行通信方式實(shí)現(xiàn)了工業(yè)色譜儀與DCS之間的數(shù)字通信。
以此為基礎(chǔ),筆者曾于2008年運(yùn)用獨(dú)特的雙寄存器存儲(chǔ)數(shù)據(jù)技術(shù),首次利用基于Modbus協(xié)議的RS-485串行通信方式,精準(zhǔn)地實(shí)現(xiàn)了側(cè)線裝置的DCS(CS-3000)與工業(yè)在線質(zhì)譜儀(MAX300-IG)之間數(shù)據(jù)通信的數(shù)字化[4]。近期,筆者又對該數(shù)字化通信方式進(jìn)行了改進(jìn),并再次將其應(yīng)用到單管裝置中,同時(shí)實(shí)現(xiàn)了單管裝置DCS(Webfield ECS-100)與工業(yè)在線色譜儀(MAXUM EDITION II)、工業(yè)在線質(zhì)譜儀2臺(tái)智能分析儀器之間準(zhǔn)確、簡潔的Modbus協(xié)議數(shù)字化通信。
目前國內(nèi)外許多儀器、儀表的生產(chǎn)廠商都將Modbus協(xié)議作為其產(chǎn)品或系統(tǒng)共同遵守的通用語言,不僅將Modicon的網(wǎng)絡(luò)部件(如Modbus Plus)集成到自己的產(chǎn)品中,而且還在實(shí)踐應(yīng)用過程中嚴(yán)格遵循并支持該協(xié)議。
在石油石化行業(yè)中,出于提高DCS的自控水平、完善控制功能的考慮,往往需要將其他的專用系統(tǒng)接入DCS中。因此,大量采用RS-485串行通信方式和Modbus通信協(xié)議,使得來自DCS的數(shù)據(jù)流和其他專用系統(tǒng)的數(shù)據(jù)流能夠相互間有效識別、高速交流,從而實(shí)現(xiàn)DCS對裝置各系統(tǒng)的統(tǒng)一監(jiān)控、控制、管理等功能,這在具體的實(shí)踐中確實(shí)擁有很多成功應(yīng)用的實(shí)例[5-10]。
盡管Modbus網(wǎng)絡(luò)通信方法對各個(gè)系統(tǒng)來說關(guān)系是對等的,但Modbus協(xié)議通信方式采用的卻是主-從原則。即在該網(wǎng)絡(luò)中只有一個(gè)控制器可以初始化查詢,并發(fā)起一個(gè)信息傳送,這個(gè)控制器就是Modbus通信網(wǎng)絡(luò)中的主設(shè)備,信息傳出后,它期待著其他從設(shè)備發(fā)出相應(yīng)的響應(yīng)信號。與此類似,當(dāng)另一個(gè)控制器(從控制器)收到信息后,就會(huì)組織一個(gè)從設(shè)備進(jìn)行響應(yīng),并將反饋消息返回到發(fā)出信息的控制器(主控制器)上。Modbus通信協(xié)議主-從設(shè)備查詢回應(yīng)周期如圖1所示。筆者所在的單管裝置中,選取DCS為主設(shè)備,工業(yè)在線色譜儀及工業(yè)在線質(zhì)譜儀等智能分析儀器為從設(shè)備。
Modbus通信協(xié)議中報(bào)文格式[3,11-14]有兩種:ASCII和遠(yuǎn)程終端單元RTU(Romote Terminal Unit),兩種報(bào)文格式的結(jié)構(gòu)形式雷同。區(qū)別僅在于ASCII格式報(bào)文以冒號開始,以回車換行符結(jié)束;而RTU格式卻以傳遞一不短于3.5個(gè)字符的空閑時(shí)間開始,并以不短于3.5個(gè)字符的一空閑時(shí)間來表示報(bào)文的結(jié)束。
不同的控制器可以按照標(biāo)準(zhǔn)的Modbus通信網(wǎng)絡(luò),用兩種報(bào)文中的任意一種來進(jìn)行通信。一定格式的報(bào)文定義了Modbus通信網(wǎng)絡(luò)中以串形方式傳輸?shù)男畔鲋械木唧w內(nèi)容,規(guī)定了信息是如何被打包到信息場中以及如何對信息進(jìn)行解碼。
參照圖1,以主設(shè)備查詢數(shù)據(jù)報(bào)文為例,主設(shè)備查詢信息中的功能代碼為被尋址的從設(shè)備應(yīng)執(zhí)行的動(dòng)作類型,數(shù)據(jù)字節(jié)中包含從設(shè)備需執(zhí)行功能的附加信息。該數(shù)據(jù)區(qū)必須包含有從設(shè)備讀取數(shù)據(jù)的起始地址、數(shù)量等信息,它可以是實(shí)際的數(shù)值、狀態(tài)值、主設(shè)備發(fā)送給從設(shè)備或者從設(shè)備發(fā)送給主設(shè)備的地址等。Modbus的RTU報(bào)文格式規(guī)定通信字符串的最后兩個(gè)字節(jié)用于傳遞循環(huán)冗余校驗(yàn)數(shù)據(jù)。在RTU報(bào)文格式中采用的是CRC-16的冗余校驗(yàn)方式。最后,以不短于3.5個(gè)字符的一空閑時(shí)間來表示報(bào)文結(jié)束。錯(cuò)誤效驗(yàn)區(qū)為從設(shè)備提供了一種檢驗(yàn)方法,用以保障信息內(nèi)容的完整性。
如果從設(shè)備產(chǎn)生正?;貞?yīng),則從設(shè)備應(yīng)答報(bào)文中的功能代碼就是對主設(shè)備在查詢報(bào)文中功能代碼的回應(yīng)。隨后的數(shù)據(jù)段中包含從設(shè)備所收集到的數(shù)據(jù)內(nèi)容:如寄存器狀態(tài)及寄存器中的數(shù)據(jù)值等。但是,如果檢測出錯(cuò),則從設(shè)備應(yīng)答報(bào)文中的功能代碼將被修改,用以指出回應(yīng)信息是錯(cuò)誤的,同時(shí)數(shù)據(jù)段中包含了描述該錯(cuò)誤信息的代碼,錯(cuò)誤檢測域允許主設(shè)備確認(rèn)信息內(nèi)容是否可用。
這兩種格式在表達(dá)相同的信息時(shí),RTU需要較少的位數(shù),且在相同通信速率下具有更大的數(shù)據(jù)流量。因此,筆者在單管裝置中的實(shí)際應(yīng)用中,選取的是RTU報(bào)文格式。
圖1 Modbus通信協(xié)議主-從設(shè)備查詢回應(yīng)周期表
3.1.1 DCS硬件配置
單管裝置DCS選用Webfield ECS-100,該系統(tǒng)提供一塊通信接口卡FW244,是DCS與其他智能分析儀器或儀表通信的網(wǎng)間連接設(shè)備,是ScnetⅡ網(wǎng)絡(luò)節(jié)點(diǎn)之一。在FW244卡的芯片上有DCS主控卡的程序。它的通信程序通過SCX語言編寫,由DCS組態(tài)軟件下傳到FW244卡中運(yùn)行。主要功能是將各智能設(shè)備中的數(shù)據(jù)通過通信的方式連入DCS,并通過ScnetⅡ網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)在DCS中的共享。該卡可提供RS-232和RS-485兩種物理接口方式,并通過SCX語言進(jìn)行編程,實(shí)現(xiàn)DCS與其他智能分析儀器或儀表的通信。
3.1.2 工業(yè)在線智能分析儀硬件配置
在單管裝置共有2臺(tái)工業(yè)在線智能分析儀器,其與DCS之間的Modbus串行通信過程中,考慮到裝置區(qū)現(xiàn)場主從設(shè)備間的距離(約100m)的實(shí)際情況,Modbus串行通信物理接口選擇的方式為RS-485,半雙工差分方式傳輸信號。該方式采用二線差分電平發(fā)送和接收,能最大程度地克服共模干擾、抑制線路噪音。
3.1.3 通信連接
連接各系統(tǒng)的通信電纜選用符合BS6500標(biāo)準(zhǔn)的LIYCY 3×2×0.14型RS-485總線電纜(總長約150m),該電纜能夠有效屏蔽外界電場的影響,保證數(shù)據(jù)的精確傳輸,并附帶有獨(dú)立的接地導(dǎo)體。
值得強(qiáng)調(diào)的是,在RS-485通信網(wǎng)絡(luò)外部接線過程中,各系統(tǒng)的通信接口卡應(yīng)該按照規(guī)范的要求進(jìn)行接線,如圖2所示。但在實(shí)際應(yīng)用中,部分廠家在連接RS-485通信鏈路時(shí)通常只是簡單地用一對雙絞線將各個(gè)接口的正負(fù)端對應(yīng)連接起來,忽略了信號接地線的連接,這種做法是不妥當(dāng)?shù)摹?/p>
3.2.1 地址分配表
地址分配表是工業(yè)在線智能分析儀器(或其他從設(shè)備)的工作站分配給智能分析儀器中所有分析數(shù)據(jù)或儀器所有運(yùn)行狀態(tài)參數(shù)的連續(xù)地址序列。根據(jù)地址分配表中每一個(gè)分析數(shù)據(jù)或運(yùn)行參數(shù)地址編碼的不同,它們被存儲(chǔ)在儀器內(nèi)存寄存器中的不同位置。一旦DCS想要從中獲取數(shù)據(jù),只需發(fā)送想要的數(shù)據(jù)所存儲(chǔ)的寄存器地址碼即可。
Webfield ECS-100控制系統(tǒng)中的1塊FW244通信卡最多可同時(shí)連接4個(gè)從設(shè)備,為了避免不同的從設(shè)備中具有相同寄存器地址編碼的存儲(chǔ)數(shù)據(jù)之間的互相干擾,每個(gè)從設(shè)備間將以不同的從設(shè)備地址加以區(qū)分。
3.2.2 SCX編程軟件源程序
Webfield ECS-100系統(tǒng)中FW244通信卡的驅(qū)動(dòng)程序由SCX編程語言編寫,由該DCS組態(tài)軟件下載到FW244通信卡中運(yùn)行。SCX編程語言可提供串行通信庫函數(shù)、Modbus RTU協(xié)議庫函數(shù)和Hostlink協(xié)議庫函數(shù)。
圖2 RS-485接口的外部接線示意注:2,4,8,9,11——接口端子上的接線管腳編號
按照SCX程序的運(yùn)行,DCS將從工業(yè)在線質(zhì)譜儀和色譜儀相應(yīng)寄存器地址中讀取數(shù)據(jù),給Webfield ECS-100系統(tǒng)相對應(yīng)的分析數(shù)據(jù)變量進(jìn)行賦值,并按照DCS組態(tài)程序的要求參與控制回路、聯(lián)鎖回路的運(yùn)算或執(zhí)行。
由于篇幅所限,這里略去SCX編程源程序。
3.2.3 波特率
在工業(yè)在線質(zhì)譜儀和色譜儀與DCS之間利用RS-485接口進(jìn)行Modbus協(xié)議通信過程中,其信號傳輸?shù)乃俾视上到y(tǒng)的波特率決定,該參數(shù)的設(shè)置較為關(guān)鍵。
a)波特率數(shù)值越高數(shù)據(jù)傳輸速率越快,但波特率越高,數(shù)據(jù)的傳輸距離會(huì)越短。
b)由于單管裝置始建于1986年,中間歷經(jīng)多次改擴(kuò)建,部分儀表信號線和動(dòng)力電纜線在裝置區(qū)有混雜交匯的現(xiàn)象,個(gè)別儀表信號線和動(dòng)力電纜線甚至處于同一電纜橋架內(nèi),未做有效的隔離。因此,通信電纜所處電磁環(huán)境較為惡劣。
由于Modbus協(xié)議對報(bào)文的起始時(shí)間以及報(bào)文與報(bào)文之間的停頓時(shí)間間隔有一定的要求,每兩幀數(shù)據(jù)響應(yīng)間隔不能超過1s,而且報(bào)文必須作為一個(gè)連續(xù)的數(shù)據(jù)流進(jìn)行傳輸,考慮到系統(tǒng)最大的報(bào)文長度以及一次傳輸256幀數(shù)據(jù)的要求,波特率最終設(shè)定為9 600bit/s,這樣可同時(shí)滿足傳輸速度和可靠性的要求。
在配置控制器時(shí),用戶在選擇串行口通信參數(shù)(波特率、奇偶校驗(yàn)方式等)的同時(shí)可選擇通信方式。在同一個(gè)Modbus網(wǎng)絡(luò)中,所有的設(shè)備都應(yīng)設(shè)置成同樣的通信方式和串行通信參數(shù)。
3.2.4 寄存器
由于RS-485傳輸電平采用差分信號負(fù)邏輯,2~6V表示“0”,-6~-2V表示“1”。而工業(yè)在線質(zhì)譜儀和色譜儀的內(nèi)存寄存器均為16位2進(jìn)制存儲(chǔ)器。因此,按照Modbus協(xié)議的RS-485串行通信方式是無法傳輸小數(shù)。如果從設(shè)備想要發(fā)送一個(gè)十進(jìn)制數(shù)據(jù),其范圍只能是0~99 999之間的任意整數(shù),DCS接收的數(shù)據(jù)也在0~99 999之間的任意一個(gè)和主機(jī)非常接近但絕對不相等的整數(shù),DCS只有通過一個(gè)計(jì)算公式X從設(shè)備=XDCS÷99 999×量程上限,才能保持和從設(shè)備發(fā)送的十進(jìn)制數(shù)據(jù)在一定有效位數(shù)范圍內(nèi)相等。為避免傳輸過程中數(shù)據(jù)失真,一般要對從設(shè)備的原始數(shù)據(jù)進(jìn)行放大處理,使其盡可能地接近99 999,否則會(huì)產(chǎn)生較大誤差。為此在把分析數(shù)據(jù)存入內(nèi)存寄存器之前,必須進(jìn)行取整運(yùn)算。
但對于在線工業(yè)質(zhì)譜或色譜這樣的智能分析儀器,要想尋找到合適的放大倍數(shù)并不容易,這是因?yàn)榇祟惙治鰞x均為全組分分析儀器,不僅用以對反應(yīng)混合氣當(dāng)中的常量組分進(jìn)行分析,而且還用來分析10-6級的微量組分。因此,若放大倍數(shù)過小,則微量組分通信傳輸至DCS后顯示結(jié)果會(huì)始終為0,嚴(yán)重失真;相反,若放大倍數(shù)過大,則又會(huì)造成常量組分寄存器存儲(chǔ)溢出,同樣造成數(shù)據(jù)傳輸失敗。
為此,筆者對在線工業(yè)質(zhì)譜及色譜操作軟件進(jìn)行了二次開發(fā),通過對操作軟件的底層程序做適當(dāng)修改,使得每個(gè)分析數(shù)據(jù)在存入寄存器前均能乘以一個(gè)獨(dú)立的與分析數(shù)據(jù)數(shù)量級相匹配的放大倍數(shù)。這樣既保證了傳輸數(shù)據(jù)的精度,又保證了寄存器的有效存儲(chǔ)容量,提高了運(yùn)算和傳輸?shù)乃俣?,從根本上解決了該矛盾。
自該方案實(shí)施以來,利用RS-485串行通信方式,再次實(shí)現(xiàn)了單管裝置DCS與工業(yè)在線質(zhì)譜儀及色譜儀之間準(zhǔn)確、快捷的數(shù)字化數(shù)據(jù)通信。使用至今從未出現(xiàn)過數(shù)據(jù)傳輸失真、數(shù)據(jù)通信故障等事故,提高了整個(gè)裝置的自動(dòng)化水平。
圖3,圖4分別為單管裝置DCS連續(xù)記錄的工業(yè)在線色譜儀常量組分和微量組分分析數(shù)據(jù)的歷史趨勢。其中的每一個(gè)摩爾比分析數(shù)據(jù)均由工業(yè)在線色譜儀以RS-485串行通信方式實(shí)時(shí)傳輸過來。
圖5,圖6分別為單管裝置DCS連續(xù)記錄的工業(yè)在線質(zhì)譜儀常量組分和微量組分分析數(shù)據(jù)的歷史趨勢。其中的每一個(gè)摩爾比分析數(shù)據(jù)均由工業(yè)在線質(zhì)譜儀以Modbus協(xié)議的RS-485串行通信方式實(shí)時(shí)傳輸過來。
在銀催化劑中試評價(jià)裝置中,利用RS-485串行通信方式,實(shí)現(xiàn)了DCS與工業(yè)在線質(zhì)譜儀及色譜儀之間準(zhǔn)確的數(shù)字化數(shù)據(jù)通信。通過對工業(yè)在線質(zhì)譜儀及色譜儀操作軟件進(jìn)行二次開發(fā),運(yùn)用給每個(gè)分析數(shù)據(jù)乘以一個(gè)獨(dú)立的放大倍數(shù)的方法,有效地增加了內(nèi)存寄存器分析數(shù)據(jù)的有效存儲(chǔ)容量,提高了DCS與工業(yè)在線質(zhì)譜儀及色譜儀之間數(shù)據(jù)傳輸?shù)臏?zhǔn)確性、可靠性和傳輸速度。實(shí)現(xiàn)了DCS對裝置各系統(tǒng)的統(tǒng)一監(jiān)控、控制、管理等功能,提高了裝置的整體自動(dòng)化水平和管理水平。
[1] 周慶平,黃銳.聚丙烯裝置閃蒸系統(tǒng)中工業(yè)氣相色譜與DCS配合使用的實(shí)施[J].石油化工自動(dòng)化,1999,35(05):70-71.
[2] 苗東生,王世杰,王立奉.AA工業(yè)色譜儀與CENTUM-XL間數(shù)據(jù)通信的實(shí)現(xiàn)[J].中國儀器儀表,2003(03):45-48.
[3] 火彩年,王毅.工業(yè)色譜儀和DCS之間的串行通信[J].石油化工自動(dòng)化,2006,42(05):78-80.
[4] 梁汝軍.DCS與質(zhì)譜儀之間基于Modbus協(xié)議的串行通信[J].石油化工自動(dòng)化,2008,44(06):60-62.
[5] 李楨.DCS與PLC的Modbus協(xié)議通信在石油化工廠的應(yīng)用[J].計(jì)算機(jī)應(yīng)用及軟件,2009(04):185-187.
[6] 高勇.Modbus通信協(xié)議在生產(chǎn)中的應(yīng)用[J].石油化工自動(dòng)化,2008,44(05):93-94.
[7] 周銘,劉曉軍,王箭,等.Modbus協(xié)議在CENTUM CS系統(tǒng)中的應(yīng)用[J].自動(dòng)化與儀器儀表,2008(02):51-53.
[8] 逯建權(quán),冉元.基于Modbus RTU協(xié)議的西門子S7-300PLC與艾默生DeltaV DCS串行通信[J].中國儀器儀表,2011(05):27-30.
[9] 王剛,王玉琪,王冰.用Modbus協(xié)議實(shí)現(xiàn)DCS與PLC之間的串行通信[J].自動(dòng)化技術(shù)與應(yīng)用,2010(04):45-47.
[10] 于樹新,戴毅姜,周黎輝,等.Modbus協(xié)議在DCS通信中的應(yīng)用[J].儀器儀表與分析監(jiān)測,2007(01):1-2.
[11] 孫月平,趙德安,曹莉.基于Modbus的智能工業(yè)控制器監(jiān)控系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(04):41-43.
[12] 合春紅,謝啟,顧啟民,等.智能電量變送及應(yīng)用研究[J].江蘇電器,2008(01):15-17.
[13] 黃瓊.基于Modbus協(xié)議的通信控制系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2008(01):43-44.
[14] 盧文俊,冷杉,楊建軍.基于Modbus協(xié)議的控制器遠(yuǎn)程監(jiān)控系統(tǒng)[J].電力自動(dòng)化設(shè)備,2003(06):54-56.