RS232自由转Profinet协议网关模块连接1200PLC与扫码枪通讯及手动清零案例

一、RS232和Profinet这两种通讯接口的特点和应用场景:

RS232是一种串行通讯接口标准,常用于连接计算机和外部设备,传输速率较低但稳定可靠。Profinet则是一种工业以太网通讯协议,具有高速、实时性强的特点,适用于工业现场对数据传输速度和稳定性要求较高的场景。

二、方案:

RS232和Profinet是常见的通讯接口方式,而如何连接1200PLC和扫码枪进行通讯则是工程师和技术人员关注的话题。本文将深入探讨RS232转Profinet(XD-PNR200)连接1200PLC与扫码枪通讯的具体步骤和注意事项,帮助您实现设备间稳定高效的数据传输与通讯。

三、需要的设备:

在开始连接之前,确保您已准备好以下物品:1200PLC、扫码枪、RS232转Profinet协议网关、连接线缆等。

四、操作步骤:

1.连接硬件:将RS232转Profinet协议网关的RS232端口与扫码枪相连,Profinet端口与1200PLC相连,并确保设备供电正常。

2.打开博图,添加1200PLC

3.PLC IP地址为192.168.0.2

4.安装gsd文件

5.安装完GSD文件之后,在设备目录下生成一个网关驱动

6.添加网关驱动链接Profinet接口,并配置IP地址为192.168.0.5

7.搜索并分配设备名称,分配并下载组态到plc

8.打开兴达易控提供的网关上机软件

9.在Profinet选项里添加兴达易控提供的GSD文件

10.本网关支持多串口独立通讯,所以大家可以看到各串口预设

11.本案例是扫码枪与单串口网关自由口通讯案例,所以串口接到modbus3预设接口

配置扫码枪默认通讯参数9600,N,8,1

12.本地IP配置里只需要设置主从模式为自由口模式

注意:本地的IP地址,子网掩码与网关端口默认在此模式下无意义

13.在数据映射里添加Modbus读写指令:第一条指令为网关默认的状态字指令CH1,且必须在第一个插槽内,点击切换直接点添,加第一条指令只更改slot插槽号1及ID为CH1

其他参数保持默认

14.复制添加第二条指令:slot插槽改为2,ID里选择读32字节长度,长度规则为大于实际扫码的长度,注意:功能码,这里属性无实际意义,只作为读数据指令的标识序号,读数据保持选择“是”,序号3这里的序号就是串口3的预设接口。解释说明:数据保持选“是”,扫码读到的数将保持到第二次扫码动作,长度的单位为字,即32字节为16个字长度

注意,在自由口模式下,功能码用到了有03是读数据,16是写,05是读控制,06是写控制

15.在配置下发IP地址写入博图组态的网关IP地址192.168.0.5,端口号默认为10000

点击链接,并下载读数据参数到网关

16.回到博图组态双击进入到网关设备组态页面

在目录下添加32字节长度的读,这里添加指令的插槽1,2与上位机软件的slot插槽添加的读写及长度保持一致

17.下载组态到plc,plc分配的读指令从ib72为起始读地址

18.创建监控表,监控读数据地址:看读指令的最后2个字节为ib102,ib103ib102为读扫码枪数据长度,ib103为读扫码器枪动作的完成位,监控IB102,ib103;此监控位可对扫码枪数据及状态实时监控。

19.下面介绍对扫码数据的手动清零操作:添加05读控制指令,slot3,2字节输出功能码03

20.配置下发

21.博图插槽里同样添加2字节输出指令下载组态,读控制字分配QB64,QB65QB64,读数据长度控制(暂无意义),QB65,扫码输入清零

22.清零出发数值可以是数字量或模拟量的逢变触发

通过以上详细的操作步骤和注意事项,相信您对RS232转Profinet连接1200PLC与扫码枪通讯有了更深入的了解。遇到问题时,可参考本文进行排查与解决,确保工业设备间的高效通讯与数据传输。愿本文对您有所帮助,谢谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35099.shtml

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

相关文章

C/C++语言通过动态链表实现按需内存分配和使用(Linux Ubuntu 24.04环境)

我认为比较理想的内存使用方式应该实现这几个特性: 1. 分配一块能满足大多数情况下需求的内存,比如80%的情况下都不需要再次分配内存。 2. 对另外20%需要较多内存的情况,可以通过动态链表按需追加新的内存块。 3. 要对总共消耗的内存有一个…

【C语言】解决C语言报错:Dangling Pointer

文章目录 简介什么是Dangling PointerDangling Pointer的常见原因如何检测和调试Dangling Pointer解决Dangling Pointer的最佳实践详细实例解析示例1:释放内存后未将指针置为NULL示例2:返回指向局部变量的指针示例3:指针悬空后继续使用示例4&…

引领未来:AI Native与物联网(IoT)的革命性融合

引领未来:AI Native与物联网(IoT)的革命性融合 在数字化转型的浪潮中,AI Native作为一种新兴的软件开发模式,正逐渐成为推动技术创新的核心力量。与此同时,物联网(IoT)技术通过连接物理世界与数字世界,不断扩展其应用…

自编码器笔记

编码器解码器自编码器 先压缩特征,再通过特征还原。 判断还原的和原来的是否相等 encode data 在一个“潜在空间”里。它的用途是“深度学习”的核心-学习数据的特征并简化数据表示形式以寻找模式。 变分自编码器: 1. 首先、假设输入数据是符合正态分布…

tiny-redis 项目可能的问题

https://build-your-own.org/redis/ 事件循环怎么实现的 首先我将连接包装为一个 Connect 类,它包含了 socket fd,读写缓冲区,连接状态(这个连接是发送数据还是接收数据)等成员属性 我会在全局维护一个从 socket fd…

