大家好,
我想发送etherCAT上的32位数据类型。
为了对其进行测试,我创建了一个包含3个变量的SSC应用程序,并 使用CM示例创建了CCS项目:
- REAL32 FloatingVariable
- UINT32 集成32Var_1
- UINT32 集成32Var_1

在我的objects.h中一切看起来都很好我可以看到我定义的变量:

以及TwinCAT: 
现在,我 不确定实施输入映射的最佳方式是什么。
我一直在使用uint16,所以我只是增加指针,因为pData是UINT16*:
void APPL_InputMapping(UINT16* pData)
{
#if _WIN32
#pragma message ("Warning: Implement input (Slave->Master) mapping")
#else
#warning "Implement input (Slave->Master) mapping"
#endif
*pData = Myvar0x6000.Var1;
pData++;
*pData = Myvar0x6000.Var2;
pData++;
*pData = Myvar0x6000.Var3;
}
但是现在我使用的是real32和UINT32,我不确定如何实现它。 我只是尝试移动指针两次 以获得32位,但它不起作用。
void APPL_InputMapping(UINT16* pData)
{
*pData = DataTest0x6000.FloatingVariable;
pData++;
pData++;
*pData = DataTest0x6000.Integer32Var_1;
pData++;
pData++;
*pData = DataTest0x6000.Integer32Var_2;
}

如果您有使用uint16以外的其他数据类型的示例,请告诉我。
谢谢你