器件型号: AM2434
您好、
我在 EtherCAT SubDevice /Beckhoff Slave 示例中遇到问题。 我的设置是运行 EtherCAT_subdevice_Beckhoff _ssc... 与 INDUSTRIAL_COMMS_SDK_2025_0_0_8 和 MCU_PLUS_SDK_11_1_0_19 配合使用、可通过以太网电缆直接连接到运行 twincat3 的专用笔记本电脑。 我在直流同步模式和 1kHz CycleTime 下使用 TIESC-004 ESI 配置。 我使用一个简单的 8 位计数器覆盖第一个输入 PDO 条目、如下所示:
void APPL_InputMapping(uint16_t *pData)
{
uint16_t j = 0;
uint8_t *pTmpData = (uint8_t *)pData;
volatile static uint8_t testCounter = 0;
for(j = 0; j < sTxPDOassign.u16SubIndex0; j++)
{
switch(sTxPDOassign.aEntries[j])
{
/* TxPDO 1 */
case 0x1A00:
*pTmpData++ = testCounter;
break;
case 0x1A03: // attention: maybe a non-aligned byte access...
*pTmpData++ = sAI1Inputs.info1 & 0xFF;
*pTmpData++ = (sAI1Inputs.info1 & 0xFF00) >> 8;
*pTmpData++ = (sAI1Inputs.info1 & 0xFF0000) >> 16;
*pTmpData++ = (sAI1Inputs.info1 & 0xFF000000) >> 24;
*pTmpData++ = sAI1Inputs.info2 & 0xFF;
*pTmpData++ = (sAI1Inputs.info2 & 0xFF00) >> 8;
break;
}
}
testCounter++;
}
此变量在 TwinCAT 内链接并通过测量项目进行记录。 绘制的数据显示延迟或缺失的计数器值、如附加图像中的红线所示。 在主同步 ShiftTime 为 10%时、数据错误最多、而在 40%时最少。
导致这种情况的原因以及如何解决此问题? 此外、此错误仅在直流同步模式下发生、无频率工作而没有问题。 



此致
Lucas