工具与软件:
您好!
我正在将 TMS320F28388D 用作 EtherCAT 网络中的从站器件、我打算以4kHz (250us 周期时间)运行。 我最初打算在启用 DC (分配时钟)的情况下运行系统、但发现器件似乎只支持500us 的最小 SYNC0周期时间。 这是 对 ecat_def.h 中下面块的解释:
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我正在将 TMS320F28388D 用作 EtherCAT 网络中的从站器件、我打算以4kHz (250us 周期时间)运行。 我最初打算在启用 DC (分配时钟)的情况下运行系统、但发现器件似乎只支持500us 的最小 SYNC0周期时间。 这是 对 ecat_def.h 中下面块的解释:
Blake、
Unknown 说:1. 我得出此器件不支持以250us DC 周期时间运行的结论、这对我来说是否正确? 可以绕过此引脚吗?或者其他 C2000器件是否支持具有 DC 且周期时间为250us 的情况?
您绝对可以使用具有 DC 的250us 周期时间。 我始终 通过 MainDevice (例如使用 TwinCAT)进行配置。 由于该值将存储在 ESC 寄存器中、因此可由 C28x CPU 或主器件修改。
[quote userid="614274" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1386946/tms320f28388d-tms320f28388d-ethercat-min-pd-cycle-time-with-dc 在没有 DC 的情况下运行时、支持的周期时间是否最短? AL 状态代码 ALSTATUSCODE_CYCLETIMETOOSMALL 似乎未在我生成的从设备代码中使用、因此我不确定 在没有 DC 的情况下适用的 PD 周期时间限制。[/QUOT]我认为最小周期时间为1us。 老实说、如果您能够将 TwinCAT 用作您的主设备、最简单的检查方法就是使用 TwinCAT 中的设置。
此致、
Ben Collier
Ben、
感谢您的答复。 问题2已解决、我可以通过使用您建议的设置通过实验找到限制。 禁用直流后、我开始在网络拓扑和应用中看到超过40微秒的溢出错误。
但是、对于问题1、我仍然有一些困惑。 您说我可以使用具有直流的250us 周期时间、但正如我在原始消息中所说的、我已经尝试使用 TwinCAT 将任务周期时间设置为250us、并将 SYNC0周期时间设置为250us。 当我执行此操作并在 TMS320F28388D 从站设备上运行时、我会收到 AL 状态代码 ALSTATUSCODE_DCSYNC0CYCLETIME、下属没有在超过运行前状态后继续。 宏定义 MIN_PD_CYCLE_TIME 的值似乎表明允许的最小 SYNC0周期时间为500us。
为了绕过此错误、在 TwinCAT 中、我是否需要将 SYNC0周期时间配置为允许的值、例如500us、而任务周期时间为250us? 否则、您建议如何配置 TwinCAT 项目以在启用 DC 的情况下实现250us 任务周期时间?
谢谢!
Blake
Ben、
感谢您的答复。 问题2已解决、我可以通过使用您建议的设置通过实验找到限制。 禁用直流后、我开始在网络拓扑和应用中看到超过40微秒的溢出错误。
但是、对于问题1、我仍然有一些困惑。 您说我可以使用具有直流的250us 周期时间、但正如我在原始消息中所说的、我已经尝试使用 TwinCAT 将任务周期时间设置为250us、并将 SYNC0周期时间设置为250us。 当我执行此操作并在 TMS320F28388D 从站设备上运行时、我会收到 AL 状态代码 ALSTATUSCODE_DCSYNC0CYCLETIME、下属没有在超过运行前状态后继续。 宏定义 MIN_PD_CYCLE_TIME 的值似乎表明允许的最小 SYNC0周期时间为500us。
为了绕过此错误、在 TwinCAT 中、我是否需要将 SYNC0周期时间配置为允许的值、例如500us、而任务周期时间为250us? 否则、您建议如何配置 TwinCAT 项目以在启用 DC 的情况下实现250us 任务周期时间?
谢谢!
Blake
Blake、
为了澄清、我认为任务周期时间应该为250us、但我不确定 SYNC0周期时间。
为了绕过此错误、在 TwinCAT 中、我需要将 SYNC0周期时间配置为允许值(如500us)、而任务周期时间为250us?
我认为这是一个好主意。 请检查您的通信是否使用较高的 SYNC0周期时间、同时将任务周期时间保持在250us。
此致、
Ben Collier