发布于 2013-08-01 15:24:08
19楼
工件在行进过程中要进过多个光电开关,在到达它的位置之前的那些气缸都不能动作,也就是说这些气缸光电开关虽然探测到信号但不需要动作,反过来对于每个气缸来说它只需判断在动作之前需要跳过几个工件。
给每个气缸分配一个状态序列,比如以一个word中的每位来保存这个缸的状态是跳过来是工作。例如首先是8,那么1缸到7缸均为1,8缸为0,再来一个是3,那么1缸到2缸状态字左移1位,在填入一个1,3缸左移后填入0,依次类推。
输出时,每个缸在光电开关得到信号后取自己的状态序列首位,如果是1状态序列就左移1位,同时跳过动作,如果是0就左移1位后输出。
这样的话执行机构和上位机数据之间就没有直接的联系,而是根据序列来执行,摆脱了时间上的限制。