999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于有限狀態機的自動門控系統軟件設計

2016-05-25 00:37:35何勇靈
網絡安全與數據管理 2016年3期
關鍵詞:按鈕信號檢測

田 龍, 何勇靈

( 北京航空航天大學 交通科學與工程學院,北京 100191)

基于有限狀態機的自動門控系統軟件設計

田 龍, 何勇靈

( 北京航空航天大學 交通科學與工程學院,北京 100191)

采用有限狀態機的方法設計了一種自動門控制系統軟件,可實現自動門的可靠開閉和精確檢測。本文介紹了自動門控系統控制及檢測要求,給出了有限狀態機的基本原理,建立了基于有限狀態機的程序設計模型,給出軟件設計的部分關鍵代碼。單步調試及裝車實測證明:有限狀態機模型有助于規范化解決控制系統軟件設計問題。

有限狀態機;信號檢測;自動門控制

0 引言

在某自動門控系統中,根據門控裝置配置的光電傳感器、接近開關、微動開關和控制按鈕的狀態,執行開門、關門、鎖門及開關門二級緩沖動作。劃分門控系統運行狀態,確定不同輸入條件下門控系統狀態轉移過程,是設計自動門控系統軟件的關鍵。本文根據自動門控系統配置傳感器的信號特征,合理劃分門控系統運行狀態,采用有限狀態機原理,設計了門控系統控制和監測軟件,極大地提高了軟件設計可靠性。

1 輸入信號特征

自動門控系統輸入信號包括:鎖門狀態信號、關門位置信號、關門檢測信號、開門檢測與位置信號、開門關門控制信號,分別以紅外傳感器、微動開關、接近傳感器和門按鈕實現物理動作與電信號轉換,嵌入式微控制器根據輸入信號的變化,按設計的控制邏輯,控制直流電機拖動自動門動作。自動門控系統原理框圖如圖1所示。

圖1 自動門控系統原理框圖

自動門控系統輸入信號特征如下:

(1) 鎖門狀態信號,電平電壓24 V、0 V有效,在紅外傳感器被鎖舌遮擋時,信號能夠保持低電平;

(2) 關門位置信號,電平電壓24 V、24 V有效,當自動門門板上的金屬擋板觸碰微動開關使其閉合時,信號持續保持高電平;

(3) 關門檢測信號,電平電壓24 V、0 V有效,金屬擋板遮擋接近傳感器時,信號保持低電平;

(4) 開門檢測與位置信號,電平電壓24 V、0 V有效,金屬擋板遮擋接近傳感器時,信號保持低電平,金屬擋板通過接近傳感器后,信號恢復高電平;

(5) 開關門控制信號,由門按鈕按下時給出電平電壓為24 V的控制信號,有效時間<0.5 s,根據當前門狀態控制直流電機的正轉或者反轉。

2 輸入信號檢測方法

2.1 檢測方式

在嵌入式系統設計中,檢測一個數字量,只需要檢測數字量端口的高低電平。為了提高檢測到的數字量的可靠性,一般采用濾波、多次檢測的方式[1]。但是對于自動門控系統,系統需要實時、快速、穩定地檢測到輸入信號,因此要充分利用輸入信號特征,系統狀態對輸入信號的屏蔽要求進行信號檢測[2]。本文采用如下方法:

(1) 輸入信號中斷處理,沿觸發;

(2) 按鈕設備采用防抖處理;

(3) 針對不同門狀態,屏蔽無關輸入信號;

(4) 同時監測各個門狀態下的設備信號。

通過上述幾種對輸入信號處理的方法,能夠實時獲取輸入信號,及時處理。在這些信號處理的過程中,實際上是在自動門的多個狀態下分別獲取的,每一個狀態不僅與輸入信號相關,也與前一狀態相關[3]。

2.2 劃分門狀態

在自動門工作過程中,通過接收輸入信號,根據當前門狀態進行開門動作、關門動作、鎖門指示以及開關門二級緩沖等動作。自動門在同一時刻只能處于一種門狀態,同時為了提高自動門的可靠性,在一個門狀態下,程序能夠屏蔽其他無關設備信號的變化。

本文針對自動門控制系統,定義了6個門狀態:

(1) 開門狀態,表征自動門在完全開門后的停止狀態;

(2) 正在開門狀態,表征自動門從完全關門位向開門位移動的狀態;

(3) 關門狀態,表征自動門在完全關門后的停止狀態;

