99爱免费_精品一区二区无码AV_欧美屁股xxxxx_日批视频国产_AV天堂亚洲区无码先锋影音_特黄A又粗又大又黄又爽A片

杭州盡享科技有限公司
免費會員

基于嵌入式Linux的無紙記錄儀通信設計

時間:2009/2/13閱讀:1555
分享:

引言

在工業自動化控制系統中,記錄儀起著十分重要的作用,它可以實時采集、監測和記錄一些影響工藝過程和產品質量的重要參數,被廣泛應用于石化、冶金、電力、機械、醫藥、輕工業等行業。隨著電子技術的不斷發展,記錄儀已從傳統的有紙模擬式發展到如今的無紙數字式[1]。與傳統的有紙記錄儀相比,無紙記錄儀無機械磨損、顯示直觀、使用方便、故障率低和設備耗材少,因此被越來越多的應用于工業控制領域。

隨著工業過程自動化的高速發展,企業對無紙記錄儀提出了越來越高的要求,基于8位單片機的無紙記錄儀的功能已遠遠達不到用戶的要求。嵌入式ARM微處理核的32位RISC處理器以其強大的性能豐富的接口以及優異的性價比等諸多優勢,而被越來越多的應用于無紙記錄儀,隨著硬件的改進,傳統的串行通訊方法也迫切需要改進,因此本文提出了基于嵌入式Linux的串口通信方案。嵌入式Linux操作系統是在標準Linux的基礎上針對嵌入式系統進行內核裁剪和優化后形成[2],它繼承了Linux的開放源代碼、多任務、穩定性高,內核可裁剪等諸多優點,其內核精簡而,具有非常好的網絡性能。本文將使用嵌入式Linux作為無紙記錄儀上位機操作系統,并利用其多線程編程技術實現上位機與下位機的串口通信。

1 記錄儀中的通信協議

由于無紙記錄儀主要在過程控制現場或監控室中使用,與之進行通信的現場設備接口以串口居多,因此在該裝置的開發過程中采用十分通用的MODBUS協議作為串口通信協議。MODBUS協議是MODICON公司于1979年為建立智能設備間的主從式通信而開發的一種通信協議,它規定在一個系統中,每次命令應由系統中主設備發起,從設備通過解析地址位決定是否應答[3]。該協議具有兩種報文傳送幀格式,ASCII和RTU報文幀格式,分別如圖1和圖2所示。

圖1 ASCII報文幀格式

圖2  RTU報文幀格式

將兩種報文傳送幀格式異同總結如表1。由表1可知,兩種報文幀格式各有優劣:ASCII格式使用的字符是RTU格式的兩倍,但ASCII格式數據的譯碼和處理更為容易一些;使用RTU報文幀格式傳輸數據時,報文字符必須以連續數據流的形式傳送,而使用ASCII格式,字符之間允許長達1s的時間間隔。

表1 ASCII與RTU報文幀格式比較

通常情況下,在一個MODBUS網絡中只采用一種報文幀格式進行數據交換。但在一些特殊情況下,同一系統中需要用到不同傳輸模式的控制器,即同時采用兩種報文幀傳輸格式。為了使無紙記錄儀具有更強的通用性,本文提出了一種新的可同時使用兩種報文幀格式的串口通信方案。在以下闡述過程中, 以ASCII和RTU報文幀格式傳輸的數據將分別簡稱為ASCII和RTU數據。

2 記錄儀的通信實現

2.1 整體設計

無紙記錄儀主要通信對象為工業現場設備,因此通信過程中數據交換應快速、準確無誤。在MODBUS協議中,ASCII與RTU數據打包與解碼均不相同,數據讀寫方面需要獨立起來。串口通信功能框架如圖3所示。

圖3 串口通信功能框架圖

設備注冊掃描模塊主要負責設備地址表的維護,每間隔一定時間掃描在線設備,并記錄下設備地址和使用的報文幀格式,同時根據掃描得到信息動態開辟ASCII和RTU數據緩存區。ASCII數據讀寫模塊負責打包和解碼ASCII數據,RTU數據讀寫模塊負責打包和解碼RTU數據。數據發送模塊根據優先級排列好打包好的數據依次發送。數據接收模塊僅解碼下位機儀表每次傳回數據的*,判斷是RTU數據還是ASCII數據,存入RTU或ASCII數據緩存區,以待處理。

