canOpen协议读字典、写字典、改变节点状态、请求节点状态-从机.zip 在STM32F4平台上移植canfestival实现canOpen协议,利用主从机实现canOpen协议读字典、写字典、改变节点状态、请求节点状态 一、主机请求节点状态 d:CO_Data 3、调用方式 01h为启动命令(让节点进入操作状态); 二、主机改变节点状态 d:CO_Data 3、调用方式 01h为启动命令(让节点进入操作状态); 三、主机写从机字典(修改从机通信) d:CO_Data 3、调用方式 四、主机读从机字典(读取从机参数) d:CO_Data 3、调用方式
1、函数:UNS8 masterRequestNodeState(CO_Data* d, UNS8 nodeId)
2、参数
nodeId:节点IDmasterRequestNodeState(&master_objdict_Data,0x01);
4、说明节点状态存储在struct_CO_Data
结构体的e_nodeState NMTable[NMT_MAX_NODE_ID];
这个数组当中,主要参数为:
02h为停止命令(让节点进入停止状态);
80h为进入预操作状态(让节点进入预操作状态);
81h为复位节点应用层(让节点的应用恢复初始状态,比如列车门都恢复打开状态);
82h为复位节点通讯(让节点的 CAN 和 CANopen 通讯重新初始化,一般用于总线收到
干扰,导致节点总线错误被动,或者总线关闭时)。
1、函数:UNS8 masterSendNMTstateChange(CO_Data* d, UNS8 nodeId, UNS8 cs)
2、参数
nodeId:节点ID
cs:节点状态masterSendNMTstateChange(&master_objdict_Data,0x01,NMT_Start_Node);
4、cs参数取值为:
02h为停止命令(让节点进入停止状态);
80h为进入预操作状态(让节点进入预操作状态);
81h为复位节点应用层(让节点的应用恢复初始状态,比如列车门都恢复打开状态);
82h为复位节点通讯(让节点的 CAN 和 CANopen 通讯重新初始化,一般用于总线收到
干扰,导致节点总线错误被动,或者总线关闭时)。
1、函数:UNS8 writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS32 count, UNS8 dataType, void *data, UNS8 useBlockMode)
2、参数
nodeId:节点ID
index:索引
subIndex:子索引
count:写入字节数
dataType:数据类型
data:数据
useBlockMode:返回错误代码size=2; sendData[0]=0xd0; sendData[1]=0x07; writeNetworkDict(&master_objdict_Data,0x01,0x1017,0,size,uint16,&sendData,0); //写从节点0x01的字典索引为0x1017的内容 while(getWriteResultNetworkDict(&master_objdict_Data,0x01,&abortCode) == SDO_UPLOAD_IN_PROGRESS) //等待写入完成 { } printf("data:%d size:%d abortCode:%drn",data,size,abortCode);
1、函数:readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, UNS8 useBlockMode)
2、参数
nodeId:节点ID
index:索引
subIndex:子索引
dataType:数据类型
useBlockMode:返回错误代码u16 data; //存放读取的数据 u32 size; //读取的字节 u32 abortCode; //返回错误代码 readNetworkDict(&master_objdict_Data,0x01,0x1017,0,sizeof(UNS16),0); //读取从机1字典索引为0x1017的内容 while(getReadResultNetworkDict(&master_objdict_Data,0x01,&data,&size,&abortCode) ==SDO_UPLOAD_IN_PROGRESS) //等待读取完成 { } printf("data:%d size:%d abortCode:%drn",data,size,abortCode);
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算