示例:CAN 总线
产品: CODESYS 能
描述
这 CANBusAPI.library
库让您轻松使用 CANbus 功能。该库针对 ST 中的面向对象编程和 CFC 等图形编程进行了优化。该库基于 CAN Bus Low Level
系统库。
通过该库,您可以轻松使用CANbus功能。它基于 CANbus 系统库。与 CANBusAPI.library
库,提供了一个示例应用程序。该应用程序包含两个具有不同实现方式的程序(ST 中的面向对象和 CFC 中的图形化),它们展示了如何使用该库。
附加信息
这 CANBusAPIExample.project
示例项目包含两种实现:一种在 ST 中,一种在 CFC 中。两者都以不同的方式实现特定 CAN 报文的接收和重新发送。
在任务配置中,添加两个程序之一的调用(CFC_PRG
, ST_PRG
)并将应用程序下载到控制器。启动应用程序。现在,当您生成具有适当 ID 的 CAN 电报时(例如, 0x500
)从外部设备,该报文将被处理并使用更改后的 ID 发送。
ST 中的示例
该程序接收所有传入消息并使用 CAN-ID +1 回显它们。
MsgProcessor_EchoST
:该功能块实现了 CAN.IMessageProcessor
界面。这 ProcessMessage
方法已经实施。在此方法中,接收到的报文的 CAN ID 加 1 并写回 CAN 驱动程序。
ST_PRG
:程序使用以下命令配置 CAN 驱动程序 DEVICE_CONFIG
结构并生成一个实例 MsgProcessor_EchoST
和 MaskReceiver
。 MaskReceiver
应该只生成一次而不是循环生成;否则一个新的 MaskReceiver
每次调用都会生成。这 MaskReceiver
配置为可以用它接收所有消息。然后所有消息都会自动传递到 ProcessMessage
的函数 MessageProcessor
。
CFC 中的示例
该程序接收 CAN ID 范围内的所有消息 16#500
到 16#550
并用 CAN-ID+1 回显它们。
MsgProcessor_EchoST
:实施 CAN.IMesageProcessor
界面。这 ProcessMessage
方法已经实施。在此方法中,接收到的报文的 CAN ID 加 1 并写回 CAN 驱动程序。
CFC_PRG
:程序使用以下命令配置 CAN 驱动程序 DEVICE_CONFIG
结构并生成一个实例 MsgProcessor_EchoST
和 AreaReceiver
。这 AreaReceiver
配置为接收 CAN ID 范围内的所有消息 16#500
到 16#550
。收到的消息会自动传递到 ProcessMessage
的函数 MessageProcessor
。此外,还可以使用 CANBusDiagnosis
用于监视 CAN 驱动器状态的功能块。
有关功能块的更多信息,请参阅包中包含的 PDF 文件。
系统要求和限制
编程系统 | CODESYS Development System (版本3.5.6.0或更高版本) |
运行时系统 | CODESYS Control Win (版本3.5.6.0) |
附加组件 | - |
注意
下载 项目