沈阳航空航天大学北方科技学院毕业设计(论文)
1.高速计数器初始化
在本次设计中,为了更加精确的实现分拣功能,需要加入高速计数器对脉冲信号进行计数,在定义好高速计数器的相关信息后,要考虑的问题就是如何调用子程序。首先,要考虑到在一开始执行程序时,就必须使高速计数器有效,因此,使用SM0.1指令,在程序一开始执行时就调用一次子程序。其次,在程序运行过程中也需要不断调用高速计数器并将其初始化,为了使程序更加有条不紊的工作,在传送带运转1个流程后,就需调用1次高速计数器,使其重新载入预置值和当前值,防止因高速计数器的计数值一直增长致使运行混乱。 相应程序梯形图如下:
图4.3 调用高速计数器梯形图
2.传送带的运行和停止
在此系统设计中,需要考虑的一个重要的环节就是控制传送带的运行和停止。首先,传送带的运行必须是在出料气缸处于回位状态时,因为当物料被打出时,必须要保证物料能够平稳的进入传送环节,以防在输送过程中从传送带上掉落下来,影响分拣效果。其次,如果在物料槽中没有物料,那么为了避免资源浪费,在传送带运转完相应的流程后,传送带自动停止。在分拣系统出现意外时,为了避免更大的损失,则使传送带立即停止,方便检修人员及时检修。
在设计过程中,考虑到电机应该是有料时转动,无料时停止,这样就需要有1个相应的开关对其进行控制。我考虑到在无料情况下,运转一个流程后电机停止,在此说明一下,我设定55个脉冲信号为1个档位,7个档位为1个流程,则档位计数器的开关应作为电机停止的条件,只有在档位数等于7时传送带才会停止,因此,选择该计数器的常闭开关。考虑到物料库中有料时则电机几乎保持运转状态,因此在该计数器的设定上要适时使计数器复位并装载新的预置值,这里我选择了SM0.1指令、出料气缸回位限位常开开关的上升沿和物料传感器常闭开关的上升沿并联到该计数
22
沈阳航空航天大学北方科技学院毕业设计(论文)
器的装载端。那么除上述以外的情况,电机就应该都是转动的,为了使电机转动不与出料气缸发生冲突,选择了出料气缸的回位限位的常开开关作为电机转动的条件。考虑到如果把这些条件直接作为电机的运转条件可能会使电机因瞬间启动和停止而减少寿命,所以,我加入了一个定时器作为缓冲,为了在视觉上达到与外部信号一致的效果,故定时器的设定值设为0.2秒。 相应程序梯形图如下:
图4.4 传送带控制梯形图
3.设定档位、流程
在本次设计中首先利用卷尺和游标卡尺测出转轴半径及出料处到最后一个气缸处的距离,经测量半径约为22.85mm,直径约为45.7mm,周长约为143.5mm,出料口距最后一个气缸约为518mm。考虑到要使物料通过所有气缸,且不能滑出传送带,因此,物料在传送带上所走距离一定要适中。同时,为了实现这一功能还需测量编码器检测的相邻两个脉冲之间的距离,经测量相邻两脉冲距离约为1.4mm。经计算,物料从出口到最后一个气缸约需370个脉冲。由于编码器分辨率为100P/R,故需要分几个档位来完成这项功能。经分析,物料应过最后一处气缸位置且不滑出轨道,所以选择385个脉冲作为物料的行走距离,在0到100范围内,能整除385的第1个整数便是55,因此,选择55个脉冲作为一个档位,这样便需要7个这样的档位来完成一个运转流程实现上述功能。 相应程序梯形图如下:
23
沈阳航空航天大学北方科技学院毕业设计(论文)
图 4.5 档位设计梯形图
4.物料的出库及分拣
此环节是此次设计的重中之重,是实现分拣功能的根本保证。首先,在物料传感器检测到有物料存在时,且在此之前物料槽中没有物料,那么5秒钟后物料将被打出。若放入连续的物料,则物料之间每隔0.5秒打出1个。然后,在分类入库方面,当传感器有检测信号时,计数器对脉冲开始计数,达到5个脉冲后,相应气缸开始动作,并完成分拣、入库。
出库设计,首先考虑相邻物料的出库间隔以及气缸动作间隔,可用档位距离作为这个间隔的距离,为了充分利用资源,只有在物料库中有料时出料气缸才每隔1个档位动作1次,选择有料传感器的常开开关作为限制开关。关于气缸动作限制,仅当气缸不处于动作限位时,此气缸动作才能生效,因此,选择该气缸动作限位的常闭开关来限制,考虑到系统不应具备记忆功能,我又加入1个定时器来及时切断能流,通过反复试验得知,设定时间过长定时器就会失去意义,过短气缸则不能工作到位,大量实验证明,当设定时间为0.5秒时为最佳时间间隔。
分拣入库设计,由于在硬件分布中,气缸与传感器之间存在一定距离,这就需要1个计数器来测量这段距离的脉冲数,经多次操作得出,传感器与气缸之间间距5个脉冲,故计数器设定值为5,用计数脉冲的上升沿连接输入端。当计数器达到设定值,
24
沈阳航空航天大学北方科技学院毕业设计(论文)
气缸就动作。但考虑到只要传送带转动就会有脉冲不断产生,所以,计数器的装载端应用一个具有置位功能的开关控制,这样就需要设置1个存储器,为了更好的控制计数器,利用存储器的常闭开关控制其是否可用,由于传感器有检测信号,才能使得计数器工作,故利用相应传感器信号的上升沿控制,此外,考虑到气缸的限位关系,又加入M4.0、I0.0作为限制条件,与出料气缸相似,为使之不具记忆功能,加入定时器,经试验反复验证,设定0.4秒为最佳间隔时间。 相应程序梯形图如下:
图4.6 物料分拣入库部分梯形图
5.报警保护
本次设计的自动输送分拣系统除了具备分拣的功能外,还应具备报警保护功能。当系统运转出现异常时,能及时保护系统并报警,以避免更大的损失。
由于系统的经济效益问题,加入报警保护功能。考虑到如果气缸工作异常,那么气缸所在的位置既不在回位限位又不在动作限位,同时,考虑到气缸的动作时间在0.4秒以内,因此,加入定时器且设定值为4,即气缸在两个限位之间0.4秒内属正常情况,又考虑到不影响后面物料的分拣,所以利用此定时器的常闭开关控制传送带停止。
25
沈阳航空航天大学北方科技学院毕业设计(论文)
相应程序梯形图如下:
图4.7 报警保护功能梯形图
4.1.4.3初始化子程序的设计
由于在本次设计中中断事件产生的速率远低于高速计数器的计数速率,用高速计数器可以实现精确的告诉控制,而不会延长PLC的扫描时间。因此,我选择了高速计数器实现这一功能,为防止程序混乱,将其作为子程序。
但是还要考虑到选择高速计数器号和模式等设置问题。根据本次设计的需要,考虑到在实现功能的前提下尽可能的避免高速计数器占用过多的输入点,于是,我选用了高速计数器3。因为此计数功能没有外部控制方向的输入信号,只是由内部控制计数方向,只作单向增或减计数且只用到1个计数输入端。因此,我采用1个内部方向控制的单向增/减计数器即采用模式0。
只定义上述两项是不够的,还需要定义高速计数器的预置值和当前值。预置值和当前值都是有符号的双字整数。为了向高速计数器装入新的预置值和当前值,必须先设置控制字节,并把预置值和当前值存入特殊存储器中,然后执行HSC指令,才能将新的值传送给高速计数器。每个计数器所对应的特殊存储器如下:
表4.2高速计数器的寻址
高速计数器号 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 新当前值(仅装入) SMD38 SMD48 SMD58 SMD138 SMD148 SMD158 新预置值(仅装入) SMD42 SMD52 SMD62 SMD142 SMD152 SMD162 当前计数值(仅读出) HC0 HC1 HC2 HC3 HC4 HC5 26