1200可以读取modbus tcp_S7-1200 作 MODBUS TCP服务器

S7-1200 Modbus TCP 通信指令块

STEP 7 V13 SP1 软件版本中的Modbus TCP库指令目前最新的版本已升至V4.0,该版本的使用需要具备以下两个条件:

1. 软件版本: STEP 7 V13 SP1及其以上

2. 固件版本: S7-1200 CPU 的固件版本V4.1

0042226dbe7b43b111ca7563da53bdd9.png

图1. Modbus TCP V4.0 版本指令块

S7-1200 Modbus TCP 实验环境

下面以两台S7-1200之间进行Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。表格列出了具体的实验环境:

d8ac79d97db407cd57b8bd6a769a656c.png

表1. Modbus TCP 通信的实验环境

8861448a209b8b2fde8ec6405fd45769.png

表2. Modbus TCP 通信双方的基本配置

硬件标识符是在“设备组态”中,双击 PROFINET 接口,然后在“属性”中的“硬件标识符”中查看。

2fad5a1c71c5ad52066c6b300f707257.png

图2. S7-1200设备的PROFINET接口硬件标识符

S7-1200 Modbus TCP 服务器编程

“MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收并处理 Modbus 请求并发送响应。

1. 在“ 程序块-> OB 1"中调用“MB_SERVER”指令块,然后会生成相应的背景DB块,点击确定,如图3所示。

158e2c50ad9fefa89549100ebfec5573.png

图3. 调用MB_SERVER指令块

该功能块的各个引脚定义如下:

18a5b9ff4641d9fc179de9d97f893baa.png

表3. MB_SERVER 各个引脚定义说明

2. CONNECT 引脚的指针类型

第一步,先创建一个新的全局数据块 DB2,如图4所示:

dd184b08f074f4410867c5d8cde1bbe5.png

图4. 创建全局数据块

第二步,双击打开新生成的 DB2 数据块,定义变量名称为“ss",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。该数据类型结构创建完毕。如图5所示:

6a468a044e117777089f020fbec6b41c.png

图5. 创建 MB_SERVER 中的 TCP 连接结构的数据类型

各个引脚定义说明如下:

6bcd2e05b9514f54e03834cc9abd6d5b.png

表4. TCON_IP_v4 数据结构的引脚定义

客户端侧的IP地址为192.168.0.6,端口号为0,所以 MB_SERVER 服务器侧该数据结构的各项值如图6所示。

ad46a53b76721a6dd43fc4ee90eea5fe.png

图6. MB_SERVER 服务器侧的 CONNECT 数据结构定义

3. S7-1200 服务器侧 MB_SERVER 编程

调用MB_SERVER指令块,实现被客户端读取2个保持寄存器的值,如图7所示。

06160e12a0b8962cc97ac6b17cf8e3ae.png

图7. MB_SERVER 服务器侧编程

注意:MB_HOLD_REG 指定的数据缓冲区可以设为 DB 块或 M 存储区地址。DB 块可以为优化的数据块,也可以为标准的数据块结构。

S7-1200 MODBUS TCP 通信调试

S7-1200 MODBUS TCP 服务器侧准备数据,用于客户端读访问,如图8所示。

0b94a48ba8c0b9d7bdb02650467b9317.png

图8. 服务器侧监控表

S7-1200 MODBUS TCP 客户端侧,给 MB_CLIENT 指令块中 REQ 引脚一个上升沿,监控数据读取成功。如图9所示。

ca2db8606aeb5f7f3c837e0df1a29030.png

图9. 客户端侧监控表

结束!!!

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

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

相关文章

Linux一定需要文件系统吗?

开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题! 一语破天机:“尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如…

迁移学习

