C#上位机与S7-200Smart通信注意事项

S7-200SMART连接

问题描述

我们使用C#开发上位机和S7-200Smart系列PLC交互数据时,大多会用到Sharp7、Snap7之类的通信类库。有些通信类库默认的使用的是PG连接资源,而对于S7-200Smart来说,它的PG连接资源只有1个。

官网200smart提到的连接数是这么描述的:
S7-200 SMART CPU 可同时支持的最大通信连接资源数如下:
以太网:
 1 个连接用于与 STEP 7-Micro/WIN SMART 软件的通信。
● 8 个连接用于 CPU 与 HMI 之间的通信。
● 8 个连接用于 CPU 与其它 S7-200 SMART CPU 之间的 GET/PUT 主动连接。
● 8 个连接用于 CPU 与其它 S7-200 SMART CPU 之间的 GET/PUT 被动连接。
● 8 个连接用于 CPU 与第三方设备之间的Open IE主动连接。
● 8 个连接用于 CPU 与第三方设备之间的Open IE被动连接。
● 8 个连接用于 CPU 其他IO设备或者驱动器的PROFINET连接。

解决方法

这样的话就会导致我们的上位机程序和STEP7-Micro/WIN SMART无法同时访问PLC。所以我们需要调用方法SetConnectionType来修改连接类型。


public override void Start(){ //修改连接类型为GET/PUTs7.SetConnectionType(0x03); //可选2到10的任意值EasyLog.WriteLog($"{this._Address}:正在连接......");s7.ConnectTo();
}

这样修改连接类型后,我们的C#上位机程序就可以和STEP7-Micro/WIN SMART编程软件同时在线了。

原理详解分析

 

 

 

 

 

参考链接

Python与PLC踩坑实录:成功解决西门子 PLC S7-200_SMART与PC连接时不能同时用Python的snap7包和step7软件同时连接_python连接plc_python与plc踩坑实录-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/holyyy/article/details/103087745

C#上位机与S7-200Smart通信技巧 (qq.com)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzg3ODcyMjYwNg==&mid=2247484514&idx=1&sn=418e7e5d3fd2f2005ccb02529af1e959&chksm=cf0e2f23f879a635fe218aed8092857aa6ec6bd3f9d6249a2b0015e9f643f2233d0bd759d0d0&mpshare=1&scene=1&srcid=0425ee90GarJ9FjkCQd8rdcS&sharer_shareinfo=29c67aca3fd216102fdae6fa23b8af74&sharer_shareinfo_first=29c67aca3fd216102fdae6fa23b8af74#rd

基于Snap7使用C#编程访问西门子PLC系列教程(4)-Snap7Client连接函数 | 北岛夜话 (founderchip.com)icon-default.png?t=N7T8https://www.founderchip.com/?id=307

200 smart以太网通讯连接数及CPU上传报错问题 | 找知识-找PLC (zhaoplc.com)icon-default.png?t=N7T8https://www.zhaoplc.com/plc283769.htmlS7-200 SMART 通信协议与资源 - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/404205359

 特此记录

anlog

2024年4月25日

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

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

相关文章

保护通信的双重安全:消息认证与身份认证

目录 1. 散列函数 2. 消息认证 3. 身份认证 1.身份认证过程步骤: 2.身份认证的重要 3.身份认证方法 4. 实验 步骤 1: 设置通信场景 步骤 2: 添加消息认证 步骤 3: 尝试篡改数据 步骤 4: 验证消息认证 步骤 5: 尝试伪造身份 步骤 6: 验证身份认证 5.案例&a…

ngrinder3.4创建的maven项目-ngrinder-groovy3.4依赖一直下载失败-解决办法

前提-maven mirrors配置 <mirrors><!--阿里公有仓库--><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</ur…

人脸识别系统架构

目录 1. 系统架构 1.1 采集子系统 1.2 解析子系统 1.3 存储子系统 1.4 比对子系统 1.5 决策子系统 1.6 管理子系统 1.7 应用开放接口 2. 业务流程 2.1 人脸注册 2.2 人脸验证 2.2.1 作用 2.2.2 特点 2.2.3 应用场景 2.3 人脸辨识 2.3.1 作用 2.3.2 特点 2.3.3…

10分钟了解数据质量管理-奥斯汀格里芬 Apache Griffin

在不重视数据质量的大数据发展时期&#xff0c;Griffin并不能引起重视&#xff0c;但是随着数据治理在很多企业的全面开展与落地&#xff0c;数据质量的问题开始引起重视。 1.Griffin简介 Griffin是一个开源的大数据数据质量解决方案&#xff0c;由eBay开源&#xff0c;它支持…

Vue--关于v-model指令

语法糖 v-model即可以作用于表单元素&#xff0c;又可作用于自定义组件&#xff0c;无论是哪一种情况&#xff0c;它都是一个语法糖&#xff0c;最终会生成一个属性和一个事件。 当其作用于表单元素时&#xff0c;vue会根据作用的表单元素类型而生成合适的属性和事件。例如&a…

Vue2中实现聊天界面滚动条自动滑动到最底部

