Skip to main content

添加动态组件

CODESYS Control Win 通过配置文件(CODESYSControl.cfg)。

安装路径中的cfg文件包含对实际配置文件的引用 CODESYSControl.cfg 在工作目录中:

[SysFile]
Windows.WorkingDirectory=C:\ProgramData\CODESYS\CODESYSControlWinV3x64\801BFF8C

在工作目录的 cfg 文件中,您可以输入所需的附加组件(驱动程序)。然后这些总是在 CODESYS Control Win 重新启动。

您在该部分中输入一个新组件 [ComponentManager].重要的是在所有组件条目的数量中没有丢失的条目。

[ComponentManager]
...
Component.6=SysCpuBreakpoints
Component.7=<Neue Komponente>
...

请参阅下面您可以添加哪些组件。

支持可选的现场总线适配器

CmpHilscherCIFX 司机

该组件支持 Hilscher 的 NetX PC 卡。为此,您只需在配置文件中输入组件“CmpHilscherCIFX” CODESYS Control Win 如下:

[ComponentManager]
Component.<n>=CmpHilscherCIFX

然后安装适配器后,您只需要安装驱动程序 SysDrv3S.sys 启动操作系统时。这位于 CODESYS 安装目录在 $\GatewayPLC\Driver 对于 32 位 Windows 操作系统,或在 $\GatewayPLC\Driver\x64 对于 64 位 Windows 操作系统。

注意:Hilscher 配置器 SyCon 或 SYCON.net 和 Hilscher 驱动程序不得并行运行 CODESYS.

CmpSoftingProfibus 司机

如果您想使用 Softing Industrial Automation GmbH 的 PROFIBUS 主站 USB 接口适配器,则需要此组件 CODESYS 在 IEC 应用程序中。它表示运行时系统和 Softing 的专有驱动程序之间的接口,我们的驱动程序库使用它 IoDrvSoftingPROFIusb.在 CODESYS,当您添加设备时,此库会自动集成到库管理器中 PROFIusb 在设备树中。因此,您可以使用和配置 CODESYS Windows PC 上的运行系统作为 PROFIBUS 主站。有关更多信息,请参阅: 为 PROFIBUS 添加 USB 接口

CmpBACnet 司机

当您想使用 BACnet IP 链接时需要该组件 CODESYS Control Win.配置文件中需要以下条目:

[ComponentManager]
Component.<n>=CmpBACnet

CmpPCANBasicDrv 司机

该组件通过PCAN基础API实现Peak CAN硬件的链接。有关安装说明,请参阅联机帮助。不需要配置文件条目。

CmpCAACanL2 司机

该组件提供了一个独立于硬件的接口,用于发送和接收 CAN 消息。可选配置文件条目:

[CmpCAACanL2]
;If setting PersistentBaudrate is enabled (0: disabled; 1: enabled)
;the baudrate will be stored into Net.X.DefaultBaudrate (where X equals NetId) when opening the driver.
PersistentBaudrate=1
;Default baudrate for CAN network 0. This baudrate will be used when the network is opened (e.g from CmpBlkDrvCan or CANopen) with the baudrate set to 0.
Net.0.DefaultBaudrate=1000

在配置文件中,可以为每个 CAN 网络(物理 CAN 连接)保存一个标准波特率。 CL2 功能时始终使用此标准波特率 DriverOpenH 以波特率调用 0 驱动程序还没有打开。如果缺少此配置文件条目,则在引用的情况下会发出错误,因为波特率未知。

该条目在与功能连接时特别有用 PersistenBaudrate 默认情况下禁用。如果 PersistentBaudrate=1, 然后 CODESYS 使用函数 CmpSettings 以每次调用的特定波特率将此波特率写入配置文件 DriverOpenH.这具有的效果,例如,条目 Net.0.DefaultBaudrate 被改变。这在控制器通过 CAN 块驱动程序进行通信时特别有用。如果波特率是 0 (0.Baud rate = 0) 在 CmpBlkDrvCanServer,则用户可以通过在工程中更改波特率、下载应用程序、重启控制器等方式来更改块驱动通信的波特率。

CmpCAASdoClient 司机

该组件实现 CANopen SDO 客户端协议。可选配置条目:

