单轴运动控制

(参阅相关的同名工程 PLCopenSingle.project)

这个示例显示如何通过PLCopen标准的模块对一个单轴进行运动控制:

在设备树中一个虚拟轴被添加到SoftMotion一般设备池下方。

插图 70: 设备树,设备添加

通过在一个新的驱动器设备上双击鼠标以下配置对话框将会打开:

插图 71: SoftMotion 设备:基本设置,离线模式对话框

任务配置设置程序MOTION_PRG的调用,此程序中包含指定轴的运动。

参阅下文如何创建这个工程:

添加一个程序名为 MOTION_PRG,实现语言选择ST,并创建以下变量:

PROGRAM MOTION_PRG

VAR

iStatus: INT;

Power: MC_Power;

MoveAbsolute: MC_MoveAbsolute;

p:REAL:=100;

END_VAR

创建一个步控制,在初始化步骤中激活轴的控制:

CASE iStatus OF

0:

Power(Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE, Axis:=Drive);

IF Power.Status THEN

iStatus := iStatus + 1;

END_IF

在接下来的步骤中通过使用模块 MC_MoveAbsolute 轴将会被控制运行到位置 p:

...   (* continuation of the program shown above *)

1:

MoveAbsolute(Execute:=TRUE, Position:= p, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);

IF MoveAbsolute.Done THEN

MoveAbsolute(Execute:=FALSE, Axis:=Drive);

iStatus := iStatus + 1;

END_IF

在最后一个步骤中,轴将会运动回位置 0:

...   (* continuation of the program shown above *)

2:

MoveAbsolute(Execute:=TRUE, Position:= 0, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);

IF MoveAbsolute.Done THEN

MoveAbsolute(Execute:=FALSE, Axis:=Drive);

iStatus := 1;

END_IF

紧接着步骤中一个跳转回状态 1。这将会导致在位置 p 和 0 之间的一个往复运动。

这个程序在启动并在通讯配置对话框中正确配置之后可以进行编译并下载到控制器中。

设备配置对话框在在线模式下打开,轴的运动将会被显示:

插图 72: SoftMotion 设备基本设置,在线模式对话框