求救各位PLC高手,帮忙看下这个程序算法怎么写? 点击:383 | 回复:4



w46053

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2011年3月25日
发表于:2011-04-02 16:13:30
楼主
存取车自动寻优算法:右图为存取车自动寻优算法模型图,图中方框代表停车位,方框中数字表示车位号,其相对位置固定不变,模型有8个停车位,0号车位在车库的出入口处。设系统逆时针为正转,顺时针为反转。在控制器存储区内,用某些RAM单元位(如位寻址单元20H的8位和21H的低4位)标志0-7停车位的停车情况,用0表示停车位空,1表示停车位己停车。在每次存取车时,控制系统先根据该RAM区中的数值判断存车情况及其分布,然后根据停车算法确定控制方案。在另一RAM区(如30H--3BH单元)保存己编号的停放车辆所在的停车位号。
存车时,先判断20H, 0位的值,若为1,表示停车己满;若为0,表示可以存车,可以存车时,先置位OOH,然后20H单元的8位和21H单元的低4位连续循环左移,直到满足下列2个条件:OOH位为0; 20H单元的1,2,3位数值之和与20H单元的第5位及21H单元的0,1,2,3位数值之和的差满足 ,即图5-22中左右两侧停车数量之差满足不大于1辆车的要求,这样可使机械传动部件受力较为均匀。找到满足条件的空车位后,可根据程序循环移位次数判定电机运转方向和循环车位数。若循环移位次数R,大于4,则反转,循环车位数为8- ;若 小于或等于4,则正转,循环车位数即为 。根据循环车位数设定计数器初值,按正反转判定结果控制电机运转,由对转过的停车位计数的光电开关的脉冲输入触发中断,控制电机停转。
取车时,系统根据车辆所在的位置,找到30H-3BH单元中该车所在的停车位号 。若 ,取车时反转, 即为旋转车位数:若 ,取车时正转旋转车位数为8- 。根据正反转情况和旋转车位数设置计数器初值,调试电机运转程序,完成取车过程。 
  4
3 5
2 6
1 7
  0
关键是中间存车那部份 ,程序算法我应该怎么写呢,很急啊 有高手帮忙下嘛?不懂之处忘海涵啊!怎么分辨两边车位相差小于1,以及如何计数?



w46053

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2011年3月25日
发表于:2011-04-02 23:36:36
1楼
额额   是我表达不清楚  还是没人帮我啊   救命啊。。。。。

四两拨千斤

  • 精华:0帖
  • 求助:1帖
  • 帖子:16帖 | 514回
  • 年度积分:0
  • 历史总积分:994
  • 注册:2005年5月31日
发表于:2011-04-03 10:47:50
2楼
发到此帖试试:http://www.gongkong.com/webpage/forum/200904/2009042813222200005-1.shtml

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-04-03 11:15:54
3楼

如果你的存贮序列是个循环(圆)的话,例如:

                        6

                    5      7

                 4           8

              3                 9

                  2         10

                   1     11

                       0

这种形式的话,你可以参考一下 硬盘调度算法,  在网上搜一下,这个算法在计算机课程的《操作系统》一书中讲到!

 

               

                 

w46053

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2011年3月25日
发表于:2011-04-03 11:43:39
4楼
谢谢各位  已经发帖到那个地方去了   被这个循环寻优算法弄得头大  又是刚学PLC     这个主要是看能不能用PLC来算    不想用C 语言来编程哦

热门招聘
相关主题

官方公众号

智造工程师