张 威
青岛职业技术学院 山东青岛 266555
作为一种结合路径规划、环境感知以及定位导航等多种功能为一体的机器人自动化设备,随着近几年PLC技术的发展,将该技术应用到机器人控制领域当中,和传统机器人控制线路两者进行对比发现,基于PLC技术的机器人控制系统,具备较强的柔性和扩展性,能够从一定程度上促进机器人控制系统的运行安全性与可靠性[1]。同时,这对企业生产效率以及动态监管方面具有一定的显示意义。
首先,机器人的控制系统结构主要有硬件和软件等两个部分共同构成。其中,机器人控制系统硬件,借助PLC核心控制器、电机等来实现机器人驱动和通信。软件部分,借助PLC技术,实现了对机器人的控制程序进行读取,主要体现在对机器人的运动控制程序读取。其次,从本质上来看机器人的运动是通过核心控制器、控制参数、电信号等,在运动控制系统的作用下实现机器人运动[2]。因此,在设计时需要根据不同的应用场景对其进行设计。
在进行机器人控制系统进行设计时,需要确保控制系统的运行可靠性以及精确性得到保障。这样一来,可以使得机器人控制系统能够正确地实现上位机所下达的对应指令,从而实现机器人运动。同时,针对机器人控制系统的设计,应当拥有良好的通信能力、安全性、扩展性、柔性等特点,具体控制系统原理见图1所示。
图1 机器人控制系统的原理示意图
该控制系统的设计,首先是由五个部分构成:PLC主控制器、电机驱动器、传感器、上位机和安全传感器等。其中,PLC主控制器作为机器人控制系统的核心部分,主要实现了对控制信号、运动程序控制、远程通信和输出控制指令等方面的接收。上位机设计,主要实现了对运行任务、功能参数等方面的设置,以及对系统运行状况的实时监控。传感器的设计,通过将检测的信号传递给主控制器,在运动算法的作用下,实现机器人左右驱动轮控制,以此完成机器人移动。而安全传感器的设计,主要负责对机器人在移动方向周围的环境情况进行检测,以此减少机器人移动过程中存在的障碍。
该技术是机器人控制系统的核心部分,结合所编写的程序可以通过扫描的方式来实现机器人移动。其工作原理主要包含了采样输入、用户程序执行以及输出刷新等三个部分。其中,从采样输入阶段方面来看,通过PLC对机器人的各项户数进行扫描读取,并将最后读取的数据存储在PLC的I/O映像区域当中。然后,PLC会结合特定的顺序,对用户所编写的梯形图进行逐一扫描,并结合该步骤,对梯形图之间的各个接触点的控制线路进行读取和运算,并将其结果更新在系统状态当中。以此来判断是否对I/O区中的机器人状态进行更新,或者是按照用户的指令进行执行等。当以上程序完成之后,PLC主控制系统就会自动进入输出刷新阶段,而系统会对所保存的机器人运行数据和状态、电路等实现对机器人各个关节轴的设计。
首先,本文的机器人控制系统的硬件部分设计,主要包含了锂电池、PLC主控制器、传感器、触摸屏和驱动器以及伺服电机等六个部分构成。并且PLC控制器拥有三路高速脉冲输出接口,其中最高的输出频率可以达到100KHZ,还能够兼容绝对控制模块、自动控制模式以及手动控制模式。其次,基于PLC技术的控制系统,可以利用运动控制向导,迅速实现并完成机器人运动控制组态,并借助自带的以太网和通信接口等实现远程通信服务。此外,磁位传感器的作用主要通过对磁场信号进行感应,并将其传输到控制系统当中。简单来说该传感器的作用是为PLC控制器提供引导信号[3]。
为保障控制系统和机器人外围接口两者之间的通信,通过利用CSMACD方式以及非破坏总线优先逐位仲裁技术,为机器人总线传输的优先级信息传输提供保障,以此使得用户对机器人的实时性控制得到保障。而基于CAL子协议的CanOpen协议,具备良好的模块性和适应性。因此,机器人控制系统过程当中,可以有效促进设备和设备之间通过交换通信对象的方式实现通信,并利用该协议构建出一个对应的通信模型。这样一来,就可以使得基于PLC技术设计的机器人控制系统和外围I/O接口之间的通信得到保障。并且,最后使得其通信更加具备良好的稳定性。
本文针对伺服系统的设计,主要选择利用三菱企业的交流伺服作为机器人控制系统的伺服驱动器。首先,该驱动器具备较为强大的性能和多种功能,不仅为用户提供基础的控制模式,还增添了位置控制和速度控制以及速度转矩控制等多种高级控制方式供用户选择,从一定程度上促进其控制精度以及范围得到了提高。其次,该伺服系统拥有通信功能,能够实现与RS232C两者进行串口通信。最后,该伺服系统还拥有编码器,能够通过加装电池,构建绝对位置系统,以此提高对机器人控制能力。
机器人控制系统的软件设计,作为该系统的核心部分。本文根据IEC61131-3标准的CoDeSys系统,实现了对PLC主控制程序的编写。其中,CoDeSys系统几乎包含了所有基本模块,如力矩控制模块、速度控制模块、电机位置和插补模块等。可以结合用户的实际需求来实现控制模块编写,以此为用户提供个性化服务。并且,通过该系统还可以实现PLC和其他接口之间的互相通信。最后,利用插补模块,实现伺服电机运动轨迹的控制。
当机器人控制系统启动之后,需要对其控制程序进行初始化设置,以及传感器周围是否存在障碍物进行检测。但所有启动条件均满足之后,可以通过设定的磁条,控制机器人进行移动。不过,在机器人移动过程当中,受其左、右轮所处的地面平整度等方面的影响,会存在一定的累积误差,因此会出现机器人行驶偏离预定轨迹的现象[4]。这时就需要通过系统对其进行调整,从而保证机器人能够沿着预定的线路进行运动。
代码编译模块以及解码模块的设计中,代码编译主要通过利用高级机器人语言来实现机器人控制程序编写,并将其转化成G代码(数控程序)的过程。首先,需要通过单个数组,实现对机器人控制程序的指令以及变量和值分进行分别保存,接着将机器人的每一天动作运动控制程序进行G代码转换,然后将其保存在对应的数据存储器当中[5]。其次,利用CoDeSys工具,实现对代码的编译。具体数据结构定义如:
typedef struct ROBOT PARAM{
String strComm;
String strChar;
String fVvalue;
} ROBOT_ PARAM;
而代码的解码模块设计,主要是由于机器人控制程序中的插补程序无法通过直接读取文本的形式显示为G代码,因此,就需要借助对应的解码程序将所读取的文本转化为G代码,这样就能够实现对机器人控制程序进行插补程序识别。
该运动控制算法的设计,主要作用于机器人的运动控制。通过利用机器人控制系统与控制算法,能够保障机器人可以沿着预定的路线实现精准运行到指定的终点。一般情况下,机器人常见的运行路线主要分为直线和弯道等两种情况,见图2所示。
图2 机器人运动路径示意图
从图2中可以得知,机器人的直线运动由A来表示,其弯道运行则是由B来表示。因此,在机器人运行过程当中,将其左边轮子的速度设为υL,将右边轮子的速度设定为υR,并将该机器人的运动速度设置υ,用R来表示机器人的转弯半径,用ωO来表示机器人的角速度。因此,当机器人进行直线移动时,其左边轮子的运行速度应当和右边相等。当转弯时,机器人的运动轨迹会形成圆弧状,并以机器人自身中心为回转的中心点,那么左轮的速度会比右边轮子快[6]。并且,两者对应的角速度相等,具体公式为:
此外,当υL/υR大于1时,该机器人会向前运动并且向右方向转弯。当0小于υL/υR小于1时,机器人会呈现向前运动,且会向左转动态。因此,通过分析发现,对该机器人的两个驱动轮的速度差进行控制,可以控制机器人实现前进、后退以及左右运转以及直行等运行状态。
触摸屏设计实现了人机界面交互,简单来说就是为用户和控制系统两者交互提供了操作窗口。因此,该触摸屏监控界面的设计,促使其具有工作任务配置、机器人运动路径选择规划、报警显示功能以及操作权限配置等功能。本文机器人操作系统人机交互系统主要利用MCGS软件以及昆仑通态嵌入式一体化触摸屏,实现了触摸屏设计[7],并通过通信接口PLC控制器实现了通信,以此将机器人自身的具体状态实时显示在屏幕窗口上。这样一来,就能够让用户更加直观地获取机器人的系统信息,并对其各种类型的运行参数进行配置。
该部分的设计,在机器人运行过程当中发生故障时,通过触摸屏可以及时报警并反馈给管理操作人员,这样不仅可以及时地消除故障问题,还能够降低减少损失。其设计原理是:首先当机器人出现故障异常问题时,就会在显示屏界面弹出报警画面,然后将报警内容传递给管理员。当故障解决后,报警就会被复位,而其内容会消失,并被记录在报警历史信息当中,方便后期查询。
基于PLC技术的机器人控制系统仿真,本文通过利用计算机Matlab软件[8]实现了机器人虚拟模型设计,并借助该仿真软件实现控制系统的动态系统的建模和仿真,从而判断机器人的运行性能。经过仿真结果表明,该机器人控制系统的设计在机器人中的应用具有良好的性能和扩展性。
在针对机器人进行安装调试过程当中,不能够直接利用220V电压,需要借助变压器进行电压转换。在控制系统安装时,为了进一步降低数据传输对机器人的干扰使其自动化水平下降,需要在安装前对系统程序进行调试。当机器人本体以及控制系统安装完成之后,先对其电路、电源以及电机进行检测,以此来确保电源的输入和输出正常。然后,结合对应的系统设置教程,通过手动操作模式,进行机器人的稳定性测试。最后,在针对测试过程中存在的误差,对机器人控制系统进行优化调整即可。
综上所述,本文通过利用西门子S7型号PLC作为核心控制器,结合上位机、直流电器以及安全传感器等元器件,开发设计了一种机器人控制系统。其中,PLC技术具备较强的适应性和易操作性,能够有效促进机器人自动控制系统的抗干扰性和易维护性等得到提高,还使得机器人操作的扩展性和柔性得到了提升。因此,PLC技术在机器人领域的未来控制系统设计中应用,具有广阔的发展前景。