节点开启后,驱动器还是处于闭锁状态,需要给从机对象字典6040的地址发送数据0x0006,使其切换到待机状态,待机状态下返回状态字变为0x0021
1.2.1 pdo方式:
canid:0x201, data:0x06 00(节点1的第一组RxPDO,对应内容为状态字设定,数据内容为 0x06 00的两个字节标准帧)
1.2.2 sdo方式
canid:0x601,data:0x2b 40 60 00 06 00 00 00
并且将收到从机发回的canid为581的回复。
initTimer(); //定时器初始化
CANObject--canHandle = CAN1;
canInit(CAN1,CAN_BAUD_1M); //can硬件初始化
CANOpenMasterInit(CANObject);//加载配置文件
setNodeId (CANObject, 1);//设置节点id1
setState(CANObject,Initialisation);//初始化
setState(CANObject,Pre_operational);//预操作
setState(CANObject,Operational);//操作模式
setNodeId (CANObject, 2);//设置节点id2
setState(CANObject,Initialisation);//初始化
setState(CANObject,Pre_operational);//预操
setState(CANObject,Operational);//操作模式
setNodeId (CANObject, 3);//设置节点id3
setState(CANObject,Initialisation);//初始化
setState(CANObject,Pre_operational);//预操作
setState(CANObject,Operational);//操作模式
PDO0索引(控制) 子索引
index 0x1800
index 0x1800 subindex 00h 入口数量 0x05 子索引的条数
index 0x1800 subindex 01h 发送PDO标识符 0x181=0x180+NodeID=功能码+节点号
index 0x1800 subindex 02h 传输类型 0xFF 周期发送
index 0x1800 subindex 03h 禁止事件 0x00 两次发送之间留一定间隙
index 0x1800 subindex 04h 事件定时器 0x03E0 单位毫秒
PDO0索引(映射) 子索引
index 0x1A00
index 0x1A00 subindex 00h 入口数量 0x02 子索引的条数
index 0x1A00 subindex 01h 映射 0x7100 01 10 从0x7100索引的01子索引取16bits的数据
index 0x1A00 subindex 02h 映射 0x7100 02 08 从0x7100索引的02子索引取08bits的数据
映射内容
index 0x7100
index 0x7100 subindex 00h 入口数量 0x02
index 0x7100 subindex 01h 0x2DFF
index 0x7100 subindex 02h 0xC3
组成CAN报文 0x181,2DFFC3
//发送sdo CAN帧内容:601,22 60 60 00 03 00 00 00
//601=600+1发送给1好节点
//0x22为写入
//0x2F写入1个
//0x2B写入2个
//0x27写入三个
//0x23写入4个字节
//0x40不计长度读取
//0x60正常
//0x80异常 sdo中止代码(CIA301协议) emcy紧急报文 0x81 0x82 ...
//6060=0x6060索引
//00 子索引
//03 速度模式
unsigned long abortCode=0;
char sendData[4]={3,0,0,0};//数据内容
writeNetworkDict(SmasterObjdict_Data,0x01,0x6060,0x00,4,uint8,&sendData,0);
while(getwriteResultNetworkDict(&masterObjdict_Data,0x01,&abortCode)==SDO_UPLOAD_IN_PROGRESS)
{
;
}//正在发送SDO 等待发送完成 01:1号节点
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。