專利名稱:可編程時(shí)序控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到工業(yè)控制領(lǐng)域,具體地說(shuō),是一種可編程時(shí)序控制方法和系統(tǒng)。
背景技術(shù):
專利CN02116195.X中提到了關(guān)于用在遠(yuǎn)程控制負(fù)載管理系統(tǒng)的可編程定時(shí)單元。該發(fā)明涉及的可編程定時(shí)器單元,能被包括在一遠(yuǎn)程控制管理系統(tǒng)中來(lái)根據(jù)用戶定義的時(shí)間表而不依靠用于數(shù)據(jù)通信的任何附加的輔助設(shè)置來(lái)啟動(dòng)負(fù)載。定時(shí)器單元包括用于選擇在系統(tǒng)中使用的任何開(kāi)關(guān)的一開(kāi)關(guān)地址和指定啟動(dòng)時(shí)間和用于目標(biāo)負(fù)載或負(fù)載組的啟動(dòng)的控制代碼的一輸入部件。處理器編寫(xiě)基于該時(shí)間表的一負(fù)載管理程序并為負(fù)載的控制執(zhí)行該程序。因此,定時(shí)器單元能單獨(dú)模擬用于控制負(fù)載的任何一個(gè)開(kāi)關(guān)而不依靠用于數(shù)據(jù)通信的附加外部設(shè)備。
目前,各種可編程時(shí)序控制器應(yīng)用較廣,市場(chǎng)上的產(chǎn)品種類也很多,常用PLC作為控制器件。但在控制較復(fù)雜的時(shí)序過(guò)程時(shí),有一些缺點(diǎn),比如,程序設(shè)置是根據(jù)不同的工作要求,由用戶通過(guò)觸摸鍵盤(pán)對(duì)運(yùn)行時(shí)間、輸出繼電器狀態(tài)等參數(shù)進(jìn)行設(shè)定,使控制系統(tǒng)按預(yù)先設(shè)定的步序進(jìn)行自動(dòng)連續(xù)運(yùn)行控制(例如寧波市機(jī)電工業(yè)研究設(shè)計(jì)院研制的TPC-20智能多段可編程時(shí)序控制器)。該方法很不方便,更新程序過(guò)程時(shí)間較長(zhǎng);一些采用有線或無(wú)線聯(lián)機(jī)控制的場(chǎng)合,布線和接口的成本又比較高。
上述技術(shù)方案都沒(méi)有涉及到時(shí)序控制設(shè)備在復(fù)雜場(chǎng)合(如校園自動(dòng)打鈴系統(tǒng)、園林自動(dòng)定時(shí)噴淋控制系統(tǒng)、自動(dòng)牲畜定時(shí)給水系統(tǒng)、簡(jiǎn)易電氣定時(shí)開(kāi)關(guān)控制器、主備用電動(dòng)機(jī)定時(shí)控制保護(hù)裝置等場(chǎng)合)的應(yīng)用。這些應(yīng)用場(chǎng)合有一定時(shí)間精度要求,并且長(zhǎng)時(shí)間運(yùn)行穩(wěn)定性好的開(kāi)關(guān)量檢測(cè)輸入和控制輸出的時(shí)間控制器。
發(fā)明內(nèi)容
本發(fā)明的目的是,針對(duì)復(fù)雜信息場(chǎng)合應(yīng)用,提出一種通用、實(shí)用和易用的可編程時(shí)序控制方法和系統(tǒng)。
本發(fā)明利用了計(jì)算機(jī)軟件系統(tǒng)的資源優(yōu)勢(shì),將對(duì)控制對(duì)象的控制程序轉(zhuǎn)變成代表事件序列的時(shí)序信息程序,下載到控制器的非易失存儲(chǔ)器中,由控制器獨(dú)立、離線、按程序運(yùn)行。
本發(fā)明的技術(shù)方案包括一、可編程時(shí)序控制方法包括以下步驟a)在上位計(jì)算機(jī)中編寫(xiě)時(shí)序信息程序b)用非易失性儲(chǔ)存器(EPROM、EEPROM、FLASH等)存儲(chǔ)和轉(zhuǎn)移時(shí)序信息程序c)時(shí)序控制設(shè)備讀取非易失性儲(chǔ)存器存儲(chǔ)中的時(shí)序程序并執(zhí)行步驟c)中,時(shí)序控制設(shè)備采用單片機(jī)作為控制芯片,進(jìn)行時(shí)序控制;單片機(jī)嵌入了操作系統(tǒng),通過(guò)對(duì)輸入口狀態(tài)條件的判斷,進(jìn)行一定智能化的輸出控制,補(bǔ)充了PLC器件在這一領(lǐng)域應(yīng)用。
單片機(jī)的工作步驟主要包括首先每秒讀取時(shí)序控制設(shè)備的時(shí)鐘芯片中的即時(shí)時(shí)間,然后將即時(shí)時(shí)間和時(shí)序信息數(shù)據(jù)結(jié)構(gòu)中各個(gè)時(shí)間進(jìn)行比較,首先進(jìn)行年節(jié)點(diǎn)的判斷。
其中,首字節(jié)代表下面有多少時(shí)序信息有效,例如月份中的首字節(jié)為3,代表月份中有3個(gè)月是含有時(shí)序事件的,每個(gè)月占兩個(gè)字節(jié),第一個(gè)字節(jié)代表是哪一個(gè)月,第二個(gè)字節(jié)代表偏移量。其中年和月的偏移量為一個(gè)字節(jié),其他從天開(kāi)始偏移量為2個(gè)或2個(gè)以上的字節(jié)(為了以后的擴(kuò)展)。
月判斷流程和年判斷流程一樣,除小時(shí)、分鐘和秒判斷時(shí)步長(zhǎng)要加3,其他都相同。
在判斷年節(jié)點(diǎn)時(shí),首先,取出首字節(jié)里的內(nèi)容,判斷首字節(jié)的內(nèi)容是否為0;如果為0,則加上首字節(jié)后的偏移量跳轉(zhuǎn)到月區(qū)域;如果首字節(jié)不為0,則定義一個(gè)變量YearHead,其中YearHead=首字節(jié)×2,定義一個(gè)步長(zhǎng)變量Step,其中Step的初值為0。然后,取出首字節(jié)下第(首字節(jié)地址+Step)地址處的字節(jié)內(nèi)容和當(dāng)前年進(jìn)行比對(duì),如果發(fā)現(xiàn)有年信息和當(dāng)前年相等,則取出該年的偏移量,加上該偏移量跳后轉(zhuǎn)到相應(yīng)的月區(qū)域;如果當(dāng)前步長(zhǎng)值下沒(méi)有年信息和當(dāng)前年相等,則Step=Step+2,然后判斷Step是否大于YearHead,如果小于YearHead,則重復(fù)上述步驟,如果Step加到大于YearHead,則退出。
判斷月節(jié)點(diǎn)時(shí),方法和年相同。
判斷天節(jié)點(diǎn)時(shí),流程如下首先,取出首字節(jié)里的內(nèi)容,判斷首字節(jié)的內(nèi)容是否為0;如果為0,則判斷首循環(huán)字節(jié)中的內(nèi)容是否為0,如果也為0,則加上周循環(huán)字節(jié)后的偏移量跳轉(zhuǎn)到時(shí)區(qū)域;如果不為0,則加上周循環(huán)后的偏移量跳轉(zhuǎn)到周區(qū)域進(jìn)行判斷。
如果首字節(jié)不為0,則定義一個(gè)變量DayHead,其中DayHead=首字節(jié)×2,定義一個(gè)步長(zhǎng)變量Step,其中Step的初值為0。然后,取出首字節(jié)下第(首字節(jié)地址+Step)地址處的字節(jié)內(nèi)容和當(dāng)前年進(jìn)行比對(duì),如果發(fā)現(xiàn)有年信息和當(dāng)前年相等,則取出該年的偏移量,加上該偏移量跳后轉(zhuǎn)到相應(yīng)的月區(qū)域;如果當(dāng)前步長(zhǎng)值下沒(méi)有年信息和當(dāng)前年相等,則Step=Step+2,然后判斷Step是否大于YearHead,如果小于YearHead,則重復(fù)上述步驟,如果Step加到大于YearHead,則判斷周循環(huán)字節(jié)中的內(nèi)容是否為0,如果為0,則加上周循環(huán)字節(jié)后的偏移量跳轉(zhuǎn)到時(shí)區(qū)域;如果不為0,則加上周循環(huán)后的偏移量跳轉(zhuǎn)到周區(qū)域進(jìn)行判斷。
如有周循環(huán)進(jìn)入周區(qū)域進(jìn)行判斷,判斷方法和年、月判斷方法相同,然后進(jìn)入時(shí)區(qū)域進(jìn)行判斷,依次到秒?yún)^(qū)域。秒節(jié)點(diǎn)后的偏移量就指向一個(gè)帶有事件的區(qū)域。如果該事件是帶條件的,就去讀取輸入口的狀態(tài)值和條件值相比教,如果輸入口狀態(tài)值和條件值相匹配就執(zhí)行相應(yīng)條件下的動(dòng)作,如果該事件是不帶事件的,則直接直接執(zhí)行該事件。
單片機(jī)采用8位單片機(jī),如ATMEL、MOTOROLA、PHILIPS等公司的89C51、89C52或89S52等系列單片機(jī)。
為了使單片機(jī)實(shí)現(xiàn)時(shí)序控制功能,在上位計(jì)算機(jī)中提供了“可編程時(shí)序控制管理系統(tǒng)”軟件,用戶在該軟件中編寫(xiě)完成時(shí)序信息程序。
“可編程時(shí)序控制管理系統(tǒng)”包含一個(gè)方案庫(kù),方案庫(kù)是對(duì)應(yīng)的一些方案序列,在計(jì)算機(jī)中設(shè)立的一個(gè)通用的庫(kù),適應(yīng)于各種應(yīng)用場(chǎng)合標(biāo)識(shí)對(duì)應(yīng)的方案的通用性。方案庫(kù)分為帶條件判斷的方案庫(kù)建立,不帶條件判斷的方案庫(kù),且方案庫(kù)可以被新建或修改。
編寫(xiě)時(shí)序信息程序步驟是,a)從方案庫(kù)中提取所需方案;或重新設(shè)定時(shí)序事件的起、止時(shí)間、相關(guān)事件,修改方案庫(kù)中方案;或定義新事件方案并添加到方案庫(kù)中;b)建立應(yīng)用場(chǎng)景,該場(chǎng)景包含一個(gè)或多個(gè)方案以及一個(gè)或多個(gè)特殊事件;
c)把事件所含信息轉(zhuǎn)換成時(shí)序信息數(shù)據(jù)結(jié)構(gòu)鏈。
時(shí)序控制設(shè)備具有唯一ID號(hào),該ID號(hào)與應(yīng)用場(chǎng)景一一對(duì)應(yīng)。
二、應(yīng)用上述方法的可編程時(shí)序控制系統(tǒng)包括計(jì)算機(jī)、非易失存儲(chǔ)器、時(shí)序控制設(shè)備。
所述計(jì)算機(jī)中被提供一種對(duì)時(shí)序控制設(shè)備編寫(xiě)時(shí)序信息程序的軟件,即“可編程時(shí)序控制管理系統(tǒng)”。
“可編程時(shí)序控制管理系統(tǒng)”據(jù)時(shí)序控制設(shè)備需求,編寫(xiě)時(shí)序信息程序后,將時(shí)序信息程序通過(guò)相應(yīng)接口(串行口)下載到非易失存儲(chǔ)器中;非易失存儲(chǔ)器與時(shí)序控制設(shè)備相應(yīng)接口(串行口)連接,由時(shí)序控制設(shè)備執(zhí)行時(shí)序信息程序。
本發(fā)明提出的方法和系統(tǒng)與PLC的主要區(qū)別是,1、PLC下載的是控制指令集,PLC存儲(chǔ)的信息也是控制指令集;而本發(fā)明中,可編程時(shí)序控制設(shè)備下載的是時(shí)序事件序列,存儲(chǔ)的也是時(shí)序事件序列。
2、執(zhí)行時(shí)的區(qū)別PLC是解釋控制指令集來(lái)執(zhí)行相應(yīng)的工作,而本發(fā)明中,可編程時(shí)序控制系統(tǒng)是以時(shí)鐘為中心,每隔一個(gè)時(shí)鐘單位(這里一般是以秒為單位)來(lái)讀取時(shí)序事件序列信息,然后按一定的規(guī)則來(lái)解釋執(zhí)行,即可編程時(shí)序控制系統(tǒng)是以時(shí)序?yàn)楹诵耐ㄟ^(guò)時(shí)鐘觸發(fā)來(lái)解釋執(zhí)行一系列時(shí)序文件。
本發(fā)明的主要特點(diǎn)在于通用性、實(shí)用性、易用性,其有益效果有1、可以實(shí)現(xiàn)復(fù)雜信息場(chǎng)合下的的時(shí)序控制設(shè)備的應(yīng)用,用戶只需在計(jì)算機(jī)的時(shí)序控制設(shè)備進(jìn)行編程的軟件程序中錄入簡(jiǎn)單的時(shí)間信息和特殊事件,即可完成。
2、若要更改控制器程序只需更換存放有控制時(shí)序信息程序的存儲(chǔ)器。
3、考慮到各種應(yīng)用場(chǎng)合標(biāo)識(shí)對(duì)應(yīng)的方案有一定的通用性,本發(fā)明提供了方案庫(kù),且方案庫(kù)可以被修改和新建。
4、利用了計(jì)算機(jī)的豐富資源,使得用戶可以很方便的進(jìn)行一些設(shè)置。用戶可以根據(jù)需求建立所需的應(yīng)用場(chǎng)景,在應(yīng)用場(chǎng)景下建立一些方案序列(每個(gè)方案就是對(duì)應(yīng)的一些周期事件序列)和特殊事件序列。
5、本發(fā)明提供的時(shí)序控制設(shè)備采用嵌入式系統(tǒng),不僅提供時(shí)序控制,而且可以根據(jù)根據(jù)環(huán)境改變來(lái)進(jìn)行一定智能化的輸出控制。
6、時(shí)序控制設(shè)備具有唯一ID號(hào),該ID號(hào)與上述方法中所述方案中的場(chǎng)景一一對(duì)應(yīng),避免了程序更新中的錯(cuò)誤。
7、本發(fā)明提供的方案采用非易失存儲(chǔ)器作為程序傳輸?shù)慕橘|(zhì),避免了傳統(tǒng)方法通過(guò)無(wú)/有線傳輸?shù)目臻g、成本等的限制,可以使時(shí)序控制設(shè)備離線工作。
8、本發(fā)明用8位單片機(jī)作為控制器件,節(jié)約了成本,更具有人性化。
圖1是系統(tǒng)框2是可編程時(shí)序控制設(shè)備的控制部分電路框3是時(shí)序控制設(shè)備單片機(jī)程序框4是可編程時(shí)序控制管理系統(tǒng)軟件的功能5是不帶條件判斷事件的方案庫(kù)的設(shè)置界面圖6是帶條件判斷事件的方案庫(kù)的設(shè)置界面圖7是“可編程時(shí)序控制管理系統(tǒng)”界面8是時(shí)序信息數(shù)據(jù)結(jié)構(gòu)示意9是年節(jié)點(diǎn)判斷流程10是天節(jié)點(diǎn)判斷流程圖具體實(shí)施方式
結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
發(fā)明系統(tǒng)組成,如圖11、計(jì)算機(jī)的操作系統(tǒng)是WINDOWS2000,裝有“可編程時(shí)序控制管理系統(tǒng)”軟件;2、時(shí)序控制設(shè)備,如圖2主控模塊主要負(fù)責(zé)控制器的策略調(diào)度控制,采用ATMEL89S52單片機(jī);時(shí)鐘模塊是一個(gè)專門的時(shí)鐘芯片,這里選用的是DS1307作為時(shí)鐘芯片;時(shí)鐘校正模塊可以是一個(gè)備用模塊,主要是方便用戶可以在控制器上通過(guò)幾個(gè)按鍵輸入對(duì)時(shí)間進(jìn)行校正;非易失性存儲(chǔ)器采用EEPROM,其中存放的是時(shí)序信息程序,這些程序是通信上位機(jī)設(shè)定好后下載到非易失性存儲(chǔ)器中;電源模塊負(fù)責(zé)給整個(gè)控制電路供電,該電源模塊帶有后備電池,能在斷電的情況下給時(shí)鐘供電多年;監(jiān)控模塊主要是防止系統(tǒng)出現(xiàn)異常時(shí)自動(dòng)復(fù)位,加強(qiáng)系統(tǒng)的穩(wěn)定性;通信接口模塊可以是一個(gè)備用模塊,主要負(fù)責(zé)和上位機(jī)之間的通信,用戶通過(guò)上位機(jī)設(shè)定的時(shí)序信息程序通過(guò)串口下載到控制電路中。
時(shí)鐘顯示模塊可以是一個(gè)備用模塊,主要可以顯示當(dāng)前控制器中的時(shí)間;輸出端口數(shù)量可選,可根據(jù)不同要求定制。
輸入端口是可選的,端口數(shù)量也是可選的,可根據(jù)不同要求定制。
例一應(yīng)用本系統(tǒng)實(shí)現(xiàn)學(xué)校中對(duì)教學(xué)樓路燈,教室鈴聲、燈光等的時(shí)序控制,編程界面圖如圖7。
1、提取方案、建立方案庫(kù)打鈴的方案每個(gè)學(xué)校都可能是一樣的,這樣在計(jì)算機(jī)中設(shè)立了一個(gè)通用的方案庫(kù),根據(jù)具體情況,用戶在通用庫(kù)方案的基礎(chǔ)上進(jìn)行一定的修改形成自己的方案。本實(shí)施例中一個(gè)教學(xué)工作日的打鈴控制由每秒的輸出控制序列,可以轉(zhuǎn)換成狀態(tài)跳變控制序列,如{……、(8:00:00,打開(kāi),normal)、(8:00:05,關(guān)閉,normal)、(8:45:00,打開(kāi),normal)、(8:45:05,關(guān)閉,normal)、……}。該方案為不帶條件判斷的方案,可以立即加到方案庫(kù)中,方案庫(kù)的設(shè)置界面如圖5所示。
路燈開(kāi)關(guān)的方案,類似打鈴的方案,區(qū)別之處是,環(huán)境亮度是路燈開(kāi)關(guān)的判斷條件。該方案是帶條件判斷的方案,方案庫(kù)的設(shè)置界面如圖6所示。這里,控制器是有兩個(gè)輸入口,輸入口1或輸入口2的條件閾值即為亮度值。
教室燈光和特殊事件1(如防空警報(bào))的方案建立與上述方法相同。
2、建立應(yīng)用場(chǎng)景應(yīng)用場(chǎng)景對(duì)應(yīng)一個(gè)應(yīng)用場(chǎng)合,參見(jiàn)圖4。用戶可以根據(jù)需求設(shè)置時(shí)間和修改時(shí)間下要執(zhí)行的場(chǎng)景,用戶可以設(shè)置多個(gè)場(chǎng)景,場(chǎng)景包含多個(gè)方案和多個(gè)特殊事件,特殊事件針對(duì)那些特殊的時(shí)序事件,如防空警報(bào)是在某個(gè)特殊時(shí)間才開(kāi)始。
學(xué)校教學(xué)樓即為一個(gè)應(yīng)用場(chǎng)景1,包含教學(xué)樓打鈴方案、教室燈控制方案、教學(xué)樓路燈控制方案和表示特殊事件1。與應(yīng)用場(chǎng)景1關(guān)聯(lián)的教學(xué)樓時(shí)序控制設(shè)備的ID號(hào)為A025B210C833D001。通過(guò)選擇應(yīng)用場(chǎng)合標(biāo)識(shí)以及應(yīng)用場(chǎng)合標(biāo)識(shí)下的各種方案進(jìn)行設(shè)置和修改,然后將這些不同應(yīng)用場(chǎng)合標(biāo)識(shí)下的方案下載到相應(yīng)應(yīng)用場(chǎng)合的控制器中。
3、生成事件程序用戶在應(yīng)用場(chǎng)景的模式下設(shè)置好方案序列和特殊事件序列后,“可編程時(shí)序控制管理系統(tǒng)”的后臺(tái)將用戶設(shè)定的時(shí)序信息轉(zhuǎn)換成一個(gè)時(shí)序邏輯樹(shù)型結(jié)構(gòu)的時(shí)序信息程序,如圖6。將時(shí)序信息程序計(jì)算機(jī)串行口下載到EEPROM中。
4、時(shí)序控制設(shè)備執(zhí)行程序,如圖3所示將EEPROM插入時(shí)序控制設(shè)備的串行口,控制器中的解讀程序會(huì)讀取時(shí)序信息,脫機(jī)運(yùn)行時(shí)可以按照一定的控制邏輯完成相應(yīng)時(shí)序下的事件。
打鈴方案不帶判斷條件,單片機(jī)按照時(shí)序信息持續(xù)執(zhí)行;對(duì)于路燈方案,單片機(jī)通過(guò)對(duì)輸入口狀態(tài)條件的判斷,根據(jù)環(huán)境改變來(lái)進(jìn)行一定智能化的輸出控制,教學(xué)樓路燈的開(kāi)關(guān)根據(jù)環(huán)境亮度變化進(jìn)行判斷,條件的優(yōu)先級(jí)是最高的。
如果,對(duì)上述控制中需要修改時(shí),只要按新要求編寫(xiě)時(shí)序信息程序,下載到EEPROM,控制器讀取其中程序即可。
例二應(yīng)用本系統(tǒng)實(shí)現(xiàn)園林自動(dòng)定時(shí)噴淋控制1、提取方案、建立方案庫(kù)同例一,根據(jù)具體情況,用戶在通用庫(kù)方案的基礎(chǔ)上進(jìn)行一定的修改形成自己的方案。一個(gè)噴頭的控制由每秒的輸出控制序列,可以轉(zhuǎn)換成狀態(tài)跳變控制序列,如{……、(9:00:00,打開(kāi),normal)、(9:30:00,關(guān)閉,normal)、(16:00:00,打開(kāi),normal)、(16:30:00,關(guān)閉,normal)、……}。判斷條件是雨雪,該方案是帶條件判斷的方案,方案庫(kù)的設(shè)置界面如圖6所示。這里,控制器是有兩個(gè)輸入口,輸入口1或輸入口2的條件閾值即為雨雪。
其它噴頭方案建立同上。
2、建立應(yīng)用場(chǎng)景同例一,花園即為一個(gè)應(yīng)用場(chǎng)景,包含若干個(gè)噴頭方案,與應(yīng)用場(chǎng)景關(guān)聯(lián)的園林自動(dòng)定時(shí)噴淋時(shí)序控制設(shè)備的ID號(hào)為A025B210C833D002。通過(guò)選擇應(yīng)用場(chǎng)合標(biāo)識(shí)以及應(yīng)用場(chǎng)合標(biāo)識(shí)下的各種方案進(jìn)行設(shè)置和修改,然后將這些不同應(yīng)用場(chǎng)合標(biāo)識(shí)下的方案下載到相應(yīng)應(yīng)用場(chǎng)合的控制器中。
3、生成事件程序同例一4、時(shí)序控制設(shè)備執(zhí)行程序,如圖3所示同例一的路燈控制例三應(yīng)用本系統(tǒng)實(shí)現(xiàn)電飯鍋控制以電飯鍋煮稀飯為例1、提取方案、建立方案庫(kù)同例一,根據(jù)喜好(有的人喜歡吃爛一點(diǎn),有的人喜歡吃硬一點(diǎn)的)用戶在通用庫(kù)方案的基礎(chǔ)上進(jìn)行一定的修改形成自己的方案。電飯鍋加熱器電源的控制由每秒的輸出控制序列,可以轉(zhuǎn)換成狀態(tài)跳變控制序列,如{……、(9:00:00,打開(kāi),normal)、(9:03:00,關(guān)閉,normal)、(9:15:00,打開(kāi),normal)、(9:18:00,關(guān)閉,normal)、……}。判斷條件是水溫,該方案是帶條件判斷的方案,方案庫(kù)的設(shè)置界面如圖6所示。這里,控制器是有兩個(gè)輸入口,輸入口1或輸入口2的條件閾值即為水溫。
2、建立應(yīng)用場(chǎng)景同例一,電飯鍋即為一個(gè)應(yīng)用場(chǎng)景,包含煮飯方案,與應(yīng)用場(chǎng)景關(guān)聯(lián)的電飯鍋加熱器電源的ID號(hào)為A025B210C833D003。如需更改煮飯方案,只需要對(duì)方案進(jìn)行設(shè)置和修改,或者提取適合的現(xiàn)有方案即可,然后將方案下載到相應(yīng)應(yīng)用場(chǎng)合的控制器中。
3、生成事件程序同例一4、時(shí)序控制設(shè)備執(zhí)行程序,如圖3所示同例一的路燈控制例四應(yīng)用本系統(tǒng)進(jìn)行校區(qū)路燈定時(shí)控制器校區(qū)有20幢學(xué)生宿舍,5幢教學(xué)樓,圖書(shū)及閱覽室,體育館等,其燈光供電的管理,可以采用本發(fā)明的方案。
采購(gòu)了30多個(gè)控制器,分別控制這些地方的路燈及室內(nèi)燈光的電源。這些控制器的控制容量應(yīng)該根據(jù)應(yīng)用場(chǎng)所進(jìn)行考慮,一般的工程師就可以解決,不涉及控制時(shí)序及邏輯問(wèn)題。
控制器管理員在計(jì)算機(jī)上運(yùn)行應(yīng)用場(chǎng)景管理程序,根據(jù)各個(gè)控制器的安放位置,以及其出廠設(shè)備標(biāo)識(shí)號(hào)碼,首先建立設(shè)備標(biāo)識(shí)庫(kù),將設(shè)備與應(yīng)用場(chǎng)所對(duì)應(yīng)起來(lái)。比如,1號(hào)學(xué)生宿舍,3號(hào)教學(xué)樓,等等。
根據(jù)學(xué)校的管理規(guī)定,對(duì)于各個(gè)應(yīng)用場(chǎng)所的路燈管理時(shí)序,進(jìn)行編輯,生成應(yīng)用場(chǎng)景。比如,我們?cè)?號(hào)學(xué)生宿舍的應(yīng)用場(chǎng)景上,設(shè)置每天下午5點(diǎn)開(kāi)始有電,晚上10點(diǎn)停電,周末,增加一個(gè)小時(shí),節(jié)、假日增加4個(gè)小時(shí),假期停電。這些方案,在軟件程序的方案庫(kù)中可能已經(jīng)有了,只是復(fù)制到1號(hào)學(xué)生宿舍的應(yīng)用場(chǎng)景中,再根據(jù)情況進(jìn)行改動(dòng)就好了。生成的應(yīng)用場(chǎng)景,存放在應(yīng)用場(chǎng)景庫(kù)中。
我們對(duì)于2號(hào)學(xué)生宿舍的控制時(shí)序,應(yīng)該與1號(hào)宿舍相同,那么,我們將1號(hào)宿舍的應(yīng)用場(chǎng)景復(fù)制到2號(hào)宿舍的應(yīng)用場(chǎng)景就可以了。
教學(xué)樓的控制時(shí)序不同,我們也可同樣進(jìn)行設(shè)置,生成應(yīng)用場(chǎng)景。
生成應(yīng)用場(chǎng)景以后,可以下載到各個(gè)控制器中,1號(hào)學(xué)生宿舍的應(yīng)用場(chǎng)景,只能下載到1號(hào)學(xué)生宿舍的控制器中,下載到其他控制器時(shí),由于設(shè)備標(biāo)識(shí)號(hào)碼不符合,會(huì)提示出錯(cuò),并停止運(yùn)行。避免出現(xiàn)錯(cuò)誤控制。
由于校區(qū)各控制器之間距離較遠(yuǎn),直接下載控制程序并不方便,可以利用專用程序轉(zhuǎn)移器進(jìn)行程序轉(zhuǎn)移,或存儲(chǔ)在存儲(chǔ)卡上進(jìn)行轉(zhuǎn)移。
權(quán)利要求
1.一種可編程時(shí)序控制方法,步驟包括a)在上位計(jì)算機(jī)中編寫(xiě)時(shí)序信息程序;b)用非易失性儲(chǔ)存器存儲(chǔ)和轉(zhuǎn)移時(shí)序信息程序;c)時(shí)序控制設(shè)備讀取非易失性儲(chǔ)存器存儲(chǔ)中的時(shí)序信息程序并執(zhí)行,其特征是步驟c)中時(shí)序控制設(shè)備采用單片機(jī)作為控制芯片,進(jìn)行時(shí)序控制;該單片機(jī)通過(guò)對(duì)輸入口狀態(tài)條件的判斷,進(jìn)行智能化的輸出控制;單片機(jī)的步驟主要包括首先每秒讀取時(shí)序控制設(shè)備的時(shí)鐘芯片中的即時(shí)時(shí)間,然后將即時(shí)時(shí)間和時(shí)序信息數(shù)據(jù)結(jié)構(gòu)中各個(gè)時(shí)間節(jié)點(diǎn)進(jìn)行比較;其中,首字節(jié)代表下面有多少時(shí)序信息有效,月份中的首字節(jié)代表月份中該字節(jié)數(shù)量個(gè)月是含有時(shí)序事件的,每個(gè)月占兩個(gè)字節(jié),第一個(gè)字節(jié)代表是月份,第二個(gè)字節(jié)代表偏移量;其中年和月的偏移量為一個(gè)字節(jié),其他從天開(kāi)始偏移量為2個(gè)或2個(gè)以上的字節(jié),為了以后的擴(kuò)展;月判斷流程和年判斷流程一樣,除小時(shí)、分鐘和秒判斷時(shí)步長(zhǎng)要加3,其他都相同;在判斷年節(jié)點(diǎn)時(shí),首先,取出首字節(jié)里的內(nèi)容,判斷首字節(jié)的內(nèi)容是否為0;如果為0,則加上首字節(jié)后的偏移量跳轉(zhuǎn)到月區(qū)域;如果首字節(jié)不為0,則定義一個(gè)變量YearHead,其中YearHead=首字節(jié)×2,定義一個(gè)步長(zhǎng)變量Step,其中Step的初值為0。然后,取出首字節(jié)下地址為首字節(jié)地址+Step處的字節(jié)內(nèi)容和當(dāng)前年進(jìn)行比對(duì),如果發(fā)現(xiàn)有年信息和當(dāng)前年相等,則取出該年的偏移量,加上該偏移量跳后轉(zhuǎn)到相應(yīng)的月區(qū)域;如果當(dāng)前步長(zhǎng)值下沒(méi)有年信息和當(dāng)前年相等,則Step=Step+2,然后判斷Step是否大于YearHead,如果小于YearHead,則重復(fù)上述步驟,如果Step加到大于YearHead,則退出;判斷月節(jié)點(diǎn)時(shí),方法和年相同;判斷天節(jié)點(diǎn)時(shí),首先,取出首字節(jié)里的內(nèi)容,判斷首字節(jié)的內(nèi)容是否為0;如果為0,則判斷首循環(huán)字節(jié)中的內(nèi)容是否為0,如果也為0,則加上周循環(huán)字節(jié)后的偏移量跳轉(zhuǎn)到時(shí)區(qū)域;如果不為0,則加上周循環(huán)后的偏移量跳轉(zhuǎn)到周區(qū)域進(jìn)行判斷;如果首字節(jié)不為0,則定義一個(gè)變量DayHead,其中DayHead=首字節(jié)×2,定義一個(gè)步長(zhǎng)變量Step,其中Step的初值為0;然后,取出首字節(jié)下第首字節(jié)地址+Step地址處的字節(jié)內(nèi)容和當(dāng)前年進(jìn)行比對(duì),如果發(fā)現(xiàn)有年信息和當(dāng)前年相等,則取出該年的偏移量,加上該偏移量跳后轉(zhuǎn)到相應(yīng)的月區(qū)域;如果當(dāng)前步長(zhǎng)值下沒(méi)有年信息和當(dāng)前年相等,則Step=Step+2,然后判斷Step是否大于YearHead,如果小于YearHead,則重復(fù)上述步驟,如果Step加到大于YearHead,則判斷周循環(huán)字節(jié)中的內(nèi)容是否為0,如果為0,則加上周循環(huán)字節(jié)后的偏移量跳轉(zhuǎn)到時(shí)區(qū)域;如果不為0,則加上周循環(huán)后的偏移量跳轉(zhuǎn)到周區(qū)域進(jìn)行判斷;如有周循環(huán)進(jìn)入周區(qū)域進(jìn)行判斷,判斷方法和年、月判斷方法相同,然后進(jìn)入時(shí)區(qū)域進(jìn)行判斷,依次到秒?yún)^(qū)域;秒節(jié)點(diǎn)后的偏移量就指向一個(gè)帶有事件的區(qū)域;如果該事件是帶條件的,就去讀取輸入口的狀態(tài)值和條件值相比教,如果輸入口狀態(tài)值和條件值相匹配就執(zhí)行相應(yīng)條件下的動(dòng)作,如果該事件是不帶事件的,則直接執(zhí)行該事件。
2.根據(jù)權(quán)利要求1所述的可編程時(shí)序控制方法,其特征在于采用的非易失性儲(chǔ)存器存儲(chǔ)是EPROM、EEPROM或FLASH。
3.根據(jù)權(quán)利要求1所述的可編程時(shí)序控制方法,其特征在于時(shí)序信息程序在“可編程時(shí)序控制管理系統(tǒng)”軟件中編寫(xiě)完成,該軟件包含一個(gè)方案庫(kù),方案庫(kù)是對(duì)應(yīng)的一些方案序列,在計(jì)算機(jī)中設(shè)立的一個(gè)通用的庫(kù),適應(yīng)于各種應(yīng)用場(chǎng)合標(biāo)識(shí)對(duì)應(yīng)的方案的通用性;編寫(xiě)時(shí)序信息程序步驟是a)從方案庫(kù)中提取所需方案;或重新設(shè)定時(shí)序事件的起、止時(shí)間、相關(guān)事件,修改方案庫(kù)中方案;或定義新事件方案并添加到方案庫(kù)中;b)建立應(yīng)用場(chǎng)景,該場(chǎng)景包含一個(gè)或多個(gè)方案以及一個(gè)或多個(gè)特殊事件;c)把事件所含信息轉(zhuǎn)換成時(shí)序信息數(shù)據(jù)結(jié)構(gòu)鏈。
4.根據(jù)權(quán)利要求3所述的可編程時(shí)序控制方法,其特征在于方案庫(kù)分為帶條件判斷的方案庫(kù)建立,不帶條件判斷的方案庫(kù),且方案庫(kù)被新建或修改。
5.根據(jù)權(quán)利要求1所述的可編程時(shí)序控制方法,其特征在于時(shí)序控制設(shè)備具有唯一ID號(hào),該ID號(hào)與應(yīng)用場(chǎng)景一一對(duì)應(yīng)。
6.一種應(yīng)用權(quán)利要求1所述方法的可編程時(shí)序控制系統(tǒng),包括計(jì)算機(jī)、非易失存儲(chǔ)器、時(shí)序控制設(shè)備;所述計(jì)算機(jī)中被提供一種對(duì)時(shí)序控制設(shè)備編寫(xiě)時(shí)序信息程序的軟件,該軟件根據(jù)時(shí)序控制設(shè)備需求編寫(xiě)時(shí)序信息程序后,將時(shí)序信息程序通過(guò)相應(yīng)接口下載到非易失存儲(chǔ)器中;非易失存儲(chǔ)器與時(shí)序控制設(shè)備相應(yīng)接口連接,由時(shí)序控制設(shè)備執(zhí)行時(shí)序信息程序。
7.根據(jù)權(quán)利要求6所述的可編程時(shí)序控制系統(tǒng),其特征在于對(duì)時(shí)序控制設(shè)備編寫(xiě)時(shí)序信息程序的軟件是“可編程時(shí)序控制管理系統(tǒng)”。
8.根據(jù)權(quán)利要求6所述的可編程時(shí)序控制系統(tǒng),其特征在于接口為串行口。
9.根據(jù)權(quán)利要求6所述的可編程時(shí)序控制系統(tǒng),其特征在于可編程時(shí)序控制系統(tǒng)適用于學(xué)校中對(duì)教學(xué)樓路燈,教室鈴聲、燈光等的時(shí)序控制。
全文摘要
本發(fā)明針對(duì)復(fù)雜信息場(chǎng)合應(yīng)用,提出一種可編程時(shí)序控制方法和系統(tǒng)。系統(tǒng)包括計(jì)算機(jī)、非易失存儲(chǔ)器、時(shí)序控制設(shè)備。方法的實(shí)施步驟包括a)在上位計(jì)算機(jī)中編寫(xiě)時(shí)序信息程序;b)用非易失性儲(chǔ)存器存儲(chǔ)和轉(zhuǎn)移時(shí)序信息程序;c)時(shí)序控制設(shè)備讀取非易失性儲(chǔ)存器存儲(chǔ)中的時(shí)序信息程序并執(zhí)行。本發(fā)明的相對(duì)于現(xiàn)有技術(shù),主要特點(diǎn)在于通用性、實(shí)用性、易用性。
文檔編號(hào)G05B19/04GK101042577SQ20071002101
公開(kāi)日2007年9月26日 申請(qǐng)日期2007年3月22日 優(yōu)先權(quán)日2007年3月22日
發(fā)明者程偉, 朱啟文, 周望瑋, 張嘯, 楊圓圓, 韓迪 申請(qǐng)人:南京信息職業(yè)技術(shù)學(xué)院