起重机定位技术浅析
起重机由于运行惯量大、工作环境恶劣且自身控制系统较复杂,造成其很难完成精确定位。本文将通过数学模型的建立、综合程序块的编写克服以上困难,使起重机具有一定的位置识别和记忆功能,可确保起重机定位精度达到依3 mm,满足智能起重机的定位要求。本文研究的起重机定位技术对未来工厂和起重机的智能化升级具有一定的推进作用。
1、传感器简介
1.1工作原理
应用于起重机定位的传感器一般包括编码器和条形码扫描两大类,根据其自身特点不同而应用于不同的定位场合。
编码器按工作原理可分为增量式和绝对值式两类,增量式编码器是将位移信号转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关,而无论是哪种编码器均是将信号或数据进行编制、转换为可用于通讯、传输和存储的信号形式的设备。其优点在于节省安装空间,可配合变频器等设备做闭环控制,提高控制精度。

图1编码器
条码是将线条与空白按照一定的编码规则组合起来的符号,用以代表一定的字母、数字等信息。在进行辨识的时候,是用条码阅读机(即条码扫描器又叫条码扫描枪或条码阅读器)扫描,得到一组反射光信号,此信号经光电转换后变为一组与线条、空白相对应的电子信号,经解码后还原为相应的文数字,再传入PLC。一般应用于起重机定位的条码号与实际位置相符,便于识别和提高定位精度。

图2条形码
1.2缺点及解决方案
编码器一般安装在车轮部位,与车轮同轴,车轮每旋转一圈编码器会发出一定数量脉冲[2],控制器通过脉冲的个数来识别起重机当前的实际位置。但当起重机负载较轻或者轨道比较湿滑的时候,起重机车轮会出现打滑现象,此时虽然车轮已经旋转,但起重机实际位置并没有发生变化,控制器会产生错误的判断,影响起重机定位精度。采用相对坐标可大幅度降低轮子打滑带来的误差,关键在于寻找到一个绝对的零点,使起重机每工作结束一次回归到零点进行一次数据校正,相当于清除前一次操作带来的累计误差,确保起重机每次都工作在准确的坐标系内。
条形码一般安装在大车、小车的轨道下面,长度取决于车间及小车轨道的长度。条形码定位精度较高,理论上可以达到1 mm以内,但条码对其自身的清洁度要求较高,一旦条码上有油污遮挡就会造成读数不准确无法完成定位,另外机械形变也是条码的另一个缺点,产生形变后绝对位置会发生变化。较小的形变可通过程序来弥补,编辑具有记忆功能的程序块可减少形变带来的误差。
2、定位技术原理
2.1数学模型的建立
起重机的大车、小车、卷扬三个机构的运行轨迹共同构成起重机的三维轨迹模型。为更好规划起重机的定位点以及克服类似编码器车轮打滑造成的误差,需要组建一个理想的数学模型,并假设起重机就在该模型内运行,数学模型内出现的位置数据均应是根据实际位置数据重新整定的理想数据。理想数据可根据需要进行合理规划,如存在起重机数量较多,可根据起重机标号、车间标号等数据进行整定,便于车间一体化管理。以下就一台起重机做一个简单的数学模型的建立,实际使用中的模型可能更加复杂,需考虑车间内的情况和工艺要求。
将大车运行轨迹、小车运行轨迹、提升运行轨迹分别标记为x轴、y轴、z轴,三个轴线交叉点定为0点,如图3所示。x轴实指大车轨道,y轴指小车轨道,z轴指卷扬运行路径,假设位置传感器在三个轴线上的实时读数分别为x1,y1,z1,机构0点的读数分别为x0,y0,z0,控制系统实际使用的数据为X,Y,Z。起重机每次工作前后均停靠在0点位置,此时需进行清零操作,得到的读数X0=x0-x0=0,Y0=y0-y0=0,Z0=z0-z0=0,起重机在坐标系中的数据为X=x1-x0,Y=y1-y0,Z=z1-z0,以上就完成了起重机的运行轨迹模型建立。由于每次起重机作业完成都进行清零操作,可大幅度提高位置编码器的读数精度,同时该模型也可以反映到上位机上,方便对起重机的实时监控,随时查看起重机所在位置信息。整定完成的数据X、Y、Z即是相对坐标,该坐标只反映了起重机到0点的位移,而不考虑编码器等传感器的实际读数。