(4) 正在關門狀態,表征自動門從完全開門位向關門位移動的狀態;

(5) 鎖門狀態,表征自動門機械鎖死,衛生間有人占用的狀態;

(6) 故障狀態,表征自動門輸入設備或自動門軌跡上有障礙物,無法正常開關門的狀態。

2.3 關于有限狀態機

通過對信號處理的分析,采用有限狀態機的方式建模將使信號處理更加方便可靠。有限狀態機(Finite State Machine, FSM)常見于數字時序電路設計,是概念上、理論上的一種機器。有限狀態機包括:一組有限的狀態集,是描述系統中不同狀態的集合;一個起始狀態,指示系統開始時的狀態;一組輸入符號集,是系統接收的不同輸入信息的集合;一個狀態轉移函數,將輸入符號和當前狀態映射到下一狀態[4]。

當輸入符號串時,有限狀態機隨即進入起始狀態,在任意特定時刻,只能處于其中一種狀態。狀態的轉換依賴于當前狀態、輸入符號(觸發條件)和轉換函數,轉換時間理論上為0[5]。

根據已定義的門狀態,各狀態機對應的輸入符號集及狀態轉換函數如下:

(1)S1,開門(STATE_OPENED):門外開門按鈕觸發時保持,門內開關門按鈕觸發或延時40 s后轉入正在關門狀態。在正在開門狀態下,當開門接近開關由高電平轉為低電平時轉入。

(2)S2,關門(STATE_CLOSED):無外部觸發時保持,門內開關門按鈕、門外開門按鈕觸發時轉入正在開門狀態。在正在關門狀態下,當微動開關由低電平轉為高電平時轉入;在鎖門狀態下,當光電開關由低電平轉為高電平時轉入。

(3)S3,正在開門(STATE_OPENING):在此狀態下,門按鈕觸發時保持,當開門接近開關由高電平轉為低電平時轉入開門狀態。在關門狀態下,當門按鈕觸發時轉入;在正在關門狀態下,當異物或人阻擋門關閉時轉入。

(4)S4,正在關門(STATE_CLOSING):在此狀態下,門按鈕觸發時保持,當異物或人阻擋門關閉時轉入正在開門狀態。在開門狀態下,門內開關門按鈕觸發時轉入;在故障狀態下,門內開關門按鈕觸發時轉入。

(5)S5,鎖門(STATE_LOCKED):在此狀態下,門按鈕觸發時保持,當光電開關由低電平轉為高電平轉入關門狀態。在關門狀態下,光電開關由高電平轉為低電平時轉入。

(6)S6,故障(STATE_FAULT):在此狀態下,門外開門按鈕觸發時保持,當門內開關門按鈕觸發時轉入正在關門狀態。在連續關門失敗兩次之后,門打開并轉入。基于有限狀態機的門控制過程如圖2。

圖2 基于有限狀態機的門控制過程狀態圖

3 設計實現

在自動門控制系統中,通過中斷檢測信號上升沿或下降沿變化,實時獲取相應傳感器狀態信息并使系統當前狀態跳轉到另一狀態,使用switch…case語句在每次循環中檢測系統狀態,并執行相應動作[6]。軟件程序使用C語言實現,包括程序定義狀態機、信號實時檢測、狀態執行任務等[7]。

3.1 狀態機

狀態機的定義為:

typedef enum STATE

{

STATE_OPENED, //S1:開門狀態

STATE_CLOSED, //S2:關門狀態

STATE_OPENING, //S3:正在開門狀態

STATE_CLOSING, //S4:正在關門狀態

STATE_LOCKED, //S5:鎖門狀態

STATE_FAULT //S6:故障狀態

} STATE

3.2 信號實時檢測

外部傳感器有一個關門微動開關,一個關門接近開關,一個開門接近開關,一個鎖門光電開關,另有兩個門按鈕——開門按鈕與開關門按鈕,分別連接至控制板的POS1,POS2,POS3,LOCK,SW1,SW2六個信號端口。由于各個傳感器的設計不同,微動開關采用24 V供電,高電平有效,兩個接近開關和一個光電開關采用24 V供電,低電平有效。在程序內部,初始化四個信號端口對應的I/O口,初始化中斷,其中微動開關、兩個門按鈕配置為上升沿觸發,關門接近開關、鎖門光電開關配置為下升沿觸發,開門接近開關上升-下降沿觸發。信號檢測代碼位于中斷服務函數中[8]。

