【问题标题】:Codesys Control RTE V3 - Network Adapter configuration for Ethercat real time busCodesys Control RTE V3 - Ethercat 实时总线的网络适配器配置
【发布时间】:2021-11-27 11:22:48
【问题描述】:

我是 Codesys 平台的新手,在尝试将 Windows IPC 上的 RTE 用作目标设备时遇到了一些问题。

我正在使用具有以下运行时版本的 IPC(Windows 7 Embedded) -> CODESYS Control RTE V3 v3.5.17.0

我在笔记本电脑上运行 Codesys 环境(版本也是 v3.5.17.0),通过选择正确的目标 PLC 设备(CODESYS Control RTE V3 x64),我可以毫无问题地连接到 IPC 运行时。

我将“Ethercat Master SoftMotion”设备添加到我的项目中,并分配堆栈将在其中运行的相应 IEC 任务(Bus Cycle Task),并选择堆栈使用的 NIC,而不会出现重大问题。正如文档中所述 -> https://help.codesys.com/webapp/_ecat_tutorial;product=core_EtherCAT_Configuration_Editor;version=4.1.0.0

当我登录并下载项目以便开始扫描网络以查找不同的 Ethercat 从站时,我收到以下消息:

  • [致命错误] 未解决的参考:'SYSETHERNETADAPTERCLOSE'
  • [致命错误] 未解决的参考:'GETNUMBEROFADAPTERS'
  • [致命错误] 未解决的参考:'GETADAPTERINFO'
  • [致命错误] 未解决的参考:“SYSETHERNETADAPTEROPEN”
  • [致命错误] 未解决的参考:“SYSETHERNETETHFRAMESEND”
  • [致命错误] 未解决的参考:'SYSETHERNETETHFRAMERECEIVE'
  • [致命错误] 未解决的参考:“SYSETHERNETFRAMERELEASE”
  • [致命错误] 未解决的参考:'GETIPETHFRAME'
  • [致命错误] 未解决的参考:“SYSETHERNETIPFRAMESEND”
  • [致命错误] 未解决的参考:'SYSETHERNETIPFRAMERECEIVE'

我也得到我的对话框说明:

“下载时出错: 发现 10 个未解决的参考,0 个签名不匹配,0 个版本不匹配

硬件上的设备版本似乎与项目中使用的设备版本不同。尝试升级/降级项目中的设备以匹配硬件的实际版本。

请查看消息视图以了解更多详情”。

此错误消息似乎具有误导性,因为这是一个新安装环境中的新项目,其中 Codesys Development 和运行时都具有完全相同的版本,因此该项目是为正确版本的运行时创建的。


我看了手册,我必须选择合适的驱动程序 -> https://help.codesys.com/webapp/_cds_rtev3_startup_cifx_hil;product=core_codesys_control;version=3.5.17.0

此时是我发现问题的时候:

  • 根据文档,我需要在我所做的 PLC 配置的组件管理器选项卡中添加 CmpHilscherCIFX 组件,然后重新启动 IPC。

  • 稍后,必须通过修改“CODESYSControl.cfg”文件来选择引导加载程序和正确的固件。这也是我在附件中看到的一个步骤,我只是添加了 Ethercat,根据我在“C:\Program Files\CODESYS\CODESYS Control RTE3\”中找到的“_cifX firmware.txt”选择 Ethercat 固件文件HilscherCIFX\固件”:

[CmpHilscherCIFX]
TraceLevel=0xFFFFFFFF
InterruptMode=0
DMAMode=1
Device.0.BootloaderFilePath=$Firmware$\HilscherCIFX\Firmware\NETX100-BSL.bin 
Device.0.Channel.0.FirmwareFile=$Firmware$\HilscherCIFX\Firmware\cifxecm.nxf

[SysFile]
|PlcLogicPrefix=1
PlaceholderFilePath=C:\Program Files\CODESYS\CODESYS Control RTE3, $Firmware$

应用这些更改后,我再次重新启动了 IPC。但是,我仍然收到此未解决的参考错误,我注意到“C:\Program Files\CODESYS\CODESYS Control RTE3\HilscherCIFX\Firmware”中没有任何 Ethercat 固件文件(cifxecm.nxf):


选择在 IPC 上运行 Ethercat 堆栈的 NIC 是 Intel I211,因此理论上支持该芯片组。

这怎么可能?我不确定这是我问题的原因,但它肯定看起来很奇怪。此外,文档似乎与我使用的运行时版本不是最新的,我相信它是最新的。

希望有人提出建议,如果您需要进一步澄清,我会提供更多详细信息。

【问题讨论】:

    标签: plc codesys industrial ethercat


    【解决方案1】:

    看来我是按照文档的错误部分,因为我没有使用 HilscherCIFX 卡。

    解决方案在Available Dynamic Components部分进行了说明。

    基本上我必须:

    • 还原我应用的更改,这些更改在我之前的帖子中进行了说明。
    • 确保在 BIOS 设置中禁用了安全启动(这可以在安装 RTE 运行时完成)。
    • 我必须为英特尔 I211 NIC 安装正确的 Codesys 驱动程序,即文档中所述的“CmpEt1000Drv”。驱动程序位于“C:\Program Files\CODESYS\CODESYS Control RTE3\Cmpet1000MPD”中。就个人而言,从我想从 Windows 设备管理器中用于 Ethercat 的 NIC 上卸载以前的驱动程序并从那里安装新的驱动程序对我来说就足够了。
    • 将 CmpEt1000Drv 组件添加到 RTE 系统配置的组件列表 (Component Manager tab)。
    • 停止然后重新启动 RTE 环境。

    【讨论】:

    • 你是如何在重启 Windows 后自动连接 ethercat slaves 的?
    • 尽管不是 Codesys 方面的专家,但我认为您应该检查 Codesys 运行时是否配置为在您的 Windows 系统启动时开始运行 - 您可以从配置面板执行此操作。此外,必须将应用程序编译并下载到 Codesys 运行时系统。应用程序当然必须具有运行 Codesys Ethercat Master 的 Ethercat 总线任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2023-02-04
    相关资源
    最近更新 更多