机器人周边设备控制——PLC简单案例讲解!

图灵汇官网

设计理念

  1. 通过PLC控制一维运动平台,实现电机的自动正反转运行及手动正反转操作;
  2. 一维运动平台的两端安装了行程开关,分别定义为正向限位和负向限位;
  3. 在电机自动正反转运行之前,需要进行复位操作。复位过程包括启动电机朝负向运行,直到到达负向限位,然后继续正向运行一小段距离,将此位置作为电机自动正反转运行的初始位置;
  4. 复位完成后,按下正转按钮,电机将正向运行一段距离(该距离由运动包络参数设定),到达位置后停止。按下反转按钮,电机将反向运行一段距离,同样到达位置后停止;
  5. 在正反转运行过程中,若触发行程开关,电机将停止运行。此时可以通过手动正反转按钮控制电机离开限位开关,或者按下复位按钮重新复位平台;
  6. 行程开关被触发后,必须重新复位才能进行自动正反转操作;
  7. 在电机运行过程中,任何时候都可以通过“停止按钮”或“紧急停止按钮”来控制其停止;
  8. 停止运行后,也需要重新复位才能继续进行自动正反转操作;
  9. “复位指示灯”、“运行指示灯”和“停止指示灯”用于指示一维平台的运行状态。

机械结构

机械结构图

硬件电路

硬件电路图

S7-200 CPU提供了两个高速脉冲输出端口(Q0.0和Q0.1),它们可以分别工作在PTO(脉冲串输出)或PWM(脉宽调制)模式下。PTO或PWM功能可用于实现速度和位置的开环运动控制。

PTO功能可以输出一系列脉冲,用户可以控制脉冲的周期(频率)和数量。PWM功能则可以输出一系列占空比可调的脉冲,用户可以控制脉冲的周期和宽度(占空比)。

高速脉冲输出端口与普通数字输出端口共享输出映像Q0.0和Q0.1。当Q0.0和Q0.1上激活PTO或PWM功能时,PTO/PWM生成器将控制输出波形。只有晶体管输出类型的CPU才支持高速脉冲输出功能。

运动包络

运动包络是一个预先定义的以位置为横坐标,以速度为纵坐标的曲线,它描述了运动的图形化表现。

一个运动包络由多个段组成,每个段包含一个加速至目标速度的过程,以及以目标速度运行的一定数量的脉冲。如果是单段运动控制或多个段中的最后一段,还需要包含从目标速度到停止的减速过程。

PTO主要通过包络实现位置控制。位置控制通过参数设置创建包络,并用图形方式显示包络曲线,自动生成位置控制用的子程序。

运动包络图

运动包络设定步骤

在开始编写程序之前,首先要设定运动包络,步骤如下:

  1. 双击“向导—PTO/PWM”,出现“脉冲输出向导”窗口。
  2. 选择Q0.0,点击“下一步”。
  3. 选择“线性脉冲串输出(PTO)”,点击“下一步”。
  4. 设置电机的最高速度、最低速度和启动/停止速度。
  5. 点击“下一步”,设置加减速时间。
  6. 点击“下一步”。
  7. 点击“新包络”,选择“是”。
  8. 图27中的灰色部分激活,选择“相对位置”,设置好参数,其中步0的目标位置应大于加减速脉冲数之和。
  9. 点击“确认”。
  10. 将参数“VB0”更改为“VB1000”,注意不要在程序中重复定义“VB1000—VB1069”,点击“下一步”。
  11. 点击“完成”,在弹出的对话框中选择“是”。
  12. 运动包络设置完成,在调用子程序中出现Q0.0对应的位控子程序。

包络设定步骤图

PLC程序

上电初始化

  • SM0.1:首次扫描周期时该位打开,用于调用初始化子程序。

电机控制子程序和初始化

  • PTO0CTRL在程序中只使用一次,并且在每次扫描时执行,因此使用SM0.0作为EN的输入。
    • EN:使能端,使用SM0.0连接,保持常通;
    • ISTOP:有效时电机立即停止;
    • DSTOP:有效时电机减速停止;
    • Done:完成标志。为“1”时表明上一指令执行完成;
    • Error:显示错误代码,“0”表示无错误;
    • CPos:HSC计数器功能开启时,表示运行脉冲数,否则为0。

复位

  • VD1100:复位返回脉冲数,在数据块的“用户定义1”中设置,根据电机的减速比、驱动器的细分以及电机行程进行设置。
  • VD1043:运行包络恒速段脉冲数;VD1100-VD1080 = VD1043。

正转

  • VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.1:正转运行状态;v101.3:正转结束;
  • I0.1:正转按钮;
  • V100.1:正转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;
  • Q0.2:电机方向;
  • VD1104:正反转脉冲数,同VD1100参数一样,在“数据块”的“用户定义1”中设置。VD1104-VD1080 = VD1043。

反转

  • VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.2:反转运行状态;v101.4:反转结束;
  • I0.2:反转按钮;
  • V100.2:反转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;
  • Q0.2:电机方向;
  • VD1104:正反转脉冲数,同VD1100参数一样,在“数据块”的“用户定义1”中设置。VD1104-VD1080 = VD1043。

手动正转

手动正转是对电机的点动控制,需要持续按住按钮,电机才能运行。运行至正限位后,即使按住按钮也无法运行,只能反向运行。

手动反转

手动反转是对电机的点动控制,需要持续按住按钮,电机才能运行。运行至负限位后,即使按住按钮也无法运行,只能正向运行。

紧急停止

紧急停止:运行至正负限位时,对系统的保护策略。任何情况下,按下紧急停止按钮,使系统紧急停止。

输出

包络运行
  • EN:使能端,使用SM0.0链接表示保持常通;
  • START:参数开启时,执行运动包络,为确保命令只发送一次,使用上升沿信号;
  • Profile:设定的运动包络编号;
  • Abort:位控模块停止参数。开启后停止运行当前包络并减速停止;
  • Done:完成标志。模块完成该子程序时,此参数为“1”;
  • Error:错误代码,为“0”表示无错误;
  • C_Profile:包含位控模块当前执行的轮廓;
  • C_Step:目前正在执行的轮廓步骤;
  • CPos:如果PTO向导的HSC计数器功能已启用,CPos参数包含用脉冲数目表示的模块;否则此数值始终为0。
点动运行
  • EN:使能端,SM0.0保持常通;
  • RUN:启用该参数加速至设定速度运行,停用该参数电机减速停止;
  • Speed:设定手动运行的最高速度;
  • Error:本子程序的错误代码,“0”表示无错误;
  • CPos:如果PTO向导的HSC计数器功能已启用,CPos参数包含用脉冲数目表示的模块;否则此数值始终为零。
指示灯
  • 复位状态下,复位指示灯亮。
  • 正反转运行时,运行指示灯亮。
  • 不处于复位或运行状态时,停止灯亮。
本文来源: 图灵汇 文章作者: 贾莲莲