相關的中斷控制包括:

(1)微動開關信號上升沿進入中斷,系統狀態設置為關門狀態;

(2)關門接近開關信號下降沿進入中斷,給出自動門關門減速控制信號;

(3)開門接近開關信號下降沿進入中斷,給出自動門開門減速控制信號,上升沿進入中斷,系統狀態設置為開門狀態;

(4)鎖門光電開關信號下降沿進入中斷,系統狀態設置為鎖門狀態,上升沿進入中斷,系統狀態設置為關門狀態;

(5)門按鈕信號上升沿進入中斷,控制自動門開門或關門,同時設置系統狀態為正在開門狀態或正在關門狀態。

3.3 狀態執行任務

在進行狀態循環檢測之前,需要對系統上電之后的門狀態進行一次判斷,使門關閉。狀態循環檢測由while循環實現,采用switch語句在每個分支case對應的狀態執行相應的動作。

while(1)

{

switch(STATE)

{

case STATE_OPENED:

ID1 = ID2 = 0;

DRV1 = DRV3 = 0;

TIM_SetCompare1(TIM3,DRV1);

TIM_SetCompare3(TIM3,DRV3);

……

break;

case STATE_CLOSED:

ID1 = ID2 = OCUP = 0;

DRV1 = 0, DRV3 = stopspeed;

TIM_SetCompare1(TIM3,DRV1);

TIM_SetCompare3(TIM3,DRV3);

……

break;

case STATE_OPENING:

if(BUFF_OPEN==0) OpenDoor_Control();

while(!BUFF_OPEN)

{

…… //電機過流檢測

}

CloseToOpen();

……

break;

case STATE_CLOSING:

if(BUFF_CLOSE==0) CloseDoor_Control();

while(!BUFF_CLOSE)

{

…… //電機過流檢測

}

OpenToClose ();

……

break;

case STATE_LOCKED:

ID1 = ID2 = OCUP = 1;

break;

case STATE_FAULT:

FAULT = 1;

break;

default:

delay_ms(5);

break;

}

}

4 測試與驗證

4.1 軟件仿真、在線仿真測試

采用KEIL自帶的軟件仿真工具進行測試。首先進行信號檢測任務的測試,通過軟件模擬給出外部設備信號,分步調試觀察外部設備信號的變化,能夠使程序跳入中斷服務函數內,并在執行完控制量設置之后能夠跳出中斷服務函數,回到主循環。其次進行有限狀態機功能測試,對于在不同狀態下接收到的每一個外部設備信號,確認是否能將其他無關信號屏蔽,能否在當前狀態下產生相對應的控制量,能否實時監測相關信號是否正常,能否接收有效的外部設備信號并跳轉到下一狀態。

采用在線仿真測試,測試內容與軟件仿真相似,不同之處是將JLINK在線調試器連接到控制板,外部設備信號由真實的外部設備給出,顯示輸出信號占用的指示燈和故障指示燈也連接到控制板上,在線調試的優點在于既能做接近于真實情況的實驗,又能在線調試控制板,觀察各個信號的變化。

4.2 裝車測試

此測試采用CRH380高速動車組列車的殘疾人衛生間門控裝置以及傳感器,替換原有控制器。在裝車測試中,針對自動門關門、開門、緩沖、防夾功能以及故障、占用指示功能進行逐一測試。

5 結論

采用有限狀態機實現自動門狀態控制與檢測的方法,能夠可靠檢測外部設備信號,在相應狀態下能夠屏蔽無關設備信號,提高了自動門實時控制的可靠性。

[1] 施先旺, 劉婷婷, 李國良. 采用有限狀態機實現控制指令的可靠檢測[J]. 火箭推進, 2011, 37(5): 63-68.

[2] 何劍宇, 劉兢兢. 有限狀態機建模在嵌入式按鍵設計中的應用[J]. 沈陽師范大學學報: 自然科學版, 2012, 30(2): 168-171.

[3] 徐智穹, 劉健, 邱浩. 有限狀態機在嵌入式軟件設計中的應用[J]. 低壓電器, 2008(13):20-22.

[4] 馮競楠. 利用有限狀態機的交通燈控制系統設計與仿真[J]. 電子設計工程, 2011, 19(12): 156-159.

[5] Miro Samek.嵌入式系統的微模塊化程序設計——實用狀態圖C/C++實現[M]. 敬石鈞,陳麗蓉,譯.北京:北京航空航天大學出版社, 2004.

