摘要:当时的通讯方法林林总总,通讯协议也是形形色色,怎么让通讯愈加安稳牢靠,这是许多工程师的扎手问题。本文将运用世界规范的通讯规范说明其通讯协议的界说方法。
PDO归于进程数据用来传输实时数据,即单向传输,无需接纳节点回应CAN报文来承认,从通讯术语上来说是归于“出产消费”模型PDO,如图1所示,就像食物出售货台,出产者摆出“食物”,但只需“需求”的顾客才会来买,没有指向性。
数据长度被束缚为1~8字节。最多只需1帧就能够把一条信息或许一个变量传递完毕。
PDO通讯比较灵敏,广义上只需契合PDO范围内的一切CANID都能够作为节点本身的TPDO或许RPDO运用,也称为COB-ID,不受功用码和Node-ID束缚,如图2所示。
而在PDO预界说中,人为规矩了TPDO和RPDO,规矩了Node-ID在PDO中的方位,规矩了PDO的编号,如表1所示。
PDO分为TPDO(发送PDO)和(接纳RPDO),发送和接纳是以CANopen节点本身为参阅(假如CAN主站或许其他从站就相反)。TPDO和RPDO别离有4个数据目标,每种数据目标便是1条CAN报文封装,这些都是数据收发的容器,就像图3所示,生果箩筐为运用者准备好,就看运用者在里面放什么生果了。
当然,假如某个节点需求传递的资源特别多,则有呈现例如TPDO5之类的数据目标,而它们的CAN-ID界说就需求打破预界说的规矩,比方咱们能够界说Node-ID为1的节点中TPDO5是182h,这儿的PDO的COB-ID中的低7位不再是表明Node-ID。其实一切的PDO的COB-ID与Node-ID无必定规矩上的联络。
PDO的两种传输方法:同步传输和异步传输。如图4所示,1、2为异步传输,3、4为同步传输。
其触发方法可有两种,第一种是由设备子协议中规矩的目标特定事情来触发(例如,守时传输,数据改动传输等)。第二种是经过发送与PDO的COB-ID相同的长途帧来触发PDO的发送。现在运用中的异步传输根本都选用第一种。
同步传输便是经过同步报文让一切节点能在同一时刻进行上传数据或许履行下达的运用指令,能够有用防止异步传输导致的运用逻辑紊乱和总线负载不平衡的问题。一般发送同步报文的节点是NMT主机。
同步传输又可分为周期传输(循环)和非周期传输(无循环)。周期传输则是经过接纳同步目标(SYNC)来完成,能够设置1~240个同步目标触发。非周期传输是由长途帧预触发或许由设备子协议中规矩的目标特定事情预触发传送。
PDO通讯参数,界说了该设备所运用的COB-ID、传输类型、守时周期等。RPDO通讯参数坐落目标字典索引的1400hto15FFh,TPDO通讯参数坐落目标字典索引的1800hto19FFh。每条索引代表一个PDO的通讯参数集,其间的子索引别离指向详细的各种参数。如表2所示。
■发送类型:即这个PDO发送或许接纳的传输方式,一般运用循环同步和异步制造商特定事情较多;
■Inhibittime出产制止束缚时刻(1/10ms):束缚PDO发送的最小距离,防止导致总线负载剧
■烈添加,比方数字量输入过快,导致状况改动发送的TPDO频频发送,总线负载加大,所以需求一个束缚时刻来进行“滤波”,这个时刻单位为0.1ms;
■Eventtimer事情守时器触发的时刻(单位ms):守时发送的PDO,它的守时时刻,假如这个时刻为0,则这个PDO为事情改动发送。
■SYNCstartvalue同步起始值:同步传输的PDO,收到诺干个同步包后,才进行发送,这个同步起始值便是同步包数量。比方设置为2,即收到2个同步包后才进行发送。
PDO映射参数是初学者学习CANopen时的一个难点,它包含了一个目标字典中的目标列表,这些目标映射到相应的PDO,其间包含数据的长度(单位,位),关于出产者和顾客都必须要知道这个映射参数,才能够正确的解说PDO内容。便是将通讯参数、运用数据和详细CAN报文中数据联络起来。
为了愈加直观地体现映射,表3模仿TPDO1,将参数、运用数据、CAN报文数据联合起来展现,不同的映射选用不同的色彩。
请读者阅览3遍以上,假如仍是无法了解。请翻开广州致远电子的CANopen主站卡管理软件CANManagerforCANopen,导入XGate-COP10模块从站协议栈模块的EDS文件,来实在感受一下。点击装备从站,“高档”中进行感性认识。