003 选择排序

文章目录 先挑最值,再把剩下的挑最值,再把剩下的挑最值。。。 -- 排序函数 function selectionSort(arr) -- 外层循环,从数组的第一个元素开始,对每个元素进行排序 for i 1, #arr do -- 假设当前位置的元素是最小的 local …

LCR 060. 前 K 个高频元素

给定一个整数数组 nums 和一个整数 k &#xff0c;请返回其中出现频率前 k 高的元素。可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a; 1 < nums.length < 105k 的取值范…

【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (二)

【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (一)-CSDN博客今天分享SQL Server 2008 R2搭建数据库镜像(Database Mirror)https://blog.csdn.net/ncutyb123/article/details/139749117?spm1001.2014.3001.5501本篇Blog基于以上Blog步骤进行SQL Server 2008 R…

python03——文件操作(new)

“变量”open&#xff08;‘文件路径’&#xff0c;‘模式’&#xff09; //注意加引号 “变量”.write( ) //write函数是写的是字符串&#xff0c;如果你写的东西不是字符串&#xff0c;要写成write&#xff08;str&#xff08;。。&#xff09;&#xff09; “变量”.read…

vue3学习教程第四十节(pinia的用法注意事项解构store)

pinia 主要包括以下五部分&#xff0c;经常用到的是 store、state、getters、actions 以下使用说明&#xff0c;注意事项&#xff0c;仅限于 vue3 setup 语法糖中使用&#xff0c;若使用选项式 API 请直接查看官方文档&#xff1a; 一、前言&#xff1a; pinia 是为了探索 vu…

03_意向锁

意向锁&#xff08;Intention Lock&#xff09; 文章目录 意向锁&#xff08;Intention Lock&#xff09;简介类型原理意向锁加锁流程锁兼容矩阵使用场景示例总结扩展&#xff1a;意向锁和共享锁排他锁的加锁流程假设的场景和前提已加锁的情况新的加锁请求加锁流程锁的兼容性矩…

力扣算法-9.回文数

9.回文数 个人思考 首先从示例2可以看出符号也算在整数这个整体内&#xff0c;可以先判断整数若为负数则返回false其次很容易就会想到遍历两次&#xff0c;从头以及从尾&#xff0c;遍历得到的结果相比较&#xff0c;相同则为回文数 public class Alee9 {public static void …

OpenResty的安装及高级使用

OpenResty的安装及高级使用 1. OpenResty的安装1.1. 二进制版本安装1.2. 源码方式安装2. 日志打印header和body3. 替换body体字符串1. OpenResty的安装 OpenResty的中文站点:https://openresty.org/cn/    OpenResty的英文站点:https://openresty.org/en/ 1.1. 二进制版本…

【linux基础】后台执行命令,防止中断nohup

前台运行与后台运行&#xff1a;前台运行&#xff0c;就是运行过程一直在屏幕输出。 目的&#xff1a;1. 提交至后台 & 2.防止中断 nohup 1.终端上不要有大量的log出现&#xff0c;后台运行 (1) & 程序后台运行 #脚本、修改权限 vi test.sh chmod 777 test.sh#后…

ArcGIS Pro SDK (三)Addin控件 3 事件功能类

22 ArcGIS Pro 放置处理程序 目录 22 ArcGIS Pro 放置处理程序22.1 添加控件22.2 Code 23 ArcGIS Pro 构造工具23.1 添加控件23.2 Code 24 ArcGIS Pro 表构造工具24.1 添加控件24.2 Code 22.1 添加控件 22.2 Code 放置处理程序可以实现文件拖动放置、TreeVIew、ListBox等控件拖…

极速安装的艺术:使用 Mamba 革新你的 Conda 环境管理

标题&#xff1a;极速安装的艺术&#xff1a;使用 Mamba 革新你的 Conda 环境管理 引言 在数据科学和机器学习领域&#xff0c;Conda 是一个广受欢迎的包管理器和环境管理器。然而&#xff0c;随着项目规模的增长&#xff0c;Conda 在处理大量依赖时可能会显得缓慢。Mamba&am…

水下机器人ArduSub 固件常用参数

目前最新版的ArduSub 固件是4.1.2&#xff0c;本文的参数是基于这个版本的固件 SURFACE_DEPTH&#xff1a;水表深度读数 当水下机器人在水面时&#xff0c;水压传感器将读取的深度数据&#xff08;以厘米为单位&#xff09;&#xff0c;这个相当于抵消零偏 单位&#xff1a;…

ArcGIS批量设置多图层的三调地类符号

​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 01需求说明 这次我们要实现的是将多个地类图层批量符号化。比如将多个三调地类图斑批量符号化。 ​ 有什么好方法呢 &#xff1f; 我们可以将一个图层利用三调符号库进行…

android 从应用中打开第三方应用

打开第三方应用之前需要先判断该应用是否存在&#xff0c;代码如下&#xff1a; public boolean isAppInstalled(Context context, String packageName) {PackageManager packageManager context.getPackageManager();try {packageManager.getPackageInfo(packageName, Packa…

Stable Diffusion 3 正式开源,超强文生图模型 SD3-M 上线,赶紧来试试吧!

前言 我们都知道 Stable Diffusion 3 是一款强大的文生图模型&#xff0c;拥有20亿参数&#xff0c;因其高效的推理速度和卓越的生成效果而备受瞩目。 近日&#xff0c;Stability AI在推特上宣布正式开源了 Stable Diffusion 3 Medium&#xff08;SD3-M&#xff09; 权重&…