<< 点击显示目录 >> 主页 贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > CAN_Lib - CAN Function Blocks and Functions > CANbtreg() |
该功能块为CAN控制器配置特定的位定时寄存器值。
只支持SG4目标系统的Automation Runtime A2.87及以后版本。当在SG4项目中使用早于A2.87的AR版本集成该功能块时,会返回状态8815。
该功能块的执行时间与硬件有关。由于这个原因,建议只在周期时间长的循环程序中调用它。
除了标准波特率外,还可以设置其他任何波特率。在 CANopen() 之后,FBK必须被调用一次 ,以登记所设置的值。在配置过程中,CAN控制器被停止,初始化,然后重新启动。请注意,即使在目标系统被初始化时,CAN控制器也会被INA通信以标准的波特率初始化(也见 CANopen())。在某些情况下,这可能会导致初始化过程中出现总线故障。
INA通信可以通过系统软件的属性来禁用CAN。如果在Automation Studio的系统配置中没有定义接口,则默认定义了两个串行接口和一个CAN接口。如果在系统配置中定义了一个或多个接口,那么这个默认配置是无效的。
该功能块只能有条件地 用于冗余。
适用的限制在下面的章节中描述。
其他信息可以在 "冗余 " 部分找到 。
输入/输出 |
参数 |
数据类型 |
说明 |
|||||||||
IN |
enable |
BOOL |
该功能块仅在 enable 为<>0时执行 。 |
|||||||||
IN |
us_id |
UDINT |
来自 CANopen()的用户标识 |
|||||||||
IN |
treg0 |
UDINT |
位计时寄存器0。
|
|||||||||
IN |
treg1 |
UDINT |
Bit Timing Register 1:
|
|||||||||
OUT |
status |
UINT |
错误编号 (0=无错误)。 |
CANbtreg(enable,us_id,treg0,treg1,status)
如果CAN功能块在C函数中被本地调用(并且FBK结构在该函数中被本地声明,而不是用_LOCAL/_GLOBAL),那么静态FBK存储器必须被初始化为0。