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.mzph.cn/pingmian/60511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时序论文19|ICML24 : 一篇很好的时序模型轻量化文章,用1k参数进行长时预测

论文标题:SparseTSF: Modeling Long-term Time Series Forecasting with 1k Parameters 论文链接:https://arxiv.org/pdf/2402.01533 代码链接:https://github.com/lss-1138/SparseTSF 前言 最近读论文发现时间序列研究中,模型…

(动画版)排序算法 -希尔排序

文章目录 1. 希尔排序(Shellsort)1.1 简介1.2 希尔排序的步骤1.3 希尔排序的C实现1.4 时间复杂度1.5 空间复杂度1.6 希尔排序动画 1. 希尔排序(Shellsort) 1.1 简介 希尔排序(Shells Sort),又…

Python学习从0到1 day26 第三阶段 Spark ④ 数据输出

半山腰太挤了,你该去山顶看看 —— 24.11.10 一、输出为python对象 1.collect算子 功能: 将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象 语法: rdd.collect() 返回值是一个list列表 示例: from …

DNS解析库

DNS解析库 dnsDNS的解析库以及域名的详解解析库dns解析的端口dns域名的长度限制流程优先级在现实环境中实现内网的dns解析 练习(Ubuntu内网实现DNS解析)主服务器备服务器 dns 域名系统,域名和ip地址互相映射的一个分布式的数据库&#xff0c…

kafka 生产经验——数据积压(消费者如何提高吞吐量)

bit --> byte --> kb -->mb -->gb --> tb --> pb --> eb -> zb -->yb

Database Advantages (数据库系统的优点)

数据库管理系统(DBMS)提供了一种结构化的方式来存储、管理和访问数据,与传统的文件处理系统相比,数据库提供了许多显著的优点。以下是数据库系统的主要优势: 1. Data Integrity (数据完整性) 概念:数据完整…

【记录】公司管理平台部署:容器化部署

前置条件 技能要求 了解Docker基本使用和常用命令。会写Dockerfile文件。会写docker-compose文件环境要求 云服务器,已安装好安装Docker本机 IntelliJ IDEA 2022.1.3配置 配置服务器SSH连接 进入 Settings -> Tools -> SSH Configurations 点击加号创建SSH连接配置 填…

从零开始 blender插件开发

blender 插件开发 文章目录 blender 插件开发环境配置1. 偏好设置中开启相关功能2. 命令行打开运行脚本 API学习专有名词1. bpy.data 从当前打开的blend file中,加载数据。2. bpy.context 可用于获取活动对象、场景、工具设置以及许多其他属性。3. bpy.ops 用户通常…

JavaScript 观察者设计模式

观察者模式:观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。而js中最常见的观察者模式就是事件触发机制。 ES5/ES6实现观察者模式(自定义事件) - 简书 先搭架子 要有一个对象&#xff…

el-table 行列文字悬浮超出屏幕宽度不换行的问题

修改前的效果 修改后的效果 ui框架 element-plus 在网上找了很多例子都没找到合适的 然后这个东西鼠标挪走就不显示 控制台也不好调试 看了一下El-table的源码 他这个悬浮文字用的el-prpper 包着的 所以直接改 .el-table .el-propper 设置为max-width:1000px 就可以了 吐槽一…

IO技术详解

IO监控项在监控中一直是很重要的存在,服务有IO,磁盘有IO,操作系统也有IO,IO到底是什么呢 IO IO,即“输入/输出”(Input/Output),是指计算机系统或设备之间交换数据的过程。这个概念…

Tcp中的流量控制,拥塞控制,超时重传时间的选择,都附带相应例子说明

端口号的了解 通常进行通信时,发送方使用任意端口,指定接收方为指定端口,因为接收方在接收到后的需要根据发送方指定的接收方端口号,来选择使用哪一个服务进程进行处理。 端口号还可以分类为两个大类: TCP和UDP报文的…

Nextflow最佳实践:如何在云上高效处理大规模数据集

1. Nextflow 软件架构介绍 Nextflow 是一个用于简化数据驱动计算流程的工具,可以在各种计算环境中轻松部署。它采用了分布式计算和容器技术,实现了高度模块化、可重复性和可扩展性。NextFlow 的软件架构主要包括以下几个部分: 用户界面&…

LeetCode【0032】最长有效括号

本文目录 1 中文题目2 求解方法:动态规划2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。 示例: 输入&…

一文看懂ERP、SCM、SRM、WMS、TMS、进销存管理系统

经常有人来私信问我ERP、SCM、SRM、WMS、TMS、进销存管理系统等等,它们听起来都很专业,但到底各自是什么?承担着怎样的角色呢?它们具体都有哪些功能?相互之间又存在怎样的关联,对企业而言又意味着什么呢&am…

c++写一个死锁并且自己解锁

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

机器学习系列----KNN分类

目录 前言 一.KNN算法的基本原理 二.KNN分类的实现 三.总结 前言 在机器学习领域,K近邻算法(K-Nearest Neighbors, KNN)是一种非常直观且常用的分类算法。它是一种基于实例的学习方法,也被称为懒学习(Lazy Learnin…

深度学习——优化算法、激活函数、归一化、正则化

文章目录 🌺深度学习面试八股汇总🌺优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…

vue登陆验证

导航守卫:直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他 的事的时机,这就是导航守卫。 比如最常见的登录权限验证,当用户满足条件时,才让其进入导航&…

YOLOv11实战宠物狗分类

本文采用YOLOv11作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的特征提取能力,在多个图像分类任务中展现出卓越性能。本研究针对5种宠物狗数据集进行训练和优化,该数据集包含丰富的宠物狗图像样本…