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

        ?

        基于IEC標(biāo)準(zhǔn)的嵌入式控制器的MODBUS通信

        2007-01-01 00:00:00宋瀟瀟林小峰宋春寧宋紹劍

        摘要:首先介紹ARM控制系統(tǒng)的組成,并簡(jiǎn)略介紹控制器所用到的MODBUS通信協(xié)議#65380;IEC61131-3標(biāo)準(zhǔn)和ARM微處理器,然后結(jié)合實(shí)際工程,對(duì)過程映像進(jìn)行介紹,詳細(xì)描述在ADS編程環(huán)境下實(shí)現(xiàn)設(shè)備地址#65380;功能代碼#65380;數(shù)據(jù)以及CRC校驗(yàn)的分配過程,并利用MODBUS通信協(xié)議實(shí)現(xiàn)組態(tài)軟件對(duì)基于IEC 61131-3標(biāo)準(zhǔn)的ARM控制器的監(jiān)測(cè)和控制#65377;

        關(guān)鍵詞:MODBUS通信協(xié)議;IEC 61131-3標(biāo)準(zhǔn);CRC校驗(yàn)

        中圖分類號(hào):TP273+.5;TP39文獻(xiàn)標(biāo)識(shí)碼:A

        1引言[1]

        近年來隨著工業(yè)控制領(lǐng)域自動(dòng)化水平的不斷提高,許多廠#65380;礦企業(yè)原有的控制系統(tǒng)陸續(xù)開始各種軟硬件的升級(jí)和改造#65377;其中,數(shù)據(jù)通信的可靠關(guān)系到了整個(gè)系統(tǒng)的安全#65377;由于整個(gè)工程往往是由不同的單位分別完成的,各部分之間數(shù)據(jù)的交換就成了一個(gè)十分關(guān)鍵的問題#65377;因此工業(yè)控制系統(tǒng)中常使用標(biāo)準(zhǔn)的通信協(xié)議進(jìn)行通信#65377;

        MODBUS協(xié)議是MODICON公司推出的一個(gè)開放式現(xiàn)場(chǎng)總線的通信協(xié)議,現(xiàn)得到了眾多儀表廠家的支持并廣泛應(yīng)用于工業(yè)控制領(lǐng)域#65377;IEC61131是IEC(國際電工委員會(huì))制定的有關(guān)可編程控制器(PLC)的相關(guān)標(biāo)準(zhǔn),IEC 61131-3是其中的編程語言部分#65377;該標(biāo)準(zhǔn)針對(duì)的工業(yè)控制系統(tǒng)所闡述的軟件設(shè)計(jì)的概念和軟件模型,適應(yīng)了當(dāng)今世界軟件#65380;工業(yè)控制系統(tǒng)的發(fā)展方向, 并且還廣泛地應(yīng)用于集散型控制系統(tǒng)#65380;工業(yè)控制計(jì)算機(jī)#65380;數(shù)控系統(tǒng)#65380;遠(yuǎn)程終端單元等產(chǎn)品#65377;

        在我們?cè)O(shè)計(jì)的ARM控制器中使用了MODBUS通信協(xié)議,在軟件設(shè)計(jì)部分使用了IEC 61131-3標(biāo)準(zhǔn)#65377;我們通過MODBUS通信協(xié)議實(shí)現(xiàn)了用“力控”組態(tài)軟件對(duì)基于IEC 61131-3標(biāo)準(zhǔn)的ARM控制器的監(jiān)控#65377;

        2控制系統(tǒng)的組成[2][3][4]

        首先利用底層編程系統(tǒng)ADS(由ARM公司推出的ARM核微處理器集成開發(fā)工具,全稱為ARM Developer Suite,并支持JTAG硬件仿真調(diào)試),通過JTAG把底層運(yùn)行程序燒寫到ARM控制器中構(gòu)建運(yùn)行系統(tǒng)#65377;

        然后利用所選用的基于IEC 61131-3標(biāo)準(zhǔn)的軟件編寫用戶程序,并通過其自帶的通信協(xié)議把符合IEC 61131-3標(biāo)準(zhǔn)的應(yīng)用程序下載到運(yùn)行系統(tǒng)(ARM控制器)里面去#65377;

        最后通過MODBUS通信協(xié)議實(shí)現(xiàn)“力控”組態(tài)軟件對(duì)ARM控制器運(yùn)行狀態(tài)的監(jiān)測(cè)和控制#65377;選用的是MODBUS的RTU方式,波特率設(shè)置為9600Bit/s;ARM控制器是ATMEL公司基于ARMTTDMI微處理核的32位嵌入式RISC處理器AT91M55800A#65377;

        圖1ARM控制系統(tǒng)的實(shí)現(xiàn)原理圖

        基于IEC標(biāo)準(zhǔn)的嵌入式控制器的MODBUS通信

        3MODBUS通信的實(shí)現(xiàn)

        3.1過程映像

        所選用的基于IEC 61131-3標(biāo)準(zhǔn)的軟件中,I/O變量訪問是通過對(duì)過程映像的訪問來實(shí)現(xiàn)的#65377;所謂過程映像其實(shí)是運(yùn)行系統(tǒng)自動(dòng)定義的一個(gè)段#65377;I/O接口通過對(duì)過程映像的訪問來實(shí)現(xiàn)I/O變量的訪問#65377;而上位機(jī)就是通過過程映像來與物理硬件設(shè)備通信,讀寫I/O變量的信息#65377;過程映像內(nèi)存單元和編程系統(tǒng)I/O變量的物理定義地址是一一對(duì)應(yīng)的#65377;

        過程映像有一個(gè)段表頭,段表頭后面跟著用于物理輸入(%I)的內(nèi)存空間,接著是物理輸出(%Q)和用于標(biāo)志(%M)的內(nèi)存空間#65377;在輸入和輸出之間,輸出和標(biāo)志之間,以及在標(biāo)志之后,都有可能有一些不用的內(nèi)存空隙#65377;對(duì)過程映像的訪問是通過指針pProcImgSeg-l來實(shí)現(xiàn)的,讓其總指向物理輸入的起始偏移地址,pProcImgSeg-l加上相對(duì)偏移量,就可以訪問不同I/O變量和標(biāo)志的存儲(chǔ)單元#65377;

        過程映像的布局如圖2所示#65377;

        圖2過程映像布局

        3.2ARM控制器中MODBUS通信的實(shí)現(xiàn)

        在該基于MODBUS通信協(xié)議的ARM控制器中,“力控”組態(tài)軟件是主設(shè)備(master),而ARM控制器是從設(shè)備(slave)#65377;因此我需要編寫的MODBUS通信協(xié)議部分就是MODBUS通信的slave部分,而所用的編程環(huán)境也是專門針對(duì)ARM的ADS(ARM Developer Suite V1.2)開發(fā)環(huán)境#65377;為了便于說明問題,本文主要通過對(duì)功能代碼03H的使用來演示程序的運(yùn)行#65377;

        3.3從設(shè)備部分MODBUS通信的實(shí)現(xiàn)

        圖3說明了在從設(shè)備ARM控制器上接收#65380;處理#65380;發(fā)送的流程圖#65377; 首先是main函數(shù)里面的循環(huán)檢查標(biāo)志位是否置1#65377;當(dāng)標(biāo)志位置1的時(shí)候表示接收緩沖區(qū)里面有數(shù)據(jù)了,則讀出地址碼,并清0標(biāo)志位,等待下一次數(shù)據(jù)的到來;假如標(biāo)志位為0,則表示接收緩沖區(qū)內(nèi)沒有數(shù)據(jù),就繼續(xù)循環(huán)等待數(shù)據(jù)到來#65377;然后判斷地址碼是否相符,若相符則讀取數(shù)據(jù)中的CRC校驗(yàn)位,若不相符合則退出繼續(xù)循環(huán)等待#65377;

        在地址碼正確的情況下,把得到的數(shù)據(jù)重新進(jìn)行CRC運(yùn)算,并把運(yùn)算得到的CRC碼與接收到的CRC校驗(yàn)碼進(jìn)行比較,相符說明接收無誤,不符說明接收錯(cuò)誤,回發(fā)錯(cuò)誤代碼要求主設(shè)備重發(fā)數(shù)據(jù)#65377;

        在判斷了CRC校驗(yàn)無誤的情況下,就調(diào)用modbus-unfasten函數(shù)進(jìn)行數(shù)據(jù)的處理和回發(fā)#65377;我們以功能代碼03H為例進(jìn)行說明#65377;當(dāng)調(diào)用了modbus-unfasten函數(shù)以后,首先是讀取數(shù)據(jù)中的功能代碼,通過多路選擇結(jié)構(gòu)swith語句進(jìn)行處理#65377;如當(dāng)讀取的功能代碼為03H時(shí),執(zhí)行如下代碼:

        在判斷了功能代碼以后先分別讀取寄存器地址的高位和低位,然后組合成完整的地址;同樣又讀取數(shù)據(jù)數(shù)目的高低位,再組合成完整的數(shù)據(jù)數(shù)目#65377;過程映像的指針加上偏移量以后就指向了需要讀取的數(shù)據(jù)#65377;然后調(diào)用modbus-encapsulation-read,把設(shè)備地址#65380;功能代碼#65380;數(shù)據(jù)個(gè)數(shù)以及新讀取的數(shù)據(jù)進(jìn)行封裝,并返回封裝后數(shù)據(jù)的地址#65377;最后調(diào)用AT91M55800A中提供的串口發(fā)送程序at91-usart-send-frame,將數(shù)據(jù)從串口發(fā)送給主設(shè)備——“力控”組態(tài)軟件#65377;

        使用RTU模式,消息中所使用的是CRC循環(huán)冗余檢測(cè)#65377;CRC校驗(yàn)碼是兩個(gè)字節(jié),包含一個(gè)16位的二進(jìn)制值,它由傳輸設(shè)備計(jì)算后加入消息中,接收設(shè)備重新計(jì)算收到的數(shù)據(jù)的CRC,并與接收到的CRC校驗(yàn)碼進(jìn)行比較#65377;CRC校驗(yàn)需要對(duì)位進(jìn)行操作,根據(jù)MODBUS的相關(guān)介紹,在ADS環(huán)境下制作了一個(gè)CRC校驗(yàn)碼計(jì)算函數(shù)crc16#65377;該程序中使用的是查表法,這種方法不需要大量煩瑣的計(jì)算,只需要在CRC高位字節(jié)值表(auchCRCHi[])和CRC低位字節(jié)值表(auchCRCLo)中進(jìn)行查詢就可以了#65377;

        3.4主設(shè)備部分MODBUS通信的實(shí)現(xiàn)

        主設(shè)備,也就是PC機(jī)上的MODBUS通信是靠“力控”組態(tài)軟件來實(shí)現(xiàn)的#65377;在“力控”中建立MODBUS通信需要三個(gè)步驟:

        (1)在I/O設(shè)備驅(qū)動(dòng)中建立一個(gè)MODBUS(RTU串行口)的連接,配置好其中的設(shè)備名稱#65380;設(shè)備地址#65380;通信方式以及串口號(hào)等參數(shù); (2)在實(shí)時(shí)數(shù)據(jù)庫中的數(shù)據(jù)庫組態(tài)界面添加新變量,包括變量名#65380;定義I/O設(shè)備(選擇第一步定義的MODBUS RTU串行口),并選擇所要實(shí)現(xiàn)的功能,即選擇功能代碼;

        (3)在窗口界面里面添加一個(gè)文本,然后對(duì)文本的對(duì)象類型進(jìn)行配置,選擇好數(shù)值輸入和數(shù)值輸出的類型,并選擇好所要顯示的變量(即剛才在第二步里面定義的變量名)#65377;

        4結(jié)束語[5]

        本文介紹了在基于ARM和IEC 61131-3標(biāo)準(zhǔn)的控制器上實(shí)現(xiàn)MODBUS通信的設(shè)計(jì)和實(shí)現(xiàn)方法#65377;MODBUS協(xié)議受到眾多儀表廠家的支持,基于MODBUS協(xié)議的通用工控組態(tài)軟件也越來越多#65377;MODBUS協(xié)議正在成為儀表及智能終端的工業(yè)標(biāo)準(zhǔn),在我國的智能儀表與工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛#65377;而軟件方面采用了IEC 61131-3國際標(biāo)準(zhǔn),使得開發(fā)出來的用戶程序具有很好的可移植性和可重用性#65377;使用這兩個(gè)標(biāo)準(zhǔn)提高了對(duì)ARM控制器監(jiān)控的可靠性和通用性#65377;

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

        国产成人无码一区二区在线播放| 亚洲精品国产熟女久久久| 国产亚洲av成人噜噜噜他| 东北少妇不带套对白| 内射后入在线观看一区| 亚洲无码vr| 国产自拍91精品视频| 国精品人妻无码一区二区三区性色| 色噜噜狠狠色综合成人网| 色婷婷狠狠97成为人免费| 国产视频一区2区三区| 无码专区亚洲综合另类| 久久久久99精品成人片试看| 久久夜色精品国产亚洲噜噜 | 国产免费AV片在线看| 久久亚洲av午夜福利精品西区| 国产精品一区二区三区卡| 国产在线精品一区二区在线看| 在线a亚洲视频播放在线观看| 中文字幕丰满人妻有码专区| 国产一区二区三区精品免费av| 国产卡一卡二卡三| 伊人亚洲综合网色AV另类| 在线亚洲精品中文字幕美乳色| 免费无码又爽又高潮视频| 无码国产精品一区二区vr老人| 亚洲欧美成人在线免费| 中文字幕精品一区二区的区别| 国产色在线 | 亚洲| 精品第一页| 免费人成网站在线观看| 国产日产亚洲系列最新| 韩日美无码精品无码| 日本一区二区三区专区| 亚洲悠悠色综合中文字幕| 精品免费看国产一区二区| 亚洲欧美日韩国产精品网| 久久夜色精品国产噜噜噜亚洲av| а天堂中文最新一区二区三区 | 亚洲天堂无码AV一二三四区| 一区二区三区在线视频观看|