張弛,楊明,呂顯民
摘? 要: AS?i總線可以解決現(xiàn)有工業(yè)現(xiàn)場(chǎng)總線走線復(fù)雜、連接不便的的問題。為了擴(kuò)展控制器對(duì)AS?i接口的兼容,論述了AS?i的特點(diǎn)并且設(shè)計(jì)了AS?i通信接口來實(shí)現(xiàn)控制器與AS?i網(wǎng)絡(luò)通信的功能。根據(jù)現(xiàn)行GB/T18858.2?2012的規(guī)定,選用PIC16F916作為CPU,AS?i 4I?GE?MT作為通信轉(zhuǎn)換接口芯片,實(shí)現(xiàn)了控制器與AS?i網(wǎng)絡(luò)通信的功能。試驗(yàn)表明,該方案設(shè)計(jì)的接口可與各AS?i模塊進(jìn)行通信。
關(guān)鍵詞: AS?i; 現(xiàn)場(chǎng)布線; 通信接口; GB/T18858.2?2012
中圖分類號(hào): TN911?34???????????????????????? 文獻(xiàn)標(biāo)識(shí)碼: A????????????????????? 文章編號(hào): 1004?373X(2014)23?0025?03
Abstract: The technology of AS?i can solve the difficulty of wiring in industrial field. To extend the compatibility of the controller with AS?I, the characteristics of AS?i are described in this paper. The communication interface of AS?i was designed to rea?lize the function that the controller communicates with other slaves via AS?i. Based on GB/T18858.2?2012, PIC16F916 was chosen as CPU and AS?i4I?GE?MT as communication converting interface chip to realize the functions of the network communication of controller with AS?i. The testing results show that the interface designed in this paper can communicate with other AS?i mo?dules properly.
Keywords: AS?I; field wiring; communication interface; GB/T18858.2?2012
0? 引? 言
在工業(yè)現(xiàn)場(chǎng),最初的布線方式為并行走線,但是隨著生產(chǎn)對(duì)象越來越復(fù)雜,所需檢測(cè)、控制的點(diǎn)越來越多,若采取并行走線的方式,需要大量的線材并且不易于后期維護(hù)。AS?i總線采用兩線制的底層通信系統(tǒng),可以很好地解決上述問題,極大地簡(jiǎn)化安裝布線和后期維護(hù)工作,并且可以和多種總線相連,從而構(gòu)成工業(yè)控制系統(tǒng)。與其他總線相比,具有走線簡(jiǎn)潔方便、安裝快捷等優(yōu)點(diǎn)。
1? AS?i系統(tǒng)簡(jiǎn)介
AS?i(Actuator Sensor Interface)是傳感器/執(zhí)行器接口的縮寫,屬于底層設(shè)備級(jí)的總線系統(tǒng),是一種用來在控制器(主站Master)和傳感器/執(zhí)行器(從站Slave)之間雙向交換信息的主從結(jié)構(gòu)監(jiān)控網(wǎng)絡(luò)。
1.1? AS?i系統(tǒng)總體結(jié)構(gòu)
AS?i總線的總體結(jié)構(gòu)如圖1所示。來自控制器或者上層總線的數(shù)據(jù)經(jīng)AS?i主站轉(zhuǎn)換為AS?i特有的信號(hào),與AS?i其他從站進(jìn)行通信,AS?i電源提供穩(wěn)定的電源并且提高整個(gè)網(wǎng)絡(luò)的抗干擾能力。根據(jù)現(xiàn)行GB/T18858.2?2012標(biāo)準(zhǔn),AS?i系統(tǒng)是由單個(gè)主站和最多62個(gè)從站組成的一個(gè)主從通信系統(tǒng),每個(gè)從站都有自己特定的地址,它以非易失性的方式存儲(chǔ)在從站內(nèi)嵌的EEPROM中。主站可以更改每個(gè)連入AS?i網(wǎng)絡(luò)的從站的地址,0作為初次加入AS?i網(wǎng)絡(luò)從站的默認(rèn)地址,以易失性存儲(chǔ)方式存儲(chǔ)。
<;E:\2014年23期\2014年23期\Image\12t1.tif>;
圖1 AS?i系統(tǒng)結(jié)構(gòu)
AS?i采用曼徹斯特Ⅱ型編碼技術(shù),這種編碼技術(shù)的特點(diǎn)是數(shù)據(jù)自身帶時(shí)鐘信號(hào),從而保證了AS?i兩線制傳輸?shù)目赡?。信?hào)的調(diào)制采用交變脈沖調(diào)制方式,呈sin2形式的信號(hào)波形。如圖2所示,原始序列首先轉(zhuǎn)換為曼徹斯特Ⅱ型編碼結(jié)構(gòu),進(jìn)而在通信芯片的端口產(chǎn)生相應(yīng)的電流信號(hào),電流信號(hào)經(jīng)過調(diào)制器在電纜上轉(zhuǎn)換為sin2形式的信號(hào)波形,在信號(hào)接收端通過接收器重新建立原始序列。AS?i支持任意拓?fù)浣Y(jié)構(gòu),如環(huán)型、樹型、星型拓?fù)浣Y(jié)構(gòu),各個(gè)模塊都可以在網(wǎng)絡(luò)的任何位置連入。AS?i傳輸距離是100 m,在有中繼器的情況下可以拓展到300 m,在一般場(chǎng)合已完全能滿足需求。
<;E:\2014年23期\2014年23期\Image\12t2.tif>;
圖2 AS?i信號(hào)的調(diào)制
AS?i主從站之間通信采用特有的兩芯黃色扁平電纜進(jìn)行通信。該扁平電纜采用絕緣穿刺技術(shù),將連接件針頭按壓入可以做到即插即用,而且扁平電纜的橡膠有自愈性,即使經(jīng)過多次插拔后絕緣保護(hù)等級(jí)仍能達(dá)到IP67。但這并不表示AS?i必須采用扁平電纜,傳統(tǒng)的通信電纜也能保證正常通信。
AS?i標(biāo)準(zhǔn)電源包括直流電源、對(duì)稱電路以及去耦電路三個(gè)部分。它為整個(gè)總線系統(tǒng)提供電源,形成電壓信號(hào)并排除一般模式下的噪聲。
1.2? AS?i的技術(shù)特點(diǎn)
1.2.1? AS?i工作模式
AS?i的工作模式分為普通模式和擴(kuò)展地址模式,普通模式下系統(tǒng)最多可以連接31個(gè)從站。為了增加更多的從站,在現(xiàn)行的GB/T18858.2?2012中增加了擴(kuò)展地址模式,在不改變系統(tǒng)整體結(jié)構(gòu)的情況下,通過調(diào)整報(bào)文編碼結(jié)構(gòu)使得系統(tǒng)做多可以接掛62個(gè)從站。
1.2.2? AS?i通信規(guī)則
AS?i的通信方式分為單次事件處理和組合事件處理。單次事件處理類型包括數(shù)據(jù)交換、寫參數(shù)、地址分配等12種類型。由于每單個(gè)從站響應(yīng)只包含4位信息,當(dāng)涉及到多位數(shù)據(jù)傳輸?shù)臅r(shí)候需要通過組合事件處理的方式傳輸。組合事件處理就是由多個(gè)單次事件組成,不包含舊的版本的話,組合事件處理類型一共有12種,分別對(duì)應(yīng)16位輸入或輸出、串行通信現(xiàn)場(chǎng)設(shè)備等情況,基本上可以適應(yīng)各種不同的情況。
AS?i的位時(shí)間定義為6 μs,從而計(jì)算得出波特率約為167 Kb/s。
AS?i指令時(shí)序如圖3所示。
<;E:\2014年23期\2014年23期\Image\12t3.tif>;
圖3 AS?i指令時(shí)序
主站請(qǐng)求:1位起始位,5位地址,5位信息,1位奇偶校驗(yàn),1位結(jié)束位,共14位。
從站響應(yīng):1位起始位,4位信息,1位奇偶校驗(yàn),1位結(jié)束位,共7位。
其中主站暫停時(shí)間約為16 μs,從站暫停時(shí)間為9~12 μs,一次完整的通信過程時(shí)間約為152 μs。每次通信過程主站發(fā)送4位數(shù)據(jù)并采集從站響應(yīng)的4位數(shù)據(jù),計(jì)算得數(shù)據(jù)傳輸效率約為32%。
1.2.3? 從站描述文件
根據(jù)國(guó)標(biāo)GB/T18858.2?2012,為了提高執(zhí)行器和傳感器的互換性和系統(tǒng)的高度靈活性,通過片內(nèi)EEPROM存儲(chǔ)的十六進(jìn)制的I/O碼、ID碼、ID2碼來形成從站描述文件,從而確定一個(gè)從站的類型,不同的類型針對(duì)不同的工業(yè)現(xiàn)場(chǎng)情況。格式為S?[I/O碼].[ID碼].[ID2碼],其中ID2碼為可選,例如S?7.4或S?B.A.5。
2? AS?i接口的設(shè)計(jì)
2.1? 硬件部分
2.1.1? 選型
CPU及晶振:由于AS?i的工作方式為輪詢,所以需要不間斷地占用CPU對(duì)信號(hào)端口進(jìn)行掃描,因此AS?i接口需要單獨(dú)占用一個(gè)CPU。目前常用的單片機(jī)類型有51系列,PIC,AVR,MPS430等,但由于AS?i的位時(shí)間是6 μs,51系列一個(gè)指令周期需要12個(gè)時(shí)鐘周期,在運(yùn)行速度上很難達(dá)到要求。作為AS?i端口的CPU,需要非易失性存儲(chǔ)器存儲(chǔ)如預(yù)期從站列表之類的系統(tǒng)數(shù)據(jù),以便下次上電使用;在引腳數(shù)量選擇上面,需要有兩個(gè)引腳作為AS?i命令的接收發(fā)送端,預(yù)留20個(gè)引腳作為與上行總線通信和其他功能擴(kuò)展如數(shù)碼管顯示、LED指示燈等。綜合以上考慮選擇PIC16F916作為本設(shè)計(jì)的CPU。PIC16F916是28引腳IC,具有3個(gè)I/O端口,最高頻率可達(dá)20 MHz并且內(nèi)置256 B E2PROM,該芯片滿足上述要求。
PIC16F916有內(nèi)部RC振蕩器來提供時(shí)鐘源,并且相比于外部晶振,具有更高的的可靠性和抗干擾能力。但是內(nèi)部RC振蕩器精度不夠高,由于與PIC參與AS?i指令的生成,對(duì)晶振精度有較高的要求,所以采用外部晶振。在晶振頻率的選擇上,由于AS?i的位時(shí)間為6 μs并且采用曼徹斯特編碼,即要求相應(yīng)端口每3 μs產(chǎn)生一次電平變化,這就要求端口點(diǎn)評(píng)翻轉(zhuǎn)周期大不能超過3 μs,并且要求在出從站暫停期間可以進(jìn)行異常程序跳轉(zhuǎn)。PIC單片機(jī)一個(gè)機(jī)器周期等于四個(gè)時(shí)鐘周期,由于采用RISC指令集,除了程序跳轉(zhuǎn)類指令都是一個(gè)指令周期,8 MHz晶振的情況下執(zhí)行一條指令僅需05 μs,足以實(shí)現(xiàn)上述功能。
AS?i接口芯片的選擇:AS?i的接口芯片有SAP5,A2SI,AS?i4U三個(gè)系列。其中A2SI不支持3.0的協(xié)議,SAP5多了安全從站功能,但這個(gè)功能對(duì)于本文并不需要,所以選定AS?i4U。AS?i4U芯片是ZMDI公司專門為AS?i生產(chǎn)的通信接口芯片,28引腳封裝,可作為AS?i通信主站或者從站,具有數(shù)種片上數(shù)據(jù)預(yù)處理功能,符合GB/T18858.2?2012標(biāo)準(zhǔn)。
2.1.2? 外圍部件
(1) 對(duì)稱和去耦電路
由于AS?i4U芯片的引腳AS?i+,AS?i?產(chǎn)生的是電流信號(hào),并且為獲得高抗干擾能力,在不外接AS?i專用電源的情況下需要給AS?i接口設(shè)計(jì)對(duì)稱和去耦電路,其作用是將電流信號(hào)轉(zhuǎn)換成電壓信號(hào),構(gòu)成終端電阻,使總線對(duì)地對(duì)稱,去除噪聲。
(2) 濾波模塊
由于是兩線制工作,信號(hào)線與電源線共用,所以需要考慮在AS?i4U的電源引腳加濾波模塊。由于AS?i工作頻率在50~300 kHz之間并且產(chǎn)生的是電流信號(hào),要達(dá)到較好的濾波效果需要電容值比較大,采用電容倍增器進(jìn)行濾波。
(3) 上行部分
為排除CPU與上行總線通信引起的干擾,需要增加光隔模塊;需要注意的是由于AS?i傳輸速率為167 Kb/s,低速光隔無法滿足需求。型號(hào)為6N135的高速光耦,具有體積小、壽命長(zhǎng)、抗干擾性強(qiáng)、隔離電壓高、高速度、與TTL邏輯電平兼容等優(yōu)點(diǎn),可以滿足AS?i傳輸速度的要求。
(4) 降壓穩(wěn)壓電路
由于AS?i工作在24 V左右,而PIC16F916許用工作電壓范圍為2~5.5 V,需要降壓穩(wěn)壓模塊。降壓穩(wěn)壓部分選用常用的LM7805即可,需要注意的是LM7805散熱不好,在PCB布線的時(shí)候?qū)⑵渑c其他功耗原件分隔開來。若是對(duì)電壓穩(wěn)定性要求比較高,CPU工作電流不大散熱要求比較嚴(yán)格的情況下可以選用LM431。
2.2? 軟件部分
軟件部分程序流程圖如圖4所示。
<;E:\2014年23期\2014年23期\Image\12t4.tif>;
圖4 程序流程圖
2.2.1? 程序初始化
單片機(jī)初始化:國(guó)標(biāo)GB/T18858.2?2012規(guī)定起始位是1,由于AS?i采用曼徹斯特編碼,即應(yīng)該是負(fù)跳變,所以端口的初始狀態(tài)應(yīng)該是1,并且將各相關(guān)寄存器也設(shè)定為合適的值。
AS?i從站初始化:當(dāng)整個(gè)AS?i網(wǎng)絡(luò)從斷電狀態(tài)切換到上電狀態(tài)時(shí),網(wǎng)絡(luò)內(nèi)的從站處于未激活狀態(tài),這時(shí)從站是無法正常工作的。從站需要接收一個(gè)WPAR指令以激活從站,所以AS?i從站初始化函數(shù)需要從PIC內(nèi)置的EEPROM讀取出從站列表并進(jìn)行激活。
2.2.2? 數(shù)據(jù)采集
指令的生成:由于AS?i主站命令為14位并且包含從站地址和信息,每個(gè)命令隨著地址和信息的不同而不同,為了增強(qiáng)本AS?i接口的適用性,假設(shè)上位機(jī)不具備AS?i指令的生成和解析功能,這就需要有主站命令生成函數(shù)和從站回復(fù)解析函數(shù),并且還要有奇偶位生成和判定函數(shù),只有具備以上函數(shù)才能完成正常的AS?i指令的收發(fā)。由于命令的發(fā)送和接收都需要精準(zhǔn)的時(shí)序,所以為使匯編語言編程更加方便準(zhǔn)確,采用函數(shù)內(nèi)嵌匯編語言的方式進(jìn)行編程。
工作模式:AS?i有兩種工作模式,一種是普通的輪詢方式,但是這種方式下各個(gè)AS?i從站的數(shù)據(jù)輸入和輸出不是同時(shí)進(jìn)行的。為了能讓一定數(shù)量從站的I/O操作同時(shí)進(jìn)行,AS?i規(guī)定了一種叫做同步數(shù)據(jù)I/O的工作模式。同步數(shù)據(jù)I/O流程如下:在保持主從站之間正常通信準(zhǔn)則不變情況下,將從站接收到的DEXG作為觸發(fā)條件,此時(shí)接收到命令的從站不會(huì)更新I/O,直到主站以地址升序方式輪詢完整個(gè)AS?i系統(tǒng);當(dāng)主站再次發(fā)送具有最低地址的DEXG命令時(shí),觸發(fā)全部從站同時(shí)進(jìn)行I/O操作。
2.2.3? 狀態(tài)的更新
當(dāng)程序進(jìn)行完輪詢之后,需要進(jìn)行程序運(yùn)行狀態(tài)的更新操作如從站列表的更新,從站對(duì)應(yīng)I/O數(shù)據(jù)的更新,發(fā)送需要上傳給上層控制系統(tǒng)的數(shù)據(jù),接收并處理從上層控制系統(tǒng)發(fā)送來的數(shù)據(jù),生成相應(yīng)的命令,更新CPU狀態(tài)以及進(jìn)行系統(tǒng)錯(cuò)誤自檢。
2.2.4? 異常處理
程序的異常處理都經(jīng)由異常處理入口進(jìn)入相應(yīng)處理函數(shù)進(jìn)行處理,如主從站暫停時(shí)間過長(zhǎng)、數(shù)據(jù)結(jié)構(gòu)異常、從站報(bào)警、低電壓報(bào)警、上層網(wǎng)絡(luò)通信異常等各種異常情況都需要進(jìn)行相應(yīng)的處理。
3? 結(jié)? 論
經(jīng)過上述方法設(shè)計(jì)出的AS?i總線通信接口,已成功和AS?i從站進(jìn)行通信,且具有抗干擾能力。本文考慮到了工業(yè)現(xiàn)場(chǎng)的各種因素,采用單獨(dú)CPU處理通信功能,不占用上層網(wǎng)絡(luò)處理器的資源,實(shí)用性強(qiáng);軟件程序充分考慮了異常情況的發(fā)生,與AS?i規(guī)約相應(yīng)的錯(cuò)誤自檢功能相結(jié)合,可以很好地處理通信錯(cuò)誤并有較強(qiáng)的實(shí)時(shí)性。
參考文獻(xiàn)
[1] 陳一雷.AS?i總線的研究和系統(tǒng)設(shè)計(jì)[D].北京:清華大學(xué),2002.
[2] 王俊杰.一種新型的現(xiàn)場(chǎng)設(shè)備級(jí)監(jiān)控網(wǎng)絡(luò):AS?i總線[J].冶金自動(dòng)化,2000,24(3):18?22.
[3] 彭寬平.AS?Interface接口技術(shù)及應(yīng)用[J].控制工程,2004,11(6):28?31.
[4] 全國(guó)低壓電器標(biāo)準(zhǔn)化技術(shù)委員會(huì).GB/T 18858.2?2012低壓開關(guān)設(shè)備和控制設(shè)備控制器:設(shè)備接口(CDI) 第2部分:執(zhí)行器傳感器接口(AS?i)[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2012.
[5] 謝鋒然.PIC單片機(jī)原理及程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2013.
[6] Anon. AS?i bus operated sensors and actuators [C]// Procee?dings of Advances in Intelligent Systems.? Amsterdam, Netherlands: IOS Press, 1997: 56?62.
[7] 鄭旭.AS?i最簡(jiǎn)單的網(wǎng)絡(luò)解決方案[J].儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2004(3):31?34.
2.2? 軟件部分
軟件部分程序流程圖如圖4所示。
<;E:\2014年23期\2014年23期\Image\12t4.tif>;
圖4 程序流程圖
2.2.1? 程序初始化
單片機(jī)初始化:國(guó)標(biāo)GB/T18858.2?2012規(guī)定起始位是1,由于AS?i采用曼徹斯特編碼,即應(yīng)該是負(fù)跳變,所以端口的初始狀態(tài)應(yīng)該是1,并且將各相關(guān)寄存器也設(shè)定為合適的值。
AS?i從站初始化:當(dāng)整個(gè)AS?i網(wǎng)絡(luò)從斷電狀態(tài)切換到上電狀態(tài)時(shí),網(wǎng)絡(luò)內(nèi)的從站處于未激活狀態(tài),這時(shí)從站是無法正常工作的。從站需要接收一個(gè)WPAR指令以激活從站,所以AS?i從站初始化函數(shù)需要從PIC內(nèi)置的EEPROM讀取出從站列表并進(jìn)行激活。
2.2.2? 數(shù)據(jù)采集
指令的生成:由于AS?i主站命令為14位并且包含從站地址和信息,每個(gè)命令隨著地址和信息的不同而不同,為了增強(qiáng)本AS?i接口的適用性,假設(shè)上位機(jī)不具備AS?i指令的生成和解析功能,這就需要有主站命令生成函數(shù)和從站回復(fù)解析函數(shù),并且還要有奇偶位生成和判定函數(shù),只有具備以上函數(shù)才能完成正常的AS?i指令的收發(fā)。由于命令的發(fā)送和接收都需要精準(zhǔn)的時(shí)序,所以為使匯編語言編程更加方便準(zhǔn)確,采用函數(shù)內(nèi)嵌匯編語言的方式進(jìn)行編程。
工作模式:AS?i有兩種工作模式,一種是普通的輪詢方式,但是這種方式下各個(gè)AS?i從站的數(shù)據(jù)輸入和輸出不是同時(shí)進(jìn)行的。為了能讓一定數(shù)量從站的I/O操作同時(shí)進(jìn)行,AS?i規(guī)定了一種叫做同步數(shù)據(jù)I/O的工作模式。同步數(shù)據(jù)I/O流程如下:在保持主從站之間正常通信準(zhǔn)則不變情況下,將從站接收到的DEXG作為觸發(fā)條件,此時(shí)接收到命令的從站不會(huì)更新I/O,直到主站以地址升序方式輪詢完整個(gè)AS?i系統(tǒng);當(dāng)主站再次發(fā)送具有最低地址的DEXG命令時(shí),觸發(fā)全部從站同時(shí)進(jìn)行I/O操作。
2.2.3? 狀態(tài)的更新
當(dāng)程序進(jìn)行完輪詢之后,需要進(jìn)行程序運(yùn)行狀態(tài)的更新操作如從站列表的更新,從站對(duì)應(yīng)I/O數(shù)據(jù)的更新,發(fā)送需要上傳給上層控制系統(tǒng)的數(shù)據(jù),接收并處理從上層控制系統(tǒng)發(fā)送來的數(shù)據(jù),生成相應(yīng)的命令,更新CPU狀態(tài)以及進(jìn)行系統(tǒng)錯(cuò)誤自檢。
2.2.4? 異常處理
程序的異常處理都經(jīng)由異常處理入口進(jìn)入相應(yīng)處理函數(shù)進(jìn)行處理,如主從站暫停時(shí)間過長(zhǎng)、數(shù)據(jù)結(jié)構(gòu)異常、從站報(bào)警、低電壓報(bào)警、上層網(wǎng)絡(luò)通信異常等各種異常情況都需要進(jìn)行相應(yīng)的處理。
3? 結(jié)? 論
經(jīng)過上述方法設(shè)計(jì)出的AS?i總線通信接口,已成功和AS?i從站進(jìn)行通信,且具有抗干擾能力。本文考慮到了工業(yè)現(xiàn)場(chǎng)的各種因素,采用單獨(dú)CPU處理通信功能,不占用上層網(wǎng)絡(luò)處理器的資源,實(shí)用性強(qiáng);軟件程序充分考慮了異常情況的發(fā)生,與AS?i規(guī)約相應(yīng)的錯(cuò)誤自檢功能相結(jié)合,可以很好地處理通信錯(cuò)誤并有較強(qiáng)的實(shí)時(shí)性。
參考文獻(xiàn)
[1] 陳一雷.AS?i總線的研究和系統(tǒng)設(shè)計(jì)[D].北京:清華大學(xué),2002.
[2] 王俊杰.一種新型的現(xiàn)場(chǎng)設(shè)備級(jí)監(jiān)控網(wǎng)絡(luò):AS?i總線[J].冶金自動(dòng)化,2000,24(3):18?22.
[3] 彭寬平.AS?Interface接口技術(shù)及應(yīng)用[J].控制工程,2004,11(6):28?31.
[4] 全國(guó)低壓電器標(biāo)準(zhǔn)化技術(shù)委員會(huì).GB/T 18858.2?2012低壓開關(guān)設(shè)備和控制設(shè)備控制器:設(shè)備接口(CDI) 第2部分:執(zhí)行器傳感器接口(AS?i)[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2012.
[5] 謝鋒然.PIC單片機(jī)原理及程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2013.
[6] Anon. AS?i bus operated sensors and actuators [C]// Procee?dings of Advances in Intelligent Systems.? Amsterdam, Netherlands: IOS Press, 1997: 56?62.
[7] 鄭旭.AS?i最簡(jiǎn)單的網(wǎng)絡(luò)解決方案[J].儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2004(3):31?34.
2.2? 軟件部分
軟件部分程序流程圖如圖4所示。
<;E:\2014年23期\2014年23期\Image\12t4.tif>;
圖4 程序流程圖
2.2.1? 程序初始化
單片機(jī)初始化:國(guó)標(biāo)GB/T18858.2?2012規(guī)定起始位是1,由于AS?i采用曼徹斯特編碼,即應(yīng)該是負(fù)跳變,所以端口的初始狀態(tài)應(yīng)該是1,并且將各相關(guān)寄存器也設(shè)定為合適的值。
AS?i從站初始化:當(dāng)整個(gè)AS?i網(wǎng)絡(luò)從斷電狀態(tài)切換到上電狀態(tài)時(shí),網(wǎng)絡(luò)內(nèi)的從站處于未激活狀態(tài),這時(shí)從站是無法正常工作的。從站需要接收一個(gè)WPAR指令以激活從站,所以AS?i從站初始化函數(shù)需要從PIC內(nèi)置的EEPROM讀取出從站列表并進(jìn)行激活。
2.2.2? 數(shù)據(jù)采集
指令的生成:由于AS?i主站命令為14位并且包含從站地址和信息,每個(gè)命令隨著地址和信息的不同而不同,為了增強(qiáng)本AS?i接口的適用性,假設(shè)上位機(jī)不具備AS?i指令的生成和解析功能,這就需要有主站命令生成函數(shù)和從站回復(fù)解析函數(shù),并且還要有奇偶位生成和判定函數(shù),只有具備以上函數(shù)才能完成正常的AS?i指令的收發(fā)。由于命令的發(fā)送和接收都需要精準(zhǔn)的時(shí)序,所以為使匯編語言編程更加方便準(zhǔn)確,采用函數(shù)內(nèi)嵌匯編語言的方式進(jìn)行編程。
工作模式:AS?i有兩種工作模式,一種是普通的輪詢方式,但是這種方式下各個(gè)AS?i從站的數(shù)據(jù)輸入和輸出不是同時(shí)進(jìn)行的。為了能讓一定數(shù)量從站的I/O操作同時(shí)進(jìn)行,AS?i規(guī)定了一種叫做同步數(shù)據(jù)I/O的工作模式。同步數(shù)據(jù)I/O流程如下:在保持主從站之間正常通信準(zhǔn)則不變情況下,將從站接收到的DEXG作為觸發(fā)條件,此時(shí)接收到命令的從站不會(huì)更新I/O,直到主站以地址升序方式輪詢完整個(gè)AS?i系統(tǒng);當(dāng)主站再次發(fā)送具有最低地址的DEXG命令時(shí),觸發(fā)全部從站同時(shí)進(jìn)行I/O操作。
2.2.3? 狀態(tài)的更新
當(dāng)程序進(jìn)行完輪詢之后,需要進(jìn)行程序運(yùn)行狀態(tài)的更新操作如從站列表的更新,從站對(duì)應(yīng)I/O數(shù)據(jù)的更新,發(fā)送需要上傳給上層控制系統(tǒng)的數(shù)據(jù),接收并處理從上層控制系統(tǒng)發(fā)送來的數(shù)據(jù),生成相應(yīng)的命令,更新CPU狀態(tài)以及進(jìn)行系統(tǒng)錯(cuò)誤自檢。
2.2.4? 異常處理
程序的異常處理都經(jīng)由異常處理入口進(jìn)入相應(yīng)處理函數(shù)進(jìn)行處理,如主從站暫停時(shí)間過長(zhǎng)、數(shù)據(jù)結(jié)構(gòu)異常、從站報(bào)警、低電壓報(bào)警、上層網(wǎng)絡(luò)通信異常等各種異常情況都需要進(jìn)行相應(yīng)的處理。
3? 結(jié)? 論
經(jīng)過上述方法設(shè)計(jì)出的AS?i總線通信接口,已成功和AS?i從站進(jìn)行通信,且具有抗干擾能力。本文考慮到了工業(yè)現(xiàn)場(chǎng)的各種因素,采用單獨(dú)CPU處理通信功能,不占用上層網(wǎng)絡(luò)處理器的資源,實(shí)用性強(qiáng);軟件程序充分考慮了異常情況的發(fā)生,與AS?i規(guī)約相應(yīng)的錯(cuò)誤自檢功能相結(jié)合,可以很好地處理通信錯(cuò)誤并有較強(qiáng)的實(shí)時(shí)性。
參考文獻(xiàn)
[1] 陳一雷.AS?i總線的研究和系統(tǒng)設(shè)計(jì)[D].北京:清華大學(xué),2002.
[2] 王俊杰.一種新型的現(xiàn)場(chǎng)設(shè)備級(jí)監(jiān)控網(wǎng)絡(luò):AS?i總線[J].冶金自動(dòng)化,2000,24(3):18?22.
[3] 彭寬平.AS?Interface接口技術(shù)及應(yīng)用[J].控制工程,2004,11(6):28?31.
[4] 全國(guó)低壓電器標(biāo)準(zhǔn)化技術(shù)委員會(huì).GB/T 18858.2?2012低壓開關(guān)設(shè)備和控制設(shè)備控制器:設(shè)備接口(CDI) 第2部分:執(zhí)行器傳感器接口(AS?i)[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2012.
[5] 謝鋒然.PIC單片機(jī)原理及程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2013.
[6] Anon. AS?i bus operated sensors and actuators [C]// Procee?dings of Advances in Intelligent Systems.? Amsterdam, Netherlands: IOS Press, 1997: 56?62.
[7] 鄭旭.AS?i最簡(jiǎn)單的網(wǎng)絡(luò)解決方案[J].儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2004(3):31?34.