為了實現ASCII與RTU數據的共存,首要問題是每次設備掃描注冊時對使用ASCII和使用RTU數據的設備加以區分。由ASCII和RTU的報文幀格式可知,傳輸數據*是判斷數據類型的關鍵,所以使用RTU報文幀格式的設備地址需避開ASCII數據的起始位和結束符。在未知在線設備情況下,上位機將所有設備地址輪詢一遍,解析接收數據*,如果是ASCII的起始位,則ASCII設備注冊,反之,則RTU設備注冊。

2.2 編程實現

軟件實現上,采用Linux的多線程編程技術,可以更好的滿足工業現場的實時性要求。多線程程序采用多任務、并發的工作方式[4],可以提高應用程序響應時間并且改善程序結構。Linux操作系統中提供了Linuxthread 庫[5],它實現了符合POSIX1003.1c標準的多線程支持,而且是內核級方式。

串口通信通過三個線程來實現,主線程、發送子線程和接收數據處理子線程,如圖4所示。同時,為了使收發數據管理更加方便,建立了四個數據緩存區:⑴ 發送緩存區,存放準備發送的命令; ⑵ 已發送緩存區,存放已發送好但未經接收確認的命令;⑶ RTU接收緩存區,存放接收到的RTU數據;⑷ ASCII接收緩存區,存放接收到的ASCII數據。所有線程共享上述四個數據緩存區的數據,并設置互斥鎖用來確保一個時間段內只有一個任務在訪問共享數據。

圖4  串口通信多線程程序流程圖

主線程主要負責設備的注冊,掃描是否有數據發送,如果有發送數據,進行優先級設置,將發送數據轉為發送所需的ASCII和RTU格式,存入發送緩存區以待發送。串口初始化主要功能為設置串口通信屬性,如波特率、數據位、校驗位和流控制等。串口通信采用異步通信模式,并以全局變量作為接收標志。解析數據時應將已收到數據和已發送數據進行匹配,根據發送的數據分析接收數據是否正確,如果接收數據正確則丟棄已發送命令,否則重發。

3 快速數據轉換算法

由于上位機與下位機的個別數據存儲格式不同,需要轉換為對方能夠識別的數據。下面以浮點數為例,說明本次設計中的數據轉換機制。

上位機采用Linux操作系統,浮點數采用IEEE-754數據存儲格式。IEEE規定一個浮點數在內存中占四字節,其數據格式如圖5所示。

圖5  IEEE浮點數數據格式

在IEEE浮點數數據存儲格式下,第1位為符號位,指示浮點數的正負。指數部分共8位,*個字節的后7位和第二個字節的第1位,表示范圍是0 ~ 255。實際上的指數值應是-128 ~ 127的有符號整數,為了存儲方便,指數值都加127轉為0 ~ 255存儲,即實際指數值是E-127。zui后23位為小數部分,需要注意的是,在計算時,要將小數部分zui高位補1。因此,實際的浮點數值可以通過下面的公式計算:

Real =(-1)*Sign*(D/224)*2E-126

下位機浮點數在內存中同樣占四字節,其數據格式如圖6所示。

圖6  下位機浮點數數據格式

下位機浮點數數據格式中,數符用來指示浮點數的正負,階符用于指示指數的正負,階碼有6位,即指數范圍是0~64,小數部分比IEEE浮點數數據格式中多1位,因此在計算時高位無需補1。實際的浮點數數值可以通過下面公式計算:

Real =(-1)*Sign*(D/224)*2(-1)*SignE*E

實際傳輸過程中,從下位機傳來的浮點數,需要先轉為IEEE標準格式,傳給下位機的數據同樣需要轉為下位機能夠識別的格式。由于浮點數存儲格式復雜,在轉換數據時應盡量避免使用浮點數運算。通過比較圖5和圖6可知,兩種存儲格式的zui后23位相同,可以共用。因此,在編程時,采用共同體能夠更快的解決兩者之間的轉換。編寫共同體如下:

union {

float fdata;

unsigned char byte[4];

}data_change;

fdata中存放轉換前得浮點數,而字符型數組byte直接對應浮點數在計算機中以二進制存儲的四個字節。通過對字符型數組的簡單的加減法及移位計算就可以快速在兩種存儲格式之間轉換。 實際測試時,采用共同體的數據轉換在響應時間上要明顯優于未采用共同體的數制轉換,提高了串口通信的實時性。

4 結論

