合信论坛

快捷导航
查看: 5020|回复: 0

CAN自由收发接口库使用说明(后附库文件及库使用实例)

[复制链接]

147

主题

231

帖子

3099

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3099
发表于 2021-12-10 12:32:24 | 显示全部楼层 |阅读模式
1、安装库文件
合信软件自带canfree库
1.png
使用西门子软件时需要将附件库文件添加到西门子软件中
2.png
添加成功后显示如下:
3.png
2、库的使用
库指令说明:
CAN 通信指令库共有五条指令,分别是:
1、CANInt(CAN 初始化指令)
2、CANSend(CAN 发送数据指令)
3、CANRcv(CAN 接收数据指令)
4、CANFilter(CAN 数据过滤指令)
5、CanRcvN(接收多帧数据)
(1)初始化
   ① 指令名称:CANInt
   ② 功能:初始化 CAN 自由口
CAN初始化指令(除充电桩款PLC外,其他V5PLC扩展S2扩展板选择通道号为1)
4.png
初始化 CAN 口参数为:CAN 小板通道,125KHz 波特率,帧格式为扩展帧格式

5.png
(2)CAN 发送数据
① 指令名称:CANSend;
② 功能:CAN 发送数据;启用该指令,Enable 置 1 则发送一次
CAN 发送数据指令
6.png
③ 示例
通过 CAN 扩展板通道发送 8 字节数据,帧 ID 为 2016(通过 SM0.0 调用,通过使能位 Enable 触发)
7.png
(3)CAN 接收数据
① 指令名称:CANRcv;
② 功能:CAN 接收数据;收到数据后会把数据填到接收缓冲区,接收指令是查询接收缓冲区有没有数据。Enable 置 1 一次,就查一下接收缓冲区。
CAN 接收数据指令
8.png
③ 示例
通过 CAN 扩展板通道接收指针所指存储器中的数据,存放帧 ID 为 2016(通过 SM0.0 调用,通过使能位 Enable 触发)
9.png
Err 错误码定义
10.png
(4)CAN 接收数据报文过滤
① 指令名称:CANFilter;
② 功能:CAN 接收数据报文过滤;如果只接收特定帧 ID 的 CAN 报文,可以调用过滤指令。如果程序不调用过滤指令,默认过滤 ID 和掩码都是 0,即接收任何 CAN 报文。
CAN 数据过滤指令
11.png
③ 示例
通过 CAN 扩展板接收帧 ID 为 0x180xxxxx 的报文
12.png
过滤指令的ID需要和掩码一起配合使用,子网掩码的位是0的话,就表示不考虑ID的这个位的值,如果要和ID的某个位一样,相应的就把掩码的那位设置为1,
举例说明下:如果你的ID是2#00101,掩码是2#11,那就表示接收到的ID的最低2位必须是01,

(5)接收多帧数据
① 指令名称:CanRcvN;
② 功能:读取若干帧 CAN 数据,输出实际数量帧 CAN 数据,顺序存放到缓冲区内存,13 字节偏移一帧。
CAN 接收多帧数据
13.png
CAN 数据结构(共 13 字节)
14.png
③ 示例
通过 CAN0 口一次接收 30 帧数据存储在 VB100 中,将实际的输出帧数存放到缓冲区地址 VB37中。
15.png








canfree_lib_v1_3.mwl

1.84 KB, 下载次数: 441

CAN-V-1-3.zip

14.13 KB, 下载次数: 495

canlib_free_v1_3.ctmwl

6.45 KB, 下载次数: 471

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-4-26 01:20 , Processed in 0.073003 second(s), 23 queries .

快速回复 返回顶部 返回列表