一種時(shí)序再現(xiàn)循環(huán)控制器以及時(shí)序控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自動(dòng)化控制技術(shù)領(lǐng)域,尤其涉及一種時(shí)序控制方法、時(shí)序再現(xiàn)循環(huán)控制器。
【背景技術(shù)】
[0002]時(shí)序控制器通常應(yīng)用在機(jī)床加工行業(yè)中,可用于各種需要自動(dòng)化控制的傳統(tǒng)機(jī)床,用戶根據(jù)自己的實(shí)用情況來(lái)設(shè)定程序時(shí)間,開(kāi)啟后時(shí)序控制器設(shè)置自動(dòng)控制機(jī)床的運(yùn)行程序,從而減輕了人的動(dòng)作量,大大提高動(dòng)作效率。但傳統(tǒng)的時(shí)序控制器的信號(hào)輸入方式通常需要設(shè)置具體的時(shí)間,調(diào)試過(guò)程繁復(fù),易產(chǎn)生不必要的損耗。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提供一種操作更簡(jiǎn)便,過(guò)程更直觀的控制方法。
[0004]本發(fā)明的技術(shù)方案如下:
[0005]—種時(shí)序再現(xiàn)循環(huán)控制器,包括
[0006]前端輸入電路,采用手動(dòng)開(kāi)關(guān)、各種開(kāi)關(guān)量傳感器或其他控制電路用于輸入信號(hào);
[0007]與所述前端輸入電路連接的MCU,用于將所述輸入前端電路輸入信號(hào)的狀態(tài)記錄下來(lái),并對(duì)所記錄的時(shí)間進(jìn)行計(jì)算處理,得出所要記錄的狀態(tài)控制的時(shí)序,最后可按需循環(huán)利用所記錄的時(shí)序輸出以控制電氣負(fù)載;
[0008]與所述MCU連接的驅(qū)動(dòng)電路,用于輸出電平轉(zhuǎn)換,驅(qū)動(dòng)電氣負(fù)載的開(kāi)關(guān);
[0009]與所述MCU連接的顯示電路,用于顯示所記錄的狀態(tài)變化的次數(shù)及其工作狀態(tài)的指示;
[0010]與所述MCU連接的串口電路,采用串口通信方式與上位機(jī)進(jìn)行交互,向下傳輸設(shè)定好的狀態(tài)和時(shí)序數(shù)據(jù),以及控制指令;向上傳輸MCU所記錄的狀態(tài)和時(shí)序數(shù)據(jù);
[0011]與所述MCU連接的存儲(chǔ)器電路,用于存儲(chǔ)所記錄的狀態(tài)和時(shí)序數(shù)據(jù);與上述各電路相連的電源電路,用于給上述各電路進(jìn)行供電。
[0012]通過(guò)上述的一種時(shí)序再現(xiàn)循環(huán)控制器實(shí)現(xiàn)的一種時(shí)序控制方法,其包括以下步驟:
[0013]S1、上電初始化參數(shù)變量、MCU的定時(shí)器設(shè)置、和串口波特率配置;
[0014]S2、查詢是否有模式選擇,如“是”則進(jìn)入下一步,如“否”則繼續(xù)等待模式選擇;
[0015]S3、按選擇進(jìn)入記錄模式、再現(xiàn)模式、循環(huán)模式、存儲(chǔ)模式或者串口模式。
[0016]其中步驟S3中的記錄模式的工作步驟具體如下
[0017]S311、記錄前端輸入電路所輸入信號(hào)的初始狀態(tài)V0及其初始時(shí)間T0 ;
[0018]S312、MCU對(duì)輸入信號(hào)進(jìn)行邊沿檢測(cè);
[0019]S313、記錄邊沿觸發(fā)的時(shí)間Τ1 ;
[0020]S314、計(jì)算時(shí)間間隔變量t[i] = T1-T0 ;
[0021]S315、更新時(shí)間變量TO等于當(dāng)前實(shí)時(shí)時(shí)間,即TO = T1,且自變量i加1 ;
[0022]S316、查詢是否退出記錄模式,如“是”則進(jìn)入下一步,如“否”則回到S312 ;
[0023]S317、記錄結(jié)束標(biāo)志變量endflag等于當(dāng)前自變量的值i ;
[0024]S318、返回模式選擇。
[0025]其中步驟S3中的再現(xiàn)模式的工作步驟具體如下:
[0026]S321、讀取初始狀態(tài)變量V0,并驅(qū)動(dòng)輸出等于初始狀態(tài);
[0027]S322、讀取當(dāng)前實(shí)時(shí)時(shí)間變量ctime,讀取時(shí)間間隔變量t[0];并計(jì)算下一個(gè)狀態(tài)改變的運(yùn)行時(shí)間變量runtime = ctime+t [0];
[0028]S323、查詢實(shí)時(shí)時(shí)間是否等于運(yùn)行時(shí)間runtime,如“是”則進(jìn)入下一步,如“否”則返回繼續(xù)查詢;
[0029]S324、驅(qū)動(dòng)輸出狀態(tài)改變;
[0030]S325、自變量 i 加 1;
[0031]S326、讀取當(dāng)前實(shí)時(shí)時(shí)間ctime,讀取時(shí)間間隔t[i];計(jì)算下一個(gè)狀態(tài)改變的運(yùn)行時(shí)間 runtime = ctime+t [i];
[0032]S327、查詢?cè)佻F(xiàn)過(guò)程是否結(jié)束endflag == i,如“是”則進(jìn)入下一步,如“否”則回到 S323 ;
[0033]S328、查詢是否退出再現(xiàn)模式,如“是”則返回模式選擇,如“否”則返回繼續(xù)查詢。
[0034]其中步驟S3中的循環(huán)模式的工作步驟具體如下:
[0035]S331、讀取初始狀態(tài)變量V0,并驅(qū)動(dòng)輸出等于初始狀態(tài);
[0036]S332、讀取當(dāng)前實(shí)時(shí)時(shí)間變量ctime,讀取時(shí)間間隔變量t[0];并計(jì)算下一個(gè)狀態(tài)改變的運(yùn)行時(shí)間變量runtime = ctime+t [0];
[0037]S333、查詢實(shí)時(shí)時(shí)間是否等于運(yùn)行時(shí)間runtime,如“是”則進(jìn)入下一步,如“否”則繼續(xù)查詢等待;
[0038]S334、驅(qū)動(dòng)輸出狀態(tài)改變;
[0039]S335、自變量 i 加 1;
[0040]S336、讀取當(dāng)前實(shí)時(shí)時(shí)間ctime,讀取時(shí)間間隔t[i];計(jì)算下一個(gè)狀態(tài)改變的運(yùn)行時(shí)間 runtime = ctime+t [i];
[0041]S337、查詢是否退出循環(huán)模式,如“是”則返回模式選擇,如“否”則進(jìn)入下一步;
[0042]S338、查詢?cè)佻F(xiàn)過(guò)程是否結(jié)束endflag == i,如“是”則回到S331,如“否”則回到 S333。
[0043]其中步驟S3中的存儲(chǔ)模式的工作步驟具體如下:
[0044]S341、查詢是否存儲(chǔ)關(guān)鍵參數(shù)(V0,endflag,t[i]),如“是”則進(jìn)入下一步,如“否”則查詢是否退出循環(huán)模式;
[0045]S342、存儲(chǔ)關(guān)鍵數(shù)據(jù)到EEPR0M存儲(chǔ)器中;
[0046]S343、讀取EEPR0M存儲(chǔ)器中已保存的關(guān)鍵參數(shù);
[0047]S344、對(duì)比步驟S343讀取的數(shù)據(jù)與原數(shù)據(jù)是否一致,以檢查是否存儲(chǔ)正確,如“是”則進(jìn)入下一步,如“否”則回到S341 ;
[0048]S345、查詢是否退出存儲(chǔ)模式,如“是”則返回模式選擇,如“否”則回到S341。
[0049]其中步驟S3中的串口模式的工作步驟具體如下:
[0050]S351、查詢是否有數(shù)據(jù)傳輸,如“是”則進(jìn)入下一步,如“否”則返回模式選擇;
[0051]S352、傳輸關(guān)鍵參數(shù)(V0、endflag、t[i]);
[0052]S353、傳輸模式選擇的控制指令;
[0053]S354、查詢是否退出串口模式,如“是”則返回模式選擇,如“否”則回到S351。
[0054]本發(fā)明與【背景技術(shù)】相比,具有如下優(yōu)點(diǎn):
[0055]1、應(yīng)用范圍更廣,可以應(yīng)用在多個(gè)場(chǎng)合(例如應(yīng)用在流水線、機(jī)床控制、控制臺(tái)等需要重復(fù)作業(yè)的場(chǎng)所),以及物聯(lián)網(wǎng)、智能家居、機(jī)器人控制等。
[0056]2、操作更簡(jiǎn)便,可與多種生產(chǎn)設(shè)備相結(jié)合,組成不同的專(zhuān)用自動(dòng)化生產(chǎn)設(shè)備。
[0057]3、與傳感器相結(jié)合,能滿足更復(fù)雜的控制過(guò)程需求,以及可組合成多種衍生產(chǎn)品。
[0058]4、具有迭代和多通道擴(kuò)展能力,功能強(qiáng)大,可用于組建智能工廠車(chē)間。
[0059]5、本發(fā)明與傳統(tǒng)時(shí)序控制器設(shè)置時(shí)間的方式不同,傳統(tǒng)的時(shí)序控制器通常需要設(shè)置具體的時(shí)間,調(diào)試過(guò)程繁復(fù);而本發(fā)明是通過(guò)運(yùn)行的結(jié)果來(lái)記錄時(shí)序,以“所見(jiàn)即所得”的方式實(shí)現(xiàn)自動(dòng)化控制過(guò)程,省略了設(shè)置時(shí)間的步驟,簡(jiǎn)化操作,應(yīng)用靈活,提高控制效率,降低成本。
【附圖說(shuō)明】
[0060]圖1為本發(fā)明的硬件結(jié)構(gòu)示意圖;
[0061 ]圖2為本發(fā)明圖1實(shí)施例的電路圖;
[0062]圖3為本發(fā)明時(shí)序控制方法的總流程圖;
[0063]圖4為本發(fā)明時(shí)序控制方法中的記錄模式的工作流程圖;
[0064]圖5為本發(fā)明時(shí)序控制方法中的再現(xiàn)模式的工作流程圖;
[0065]圖6為本發(fā)明時(shí)序控制方法中的循環(huán)模式的工作流程圖;
[0066]圖7為本發(fā)明時(shí)序控制方法中的存儲(chǔ)模式的工作流程圖;
[0067]圖8為本發(fā)明時(shí)序控制方法中的串口模式的工作流程圖;
[0068]圖9為本發(fā)明實(shí)施例的工作原理示意圖;
【具體實(shí)施方式】
[0069]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0070]實(shí)施例
[0071]如圖1與圖2所示,本發(fā)明提供了一種時(shí)序再現(xiàn)循環(huán)控制器,包括一型號(hào)為AT89S52的MCU Q4、分別與MCU連接的前端輸入電路Q(chēng)1、驅(qū)動(dòng)電路Q(chēng)3、顯示電路Q(chēng)2、串口電路Q(chēng)5和存儲(chǔ)器電路Q(chēng)6,電源電路Q(chēng)7與上述各電路相連,用于給上述各電路進(jìn)行供電,驅(qū)動(dòng)電路輸出端連接電氣負(fù)載,串口電路另一端連接上位機(jī)。
[0072]前端輸入電路Q(chēng)1采用手動(dòng)開(kāi)關(guān)用于輸入信號(hào);
[0073]MCU Q4用于將輸入前端電路Q(chēng)1輸入信號(hào)的狀態(tài)記錄下來(lái),并對(duì)所記錄的時(shí)間進(jìn)行計(jì)算處理,得出所要記錄的狀態(tài)控制的時(shí)序,最后可按需循環(huán)利用所記錄的時(shí)序輸出以控制電氣負(fù)載;
[0074]驅(qū)動(dòng)電路Q(chēng)3用于輸出電平轉(zhuǎn)換,驅(qū)動(dòng)電氣負(fù)載的開(kāi)關(guān);
[0075]顯示電路Q(chēng)2用于顯示所記錄的狀態(tài)變化的次數(shù)及其工作狀態(tài)的指示;
[0076]串口電路Q(chēng)5采用串口通信方式傳輸所記錄的時(shí)間和狀態(tài)數(shù)據(jù)給上位機(jī);
[0077]存儲(chǔ)器電路Q(chēng)6采用EEPR0M存儲(chǔ)芯片AT24C04,用于存儲(chǔ)所記錄的時(shí)間和狀態(tài)數(shù)據(jù)。
[0078]如圖9所示,本發(fā)明實(shí)施例采用的狀態(tài)時(shí)序記錄的工作原理,具體如下
[0079]S91、電氣負(fù)載的開(kāi)關(guān)動(dòng)作時(shí)序,需要記錄的開(kāi)關(guān)時(shí)序含有三種關(guān)鍵參數(shù)分別是初始狀態(tài)V0、時(shí)間間隔t[i]、結(jié)束標(biāo)志endflag;這三種參數(shù)即可用于還原再現(xiàn)所要記錄的開(kāi)關(guān)動(dòng)作時(shí)序。
[0080]S92、記錄模式的狀態(tài)與時(shí)序,從記錄開(kāi)始到記錄結(jié)束,MCU獲得關(guān)鍵參數(shù)的數(shù)值。
[0081]S93、再現(xiàn)模式的狀態(tài)與時(shí)序,從再現(xiàn)開(kāi)始到再現(xiàn)結(jié)束,MCU還原S92所記錄的狀態(tài)與時(shí)序。
[0082]S94、循環(huán)模式的狀態(tài)與時(shí)序,從循環(huán)開(kāi)始,MCU循環(huán)再現(xiàn)S92所記錄的狀態(tài)與時(shí)序,直到循環(huán)結(jié)束。
[0083]如圖3所示,本發(fā)明實(shí)施例提供的時(shí)序控制方法,包括以下步驟:
[0084]S1、上電初始化參數(shù)變量i = 0,MCU的定時(shí)器設(shè)置timerO為10ms中斷一次,串口配置波特率9600 ;
[0085]S2、查詢是否有模式選擇,如“是”則進(jìn)入下一步,如“否”則繼續(xù)等待模式選擇;
[0086]S3、按選擇進(jìn)入記錄模式、再現(xiàn)模式、循環(huán)模式、存儲(chǔ)模式或者串口模式。
[0087]見(jiàn)圖4所示,并結(jié)合圖9的工作原理加以說(shuō)明,其中記錄模式的工作步驟具體如下
[0088]S311、記錄前端輸入電路所輸入信號(hào)的初始狀態(tài)V0,由于輸出反映輸入,此時(shí)輸出為低電平,所以V0 = 0