M241 系列 PLC 与 Lexium 28 系列伺服系统脉冲控制的实现

2022-11-14 19:03:03 浏览数 (2)

需要的硬件以及相应软件,脉冲控制线缆以及编程电缆等:

  • 硬件:TM241CEC24T(源型晶体管输出) PLC 一套
  • Lexium 28(以下简称为 LXM28) 伺服系统一套,包含 CN1 插头或安装套件
  • 软件:SoMachine V4.X

1、Lexium 28 的参数设置

P1-01 = 0000;控制模式为 Pt,即脉冲控制;

P1-01 参数定义如下:

A 位表示 LXM28 的控制类型

C位表示 LXM28 的旋转方向

D位表示运行模式转换后输入与输出信号的功能定义

  • 0:P2-10~P2-22 参数在新的运行模式中保持上一次设置不变
  • 1:P2-10~P2-22 参数在新的运行模式中被设置为预设值

P1-00 = 0002;脉冲类型为脉冲 方向,脉冲输入来源为低速脉冲输入接口;

P1-00 参数定义如下:

A 位表示脉冲输入的类型,

C 位表示输入信号的极性,如下:

B 位表示脉冲输入的频率,如下:

D 位表示脉冲输入的来源,如下:

  • P1-34=6 ms;加速时间
  • P1-35=6 ms;减速时间
  • P1-44=128;电子齿轮比的分子
  • P1-45=1;电子齿轮比的分母

以上两个参数决定了 LXM28 接收 10000 个脉冲时,伺服电机旋转一圈;LXM28 的伺服系统默认为 1280000 个脉冲/圈;可根据现场工艺要求设置合适的电子齿轮比

  • P1-55 = 伺服电机的最高转速;设置为伺服电机的最高转速

当改变以上参数的设定值时,按下 ENT 键直至设定值闪烁之后再松开,则该数值被存储在对以上参数设置完成后,将 LXM28 断电,等待显示面板没有任何显示时再重新上电

2、M241 PLC 的脉冲输出

PLC 的脉冲输出(源型晶体管输出)端子定义,如下:

  • V0 :连接外部 24VDC 电源的正极
  • V0-:连接外部 24VDC 电源的负极
  • Q0~Q3:源型晶体管输出

3、LXM28 的脉冲输入

低速端口,可接受晶体管或差分脉冲输入信号,如下:

高速端口,可接受高速差分脉冲输入信号,如下:

4、M241 PLC 与 LXM28 的脉冲控制接线方法

低速端口脉冲输入,如下:

TM241***T(源型晶体管输出) LXM28

本例中使用 TM241CEC24T PLC,故采用此接线方法

TM241***U(漏型晶体管输出) LXM28

线驱动输出 LXM28

高速端口脉冲输入,如下:

线驱动输出 LXM28

5、SoMachine V4.X 硬件组态

首先,新建一个 TM241CEC24T 的 PLC ,如下:

双击 MyController,对启动方式进行设置,如下:

双击 Pulse_Generators,并配置为 PTO 功能,如下:

设置脉冲的输出类型为脉冲 方向,最高输出脉冲频率 100 KHz,启动/停止脉冲频率为100 Hz,加减速单位为 ms,最大加减速时间为 10ms(功能块应用时的加减速时间不得小于此值),以及快速停止加减速时间为 20ms

可根据控制要求来选择是否需要原点输入信号、Z 相输入信号以及脉冲位置捕捉功能输入信号,这三个输入信号如果需要相应的功能时则可直接选择为使用,并且这三个输入信号的 I 点在 PLC 中是固定的,因此,在图纸以及程序设计时需要特别注意,本例中只启用了原点输入信号,用来执行原点回归功能

如果程序中有多于一路的 PTO 时,可以通过点击下面的 “ ” 按钮来进行添加,如下:

在 SoMachine 平台的 PLC 中,PTO 的使用编号必须从 0 开始,即使只使用一路 PTO 功能,也只能从 PTO_0 开始,即使用 Q0 与 Q1 输出点作为脉冲输出,而不能跨过 Q0 与 Q1 直接使用 Q2 与 Q3 输出点作为脉冲输出

在 PTO 控制中,伺服系统的 DI 输入信号的功能需要通过 P2-10~P2-17 参数来进行设置

6、SoMachine V4.X 程序编程

在 Application 中,添加一个 POU,并选择为 CFC 编程语言,如下:

添加完成 POU 后,如下所示,点击 POU 并拖拽至 MAST 任务下,如下:

7、如何在程序中添加控制功能块

在工具箱中选择 Box,并放在 POU 中,如下:

点击 “???” 并点击右侧的按钮,选择所需要输入的功能块名称,如下:

8、LXM28 在 PTO 控制下的各个功能块的应用

在 LXM28 的控制功能块中,所有的功能块的轴名称必须与以下 PTO 设置中的名称一致, 如下:

在以下所有功能块中,位置单位为 ppr,速度单位为 Hz,加速度单位为 ms 或 Hz/ms, 减速度单位为 ms 或 Hz/ms,本例中,加减速度单位均为 ms

