Skip to main content

CNC实例01:直接生成OutQueue

CNC01_direct.project 安装目录下的示例工程 CODESYS 在下面 ..\CODESYS SoftMotion\Examples.

这个例子显示了一个有两个轴的 CNC 程序。以定义的速度和加速度接近 X/Y 平面中的四个位置。程序在路径上设置了两个路径切换点。该程序通过使用直接写入数据结构 SMC_OutQueue 编译模式。

在 CNC 编辑器中创建 NC 程序

  1. 创建一个 CNCdirect 项目与 SoftMotion 控制器。

  2. 插入一个 数控程序 命名的对象 Example.

    选择 执行Din66025编译方式SMC_OutQueue.

  3. 指定以下运动块:

    数控编辑器:

    _sm_img_example_cnc1_1.png

创建驱动接口和 PLC 配置

定义具有两个线性驱动器的驱动器结构如下:

  1. 插入两个虚拟驱动器 X_DriveY_Drive 以下 SoftMotion 通用轴池.

  2. 设置 轴型 参数为 Finite (1).

    配置编辑器:

    _sm_img_example_cnc1_7.png

创建 IEC 程序

  1. 添加新的 CFC 程序 IPO 到应用程序并配置一个间隔为 3 ms 的循环任务。

  2. 激活驱动器 MC_Power 功能块。

    POU:

    _sm_img_example_cnc1_2.png
  3. 插入 SMC_Interpolator 宝。该功能块将由 GEOINFO 对象定义的路径转换为离散的路径点。功能块在输入端接收创建的 CNC 程序的地址 poqDataIn.然后必须将 IEC 任务循环时间写入输入 dwIpoTime.您可以在输入处将这些指定为常量值 dwIpoTime 或者你可以使用变量 dwCycle PLC 配置中的轴组结构。这样做的好处是,当您更改任务循环时间时,会自动将正确的时间用作内插器输入。

    宝:

    _sm_img_example_cnc1_3.png
  4. 在本例中,将控制龙门系统。为此,插入一个反向和正向转换功能块的实例。 SM_Trafo 图书馆。正向转换功能块包含驱动器作为输入。逆变换功能块必须包含插值器的设置位置。示例中的正向转换仅用于可视化。

    功能块实例:

    _sm_img_example_cnc1_4.png
    _sm_img_example_cnc1_5.png
  5. 功能块的输出(轴坐标)必须写入驱动器。这是通过 SMC_ControlAxisByPos 功能块。由于应用程序不保证内插器的输出是恒定的(例如,路径结束于起点以外的点),请激活间隙避免(bAvoidGaps, fGapVelocity, fGapAcceleration, fGapDeceleration)。然后连接 StopIpo 输出到 bEmergency_Stop 内插器的输入并连接内插器的输出 iStatus 到轴控制功能块的相应输入。

    使用 CFC 进行编程时,请注意功能块的正确顺序。

    氟氯化碳:

    _sm_img_example_cnc1_6.png

创建操作界面和测试界面

将两个可视化对象链接到新的可视化:插值器模板和转换模板。您需要使用占位符将它们链接到相应的功能块实例(此处: Ipo.smciIpo.trafof)。

调试

编译并启动创建的程序。程序一执行 CNC 运动 Execute 插值器的输入已设置。程序完全运行后,您可以通过新的上升沿重新启动它。

请注意也显示在插值功能块的可视化中的路径开关的功能。