常用設(shè)備串口通信協(xié)議及其應(yīng)用_第1頁
常用設(shè)備串口通信協(xié)議及其應(yīng)用_第2頁
常用設(shè)備串口通信協(xié)議及其應(yīng)用_第3頁
常用設(shè)備串口通信協(xié)議及其應(yīng)用_第4頁
常用設(shè)備串口通信協(xié)議及其應(yīng)用_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、修改稿收到日期:20110309。第一作者李煊,男,1964年生,1986年畢業(yè)于武漢大學(xué)光學(xué)專業(yè),獲學(xué)士學(xué)位,高級工程師;主要從事分析儀器、自控技術(shù)方面的研究。常用設(shè)備串口通信協(xié)議及其應(yīng)用Serial Communication Protocols of Commonly Used Equipment and Their Applications李煊丁為(中石化上海石油化工研究院,上海201208摘要:介紹了研究院常用設(shè)備的幾種串口通信協(xié)議及其在軟件設(shè)計中的應(yīng)用。說明了各通信協(xié)議的協(xié)議內(nèi)容、通信格式以及根據(jù)各通信協(xié)議所開發(fā)的VB 程序。對幾種串口通信協(xié)議在實際應(yīng)用中遇到的問題進行了分析,并給

2、出了解決方案。實踐證明,根據(jù)這些協(xié)議所設(shè)計的程序均能夠達到控制要求,使設(shè)備穩(wěn)定、可靠地運行。關(guān)鍵詞:實驗裝置通信協(xié)議控制指令VB中圖分類號:TP29文獻標志碼:AAbstract :Several serial communication protocols for commonly used equipment in institutes and their application in software design are intro-ducedThe contents and communication format of each communication protocol and

3、 the VB program developed in accordance with the protocol are describedThe problems existing in practical application of several serial communication protocols are analyzed ,and the solutions are givenThe practice verifies that all the programs designed in accordance with these protocols can meet co

4、ntrol requirement and make the equip-ment operate stably and reliablyKeywords :Experimental equipmentCommunication protocolControlInstructionVB0引言上海石油化工研究院所用的實驗裝置具有點數(shù)少、設(shè)備多樣化等特點。一套典型的小試裝置,控制點一般少于100個。這種規(guī)模的裝置用分布式控制系統(tǒng)(distributed control system ,DCS 顯然不夠經(jīng)濟(集中評價部門除外。因此,目前設(shè)計的微反、小試、中試裝置中,多使用“智能儀表+PLC ”模式,

5、其模擬量的測量控制(AI 、AO 由智能儀表完成,開關(guān)量(DI 、DO 的控制由PLC 及相關(guān)電路完成。近年來,這種模式得到了上海石油化工研究院研究、管理部門的認可。對于這種模式的監(jiān)控、操作、記錄平臺的實現(xiàn),工控機和串口編程技術(shù)成為了核心。本文列舉了幾種日常工作中常用設(shè)備的通信協(xié)議,并介紹了這些通信協(xié)議的應(yīng)用。1AIBUS 通信協(xié)議AIBUS 是廈門宇電自動化科技有限公司為AI 系列顯示控制儀表開發(fā)的通信協(xié)議,其使用異步串行通信接口,接口電平符合RS-232C 或RS-485標準中的規(guī)定1。采用RS-485通信方式時,能通過簡單的指令實現(xiàn)儀表的全功能操作,并提供比其他常用協(xié)議(如Modbus

6、更快的速率。在9600bit /s 下,一般上位機訪問一臺70版儀表的平均時間約80ms ,但若采用AIBUS ,一次性訪問56個通道只需12s ,平均訪問時間在20ms 左右。11AIBUS 通信指令A(yù)I 儀表采用16進制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù),其軟件通信指令經(jīng)過優(yōu)化設(shè)計,只有讀、寫兩條指令,從而使得上位機軟件的編寫更容易,且能夠100%地對儀表進行操作。標準的讀寫指令如下。讀:地址代號+52H (82+要讀的參數(shù)代號+0+0+校驗碼。寫:地址代號+43H (67+要寫的參數(shù)代號+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗碼。參數(shù)代號是指在使用RS-485通信方式時,為在一個通信接口上連接多

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

8、均各占2個字節(jié)、MV 占1個字節(jié)、狀態(tài)位占1個字節(jié)、校驗碼占2個字節(jié),共10個字節(jié)。12讀表程序的邏輯框圖正常情況下,一臺儀表的通信時間不會超過100ms 。若在1s 內(nèi)不能完成通信,則認為本次通信失敗,連續(xù)5次通信失敗則判斷為儀表通信故障;若在1s 內(nèi)完成通信且校驗碼正確,則認為儀表通信成功。在實際測試中,沒有發(fā)現(xiàn)校驗碼錯誤例子。寫表程序類似,不再贅述。設(shè)計的讀表程序邏輯框圖如圖1所示。 圖1讀表程序邏輯框圖Fig1Logical diagram of communication programme for computer s reading 13VB 環(huán)境下的編程實例根據(jù)AIBUS 協(xié)議

9、,在我們的監(jiān)控軟件中,讀表程序主要部分描述如下。其中,out 定義為字節(jié)型數(shù)組。MSComm1Portopen =True /打開通信口For add =1To 27/總共27個儀表通道out (0=128+add /地址代號,下同out (1=128+add out (2=82/讀指令標志out (3=0out (4=0out (5=0crc =82+add crch =Int (crc /256/校驗碼高位計算crcl =crc crch *256/校驗碼低位計算out (6=crcl out (7=crchMSComm1Output =out /輸出讀表申請Do DoEventsLoop

10、 Until MSComm1InBufferCount =10/返回值完畢判斷Income =MSComm1Input/取出返回值/將返回值按協(xié)議解碼得到測量值、給定值、輸出值及報警狀態(tài)、所讀參數(shù)值、校驗碼。驗證校驗碼后,證明本次通信成功。Next add14應(yīng)用情況在實際工作中,通過使用AIBUS 協(xié)議所編寫的程序,用戶可以在上位機上實現(xiàn)目標值(多段控制值的輸入、控制參數(shù)的修改和實時值(測量值、給定值、輸出值及報警狀態(tài)采集。以返回接收緩沖器的字節(jié)數(shù)等于10作為輸入結(jié)束的判斷,沒有發(fā)現(xiàn)過異常或者亂碼,AIBUS 協(xié)議被認為是目前所用各類通信協(xié)議中較為友好、穩(wěn)定的協(xié)議。2FX2N 系列PLC 通

11、信協(xié)議FX2N 系列PLC 與計算機間的通信類型有NN 網(wǎng)絡(luò)、并行鏈接、計算機鏈接(用專用協(xié)議進行數(shù)據(jù)傳送,RS-485/422和無協(xié)議通信(用RS 指令進行數(shù)據(jù)傳輸?shù)???紤]到系統(tǒng)點數(shù)少和工控機監(jiān)控的特點,本文采用計算機鏈接通信。21計算機鏈接指令計算機鏈接指令如表1所示,由此可以對PLC 進行全方位操作。表1計算機鏈接指令表Tab1The table of computer linking instructions指令描述BR 位軟元件以1點為單元進行讀WR 位軟元件以16點為單元進行讀,或字軟元件以1位單元進行讀BW 位軟元件以1為點單元進行寫WW位軟元件以16點為單元進行寫,或字軟元件

12、以1位單元進行寫B(tài)T 位軟元件以1為點單元制定設(shè)置/復(fù)位(強制開/關(guān)WT 位軟元件以16為點單元制定設(shè)置/復(fù)位(強制開/關(guān),或字軟元件以1點為單元指定寫數(shù)據(jù)RR PLC 由遠程控制啟動RC PLC 由遠程控制停止PC 讀PLC 類型控制代碼GW 開/關(guān)所有連接的PLC 的全局信號接通要求功能(從PLC 發(fā)出發(fā)送請求,沒有命令TT從計算機接收到的字符被直接返回到計算機22相關(guān)指令介紹常用的指令包括位軟元件成批讀指令(BR 和位軟元件成批寫指令(BW 。221位軟元件成批讀(BR 指令BR 指令協(xié)議格式為ENQ +站號+PC 號+BR +等待時間+元件號+元件數(shù)+校驗碼。其中,“ENQ ”表示計算

13、機查詢,其值為05H ;“站號”表示如有N 臺PLC ,站號為00H (N 1,十六進制;“PC 號”表示對于FX 系列PLC ,該號取值為FFH ;“BR ”表示批讀指令;“等待時間”的值根據(jù)需要設(shè)置;“元件號”表示一組位軟元件及其編號;“元件數(shù)”表示本次要同時讀的元件個數(shù)。PLC 接受指令后的反饋值為STX +站號+PC 號+指定元件數(shù)據(jù)+EXT +校驗碼。其中,“STX ”表示文本起點,其值為02H ;“EXT ”表示文本終點,其值為03H ;“指定元件數(shù)據(jù)”取值為“0”或“1”,“0”代表“關(guān)”,“1”代表“開”。222位軟元件成批寫(BW 指令BW 指令協(xié)議格式為ENQ +站號+PC

14、 號+BW +等待時間+元件號+元件數(shù)+校驗碼。除了指令字符為BW 外,其他定義同221節(jié)。PLC 接受指令后的反饋值為STX +站號+PC 號。23PLC 編程實例在研究院的各項試驗中,工作程序往往是變化的,特別是某一工段的時間設(shè)置。對于這種工作狀態(tài),讓試驗人員不斷地修改PLC 程序并不現(xiàn)實,自控人員也沒有時間和精力經(jīng)常去做這件事。為此,在PLC 編程中,編制了兩套程序,分別用于2種工作狀態(tài)。PLC 控制狀態(tài),適用于按照預(yù)先規(guī)定好的常規(guī)工作程序操作,此時計算機可以啟動/關(guān)閉現(xiàn)場設(shè)備和試驗數(shù)據(jù)記錄。計算機控制狀態(tài),適用于不斷變化的工作程序。而這兩種狀態(tài)的切換,由計算機改變PLC 中的輔助繼電器

15、實現(xiàn)。當計算機處于控制狀態(tài)時,PLC 僅充當DI 、DO 功能,并保留安全連鎖功能。按照上述思想編制的部分PLC 程序梯形圖如圖2所示 。圖2PLC 程序梯形圖(部分Fig2Ladder diagram of PLC ladder program (partial 圖2中,M20為狀態(tài)切換的輔助繼電器,缺省值為PLC 控制,X0003為連鎖保護輸入點,在兩個狀態(tài)下都適用,Y0005為控制目標輸出端,T0、T4為PLC 的時間繼電器,分別代表開始、結(jié)束時間,M5為計算機控制所使用的輔助繼電器,其開關(guān)狀態(tài)由計算機規(guī)定,由此實現(xiàn)任意時間的設(shè)置。24功能的實現(xiàn)指令改變M20,由PLC 控制并切換成計算

16、機控制的指令為:MSComm 2Output =Chr ¥(5+"00FFBW 0M002001156"閉合M5,使Y0005動作的指令為:MSComm 2Output =Chr ¥(5+"00FFBW 0M000501159"讀取Y0000 0007狀態(tài)的指令為:MSComm2Output =Chr ¥(5+"00FFBR0Y00000831"通過這些指令,可靈活地根據(jù)實際需要,使用計算機控制PLC 的開關(guān)狀態(tài),達到計算機控制目的。25實際應(yīng)用情況按上述思路設(shè)計的實驗裝置和自行開發(fā)的程序,自2003年開始使用至今,除了電動機聯(lián)動限位

17、開關(guān)長期使用損壞過外,其他控制部分沒有出過任何問題。PLC 接受指令后的反饋值,作為通信成功的判定。其中通信故障判斷方法類似12節(jié),不再贅述。3PL-L 系列電子天平31部分MT-SICS 指令發(fā)送至天平的指令包含一個或多個ASCII 碼組,因此,必須注意以下幾點3。只能使用大寫字母輸入指令;指令中的參數(shù)必須在指令名中以空格的形式分開;文字的輸入可以是8位ASCII 字符集從字符32到255(十進制所構(gòu)成的一組字符串;每組指令必須以CRLF 結(jié)束(ASCII 十進制代碼13,10;例如,指令“SI ”+CRLF 為要求天平發(fā)送當前穩(wěn)定的凈稱量值,天平返回值為“S S10000g ”。同時,天平

18、可能返回其他信息,如“S I ”,表示無法執(zhí)行指令(天平正執(zhí)行其他指令,如去皮或因未達到穩(wěn)定值指令已超時;返回“S +”時,表示天平過載,“S ”時,表示天平欠載。32實際應(yīng)用情況上海石油化工研究院裝置中的電子天平(秤一般都用于監(jiān)視原料(產(chǎn)物的減少(增加,其屬于一個動態(tài)過程,故平時只使用該天平指令中的“SI ”指令(立即發(fā)送稱量值,即MSComm3Output =“SI ”+vbCr +vbLf 。指令發(fā)出后,即可得到相應(yīng)值,按位數(shù)取出重量值及單位即可。但實際應(yīng)用中存在的問題是該天平的通信時間不穩(wěn)定。根據(jù)實測記錄,從指令發(fā)出到返回值接收,所用的時間是隨機變化的,從小于200ms 到大于2s 都

19、有可能,這對故障判斷非常不利。在實際編程中,若連續(xù)10次通信時間超過2s,則判斷該天平通信故障或者沒有上電,在發(fā)出故障通報后,停止對該天平的監(jiān)控。4Mark天平/Q系列41RS-232C接口參數(shù)Mark天平/Q系列電子天平可以通過標準RS-232C接口,由計算機運行各種功能4。天平操作按鍵與計算機指令對應(yīng)表如表2所示。表2按鍵與指令對應(yīng)表Tab2Pushbuttons vscomputer instructions 代碼第一功能(單次按鍵第二功能(長時間按鍵“T”=H54“C”=H43“E”=H45“M”=H4D “O”=H4F “t”=H74“c”=H63“e”=H65“m”=H6D “o”

20、=H6F皮重校準插入菜單電源開/關(guān)皮重校準插入菜單電源開/關(guān)對于計算機通信設(shè)置,該系列天平提供了PC Cout (連續(xù)模式和PC Cmd(指令模式兩種選項。這兩種模式的返回格式如表3所示。表3返回值格式表Tab3Format(sof the returned value(s含義符號重量值重量單位穩(wěn)定性CR CF字節(jié)數(shù)12 910 1213141542實際應(yīng)用情況連續(xù)模式不需要指令,天平會連續(xù)不斷地發(fā)送當前的稱量值。由于沒有上下位機的協(xié)調(diào)動作,計算機首先取到的往往是亂碼。而指令模式僅能在稱重物質(zhì)量穩(wěn)定的情況下使用,否則會出現(xiàn)通信錯誤的提示。經(jīng)過分析,決定在連續(xù)模式下進行“去偽存真”處理:將輸入數(shù)

21、據(jù)緩沖區(qū)的長度定在50,約是輸入數(shù)據(jù)長度(15的3倍;然后在大于一個數(shù)據(jù)段長度的第11位開始,找到重量單位“g”,再倒退11位,分析每一位是否為0 9的數(shù)字,并分析小數(shù)點和正負符號位的正確性,若滿足,則認為這一段是有效值,否則再從下一個數(shù)據(jù)段進行查找;若整個數(shù)據(jù)段都是亂碼,則放棄,重新取數(shù)。若重新取數(shù)5次,還沒有拿到正常數(shù)據(jù),則發(fā)出通信錯誤通報。根據(jù)實測情況,約每10組數(shù)中有一組亂碼,而且亂碼都出現(xiàn)在前幾個字符,這樣基本上保證了上述對策的有效性。經(jīng)過長時間的運行,該對策經(jīng)受住考驗,使得計算機能夠按要求獲得相關(guān)數(shù)據(jù)。5Lab alliance II型計量泵51通信指令簡介Lab alliance

22、 II型計量泵配置了一個RS-232C通信接口,接口使用的是RJ-11接頭,與計算機上的9針串口的對應(yīng)關(guān)系如表4所示5。上位機可以對該泵進行流量設(shè)置和啟停操作。表4計量泵與RS-232C引腳的接線對照Tab4Connections between metering pump and RS-232C pins 泵(RJ-11功能計算機(DB96接地52DSR(輸入到泵43RXD(輸入到泵34TXD(從泵中輸出25DTR(從泵中輸出6Lab alliance II型計量泵常用的通信指令有3條:FL,xxx表示設(shè)置流量為xxx mL/min的指令,設(shè)置范圍由泵頭類型決定,如001到009,01到39

23、9等;RU表示設(shè)置泵運行指令;ST表示設(shè)置泵停止指令。52實際使用情況VB指令MSComm7Output=“FL,”+Text7Text+vbCr+vbLf表示將指定的流量送入計量泵, MSComm7Output=“RU”+vbCr+vbLf表示發(fā)出運行指令,MSComm7Output=“ST”+vbCr+vbLf 表示發(fā)出停止指令泵在接收以上指令后,會反饋一個“OK”字符,表示通信成功。經(jīng)過多年的使用,該泵的通信較為穩(wěn)定,沒有出現(xiàn)過問題,但存在以下幾個缺點。接口使用的是RJ-11,需要專用卡鉗制作。沒有流量讀取指令,當用戶在現(xiàn)場手動改變流量后,計算機不能獲得信息,此時若需要記錄,只能到計算機

24、界面上修改(不下傳。6Valco公司八通閥整套八通閥由閥體、控制器、手操器、24V直流電源以及相關(guān)連接電纜組成6??刂破魍ㄟ^RS-232C (RS-485可選電纜與電腦連接。當多臺閥與計算機相連時,可以使用該公司提供的并聯(lián)線,將多臺閥全部并聯(lián)后,接入計算機的一個串口。本項目使用了6臺(最多10臺。閥之間通信的區(qū)分通過給每臺閥設(shè)置不同的ID號實現(xiàn)。61常用指令介紹常用的指令有:VR,為顯示部件號和出廠日期; GOnn,為閥按照最短路徑走到nn位;CP,為顯示當前通道數(shù);IDn,為設(shè)置ID號,從0 97。62使用中遇到的問題類似上述恒流泵,許多指令如GOnn是沒有應(yīng)答的,這是因為計算機無法得知指令

25、是否被完整執(zhí)行。與供貨商討論的結(jié)果是在GOnn指令后,再加上一條CP指令,以讀取當前的實際通道數(shù),用兩條指令滿足實際控制的要求。從表面上看,該邏輯是成立的,但在實際調(diào)試中,發(fā)現(xiàn)GOnn指令的完整執(zhí)行需要較長時間,例如閥從1號位到4號位接近1s,在閥還沒有轉(zhuǎn)動到位時,CP已經(jīng)返回目標值,而不是實際到位信息。這種現(xiàn)象在單個閥控制時不會出現(xiàn)問題,若多閥聯(lián)動且共用一條通信線時,則會造成通信上的堵塞。從控制器返回的信息可以發(fā)現(xiàn),許多正常的指令,在一定狀態(tài)下特別是通信繁忙的情況下,會被閥控制器判斷為無效指令。因此,在實際應(yīng)用中,只能在用戶可接受的范圍內(nèi)放慢運行速度,以保證每個閥的轉(zhuǎn)動確實到位。7結(jié)束語工控

26、機及串口編程技術(shù)是中石化上海石油化工研究院裝置自控部分設(shè)計的核心,上述幾種串口通信協(xié)議及程序設(shè)計方法在裝置設(shè)計中均得到了較好的應(yīng)用。在實際的程序設(shè)計中,需要仔細分析各串口通信協(xié)議的內(nèi)容,根據(jù)各協(xié)議的不同特點,靈活地調(diào)整設(shè)計方案,必要時還需要與生產(chǎn)商進行溝通。參考文獻1張磊AIBUS現(xiàn)場通訊總線的PLC工控設(shè)計方案JMM現(xiàn)代制造,2006(92王芹,滕今朝可編程控制器技術(shù)及應(yīng)用M天津:天津大學(xué)出版社,20083Mettler-Toledo Pac Rim AGPL-L line of classic light balancesEB/OL20070806http:/wwwmtcom/classi

27、c4BEL Engineering S R LAnalytical and top loading“Q”seriesMARK balancesEB/OL20091015http:/wwwbe-lengineeringcom/chi/menu_downloadsasp5Scientic Systems,IncSeries II pump users guideEB/OL20090709http:/wwwlaballiancecom/Pdf/active/pumps/Series_IIpdf6Valco Instruments CoIncTechnical note415:multi-position micro-electric valve actuatorsEB-OL20110702http:wenku

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論