s7-1200PLC和第三方扫码枪走以太网通信

news/2024/11/28 5:44:04/

前段时间因为客户需求 让我调试一个霍尼韦尔扫码枪 要走以太网通信

之前调的扫码枪基本都是走串口 在网上没查到什么资料 虽然有些小问题 但是最后也算调出来了

后来又遇到一些同行询问扫码枪走以太网的方式 索性就写一篇小教程吧 

知识有限 难免出错 欢迎指出

 

1200走以太网通信一般就是TCP/IP 可能有的会用到UDP 

简单来说 TCP通信就是三步 1.建立连接  2.发送/接收数据  3.断开连接  博图对这三个步骤都做了封装 我们只需要填出入库参数即可

博图中有两种TCP通信函数 一种是将3步整合在一起 一种是三步分开调用的函数 如下图

为了更清楚的理解TCP的三个步骤 先讲讲第二种

(1)TCON

TCON就是三步中用来建立连接的函数 调用TCON函数 点击右上角组态

在下方的属性页面出现如下图界面 在伙伴栏选择未指定  然后在连接数据中选择新建

填写伙伴方IP地址 以及伙伴端口号 若扫码枪采用以太网通信 都需要提前配置好IP地址和端口号 端口号要从2000开始

配置好后TCON需要一个使能信号 

这里解释一下ID的含义 当客户需要多台设备(不仅仅是扫码枪)都使用同一个IP地址时,就需要通过ID号来区分不同的设备 但是一般情况下IP地址是绝对够用的 所以就为每一个设备分配了单独的地址 因此ID号保持缺省状态就行

(2)TRCV_DB  

数据接收函数 需要接入一个使能信号  这里建议使用1s的时钟来进行1s接收一次数据 ID号要与前面建立连接的ID一致

关键点是这个DATA参数 我第一次建立的是200长度的Array of Word类型数据 但是接收到的数据怎么都不对

后来我直接把扫描枪和笔记本用网线连起来  通过网络调试助手直接在电脑上显示扫到的数据 以16进制显示的情况下 发现扫码枪发送的是ASCII码 一个AXCII码是由8个二进制数组成的 所以我将  "Data.接收的数据" 的类型改为Array[1..200] of Byte 

结果进行一次扫码后数组里全是空的 但是数据接收显示已经完成 我就多扫了几次 结果发现只有在将数组全部填满时才会一次性都显示出来 这就造成了另外一个问题

当你的条形码长度为13时 200个长度的数组并不能刚好装下 结果就导致了最后一次扫码时超过200的数据会覆盖数组里前面的数值 文字说的不清楚 就用算式来说明一下

200 ÷ 13 = 15 余 5

当扫码15次时 数组不会显示数据    

第16次扫码时 前5个数据填充在200长度数组的最后5位

剩余的8个数据则依次覆盖了从1开始的8个数据

因此 在读条码前需要先确定要读条码的长度 然后建立相应长度的数组

造成这种现象的原因还没有搞清楚 客户也不关心这个 数据读出来后就把扫码枪拿走了 我也没用机会再去好好研究了

如果有网友也发现这个问题并且解决了 欢迎给我留言

发送和断开指令基本同上面两个一致 这里就不再做介绍了 

/**********************************************************************************************************************************/

2020/9/28更新

关于之前提到的“最后一次扫码时超过200的数据会覆盖数组里前面的数值”

造成这种现象的原因是在没有将数组填满时 数据都是保存在缓冲区 只有充填的数据填满数组时 才会进行一次缓冲区刷新 将数据刷新到数组对应的内存中 也就是在这个时候数组才真正有值

对于这个问题的解决好像还没有什么很好的方法 在高级语言中 如C语言是有缓冲区刷新函数---fflush()的 但是1200好像没有这个功能函数 所以只能确定好要读取的数据的长度 再建立相应长度的数组


http://www.ppmy.cn/news/824535.html

相关文章

猫(Modem)和路由器有什么区别?

内容简介 猫(Modem)和路由器有什么区别? 猫(Modem)和路由器傻傻分不清楚 生活中,我们经常听到路由器和猫这两个词,对应的英语分别是Router和Modem。 这里的猫不是加菲猫那个猫,也不…

【Leetcode】37.解数独(困难)

一、题目 1、题目描述 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字…

创维宽带猫E910V10C(电信)(酒店使用的那种)改桥接

为什么要改桥接 需要改桥接,用公网IP 宿舍使用的这种猫来比较奇怪,不是光猫,每个房间都是宽带入户,这个猫更像是一个融合终端,但是的确是通过它来拨号上网的。其他宿舍也有另一种猫:烽火的mr820,这种比较…

桥接、交换机、路由器、网桥、网关

之前一直听说这几个概念,但一直没有做详细的区分。通过这篇文章学习一下。   两台主机之间想要完成通信,就需要建立通路。首先要明确一个概念:完成通信不一定非要通过互联网。 交换机 对于交换机可以这样理解,交换机具有多个端…

RS232转PROFINET网关链接扫码枪与西门子PLC1200的配置方法

案例简介:本案例是用远创智控生产的YC-RSPN-002型RS232转PROFINET网关链接扫码枪与西门子PLC1200的配置方法 工具/原料 Modbus转Profinet网关YC-RSPN-002一台 西门子1200PLC一台 扫码枪两台 博途软件一套 配置方法:第一步:打开博图&…

物联网工业串口转WiFi模块 无线路由WiFi模块的选型

伴随着物联网的发展,最初的两个机器之间通过硬件直接通信的物理层到通过硬件地址再局域网中进行通信的数据链路层已经远远不能满足于现代人们生活以及各行给业生产的需求。逐渐结合高性能,高质量的网络层和应用层。实现智能终端数据采集,数据…

腾达无线打印服务器,(原创)腾达PA + PA3电力猫扩展无线信号 路由器LAN口智能扩展...

实际在1995年之前就知道有电力猫这回事了,然后10多年前就买了电力猫在用,还帮朋友买过也一直在用蛮好的。 之前有写: 有关电力猫介绍(已买一对在用) 当时电力猫有一个问题就是,如果要作为路由器的一个LAN 口扩展器,需要手动做一个桥接的设置,必须用到电脑和网线很麻烦。 (…

hg527-c CU.html,华为无线猫设置

华为HG527-C沃版设置说明 第一步、将无线猫电源接通,网线从LAN1口连接电脑,电话线先不接。 第二步、将电脑IP地址设置为自动获取,DNS也自动获取。 第三步、打开IE浏览器,输入192.168.1.1/CU.html(192.168.1.1/cnc.html)&#xff0…