小车定位调度猜想
小车调度系统猜想
1,假设一台小车上有编码器,金属检测开关,PLC,变频器组成一套系统
小车运行在轨道上,或无轨,轨道上有多个定位点,定位点由精神铁块组成,plc收集编码器信号判断当前位置,呼叫信号可由无线串口发射器,或右限收集后,通过无线WIFI发出,PLC 与无线信号接收对接 后解码,获取下一步要到达的位置号。所有小车的位置移动信息,判断均由小车自行处理 小车每到达一个位置,均在PLC内记录当前位置号
假设有10个位置0-10
L0 L1 L10 0------1------2------3-------4-------5-------6-------7------8---------9------------10
在设置参数的当初已经测量了每一段Ln的距离,在0位置中需要安装2套金属定位块
A,当小车第一次上电,并不清楚自己的位置的时候,小车启动自动向左寻找0位置信号,当小车检测到2次金属信号,并且都在3s呢个,则判定到达0位置,会减速向左运动2S后,慢速向右寻找,直到检测到0位置的第一块金属,停止,至此回0位置结束
B 在PLC内部设有10个距离存放量,分别对应触摸屏上的参数设置 L0 MD0 L1 MD4 L2 MD8 L3 MD12 L4 MD16 L5 MD20 L6 MD 24 L7 MD28 L8 MD32 L9 MD36 L10 MD40
C当呼叫信号解码 为要求到达8号工位,而当前位置为0号工位,则需要走的距离则为Lk=L0+L1+L2+L3+L4+L5+L6+L7+L8,这个时候PLC 把Lk距离转换为脉冲数Fk,则Fk与编码器Fn比对数据。
注意的是Fk买材料不能大于PLC 内部可存的MD 的最大值,2147483647,如果大于则PLC需要接入编码器Z相做编码器数据处理或者Fk做数据缩放处理
D,当PLC 接收到的编码器Fn E 上面D提到的是从0位置跑到8位置,下面讨论从8位置返回到6位置,由于在8位置,可跑动的位置有多钟数列组合,那如果按笨的办法可写多种FC程序,如下列表示 (1)8---->0 (2)8---->1 (3)8---->2 (4)8---->3 (5)8---->4 (6)8---->5 (7)8---->6 (8)8---->7 (9)8---->9 (10)8---->10 我们需要写10种程序,按位置呼叫号调用 那整线有10个位置,就意味着 10*10=100个FC,这样做的话,就很繁琐,并且多 能否做成一个FB 或者FC 让输入参数既可以得出电机正反转,行走距离等数据呢,我们下面做一下猜想 (1)输入参数猜想以下一些 InCuNo 当前位置 NextNo 下一位置 L0L L0 距离 L1L L1 距离 L2L L2 距离 L3L L3 距离 L4L L4距离 L5L L5 距离 。 。 。 L10L L10 距离 (2)猜想 当InCuNo-NextNo>0 时,表示电机向左运行 当InCuNo-NextNo<0 时,表示电机向右运行 举例说明,现在8号工位需要往4号工位运动 ,8-4>0,电机向左 那下面我们需要计算出电机要行走的距离,此时内部计算要用到for 循环 在内部新建立起一个数组 L[N] 把L0-L10存入数组中去 当判断InCuNo-NextNo>0 时 temp=0 for(i=NexNo;i 这样就可以把数组中的距离L0---L8都加起来了,最后TEMP 输出的就是距离了 而另一种情况, 当判断InCuNo-NextNom0 时 temp=0 for(i=InCuNo;i 这样处理起来的话,无论在哪个位置,要到下一个位置去哪里,都可以通过计算直接得出