西蒙子S7协议介绍

西门子的S7 协议,没有仍何关于S7协议的官方文档,是一个不透明的协议。关于S7的协议介绍,大都是非官方的一些七零八落的文档。

1. S7的通信模型

西蒙子S7 通讯遵从着基于TCP 的 Master(client) & Slave(Server)的通信模型。Master发送请求,用于从设备查询或向设备发送数据,或发出某些命令。
S7 协议的报文格式组成如下:
在这里插入图片描述
TPKT 是基于 ISO over TCP其被定义在RFC1006。ISO-COTP是在基于ISO8073协议(RFC905)的RFC2126中定义的。
S7协议是面向功能的或面向命令的。这意味着S7的传输由 请求(request) 和 回应(response) 组成(只有极少数例外)。
并行传输的数量和PDU的最大长度是在连接建立期间协商的。
S7 PDU 由以下内容构成:

项目描述
Header包含长度信息、PDU引用和消息类型常量
Parameters参数
Parameters Data参数数据
Data数据

例如, 将该数据从偏移量4开始写入DB10, Write DB 10 4和数据是命令的组成部分,并根据协议规范在消息中进行格式化。

在S400系列中,实现了所谓的循环数据I/O功能,这类似于传统的发布者-订户模型。PC可以订阅某些事件,而PLC会定期将请求的数据推送到网络。
S7 的命令主要分为以下几种:

  • Data Read/Write
  • Cyclic Data Read/Write
  • Directory info
  • System Info
  • Blocks move
  • PLC Control
  • Security
  • Programming

1.1 S7 通信的三种角色

  • Client
    发起请求
  • Server
    回应请求
  • Partner
    即是client 又是server。
    在这里插入图片描述
    作为Partner 的例子如下:
    在这里插入图片描述

2. S7 的数据编址模型

S7 的数据读/写操作,是通过指定变量的内存区域,地址(offset),和Size或者类型来实现的。
PLC的内存区域类型如下:

内存区域标号描述
Merker[M]标记变量&寄存器标志
Data Block[DB]数据块,DB区域是存储设备不同功能所需数据的最常见位置,这些数据块被编号为地址的一部分
Input[I]数字和模拟输入模块值,被映射到存储器中
Output[Q]类似内存映射的输出
Counter[C]PLC程序使用的不同计数器的值
Timer[T]PLC程序使用的不同计时器的值

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

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

相关文章

读取小数部分

1.题目描述 2.题目分析 //假设字符串为 char arr[] "123.4500"; 1. 找到小数点位置和末尾位置 代码如下: char* start strchr(arr, .);//找到小数点位置char* end start strlen(start) - 1;//找到末尾位置 如果有不知道strchr()用法的同学&#xf…

Pytorch神经网络的模型架构(nn.Module和nn.Sequential的用法)

一、层和块 在构造自定义块之前,我们先回顾一下多层感知机的代码。下面的代码生成一个网络,其中包含一个具有256个单元和ReLU激活函数的全连接隐藏层,然后是一个具有10个隐藏单元且不带激活函数的全连接输出层。 import torch from torch im…

Linux 基本语句_16_Udp网络聊天室

代码&#xff1a; 服务端代码&#xff1a; #include <stdio.h> #include <arpa/inet.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdlib.h> #include <unistd.h> #include <string…

中小型企业网络综合实战案例分享

实验背景 某公司总部在厦门&#xff0c;北京、上海都有分部&#xff0c;网络结构如图所示&#xff1a; 一、网络连接描述&#xff1a; 厦门总部&#xff1a;内部网络使用SW1、SW2、SW3三台交换机&#xff0c;SW1为作为核心交换机&#xff0c;SW2、SW3作为接入层交换机&#x…

go语言实现文件夹上传前后端代码案例

go语言实现文件夹上传前后端代码案例 前端用于上传的测试界面 如果上传的文件夹有子文件要遍历子文件夹创建出子文件夹再进行拷贝需要获取文件名和对应的路径&#xff0c;将文件的相对路径和文件对象添加到FormData中这几行代码很关键 for (let i 0; i < files.length; i…

PDF控件Spire.PDF for .NET【转换】演示:将多个图像转换为单个 PDF

如果您想要将多个图像合并为一个文件以便于分发或存储&#xff0c;将它们转换为单个 PDF 文档是一个很好的解决方案。这一过程不仅节省空间&#xff0c;还确保所有图像都保存在一个文件中&#xff0c;方便共享或传输。在本文中&#xff0c;您将学习如何使用Spire.PDF for .NET …

为什么选择计算机?

还记得当初自己为什么选择计算机&#xff1f; 当然记得。高一下学期(2017年)听数学老师说着大数据&#xff0c;听着是那么牛&#xff0c;那么神奇&#xff0c;还说着目前社会上也缺少这样的人&#xff0c;然后那时候就有个这样的梦&#xff0c;想去学&#xff0c;想去当那少数…