本文創新點:(1)將嵌入式Linux系統應用于無紙記錄儀,使得該裝置體積小,功能強,實時性能及可擴展性能良好;(2)實現了MODBUS協議中RTU與ASCII傳輸模式的共存,使無紙記錄儀具有更強的通用性;(3)通過在數據轉換編程中采用共同體這方面的改進,提高了無紙記錄儀串口通信的實時性。

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

X
該信息已收藏!
標簽:
保存成功

(空格分隔,最多3個,單個標簽最多10個字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時間回復您~
在線留言
主站蜘蛛池模板: 49vv亚洲|成人一级网站|九月婷婷人人澡人人添人人爽|国产精品69毛片高清亚洲|五月婷婷天堂|特黄=a级毛片免费视频 | 人妻无码中文字幕|免费人成视频xvideos在线看|欧美色呦呦|久草在线中文视频|精品无码久久久久久久久水蜜桃|色婷婷久综合久久一本国产=aV | 国产不卡二区|成人国产乱码久久久久|国产精品视频一二|亚洲欧美牲交|少妇性色午夜淫片=a|真人一进一出抽搐GIF免费 | 国产9色视频|99久久久国产精品露出|午夜影院福利合集1000|精品午夜福利在线观看|日本xxxxxxxxx三级|欧美人伦禁忌.5 日本中文一区二区|成年女人高潮免费播放|xx69视频|午夜h片|久久99热这里只有精品国产|亚洲一区二区视频 | 夜夜躁狠狠躁夜躁2021|欧洲成人在线观看|中国少妇饥渴XXXXX|人妻巨大乳挤奶水HD免费看|视频二区在线播放|九九热精品在线视频 | 久久国产毛片|成人午夜免费网站|久久久=av影视|男同性恋视频在线观看|欧美一级日韩一级|久草免费在线播放 | 欧美18一19sex性护士浴室|久久99精品久久久久久HB亚瑟|亚洲成在人线免费|超碰五月|久久精品无码一区二区三区不卡|男女拍拍拍拍免费视频 | 亚洲国产精品一区在线观看不卡|久久精品视频免费在线观看|米奇777超碰欧美日韩亚洲|国产一区二区视频在线观看免费|玩弄美艳馊子高潮秀色可贪|日本做暖暖xo小视频 | 少妇放荡白洁干柴烈火40视频|一级=a=a=a=a毛片|国产黄色大全|#NAME?|亚洲成在人线综合导航|国产精品黄在线观看 | 夜夜久久|裸体黄色一级片|99免费精品|91嫩草香蕉|人妻人妻人人人|国产免费8X高清在线 | 亚洲另类在线视频|6精品国产乱码久久久久久|欧美黄色=av|日本高清视频网址|草草网站影院白丝内射|成人免费=a级毛片无码片 HD性丰满白嫩白嫩少妇=aV|免费成人黄色大片|久久精品中文字幕|久久无码国产专区精品|欧美=a∨|91精品一久久香蕉国产线看观看软件 | 奇米影视超碰在线|亚洲第一中文字幕|欧美精品片|欧美日韩精品网站|亚洲熟妇色XXXXX欧美老妇Y|正在播放国产真实哭都没用 | 奇米影视超碰在线|亚洲第一中文字幕|欧美精品片|欧美日韩精品网站|亚洲熟妇色XXXXX欧美老妇Y|正在播放国产真实哭都没用 | 欧美高清福利|免费亚洲黄色|黄片毛片免费|亚洲欧美日韩在线资源观看|国产精品久久久久久久久久久久午|日本三级播放 | 日本xxx大片免费观看|久色在线三级三级三级免费看|视频一区在线播放|国产=a∨国片精品白丝美女视频|天美传媒=aV成人片免费看|成人天堂yy6080亚洲高清 | 五月天婷婷色综合|91热国产|亚洲欧洲二区|日日插日日操|成人免费毛片高清视频|www.日韩在线观看 | 国产精彩免费视频|国产91亚洲精品一区二区三区|特黄男女交性=a片激情视频|日韩精品一二三四|www毛片|wwwxxxxx国产 | 精品国产乱码久久久久乱码|最新在线观看=av|久久亚洲国产精品五月天|337P日本欧洲亚洲大胆精筑|性动态图=aV无码专区|免费观看又色又爽又湿的视频 | 免费一区二区|在线看你懂得|国产高清在线喷奶水|国产精品国产精品国产专区不片|亚洲精品久久无码=av片动漫网站|亚洲精品9999久久久久 | 国产香蕉在线观看|亚洲=aV无码乱码国产精品久久|最新中文字幕=av无码专区不卡|日韩午夜大片|精品视频久久久久久|性少妇MDMS丰满HDFILM | 成本人片在线观看免费网站|成年人视频网站在线|夜趣福利视频|免费观看的=av在线播放|亚洲欧美偷国产日韩|四虎.com | 亚洲成人伦理|国产在线一|91超碰碰|小s=ao货水好多真紧h无码视频|久久亚洲精精品中文字幕|欧美日韩午夜精品 | 综合亚洲网|亚洲综合成人亚洲|日本精品一区二区三区在线观看|粗大猛烈进出呻吟声的视频|绝世武魂短剧免费观看|黄色一级免费大片 | 欧美人成免费网站|图片区小说区激情区偷拍区|一级毛片免费大片|香蕉大人久久国产成人=av|亚洲欧美日本久久综合网站|亚洲精品成人=a8198=a | 色综合久久综合中文综合网|午夜福利国产在线观看1|毛片免费视频观看|黑人把女人弄到高潮视频|www.国产精品视频|免费色网 | 日韩国产一区二区三区四区|国产午夜精品一区二区三区免费|超碰人摸人操人摸人操|午夜影院免费在线观看|亚洲国线自产第六页|农村欧美丰满熟妇xxxx | 神马国产精品|国产丝袜91久久久久久久久久久|亚洲人成在线播放网站|国产8区|四虎永久在线精品免费网址|近伦毛片中文字幕免费的 | 亚洲精品视频网址|新91网|国产乱人伦偷精品视频色欲|猫咪=av官网|可以免费看的毛片|91国产视频在线 | 亚洲精品成人|疯狂做受XXXX欧美老人|亚洲精品视频在线观看免费|亚洲一区二区三区在线播放|在线日韩欧美|东京热无码人妻系列综合网站 | 日本xxx大片免费观看|久色在线三级三级三级免费看|视频一区在线播放|国产=a∨国片精品白丝美女视频|天美传媒=aV成人片免费看|成人天堂yy6080亚洲高清 | 国产9色视频|99久久久国产精品露出|午夜影院福利合集1000|精品午夜福利在线观看|日本xxxxxxxxx三级|欧美人伦禁忌.5 日本中文一区二区|成年女人高潮免费播放|xx69视频|午夜h片|久久99热这里只有精品国产|亚洲一区二区视频 | 中文字幕58页|日日碰狠狠躁久久躁孕妇|日韩=av在线免费看|国产精品嘛豆传媒|2020久久国产精品|日韩乱轮 | 龙珠z国语版普通话免费播放|人妻阿敏被老外玩弄系列|久久露脸国语精品国产91|国产成人午夜精品影院观看视频|91视频一区二区|国产高清露脸孕妇系列 | #NAME?|天天澡天天弄天天摸|欧美日韩爱爱|亚洲欧美成=aⅴ人在线观看|久久青草伊人|日韩亚=av无码一区二区三区 | 成人=av一区二区三区在线观看|欧美日韩中文字幕一区二区三区|#NAME?|青青草视频网|日韩=av在线一区二区三区|老司机在线精品视频播放 | 国产=a三级4三级|精品调教CHINESEG=aY|欧美一区二区三区不卡|欧美日韩国产黄色|久久99国内精品自在现线|10000部拍拍拍免费视频 | 亚洲综合中文网|www.=av免费观看|成人免费乱码大片=a毛片软件|男人操女人逼视频网站|国产精品99爱免费视频|蜜臀=av网址 | 国产精品一区2区3区|91蝌蚪在线播放|一级国产20岁美女毛片|国产伦精品一区二区三区视频不卡|少妇内射兰兰久久|日本成人=a | 亚洲=aV首页在线观看|97干婷婷|中文字幕人妻=aV一区二区|国产精品大片|天天操狠狠操网站|成人福利视频在 | 欧美人与动人物牲交|国产精品一区hongkongdoll|97国产爽爽爽久久久|久久69国产一区二区蜜臀|成人免费在线视频网址|久久久久国产精品一区二区 | 在线播放成人网站|国产真实younv在线|久久久久国色=av免费看|国产第一页线路1|国产高清免费=av在线|国产一区二区成人h动漫精品 |