CNC实例01:直接生成OutQueue
见 CNC01_direct.project
安装目录下的示例工程 CODESYS 在下面 ..\CODESYS SoftMotion\Examples
.
这个例子显示了一个有两个轴的 CNC 程序。以定义的速度和加速度接近 X/Y 平面中的四个位置。程序在路径上设置了两个路径切换点。该程序通过使用直接写入数据结构 SMC_OutQueue 编译模式。
在 CNC 编辑器中创建 NC 程序
创建一个
CNCdirect
项目与 SoftMotion 控制器。插入一个 数控程序 命名的对象
Example
.选择 执行
Din66025
和 编译方式SMC_OutQueue
.指定以下运动块:
数控编辑器:
创建驱动接口和 PLC 配置
定义具有两个线性驱动器的驱动器结构如下:
插入两个虚拟驱动器
X_Drive
和Y_Drive
以下 SoftMotion 通用轴池.设置 轴型 参数为
Finite
(1).配置编辑器:
创建 IEC 程序
添加新的 CFC 程序 IPO 到应用程序并配置一个间隔为 3 ms 的循环任务。
激活驱动器
MC_Power
功能块。POU:
插入
SMC_Interpolator
宝。该功能块将由 GEOINFO 对象定义的路径转换为离散的路径点。功能块在输入端接收创建的 CNC 程序的地址poqDataIn
.然后必须将 IEC 任务循环时间写入输入dwIpoTime
.您可以在输入处将这些指定为常量值dwIpoTime
或者你可以使用变量dwCycle
PLC 配置中的轴组结构。这样做的好处是,当您更改任务循环时间时,会自动将正确的时间用作内插器输入。宝:
在本例中,将控制龙门系统。为此,插入一个反向和正向转换功能块的实例。
SM_Trafo
图书馆。正向转换功能块包含驱动器作为输入。逆变换功能块必须包含插值器的设置位置。示例中的正向转换仅用于可视化。功能块实例:
功能块的输出(轴坐标)必须写入驱动器。这是通过
SMC_ControlAxisByPos
功能块。由于应用程序不保证内插器的输出是恒定的(例如,路径结束于起点以外的点),请激活间隙避免(bAvoidGaps
,fGapVelocity
,fGapAcceleration
,fGapDeceleration
)。然后连接StopIpo
输出到bEmergency_Stop
内插器的输入并连接内插器的输出iStatus
到轴控制功能块的相应输入。使用 CFC 进行编程时,请注意功能块的正确顺序。
氟氯化碳:
创建操作界面和测试界面
将两个可视化对象链接到新的可视化:插值器模板和转换模板。您需要使用占位符将它们链接到相应的功能块实例(此处: Ipo.smci
和 Ipo.trafof
)。
调试
编译并启动创建的程序。程序一执行 CNC 运动 Execute
插值器的输入已设置。程序完全运行后,您可以通过新的上升沿重新启动它。
请注意也显示在插值功能块的可视化中的路径开关的功能。