我!!终于!!成功了!!!本踩坑大王终于跳出来了!!!!先放个图纪念一下

下面详细记录一下如何用C#上位机与西门子S7-1200PLCSIM中进行仿真连接。过程不难,但是我踩了很多坑。

以下是我整个开发的环境和配置

  • 安装一个以太网环回配适器这个要视情况安装,由于我的电脑是连接无线网,没有可用的以太网,我之前的网络配置是下图被框上的那部分,在未安装虚拟网卡的时候一直都连接不上。安装之后得以解决~)
    • 教程:Windows10系统添加虚拟网卡(Microsoft Loopback Adapter)的方法_windows虚拟网卡_一个懒鬼的博客-CSDN博客
  • Visual Studio 2019:编写C#界面
    • 本项目中需要配置S7.net, 教程是这个博客的前半部分↓
    • 西门子PLC与C#程序的S7.net通信_qq_20792765的博客-CSDN博客
  • TIA Portal V16:编写梯形图等配置,这个不多说
  • S7-PLCSIMV16:仿真PLC
  • NetToPLCSIM-S7:用于作为PLCSIM与C#之间的媒介,二者无法直接联通
    下载&使用教程:西门子——好用的通讯仿真通讯工具NetToPLCsim_西门子仿真端口_我叫DP的博客-CSDN博客

如果始终无法联通,可能是以下问题

1.没有安装虚拟网卡,那就按照上面的教程装一个

2.没有将虚拟网卡的地址配置到与PLCSIM同频段


下面按照上位机开发的思路和顺序,做一个教程

1.查看PLC的地址,并将自己的网口地址与之匹配

PLC的地址在这里:

配置我们的网口地址:

打开网络和共享中心---更改配适器选项---右键以太网2---属性

2.编写一个C#界面

我只做一个简单的连接操作,所以整个界面非常简单

它的功能就是我点击一下【连接】按钮,如果连接成功将在下面显示一行【PLC成功连接】,如果不成功将显示【PLC未成功连接】。点击【断开连接】,可以实现连接断开

完整代码段:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using S7.Net;namespace YaJiYunDong
{public partial class Form1 : Form{public Form1(){InitializeComponent();}Plc myplc = new Plc(CpuType.S71200, "192.168.1.20", 0, 1);private void button1_Click(object sender, EventArgs e){myplc.Open();if (myplc.IsConnected){label1.Text = "PLC已连接";}else{label1.Text = "PLC连接未成功";}}private void Btn_disconnect_Click(object sender, EventArgs e){myplc.Close();label1.Text = "PLC连接已断开";}}
}

其中比较核心的代码是这些:

第二部那个橘黄色的框框一定要注意!我在这卡了好久,因为每次配置的都是PLCSIM的地址,总是连接失败

3.配置PLC端

在组态好的PLC设备属性中,找到“防护与安全”–>“连接机制”中,勾选“允许来自远程对象的PUT/GET通信访问”;

配置好后,编译---启动仿真让 PLCSIM 保持在RUN的状态

4.NetToPLCSIM连接

这里选择刚才配置的环回配适器地址

这里选择PLCSIM 的地址

因为我这个是S7-1200,所以slot改成1,然后OK

到这里就成功连接上了~

另外需要注意的是,如果搜索不到PLCSIM的IP地址,重新仿真一下就可以了

也可能在打开NetToPLCSim的时候,会弹出“Port 102 is in use!”的警告,如果遇到这个情况,点击是,之后在将PLCSIM关掉重新启动一下就可以了

总之,这里遇到问题就把PLC重新仿真一下试试

5.上位机连接

在此之前要确保仿真PLC在RUN的位置

运行我们的上位机程序,在界面中点击【连接】,显示PLC已连接,则说明成功~

这个小例子比较简单,在这个基础上后续再进行优化~


以下问题在上述规范操作中都可以得到解决:

1. 由于连接方在一段时间后没有正确答复

2.界面提示 “连接未成功”


------------------最后希望大家都能ping通!----------------

