当前位置: 首页 > article >正文

CAN通讯演示(U90-M24DR)

概述       

        CAN通讯一般用的不多,相比于Modbus通讯不是特别常见,但也会用到,下面介绍一下CAN通讯,主要用U90军用PLC演示一下具体的数据传输过程。想更具体的了解的话,可以自行上网学习,此处大致介绍演示。


目录

概述       

一、CAN通讯说明

二、硬件介绍

1、PLC

2、CAN卡

​编辑三、程序

1、初始化

2、发送程序

3、接收程序

结语


一、CAN通讯说明

CAN通讯和Modbus通讯是两种不同的工业通信协议,它们在多个方面存在区别:

1. 通信速度:

     • CAN总线的最高速率可达1Mbps,而Modbus的最高速率只有19.2Kbps。因此,CAN总线的数据传输速度比Modbus要快得多。

2. 安全性:

     • CAN总线提供的安全性较低,因为它不支持加密或认证功能,而Modbus支持加密和认证功能,可以更好地保护系统数据的安全性。

3. 成本:

      • CAN总线的成本要低于Modbus,因为它可以使用标准的接口,可以节省接口设计和安装成本。

4. 通信方式:

     • Modbus通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其他设备(从设备)根据主设备查询提供的数据作出相应反应。而CAN总线允许多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络。

5. 错误检测机制:

     • Modbus协议具有良好的错误检测和纠正功能,可以有效提高系统的可靠性。Modbus有两种传输模式:ASCII和RTU。ASCII模式使用纵向冗长检测(LRC),而RTU模式使用循环冗长检测(CRC)。CAN总线则具有可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发。

6. 网络特性:

     • Modbus是单主网络,而CAN总线是多主网络。

7. 容错机制:

• CAN总线具有容错机制,节点在错误严重的情况下具有自动退出总线的功能。

8. 通讯距离:

• CAN总线的通讯距离可达10km(5kbps),而Modbus的通讯距离通常较短。

9. 网络调试和维护:

      • CAN总线的网络调试非常容易,后期维护成本较低。Modbus的网络调试较困难,后期维护成本较高。

10. 应用领域:

      • CAN总线适用于大规模系统、高可靠性和实时性要求较高的场景,而Modbus协议则适用于小型系统或需要精确控制的环境。

二、硬件介绍

主站使用U90-M24DR军用PLC,从站使用电脑模拟,USB转CAN模块(CAN盒)使用品牌为南京来可电子,接线方式为PLC的CAN_H(49)和CAN_L(51)分别接CAN卡的CAN_H和CAN_L。

需要注意的是,CAN卡有时需要接终端电阻,另外硬件接线接反也会有数据,只不过数据是错误的。

1、PLC

PLC具体参数如下

端子定义如下

2、CAN卡

端子定义

2:CAN_L

3:CAN_GND

7: CAN_H

三、程序

发送速率250k,发送与接收

1、初始化

初始化程序如下

2、发送程序

发送程序如下

 将0100置1,数据如下,

(1)使用上升沿发送时

(2)去掉上升沿发送时, 

3、接收程序

程序及数据(接收程序需添加上升沿使用),CAN通讯使用过程,部分伺服电机厂家协议会有心跳包。

结语

需要注意的是如果伺服电机协议中使用了心跳包,从站未收到心跳时,不会返回数据;通信线缆接反时,可以收到数据,但是数据是错误的。

CAN通讯常会以CANOpen使用,具体的使用方法参考具体的伺服电机相关协议 ,此处不多赘述。


http://www.kler.cn/a/394150.html

相关文章:

  • 基于OpenCV的自制Python访客识别程序
  • HarmonyOS的@State装饰器的底层实现
  • OpenGL ES 共享上下文实现多线程渲染
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • VMware虚拟机安装Win7专业版保姆级教程(附镜像包)
  • 安全生产管理的重要性:现状、痛点与改进之路
  • 关于番外篇-CSS3新增特性
  • Docker与Podman全面比较
  • 企业一站式管理系统odoo的研究——PLM插件的搭建
  • Flink CDC 源码解析--整体流程
  • 行业类别-智慧城市-子类别智能交通-细分类别自动驾驶技术-应用场景城市公共交通优化
  • 霞智科技Titan 810荣获TÜV南德欧盟CE-MD认证证书
  • C++入门基础知识149—【关于C++ 关系运算符重载】
  • Node-RED - 编辑器添加用户认证
  • 深度学习之其他常见的生成式模型
  • FairyGUI和Unity联动(入门篇)
  • 第四十章 Vue之使用ESLint修正代码规范
  • C/C++语言基础--C++模板与元编程系列六,C++元编程相关库的讲解与使用
  • 七次课掌握 Photoshop:形状和文字
  • HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
  • 《物理学报》
  • jmeter常用配置元件介绍总结之线程组
  • MySQL 8.0特性-自增变量的持久化
  • linux系统网络设置之ssh和nfs
  • Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
  • 【C#设计模式(9)——组合模式(Component Pattern)】