0

我对 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 开发和运行时都具有完全相同的版本,因此该项目是为正确版本的运行时创建的。


我看了一下手册,我必须选择正确的驱动程序-> 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,因此理论上支持 Chipset。

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

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

4

1 回答 1

1

似乎我遵循了文档的错误部分,因为我没有使用 HilscherCIFX 卡。

解决方案在可用动态组件部分中进行了说明。

基本上我必须:

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