目前,在移动机器人控制技术和PLC应用方面有很多人已经做了相关的研究工作。本文研究的机器人(小车)工作在大约40 m深的浆液下,为防止水煤浆由于长时间的存贮而沉淀,在按照规划的轨迹移动时完成搅拌水煤浆功能。基于超声波传感器和电子罗盘的实时测量位姿信息,查模糊控制表,控制电机,使机器人能及时、连续、平稳、按规划轨迹运行。采用西门子S7-200系列PLC作为主控制器来实现对浆液下移动机器人的控制。
1 控制系统基本构成
在移动机器人的应用中,精确的位姿是跟踪控制首要解决的问题。为此,本机器人的定位采用了超声波网络定位系统,导航采用了电子罗盘。整个控制网络如图1所示。
图1 机器人控制网络
PLC系统为控制系统的核心,做主站管理各从站,起到总的控制作用,通过RS-485总线同各个从站进行数据传递。PLC把各个从站得到的信息经过加工处理后,得到最终的控制命令传给电机,控制机器人进行准确的行走。TD200可对PLC的参数进行实时的修改,达到实时控制的需要。
1号单片机、2号单片机、3号单片机记录发射超声波信号在介质中的传播时间,乘以超声波的传播速度,可以计算出相应的距离,通过定位算法便可对机器人进行定位。超声波在介质中的传播速度随温度变化,有着特定函数关系,因此可以借助温度传感器对超声波的速度进行修正。电子罗盘可获得小车的姿态,实现小车的导航。
操作员通过无线通信的方式达到对机器人的无线控制。无线控制是对有线控制的一种辅助措施,使机器人能得到更理想的控制效果。当主控制系统控制失效,机器人出现意外情况,通过定位系统测量发现机器人偏离规划轨道,此时,利用无线控制可使机器人及时回到规划轨道。
2 网络通信
2.1 通信协议的选择
S7-200 PLC支持多种通信息协议,如点到点接口(PPI)、多点接口(MPI)、PROFIBUS及用户自定义协议等。
通过使用接收中断、发送中断、字符中断、发送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200 CPU通信口的操作模式。利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备。
CPU处于STOP模式时,自由端口模式被禁止,CPU重新建立使用其他协议的通信,例如与编程设备的通信。只有当CPU处于RUN模式时,才能使用自由端口模式。通过向SMB30(端口0)的协议选择域置1,可以将通信端口设置为自由端口模式。处于该模式时,不能与编程设备通信。SMB30其他位还可以设置端口0通信的波特率和奇偶校检等参数。在此,我们所研究的机器人采用了自由端口模式。通信协议我们采用Medbus协议。Modbus协议是美国可编程控制器供应商Modicon公司制定的一种工业通讯协议,现在已经被许多工控厂商所支持,广泛应用于智能仪表、总线控制等领域。其物理层遵循RS-485标准,RS-485总线具有信号传输速率快、传输距离更远、抗干扰能力强等优点,其接口可以有多个驱动器和接收器,很容易实现PLC与多台智能设备之间的通信。
2.2 网络通信的关键技术
在接收信息时我们采用了接收中断而没用接收指令(RCV)。接收字符中断是每当接收缓冲区SMBZ中接收到一个字符便产生一次中断,能在中断中对所接收到的字符进行适时处理,如果不正确,能及时进行第二次或更多次的发射和接收一直到达成功,并不影响字符和字符间的接收工作。更确切的说对字符的处理是在接收字符之间的间隙进行的。但是RCV指令一次性的接收完对方发射的所有信息,最后一个字符接收完,执行中断事件才能对所接收到的字符进行处理,如果不正确,到这时才能重新发射和接收,这与上一种方法相比浪费了时间。两种方法所用到的全局变量VB是一样的,用接收指令RCV程序会简洁些,但是从适时的角度我们选择了接收字符中断。
PLC是主站,1号单片机、2号单片机、3号单片机、无线通信模块、温度传感器、电子罗盘都作为从站,地址依次是3lH,32H,33H,34H,35H,36H。当各从站都没有出现故障,且主站同各从站通信,从站都能给与正确的回应信息时,建立起的地址轮询表是3lH,32H,33H,34H,35H,36H。主站按照这个地址轮询表所建立起的地址同各从站进行数据通信。当某一个从站出现故障,如2号单片机同主站不能进行通信,建立起的地址轮询表是31H,3H,34H,35H,36H。主站按照这个地址轮询表同各从站进行数据通信,并及时报警要求查找故障。但是这时并不影响对小车的控制,因为通过1号单片机、3号单片机仍然能对小车进行定位,仅仅是定位的精度不十分精确。整个控制过程没有间断而是连续的进行。
我们可以根据报警信息,查出有故障的单片机。当查好后我们可以通过TD200或无线通信模块向主站告诉故障已经解除。要求主站重新建立地址轮询表,建立地址信息。按照重新建立的地址轮询表发射数据信息。
3 电机控制
西门子S7-200系列PLC的高速脉冲输出功能是指在PLC某些输出端产生高速脉冲,用来驱动负载实现精确控制。PLC主机最多可提供2个高速脉冲输出端,即Q0.0或Q0.1。每个高速脉冲发生器对应一定数量的特殊寄存器,包括控制字节寄存器,状态字节寄存器和参数数值寄存器,它们用以控制高速脉冲输出形式,反映输出状态和参数值。PLC控制电机中通过脉冲输出指令(PLS)检查为脉冲输出(Q0.0或Q0.1)设置的特殊存贮器位(SM),然后启动由特殊存储器位定义的脉冲操作。脉冲由Q0.0或Q0.1输出控制电机。
如何控制电机,使小车能及时以直线、曲线、停止的方式进行运行,且运行过程连续、平稳,避免小车出现异常行为,如突然的大转弯、急刹车等,是我们必须要解决的一个重要问题。因此,小车的启动、每步控制之间的过渡、停止都要处理好,输出脉冲的周期要连续,解决方法如下。
图2 电机控制[page]
目前,在移动机器人控制技术和PLC应用方面有很多人已经做了相关的研究工作。本文研究的机器人(小车)工作在大约40 m深的浆液下,为防止水煤浆由于长时间的存贮而沉淀,在按照规划的轨迹移动时完成搅拌水煤浆功能。基于超声波传感器和电子罗盘的实时测量位姿信息,查模糊控制表,控制电机,使机器人能及时、连续、平稳、按规划轨迹运行。采用西门子S7-200系列PLC作为主控制器来实现对浆液下移动机器人的控制。
1 控制系统基本构成
在移动机器人的应用中,精确的位姿是跟踪控制首要解决的问题。为此,本机器人的定位采用了超声波网络定位系统,导航采用了电子罗盘。整个控制网络如图1所示。
图1 机器人控制网络
PLC系统为控制系统的核心,做主站管理各从站,起到总的控制作用,通过RS-485总线同各个从站进行数据传递。PLC把各个从站得到的信息经过加工处理后,得到最终的控制命令传给电机,控制机器人进行准确的行走。TD200可对PLC的参数进行实时的修改,达到实时控制的需要。
1号单片机、2号单片机、3号单片机记录发射超声波信号在介质中的传播时间,乘以超声波的传播速度,可以计算出相应的距离,通过定位算法便可对机器人进行定位。超声波在介质中的传播速度随温度变化,有着特定函数关系,因此可以借助温度传感器对超声波的速度进行修正。电子罗盘可获得小车的姿态,实现小车的导航。
操作员通过无线通信的方式达到对机器人的无线控制。无线控制是对有线控制的一种辅助措施,使机器人能得到更理想的控制效果。当主控制系统控制失效,机器人出现意外情况,通过定位系统测量发现机器人偏离规划轨道,此时,利用无线控制可使机器人及时回到规划轨道。
2 网络通信
2.1 通信协议的选择
S7-200 PLC支持多种通信息协议,如点到点接口(PPI)、多点接口(MPI)、PROFIBUS及用户自定义协议等。
通过使用接收中断、发送中断、字符中断、发送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200 CPU通信口的操作模式。利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备。
CPU处于STOP模式时,自由端口模式被禁止,CPU重新建立使用其他协议的通信,例如与编程设备的通信。只有当CPU处于RUN模式时,才能使用自由端口模式。通过向SMB30(端口0)的协议选择域置1,可以将通信端口设置为自由端口模式。处于该模式时,不能与编程设备通信。SMB30其他位还可以设置端口0通信的波特率和奇偶校检等参数。在此,我们所研究的机器人采用了自由端口模式。通信协议我们采用Medbus协议。Modbus协议是美国可编程控制器供应商Modicon公司制定的一种工业通讯协议,现在已经被许多工控厂商所支持,广泛应用于智能仪表、总线控制等领域。其物理层遵循RS-485标准,RS-485总线具有信号传输速率快、传输距离更远、抗干扰能力强等优点,其接口可以有多个驱动器和接收器,很容易实现PLC与多台智能设备之间的通信。
2.2 网络通信的关键技术
在接收信息时我们采用了接收中断而没用接收指令(RCV)。接收字符中断是每当接收缓冲区SMBZ中接收到一个字符便产生一次中断,能在中断中对所接收到的字符进行适时处理,如果不正确,能及时进行第二次或更多次的发射和接收一直到达成功,并不影响字符和字符间的接收工作。更确切的说对字符的处理是在接收字符之间的间隙进行的。但是RCV指令一次性的接收完对方发射的所有信息,最后一个字符接收完,执行中断事件才能对所接收到的字符进行处理,如果不正确,到这时才能重新发射和接收,这与上一种方法相比浪费了时间。两种方法所用到的全局变量VB是一样的,用接收指令RCV程序会简洁些,但是从适时的角度我们选择了接收字符中断。
PLC是主站,1号单片机、2号单片机、3号单片机、无线通信模块、温度传感器、电子罗盘都作为从站,地址依次是3lH,32H,33H,34H,35H,36H。当各从站都没有出现故障,且主站同各从站通信,从站都能给与正确的回应信息时,建立起的地址轮询表是3lH,32H,33H,34H,35H,36H。主站按照这个地址轮询表所建立起的地址同各从站进行数据通信。当某一个从站出现故障,如2号单片机同主站不能进行通信,建立起的地址轮询表是31H,3H,34H,35H,36H。主站按照这个地址轮询表同各从站进行数据通信,并及时报警要求查找故障。但是这时并不影响对小车的控制,因为通过1号单片机、3号单片机仍然能对小车进行定位,仅仅是定位的精度不十分精确。整个控制过程没有间断而是连续的进行。
我们可以根据报警信息,查出有故障的单片机。当查好后我们可以通过TD200或无线通信模块向主站告诉故障已经解除。要求主站重新建立地址轮询表,建立地址信息。按照重新建立的地址轮询表发射数据信息。
3 电机控制
西门子S7-200系列PLC的高速脉冲输出功能是指在PLC某些输出端产生高速脉冲,用来驱动负载实现精确控制。PLC主机最多可提供2个高速脉冲输出端,即Q0.0或Q0.1。每个高速脉冲发生器对应一定数量的特殊寄存器,包括控制字节寄存器,状态字节寄存器和参数数值寄存器,它们用以控制高速脉冲输出形式,反映输出状态和参数值。PLC控制电机中通过脉冲输出指令(PLS)检查为脉冲输出(Q0.0或Q0.1)设置的特殊存贮器位(SM),然后启动由特殊存储器位定义的脉冲操作。脉冲由Q0.0或Q0.1输出控制电机。
如何控制电机,使小车能及时以直线、曲线、停止的方式进行运行,且运行过程连续、平稳,避免小车出现异常行为,如突然的大转弯、急刹车等,是我们必须要解决的一个重要问题。因此,小车的启动、每步控制之间的过渡、停止都要处理好,输出脉冲的周期要连续,解决方法如下。
图2 电机控制
上一篇:软PLC编译系统的开发与仿真
下一篇:基于PLC的工业机器人关节直流伺服系统
推荐阅读最新更新时间:2024-05-02 21:52