【新阁教育】穷学上位机系列——搭建STEP7仿真环境
经常有学员问我,学习上位机要不要买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仿真环境的更多相关文章
- 【新阁教育】基于ModbusTCP实现西门子1200PLC定位控制案例
1. 引言 今天新阁教育给大家分享一个<基于ModbusTCP实现西门子1200PLC定位控制案例>,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusT ...
- 【新阁教育】S7.NET+Log4Net+SQLSugar+MySQL搭建Iot平台
1.搭建西门子S7仿真环境 新阁教育提醒您基于PLCSIM-Advanced搭建西门子S7仿真环境注意事项: 1.通过dotNet工控上位机公众号后台发送PLCSIM-Advanced获取软件 2.安 ...
- 【新阁教育】基于EtherNet/IP实现欧姆龙NX系列PLC通信
1.引言 工业以太网协议 (Ethernet/IP) 是由ODVA所开发并得到了罗克韦尔自动化的强大支持.它使用已用于ControlNet和DeviceNet的控制和信息协议 (CIP) 为应用层协议 ...
- 【新阁教育】基于Log4Net实现日志信息双向存储(含源码)
1.引言 在上位机开发中,日志记录是必不可少的,我们可以通过日志记录做日志分析及错误追踪.初学者会采用txt文本写入来实现日志保存,但是文本写入不是线程安全,当存在多个线程同时写入日志时,就会出现一些 ...
- 【新阁教育】台达DVP-ES3 ModbusTCP通信案例
本文主要针对台达DVP-ES3系列PLC,实现上位机与PLC之间的ModbusTCP通信. 一.硬件说明 DVP-ES3 系列为高阶应用可编程控制器, CPU 内置4 组高速计数器输入.4组轴输出(脉 ...
- Flutter 即学即用系列博客——01 环境搭建
前言 工欲善其事,必先利其器 所以第一篇我们来说说 Flutter 环境的搭建. 笔者这边使用的是 MAC 电脑,因此以 MAC 电脑的环境搭建为例. Windows 或者 Linux 也是类似的操作 ...
- [Linux] PHP程序员玩转Linux系列-搭建代码开发环境
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...
- Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)
Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...
- 吾八哥学Python(一):搭建Python开发环境(Windows)
学习Python的第一步当然是要配置一下开发环境了,这里记录一下本人在windows 10(64位)下配置Python开发环境的过程,供跟我一样的新手参考一下. 一.下载Python安装包 目前最新的 ...
随机推荐
- Spring AOP系列(五)—反射
前言 前面我们进行了代理模式.静态代理.动态代理的学习.而动态代理就是利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称"动态代理类&qu ...
- 固件(Firmware)
来源:https://baike.baidu.com/item/%E5%9B%BA%E4%BB%B6/627829 固件 固件(Firmware)就是写入EPROM(可擦写可编程只读存储器)或EE ...
- P5911 [POI2004]PRZ (状态压缩dp+枚举子集)
题目背景 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 题目描述 桥已经很旧了, 所以它不能承受太重的东西.任何时候队伍在桥上的人都不能超过一定的限制. 所以这只队伍过桥时 ...
- 达梦产品技术支持培训-day7-DM8数据库备份与还原-原理
(本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SYSTEM ...
- JMeter实战(一) 体系结构
此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象. 为了便于后续讲解,先明确下2个术语. 元件:如HTTP请求.事务控制器.响应断言,就是一个元件. 组件:如逻辑控制器 ...
- shell-变量的数值运算-bc-typeset-中括号等方法介绍
1. bc命令的用法: bc是unix下的计算器,它也可以用在命令行下面: 例:给自变量i加1 i=2 i=`echo $i + 1|bc` --------效率低 因为bc支持科学计算 ...
- day39 Pyhton 并发编程02 后
一.开启子进程的另一种方式 import os from multiprocessing import Process class MyProcess(Process): def __init__(s ...
- localhost与127.0.0.1与0.0.0.0
localhost localhost其实是域名,一般系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1,localhost指向的IP地址是可以配置的 ...
- Spring源码解析之基础应用(二)
方法注入 在spring容器中,大部分bean的作用域(scope)是单例(singleton)的,少部分bean的作用域是原型(prototype),如果一个bean的作用域是原型,我们A bean ...
- go 继承
package main import "fmt" type Animal struct { Color string } // 继承动物结构体 type Dog struct { ...