搭建西门子PLC上位机开发Windows虚拟机环境

因为搭建西门子PLC上位机开发环境需要安装四五个软件,为防止病毒因此在虚拟机搭建。虚拟机环境搭建坑还是挺多的,此处对于虚拟机安装不做详细展开,需要自行百度,同时帮助其他像我一样的新手避坑。代码方面因为我也是新手所以仅供参考,当然有意见建议提供我会非常乐意学习。

资源下载

VMWare

Windows系统安装包

西门子套件(网络文件不保证安全)

NetToPLCSIM

虚拟机安装

1. 安装VMWare(此处省略,没啥坑点,自行百度即可)

2. 虚拟机安装Windows操作系统

选择典型推荐、下一步

选择安装程序光盘镜像文件,即下载的Windows安装包iso文件,然后下一步

百度个产品密钥粘贴一下(YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY),然后下一步

自行设置虚拟机名称,并选择存放位置,注意存放位置需要放在空间较大的磁盘,防止后期不够用

设置虚拟机磁盘不小于100G,虚拟磁盘单个多个都可以,如果空间比较小建议单个

点击自定义硬件,修改下参数

调整内存处理器参数,内存不小于8G(似乎是博图的安装要求,记不清了),处理器可以自行设置,此参数后期可调整,不必担心

点击完成执行安装,安装过程与电脑装操作系统一样,无特殊注意事项

网络配置

点击 VMware 菜单栏的 编辑,选择虚拟网络编辑器,在弹出的虚拟网络编辑器窗体中,点击更改设置。选择VMnet8取消勾选使用本地 DHCP 服务将 IP 地址分配给虚拟机,查看下方的子网 IP子网掩码,点击 NAT设置。在NAT 设置窗体中,记下网关IP内容。

配置本机VMNet8,网关与上一步设置保持一致

设置虚拟系统中网卡的TCP/IPv4 属性,默认网关与宿主机VMnet8 网卡一致,IP 地址最后一位自定义设置

如配置后无法联网,大概重启一下就好了。然后关闭防火墙,本机应该就可以ping通虚拟机ip了

西门子环境安装
先安装STEP7 Professional

一路下一步即可

安装WINCC professional 

 注意安装需要环境.net framework 3.5 SP1 ,其他一路下一步即可

安装S7-PLCSIM

没啥注意点,一直下一步即可,不过总是要求重启,安装包有文档说明怎么处理,如果不在乎重启那无所谓

授权

执行Sim_EKB_Install,如下图执行授权安装即可

PLC设备模拟
创建设备

打开TIA Portal,创建新项目

配置属性

创建数据块

取消优化(设置后可通过偏移量读写对应字段值)

添加字段,随便加几个测试用即可

配置NetToPLCsim

NetToPLCsim我理解有点像端口映射,将宿主IP映射到PLC IP,映射完成就可以通过宿主IP访问PLC IP,这里需要注意NetToPLCsim必须先于博途仿真运行

以管理员身份启动NetToPLCsim.exe

然后操作博图点击“开始仿真”,并下载到设备,启动模拟机,搜索到虚拟设备、点击下载

点击装载、完成

点击run

回到NetToPLCsim点击Add,选择对应IP,修改槽位(按上述设置,此处选1),添加完成点击Strat Server

至此测试环境就完成了

开发测试

首先创建个WINFORM测试程序(此处IP为虚拟机IP,端口其实没有必要设置,默认就是102)

using S7.Net;
using System; 
using System.Windows.Forms;

namespace PLCTEST
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonConnect_Click(object sender, EventArgs e)
        {
            textBox_log.AppendText("开始连接" + Environment.NewLine);
            Plc plc = new Plc(CpuType.S71200, textBox_IP.Text,int.Parse(textBox_port.Text), 0, 0);
            plc.Open();
            textBox_log.AppendText("连接成功" + Environment.NewLine);
    
            bool result = (bool)plc.Read("DB1.DBX0.0");
            textBox_log.AppendText("DB1.DBX0.0 value: " + result + Environment.NewLine);
            textBox_log.AppendText("写入新值:"+ !result + Environment.NewLine);
            plc.Write("DB1.DBX0.0", !result);
            result = (bool)plc.Read("DB1.DBX0.0");
            textBox_log.AppendText("DB1.DBX0.0 new value: " + result + Environment.NewLine);
        }
    }
}

到这一步环境配置和代码测试就结束了,更进一步的上位机学习敬请期待吧 

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值