经常有学员问我,学习上位机要不要买PLC硬件?

我一般的回答是:富则自行购买,穷则搭建仿真。

PLC硬件,对于学习上位机来说,是锦上添花的事,经济条件允许,有则更好,条件不允许,我们也可以通过搭建仿真环境的方式来学习,因此我专门准备了一个系列——穷学上位机系列。

01、写在前面

本文的主题是基于STEP7搭建西门子仿真环境,STEP7是西门子300系列、400系列的编程软件,早期学习PLC的小伙伴对这个一定不陌生,虽然现在可以在TIA环境下编写S7-300/400的程序,但是不可否认,仍然有很多企业(尤其是制造业)在使用S7-300/400 PLC,如果仅仅使用S7-300/400,我觉得STEP7相比博图来说,会更加小巧和方便。
软件环境:SIMATIC Manager V5.6、PLCSIM V5.4、NetToPLCsim、CMSPro硬件环境:WIN10 64位

软件获取关键词:STEP7、PLCSIM、NetToPLCsim、CMSPro【dotNet工控上位机:thinger_swj】

02、仿真步骤

1、创建项目:使用STEP7创建一个PLC项目,取名thinger_cn_PLCSimulator,插入一个SIMATIC 300站点,如下所示:

2、硬件组态:打开硬件组态,首先插入一个机架Rack,然后插入一个S7-300的CPU,最好直接选择带PN接口的,这里选择的是CPU 315-2 PN/DP,如下所示:

3、创建Ethernet:双击上图中的PN-IO,在弹出的窗体中,选择属性>>新建,然后将IP地址修改成192.168.1.123,这里的IP地址是自己设置的,只要和本机在同一网段即可。

4、编译保存:点击下图中的红框图标,将硬件组态编译并保存。件仿真300/400PLC,而不需要安装庞大的博图软件,而且这里主要采用的是NetToPLCsim的方案,也不需要安装PLCSIM-Advanced。

5、启动NetToPLCsim:以管理员权限运行NetToPLCsim,会弹出以下窗口,选择是即可。

6、启动PLCSIM:在SIMATIC Manager窗体中,点击下图中的红框图标,启动PLCSIM,如果该图标为灰色,说明PLCSIM未安装。

7、下载PLC程序:在SIMATIC Manager窗体中,点击下图中的红框图标,下载PLC程序。

8、添加Station:回到NetToPLCsim软件中,点击Add,添加Station,如下图所示:

9、Start Server:在NetToPLCsim软件中,点击Start Server,如下图所示:

10、通信测试:按照以上步骤执行完成后,一个S7-300PLC的仿真环境就搭建好了,接下来可以进行通信,这里使用的是通信测试平台,设置IP地址为192.168.1.103,PLC类型选择300PLC,读取变量选择MD0(由于没有写任何程序,也没有创建DB块,所以就直接测试M存储区变量),类型选择INT类型,读取并写入数据,进行测试,结果如下所示:【dotNet工控上位机:thinger_swj】

特别注意:这里的IP地址要填写PC的IP地址,而不是PLC的IP地址。

03、整体总结

STEP7仿真最大的好处在于可以使用SIMATIC Manager软件仿真300/400PLC,而不需要安装庞大的博图软件,而且这里主要采用的是NetToPLCsim的方案,也不需要安装PLCSIM-Advanced。

【晶晶助教微信:xiketang777】

【dotNet工控上位机:thinger_swj】

【新阁教育】穷学上位机系列——搭建STEP7仿真环境的更多相关文章

  1. 【新阁教育】基于ModbusTCP实现西门子1200PLC定位控制案例

    1. 引言 今天新阁教育给大家分享一个<基于ModbusTCP实现西门子1200PLC定位控制案例>,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusT ...

  2. 【新阁教育】S7.NET+Log4Net+SQLSugar+MySQL搭建Iot平台

    1.搭建西门子S7仿真环境 新阁教育提醒您基于PLCSIM-Advanced搭建西门子S7仿真环境注意事项: 1.通过dotNet工控上位机公众号后台发送PLCSIM-Advanced获取软件 2.安 ...

  3. 【新阁教育】基于EtherNet/IP实现欧姆龙NX系列PLC通信

    1.引言 工业以太网协议 (Ethernet/IP) 是由ODVA所开发并得到了罗克韦尔自动化的强大支持.它使用已用于ControlNet和DeviceNet的控制和信息协议 (CIP) 为应用层协议 ...

  4. 【新阁教育】基于Log4Net实现日志信息双向存储(含源码)

    1.引言 在上位机开发中,日志记录是必不可少的,我们可以通过日志记录做日志分析及错误追踪.初学者会采用txt文本写入来实现日志保存,但是文本写入不是线程安全,当存在多个线程同时写入日志时,就会出现一些 ...

  5. 【新阁教育】台达DVP-ES3 ModbusTCP通信案例

    本文主要针对台达DVP-ES3系列PLC,实现上位机与PLC之间的ModbusTCP通信. 一.硬件说明 DVP-ES3 系列为高阶应用可编程控制器, CPU 内置4 组高速计数器输入.4组轴输出(脉 ...

  6. Flutter 即学即用系列博客——01 环境搭建

    前言 工欲善其事,必先利其器 所以第一篇我们来说说 Flutter 环境的搭建. 笔者这边使用的是 MAC 电脑,因此以 MAC 电脑的环境搭建为例. Windows 或者 Linux 也是类似的操作 ...

  7. [Linux] PHP程序员玩转Linux系列-搭建代码开发环境

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...

  8. Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)

    Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...

  9. 吾八哥学Python(一):搭建Python开发环境(Windows)

    学习Python的第一步当然是要配置一下开发环境了,这里记录一下本人在windows 10(64位)下配置Python开发环境的过程,供跟我一样的新手参考一下. 一.下载Python安装包 目前最新的 ...

随机推荐

  1. OpeMp【schedule】

  2. chrome浏览器的两个坑,以及其他

    chrome打开本地网页时,不能保存cookiechrome拒绝使用ajax访问本地文件(火狐可以) ipinfo.io/ip 获得公网iphttps://v1.hitokoto.cn/ 获得一句动漫 ...

  3. Java 文件 IO 操作

    window 路径分割符: \ 表示 windows 系统文件目录分割符 java 代码在 windows 下写某个文件的话需要下面的方式 D:\\soft\\sdclass.txt  其中一个单斜杠 ...

  4. 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结

    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...

  5. matlab中repmat函数的用法

    转载:https://blog.csdn.net/facetosea1/article/details/83573859 B = repmat(A,m,n)B = repmat(A,[m n])B = ...

  6. Serial.begin

    串口波特率的设置:通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,只能配置串口的波特率. 使用Serial.begin(speed, config)可以配置数据位.校验 ...

  7. Matlab中imagesc用法

    来源:https://ww2.mathworks.cn/help/matlab/ref/imagesc.html?searchHighlight=imagesc&s_tid=doc_srcht ...

  8. Java中的对象都是在堆上分配的吗?

    作者:LittleMagic https://www.jianshu.com/p/8377e09971b8 为了防止歧义,可以换个说法: Java对象实例和数组元素都是在堆上分配内存的吗? 答:不一定 ...

  9. 安装redis,phpstudy

    第一步: 先下载一下我分享自己的百度网盘里面的资料,网友们下载即可 链接:https://pan.baidu.com/s/1SVO-yAEqbFuvhiiI6Dm3VQ 提取码:u8t0 复制这段内容 ...

  10. linux块设备驱动---程序设计(转)

    块设备驱动注册与注销 块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned i ...