背景&#xff1a; 实现一个类似于 chatGpt 的聊天界面&#xff0c;发送消息后页面滚动条会自动滑动到底部&#xff0c;如图&#xff1a; 百度了一波方法 &#xff1a; 但是不知为何&#xff0c;我在项目里使用此方法不生效&#xff1f; 我甚至尝试了使用类名获取方式 &#x…

代谢组数据分析六:其他分析

Other Analysis {#OtherAnalysis} 除了常见的功能分析,还有其他的功能分析方法或R包。本章节主要介绍其他功能分析的方法以及结果解析。 所需要的数据:链接: https://pan.baidu.com/s/1xezhpZRebCsct0AtlDpSHg 提取码: 2djy FELLA: an R package to enrich metabolomics d…

Pycharm配深度学习环境所遇到的部分问题

问题1&#xff1a;Anaconda prompt界面安装CUDA出现的问题: 不管是&#xff1a;conda install pytorch torchvision torchaudio cudatoolkit11.3 -c pytorch 还是:pip ****什么的 问题描述&#xff1a;EnvironmentNotWritableError: The current user does not have write p…

html 中 meta 标签的属性详解

html 中 meta 标签的属性详解 \<meta> 标签是什么\<meta> 标签常用属性\<meta> 标签非常用属性 <meta> 标签是什么 <meta> 标签是 HTML 中用于描述网页元信息的元素。它位于 <head> 部分&#xff0c;不会显示在页面内容中&#xff0c;但对…

技术团队的管理方法和日常总结建议

管理学家德鲁克有言“管理是一种实践&#xff0c;其本质不在于知&#xff0c;而在于行&#xff0c;其验证不在于逻辑&#xff0c;而在于成果&#xff0c;其唯一的权威就是成就” &#xff0c;因此管理重实践看效果&#xff0c;但如果管理实践有理论依凭&#xff0c;那么实践起来…

android 如何显示网络地址对应的图片

1.android 如何显示网络地址对应的图片 在Android中显示网络地址对应的图片&#xff0c;通常有多种方法可以实现。以下是几种常见的方法&#xff1a; 1. 使用ImageView和Picasso库 Picasso是一个强大的图片加载库&#xff0c;它可以方便地加载网络图片并显示到ImageView中。 …

JS新语法let

使用let 定义变量 首先看到个有意思的问题&#xff0c;为什么let要叫letWhy was the name ‘let’ chosen for block-scoped variable declarations in JavaScript? 一、let可以定义作用在块级作用域的变量 //语法 let var1 [ value1] [, var2 [ value2]] [, ..., varN [ v…

Docker | 入门:安装与配置

Docker | 入门&#xff1a;安装与配置 Docker 和传统虚拟机区别 对于传统虚拟机&#xff1a; 虚拟出一套硬件&#xff0c;运行一个完整的操作系统&#xff0c;并在这个操作系统上安装和运行软件。 对于 Docker: 将一个个容器隔离开。 容器内的应用直接运行在宿主机的内容&am…

党建3d互动虚拟现实网上展厅有何优势?

在数字化浪潮席卷全球的今天&#xff0c;企业如何迅速踏上虚拟世界的征程&#xff0c;开启元宇宙之旅?答案就是——3D虚拟云展。这一创新平台&#xff0c;华锐视点以虚拟现实技术和3D数字建模为基石提供3D云展搭建服务&#xff0c;助力企业轻松搭建起虚拟数字基础设施&#xf…

基于微信小程序的旅游系统的设计与实现

基于微信小程序的旅游系统的设计与实现 Design and Implementation of a Tourism System based on WeChat Mini Program 完整下载链接:基于微信小程序的旅游系统的设计与实现 文章目录 基于微信小程序的旅游系统的设计与实现摘要第一章 绪论1.1 研究背景与意义1.2 国内外研究…

C语言阶段的题目解析

前言 我们C语言已经学习的差不多了&#xff0c;但是C语言之中存在的一些问题与难点我们还不一定能够又快又好地解决&#xff0c;为了夯实我们的基础&#xff0c;我们来练习几道稍微有点难度的C语言习题吧 例题一 题目 int main(void) {unsigned char i 7;int j 0;for (; i…

2024最新华为OD机试试题库全 -【找单词】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。 1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其…

stm32程序死机怎么回事

STM32程序死机可能由多种因素导致&#xff0c;以下是一些常见的原因及解决方法&#xff1a; 供电问题&#xff1a;供电电压不稳定或不在正常工作电压范围内&#xff0c;电源纹波大小过大&#xff0c;都可能导致STM32死机。此外&#xff0c;供电电源中的干扰杂讯也可能对单片机…

Docker-05 Docker容器命令

一、查看容器 查看正在运行的容器: docker ps属性说明CONTAINER ID容器 IDIMAGE所属镜像COMMAND启动容器时运行的命令CREATED创建时间STATUS容器状态PORTS端口NAMES容器名称查看停止的容器: docker ps -f status=exited查看所有容器(包括运行和停止): docker ps -a查看…

Android如何使用XML自定义属性

1、定义 在res/values文件下定义一个attrs.xml文件&#xff0c;代码如下: 2、使用 在布局中使用&#xff0c; 示例代码如下&#xff1a; 3、获取 最终来到这里&#xff1a;