36 动态规划之编辑距离

问题描述&#xff1a;给你两个单词word1和word2&#xff0c;请你计算出将word1转换为word2所需要的最少操作数。插入一个字符删除一个字符替换一个字符&#xff1b; 暴力穷举法&#xff1a;将短的那一个串作为子串(长度s)&#xff0c;寻找在母串(长串长度p)共同字符最多的情况…

Electron V28主进程与渲染进程互相通信总结

本文示例采用ElectronVue3TS编写&#xff0c;请读者理顺思路&#xff0c;自行带入自己的项目。 注&#xff1a; 读本文前请先搞懂什么是主进程&#xff0c;什么是渲染进程。 在Electron中有着ipcMain和ipcRenderer、contextBridge模块&#xff0c;以及创建窗口对象上的webCont…

-bash: docker-compose: 未找到命令

-bash: docker-compose: 未找到命令 我在使用Docker搭建Nacos容器时遇到了这个问题&#xff1a;是没有安装 docker-compose工具 。 docker-compose的用处主要体现在以下几个方面&#xff1a; 快速搭建开发环境&#xff1a;使用docker-compose可以快速搭建起开发环境&#xff0…

一分钟轻松制作AI数字人播报视频

随着人工智能的快速发展&#xff0c;AI数字人播报成为了媒体和信息传播领域的一项创新技术。AI数字人播报是利用人工智能技术创建的一系列短视频&#xff0c;以新闻主播为中心&#xff0c;展示各种场景和情境能够以短视频的形式进行新闻的报道。这种创新的内容形式在社交媒体和…

Java刷题篇——单链表练习题上

206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 1. 题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例1 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例2 输入&#xff1a;head [1,2] 输出&…

<软考高项备考>《论文专题 - 14 绩效域(四)》

8 交付绩效域 交付绩效域涉及与交付项目相关的活动和职能。在项目整个生命周期过程中&#xff0c; 有效执行本绩效域可以实现预期目标&#xff0c;主要包含&#xff1a; ①项目有助于实现业务目标和战略&#xff1b; ②项目实现了预期成果&#xff1b; ③在预定时间内实现了项…

Spring Boot 3 + Vue 3 整合 WebSocket (STOMP协议) 实现广播和点对点实时消息

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

PostgreSQL基础

一、数据库操作命令 创建数据库 CREATE DATABASE xxxxxxx; 删除数据库 drop databse xxxxx; 查看所有数据库 \l 切换数据库 \c xxx 二、模式的更改 a)重命名&#xff1a;alter schema 旧名字 to 新名字; b)修改模式的归属用户&#xff1a;alter schema 模式名 to 新用户; 模式…

CDH安装出现Cannot open channel to X at election address Connection refused

CDH安装出现Cannot open channel to X at election address Connection refused 在刚刚启动cdh的时候要是出现以上的问题或者 org.apache.zookeeper.server.quorum.QuorumCnxManager: Cannot open channel to 3 at election address srv252/10.1.50.252:4181 java.net.Connec…

06组团队项目-Beta冲刺-2/3

github仓库&#xff1a;https://github.com/orgs/oucdehaze/repositories 冲刺概况汇报 前端 上周冲刺中完成的任务及遇到的问题 这一周我们小组中负责前端部分的同学继续完善了web网页的界面。在上一周的基础上对字体颜色和字体内容进行了修改&#xff0c;使得网站的专业性…

高可用接入层技术演化及集群概述

集群概述 集群的介绍及优势 集群&#xff1a;将多台服务器通过硬件或软件的方式组合起来&#xff0c;完成特定的任务&#xff0c;而这些服务器对外表现为一个整体。集群的优势 高可靠性&#xff1a;利用集群管理软件&#xff0c;当主服务器故障时&#xff0c;备份服务器能够自…

2023年国赛高教杯数学建模D题圈养湖羊的空间利用率解题全过程文档及程序

2023年国赛高教杯数学建模 D题 圈养湖羊的空间利用率 原题再现 规模化的圈养养殖场通常根据牲畜的性别和生长阶段分群饲养&#xff0c;适应不同种类、不同阶段的牲畜对空间的不同要求&#xff0c;以保障牲畜安全和健康&#xff1b;与此同时&#xff0c;也要尽量减少空间闲置所…

【SpringBoot实战】实现用户名密码登录

【SpringBoot实战】实现用户名密码登录 在Java项目中&#xff0c;实现用户名密码登录是最基本的功能。尽管实现起来不难&#xff0c;但也有些细节问题&#xff0c;故写下此篇博客作为记录。 1.创建用户表 CREATE TABLE ad_user (id int unsigned NOT NULL COMMENT 主键,name…