CANopen学习——PDO】的更多相关文章

查找资料时,发现一个很好的博客,博主剖析的通俗易懂 http://www.cnblogs.com/winshton/p/4897556.html   PDO定义: 过程数据对象,用来传输实时数据.因为CAN报文是8Byte数据位,所以最多传输64bite的数据. PDO的内容: PDO消息的内容是预定义的,或者在网络启动时配置的. 通信参数: 通信参数描述PDO的特性. PDO的的传输方式: 事件触发: 当数据变化时,立刻发送出去,不需要等待主机轮训才发送,所以实时性好,而且避免重复数据占用大量…
对于初学者,相对于其他总线的资料来说,在国内CANOpen的资料并不多.而且并不是所有资料都适合初学者看的.这里给出一些建议,对CANOpen感兴趣的,可以参考一下学习的顺序. 前提:需要对CAN总线有所了解,可以看CAN2.0总线的资料.当然,对计算机系统.单片机以及编程也需要有一定的基础. 第一步:CANOpen Standard 301,这个是一切的基础,最然并不一定马上就要对所有的细节了如指掌,但至少对CANOpen总线以及各种传输控制方式以及其作用需要有一定的了解(比如:NMT.SDO…
在发送和接收之间必须相互协调和同步,为此,CANopen引入同步的概念. 同步报文:包含一个数据字节或者不含数据字节的CAN报文.数据字节中包含一个从1开始递增计数的同步计数器.溢出值可在参数(索引1019h)来设置,同步报文的发送和接收方都必须使用同步计数器(可避免双方计数有差,达不到同步目的) 标识符:标识符是每条报文(帧)的优先级标志,标准为11位,扩展为29位.同步报文的标识符为80h,该值保存在对象字典Sync-COB-ID(索引1005h),可配置. 同步窗口和同步周期:两个参数用户…
(于2007.1.22) 由于PDO所传输的数据内容是无协议的且分配的标识符范围较SDO靠前,因此,其效率和优先级都是较高的,通常用于实时过程数据的传输. PDO是生产/消费类型的通讯方式,数据只有一个生产者(发送),但是消费者(接收)可以有多个,生产者和消费者事先都已知道数据的类型和内容(通过设置PDO映射来管理). 对PDO通讯参数的设置可以实现四种通讯方式: 同步传输.在收到SYNC消息后触发PDO发送,可以定义收到几个SYNC后触发一次TPDO,在有SYNC的CANopen网络中,SYN…
在 PDO 的学习过程中,我们经常会在使用事务的时候加上 try...catch 来进行事务的回滚操作,但是大家有没有注意到默认情况下 PDO 是如何处理错误语句导致的数据库操作失败问题呢?今天,我们就来学习一下. PDO 中的错误与错误处理模式简介 PDO 提供了三种不同的错误处理方式: PDO::ERRMODE_SILENT,这是 PDO 默认的处理方式,只是简单地设置错误码,可以使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象 PDO…
看不懂的知识硬着头皮也要看.读了当时虽然不理解,但脑子里对其相关名词.概念有印象,继续看下去,多读几遍,一定会在某个地方顿悟.  CAN总线只是定义了物理层和数据链路层,并没有定义应用层.这么优秀的总线,在各个厂家推广使用的时候,会出现总线上各家的通信协议不能够相互兼容.交流.为了解决这通信格式统一,Cia像秦朝统一度量衡一样推出CANopen协议. CANopen,是一种通信协议,不仅定义了通信数据帧的定义,包括头.功能码.数据.CRC.结束等,还把各种设备强制定义成"类".例如,I…
CanOpen协议实现了物理层和数据链路层,OSI模型是完整的7层. OSI模型网络七层包括物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 物理层:提供信息传输的物理连接通道,包括使用的光线.无线.双绞线等等.为上层提供一条物理传输通道服务.此层传输的数据单位:bit. 数据链路层:提供信息传输的抽象化的链路,包括数据链路的建立.拆除.数据的解析.校验.纠错.重发.为上层提供可靠.无差错的的数据传输服务.此层传输的数据:帧. 网络层:当设备之间是一对多.多对多的传输时,物理层不唯一…
使用方式  特点一:支持跨数据库 1:首先实例化PDO,创建PDO对象的四个必备参数:host(哪一种类型的数据库,mysql/orcal/SQLserver等);dbname(数据库的名称);charset(设置数据库的字符 集);port(端口号); 2.发送sql指令:分为两种;$pdo->query();//返回的是结果是对象,需要首先对结果集进行遍历,处理单条结果集用fetch(),如果需要处理所有结果集则使用fetchAll(); 第二种:$pdo->exec(数据增删改差操作指令…
通过查找资料对PDO有了一定的了解,PDO(PHP Data Object )为PHP数据对象,为PHP访问数据库提供了一个轻量级的借口,但PDO本生不能实现访问数据库的任何功能,只能通过数据库的PDO驱动来访问数据库. 预定义与常量 常量在编译PHP或在运行时动态载入时可用. PDO::FETCH_ASSOC (integer) 指定获取方式--返回关联数组 PDO::FETCH_NUM (integer)指定获取方式--返回索引数组 PDO::FETCH_CLASS 指定获取方式--对象的属…
协议,是双方都提前商量好的通讯约定. 例如:发送1代表灯亮,发送0代表灯灭. 但由于只是单bit的0和1在通信时,抗干扰太弱,且多种控制时不能区分,此时扩展一下协议. 例如:  头      地址     功能    数据    校验 0x33   0x01   0x0A   0x01   0xxx 这样一条比较完整的协议就构建成功. 协议栈:按照各层(数据链路层.应用层)之间的协议,把数据经过各种加工处理(添加各种包头.包尾),形象的反应出数据的处理.传输的过程. 协议是定的标准,协议栈是各层…