CANOpen生命守护机制

19 篇文章 3 订阅 ¥299.90 ¥399.90
CANOpen协议中包含生命保护和心跳机制来监测节点在线状态。心跳机制由从站定期向主站发送状态报告,主站通过倒计时判断是否掉线。生命保护机制则是主站设置从站生命值,定时询问并递减,生命值归零则标记为掉线。
摘要由CSDN通过智能技术生成

CanOpen提供两种监视节点在线的机制,一种叫做生命保护机制,一种叫心跳机制。两种机制都是基于NMT报文进行实现的。


心跳机制:从站每隔一段时间上报一次自己的当前状态。主站对每个从站进行倒计时,一旦在规定时间内从站没有上报状态,则认为其掉线。

/* 初始化心跳报文:主站为所有使用心跳包的从站配置入口,
   从站没有在规定时间内上报心跳包,主站将从站状态置为掉线 */
void heartbeatInit(CO_Data *d)
{
	UNS8 index;

	/*  注册字典索引号0x1017和子索引号0x00的回调函数为OnHeartbeatProducerUpdate */
  	RegisterSetODentryCallBack(d, 0x1017, 0x00, &OnHeartbeatProducerUpdate);

	/* 同步标志位置0 */
  	d->toggle = 0;

	/* 遍历消费者(主站)的所有心跳包入口(从站) */
  	for(index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++)
  	{
		/* 从消费者(主站)心跳包入口(从站)中取出定时时间 */
		TIMEVAL time = (UNS16)((d->ConsumerHeartbeatEntries[index]) & (UNS32)0x0000FFFF);
		/* 注册一个定
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值