gongkong168 发表于 2010-3-18 21:08:51

LabVIEW下使用CAN接口卡的问题????????????

LabVIEW下使用CAN接口卡的问题????????????

在看 周 li 功 的CAN接口卡的在LabVIEW下使用ZLGCAN接口函数库
通过VCI_Transmit 函数 把VCI_CAN_OBJ_T 结构中的数据发送到CAN 总线上 就可以控制总线上的I/O模块,
其中VCI_CAN_OBJ_T簇中可以指定 站号设备类型 数据长度要发送的数据等信息.

簇中有8个数组是用来写入要发送的数据的(BYTE Data帧数据 ),请问要在这里输入些什么数据才能控制 I/O模块的IO点的通断????

平时CAN IO模块会提供什么信息让我们知道要写入什么数据就能控制IO点的???

如果说一个CAN IO模块支持CANopen协议,那又要写入什么数据才能控制一个IO点 ???????




上面的例子是从网上找来的,CANOPEN协议的介绍看过多遍了,很抽象,看得一头雾水。
CANopen预定义连接集,定义的缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分------------1---请问这7位的节点 ID是不是一个地址索引??--2----是不是指定了功能码和地址之后同时写入所要的数据就行了?
比如我有一块周LI功的支持CANOPEN协议的PCI接口卡 ,要用电脑上LABVIEW控制 BU科 的CANOPENI/O 模块,IO模块是提供OD资源列表资料的,不知道LV程序怎么写才能控制CANOPENI/O 模块的IO点??????


gongkong168 发表于 2010-3-22 20:52:20

这里很少人用到CAN通讯吗?

爱美思 发表于 2010-3-23 14:36:53

本人比较常用周立功CAN,CAN盒本身提供的是通讯的载体,比如我用PC机通过CAN盒与底层单片机通讯,此时CAN提供的是数据交互的功能,至于PC机与单片机用什么样的协议通讯与CAN本身无关,CAN盒只负责发送/接受数据,而这些数据如何解读/打包才是你协议的内容。
所以,你按照ZLG给的调用方法将CAN成功初始化、打开,就可以使用了,发送的数据在CAN DATA OBJECT中写就是了。

gongkong168 发表于 2010-3-24 22:16:59

CAN总线不管使用什么协议都用CAN-ID来分辨目标对象在那个模块以及模块上的地址,只要分派好ID之后,往这个ID读写数据就可以了,是这样吗??   比如说CANopen协议,CAN-ID里面就包含有模块地址和PDO地址这些信息,是不是这样子?????

但很多接口卡说支持devicenet 、CANopen、CAN2.0ACAN2.0B协议,是不是不同的协议CAN-ID的格式不同,接口卡自动分辨出来你是用哪种协议。
页: [1]
查看完整版本: LabVIEW下使用CAN接口卡的问题????????????