專利名稱:低成本現(xiàn)場總線遠程輸入輸出系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動控制領(lǐng)域,具體地說是一種低成本現(xiàn)場總線遠程輸入輸出系統(tǒng)。
背景技術(shù):
隨著32位單片機應(yīng)用的日益普及,信息共享的程度不斷提高。對于以單片機應(yīng)用系統(tǒng)為中心的小型嵌入式設(shè)備,成為當(dāng)今電子產(chǎn)品開發(fā)的重點。其中,利用單片機實現(xiàn)嵌入式方案的技術(shù)難點在于1、如何利用單片機自身有限的資源對信息進行MODBUS協(xié)議處理,使之變成可以在RS485上傳輸?shù)臄?shù)據(jù)包。2、在單片機中運行實時內(nèi)核。從解決這一技術(shù)問題出發(fā),目前有如下幾種方案1. Gateway+專用網(wǎng)采用專用網(wǎng)絡(luò)(如RS-232,RS-485,CAN Bus等)把一小批單片機連接在一起,然后再將該專用網(wǎng)絡(luò)連接到一個PC上,該PC作為網(wǎng)關(guān)將專用網(wǎng)絡(luò)上的信息轉(zhuǎn)換為協(xié)議數(shù)據(jù)包,然后發(fā)到網(wǎng)上實現(xiàn)信息共享。該方案可以連接多種單片機。缺點 a.需要依賴PC機作網(wǎng)關(guān)進行協(xié)議轉(zhuǎn)換,在多個單片機系統(tǒng)分散的情況下,專用網(wǎng)絡(luò)布線極為不便;b.需要在PC機上安裝專門的協(xié)議轉(zhuǎn)換軟件,該軟件通常由專門的第三方軟件商提供,費用較高。2. 32位MCU+RT0S 采用32位的高檔單片機,在RTOS (實時多任務(wù)操作系統(tǒng))的平臺上進行軟件開發(fā),在嵌入式系統(tǒng)中實現(xiàn)TCP/IP的協(xié)議處理。由于采用高檔單片機,該方案可以完成很多復(fù)雜的功能。但這種方案存在如下缺點需要購買或選用免費的RTOS開發(fā)軟件,對開發(fā)人員的開發(fā)能力要求較高。
發(fā)明內(nèi)容
為了克服PC機的高費用、8位或16位機外圍資源少,運行實時內(nèi)核上的困難,本發(fā)明的目的是提供一種不依賴PC機、費用低、易推廣、使用靈活、易于維護、外圍資源豐富,采用占先式實時操作系統(tǒng)的低成本現(xiàn)場總線遠程輸入輸出系統(tǒng)。為了實現(xiàn)上述目的,本發(fā)明的具體技術(shù)方案如下一種低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),包括控制模塊和I/O模塊;所述控制模塊中存儲有控制程序;所述控制模塊通過內(nèi)部總線管理I/O模塊;所述I/O模塊完成現(xiàn)場信號的采集、轉(zhuǎn)換,所述控制模塊通過I/O 模塊控制現(xiàn)場設(shè)備。所述控制模塊內(nèi)存有MODBUS通訊協(xié)議,該控制模塊運行M0DBUS-RTU協(xié)議棧;所述MODBUS通訊協(xié)議包括MODBUS從站協(xié)議和MODBUS主站協(xié)議;所述MODBUS主站協(xié)議通過 MODBUS從站協(xié)議實現(xiàn)現(xiàn)場設(shè)備的數(shù)據(jù)采集和遠程監(jiān)控。所述控制模塊包括-單片機;-動態(tài)數(shù)據(jù)存儲器,用于存儲單片機運行的控制程序,還存儲所述I/O模塊采集的現(xiàn)場數(shù)據(jù);-非易失性數(shù)據(jù)存儲器,用于儲存為控制模塊設(shè)定的信息參數(shù),供單片機讀取;
-程序存儲器,用于儲存操作系統(tǒng)內(nèi)核程序、M0DBUS-RTU協(xié)議、控制邏輯程序,供單片機運行控制;-時鐘,為控制模塊提供時間信息;-物理層,用于與單片機連接,完成M0DBUS-RTU協(xié)議中的第一層協(xié)議;-內(nèi)部總線,用于控制模塊與I/O模塊進行數(shù)據(jù)通訊連接。所述I/O模塊主要包括模擬量輸入模塊、模擬量輸出模塊、開關(guān)量輸入模塊、開關(guān)量輸出模塊;所述模擬量輸入模塊主要由模/數(shù)轉(zhuǎn)換器、光電隔離器、保護電路組成;所述內(nèi)部總線通過光電隔離器選擇輸入現(xiàn)場信號,信號經(jīng)模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換后,再通過光電隔離器傳遞至控制模塊。所述模擬量輸出模塊主要由數(shù)/模轉(zhuǎn)換器、光電隔離器、保護電路組成;所述內(nèi)部總線通過光電隔離器選擇輸出單片機信號,該信號經(jīng)過光電隔離隔離輸出至數(shù)/模轉(zhuǎn)換器,再通過數(shù)/模轉(zhuǎn)換器輸出信號送至現(xiàn)場設(shè)備。所述開關(guān)量輸入模塊主要由光電隔離器、保護電路組成;所述開關(guān)信號通過采集保護電路、光電隔離器輸入至內(nèi)部總線,所述內(nèi)部總線將信號輸入至單片機。開關(guān)量輸出模塊主要由達林頓驅(qū)動器、光電隔離器組成;控制模塊通過內(nèi)部總線選擇需要輸出的通道,再通過光電隔離器輸出至達林頓驅(qū)動器;所述達林頓驅(qū)動器輸出共陽極信號至現(xiàn)場設(shè)備。所述控制模塊包括如下控制單元RS_485通訊單元、數(shù)據(jù)傳送單元、數(shù)據(jù)診斷報警單元、設(shè)備組態(tài)單元、數(shù)據(jù)采集/存儲單元;控制單元具體控制流程如下所述RS-485通訊單元流程分MODBUS主站模塊通訊流程和MODBUS從站模塊通訊流程為兩部分;所述數(shù)據(jù)傳送單元流程為首先初始化單片機,啟動后單片機等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀, 當(dāng)可讀標(biāo)志為正在讀取時,打包數(shù)據(jù),并調(diào)用控制模塊,建立遠程連接;將可讀標(biāo)志設(shè)為讀取完成,再發(fā)送打包數(shù)據(jù)至現(xiàn)場總線設(shè)備,執(zhí)行延時操作,判斷是否退出該程序,是則結(jié)束; 否則不退出該程序,可重新等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,重復(fù)上述判斷過程;所述數(shù)據(jù)診斷報警單元流程為首先初始化單片機,啟動后單片機等待報警通知,如無報警通知,則返回等待報警通知;如有報警通知,當(dāng)可讀標(biāo)志置為可讀,判斷動態(tài)數(shù)據(jù)存儲器報警數(shù)據(jù)區(qū)是否可讀,如條件不滿足,則繼續(xù)判斷;如條件滿足則復(fù)制報警數(shù)據(jù)到動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)區(qū),并根據(jù)組態(tài)信息發(fā)電子郵件,然后將可讀標(biāo)志設(shè)為讀取完成,判斷是否退出該程序,是則退出,否則返回,等待報警通知;所述設(shè)備組態(tài)單元流程為首先初始化單片機,啟動后單片機從非易失性數(shù)據(jù)存儲器中讀參數(shù)創(chuàng)建組態(tài)信息區(qū),進入配置狀態(tài),然后由用戶操作進行選擇,如選擇的是系統(tǒng)參數(shù)配置,則判斷存儲信息是否是存入非易失性數(shù)據(jù)存儲器,如存入非易失性數(shù)據(jù)存儲器,則修改組態(tài)變化標(biāo)志,修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,結(jié)束程序;如不是存入非易失性數(shù)據(jù)存儲器的情況下,則結(jié)束程序;如選擇的是控制程序模塊單片機中刷新設(shè)備列表,則先通過RS-485通訊單元與MODBUS從站模塊通訊,再進行現(xiàn)場設(shè)備I/O模塊參數(shù)配置,當(dāng)配置完成時,判斷是否存儲信息到非易失性數(shù)據(jù)存儲器中,如是,則修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,如不是,則存入非易失性數(shù)據(jù)存儲器,結(jié)束該程序。所述數(shù)據(jù)采集/存儲模塊流程為首先初始化單片機,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為寫,判斷控制程序模塊、數(shù)據(jù)傳輸模塊是否讀完,如控制程序模塊沒讀完,則重新判斷其可讀取標(biāo)志;如讀完,則將過濾數(shù)據(jù)存儲到動態(tài)數(shù)據(jù)存儲器中,動態(tài)數(shù)據(jù)存儲器
5的數(shù)據(jù)按照時間戳由高到低進行排列,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為可讀,允許控制程序模塊、數(shù)據(jù)傳輸模塊程序從存儲區(qū)讀數(shù)據(jù),再設(shè)置控制程序模塊、數(shù)據(jù)傳輸模塊程序可讀取標(biāo)志為可讀,使控制程序模塊、數(shù)據(jù)傳輸模塊程序可以讀動態(tài)數(shù)據(jù)存儲器數(shù)據(jù),最
后結(jié)束。本發(fā)明具有如下優(yōu)點1.應(yīng)用廣泛。可以應(yīng)用于機械制造、石油、化工、石化、制藥、冶金、采礦、電力、食品加工、能源、消防、銀行監(jiān)控等行業(yè)的自動化控制領(lǐng)域。2.具有現(xiàn)場設(shè)備的智能化與功能自治性。本發(fā)明將傳感測量、補償計算、工程量處理與控制等功能分散到現(xiàn)場設(shè)備中完成,僅靠現(xiàn)場設(shè)備就可以完成自動控制的基本功能, 并可以隨時診斷設(shè)備的運行狀態(tài)。3.本發(fā)明采用占先式實時操作系統(tǒng),不依賴PC機。另外,外圍資源豐富,如程序存儲器4M,可擴展至8M,數(shù)據(jù)存儲器8M,可擴展到32M,40個通用輸入、輸出端口(GPIO), 1個RS-232接口,2個RS-485接口,,32K非易失性數(shù)據(jù)存儲器(NVRAM),可擴展到256K, PCF8563時鐘一片,串行EEI3ROM可連接256K。本發(fā)明還具有如下優(yōu)越性1.節(jié)省硬件數(shù)量與投資。由于本發(fā)明分散在現(xiàn)場的智能設(shè)備(I/O模塊)能直接執(zhí)行多種傳感控制報警和計算功能,因而可減少變送器的數(shù)量,不再需要單獨的調(diào)節(jié)器、計算單元等,也不再需要DCS系統(tǒng)的信號調(diào)理、轉(zhuǎn)換、隔離等功能單元及其復(fù)雜連接,還可以用工控PC機作為操作站,從而節(jié)省了一大筆硬件投資,并可減少控制室的占地面積。2.節(jié)省安裝費用。由于采用RS-485總線,使設(shè)備與該系統(tǒng)的連接變得大為簡化, 減少了設(shè)計、安裝的工作量,節(jié)省了投資。3.節(jié)省維護開銷。由于本發(fā)明具有自診斷與簡單故障處理的能力,并通過網(wǎng)絡(luò)將相關(guān)的診斷維護信息送往遠程控制端,用戶可以查詢所有設(shè)備的運行,診斷維護信息,以便早期分析故障原因并快速排除,縮短了維護停工時間;同時由于系統(tǒng)結(jié)構(gòu)簡化,減少連線和維護工作量。4.提高了系統(tǒng)的準(zhǔn)確性與可靠性。由于本發(fā)明具有智能化、數(shù)字化功能,與模擬信號相比,它從根本上提高了測量與控制的精確度,減少了傳送誤差;同時由于系統(tǒng)的結(jié)構(gòu)簡化(RS-485總線)和網(wǎng)絡(luò)技術(shù)的使用,設(shè)備間連線減少,現(xiàn)場儀表內(nèi)部功能加強,減少了信號的往返傳輸,提高了系統(tǒng)的工作可靠性。5.易于管理、監(jiān)控?,F(xiàn)場數(shù)據(jù)可以無障礙的直接傳送到管理層,便于企業(yè)管理人員檢索數(shù)據(jù),監(jiān)控設(shè)備運行狀況。說明書附1為本發(fā)明的整體結(jié)構(gòu)示意圖。圖2為本發(fā)明的I/O模塊中開關(guān)量輸出模塊電路圖。圖3為本發(fā)明的I/O模塊中開關(guān)量輸入模塊電路圖。圖4為本發(fā)明的I/O模塊中模擬量輸出模塊電路圖。圖5為本發(fā)明的I/O模塊中模擬量輸入模塊電路圖。
具體實施方式
—種低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),包括控制模塊和I/O模塊,所述控制模塊中存儲有控制程序;所述控制模塊通過內(nèi)部總線管理I/O模塊;所述I/O模塊完成現(xiàn)場信號的采集、轉(zhuǎn)換,所述控制模塊通過I/O模塊控制現(xiàn)場設(shè)備??刂颇K通過RS-845總線, 運行MODBUS協(xié)議棧,通過內(nèi)部總線(FPGA現(xiàn)場可編程門陣列)管理I/O模塊,完成分布式I/ 0控制,實現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸及通過hternet網(wǎng)絡(luò)對現(xiàn)場設(shè)備進行遠程監(jiān)控和數(shù)據(jù)采集; 所述控制模塊中存儲有控制程序。所述控制模塊內(nèi)存有MODBUS通訊協(xié)議(采用標(biāo)準(zhǔn)485接口電路,軟件協(xié)議采用國際公認的M0DBUS-RTU協(xié)議),該控制模塊運行M0DBUS-RTU協(xié)議棧;所述MODBUS通訊協(xié)議包括MODBUS從站協(xié)議和MODBUS主站協(xié)議;所述MODBUS主站協(xié)議通過MODBUS從站協(xié)議實現(xiàn)現(xiàn)場設(shè)備的數(shù)據(jù)采集和遠程監(jiān)控??刂颇K包括-單片機;-動態(tài)數(shù)據(jù)存儲器,存儲控制程序模塊中單片機運行的控制程序,還存儲所述I/O 模塊采集的現(xiàn)場數(shù)據(jù)、現(xiàn)場的狀態(tài)信息和時間信息;-非易失性數(shù)據(jù)存儲器,主要存放為控制程序模塊設(shè)定的通訊波特率、地址、子往掩碼、I/O模塊組態(tài)信息參數(shù);系統(tǒng)上電時由單片機讀??;-程序存儲器(FLASH),用來存放操作系統(tǒng)內(nèi)核提供的調(diào)度程序、網(wǎng)絡(luò)協(xié)議 M0DBUS-RTU、各功能控制程序模塊,并通過單片機運行控制程序模塊中RS-485通訊單元, 與從站設(shè)備通訊;-時鐘,為控制模塊提供時間信息,控制模塊斷電后,由電池獨立供電;-物理層,與單片機連接,用來完成M0DBUS-RTU協(xié)議中的第一層部分;-內(nèi)部總線,連接控制模塊和各I/O模塊,I/O模塊的初始化參數(shù)以及采集的現(xiàn)場數(shù)據(jù)通過該總線送往控制模塊的動態(tài)數(shù)據(jù)存儲器及非易失性數(shù)據(jù)存儲器,通過此接口,主要主站完成I/O模塊的識別、數(shù)據(jù)通訊操作??刂颇K提供網(wǎng)絡(luò)連接的物理接口可為雙絞線進行遠程傳輸數(shù)據(jù)、監(jiān)控,調(diào)制解調(diào)器接入功能為設(shè)備的可選功能,內(nèi)核運行程序。所述I/O模塊可為32 256個,主要包括模擬量輸入模塊、模擬量輸出模塊、開關(guān)量輸入模塊、開關(guān)量輸出模塊等。模擬量輸入模塊由內(nèi)部總線、模/數(shù)轉(zhuǎn)換器、多路開關(guān)轉(zhuǎn)換器及光電隔離器組成, 內(nèi)部總線通過開關(guān)轉(zhuǎn)換器選擇輸入被測信號,信號經(jīng)模/數(shù)轉(zhuǎn)換器,送至內(nèi)部總線,在模數(shù) /轉(zhuǎn)換器和內(nèi)部總線之間設(shè)有光電隔離器,再通過數(shù)/模轉(zhuǎn)換器輸出信號送至現(xiàn)場設(shè)備(如 4 20mA變頻器等)。模擬量輸出模塊主要由內(nèi)部總線、數(shù)/模轉(zhuǎn)換器及光電隔離器組成,內(nèi)部總線輸入信號來自控制程序模塊,其輸出信號經(jīng)光電隔離器送至數(shù)/模轉(zhuǎn)換器,模/數(shù)轉(zhuǎn)換器輸出信號送至外圍控制現(xiàn)場設(shè)備;開關(guān)量輸入模塊主要由內(nèi)部總線及光電隔離器組成,外界各種開關(guān)信號為光電隔離器輸入信號,光電隔離器輸出信號送至內(nèi)部總線,將輸入數(shù)據(jù)傳送給單片機;開關(guān)量輸出模塊主要由達林頓驅(qū)動器、內(nèi)部總線及光電隔離器組成,通訊信息是的輸入信號,輸出端經(jīng)光電隔離器至達林頓驅(qū)動器,達林頓驅(qū)動器輸出信號分八路經(jīng)繼電器至控制現(xiàn)場設(shè)備。I/O模塊包括模擬量輸入模塊、模擬量輸出模塊、開關(guān)量輸出模塊、開關(guān)量輸入模塊中的每個模塊都包括一個配置信息存儲器,控制模塊能夠自動識別I/O模塊的類型,I/ 0模塊內(nèi)部按照控制模塊的配置信息可以進行數(shù)據(jù)的線性化及量程轉(zhuǎn)換,存儲組態(tài)信息,完成對現(xiàn)場信號的采集和轉(zhuǎn)換。所述控制程序的功能模塊包括1、設(shè)備組態(tài)模塊設(shè)備組態(tài)模塊提供本發(fā)明系統(tǒng)的定制功能,該模塊結(jié)合實際連接的現(xiàn)場設(shè)備I/O 變量及用戶遠程服務(wù)的具體要求,通過標(biāo)準(zhǔn)的瀏覽器對本發(fā)明系統(tǒng)的組態(tài)參數(shù)進行設(shè)置, 同時將用戶的配置信息提供給系統(tǒng)內(nèi)部的其它所有軟件模塊使用;其具體實現(xiàn)的功能如下本發(fā)明系統(tǒng)的IP地址配置;-I/O模塊的識別與配置功能,能夠自動識別連接的I/O模塊類型(如模擬量輸入模塊、模擬量輸出模塊、開關(guān)量輸出模塊、開關(guān)量輸入模塊),同時提供I/O參數(shù)的量程、工程單位、上下限等參數(shù)配置;·設(shè)備報警通知功能配置,提供用戶報警通知的電子郵件地址等功能; 數(shù)據(jù)遠程傳送參數(shù)配置,可以配置需要遠程傳送的I/O參數(shù)、傳送的方式(定時、 按固定數(shù)量傳送等)、遠程服務(wù)器的地址等;·存儲組態(tài)信息及上載/下載I/O模塊的組態(tài)信息;· I/O模塊RS-485總線參數(shù)配置,數(shù)據(jù)采集率、RS-485通信參數(shù)等;· MODEM數(shù)據(jù)通信參數(shù)配置,如波特率、遠程服務(wù)中心電話號碼等。具體流程為系統(tǒng)啟動后從非易失性數(shù)據(jù)存儲器中讀參數(shù)創(chuàng)建組態(tài)信息區(qū),進入配置狀態(tài),然后由用戶操作進行選擇,如選擇的是系統(tǒng)參數(shù)配置,則判斷存儲信息是否是存入非易失性數(shù)據(jù)存儲器,如存入非易失性數(shù)據(jù)存儲器,則修改組態(tài)變化標(biāo)志,修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,結(jié)束程序;如不是存入非易失性數(shù)據(jù)存儲器的情況下,結(jié)束程序;如選擇的是控制模塊單片機中刷新設(shè)備列表,則先通過RS-485通訊模塊與從機通訊,再進行設(shè)備I/O參數(shù)配置,當(dāng)配置完成時,判斷是否存儲信息到非易失性數(shù)據(jù)存儲器中,如是,則修改組態(tài)變化標(biāo)志,修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器, 不是存入非易失性數(shù)據(jù)存儲器的情況下,結(jié)束程序。2、數(shù)據(jù)采集/存儲模塊數(shù)據(jù)采集/存儲模塊提供現(xiàn)場數(shù)據(jù)采集與歷史數(shù)據(jù)存儲功能,該模塊通過內(nèi)部總線讀取由I/O模塊采集的現(xiàn)場數(shù)據(jù)信息,為其他模塊提供現(xiàn)場的實時數(shù)據(jù),同時該模塊可以提供短期歷史數(shù)據(jù)存儲功能,為數(shù)據(jù)的定時發(fā)送及歷史回放提供數(shù)據(jù)信息;其具體功能為·現(xiàn)場數(shù)據(jù)定時采集,刷新實時數(shù)據(jù)區(qū);·采集現(xiàn)場數(shù)據(jù),存儲歷史數(shù)據(jù)。具體流程為開始后由單片機將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為寫,再判斷控制模塊、數(shù)據(jù)傳輸模塊是否讀完,如程序模塊沒讀完,重新判斷其可讀取標(biāo)志;如讀完, 則將過濾數(shù)據(jù)存儲到動態(tài)數(shù)據(jù)存儲器中,動態(tài)數(shù)據(jù)存儲器的數(shù)據(jù)按照時間戳由高到低進行排列,隊列頭部是實時數(shù)據(jù),然后都是歷史數(shù)據(jù),將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為可讀,允許控制模塊、數(shù)據(jù)傳輸模塊程序從存儲區(qū)讀數(shù)據(jù),再設(shè)置控制模塊、數(shù)據(jù)傳輸模塊程序可讀取標(biāo)志為可讀,使控制模塊、數(shù)據(jù)傳輸模塊程序可以讀動態(tài)數(shù)據(jù)存儲器數(shù)據(jù),最后結(jié)
束ο3、數(shù)據(jù)診斷報警模塊數(shù)據(jù)診斷報警模塊的作用是根據(jù)用戶提供的報警配置信息,檢測I/O數(shù)據(jù)的異常報警,同時提供報警信息的歷史存儲,通過電子郵件的方式通知指定的管理人員;其具體功能為·現(xiàn)場數(shù)據(jù)報警條件檢測;· I/O模塊掉電檢測報警;·報警信息的歷史存儲;報警的郵件通知功能。具體流程為啟動后單片機等待報警通知,等不到時返回等待報警通知,等到時, 程序的可讀標(biāo)志置為讀,判斷動態(tài)數(shù)據(jù)存儲器報警數(shù)據(jù)區(qū)是否可讀,條件不滿足(不可讀),繼續(xù)判斷,條件滿足(可讀)則復(fù)制報警數(shù)據(jù)到動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)區(qū),并根據(jù)組態(tài)信息發(fā)電子郵件,然后把本程序的可讀標(biāo)志設(shè)為讀取完成,退出本程序模塊,否則返回,等待報警通知。4、數(shù)據(jù)傳送模塊數(shù)據(jù)傳送模塊根據(jù)用戶組態(tài)的信息,利用以太網(wǎng)或電話線路將現(xiàn)場的數(shù)據(jù)傳送到遠程服務(wù)中心,其功能為·數(shù)據(jù)的定時或根據(jù)用戶需求的遠程發(fā)送功能;·數(shù)據(jù)壓縮功能。具體流程為啟動后單片機等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,程序的可讀標(biāo)志為正在讀取,條件滿足時打包數(shù)據(jù),調(diào)用控制模塊,建立遠程連接,將可讀標(biāo)志設(shè)為讀取完成,再發(fā)送打包數(shù)據(jù),執(zhí)行延時操作,判斷是否退出該程序,是則結(jié)束;如不退出該程序, 可重新等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,程序的可讀標(biāo)志為正在讀?。粭l件不滿足時, 返回重新等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,程序的可讀標(biāo)志為正在讀取。5、內(nèi)部總線內(nèi)部總線提供本發(fā)明系統(tǒng)與其I/O模塊間的數(shù)據(jù)訪問通道,完成I/O模塊的管理及數(shù)據(jù)讀寫功能?!ぬ峁㊣/O模塊的類型、地址等管理信息;·提供現(xiàn)場設(shè)備數(shù)據(jù)的讀寫功能;·提供I/O模塊的組態(tài)信息讀寫功能。具體流程分控制模塊通訊流程和I/O模塊中斷響應(yīng)流程為兩部分,其中控制模塊通訊流程為在入口處執(zhí)行存儲在動態(tài)數(shù)據(jù)存儲器中的RS-485接口驅(qū)動函數(shù),發(fā)送地址至I/O模塊,如從機有應(yīng)答,則單片機發(fā)送命令字,否則重試(重試大于3次作掉線處理, 否則再次發(fā)送地址);發(fā)送命令字后判斷從機數(shù)據(jù)上傳否,上傳則發(fā)上傳命令字,否則發(fā)下傳命令字;發(fā)上傳命令字后接收從機數(shù)據(jù),接收成功時返回,不成功時,重新接收從機數(shù)據(jù); 發(fā)下傳命令是發(fā)送主機數(shù)據(jù)或命令字給從機,發(fā)送成功時返回,不成功時,重新發(fā)送從機數(shù)據(jù)。所述I/O模塊中斷響應(yīng)流程在中斷入口 I/O模塊接收數(shù)據(jù),然后判斷是地址命令還是數(shù)據(jù)命令,是地址命令再判斷是否是本機地址,是本機地址時,I/O模塊發(fā)應(yīng)答信號給單片機,通訊位SM2置0,恢復(fù)現(xiàn)場、中斷返回;不是本機地址時,直接恢復(fù)現(xiàn)場、中斷返回;如是數(shù)據(jù)命令字,再判斷是否是上傳命令字,如是上傳命令字,由I/O模塊發(fā)送從機采集的數(shù)據(jù)給單片機,令SM2置1,恢復(fù)現(xiàn)場、中斷返回;如不是上傳命令字,由I/O模塊執(zhí)行控制命令, SM2置1,恢復(fù)現(xiàn)場、中斷返回。所述控制模塊包括如下控制單元RS_485通訊單元、數(shù)據(jù)傳送單元、數(shù)據(jù)診斷報警單元、設(shè)備組態(tài)單元、數(shù)據(jù)采集/存儲單元;控制單元具體控制流程如下所述RS-485通訊單元流程分MODBUS主站模塊通訊流程和MODBUS從站模塊通訊流程為兩部分;所述數(shù)據(jù)傳送單元流程為首先初始化單片機,啟動后單片機等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,當(dāng)可讀標(biāo)志為正在讀取時,打包數(shù)據(jù),并調(diào)用控制模塊,建立遠程連接; 將可讀標(biāo)志設(shè)為讀取完成,再發(fā)送打包數(shù)據(jù)至現(xiàn)場總線設(shè)備,執(zhí)行延時操作,判斷是否退出該程序,是則結(jié)束;否則不退出該程序,可重新等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,重復(fù)上述判斷過程;所述數(shù)據(jù)診斷報警單元流程為首先初始化單片機,啟動后單片機等待報警通知, 如無報警通知,則返回等待報警通知;如有報警通知,當(dāng)可讀標(biāo)志置為可讀,判斷動態(tài)數(shù)據(jù)存儲器報警數(shù)據(jù)區(qū)是否可讀,如條件不滿足,則繼續(xù)判斷;如條件滿足則復(fù)制報警數(shù)據(jù)到動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)區(qū),并根據(jù)組態(tài)信息發(fā)電子郵件,然后將可讀標(biāo)志設(shè)為讀取完成,判斷是否退出該程序,是則退出,否則返回,等待報警通知;所述設(shè)備組態(tài)單元流程為首先初始化單片機,啟動后單片機從非易失性數(shù)據(jù)存儲器中讀參數(shù)創(chuàng)建組態(tài)信息區(qū),進入配置狀態(tài),然后由用戶操作進行選擇,如選擇的是系統(tǒng)參數(shù)配置,則判斷存儲信息是否是存入非易失性數(shù)據(jù)存儲器,如存入非易失性數(shù)據(jù)存儲器, 則修改組態(tài)變化標(biāo)志,修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,結(jié)束程序;如不是存入非易失性數(shù)據(jù)存儲器的情況下,則結(jié)束程序;如選擇的是控制程序模塊單片機中刷新設(shè)備列表,則先通過RS-485通訊單元與MODBUS從站模塊通訊,再進行現(xiàn)場設(shè)備I/O模塊參數(shù)配置,當(dāng)配置完成時,判斷是否存儲信息到非易失性數(shù)據(jù)存儲器中,如是,則修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,如不是,則存入非易失性數(shù)據(jù)存儲器,結(jié)束該程序;所述數(shù)據(jù)采集/存儲模塊流程為首先初始化單片機,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為寫,判斷控制程序模塊、數(shù)據(jù)傳輸模塊是否讀完,如控制程序模塊沒讀完,則重新判斷其可讀取標(biāo)志;如讀完,則將過濾數(shù)據(jù)存儲到動態(tài)數(shù)據(jù)存儲器中,動態(tài)數(shù)據(jù)存儲器的數(shù)據(jù)按照時間戳由高到低進行排列,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為可讀,允許控制程序模塊、數(shù)據(jù)傳輸模塊程序從存儲區(qū)讀數(shù)據(jù),再設(shè)置控制程序模塊、數(shù)據(jù)傳輸模塊程序可讀取標(biāo)志為可讀,使控制程序模塊、數(shù)據(jù)傳輸模塊程序可以讀動態(tài)數(shù)據(jù)存儲器數(shù)據(jù),最后結(jié)束。
權(quán)利要求
1.一種低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于包括控制模塊和I/O模塊;所述控制模塊中存儲有控制程序;所述控制模塊通過內(nèi)部總線管理I/O模塊;所述I/O模塊完成現(xiàn)場信號的采集、轉(zhuǎn)換, 所述控制模塊通過I/O模塊控制現(xiàn)場設(shè)備。
2.按照權(quán)利要求1所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述控制模塊內(nèi)存有MODBUS通訊協(xié)議,該控制模塊運行M0DBUS-RTU協(xié)議棧;所述MODBUS通訊協(xié)議包括MODBUS從站協(xié)議和MODBUS主站協(xié)議;所述MODBUS主站協(xié)議通過MODBUS從站協(xié)議實現(xiàn)現(xiàn)場設(shè)備的數(shù)據(jù)采集和遠程監(jiān)控。
3.按照權(quán)利要求1所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述控制模塊包括-單片機;-動態(tài)數(shù)據(jù)存儲器,用于存儲單片機運行的控制程序,還存儲所述I/O模塊采集的現(xiàn)場數(shù)據(jù);-非易失性數(shù)據(jù)存儲器,用于儲存為控制模塊設(shè)定的信息參數(shù),供單片機讀?。?程序存儲器,用于儲存操作系統(tǒng)內(nèi)核程序、M0DBUS-RTU協(xié)議、控制邏輯程序,供單片機運行控制;-時鐘,為控制模塊提供時間信息;-物理層,用于與單片機連接,完成M0DBUS-RTU協(xié)議中的第一層協(xié)議;-內(nèi)部總線,用于控制模塊與I/O模塊進行數(shù)據(jù)通訊連接。
4.按照權(quán)利要求1所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述I/O模塊主要包括模擬量輸入模塊、模擬量輸出模塊、開關(guān)量輸入模塊、開關(guān)量輸出模塊;所述模擬量輸入模塊主要由模/數(shù)轉(zhuǎn)換器、光電隔離器、保護電路組成;所述內(nèi)部總線通過光電隔離器選擇輸入現(xiàn)場信號,信號經(jīng)模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換后,再通過光電隔離器傳遞至控制模塊。
5.按照權(quán)利要求4所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述模擬量輸出模塊主要由數(shù)/模轉(zhuǎn)換器、光電隔離器、保護電路組成;所述內(nèi)部總線通過光電隔離器選擇輸出單片機信號,該信號經(jīng)過光電隔離隔離輸出至數(shù)/模轉(zhuǎn)換器,再通過數(shù)/模轉(zhuǎn)換器輸出信號送至現(xiàn)場設(shè)備。
6.按照權(quán)利要求4所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述開關(guān)量輸入模塊主要由光電隔離器、保護電路組成;所述開關(guān)信號通過采集保護電路、光電隔離器輸入至內(nèi)部總線,所述內(nèi)部總線將信號輸入至單片機。
7.按照權(quán)利要求4所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于開關(guān)量輸出模塊主要由達林頓驅(qū)動器、光電隔離器組成;控制模塊通過內(nèi)部總線選擇需要輸出的通道, 再通過光電隔離器輸出至達林頓驅(qū)動器;所述達林頓驅(qū)動器輸出共陽極信號至現(xiàn)場設(shè)備。
8.按照權(quán)利要求1所述低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),其特征在于所述控制模塊包括如下控制單元RS_485通訊單元、數(shù)據(jù)傳送單元、數(shù)據(jù)診斷報警單元、設(shè)備組態(tài)單元、數(shù)據(jù)采集/存儲單元,控制單元具體控制流程如下所述RS-485通訊單元流程分MODBUS主站模塊通訊流程和MODBUS從站模塊通訊流程為兩部分;所述數(shù)據(jù)傳送單元流程為首先初始化單片機,啟動后單片機等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,當(dāng)可讀標(biāo)志為正在讀取時,打包數(shù)據(jù),并調(diào)用控制模塊,建立遠程連接;將可讀標(biāo)志設(shè)為讀取完成,再發(fā)送打包數(shù)據(jù)至現(xiàn)場總線設(shè)備,執(zhí)行延時操作,判斷是否退出該程序,是則結(jié)束;否則不退出該程序,可重新等待動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲區(qū)可讀,重復(fù)上述判斷過程;所述數(shù)據(jù)診斷報警單元流程為首先初始化單片機,啟動后單片機等待報警通知,如無報警通知,則返回等待報警通知;如有報警通知,當(dāng)可讀標(biāo)志置為可讀,判斷動態(tài)數(shù)據(jù)存儲器報警數(shù)據(jù)區(qū)是否可讀,如條件不滿足,則繼續(xù)判斷;如條件滿足則復(fù)制報警數(shù)據(jù)到動態(tài)數(shù)據(jù)存儲器數(shù)據(jù)區(qū),并根據(jù)組態(tài)信息發(fā)電子郵件,然后將可讀標(biāo)志設(shè)為讀取完成,判斷是否退出該程序,是則退出,否則返回,等待報警通知;所述設(shè)備組態(tài)單元流程為首先初始化單片機,啟動后單片機從非易失性數(shù)據(jù)存儲器中讀參數(shù)創(chuàng)建組態(tài)信息區(qū),進入配置狀態(tài),然后由用戶操作進行選擇,如選擇的是系統(tǒng)參數(shù)配置,則判斷存儲信息是否是存入非易失性數(shù)據(jù)存儲器,如存入非易失性數(shù)據(jù)存儲器,則修改組態(tài)變化標(biāo)志,修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,結(jié)束程序;如不是存入非易失性數(shù)據(jù)存儲器的情況下,則結(jié)束程序;如選擇的是控制程序模塊單片機中刷新設(shè)備列表,則先通過RS-485通訊單元與MODBUS從站模塊通訊,再進行現(xiàn)場設(shè)備I/O模塊參數(shù)配置,當(dāng)配置完成時,判斷是否存儲信息到非易失性數(shù)據(jù)存儲器中,如是,則修改組態(tài)信息區(qū),組態(tài)信息存入非易失性數(shù)據(jù)存儲器,如不是,則存入非易失性數(shù)據(jù)存儲器,結(jié)束該程序;所述數(shù)據(jù)采集/存儲模塊流程為首先初始化單片機,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為寫,判斷控制程序模塊、數(shù)據(jù)傳輸模塊是否讀完,如控制程序模塊沒讀完,則重新判斷其可讀取標(biāo)志;如讀完,則將過濾數(shù)據(jù)存儲到動態(tài)數(shù)據(jù)存儲器中,動態(tài)數(shù)據(jù)存儲器的數(shù)據(jù)按照時間戳由高到低進行排列,將動態(tài)數(shù)據(jù)存儲器存儲區(qū)讀寫標(biāo)志設(shè)為可讀,允許控制程序模塊、數(shù)據(jù)傳輸模塊程序從存儲區(qū)讀數(shù)據(jù),再設(shè)置控制程序模塊、數(shù)據(jù)傳輸模塊程序可讀取標(biāo)志為可讀,使控制程序模塊、數(shù)據(jù)傳輸模塊程序可以讀動態(tài)數(shù)據(jù)存儲器數(shù)據(jù),最后結(jié)束ο
全文摘要
本發(fā)明公開一種低成本現(xiàn)場總線遠程輸入輸出系統(tǒng),包括控制模塊和I/O模塊;所述控制模塊中存儲有控制程序;所述控制模塊通過內(nèi)部總線管理I/O模塊;所述I/O模塊完成現(xiàn)場信號的采集、轉(zhuǎn)換,所述控制模塊通過I/O模塊控制現(xiàn)場設(shè)備。所述控制模塊內(nèi)存有MODBUS通訊協(xié)議,該控制模塊運行MODBUS-RTU協(xié)議棧;所述MODBUS通訊協(xié)議包括MODBUS從站協(xié)議和MODBUS主站協(xié)議;所述MODBUS主站協(xié)議通過MODBUS從站協(xié)議實現(xiàn)現(xiàn)場設(shè)備的數(shù)據(jù)采集和遠程監(jiān)控。本發(fā)明的結(jié)構(gòu)簡單,安裝方便。采用RS-485總線連接,減少設(shè)計安裝的工作量,節(jié)省了投資。可以實現(xiàn)實時監(jiān)測、控制功能,具有很高的實時性能和可靠性能。
文檔編號G05B19/418GK102314161SQ20101021370
公開日2012年1月11日 申請日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者于海斌, 張群青, 林躍, 王宏, 趙海燕 申請人:廣州中國科學(xué)院工業(yè)技術(shù)研究院, 沈陽中科博微自動化技術(shù)有限公司