C#界面通过nettoplcsim与西门子PLC仿真连接相关推荐

  1. 西门子PLC S7-200smart连接威伦通触摸屏流程

    目录 一.准备物料 二.制作通讯线        1.查询端口及端口脚位定义        2.制作通讯线 三.通讯测试连接       1.触摸屏设置及编辑程序       2.PLC编辑程序   ...

  2. NetToPlcSim_PLC_西门子PLC访问DEMO

    一.前言 (1)电脑全仿真实现上位机与仿真PLC间的通信,通过NetToPlcSim桥接本机电脑IP地址与PLCSIM仿真的实际PLC的IP地址,再通过<西门子PLC访问DEMO>测试软件 ...

  3. 西门子 PLC TCP 通信协议

    flexmanager PLC 通信协议 http://www.flexem.cn/Index.html PLC与PC网络通信实验 https://blog.csdn.net/loblab/artic ...

  4. 信捷plc485通信上位机_基于Snap7实现与西门子PLC通信

    如果你对西门子PLC通信或者上位机开发稍微有一点研究的话,应该对Snap7有所耳闻. Snap7是一个基于以太网与西门子S7系列PLC通信的开源库,在世界领域应用很广.但也许是因为资料比较少,而且很多 ...

  5. 西门子PLC与DGUS Ⅱ屏软硬件连接指南

                                      DGUS应用锦集(七)西门子PLC软硬件连接指南 本文介绍迪文DGUS Ⅱ触摸屏与西门子PLC通过Modbus RTU协议实现通讯的 ...

  6. 从零搭建本地PLC仿真环境:SIMATIC_PLCSIM_Advanced、Portal、KEPServer、OPCUA客户端工具

    背景 近期在为一个工业控制领域的上位机数采项目进行技术预研,苦于手头没有PLC(Programmable Logic Controller,可编程逻辑控制器)硬件设备,为了快速.完整地体验下从 PLC ...

  7. 西门子PLC的S7协议报文解析说明

    我们以S7的1500系列来查看握手和读取.写入[字Word或者位Bit]命令报文 以下报文不做说明时都是十六进制字节. 西门子PLC需要连接成功后发送两次握手命令方可进行读写通信. 西门子PLC的S7 ...

  8. WINCC与STEP7的仿真连接_过路老熊_新浪博客

    一.概述 测试WINCC与西门子PLC的连接可以直接在本机完成,不需要实际PLC 二.连接步骤 1.  将程序下载至PLC-SIM中,并将PLC-SIM中的连接方式选为PLCSIM(TCP/IP),如 ...

  9. snap7通过NetToPLCsim工具接入模拟西门子PLC S7-1200步骤简介

    概述 本文主要是设备通过S7协议接入西门子PLC S7-XXXX系列的开发使用文档,主要包括西门子PLC组态工具博途V15,PLC模拟工具S7-PLCSIM,IP地址映射工具NetToPLCsim等使 ...

最新文章

  1. 6-spark学习笔记-spark core 数据与存储
  2. 一文读懂数据库最新技术趋势:TDSQL带你深度纵览VLDB 2019
  3. 1.怎样定制VC#DataGrid列标题?
  4. Confluence 6 选择一个外部数据库
  5. 从“在winform里打开网页功能”引发的问题探究
  6. Java宣言的时候,JAVA面向对象-对象宣言
  7. 在 vi 中替换字符串
  8. 深度学习 机器学习 花书免费下载《Deep Learning》
  9. 如何快速连接无线Wifi 使用二维码
  10. Halcon_3D点云筛选,目标轮廓提取,切平面求取目标间隙宽度
  11. 微信小程序 — 公立医院申请
  12. 使用VM Ware创建虚拟机
  13. 李宏毅 Transformer(Decoder部分)
  14. navicat导入excel文件的步骤以及可能碰到的问题
  15. 文本分析简历项目收集-----机器学习(仅供参考)
  16. java微信开发平台_Java微信公众平台开发(1) 接入微信公众平台
  17. 马云和他的少年阿里 百度云下载
  18. html鼠标手状态,css鼠标样式
  19. 【虚幻引擎UE】UE5 简单实现范围计算并绘制圆圈
  20. 【复杂网络社团结构研究】拉普拉斯矩阵定义及性质详细推导

热门文章

  1. iis服务器响应上限,IIS6 ASP 页的执行造成响应缓冲区超过其配置限制的解决方法...
  2. c++——iocp模型
  3. 开科唯识冲刺创业板:年营收3.7亿 红杉奕信是二股东
  4. Ubuntu添加用户到docker组用户,免sudo执行
  5. SpringBoot临时文件目录/data/apps/temp
  6. 在线文档技术-编辑器篇
  7. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
  8. Filter 返回 json 数据
  9. YOLOv1的损失函数和关键概念详解
  10. CentOS7mini版给yum更换阿里云仓库