本週進行了模型的設計和建模,並與核心控制模塊完成聯調,生成了代碼。git
液體容器,用於保存各類液體github
定量器,用於量取必定量的液體設計
加熱器,用於提供熱水3d
混合器,用於將咖啡,牛奶,糖和熱水混合blog
杯架,用於提供紙杯接口
傳輸帶,用於物體傳輸事件
核心控制模塊,用於各模塊之間的調度rem
當前出口開關大小get
當前液體餘量input
當前液體實際流出流量
當前液體實際流入流量
液體須要量取的量
當前液體實際流出流量
Doser完成操做的事件
控制對應容器的出口流量
當前出口開關大小
當前熱水實際流出流量
當前可用熱水餘量
當前熱水溫度
熱水流入流量
咖啡流入流量
牛奶流入流量
糖流入流量
混合液體輸出流量
混合完成的事件
須要杯子的事件
杯子的輸出
供應杯子完成的事件
當前是否有杯子剩餘
每次步進的距離
混合液體入口
杯子入口
杯子被拿走的事件
一杯咖啡的輸出
步進完成的事件
當前剩餘咖啡的輸入
當前剩餘牛奶的輸入
當前剩糖的輸入
當前剩餘水的輸入
當前水溫的輸入
須要咖啡的量
須要牛奶的量
須要糖的量
須要水的量
每次步進的量
須要被子的事件
容器有初始量InitAmount,最大輸出流量量不超過MaxFlow
對所需輸出流量進行積分即爲液體量減小的值
接收到SettingAmount後,爲簡便,保證在3s內完成。控制流量爲SettingAmount/3,等待三秒後關閉流量
加熱器採用兩段加熱,避免長時間沸騰或者功率太大。
預設輸入流量無上限,設定爲SettingInFlow,減去當前輸出流量,經積分後得當前可用熱水餘量
加熱功率和輸入流量帶入的熱量,以及輸出流量帶走的熱量,積分的當前熱水中所含熱量,除以可用餘量,得當前熱水溫度。
因爲兩段加熱,能夠保證輸出的熱水必定爲100度。
當各個液體流量大於0的時候開始積分,等流量回落到0以後,開始混合,等待一段時間後輸出便可。
當接收到NeedCupEvent,而且當前仍有杯子,取出一個杯子並輸出
若是有杯子進入傳送帶,杯子位置更新。若是有混合液體進入且當前杯子在指定位置,則存下混合液體。
每有一次Step,等待一段與Step成正比的時間。
若是杯子到達終點,則將杯子和混合液體一併輸出,並等待TakeOutEvent。