CANTime()

<< 点击显示目录 >>

主页  贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > CAN_Lib - CAN Function Blocks and Functions >

CANTime()

CANTime()函数块用于读取一个CAN对象的时间戳。

请注意。

这个函数块只在SG3目标的发送方向上起作用。

指定的can_id必须首先在目标系统上作为一个对象存在(COB必须存在)。这个对象在调用其他CAN_LIB FBKs(即 CANwriteCANread等)时被创建 。

SystemTick参数定义了一个以系统时钟为单位的自由运行的计数器(10ms对应于SG3/SG4目标系统的SG_TickCount),在CAN2000驱动(SG3)或设备任务(即SG4目标系统的SS1.IF2)中成功发送或接收一个CAN消息后输入。SystemStamp参数描述了一个硬件时间戳。

 

这个功能块只能有条件地 用于冗余

适用的限制在以下章节中描述。

 

手柄必须被初始化

不活动的CPU上的特殊错误代码

隐藏指针的使用

 

其他信息可以在 "冗余 " 部分找到

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

该功能块仅在 enable 为<>0时执行 。

IN

us_ident

UDINT

来自 CANopen() / CANMulOpen()的用户识别码

IN

can_id

UDINT

CAN标识符

IN

SystemTick

UDINT

(given as a pointer)

指向SystemTick计数器的一个UDINT的指针

以系统时钟为单位的自由运行计数器(10ms对应SG3/SG4目标上的SG_TickCount)。

数值范围。0 - 4294967295 (相当于42,949,672秒)

IN

SystemStamp

UDINT

(given as a pointer)

指向SystemStamp的一个UDINT的指针

CAN对象的可选时间戳。它在适当的硬件上代表一个以500ns为单位的自由运行的计数器。

值范围为0-65535(相当于32.7675毫秒)。

OUT

status

UINT

错误编号 (0=无错误)。

调用语法(自动化基础)

CANTime (enable, us_ident, can_id, adr (SystemTick), adr (SystemStamp), status)

注意事项

如果CAN功能块在C函数中被本地调用(并且FBK结构在此函数中被本地声明,而不是用_LOCAL/_GLOBAL),那么静态FBK内存必须被初始化为0。

 

这个FBK不 被CANMulOpen FBK所支持  。

 

例子

Automation Basic

ANSI C

Structured Text