描述:1.零件要依次經過處理1和處理器2;
2.處理器2加工完一個零件後還要3秒鐘清洗才能接受下一個零件;
3.模型中零件每隔10秒生成一個,處理器1的加工時間爲20秒,處理器2的加工時間爲10秒。
提示:模型使用cloceinput和openinput命令關閉和打開端口,使用senddelaymessage()發送延遲消息。
解答:
主要思路:當零件進入處理器2時,發送1號消息給處理器自己,消息觸發器關閉處理器2的輸入端口;零件加工完成離開處理器2時,發送延時3秒的2號消息,在3秒後激發消息觸發器,有其打開輸入端口。期間還要設置機器的狀態和顏色,當機器在清洗時要設置爲STATE_CLEANING狀態,在清洗完成後設爲STATE_IDLE狀態。
一、建立模型
二、參數設置,主要講解處理器2
1,設置onentry觸發器
操作:觸發器---進入觸發----發送消息-----編寫代碼符號,編寫關閉端口的代碼
代碼:senddelaymessage(current,0,current,1) 表示:延遲時間爲0 ,參數值1用來識別消息。
2.設置onexit觸發器
操作:觸發器---離開觸發----發送消息-----編寫代碼符號,編寫關閉端口的代碼
代碼:senddelaymessage(current,3,current,2) 表示:延遲時間爲3 ,參數值2用來識別消息。
setstate(current,STATE_CLEANING) 表示:設置機器狀態。
3.設置onmessage消息觸發器
操作:觸發器---消息觸發----根據不同Cases打開和關閉端口-----編寫代碼符號,編寫關閉端口的代碼
三、效果驗證