• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      常用設(shè)備串口通信協(xié)議及其應(yīng)用

      2011-07-26 11:03:44李煊丁為
      自動化儀表 2011年10期
      關(guān)鍵詞:校驗(yàn)碼通信協(xié)議天平

      李煊丁為

      (中石化上海石油化工研究院,上海 201208)

      0 引言

      上海石油化工研究院所用的實(shí)驗(yàn)裝置具有點(diǎn)數(shù)少、設(shè)備多樣化等特點(diǎn)。一套典型的小試裝置,控制點(diǎn)一般少于100個。這種規(guī)模的裝置用分布式控制系統(tǒng)(distributed control system,DCS)顯然不夠經(jīng)濟(jì)(集中評價部門除外)。因此,目前設(shè)計(jì)的微反、小試、中試裝置中,多使用“智能儀表+PLC”模式,其模擬量的測量控制(AI、AO)由智能儀表完成,開關(guān)量(DI、DO)的控制由PLC及相關(guān)電路完成。近年來,這種模式得到了上海石油化工研究院研究、管理部門的認(rèn)可。對于這種模式的監(jiān)控、操作、記錄平臺的實(shí)現(xiàn),工控機(jī)和串口編程技術(shù)成為了核心。本文列舉了幾種日常工作中常用設(shè)備的通信協(xié)議,并介紹了這些通信協(xié)議的應(yīng)用。

      1 AIBUS通信協(xié)議

      AIBUS是廈門宇電自動化科技有限公司為AI系列顯示控制儀表開發(fā)的通信協(xié)議,其使用異步串行通信接口,接口電平符合RS-232C或RS-485標(biāo)準(zhǔn)中的規(guī)定[1]。采用RS-485通信方式時,能通過簡單的指令實(shí)現(xiàn)儀表的全功能操作,并提供比其他常用協(xié)議(如Modbus)更快的速率。在9600 bit/s下,一般上位機(jī)訪問一臺7.0版儀表的平均時間約80 ms,但若采用AIBUS,一次性訪問56個通道只需1.2 s,平均訪問時間在20 ms左右。

      1.1 AIBUS 通信指令

      AI儀表采用16進(jìn)制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù),其軟件通信指令經(jīng)過優(yōu)化設(shè)計(jì),只有讀、寫兩條指令,從而使得上位機(jī)軟件的編寫更容易,且能夠100%地對儀表進(jìn)行操作。標(biāo)準(zhǔn)的讀寫指令如下。

      ①讀:地址代號+52H(82)+要讀的參數(shù)代號+0+0+校驗(yàn)碼。

      ②寫:地址代號+43H(67)+要寫的參數(shù)代號+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗(yàn)碼。

      參數(shù)代號是指在使用RS-485通信方式時,為在一個通信接口上連接多臺AI儀表,需要為每臺AI儀表編一個互不相同的通信地址,有效的地址為0~80。校驗(yàn)碼采用16位求和校驗(yàn)方式,其中讀指令的校驗(yàn)碼計(jì)算方法為要讀參數(shù)的代號×256+82+Addr。寫指令的校驗(yàn)碼計(jì)算方法為以下公式作16位二進(jìn)制加法計(jì)算得出的余數(shù)(溢出部分不處理):要寫的參數(shù)代號×256+67+要寫的參數(shù)值+Addr,余數(shù)為2個字節(jié),其低字節(jié)在前,高字節(jié)在后。公式中Addr為儀表地址參數(shù)值,范圍為0~80。要寫的參數(shù)值用16位二進(jìn)制整數(shù)表示。無論是讀還是寫,儀表都返回以下10個字節(jié)數(shù)據(jù),即測量值PV+給定值SV+輸出值MV及報(bào)警狀態(tài)+所讀/寫參數(shù)值+校驗(yàn)碼。其中,PV、SV及所讀參數(shù)值均各占2個字節(jié)、MV占1個字節(jié)、狀態(tài)位占1個字節(jié)、校驗(yàn)碼占2個字節(jié),共10個字節(jié)。

      1.2 讀表程序的邏輯框圖

      正常情況下,一臺儀表的通信時間不會超過100 ms。若在1 s內(nèi)不能完成通信,則認(rèn)為本次通信失敗,連續(xù)5次通信失敗則判斷為儀表通信故障;若在1 s內(nèi)完成通信且校驗(yàn)碼正確,則認(rèn)為儀表通信成功。在實(shí)際測試中,沒有發(fā)現(xiàn)校驗(yàn)碼錯誤例子。寫表程序類似,不再贅述。設(shè)計(jì)的讀表程序邏輯框圖如圖1所示。

      圖1 讀表程序邏輯框圖Fig.1 Logical diagram of communication programme for computer’s reading

      1.3 VB環(huán)境下的編程實(shí)例

      根據(jù)AIBUS協(xié)議,在我們的監(jiān)控軟件中,讀表程序主要部分描述如下。其中,out定義為字節(jié)型數(shù)組。

      1.4 應(yīng)用情況

      在實(shí)際工作中,通過使用AIBUS協(xié)議所編寫的程序,用戶可以在上位機(jī)上實(shí)現(xiàn)目標(biāo)值(多段控制值)的輸入、控制參數(shù)的修改和實(shí)時值(測量值、給定值、輸出值及報(bào)警狀態(tài))采集。以返回接收緩沖器的字節(jié)數(shù)等于10作為輸入結(jié)束的判斷,沒有發(fā)現(xiàn)過異常或者亂碼,AIBUS協(xié)議被認(rèn)為是目前所用各類通信協(xié)議中較為友好、穩(wěn)定的協(xié)議。

      2 FX2N系列PLC通信協(xié)議

      FX2N系列PLC與計(jì)算機(jī)間的通信類型有N∶N網(wǎng)絡(luò)、并行鏈接、計(jì)算機(jī)鏈接(用專用協(xié)議進(jìn)行數(shù)據(jù)傳送,RS-485/422)和無協(xié)議通信(用RS指令進(jìn)行數(shù)據(jù)傳輸)等[2]??紤]到系統(tǒng)點(diǎn)數(shù)少和工控機(jī)監(jiān)控的特點(diǎn),本文采用計(jì)算機(jī)鏈接通信。

      2.1 計(jì)算機(jī)鏈接指令

      計(jì)算機(jī)鏈接指令如表1所示,由此可以對PLC進(jìn)行全方位操作。

      表1 計(jì)算機(jī)鏈接指令表Tab.1 The table of computer linking instructions

      2.2 相關(guān)指令介紹

      常用的指令包括位軟元件成批讀指令(BR)和位軟元件成批寫指令(BW)。

      2.2.1 位軟元件成批讀(BR)指令

      BR指令協(xié)議格式為ENQ+站號+PC號+BR+等待時間+元件號+元件數(shù)+校驗(yàn)碼。其中,“ENQ”表示計(jì)算機(jī)查詢,其值為05H;“站號”表示如有N臺PLC,站號為00H~(N-1),十六進(jìn)制;“PC號”表示對于FX系列PLC,該號取值為FFH;“BR”表示批讀指令;“等待時間”的值根據(jù)需要設(shè)置;“元件號”表示一組位軟元件及其編號;“元件數(shù)”表示本次要同時讀的元件個數(shù)。

      PLC接受指令后的反饋值為 STX+站號 +PC號+指定元件數(shù)據(jù)+EXT+校驗(yàn)碼。其中,“STX”表示文本起點(diǎn),其值為02H;“EXT”表示文本終點(diǎn),其值為03H;“指定元件數(shù)據(jù)”取值為“0”或“1”,“0”代表“關(guān)”,“1”代表“開”。

      2.2.2 位軟元件成批寫(BW)指令

      BW指令協(xié)議格式為ENQ+站號+PC號+BW+等待時間+元件號+元件數(shù)+校驗(yàn)碼。除了指令字符為BW外,其他定義同2.2.1節(jié)。PLC接受指令后的反饋值為STX+站號+PC號。

      2.3 PLC 編程實(shí)例

      在研究院的各項(xiàng)試驗(yàn)中,工作程序往往是變化的,特別是某一工段的時間設(shè)置。對于這種工作狀態(tài),讓試驗(yàn)人員不斷地修改PLC程序并不現(xiàn)實(shí),自控人員也沒有時間和精力經(jīng)常去做這件事。為此,在PLC編程中,編制了兩套程序,分別用于2種工作狀態(tài)。

      ①PLC控制狀態(tài),適用于按照預(yù)先規(guī)定好的常規(guī)工作程序操作,此時計(jì)算機(jī)可以啟動/關(guān)閉現(xiàn)場設(shè)備和試驗(yàn)數(shù)據(jù)記錄。

      ②計(jì)算機(jī)控制狀態(tài),適用于不斷變化的工作程序。而這兩種狀態(tài)的切換,由計(jì)算機(jī)改變PLC中的輔助繼電器實(shí)現(xiàn)。當(dāng)計(jì)算機(jī)處于控制狀態(tài)時,PLC僅充當(dāng)DI、DO功能,并保留安全連鎖功能。

      按照上述思想編制的部分PLC程序梯形圖如圖2所示。

      圖2 PLC程序梯形圖(部分)Fig.2 Ladder diagram of PLC ladder program(partial)

      圖2中,M20為狀態(tài)切換的輔助繼電器,缺省值為PLC控制,X0003為連鎖保護(hù)輸入點(diǎn),在兩個狀態(tài)下都適用,Y0005為控制目標(biāo)輸出端,T0、T4為PLC的時間繼電器,分別代表開始、結(jié)束時間,M5為計(jì)算機(jī)控制所使用的輔助繼電器,其開關(guān)狀態(tài)由計(jì)算機(jī)規(guī)定,由此實(shí)現(xiàn)任意時間的設(shè)置。

      2.4 功能的實(shí)現(xiàn)指令

      改變M20,由PLC控制并切換成計(jì)算機(jī)控制的指令為:

      MSComm2.Output=Chr$(5)+"00FFBW0M002001156"

      閉合M5,使Y0005動作的指令為:

      MSComm2.Output=Chr$(5)+"00FFBW0M000501159"

      讀取Y0000~0007狀態(tài)的指令為:

      MSComm2.Output=Chr$(5)+"00FFBR0Y00000831"

      通過這些指令,可靈活地根據(jù)實(shí)際需要,使用計(jì)算機(jī)控制PLC的開關(guān)狀態(tài),達(dá)到計(jì)算機(jī)控制目的。

      2.5 實(shí)際應(yīng)用情況

      按上述思路設(shè)計(jì)的實(shí)驗(yàn)裝置和自行開發(fā)的程序,自2003年開始使用至今,除了電動機(jī)聯(lián)動限位開關(guān)長期使用損壞過外,其他控制部分沒有出過任何問題。

      PLC接受指令后的反饋值,作為通信成功的判定。其中通信故障判斷方法類似1.2節(jié),不再贅述。

      3 PL-L系列電子天平

      3.1 部分MT-SICS指令

      發(fā)送至天平的指令包含一個或多個ASCII碼組,因此,必須注意以下幾點(diǎn)[3]。

      ①只能使用大寫字母輸入指令;

      ②指令中的參數(shù)必須在指令名中以空格的形式分開;

      ③文字的輸入可以是8位ASCII字符集從字符32到255(十進(jìn)制)所構(gòu)成的一組字符串;

      ④每組指令必須以 CRLF結(jié)束(ASCII十進(jìn)制代碼13,10);

      例如,指令“SI”+CRLF為要求天平發(fā)送當(dāng)前穩(wěn)定的凈稱量值,天平返回值為“S S 100.00 g”。同時,天平可能返回其他信息,如“S I”,表示無法執(zhí)行指令(天平正執(zhí)行其他指令,如去皮或因未達(dá)到穩(wěn)定值指令已超時);返回“S+”時,表示天平過載,“S–”時,表示天平欠載。

      3.2 實(shí)際應(yīng)用情況

      上海石油化工研究院裝置中的電子天平(秤)一般都用于監(jiān)視原料(產(chǎn)物)的減少(增加),其屬于一個動態(tài)過程,故平時只使用該天平指令中的“SI”指令(立即發(fā)送稱量值),即MSComm3.Output=“SI”+vbCr+vbLf)。指令發(fā)出后,即可得到相應(yīng)值,按位數(shù)取出重量值及單位即可。

      但實(shí)際應(yīng)用中存在的問題是該天平的通信時間不穩(wěn)定。根據(jù)實(shí)測記錄,從指令發(fā)出到返回值接收,所用的時間是隨機(jī)變化的,從小于200 ms到大于2 s都有可能,這對故障判斷非常不利。在實(shí)際編程中,若連續(xù)10次通信時間超過2 s,則判斷該天平通信故障或者沒有上電,在發(fā)出故障通報(bào)后,停止對該天平的監(jiān)控。

      4 Mark天平/Q系列

      4.1 RS-232C 接口參數(shù)

      Mark天平/Q系列電子天平可以通過標(biāo)準(zhǔn)RS-232C接口,由計(jì)算機(jī)運(yùn)行各種功能[4]。天平操作按鍵與計(jì)算機(jī)指令對應(yīng)表如表2所示。

      表2 按鍵與指令對應(yīng)表Tab.2 Pushbuttons vs.computer instructions

      對于計(jì)算機(jī)通信設(shè)置,該系列天平提供了PC Cout(連續(xù))模式和PC Cmd(指令)模式兩種選項(xiàng)。這兩種模式的返回格式如表3所示。

      表3 返回值格式表Tab.3 Format(s)of the returned value(s)

      4.2 實(shí)際應(yīng)用情況

      連續(xù)模式不需要指令,天平會連續(xù)不斷地發(fā)送當(dāng)前的稱量值。由于沒有上下位機(jī)的協(xié)調(diào)動作,計(jì)算機(jī)首先取到的往往是亂碼。而指令模式僅能在稱重物質(zhì)量穩(wěn)定的情況下使用,否則會出現(xiàn)通信錯誤的提示。

      經(jīng)過分析,決定在連續(xù)模式下進(jìn)行“去偽存真”處理:將輸入數(shù)據(jù)緩沖區(qū)的長度定在50,約是輸入數(shù)據(jù)長度(15)的3倍;然后在大于一個數(shù)據(jù)段長度的第11位開始,找到重量單位“g”,再倒退11位,分析每一位是否為0~9的數(shù)字,并分析小數(shù)點(diǎn)和正負(fù)符號位的正確性,若滿足,則認(rèn)為這一段是有效值,否則再從下一個數(shù)據(jù)段進(jìn)行查找;若整個數(shù)據(jù)段都是亂碼,則放棄,重新取數(shù)。若重新取數(shù)5次,還沒有拿到正常數(shù)據(jù),則發(fā)出通信錯誤通報(bào)。

      根據(jù)實(shí)測情況,約每10組數(shù)中有一組亂碼,而且亂碼都出現(xiàn)在前幾個字符,這樣基本上保證了上述對策的有效性。經(jīng)過長時間的運(yùn)行,該對策經(jīng)受住考驗(yàn),使得計(jì)算機(jī)能夠按要求獲得相關(guān)數(shù)據(jù)。

      5 Lab alliance II型計(jì)量泵

      5.1 通信指令簡介

      Lab alliance II型計(jì)量泵配置了一個RS-232C通信接口,接口使用的是RJ-11接頭,與計(jì)算機(jī)上的9針串口的對應(yīng)關(guān)系如表4所示[5]。上位機(jī)可以對該泵進(jìn)行流量設(shè)置和啟停操作。

      表4 計(jì)量泵與RS-232C引腳的接線對照Tab.4 Connections between metering pump and RS-232C pins

      Lab alliance II型計(jì)量泵常用的通信指令有3條:①FL,x.xx表示設(shè)置流量為 x.xx mL/min 的指令,設(shè)置范圍由泵頭類型決定,如 0.01 到 0.09,0.1 到 39.9等;②RU表示設(shè)置泵運(yùn)行指令;③ST表示設(shè)置泵停止指令。

      5.2 實(shí)際使用情況

      VB 指令 MSComm7.Output== “FL,”+Text7.Text+vbCr+vbLf表示將指定的流量送入計(jì)量泵,MSComm7.Output=“RU” +vbCr+vbLf表示發(fā)出運(yùn)行指令,MSComm7.Output=“ST” +vbCr+vbLf表示發(fā)出停止指令

      泵在接收以上指令后,會反饋一個“OK”字符,表示通信成功。經(jīng)過多年的使用,該泵的通信較為穩(wěn)定,沒有出現(xiàn)過問題,但存在以下幾個缺點(diǎn)。

      ①接口使用的是RJ-11,需要專用卡鉗制作。

      ②沒有流量讀取指令,當(dāng)用戶在現(xiàn)場手動改變流量后,計(jì)算機(jī)不能獲得信息,此時若需要記錄,只能到計(jì)算機(jī)界面上修改(不下傳)。

      6 Valco公司八通閥

      整套八通閥由閥體、控制器、手操器、24 V直流電源以及相關(guān)連接電纜組成[6]??刂破魍ㄟ^RS-232C(RS-485可選)電纜與電腦連接。當(dāng)多臺閥與計(jì)算機(jī)相連時,可以使用該公司提供的并聯(lián)線,將多臺閥全部并聯(lián)后,接入計(jì)算機(jī)的一個串口。本項(xiàng)目使用了6臺(最多10臺)。閥之間通信的區(qū)分通過給每臺閥設(shè)置不同的ID號實(shí)現(xiàn)。

      6.1 常用指令介紹

      常用的指令有:VR,為顯示部件號和出廠日期;GOnn,為閥按照最短路徑走到nn位;CP,為顯示當(dāng)前通道數(shù);IDn,為設(shè)置 ID 號,從 0 ~9[7]。

      6.2 使用中遇到的問題

      類似上述恒流泵,許多指令如GOnn是沒有應(yīng)答的,這是因?yàn)橛?jì)算機(jī)無法得知指令是否被完整執(zhí)行。

      與供貨商討論的結(jié)果是在GOnn指令后,再加上一條CP指令,以讀取當(dāng)前的實(shí)際通道數(shù),用兩條指令滿足實(shí)際控制的要求。從表面上看,該邏輯是成立的,但在實(shí)際調(diào)試中,發(fā)現(xiàn)GOnn指令的完整執(zhí)行需要較長時間,例如閥從1號位到4號位接近1 s,在閥還沒有轉(zhuǎn)動到位時,CP已經(jīng)返回目標(biāo)值,而不是實(shí)際到位信息。

      這種現(xiàn)象在單個閥控制時不會出現(xiàn)問題,若多閥聯(lián)動且共用一條通信線時,則會造成通信上的堵塞。從控制器返回的信息可以發(fā)現(xiàn),許多正常的指令,在一定狀態(tài)下特別是通信繁忙的情況下,會被閥控制器判斷為無效指令。因此,在實(shí)際應(yīng)用中,只能在用戶可接受的范圍內(nèi)放慢運(yùn)行速度,以保證每個閥的轉(zhuǎn)動確實(shí)到位。

      7 結(jié)束語

      工控機(jī)及串口編程技術(shù)是中石化上海石油化工研究院裝置自控部分設(shè)計(jì)的核心,上述幾種串口通信協(xié)議及程序設(shè)計(jì)方法在裝置設(shè)計(jì)中均得到了較好的應(yīng)用。在實(shí)際的程序設(shè)計(jì)中,需要仔細(xì)分析各串口通信協(xié)議的內(nèi)容,根據(jù)各協(xié)議的不同特點(diǎn),靈活地調(diào)整設(shè)計(jì)方案,必要時還需要與生產(chǎn)商進(jìn)行溝通。

      [1]張磊.AIBUS現(xiàn)場通訊總線的PLC工控設(shè)計(jì)方案[J].MM現(xiàn)代制造,2006(9).

      [2]王芹,滕今朝.可編程控制器技術(shù)及應(yīng)用[M].天津:天津大學(xué)出版社,2008.

      [3]Mettler-Toledo Pac Rim AG.PL-L line of classic light balances[EB/OL].[2007-08-06].http://www.mt.com/classic.

      [4]BEL Engineering S R L.Analytical and top loading“Q”series MARK balances[EB/OL].[2009-10-15].http://www.belengineering.com/chi/menu_downloads.asp.

      [5]Scientic Systems,Inc.Series II pump user’s guide[EB/OL].[2009-07-09].http://www.laballiance.com/Pdf/active/pumps/Series_II.pdf.

      [6]Valco Instruments Co.Inc.Technical note 415:multi-position microelectric valve actuators[EB-OL][2011-07-02].http:∥wenku.baidu.com/view/014a870a763231126edb1183.html.

      猜你喜歡
      校驗(yàn)碼通信協(xié)議天平
      說說天平的使用
      天平使用前后的兩次平衡
      天平的平衡
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
      基于Excel實(shí)現(xiàn)書號校驗(yàn)碼的驗(yàn)證
      基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
      基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計(jì)與實(shí)現(xiàn)
      電測與儀表(2016年2期)2016-04-12 00:24:52
      基于FPGA的循環(huán)冗余校驗(yàn)碼設(shè)計(jì)
      電子世界(2015年14期)2015-11-07 05:32:29
      身份證號碼中的數(shù)學(xué)
      RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡介
      虞城县| 彰化县| 景谷| 石门县| 拜泉县| 双辽市| 徐水县| 五大连池市| 麦盖提县| 苏州市| 屯昌县| 黄山市| 会宁县| 商南县| 沁阳市| 禄丰县| 恩施市| 图们市| 阿鲁科尔沁旗| 永州市| 商都县| 韩城市| 宜兰县| 黎城县| 芜湖县| 株洲市| 三门县| 巴东县| 海淀区| 阜城县| 宁武县| 齐齐哈尔市| 乐业县| 宕昌县| 南涧| 普兰县| 上蔡县| 杭锦后旗| 本溪市| 通榆县| 营口市|