2022-08-04
现场有10个收集口,当收集口料满时会发出料满信号;每次只能一个收集口放料;
10个收集口会分为普通和VIP等级;当普通收集口根据料满信号的先后顺序排料;每次只能一个收集口放料;
但当VIP等级收集口放料时,普通收集口继续排队;VIP优先放料;
试过IFFO;但是因为是两个优先等级的;大家有没有什么思路?
评论8
楼主 2022/8/4 15:14:34
使用填表指令ATT依次写入数据,再使用FIFO指令先入先出执行。VIP级输入复位排序指令触发条件。
楼主 2022/8/4 16:14:04
排序有优先级的情况下不就是优先级高的先排
楼主 2022/8/4 16:22:56
VIP一个排队序列,普通以个排队序列,分别检测序列是否有排队和当前是否排料;
主逻辑:是否有排料—是—排料结束—VIP不等于0=—VIP排料;
是否有排料—否—VIP不等于0—VIP排料;
是否有排料—是—排料结束—VIP=0—普通不等于0—普通排料;
是否有排料—是—排料结束—VIP=0—普通=0—不排料;
是否由排料—否—VIP=0—普通不等于0—普通排料;
是否有排料—否—VIP=0—普通=0—不排料。
主逻辑可根据上边的逻辑整合一下。
排队顺序逻辑:这个根据VIP和普通的数量,排料-1,满料+1即可。
楼主 2022/8/5 11:32:09
相当于在VIP执行时增加普通放料暂停,至于什么时候恢复暂停确定条件。这个不难吧
楼主 2022/8/5 11:42:07
用二维数组,设立两个优先级,普通优先级的正常排序,高优先级的排在最前面。
楼主 2022/8/5 11:48:54
普通排序条件增加中断条件,这个可以满足。你可以把FIFO指令块再熟悉下
楼主 2022/8/5 16:14:40
建立两个程序,一VIP的是否放料为条件进行跳转。