图3起重机运行坐标系
2.2数据处理
不同类型的编码器、条码器读取上来的数据类型会存在较大差异,有些不能直接参与运算,最理想的数据是反映实际位移的real型数据,如果传感器读取的数据不能直接应用就需要我们对其进行前期的整定,数据整定不能存在偏差,以免影响定位精度。
传感器读取上来的数据情况各异,有些是格雷码,有些数据中带有状态字或验证信息不能直接使用,有些数据的顺序是颠倒的需要进行重新排序。本文以编码器读取的数据为25位的格雷码为例进行说明,将其转换成二进制数据提供给PLC系统。
二进制格雷码转换成自然二进制码,其规则是保留格雷码的最高位作为自然二进制码的最高位,次高位二进制码为最高位自然二进制码与次高位格雷码相异或,自然二进制码的其余各位与次高位自然二进制码的求法相类似。
运算公式为:
某二进制格雷码为Gn-1 Gn-2…G2 G1 G0
其对应的自然二进制码为Bn-1 Bn-2…B2 B1 B0其中最高位保留—Bn-1=Gn-1
其它各位—Bi-1=Gi-1⊕Bi i=1,2,…,n-1
根据以上运算规则,利用PLC梯形图进行了程序设计,并制作了可多次调用的程序块,方便格雷码与自然二进制数的转换,如图4、图5所示。

图4程序块内部程序

图5编辑完成的程序块
图5为格雷码转二进制程序块,SOURCE_DA-TA为格雷码数据地址,TRANS_DATA为转换后的地址。完成转换后的数据可参与正常的PLC运算中,数据转换只是起重机定位中的一小部分,需要算法精确,保证转化后的数据逻辑关系与转换前保持一致,不影响定位精度。
2.3程序块的编写
克服机械惯性造成的误差
一般起重机的质量都较大,这就导致其机械惯量较大,会造成“刹不住车冶的问题。例如需要在位置X停车,如果在X位置给出停车指令,那么起重机实际停止的位置就会远远的偏出指定位置。笔者为此专门制作了用于起重机定位的程序模块,如图6所示:
程序块的编制相当于自主创建了一个新的梯形图功能块,根据实际需要编辑功能块的运算公式。如图6所示,功能块名称为positioning,可作为库文件直接调用。起重机定位程序块主要考虑的问题是速度与距离的关系,使起重机在尽可能短的距离内达到稳定停车的效果。该程序块包含了可编写的输入、输出数据,停止的指定位置、可高速运行的区间、低速运行的区间、停止超低速区间等参数。模块将根据当前位置到目标位置的距离适当的给出速度信号,当距离较远时以高速运行,快速接近目标,当即将到达时,根据距离的不断减小速度信号也逐渐降低,直到停止。值得一提的是,该模块具有自动调整功能,当停止时的位置偏差不满足我们要求的精度时,起重机将自动进行调整,直到偏差精度达到要求(一般要求精度为3 mm)。
程序块的参数需根据实际情况确定,影响参数的因素包括起重机的重量、工作周期时间的要求、变频器参数等。停车距离、减速区、停车速度、减速速度、高速、超高速等参数要经过调试验证,避免起重机出现反复调整,无法停止的现象。
克服气候等原因造成的机械形变误差
当起重机在现场工作较长时间后,会因为冬夏温度交替等因素造成一定的机械形变,此时位置传感器的实际读数和相对读数都会发生变化,需要我们的起重机具有一定的自我学习能力,能够自我辨识数据的缓慢变化并进行自我整定。本文使用堆栈原理对位置传感器的读数进行储存,根据存储的数据变化判断机械形变的趋势,程序段如图7所示。
图7为程序截图,该程序段可储存最近10次的数据,每次读数都进行更新,即每次读入一个最新的数据并排除一个最老数据。假设我们需要的数据是10,而最近读取的数据大多都大于10,这种情况说明数据读取发生了永久性的变化,我们认为发生了机械形变,程序将自动调整其他的相关参数,以适应这个数据的变化。这个程序段的优点在于使起重机具有一定的记忆和学习功能,可以克服条码由于微小形变造成的定位误差。

图6定位程序块

图7堆栈程序块
3、总结
本文对起重机定位技术的重要性等做了简要叙述,通过对传感器原理的分析,建立了起重机运行轨迹的3D模型,并编写了精确定位程序。本文阐述的方法基本可保证当前国内对起重机定位精度的要求。需指出的是,起重机精确定位还涉及许多其他因素,如机械零件的生产及安装精度、机械抱闸调节等。定位技术是一个需要长期研究的课题,编码器等定位传感器的技术在发展,起重机定位技术也要不断的探索。