文章目录为什么需要迁移学习模型Fine-‐tune![在这里插入图片描述](https://img-blog.csdnimg.cn/20200612000845217.png)保守训练层迁移Multitask Learning渐进式神经网络/Progressive Neural Networks域对抗零样本学习Self-‐taught learning为什么需要迁移学习 使用深度学习…

怎么撤回操作_微信又更新,拍一拍能撤回了

微信拍一拍功能在 6 月份刚上线时,「微信之父」张小龙就发朋友圈表示,微信史上仅需一行代码的有趣功能终于来了,拍一拍,像蚂蚁一样打招呼。拍一拍功能将大家在现实世界的肢体交流带到了虚拟世界,相信大家都有儿时和三俩…

吹牛

起了一个不太雅观的标题,我很想给我们的会晤起一个响亮的名字,比如「三方会谈」或者「新一代5.4事件」,再或者牛逼点的,我们可以叫「西乡起义」。好吧,我摊牌了,这次吃饭就是三个屌丝和一个大佬的闲暇吹牛&…

Spring MVC-视图解析器(View Resolverr)-内部资源视图解析器(Internal Resource View Resolver)示例(转载实践)...

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_internalresourceviewresolver.htm 说明:示例基于Spring MVC 4.1.6。 InternalResourceViewResolver用于将提供的URI解析为实际的URI。以下示例显示如何使用Spring Web MVC框架使用I…

手机是怎么确定位置信息的?

#手机是怎么定位的?定位是一个老生常谈的话题,最近几年还在讨论一个热点技术话题「室内定位」,从我知道这个技术到现在已经过了好几年了,也出现了一些室内定位的方案,而我们的手机是如何进行定位的,又有哪些…

tablestore列式存储原理_10分钟搞透:技术人必会的MySQL体系结构与存储引擎!

MySQL是目前使用最广的开源数据库,不管从装机量、使用人群、专职人员、社区发展,还是基于MySQL的其他分支,都是当之无愧的No.1。 本文将从以下4个方面,带你搞透MySQL体系结构与存储引擎。主要包括:1、MySQL数据库的体系…

使用Adobe Audition生成基本音频

#首先打开软件 #新建一个音频 #在效果菜单栏插入基本音频

更多网络类型

文章目录丰富网络类型CPPN孪生网络Triplet Network应用Variational Auto-encoder强化学习Markov decision processesBellman公式丰富网络类型 深度学习除了经典卷积神经网络,循环神经网络还有广泛的网络类型 CPPN 网络输入是像素坐标值(x,…

更多框架

文章目录关于框架Caffe基于层的设计思路Protocol Buffer 技术prototxt .caffemodel文件caffe的训练主要特点TorchLUA语言主要特点Tensorflowcomputation graphsMXNET关于框架 Caffe 依赖大量第三方库 为了读取图像,以及简单的图像处理,连接很重的Openc…

.net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...

在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片。那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。程…

苹果uwb定位技术

昨天的文章简单说明了手机定位的技术,文章写的比较简单,但是阅读量却还可以,这篇文章转一个uwb定位技术的文章,让更多的人了解这项技术。相关阅读:手机是怎么确定位置信息的?载波和LoRa#前言关于昨天的文章…

springboot导包显示不存在_(一)SpringBoot搭建基本后端应用

boot在计算机术语中是启动的意思,SpringBoot也就是Spring的启动器。稍有经验的JavaWeb程序员对于传统SSM结构的MVC应用,大多数最不好的体验就是搭建一个项目需要进行大量的配置。稍有不慎就可能采坑。更关键的是有些配置基本就不会去进行定制化修改。为了…

f12获取网页文本_8招教你快速搞定网页内容禁止复制粘贴,想怎么复制就怎么复制...

大家平时在搜索资料、浏览网页时,经常会复制一些内容。尤其是文字比较多时,比起一个个字手打,复制能省下不少功夫。可有时候好不容易找到资料了,却发现有些网站上的内容文本复制不了?甚至右键菜单都打不开!…

为什么需要超过48k的采样音频?

最近在看音频的事情,随便拿点东西出来聊一下,如果说的不对,请用棒槌来打我,这样我晚上睡觉就不用数绵羊了。我播放一个20HZ~20KHZ的音频,如下图我使用16K的采样率来采集它是声音信号,获取音频如下图我使用4…

Linux io内存存在的意义~

今天是母亲节,首先祝各位读者的母亲节日快乐,祝你们的母亲年轻健康。母亲节是一个亘古的话题,我本来想写个文章,但是想起来这周就一个周末,要花点时间陪下家人,昨天我们老大开会,特别说了&#…

imx6 配置串口波特率_RS232串口多机通信

一、基本原理1、主从多机通信拓扑图2、主从多机通信的具体过程 1)使所有的从机的SM2位置1,以便接收主机发来的地址;2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;3)所有从机接收到地址帧后&…

一个故事讲完CPU的工作原理

上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:6324 244675 ?小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘…

axure弹窗关闭_干货来袭,Axure插入图标的几种办法

前言在日常绘制原型的时候,经常会需要插入相应的图标(icon)到Axure中,但是看似好像很简单的事情也给蛮多小伙伴造成了困扰。现在很多开发团队都会用一些比较常见的前端框架来搭建后台管理系统,例如常见的Element-UI&am…

用指针实现高低位倒序,疯了吧

昨晚在微信群看到一个读者发的面试题目,从网上截图出来的,我百思不得其解,题目如图。幸好,我学过栈栈,C语言实现然后我写了个小程序第一个方法比较笨,当我写完自己的代码后,看到有同学发了自己的…