首页 > 其他分享 >S7指令中的PUT/GET或者BSEND/BRCV的选择

S7指令中的PUT/GET或者BSEND/BRCV的选择

时间:2024-06-18 17:10:55浏览次数:19  
标签:BSEND GET S7 BRCV 指令 PUT

1. 背景

  • 最近用一个300PLC和1200PLC做S7通信的时候,因为交互的数据量有1024个bytes.这才意识到put get在数据量上的限制。以及大数据传输用到的BSEND/BRCV。

2. S7支持的指令

  • 在PLC里,能基于S7协议用于数据交换的指令如下(S7 300/400下描述):

  • 其中值得注意的有几点:
    • put/get无需通信伙伴用户程序中的任何其它通信函数,意思是使用putget单边通信的时候,另一边设置只需要打开使能开关就行,不用配置(连远程ID都可以不用填写)
    • BSEND/BRCV:互为交互对象,需要相互交接,也需要远程设备信息
    • PLC的start stop等可以通过S7协议做远程控制。

3. PUT/GET的应用

  • GET

  • PUT

  • 当写完put/get程序之后,连接处会自动生成一条连接:

  • 注意点
    • 伙伴IP是需要填入的
    • 如果子网栏报错,请去添加新连接新建一条子网
    • 伙伴TSAP可以填的内容有:
      • S7-300集成PN或CP,填03.02
      • S7-400集成PN或CP,填03.XX, XX为400PLC插槽号
      • S7-1200集成PN口,填03.00或者03.01
      • S7-1500集成网口或者CP,填03.01
    • 本地ID,不要和其他连接重复就行
    • PUT/GET enable管脚用脉冲
    • 交互DB非优化
    • PUT GET 设置打开

4. put/get bsend/brcv 能支持的最大数据量


4. S7相关指令中的几个重要参数


  • 对于bsend和brcv。它们属于双端组态通信指令

5. bsend/brcv应用

  • 连接ID如图:



  • 在1200端仍然需要建立一套BSEND/BRCV程序和数据DB。

标签:BSEND,GET,S7,BRCV,指令,PUT
From: https://www.cnblogs.com/xiacuncun/p/18254715

相关文章

  • Centos7配置ntp时间服务器
    Centos7配置ntp时间服务器,服务端:1、安装ntp服务yuminstallntpntpdate-y 2、查找当前地区,最适合的时间服务器步骤一:打开网站:http://www.pool.ntp.org/zone/asia步骤二:复制自动推荐的最合适的同步服务器 3、编辑/etc/ntp.confvim/etc/ntp.conf复制上述查到的时......
  • QtWidgets样式表教程(附代码)
    Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面和嵌入式系统开发。QtWidgets是其中一个重要的模块,提供了创建经典桌面风格应用程序的基础。QtWidgets支持样式表(StyleSheets),使开发者可以通过类似于CSS的方式对界面进行美化和定制。本文将详细介绍QtWidg......
  • Centos7升级K8S集群
    Centos7升级K8S集群适用于使用kubeadm部署的k8s环境。Kubernetes版本以x.y.z表示,其中x是主要版本,y是次要版本,z是补丁版本。升级时不可以跳过次版本。例如,你只能从1.y升级到1.y+1,而不能从1.y升级到1.y+2。版本偏差说明:https://kubernetes.io/zh-cn/releases/ve......
  • 【odoo17】富文本小部件widget=“html“的使用
    概要        HTML富文本字段通常用于在模型中存储和显示格式化的文本。通过这种字段,用户可以利用HTML标签来格式化文本,从而在前端呈现更丰富的内容。        在Odoo中,HTML字段在没有明确指定widget="html"的情况下,也会默认显示为富文本编辑器。这是因为Odoo......
  • centos7中使用yum安装NGINX安装
    工作中的web服务的反向代理、负载均衡、ip白名单、静态资源管理可以使用NGINX,其安装步骤可以参考如下。服务器为centos7,用户使用root权限。1.安装第三方yum源yuminstall-yepel-release2.安装NGINXyuminstall-ynginx3.关闭防火墙-可选systemctlstopfirewalld......
  • curl命令行发送post/get请求
    文章目录curl概述post请求get请求curl概述curl是一个命令行实用程序,允许用户创建网络请求curl在Windows、Linux和Mac上皆可使用post请求一个简单的POST请求-X:指定与远程服务器通信时将使用哪种HTTP请求方法curl-XPOSThttp://example.comPOST......
  • usb gadget配置记录
    linux配置DeviceDrivers>Networkdevicesupport>USBNetworkAdapters[*]Multi-purposeUSBNetworkingFramework[*]SimpleUSBNetworkLinks(CDCEthernetsubset)DeviceDrivers>USBsupport>USBGadgetSupport[*]Ser......
  • Net上传Nuget包以及把多个.nupkg文件打包成一个文件
    1、打包Nuget包第一种方式:●使用NuGetCLI工具将整个项目打包为NuGet包●打开命令行终端●导航到包含项目文件的项目目录例如:cdC:\MyProject●使用以下命令将项目打包为NuGet包:例如:nugetpack[项目文件路径]请将[项目文件路径]替换为实际的项目文件路径。例如,如果你的项......
  • Net上传Nuget包以及把多个
    Net上传Nuget包以及把多个.nupkg文件打包成一个文件1、打包Nuget包第一种方式:使用NuGetCLI工具将整个项目打包为NuGet包打开命令行终端导航到包含项目文件的项目目录例如:cdC:\MyProject使用以下命令将项目打包为NuGet包:例如:nugetpack[项目文件路径] 请将[项目文件路......
  • 万能的字典,可以通过 config.server.port 的方式访问,也可以通过get_config("server.por
    万能的字典,可以通过config.server.port的方式访问,也可以通过get_config("server.port")的方式访问,还可以config['server']['port']访问值classDotDict(dict):"""一个字典类,支持通过点分路径访问和设置嵌套的字典值。"""def__init__(self,......