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

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

前置条件 技能要求 了解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 用户通常…

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

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

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

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

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

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

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

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

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

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

YOLOv11实战宠物狗分类

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

星期-时间范围选择器 滑动选择时间 最小粒度 vue3

星期-时间范围选择器 功能介绍属性说明事件说明实现代码使用范例 根据业务需要,实现了一个可选择时间范围的周视图。用户可以通过鼠标拖动来选择时间段,并且可以通过快速选择组件来快速选择特定的时间范围。 如图: 功能介绍 时间范围选择&…

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据? 面向高并发如何提高活动查询性能? 如何保证缓存一致性? 数据流 Redis数据结构设计 如…

JavaWeb常见注解

1.Controller 在 JavaWeb 开发中,Controller是 Spring 框架中的一个注解,主要用于定义控制器类(Controller),是 Spring MVC 模式的核心组件之一。它表示该类是一个 Spring MVC 控制器,用来处理 HTTP 请求并…

光伏储能微电网协调控制器

安科瑞 Acrel-Tu1990 1. 产品介绍 ACCU-100微电网协调控制器是一款专为微电网、分布式发电和储能系统设计的智能协调控制设备。该装置能够兼容包括光伏系统、风力发电、储能系统以及充电桩等多种设备的接入。它通过全天候的数据采集与分析,实时监控光伏、风能、储…

【C++课程学习】:继承:默认成员函数

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 构造函数 🍩默认构造函数(这里指的是编译器生成的构造函数)&#…

泷羽sec学习打卡-Linux基础2

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于Linux的那些事儿-Base2 一、Linux-Base2linux有哪些目录呢?不同目录下有哪些具体的文件呢…

TCP拥塞控制

TCP拥塞控制(Congestion Control) 什么是拥塞控制? 拥塞控制(Congestion Control)主要针对整个网络中的数据传输速率进行调节,防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致于过载,以避免…