CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例

本文主要是介绍CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大型门机起重设备纠偏控制系统采用CanOpen通讯协议,而PLC使用的是ProfiNet协议,看似不兼容的两种协议如何实现互通?今天我们来看一下这个案例。

通过捷米特JM-COP-PN设置纠偏系统的参数,同时采集门机左右双轨的轮子多点同步控制,速度、位置等信息。在经过简单的配置后,用户可以很轻松的完成CanOpenProfiNet的协议转换,在ProfiNet总线协议下读写CanOpen设备的数据。

不同的协议之间的互通一直是一个重要的问题,本案例通过使用捷米特JM-COP-PN实现了两种协议的互通,这给我们提供了一个新的思路。

配置 CANOPEN 主站

 导入 EDS 文件

1, 打开捷米特JM-COP-PN网关的 GW Config Builder 软件,点击“工具——导入 EDS”按钮。

2, 选择相应的 EDS 文件,点击打开

添加 CANOPEN 站点

3, 使用 GW Config Builder 软件进行网关的 CANOPEN 配置,首先添加一个 CANOPEN 主站,如下图:

4, 右键单击主站图标,选择属性页面,设置主站波特率、定时发送间隔和主站心跳时间,如下图:(注意:如使用同步对象 SYNC 命令则需要使能 SYNC,连接多台 CANopen 从站时,必须使能该功能)

6.3 配置 PDO

5, 双击米特JM-COP-PN从站的图标,配置该从站的参数。选中 RXPDO(1400),点击“PDO 映射”按钮

 

6, 在弹出的对话框中,根据需求选择需要映射的参数,以添加 6040“控制字” 、6060 “运行模式”为例,选择添加上 6040 或 6060(每次只能添加 1 个对象)

选中 TXPDO(1800),点击“PDO 映射”按钮

7, 如下图所示,以添加 6041“状态字”为例,在弹出的对话框中,选择 6041,然后点确定。

8, 输入 TXPDO 定时发送时间,例如 100ms, 同时将传输类型改为 255。如果使能 SYNC 功能,修改类型为“1~240”(该类型要根据实际情况选择,连接多台从站时,建议类型 10),点击确定。

将电脑设置成 192.168.1.10。点击菜单栏“设置”—“以太网设置”, 选择电脑的IP。

配置 捷米特JM-COP-PN的PROFINET 从站

9, 在博途中新建一个项目,通过“选项”——“管理通用站描述文件”添加网关的 GSD 文件。

10, 选择 GSD 文件所在的目录,点击“安装”,进行 GSD 文件安装:

 

11, 在“设备和网络”中添加网关,

12, 给网关分配 PLC,构建 Profinet 链接

 

13, 双击网关的图标,进入设备视图,设置网关的 IP 地址、子网掩码、设备名称。

14, 在线访问----修改实际 PLC 和网关的 IP 地址和名称(IP 地址要和实际的 PLC 地址在同一网段,名称要和网关一致)

 

15, 配置读写数据,根据 CANOPEN 的通讯数据多少,进行 PLC 输入输出长度设置,(长度不小于 CANOPEN 通讯的实际数据长度)

 

 

16, 将程序编译下载,然后对照上位机的地址映射表,即可实现 S7-1200 读写网关的数据。

图 9-4

这篇关于CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205432

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和