主题中讨论的其他器件: TMDSIDK437X
工具/软件:TI-RTOS
你好。
我想连接 IO-Link 器件和 TIDA-010016。
我在 Processor SDK RTOS 中找到了 IO-Link 主站演示。
您能否告诉我如何更改将连接到 TIDA-010016的 IO-Link 器件?
此致、
U-SK
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.
工具/软件:TI-RTOS
你好。
我想连接 IO-Link 器件和 TIDA-010016。
我在 Processor SDK RTOS 中找到了 IO-Link 主站演示。
您能否告诉我如何更改将连接到 TIDA-010016的 IO-Link 器件?
此致、
U-SK
您好、Steffen Graf、
感谢你的答复。
我想 构建一个连接到每个器件的通用 IO-Link 主器件。
首先,我想连接 JS-IOL-T10-EVB (JSL 技术)。
因此、我想使用 TIDA-010016 、例如 TMG IO-Link 器件工具 v4。
http://jslt.co.jp/products/342
此致、
U-SK
您好!
是的、这是可能的、可以正常工作、但您需要编写自己的工具、而不是 TMG 器件工具。
为此,我将首先修改 IOLink_autosenTask()函数,将自定义命令传递到 IO-Link 堆栈,并删除现有的器件处理。 此外、您还必须添加一个通过 USB UART 或以太网处理 PC 通信的任务。
您使用哪种 IO-Link 主站堆栈?
此致、
Steffen Graf
您好、Steffen Graf、
感谢你的答复。
TMG 器件工具软件是否可移植到 TMDSIDK437x?
如果没有、我首先要在具有 JS-IOL-T10-EVB 的 Processor SDK RTOS 中运行 IO-Link 主站示例演示、而不是在自动学习传感器中运行。
在这种情况下、我应该获取 IO-Link 主站完整堆栈吗?
或者、是否可以在处理器 SDK RTOS 中使用 IO-Link 演示堆栈运行它?
(我的理解是用于演示的 IO-Link 主站协议栈包含在处理器 SDK RTOS 中。)
此致、
U-SK
您好!
TMG 器件工具不可用。
您可以使用传感器编译和运行 IO-Link 主站示例、这应该是连接状态、并切换为运行状态。
要编译演示、您需要来自 IQ2的 IO-Link 主站协议栈、请联系 IQ2 (https://www.iq2-development.de/)进行编译。
该 SDK 中不包含 IO-Link 主站协议栈。
此致、
Steffen Graf
您好!
我们使用了 V1_1_2_2、您可以告诉 IQ2您要评估 TIDA-010016、然后您将获得正确的版本。 它可能适用于较新版本、但未进行测试。 您有 TIDA-010016电路板吗?
PDK 中包含一个示例工程、如何编译该工程编写在这里: http://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_00_00_07/rtos/index_device_drv.html#iolink (编译 IOLINK 示例)。 如果您没有安装"make"、则可以使用 CCS 附带的"gmake"。
此致、
Steffen Graf
您好、Steffen Graf、
感谢你的答复。
我已获得 IQstack v1_1_2_2。
我有 TIDA-010016板。
我生成 了 IOLINK_Stack_idkAM437x_a9hostTestApp_release.xa9fg、并在 URL 后重新填充。
之后、我创建了目标配置文件并将 IOLINK_Stack_idkAM437x_a9hostTestApp_release.xa9fg 加载到 AM437x IDK 并运行。
然后、Teraterm 中仅显示以下内容。
(我没有自动连接的传感器、因此我没有连接任何设备。)
端口0的状态更改为0
端口1的状态更改为0
端口2的状态更改为0
端口3的状态更改为0
端口4的状态更改为0
端口5的状态更改为0
端口6的状态更改为0
端口7的状态更改为0
它是否正常工作?
您能否为我提供有关如何修改源代码以连接 JS-IOL-T10-EVB 的建议?
顺便说一下、我有一个用于 JS-IOL-T10-EVB 的 IODD 文件。
此致、
U-SK
您好!
到目前为止、这看起来非常好、因为这是在未连接任何器件的情况下的预期输出。
当您连接传感器时、即使它不是 Autosen 器件、端口状态也应更改。
为了进行修改、我将开始在 iLink_autosenTask.c 中修改 IOLink_autosenTask、在这里执行所有自动指定的处理。
您可以设置 define IOLINK_DEBUG 以获得更多输出、尤其是在连接传感器时。
此致、
Steffen Graf
您好、Steffen Graf、
感谢你的答复。
当我连接 JS-IOL-T10-EVB 并运行演示时、端口状态和显示未更改。
首先、我应该在哪里检查以确认固件是否正常工作?
IOLINK_Stack_idkAM437x_a9hostTestApp_release.xa9fg 不是 CCS 工程、因此仅用于调试 printf 调试的方法?
如果您找到了如何为 其他 IO-Link 器件修改 IOLink_autosenTask、请告诉我。
此致、
U-SK
您好、Steffen Graf、
感谢你的答复。
我在 M8连接器处测量了每个 CQ 信号、如下所示。
测量结果如下。
每个结果的名称都是零件号。
e2e.ti.com/.../Measured_5F00_Results.pdf
它是否正常工作?
您的固件结果如何?
我已将所有端口连接到 JS-IOL-T10-EVB、但 Tera Term 显示未更改。
此致、
U-SK
您好!
如果 IO-Link 器件 JS-IOL-T10-EVB 未连接、则 J11 - J14看起来正常。 否则、应该可以看到响应。 您在这里看到的是长度为80us 的唤醒脉冲、后跟与 COM3、COM2和 COM1中的器件通信的序列。
其他信号受到干扰、您从哪里获取设置? 是修改的 AM437x IDK 或特殊的 IO-Link 版本、某些导线应在底部可见。
此致、
Steffen Graf
您好!
好的、为了使其正常运行、需要进行修改。 您是否自行构建了 TIDA-010016电路板并使用了标准 AM437x EVM? 这很好、因此我们提供了必要的数据、但知道这一点会更容易提供帮助。
对于该软件、我无法为您提供分步指南、因为我不知道您的具体要求。 基本上、您必须根据需要修改完整文件。 最简单的方法是将所有 Autosen 相关代码替换为器件中的某个代码。
例如、从开头开始:
静态 uint32_t IOLink_autosenGetDevID (uint8_t *产品名称) { uint32_t DevID; if (ncstrmp((const char *) ProdName、 IOLINK_AUTOSEN_PROD_NAME_AO001、 IOLINK_AUTOSEN_PROD_NAME_LEN)= 0) { DevID = IOLINK_AUTOSEN_DEVICE_AO001; } 否则,如果(strncmp((const char *)ProdName, IOLINK_AUTOSEN_PROD_NAME_AD003、 IOLINK_AUTOSEN_PROD_NAME_LEN)= 0) { DevID = IOLINK_AUTOSEN_DEVICE_AD003; } 其他 { DevID = IOLINK_AUTOSEN_DEVICE_NONE; } 返回(DevID); }
静态 uint32_t IOLink_autosenGetDevID (uint8_t *产品名称)
{
uint32_t DevID;
if (ncstrmp((const char *) ProdName、
"您的产品名称"、
sizeof ("您的产品名称"))=0)
{
DevID = IOLINK_JS_IOL_T10_EVB;
}
其他
{
DevID = IOLINK_AUTOSEN_DEVICE_NONE;
}
返回(DevID);
}