主机部分(Master):
从机PDO发送发送或者接收需要SYNC信号,也就是从机接收到一个或者多个SYNC信号后发送一个PDO,也可以主机明确给出请求信号。
SYNC同步信号产生设置:
1、写0x40000080到index 0x1005, subindex 0位置(SYNC COB ID)。
2、设置同步信号周期,在index 0x1006, subindex 0位置写入周期值(以us为单位)。
3、启动时钟定时器(StartTimerLoop(),此函数中启动定时器(单片机)或者创建定时器线程(PC),定时时间到调用TimeDispatch()完成定时任务)。
注:若需要停止产生SYNC信号,可在0x1005-0x00位置写0。
主机接收设置:
主机需要将自己的OD的RPDO(如0x1400-0x01即index 0x1400, subindex 0x01)的COB-ID的值改成从机的TPDO(0x1800-0x01)的一样的值,即建立一一对应的关系。同时其PDO MAPPING也是一一对应的,即Master的RPDO和Slave的TPDO的MAPPING中的变量是一一对应的。
主机发送设置:
主机需要将自己的OD的TPDO(如0x1800-0x01)的COB-ID的值改成从机的RPDO(0x1800-0x01)的一样的值,即建立一一对应的关系。同时其PDO MAPPING也是一一对应的,即Master的TPDO和Slave的RPDO的MAPPING中的变量是一一对应的。
在PDO MAPPING索引项中,从第一至后面的子索引项,那个32位的值高16位为对应变量的在此OD中的索引值,中间8位为其索引项的子索引值,低8位为此变量的位数。注:一个PDO Mapping的所有变量的位数总和不得超过64位。
主机必须处于Operational状态才能发送或者接收处理PDO帧。
主机post_sync()回调函数调用