[6] 李曉鋒, 宋銳, 曾小寶. 有限狀態機在嵌入式系統中的實現及應用[J]. 廣西輕工業, 2008, 24(4): 38-39.

[7] 范晶,胡愛蘭.基于狀態機的PEX8311的DMA實現[J].微型機與應用,2014,33(22):30-33.

[8] 宰文姣.基于步進電機的自動門系統設計[J].微型機與應用,2015,34(5):30-31,34.

Software design for automatic control system based on FSM

Tian Long, He Yongling

(School of Transportation Science and Engineering, Beihang University ,Beijing 100191, China)

The finite state machine is adopted to design the software of an automatic door control system, which can realize control of the automatic door opening and closing, and guarantee the accurate detection . This article describes the control of automatic door control system and testing requirements, gives the basic principle of finite state machine and sets up a software design model which is based on finite state machine, lists some of the key code of this software design. Single-step debugging and loading test prove that finite state machine model contributes to the standardization of solving the problems of control system software.

finite state machine; signal detection; automatic door control

TP24

A

1674- 7720(2016)03- 0011- 04

田龍,何勇靈. 基于有限狀態機的自動門控系統軟件設計[J].微型機與應用,2016,35(3):11- 14.

2015-10-09)

田龍(1989-),男,在讀研究生,主要研究方向:嵌入式控制軟硬件設計。

何勇靈(1963-),男,教授,主要研究方向:汽車電子軟硬件控制技術、工業機器人技術。

猜你喜歡
按鈕信號檢測
這些按鈕能隨便按嗎?
當你面前有個按鈕
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
小波變換在PCB缺陷檢測中的應用
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 99ri精品视频在线观看播放| 日韩小视频在线观看| 国产高清色视频免费看的网址| 高清久久精品亚洲日韩Av| 国产精品片在线观看手机版| 欧美不卡视频一区发布| 亚洲成aⅴ人在线观看| 国产综合无码一区二区色蜜蜜| 无码专区在线观看| 亚洲AV无码久久精品色欲| 日本国产一区在线观看| 日韩精品亚洲一区中文字幕| 精品丝袜美腿国产一区| 亚洲最黄视频| 国产日本视频91| 在线毛片网站| 综合色在线| 欧美亚洲香蕉| 色综合五月婷婷| 久久精品中文字幕免费| 亚洲中文字幕久久精品无码一区 | 国产在线高清一级毛片| 国产精品亚洲αv天堂无码| 国产精品99在线观看| 无码一区二区波多野结衣播放搜索 | 青青草原国产av福利网站| 成人福利一区二区视频在线| 国产免费羞羞视频| 日韩欧美国产区| 国产亚洲精品91| 国产一在线观看| 六月婷婷激情综合| 久久久久国产一区二区| 国产91av在线| 欧美福利在线播放| 国产成人无码AV在线播放动漫| 成人亚洲视频| 亚洲黄网视频| 免费人成网站在线观看欧美| 国产精品香蕉在线观看不卡| 麻豆精品在线| 潮喷在线无码白浆| 国产v精品成人免费视频71pao| 精品国产成人av免费| 国产熟睡乱子伦视频网站| 青青草原国产av福利网站| 一级高清毛片免费a级高清毛片| 国产精品美女网站| 亚洲中文字幕精品| 亚洲手机在线| 在线国产毛片| 中文无码精品a∨在线观看| 天天躁夜夜躁狠狠躁躁88| 久久情精品国产品免费| 小13箩利洗澡无码视频免费网站| 国产欧美日韩精品综合在线| 极品国产在线| 在线观看视频一区二区| 久久国产精品国产自线拍| 伊人久久综在合线亚洲2019| 精品国产香蕉在线播出| 国产精品久久精品| 人妻中文字幕无码久久一区| 一级毛片免费观看不卡视频| 18禁黄无遮挡免费动漫网站| 欧洲成人在线观看| 国产高颜值露脸在线观看| 亚洲色图欧美视频| 亚洲国产av无码综合原创国产| 欧美国产菊爆免费观看| 99伊人精品| 国产精品无码影视久久久久久久| 人妻无码中文字幕一区二区三区| 亚洲第一网站男人都懂| 国产精品无码久久久久久| 啪啪国产视频| 精品国产自| 日本不卡在线| 老司机精品一区在线视频| 制服无码网站| 99re在线观看视频| 日本欧美一二三区色视频|