Skip to main content

通过编程创建凸轮

BasicMotion_CreateCamTableOnline.project 示例项目位于安装目录中 CODESYS 在下面 ..\CODESYS SoftMotion\Examples

该示例说明如何使用 IEC 代码创建和使用摄像头。这里涵盖了以下几点:

  • 使用 IEC 代码再次创建在摄像头编辑器中创建的摄像头。

    • 在一种情况下,凸轮盘是在总线任务中生成的。

    • 在另一种情况下,凸轮盘是在单独的任务中生成的。

  • 然后,所有三个凸轮都使用相同的主轴和不同的从轴运行。三个奴隶的动作是相同的。

  • 在 IEC 代码中生成的凸轮显示在可视化中。

有关以编程方式创建凸轮的更多信息,请参阅: 通过编程创建凸轮

应用程序的结构

该应用程序由以下组件组成:

  • CamOffline

    在摄像头编辑器中创建的摄像头,应使用 IEC 代码再次创建。

  • PLC_PRG

    该程序由一个简单的状态机组成,逻辑上由三个部分组成。在第一和第二部分中,使用 IEC 代码创建了一个凸轮。在第三部分中,运行先前创建的摄像头和离线创建的相同摄像头。

    • 第1部分:

      在第一种状态下 STATE_CREATE_ONLINE_TABLE,以 IEC 代码创建凸轮。 SMCB凸轮生成器 功能块来自 SM3_CamBuilder 为此,我们使用库。添加了三个段:一个 Poly5 元素,后面跟着一个 Line 元素,然后是另一个 Poly5 元素。Builder 生成一个 在线摄像头 凸轮。从此时起,凸轮以 IEC 代码创建,可以像 CamOffline 在凸轮编辑器中离线创建的凸轮。

    • 第2部分:

      STATE_INIT_ONLINE_TABLE_MULTITASKSTATE_START_CREATE_ONLINE_TABLE_MULTITASK,以及 STATE_READ_ONLINE_TABLE_MULTITASK 状态,摄像头的创建在另一个任务中开始,然后被读取。

    • 第 3 部分:

      STATE_POWER_DRIVES 状态,主轴和三个从轴的虚拟轴被初始化。然后使用以下命令选择凸轮 MC_CamTableSelectSTATE_SELECT_TABLE 状态并在决赛中执行 STATE_MOVEMENT 州。使用以下方法移动主轴 MC_MoveVelocity 并用作三个凸轮的主摄像头。

  • MultitaskCamBuilder

    一种生成凸轮的程序,如第 1 部分所述 PLC_PRG。这里唯一的区别是使用了摄像头的多任务/多核安全变体

  • GVL

    此处实例化了摄像头的多任务/多核安全变体。

  • Visualization

    可视化包含 SMC_Visu_CamDisplayer 用于显示摄像头的元素。第 1 部分中生成的凸轮 PLC_PRG 显示出来。

  • CamDisplayerSettings

    用于显示摄像头的其他元素 Visualization

  • Trace

    您可以使用跟踪来跟踪虚拟轴的移动。记录主轴的当前位置,以及三个从轴的位置、速度和加速度。

调试

  1. 构建应用程序并将其下载到控制器。

  2. 启动跟踪和应用程序。

  3. 观察采样轨迹。

  4. 在可视化中显示生成的摄像头