工控肥仔
工控肥仔
级别: 网络英雄
精华主题: 0
发帖数量: 675 个
工控威望: 5673 点
下载积分: 4281 分
在线时间: 779(小时)
注册时间: 2018-11-17
最后登录: 2024-12-18
查看工控肥仔的 主题 / 回贴
楼主  发表于: 2022-05-12 11:35
各位大师,指导下我这个问题:

                       比如:M0--M1--M2--M3--M4--M5--M6--M7八个点位中,
                                         用开关量的方式,有多少种组合?


                                    比如组成方式:比如1.1.1.1.1.1.1.1
                                                                     0.0.0.0.0.0.0.0
                                                                     1.0.1.0.1.0.1.0
                                                                     1.1.1.1.0.0.0.0
荣耀我是传奇
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 111 点
下载积分: 748 分
在线时间: 19(小时)
注册时间: 2022-02-21
最后登录: 2024-04-15
查看荣耀我是传奇的 主题 / 回贴
1楼  发表于: 2022-05-13 09:18
引用
引用第8楼laihuaxun200于2022-05-12 23:39发表的  :

可以用个循环来处理,从前向后判断,有连续的就一起放,直到后面是空的就先把前面有产品的先摆好,再重新判断,直到全部摆完。程序不会太复杂

Sample: array[1..8] of bool;//样本
EmptyFlag:bool;//样本无标志
EmptyCoords:int;//无样本坐标
MoveFlag:bool;//移动标志
i:int;
EmptyFlag:=true;
if MoveFlag=true then
   for i=1 to 8 do
    if Sample=false then
       EmptyFlag:=false;
       EmptyCoords:=i;
       exit;
     end_if;
   end_for;
end_if;

if EmptyFlag=false then
   MoveFlag:=true;
   前移位置:=EmptyCoords;
else
   一次放入窄带
end_if;
if 移动完成 then
   放入产品;
   前移位置:=0;
   MoveFlag:=false;
end_if;
我给你写个大致思路,详细细节你自己丰富
楼主留言:
非常感谢!这种方式的程序目前看不懂,能帮我改成梯形图吗?
本帖最近评分记录:
  • 下载积分:+5(mk自动化) 热心助人!
  • 下载积分:+5(工控肥仔) 非常感谢