首页 > 编程语言 >C#通过PLCSIM ADVANCED与博图连接

C#通过PLCSIM ADVANCED与博图连接

时间:2023-08-14 11:44:19浏览次数:39  
标签:C# PLCSIM 上位 博图 PLC 设置 连接

上位机,这里使用C#做上位机程序;

在实际项目中,一般上位机可以直接与西门子PLC连接通信;

在项目调试阶段,没有PLC的情况下可以通过PLCSIM ADVANCED仿真软件与博图连接,实现仿真调试。

 

步骤如下:

第一步、创建博图项目并设置相关参数。

1、右键项目树中的项目名称➡属性➡保护➡勾选块编译时支持仿真。

注意:此处不勾选,PLC程序下载报错!

 

2、设置CPU的X1接口的IP地址,这里设置为192.168.0.1,如下:

 

3、同样在CPU属性里设置连接机制,勾选允许来自远程对象的PUT/GET通信访问。

注意,此处不勾选,上位机可以正常连接并打开,但是读取数据时报错!

 

4、如果要访问DB块中的数据,需要取消勾选数据块属性中优化的块访问。如下:

 

第二步,设置PLCSIM ADVANCED,如下图。

注意,

1、实例中PLC的IP地址要求与博图中CPU的x1接口的IP地址相同,例如这里设置为192.168.0.1;

2、电脑的网络设置,虚拟网卡Siemens PLCSIM Virtual Ethernet Adapter的IP设置为同网段的不同IP,例如这里设置为192.168.0.100;

 

第三步、完成第一步和第二步后,就可以在博图中进行下载程序、在线、启动PLC,等待上位机连接。

第四步、上位机程序

1、使用S7NETPLUS库,可以在nuget中下载。

2、引s7.net库,创建PLC实例,进行数据读写,如下:

 

标签:C#,PLCSIM,上位,博图,PLC,设置,连接
From: https://www.cnblogs.com/hanzq/p/17628218.html

相关文章

  • Android 编译速度提升黑科技 - RocketX
    怎么做编译优化,当时说了个方案,就是编译时将所有的模块依赖修改为aar,然后每次编译将变动的模块改成源码依赖,同时编译完成再将修改模块上传为aar,这样可以始终做到仅有最少的模块参与源码编译,从而提升编译速度。当然说起来轻松,做起来没有那么容易,终于有位小伙伴将上述描述开发成一个......
  • 数据集:Pascal VOC 2007数据集分析
    1VOC2007基本信息作为标准数据集,voc-2007是衡量图像分类识别能力的基准。faster-rcnn,yolo-v1,yolo-v2都以此数据集为最为演示样例,因此,有必要了解一下本数据集的组成架构。VOC数据集共包含:训练集(5011幅),测试集(4952幅),共计9963幅图,共包含20个种类。aeroplanebicyclebirdboatbo......
  • vscode终端git自动补全
    vscode终端git自动补全ctrl+shift+p输入setting.json,选择如下:加代码"terminal.integrated.profiles.windows":{"GitBash":{"path":"D:\\develop\\tool\\Git\\bin\\bash.exe",//注意是bash.exe而不是git-......
  • 优化:深度神经网络Tricks【笔记】
    Slide:http://lamda.nju.edu.cn/weixs/slide/CNNTricks_slide.pdf博文:http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html 1)dataaugmentation;    2)pre-processingonimages;     3)initializationsofNetworks;      4)sometips......
  • C++容器---关联式容器<set>&<multiset>
    由于multiset和set相差不大,所以基本以set做练习;集合(Set)是一种包含已排序(升序)对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。集合元素既充当数据,又充当关键码,以升序的顺序存储;multiset中的元素可以重复。1)不能直......
  • C++容器---关联式容器<map>&<multimap>
    由于multimap和map相差不大,所以基本以map做练习;集合(map)是一种包含已排序(升序)对象的关联容器。map/multimap会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。集合元素的第一个参数是key,第二个元素当做value,元素的顺序与key有关,与value无关;模板原......
  • ElasticSearch批量重建索引
    ElasticSearch批量重建索引ver7.16.2ES的设计目标是针对检索的,对修改的支持不够好,特别是对数据结构的修改,和关系数据库不一样,修改数据结构后,索引的历史数据不会改变,如果需要历史数据也应用修改后的结构和设置,需要重建索引(Reindex).重建索引的一般流程为:基......
  • 这是一份详细&清晰的 上传Android Library到JCenter 教程:如何使得自己的代码被别人优
    前言在日常Android开发中,我们经常会通过远程引用别人的代码(AndroidLibrary)来实现一些功能,如引用网络请求库Okhttp//通过在AndroidStudio的build.gradle文件中添加依赖dependencies{compile'com.squareup.okhttp:okhttp:2.4.0'}那么,该如何使得自己的代码(AndroidLibrary......
  • 集合-Collections及常用方法
    一.概述Collections类是Java提供的一个操作Set、List、Map等集合的工具类Collections类提供了许多操作集合的静态方法,借助这些静态方法可以实现对集合元素的排序、查找替换和线程安全化等操作Collections类中的方法都是静态的Collections类中没有构造函数,不能进行实例化二.常......
  • Switch语句使用方法和注意点
    Switch语句是一种多分支选择结构,与case、break、default配合使用,控制程序运行流程。Break控制退出Switch代码块,如果不使用break控制,程序会顺序执行后续case语句中的代码。default可以用来做错误处理,专门处理case以外的所有情况。intmain(){ intday=0; printf("请输入数字:")......