读取插值器的状态
参见 CNC13_ReadInterpolatorState.project 的安装目录中的示例项目 CODESYS 下面 ..\CODESYS SoftMotion\Examples。
该示例项目显示了如何读取 CNC 插值器的状态。该状态用于在机器和解码器坐标中显示机器的位置
应用程序的结构
该结构是数控应用的典型结构。G 代码在后台任务中读取。插值是在总线任务中执行的
在插值过程中, SMC_ReadAdditionalIpoState 函数块被调用。
插值一开始, Valid 输出是 TRUE。插值器的位置始终以机器坐标系 (MCS) 输出,然后使用当前的解码器坐标系 (DCS) 进行转换并在可视化中输出
SMC_V3_Set(pos_MCS, ipo.piSetPosition.dX, ipo.piSetPosition.dY, ipo.piSetPosition.dZ);
readState(
Enable:= TRUE,
ipo:= ipo);
IF readState.Valid THEN
SMC_PosInfo_Trf_Inverse(
piOut:= piMCS_to_DCS,
piIn:= readState.State.DCS,
eOriConv:= readState.State.OriConv);
SMC_PosInfo_Trf_Apply(
vDst:= pos_DCS,
piTrf:= piMCS_to_DCS,
vSrc:= pos_MCS,
eOriConv:= readState.State.OriConv);
END_IF有关解码器坐标系的更多信息,请参阅以下内容: 移动、旋转和缩放坐标系。
调试
生成应用程序并将其下载到控制器。
打开可视化。
启动应用程序,然后按 开始 可视化按钮。
您可以在 MCS 和 DCS 中跟踪 X 和 Y 坐标的移动。