草庐IT

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例

AAA_自动化工程师 2024-06-07 原文

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例


今天和大家分享西门子S7-1200和1500PLC如何获取条码枪的扫描数据,这种案例中一般PLC作为TCP/IP的客户端(只接收数据,不发送数据),条码枪作为TCP/IP的服务器。

如下图所示,在指令—通信—开放式用户通信中可以找到相关的通信指令,这里可以看到有TRCV_C和TRCV两个接收指令,这两者的区别是TRCV_C是建立连接并接收数据集成在一起的,而TRCV是没有建立连接,只负责接收数据的。

我们这里使用TRCV_C来举例说明:

如下图所示,我们拖拽TRCV_C指令到OB1中,此时系统会自动生成一个背景DB块,点击确定即可,

有关S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例的更多相关文章

  1. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  2. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  3. ruby - 与 DataMapper 和 Sinatra 建立关联 - 2

    好吧,这让我发疯了。我已经阅读了Associations文章和示例,并在过去三天里一直在努力解决这个问题,我已经厌倦了这让我感到愚蠢,所以......如何与DataMapper建立关联?(我将DM与Sinatra和SQLite3一起使用。对于具有多个值等的单个表,一切都很好。当我开始尝试将它们关联起来时,我开始出现错误。)假设我有一个种满苹果树的Orchard。每棵树都有很多苹果。每个苹果都有很多种子。因此每棵树都有许多种子通过它的苹果require'sinatra'require'datamapper'DataMapper::setup(:default,"sqlite3://#{D

  4. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

  5. ruby - 没有 nginx 的 Puma - 同一 IP 上的多个 ruby​​ 应用程序 :PORT - 2

    Nginx在生产中的重要性通常基于它为慢速客户端提供服务的能力;在RESTfulAPI的设置中,它似乎是生产堆栈的一个不必要的层,尤其是Puma(不像广泛使用的unicorn可以处理nginx工作)。Pumacanallowmultipleslowclientstoconnectwithoutrequiringaworkertobeblockedontherequesttransaction.Becauseofthis,Pumahandlesslowclientsgracefully.HerokurecommendsPumaforuseinscenarioswhereyouexpect

  6. Java IP归属地查询(离线方式+在线方式,内附查询IP方法) - 2

    一、离线方式1.1.下载ip2region.xdbGitHub项目地址:https://github.com/lionsoul2014/ip2region我们首先需要下载一个ip2region.xdb的文件下载地址:https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.xdb打开后点击如图的Download图标即可下载。下载完成后,需要将该文件放到我们的项目中。ps:我是直接放到服务器的,因为放在项目的资源文件夹下,当我们调试的时候使用JavaSpring自带的工具去获取该文件的绝对路径时,没有任何问题,能够正

  7. IP数据报格式 - 2

    1、报文格式前几篇总结过较多网络层的知识,ARP,ip地址、子网掩码等等。这次总结一下IP数据报的报文格式IP数据报的格式能够说明IP协议都具有什么功能。在TCP/IP的标准中,各种数据格式常常以32位(4字节)为单位来描述的。wireshark中IP数据报文呈现一个IP数据报文由首部和数据两部分组成。首部的前一部分是固定长度,共20字节。是所有IP数据报文必须具有的。在首部的固定部分的后面是一些可选字段,其长度可变。2、首部个字段意义  1、版本占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。版本号为6(即IPv6)  2、首部

  8. 计算机网络笔记:TCP三次握手和四次挥手过程 - 2

    TCP是面向连接的协议,连接的建立和释放是每一次面向连接的通信中必不可少的过程。TCP连接的管理就是使连接的建立和释放都能正常地进行。三次握手TCP连接的建立—三次握手建立TCP连接①若主机A中运行了一个客户进程,当它需要主机B的服务时,就发起TCP连接请求,并在所发送的分段中用SYN=1表示连接请求,并产生一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x。主机B收到A的连接请求报文,就完成了第一次握手。客户端发送SYN=1表示连接请求客户端发送一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x②主机B如果同意建立连接,则向主机A发送确认报

  9. Ruby 的 ARGV 在 Windows 上可以为空,具体取决于运行脚本的方式 - 2

    我的演示.rb:putsARGV.sizeARGV.eachdo|a|puts"Argument:#{a}"end结果取决于我们如何运行脚本:>demo.rbfoobar0>rubydemo.rbfoobar2Argument:fooArgument:bar为什么会这样?可以用这个做点什么吗?编辑:感谢所有回复!这是我的设置:>assoc.rb.rb=rbFile>ftyperbFilerbFile="c:\ruby-1.8.6\bin\ruby.exe""%1"%*所以看起来是对的。但是我发现了>demo.rbfoobar使用这样的命令行启动进程:"C:\ruby-1.8.7\bin

  10. ruby-on-rails - Ruby/Rails 中 CIDR 的 IP 范围? - 2

    我想做两件事:将IP地址输入转换为CIDR以下是一些示例输入:1.1.1.1192.168.*.*#=>192.168.0-255.0-255192.168.1.2-201.1.1-10.1-100检查给定的IP地址是否属于任何CIDR。这一定是一个非常快速的查询,因为它是我的网络应用程序中非常常见的查找。我正在考虑做这样的事情:defmatches?(request)valid=@ips.select{|cidr|cidr.contains?(request.remote_ip)}!valid.empty?end我认为将IP范围转换为CIDR将使查找速度比我们现在所做的更快,后者将I

随机推荐