吳振華
(赤峰學(xué)院 物理與電子信息工程學(xué)院, 內(nèi)蒙古 赤峰 024000)
關(guān)于郵件分揀的模擬設(shè)計(jì)
吳振華
(赤峰學(xué)院 物理與電子信息工程學(xué)院, 內(nèi)蒙古 赤峰 024000)
郵件分揀在 EDA 實(shí)驗(yàn)中作為數(shù)控式實(shí)驗(yàn)的內(nèi)容,其程序設(shè)計(jì)有其鮮明的專(zhuān)業(yè)性、實(shí)用性和獨(dú)特性.在對(duì)學(xué)生開(kāi)放該實(shí)驗(yàn)前,筆者對(duì)該實(shí)驗(yàn)所用的 FLASH 進(jìn)行了模擬設(shè)計(jì),以便學(xué)生更加直觀(guān)地了解和認(rèn)識(shí)該實(shí)驗(yàn)并針對(duì)模擬過(guò)程用 EDA 進(jìn)行程序設(shè)計(jì).
郵件;分揀;模擬;設(shè)計(jì)
1、將郵件分為郵件 A(maila_mc)、郵件 B(mailb_mc)、郵件 C(mailc_mc)、郵編不規(guī)范部分(maild_mc)和尺寸不規(guī)范部分(maile_mc)等.
2、準(zhǔn)備檢測(cè)指示燈(detectLnght)和郵件進(jìn)入郵箱指示燈(lnghtA.lnghtB.lnghtC.lnghtD.lnghtE).
3、郵件檢測(cè)啟動(dòng)按鈕和停止按鈕.
郵件分揀系統(tǒng)的模擬演示最終界面組合圖
1、郵件進(jìn)入分揀流水線(xiàn)后經(jīng)檢測(cè)屬哪一類(lèi)后,送到相應(yīng)的郵件容器里.
2、根據(jù)信號(hào)功能表進(jìn)行程序設(shè)計(jì),從演示界面中我們看到一個(gè)“開(kāi)始”按鈕.按下“開(kāi)始”按鈕后程序才開(kāi)始工作,顯示“停止”按鈕并隱藏“開(kāi)始”按鈕,按下“停止”按鈕后終止程序運(yùn)行并再次顯示“開(kāi)始”按鈕.
3、程序運(yùn)行后即循環(huán)工作,演示界面自動(dòng)隨機(jī)流出郵件,送流水線(xiàn)檢測(cè).
4、當(dāng)郵件經(jīng)過(guò)郵件檢測(cè)裝置時(shí),將檢測(cè)出該郵件的類(lèi)型,并發(fā)出相應(yīng)的信號(hào),程序根據(jù)檢測(cè)裝置發(fā)出的信號(hào),也發(fā)出命令,打開(kāi)相應(yīng)的郵件箱接收該郵件.
5、按下“停止”按鈕,郵件分揀工作終止.
//定義初始狀態(tài)
var vy:int=1.3;
var vx:int=1.3;
detectLnght.visible=false;
lnghtA.visible=false;
lnghtB.visible=false;
lnghtC.visible=false;
lnghtD.visible=false;
lnghtE.visible=false;
maila_mc.visible=false;
mailb_mc.visible=false;
mailc_mc.visible=false;
maild_mc.visible=false;
maile_mc.visible=false;
stop_btn.visible=false;
random_btn.visible=true;
//開(kāi)始按鈕的事件偵聽(tīng)器
random_btn.addEventListener(MouseEvent.CLICK,randomF);
function randomF(e){
//為防止調(diào)用郵件自定義函數(shù)出現(xiàn) 13秒的延時(shí),加一次調(diào)用
var timer1:Timer=new Timer(3,1);
timer1.addEventListener(TimerEvent.TIMER,timerF1);
timer1.start();
function timerF1(e:TimerEvent){
var k:int=Math.floor(Math.random()*5+1);
switch(k){
case 1:
mail1();
break;
case 2:
mail2();
break;
case 3:
mail3();
break;
case 4:
mail4();
break;
case 5:
mail5();
break;
}}
init();//調(diào)用郵件自定義函數(shù)
}
//郵件自定義函數(shù)
function init(){
random_btn.visible=false;
stop_btn.visible=true;
var timer:Timer=new Timer(14000);
timer.addEventListener(TimerEvent.TIMER,timerF);
timer.start();
function timerF(e:TimerEvent){
var n:int=Math.floor(Math.random()*5+1);
switch(n){
case 1:
mail1();
break;
case 2:
mail2();
break;
case 3:
mail3();
break;
case 4:
mail4();
break;
case 5:
mail5();
break;
}
}
stop_btn.addEventListener(MouseEvent.MOUSE_DOWN, stopF);
function stopF(e){
random_btn.visible=true;
stop_btn.visible=false;
timer.removeEventListener(TimerEvent.TIMER,timerF);
random_btn.addEventListener(MouseEvent.CLICK,
randomF);
timer.stop();
}
}
//5個(gè)郵件事件處理函數(shù)
function mail1(){
maila_mc.addEventListener(Event.ENTER_FRAME,
mailAmc);
function mailAmc(e){
maila_mc.visible=true;
if(maila_mc.y<212){
maila_mc.y+=vy;
if(maila_mc.y>=159&&maila_mc.y<182){
detectLnght.visible=true;
lnghtA.visible=true;
lnghtB.visible=false;
lnghtC.visible=false;
}else{
detectLnght.visible=false;
}
}else if(maila_mc.x<315){
maila_mc.x+=vx;
if(maila_mc.x>312){
maila_mc.visible=false;
maila_mc.x=215;
maila_mc.y=125;
maila_mc.removeEventListener(Event.ENTER_
FRAME,mailAmc);
}
}
}
}
function mail2(){
mailb_mc.addEventListener(Event.ENTER_FRAME, mailBmc);
function mailBmc(e){
mailb_mc.visible=true;
if(mailb_mc.y<256){
mailb_mc.y+=vy;
if(mailb_mc.y>=159&&mailb_mc.y<182){
detectLnght.visible=true;
lnghtB.visible=true;
lnghtA.visible=false;
lnghtC.visible=false;
}else{
detectLnght.visible=false;
}
}else if(mailb_mc.x<315){
mailb_mc.x+=vx;
if(mailb_mc.x>312){
mailb_mc.visible=false;
mailb_mc.x=215;
mailb_mc.y=125;
mailb_mc.removeEventListener(Event.ENTER_ FRAME,mailBmc);
}
}
}
}
function mail3(){
mailc_mc.addEventListener(Event.ENTER_FRAME,mail-Cmc);
function mailCmc(e){
mailc_mc.visible=true;
if(mailc_mc.y<300){
mailc_mc.y+=vy;
if(mailc_mc.y>=159&&mailc_mc.y<182){
detectLnght.visible=true;
lnghtC.visible=true;
lnghtA.visible=false;
lnghtB.visible=false;
}else{
detectLnght.visible=false;
}
}else if(mailc_mc.x<315){
mailc_mc.x+=vx;
if(mailc_mc.x>312){
mailc_mc.visible=false;
mailc_mc.x=215;
mailc_mc.y=125;
mailc_mc.removeEventListener(Event.ENTER_ FRAME,mailCmc);
}
}
}
}
function mail4(){
maild_mc.addEventListener(Event.ENTER_FRAME, mailDmc);
function mailDmc(e){
maild_mc.visible=true;
if(maild_mc.y<344){
maild_mc.y+=vy;
if(maild_mc.y>=159&&maild_mc.y<182){
detectLnght.visible=true;
lnghtD.visible=true;
lnghtA.visible=false;
lnghtB.visible=false;
lnghtC.visible=false;
}else{
detectLnght.visible=false;
}
}else if(maild_mc.x<315){
maild_mc.x+=vx;
if(maild_mc.x>312){
maild_mc.visible=false;
maild_mc.x=215;
maild_mc.y=125;
maild_mc.removeEventListener(Event.ENTER_ FRAME,mailDmc);
}
}
}
}
function mail5(){
maile_mc.addEventListener(Event.ENTER_FRAME, mailEmc);
function mailEmc(e){
maile_mc.visible=true;
if(maile_mc.y<386){
maile_mc.y+=vy+.1;
if(maile_mc.y>=159&&maile_mc.y<182){
detectLnght.visible=true;
lnghtE.visible=true;
lnghtA.visible=false;
lnghtB.visible=false;
lnghtC.visible=false;
}else{
detectLnght.visible=false;
}
}else if(maile_mc.x<315){
maile_mc.x+=vx+.1;
if(maile_mc.x>312){
maile_mc.visible=false;
maile_mc.x=215;
maile_mc.y=125;
maile_mc.removeEventListener(Event.ENTER_ FRAME,mailEmc);
}
}
}}
.
TP29;TP311.11
A
1673-260X(2014)08-0020-03