使能功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称Enable:轴使能输入信号
  • DriveReady:驱动器就绪输入信号,如果有外部反馈的驱动器就绪输入信号时,则写入对应的输入点,如果没有则写为 TRUE
  • LimP:轴的正向限位,该输入信号为 TRUE 时,功能块正常工作;如果有外部正向限位时, 则写入对应的输入点,如果没有则写为 TRUE
  • LimN:轴的负向限位,该输入信号 为 TRUE 时,功能块正常工作;如果有外部正向限位时,则写入对应的输入点,如果没有则写为 TRUE
  • Status:轴使能完成信号
  • DriveEnable:轴使能输出信号,如果需要由 PLC 输出信号来控制使能时,可使用该信号Error:轴使能报错信号
  • ErrorID:轴使能错误代码

故障复位功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Done:功能块执行完成信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

停止功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Deceleration:停止时的减速度,不得低于 PTO 设置中的最大减速度值
  • JerkRatio:阶跃率,可理解为 S 曲线的百分比,此值为 0 时,梯形加减速曲线,不为 0 时,则加减速曲线为 S 曲线
  • Done:功能块执行完成信号Busy:功能块执行过程中信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

设置位置功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Position:设置位置值
  • Done:功能块执行完成信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

原点回归功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Mode:原点回归模式,如下:
  • Position:原点回归完成之后的位置设置值
  • Direction:原点回归的方向,仅 mcPositiveDirection 和 mcNegativeDirection 有效HighVelocity:原点回归的第一速度,即查找原点信号的速度
  • LowVelocity:原点回归的第二速度,即离开原点信号的速度
  • Acceleration:加速度
  • Deceleration:减速度
  • Offset:原点回归的偏移位置
  • JerkRatio:阶跃率,可理解为 S 曲线的百分比,此值为 0 时,梯形加减速曲线,不为 0 时,则加减速曲线为 S 曲线
  • Done:功能块执行完成信号Busy:功能块执行过程中信号
  • Active:轴被功能块激活信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

速度控制功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • ContinuousUpdate:持续更新速度相关参数的输入信号,在功能块被触发之后,此输入信号为 TRUE 时,则速度相关参数的值被应用
  • Velocity:目标速度
  • Acceleration:加速度
  • Deceleration:减速度
  • Direction:方向信号
  • BufferMode:缓冲模式,
  • JerkRatio:阶跃率,可理解为 S 曲线的百分比,此值为 0 时,梯形加减速曲线,不为 0 时,则加减速曲线为 S 曲线
  • InVelocity:已到达目标速度信号
  • Busy:功能块执行过程中信号
  • Active:轴被功能块激活信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

此功能块在 Execute 输入信号为 FALSE 时,轴仍以该功能块的目标速度运行,直至被错误终止或通过 MC_Stop_PTO 功能块停止

相对定位功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Distance:相对定位模式下的目标位置
  • Velocity:目标速度
  • Acceleration:加速度
  • Deceleration:减速度
  • BufferMode:缓冲模式,
  • JerkRatio:阶跃率,可理解为 S 曲线的百分比,此值为 0 时,梯形加减速曲线,不为 0时,则加减速曲线为 S 曲线
  • Done:定位完成信号
  • Busy:功能块执行过程中信号
  • Active:轴被功能块激活信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

绝对定位功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • Position:绝对定位模式下的目标位置
  • Velocity:目标速度
  • Acceleration:加速度
  • Deceleration:减速度
  • BufferMode:缓冲模式,
  • JerkRatio:阶跃率,可理解为 S 曲线的百分比,此值为 0 时,梯形加减速曲线,不为 0 时,则加减速曲线为 S 曲线
  • Done:定位完成信号
  • Busy:功能块执行过程中信号
  • Active:轴被功能块激活信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

此功能块必须在建立了绝对坐标以后才可使用,因此,在执行前必须执行 MC_Home_PTO 或 MC_SetPosition_PTO 功能块之后才可执行

位置捕捉功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:触发功能块输入信号
  • WindowOnly:TRUE:只捕捉 FirstPosition 至 LastPosition 位置之间的信号FirstPosition:位置捕捉区间下限
  • LastPosition:位置捕捉区间上限
  • TriggerLevel:TRUE:捕捉信号的上升沿启动捕捉,
  • FALSE:捕捉信号的下降沿启动捕捉Done:功能块执行完成信号
  • Busy:功能块执行过程中信号
  • CommandAborted:功能块被中断信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码
  • RecordedPosition:捕捉的位置值

读取轴错误功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号
  • Valid:功能块正常执行信号
  • Error:功能块执行错误信号
  • ErrorID:错误代码,详细描述如下:
  • AxisErrorID:轴错误代码,参考以上索引值为 1000 的表格

读取轴状态功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号

读取轴运动状态功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号

读取轴的实际位置功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号
  • Valid:功能块正常执行信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码
  • Position:读取的位置值

读取轴的实际速度功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号
  • Valid:功能块正常执行信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码
  • Velocity:读取的速度值

写入轴的任意参数功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Execute:功能块触发信号
  • ParameterNumber:如下:
  • Value:写入的数值
  • Done:功能块执行完成信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码

读取轴的任意参数功能块

  • Axis:功能块所控制的轴,本例中轴的名称为 PTO_0,因此写入此名称
  • Enable:功能块使能信号
  • ParameterNumber:如下:
  • Valid:功能块正常执行信号
  • Error:功能块执行错误信号
  • ErrorID:功能块执行错误代码
  • Value:读取的参数值

0 人点赞