为了更快地输入信息,许多设备都配备了条码扫描器,但条码扫描器不能直接与CPU通信。最直接和方便的方法是加RS232转PN协议网关模块(BT-PNR20)。本文将深入研究如何利用巴图自动化的RS232转PN协议网关模块,在PLC和条码扫描器之间搭建通信桥梁,从而提高生产效率,降低人工干预成本。

一、设备准备

1. RS232转PN协议网关模块:请使用支持RS232转PN协议的网关模块,如BT-PNR20

2. PLC:准备一台PLC,如西门子1200系列PLC,作为Profinet网络的主站。

3. 扫描枪:选择支持RS232接口的扫描枪,读取和传输条码信息。

4. 连接线缆:准备必要的连接线缆,包括RS232线缆和Profinet线缆。

二、硬件连接:将RS232转Profinet协议网关的RS232端口连接转条码扫描器,将Profinet端口连接转1200PLC,并确保设备正常供电。在连接过程中,注意信号线的正确连接,避免因接线错误导致通信失败。

三、配置步骤

1. 打开博途,添加1200PLC

2. 配置PLC的IP地址为192.168.0.2

3. 安装GSD文件

4. 安装GSD文件后,在设备目录下生成网关驱动程序

5. 添加网关驱动连接Profinet接口,IP地址配置为192.168.0.5

6. 搜索和分配设备名称,分配和下载配置转PLC

7. 打开巴图自动化提供的网关软件,在Profinet选项中添加GSD文件

8. 该网关支持通过多个串口独立通信,因此可以看转每个串口都是预先设置的。本案例是条码扫描器和单个串行端口网关之间的空闲端口通信的案例。因此,串口连接modbus3预设接口,条码扫描器的默认通信参数为9600、N、8、1

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

备注:本地IP地址、子网掩码和默认网关端口在该模式下没有意义

10. 在数据映射中添加Modbus读写指令:第一条指令为网关默认的状态字指令CH1,必须位于第一个槽位。单击切换,直接添加。添加第一条指令只会将槽位号1和ID更改为CH1

其他参数保持默认值

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

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

12. 在发布IP地址的博途配置中,将网关IP地址为192.168.0.5,默认端口号为10000

点击连接并将数据参数下载到网关

13. 返回“Botu Configuration”,双击进入网关设备配置界面

在目录中增加一条32字节的read,其中指令的槽位1和槽位2与上位机软件槽位中添加的读写和长度一致

14. 将配置下载转PLC, PLC分配的读指令从IB72开始作为起始读地址。一旦成功建立RS232转PN协议网关模块,将PLC与条码扫描器连接起来进行通信,就可以实现条码扫描器扫描、读取数据等操作,并自动传输给PLC进行处理和控制。

15. 创建一个监视表来监视读数据地址:读指令的最后两个字节是ib102,其中ib103是扫描枪数据的长度,ib103是扫描枪动作的完成位。监控IB102和ib103;该监控位可以实时监控扫描枪的数据和状态。

综上所述,通过建立合理的RS232转PN协议网关模块来连接PLC与扫描枪的通信,实现高效的协同工作

