亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        借助Simulink及ADAM模塊構(gòu)建半實(shí)物仿真系統(tǒng)

        2012-09-19 13:24:24鄒益民
        自動(dòng)化儀表 2012年10期
        關(guān)鍵詞:通信協(xié)議模擬量串口

        鄒益民 徐 赤

        (蘭州石化職業(yè)技術(shù)學(xué)院電子電氣系1,甘肅 蘭州 730060;杭州自動(dòng)化技術(shù)研究院2,浙江 杭州 310012)

        0 引言

        人們?cè)谠O(shè)計(jì)新的控制系統(tǒng)及控制算法的過程中,往往首先借助Matlab的Simulink工具箱完成建模和仿真,直至獲得滿意的仿真結(jié)果[1]。由于在此過程中,我們常常會(huì)忽略實(shí)際對(duì)象系統(tǒng)可能存在的部分?jǐn)_動(dòng)和噪聲,并對(duì)其數(shù)學(xué)模型作出某種假設(shè)和近似,因而造成仿真與實(shí)際應(yīng)用相脫節(jié),導(dǎo)致設(shè)計(jì)好的控制器與實(shí)際被控對(duì)象相聯(lián)時(shí),控制效果與仿真結(jié)果有較大出入。

        Simulink提供實(shí)時(shí)仿真環(huán)境(real-time workshop,RTW)解決上述問題[2-4]。RTW 支持快速原型化及嵌入式目標(biāo)設(shè)計(jì)兩種類型的實(shí)時(shí)系統(tǒng)構(gòu)建,但這兩類方法或需要專用的板卡,或需要專門設(shè)計(jì)的嵌入式工控機(jī)系統(tǒng),應(yīng)用受到很大限制。本文探討了使用Simulink串行通信模塊以及高性價(jià)比的ADAM-4000模塊構(gòu)建簡易半實(shí)物實(shí)時(shí)仿真系統(tǒng)的實(shí)施方案。

        1 Simulink及串口通信模塊簡介

        Simulink是MathWorks公司于1990年推出的產(chǎn)品,可用于動(dòng)態(tài)系統(tǒng)建模、仿真和分析。從Matlab6.0版本開始,MathWorks公司在軟件中增加了設(shè)備控制工具箱,提供了Simulink軟件環(huán)境與外界進(jìn)行串口通信的專用模塊庫[5]。該庫包括以下兩組串口通信模塊:To Instrument和Query Instrument模塊組以及 Serial Configuration、Serial Send和Serial Receive模塊組。前一組模塊除支持串口接口外,還支持GPIB、TCP/IP及USB等多種外部接口;后一組模塊專用于串口通信。

        本方案使用后一組模塊實(shí)現(xiàn)串口通信,該組模塊的功能說明如下。

        ①Serial Configuration模塊用于配置串行口參數(shù)??芍付ù谔?hào)、數(shù)據(jù)傳輸?shù)牟ㄌ芈?、?shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗(yàn)?zāi)J降取?/p>

        ②Serial Send模塊用于向串口發(fā)送二進(jìn)制數(shù)據(jù)??芍付òl(fā)送數(shù)據(jù)的類型、數(shù)據(jù)發(fā)送的前導(dǎo)及結(jié)束字符等。

        ③Serial Receive模塊用于通過串口獲取遠(yuǎn)程數(shù)據(jù)。配置功能與Serial Send模塊相似。

        2 ADAM-4000系列應(yīng)用模塊簡介

        研華ADAM-4000是一種應(yīng)用廣泛、性價(jià)比高的智能接口模塊。該系列模塊均支持RS-485串行異步半雙工通信,通信協(xié)議除支持Advantech ASCII協(xié)議外,個(gè)別模塊還支持Modbus/遠(yuǎn)程終端單元協(xié)議(remote terminal unit,RTU),從而確保其與任何計(jì)算機(jī)及工業(yè)控制系統(tǒng)均具有良好的兼容性[6]。

        2.1 常用模擬量輸入輸出模塊簡介

        ADAM模塊種類繁多,功能齊全,其中,ADAM-4018+和ADAM-4024兩模塊可方便地與常見的傳感器、變送器、執(zhí)行器等配合,為計(jì)算機(jī)控制提供現(xiàn)場接口。兩模塊功能簡述如下。

        ①ADAM-4018+模擬量輸入模塊:8路16位分辨率模擬量差分輸入模塊,支持各型熱電偶及±20 mA、4~20 mA電流輸入。

        ②ADAM-4024模擬量輸出模塊:4路12位分辨率模擬量輸出模塊,支持0~20 mA、4~20 mA、±10 V輸出。

        上述兩模塊均支持Advantech ASCII和Modbus/RTU通信協(xié)議。

        由于Modbus協(xié)議具有更高的傳輸速率、可靠性和通用性,故本方案選用其作為Simulink與ADAM模塊間的通信協(xié)議。

        2.2 Modbus寄存器與信號(hào)值的對(duì)應(yīng)關(guān)系

        使用Modbus協(xié)議通信時(shí),通過讀寫指定的寄存器即可獲得模塊的輸入輸出信號(hào)值。依據(jù)模塊的采樣分辨率和信號(hào)范圍,其對(duì)應(yīng)關(guān)系如下所述。

        ①ADAM-4018+模擬量輸入模塊

        該模塊分辨率為16位,其輸入測量值大小可由式(1)計(jì)算:

        式中:areg為Modbus模入寄存器的讀出值;L1、L0分別為被測信號(hào)的上、下限;d為計(jì)算所得的信號(hào)測量值。

        如被測信號(hào)為4~20 mA電流,寄存器讀出值為29FDH,則對(duì)應(yīng)的電流測量值為:

        ②ADAM-4024模擬量輸出模塊

        該模塊分辨率為12位,其輸出信號(hào)值大小可由式(2)計(jì)算:

        式中:areg為Modbus模出寄存器的讀出值;L1、L0分別為輸出信號(hào)的上、下限;d為計(jì)算所得信號(hào)輸出值。

        如輸出為0~20 mA電流,則6EFH對(duì)應(yīng)的電流輸出值為:

        d=6EFH ×20/4 095=1 775×20/4 095=8.67 mA

        2.3 ADAM-4000通信協(xié)議配置

        將ADAM-4000模塊狀態(tài)撥至INIT狀態(tài),并通過ADAM-4000-5000 Utility軟件,即可將通信協(xié)議設(shè)置為Advantech ASCII或 Modbus。

        3 Modbus通信協(xié)議

        3.1 Modbus協(xié)議簡介

        Modbus協(xié)議采用RS-485或RS-232作為其物理層,數(shù)據(jù)通信基于主-從技術(shù),僅主設(shè)備能初始化傳輸,而從設(shè)備則只能對(duì)主設(shè)備查詢請(qǐng)求作出響應(yīng)[7-8]。Modbus協(xié)議的傳輸模式又可細(xì)分為ASCII和遠(yuǎn)程終端單元(RTU)兩種模式。

        ①ASCII模式:消息中的每個(gè)字節(jié)(8 bit)都作為兩個(gè)ASCII字符發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到1 s而不產(chǎn)生錯(cuò)誤,適用于慢速網(wǎng)絡(luò)。

        ②RTU模式:消息中的每個(gè)字節(jié)(8 bit)包含兩個(gè)4 bit的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是傳輸速率較高。本方案即采用這種傳輸模式。

        為保證數(shù)據(jù)傳輸?shù)母呖煽啃裕琈odbus提供了多種錯(cuò)誤校驗(yàn)方法。奇偶校驗(yàn)可作用于每個(gè)字符;幀校驗(yàn)縱向冗余碼(longitudinal redundancy check,LRC)和循環(huán)冗余碼(cyclic redundancy check,CRC)則作用于整個(gè)消息幀,分別適用于ASCII和RTU傳輸模式。

        3.2 Modbus功能碼實(shí)例

        3.2.1 讀取模入狀態(tài)(功能碼04)

        本功能可使主站獲得從站的模擬量輸入值。主站命令幀中可指定從哪一個(gè)模擬量開始,連續(xù)讀取多少模擬量(每路模擬量包含2個(gè)字節(jié),高位在前、低位在后)。從站應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的模擬量數(shù)據(jù)。

        以下為讀取17號(hào)節(jié)點(diǎn)模入點(diǎn)0108~0110的數(shù)值示例,各模入點(diǎn)讀出值分別為555(022BH)、0及100(0064H)。

        ①查詢RTU幀

        讀取模入狀態(tài)的查詢RTU幀格式如圖1所示。

        圖1 讀模入狀態(tài)的查詢RTU幀F(xiàn)ig.1 RTU query frame of reading analog inputs

        ②應(yīng)答RTU幀

        讀取模入狀態(tài)的應(yīng)答RTU幀格式如圖2所示。

        圖2 讀模入狀態(tài)的應(yīng)答RTU幀F(xiàn)ig.2 RTU response frame of reading analog inputs

        3.2.2 強(qiáng)制單路模出(功能碼06)

        本功能可使主站設(shè)定從站某路模擬量輸出的值。主站命令幀中可指定將哪一路模擬量輸出值修改為預(yù)定值。從站正常應(yīng)答是將報(bào)文原文發(fā)回。以下為強(qiáng)制17號(hào)從站模出點(diǎn)136為039EH的示例,給出了強(qiáng)制模出狀態(tài)的查詢、應(yīng)答RTU幀格式。

        ①查詢RTU幀

        強(qiáng)制模出狀態(tài)的查詢RTU幀格式如圖3所示。

        圖3 強(qiáng)制模出狀態(tài)的查詢RTU幀F(xiàn)ig.3 RTU query frame of enforcing analog output

        ②應(yīng)答RTU幀

        強(qiáng)制模出狀態(tài)的應(yīng)答RTU幀格式如圖4所示。

        圖4 強(qiáng)制模出狀態(tài)的應(yīng)答RTU幀F(xiàn)ig.4 RTU response frame of enforcing analog output

        4 方案實(shí)施

        4.1 系統(tǒng)組成框圖

        系統(tǒng)框圖如圖5所示。其中,虛線框中部分由Simulink軟件實(shí)現(xiàn)所需的控制算法及與ADAM模塊的RS-485通信功能;ADAM-4018+用于獲取測量變送器給出的4~20 mA電流信號(hào),并通過RS-485接口發(fā)送至Simulink軟件(Modbus總線地址為2,讀模入功能碼為04);Simulink軟件通過RS-485接口給出控制輸出信號(hào)(Modbus總線地址為3,強(qiáng)制單路輸出功能碼為06),再經(jīng)ADAM-4024轉(zhuǎn)換為0~20 mA輸出電流,驅(qū)動(dòng)執(zhí)行機(jī)構(gòu),最終達(dá)到對(duì)被控對(duì)象的控制目標(biāo)。

        圖5 仿真系統(tǒng)組成框圖Fig.5 Composition of the simulation system

        Simulink功能模塊連接圖如圖6所示。

        圖6 Simulink功能模塊連接圖Fig.6 Connections of Simulink functional modules

        由ADAM-4018+給出的測量信號(hào),經(jīng)Simulink中的串口接收模塊接收后,通過自定義的“接收響應(yīng)串分析處理函數(shù)”,獲得被控參數(shù)的測量值。該測量值經(jīng)PID模塊實(shí)現(xiàn)運(yùn)算處理后,轉(zhuǎn)換為4~20 mA輸出值。該輸出值再經(jīng)自定義的“發(fā)送命令串生成函數(shù)”,由Simulink中的串口發(fā)送模塊發(fā)送至ADAM-4024模塊,用于驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)。圖6中的串口組態(tài)模塊用于完成串行口配置。在此,串行口為COM1,波特率為9 600 bit/s,8個(gè)數(shù)據(jù)位,1個(gè)停止位,無奇偶校驗(yàn)。

        4.2 Modbus數(shù)據(jù)編解碼嵌入式函數(shù)說明

        Simulink可使用內(nèi)置于Matlab/Simulink中的豐富的各類功能模塊,也允許用戶使用嵌入式函數(shù)或是S函數(shù)創(chuàng)建用戶自定義模塊[9]。其中,嵌入式函數(shù)與Matlab的M-函數(shù)語法結(jié)構(gòu)非常相似,方便熟悉Matlab的使用者掌握與應(yīng)用。而S函數(shù)則是一種具有特殊調(diào)用格式的 Matlab函數(shù),可通過 Matlab、C、C++、Fortran等語言編寫,功能強(qiáng)大,但使用也更加復(fù)雜。本方案借助嵌入式函數(shù),實(shí)現(xiàn)如圖6所示的“發(fā)送命令串生成函數(shù)”和“接收響應(yīng)串分析處理函數(shù)”功能模塊。

        4.2.1 CRC-16 循環(huán)冗余碼計(jì)算

        計(jì)算CRC-16碼的功能可由查表法快速完成[10],因篇幅所限,此處略去。

        4.2.2 發(fā)送命令串產(chǎn)生

        以下程序用于產(chǎn)生發(fā)送命令串,實(shí)現(xiàn)ADAM-4024模出值修改和ADAM-4018+模入值讀取功能。

        4.2.3 響應(yīng)串接收

        由于ADAM-4018+與ADAM-2024響應(yīng)串的長度不同,分別為7 B與8 B,故程序中使用內(nèi)部緩沖區(qū)組合響應(yīng)串并進(jìn)行甄別及判讀。本部分程序框圖如圖7所示。

        圖7 響應(yīng)串處理程序框圖Fig.7 Processing program of the response string

        讀ADAM-4024通道0模出值的程序如下。

        5 結(jié)束語

        由于Simulink的純數(shù)字仿真往往難以精確模擬真實(shí)的控制對(duì)象,本文給出了一種使用ADAM-4000模塊構(gòu)成現(xiàn)場接口的簡易半實(shí)物仿真控制系統(tǒng)及其詳細(xì)硬軟件實(shí)現(xiàn)方案。通過簡單的PID仿真實(shí)例表明,本文所述方法將控制算法應(yīng)用于實(shí)際的被控對(duì)象,可獲得更真實(shí)的控制效果。

        借助本文提出的方法可有效縮短控制系統(tǒng)及算法設(shè)計(jì)的研發(fā)周期,滿足控制器設(shè)計(jì)靈活性和快速性的需要,為高級(jí)控制算法的研究和驗(yàn)證提供了一個(gè)良好的實(shí)驗(yàn)平臺(tái)。

        [1]魏克新,工石亮,陳志敏,等.MATLAB語言與自動(dòng)控制系統(tǒng)設(shè)計(jì)[M].2版.北京:機(jī)械工業(yè)出版社,2004.

        [2]徐國政,陳勇.基于Matlab/xPC Target的數(shù)據(jù)采集系統(tǒng)[J].微計(jì)算機(jī)信息,2005(1):63 -64.

        [3]李根,唐臻宇,耿海翔,等.基于Matlab/RTW的控制系統(tǒng)一體化新型設(shè)計(jì)方法[J].中國測試,2010,36(1):75 -77.

        [4]齊振恒,孫中杰,李濤.RTW嵌入式代碼自動(dòng)生成機(jī)制與代碼結(jié)構(gòu)分析[J].計(jì)算機(jī)測量與控制,2010,18(3):639 -642.

        [5]趙云鵬.MATLAB串口通信在數(shù)據(jù)采集中的應(yīng)用[J].微計(jì)算機(jī)信息,2006,22(1):111 -112.

        [6]李梅,段晨東,韓旻,等.基于ADAM模塊的恒溫恒濕空調(diào)監(jiān)控系統(tǒng)[J].儀表技術(shù)與傳感器,2008(2):74-75.

        [7]封亞斌.采用串口通信技術(shù)實(shí)現(xiàn)Modbus數(shù)據(jù)通信[J].自動(dòng)化儀表,2004,25(10):56 -58.

        [8]汪義旺,崔鳴,祁春清.RS-485/Modbus在FFU控制系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2010,31(6):39 -41,44.

        [9]陳永春.從Matlab/Simulink模型到代碼實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2002.

        [10]孟開元.Modbus通信協(xié)議中CRC校驗(yàn)的快速C語言算法[J].福建電腦,2004(11):63 -64.

        猜你喜歡
        通信協(xié)議模擬量串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        關(guān)于600MW火電機(jī)組模擬量控制系統(tǒng)設(shè)計(jì)和研究
        電子制作(2016年21期)2016-05-17 03:53:12
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        電測與儀表(2016年2期)2016-04-12 00:24:52
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        模擬量輸入式合并單元測試儀的研制
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        男人添女人囗交做爰视频| 国产精品亚洲一区二区三区正片 | 亚洲日本国产乱码va在线观看| 老熟妇嗷嗷叫91九色| 国产人妻高清国产拍精品| 亚洲av综合日韩| 九九99国产精品视频| 性色av一区二区三区四区久久 | 久久精品国产亚洲av网站| 色综合无码av网站| 国产亚洲日韩AV在线播放不卡| 人妻有码av中文幕久久| 精品国产青草久久久久福利| 亚洲色大成网站www尤物| 精品人妻av一区二区三区不卡| 日本一本一道久久香蕉男人的天堂| 人妻色综合网站| 欧美精品中文| 亚洲精品国产第一区三区| 中文字幕亚洲乱码成熟女1区| 中国熟妇人妻xxxxx| 91精品国产免费青青碰在线观看| 亚洲一区二区三区免费av| 欧美人与善在线com| 日产无人区一线二线三线新版| 91精品国产91久久久无码色戒| 久久熟女少妇一区二区三区| 欧美大屁股xxxx高潮喷水| 少妇人妻在线视频| 国内自拍第一区二区三区| 人妻一区二区三区av| 亚洲欧美一区二区三区在线| 成人片99久久精品国产桃花岛| 精品人妻日韩中文字幕| 日韩精品专区av无码| 成在人线av无码免费| 国产一区,二区,三区免费视频 | av免费不卡国产观看| 国产精品国语对白露脸在线播放| 午夜精品一区二区久久做老熟女| 高级会所技师自拍视频在线|