本周进行了模型的设计和建模,并与核心控制模块完成联调,生成了代码。git
液体容器,用于保存各类液体github
定量器,用于量取必定量的液体设计
加热器,用于提供热水3d
混合器,用于将咖啡,牛奶,糖和热水混合blog
杯架,用于提供纸杯接口
传输带,用于物体传输事件
核心控制模块,用于各模块之间的调度rem
当前出口开关大小get
当前液体余量input
当前液体实际流出流量
当前液体实际流入流量
液体须要量取的量
当前液体实际流出流量
Doser完成操做的事件
控制对应容器的出口流量
当前出口开关大小
当前热水实际流出流量
当前可用热水余量
当前热水温度
热水流入流量
咖啡流入流量
牛奶流入流量
糖流入流量
混合液体输出流量
混合完成的事件
须要杯子的事件
杯子的输出
供应杯子完成的事件
当前是否有杯子剩余
每次步进的距离
混合液体入口
杯子入口
杯子被拿走的事件
一杯咖啡的输出
步进完成的事件
当前剩余咖啡的输入
当前剩余牛奶的输入
当前剩糖的输入
当前剩余水的输入
当前水温的输入
须要咖啡的量
须要牛奶的量
须要糖的量
须要水的量
每次步进的量
须要被子的事件
容器有初始量InitAmount,最大输出流量量不超过MaxFlow
对所需输出流量进行积分即为液体量减小的值
接收到SettingAmount后,为简便,保证在3s内完成。控制流量为SettingAmount/3,等待三秒后关闭流量
加热器采用两段加热,避免长时间沸腾或者功率太大。
预设输入流量无上限,设定为SettingInFlow,减去当前输出流量,经积分后得当前可用热水余量
加热功率和输入流量带入的热量,以及输出流量带走的热量,积分的当前热水中所含热量,除以可用余量,得当前热水温度。
因为两段加热,能够保证输出的热水必定为100度。
当各个液体流量大于0的时候开始积分,等流量回落到0以后,开始混合,等待一段时间后输出便可。
当接收到NeedCupEvent,而且当前仍有杯子,取出一个杯子并输出
若是有杯子进入传送带,杯子位置更新。若是有混合液体进入且当前杯子在指定位置,则存下混合液体。
每有一次Step,等待一段与Step成正比的时间。
若是杯子到达终点,则将杯子和混合液体一并输出,并等待TakeOutEvent。