RS232转PN协议网关模块连接PLC和霍尼韦尔条码扫描器通信的更多相关文章

  1. http协议、模块、express框架以及路由器、中间件和mysql模块

    一.http协议 是浏览器和web服务器之间的通信协议 1.通用头信息 request url:请求的url,向服务器请求的数据 request method:请求的方式   get.post sta ...

  2. UDP协议&socketserver模块

    UDP协议&socketserver模块 一.UDP协议 1.1 UDP实现简单通信 服务器 ------------------------------------------------- ...

  3. (转)对Http协议的长连接和短连接新的认识

    转载来自:http://www.cnblogs.com/zuoxiaolong/p/life49.html一直对长连接短连接模模糊糊,看着该博主的文章,豁然开朗~ 引言 最近刚到公司不到一个月,正处于 ...

  4. 在虚拟机里连接PLC S7-200

    1-使用PPI线连接 这次选择了在虚拟机里面来调试PLC,s7-200的型号是214-2AD23-0XB8 ,连接线是在淘宝上卖的(连接),在虚拟机里面试的时候没有反应,如下 在设备管理器里面观察,在 ...

  5. Python——电子邮件、Internet协议相关模块

    一.电子邮件相关模块 email:用于处理电子邮件 smtpd:SMTP服务器 base64:Base-16.32.64数据编码 mhlib:处理MH文件格式解析的类 mailcap:mailcap文 ...

  6. http协议及长连接和短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议. IP协议主要解决网络路由和寻址 ...

  7. 京东的Netty实践,京麦TCP网关长连接容器架构

    背景 早期京麦搭建 HTTP 和 TCP 长连接功能主要用于消息通知的推送,并未应用于 API 网关.随着逐步对 NIO 的深入学习和对 Netty 框架的了解,以及对系统通信稳定能力越来越高的要求, ...

  8. TCP连接三次握手协议,释放连接四次挥手,以及使用 awl伪造mac地址进行多线程syn洪泛攻击。

    这个TCP连接就是一次追女生-谈恋爱-分手,追求比分手简单,但是分手比追求复杂.哥,谈了半年的女朋友,在就快要成功了的时候分了,原因是因为有人在后面该老子背后搞SYN洪泛攻击,最后女朋友丢失了.学会T ...

  9. mqtt网关服务器连接阿里云关联物模型

    mqtt网关服务器连接阿里云关联物模型 卓岚专门为工业环境设计的RS485设备数据采集器/物联网网关,兼具串口服务器.Modbus网关.MQTT网关.RS485转JSON等多种功能于一体. 可以连接阿 ...

  10. TCP\UDP协议 socket模块

    目录 传输层主要协议 TCP协议 三次握手 TCP协议反馈机制 四次挥手 洪水攻击 UDP协议 socket模块 socket代码简介 socket.socket() server.bind() se ...

随机推荐

  1. 5款.NET开源、免费、功能强大的图表库

    LiveCharts2 LiveCharts2是一个.NET开源(MIT License).简单.灵活.交互式且功能强大的.NET图表.地图和仪表,现在几乎可以在任何地方运行如:Maui.Uno Pl ...

  2. Base64 java图片工具类

    import org.springframework.util.Assert; import javax.imageio.ImageIO; import java.awt.image.Buffered ...

  3. PHP 网络通信底层原理分析

    一.引言 我们日常的程序开发大多数都是以业务为主,很少会接触到底层逻辑.对于我们程序员来说,了解程序的底层运行逻辑,更有助于提升我们对程序的理解.我相信大多数的人,每天基本上都是完成业务需求.当然,完 ...

  4. Flutter(二):编写第一个Flutter App

    Create New Flutter Project 在Android Studio添加上Flutter插件以后,通过File -> New -> New Flutter Project创 ...

  5. 面试题一《swift和oc的区别》

    一.来源 这道题来自网上一篇文章<100家公司iOS面试题管理>,这份题目虽然题目质量不高,但是覆盖面比较全,有学习的价值 二.解析 1.swift 比 OC更年轻,这意味着 swift ...

  6. GNU GCC学习

    1 Introduction 参考视频:1 GCC简介_哔哩哔哩_bilibili 参考书籍:<An Introduction to GCC (Brian J. Gough, Richard.p ...

  7. react mock数据

    为什么要做假数据,因为后端开发接口没有哪么快,此时就需要自己来模拟请求数据. 模拟的数据字段,需要和后端工程师沟通. 创建所需数据的json文件 json-server 此命令可以帮助我们快速创建一个 ...

  8. 微信支付(付款码支付,条码支付,刷卡支付)左上角LOGO显示

    微信支付(付款码支付,条码支付,刷卡支付)左上角LOGO显示 如果你上送的sub_appid 公众号(小程序),优先显示你公众号(小程序)的LOGO,如果你的公众号(小程序)未设置LOGO,会显示上游 ...

  9. js沙雕排序之睡眠排序&随机排序

    1.睡眠排序,只要睡的时间多少就可以排序出来不要在乎时间多少 var arr=[4,77,741,41,142,52,244]; var sleepSort=function(arr,callback ...

  10. vue3 父子组件间的传值通信

    1.父转子 // 父组件 <template> <div> <div> <p>{{ count }}</p> <Son :countF ...