[CmpCAASdoClient]
MaxSegmentsPerCycle=0 ; for block download: maximum of sent segments per cycle; 0 means infinity

您可以在此处减少块传输中每个周期发送的 CAN 消息数量。当控制器在同一 ID 的一系列许多 CAN 帧出现问题时,这是必要的。但是,这也限制了性能,导致块传输需要更多时间。

CmpCAASDO服务器 司机

该组件实现 CANopen SDO 服务器协议。可选配置文件条目:

[CmpCAASdoClient]
MaxSegmentsPerCycle=0 ; for block download: maximum of sent segments per cycle; 0 means infinity

此处可以减少块传输中每个周期发送的 CAN 消息数量。

CmpEL6751CanDrv 司机

该组件实现了 Beckhoff EL6751 CAN/EtherCAT 网关终端的链接。由于组件实现了 CAN 微型驱动程序,因此您可以使用 CANL2 组件和所有 CODESYS 基于 CAN 的堆栈。不需要配置文件条目。

可选的通讯渠道

CmpBlkDrvCanClient 司机

该组件实现了一个 CODESYS 用于通信的块驱动程序 CODESYS 网关与 CODESYS 控制器通过 CAN(服务通信)。通过 CANopen SDO 协议(“分段”或“块传输”)建立通信。组件 CmpBlkDrvCanClient 网关端以及 Peak 的 CAN 硬件(例如,PCAN USB 加密狗)都需要。

网关配置文件中的一个典型配置如下:

[ComponentManager]
Component.1=CmpBlkDrvCANClient
Component.2=CmpCAASdoClient
Component.3=CmpCAACanL2
Component.4=CmpPCANBasicDrv

[CmpBlkDrvCanClient]
CycleTimeMs=1
NumChannels=1               ; Number of block driver instances
0.Name=BlkDrvCanClient
0.NetId=0                   ; CANbus Network Id (0..n)
0.Baudrate=1000             ; CANbus Baudrate in kbit/s
0.NodeId=1                  ; unique NodeId of Gateway
0.BlockTransfer=1           ; Use block transfer for more performance

[CmpCAASdoClient]
MaxSegmentsPerCycle=0       ; for block download: maximum of sent segments per cycle; 0 means infinity
[CmpBlkDrvCanClient]
CycleTimeMs=1
NumChannels=1               ; Number of block driver instances
0.Name=BlkDrvCanClient
0.NetId=0                   ; CANbus Network Id (0..n)
0.Baudrate=1000             ; CANbus Baudrate in kbit/s
0.NodeId=1                  ; unique NodeId of Gateway
0.BlockTransfer=1           ; Use block transfer for more performance

[CmpCAASdoClient]
MaxSegmentsPerCycle=0       ; for block download: maximum of sent segments per cycle; 0 means infinity

CmpBlkDrvCanServer 司机

该组件实现了一个 CODESYS 用于通信的块驱动程序 CODESYS 网关与 CODESYS 控制器通过 CAN(服务通信)。通过 CANopen SDO 协议(“分段”或“块传输”)建立通信。组件 CmpBlkDrvCanServer 需要在控制器端以及相应的 CAN 微型驱动程序。控制器配置文件中的典型配置如下:

[Components]
Component.1=CmpAnyCANMiniDriverComponent ; TODO: Replace component name by your CAN Mini driver component
Component.2=CmpBlkDrvCanServer
[Components]
Component.1=CmpAnyCANMiniDriverComponent ; TODO: Replace component name by your CAN Mini driver component
Component.2=CmpBlkDrvCanServer

[CmpCAACanL2]
;If setting PersistentBaudrate is enabled (0: disabled; 1: enabled)
;the baudrate will be stored into Net.X.DefaultBaudrate (where X equals NetId)
;when opening the driver.
PersistentBaudrate=1
;Default baudrate for CAN network 0. This baudrate will be used when the network 
;is opened (e.g from CmpBlkDrvCan or CANopen) with the baudrate set to 0.
Net.0.DefaultBaudrate=1000

[CmpBlkDrvCanServer]
CycleTimeMs=1
0.NetId=0
0.Baudrate=0 ; 0 means: use setting from CmpCAACanL2 section
0.NodeId=10

[CmpCAASdoServer]
MaxSegmentsPerCycle=0 ;for block upload: maximum of sent segments per cycle
;0 means infinity