ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

WinCC 8.0与STEP 7 V5.7 SP1虚拟机搭建实战指南

2026/10/3 0:06:17 拓冰建站 浏览量
WinCC 8.0与STEP 7 V5.7 SP1虚拟机搭建实战指南 先说个实在话我当初在Win10 22H2上折腾WinCC 8.0和STEP 7 V5.7 SP1的时候差点把手里的工程电脑干成板砖。不是因为软件本身安装有多难而是新旧组件互相拖后腿——装上WinCC 8.0之后STEP 7 V5.7的授权管理器莫名其妙失效把STEP 7调试完WinCC的画面运行又变得卡顿。最后我索性把所有工控软件全部搬进虚拟机宿主系统只保留一个干净Win10 22H2问题一次性解决。这篇就把我这次搭建基于WinCC 8.0与STEP 7 V5.7 SP1的PLC编程虚拟机的全过程写出来包括虚拟机怎么配置、两个软件安装的先后顺序、以及与PLC通讯调试时最容易踩的坑尤其适合需要同时维护旧设备和新建项目的调试工程师参考。1. 为什么非要用虚拟机来跑WinCC和STEP 71.1 我踩过的宿主直装惨案最早我也是图省事直接在实机Win10 22H2上装了STEP 7 V5.7 SP1。安装过程倒是一路顺风授权用Simatic EKB的对应版本也能认。当时我还觉得网上那些说STEP 7和WinCC环境冲突的人是危言耸听结果等我把WinCC 8.0装上去之后事情就开始不对劲了。第一个现象是WinCC 8.0自带的SQL Server安装过程反复回滚提示实例名称冲突。后来查了半天发现是STEP 7安装时带入的SIMATIC NET组件占用了一些环境变量和系统服务。第二个现象更让我头疼我用WinCC 8.0打开之前V7.3版本做的项目时画面编辑器里经常出现控件注册失败而同样的安装包在同事的干净电脑上完全正常。其实这已经不是个例了。西门子官方对WinCC和STEP 7版本组合一向有兼容清单但清单列的是可以装在同一台机器实际使用时授权服务、SQL Server实例、COM组件注册这些底层东西互相干扰的概率远比想象中大。对于咱们这种既要写PLC程序、又要做上位机画面的工程师一台机器上干干净净只有一个工控环境比什么都重要。1.2 虚拟机方案带来的四个实打实好处第一环境隔离。虚拟机里装的WinCC 8.0、STEP 7、SIMATIC NET、KEPServerEX这些东西所有的注册表修改和服务安装都在虚拟磁盘上完成宿主机的Win10 22H2不会沾到半点。我现在的宿主机连杀毒软件都没装就一个系统干净得跟刚安装完一样。第二快照回滚。安装STEP 7 V5.7 SP1之前打一个快照装完软件、激活完授权、做一次与S7-1200或者S7-300的通讯测试后再打一个快照。后面万一软件崩溃、授权文件损坏、或者调试过程中系统被搞坏直接恢复到可用状态十分钟就搞定不用重装系统。第三硬件独立性。虚拟机内部网卡的MAC地址是固定的软件授权绑定的是虚拟硬件信息换宿主机的时候直接把虚拟机文件复制过去不需要重新激活。这一点对于经常换电脑的工程师来说太重要了。第四方便备份和迁移。整个虚拟机就是一个文件夹加几个vmdk文件压缩之后拷到移动硬盘里随时可以在另一台电脑上继续干活。比起重新安装一整套西门子软件省下来的时间足够把整个项目重新梳理一遍。1.3 网络热词里那些疑难杂症其实多数和宿主环境有关我看最近工控圈子里很多人在搜WinCC历史趋势曲线脚本KEPServerEX和WinCC通讯STEP7使用上传程序覆盖之类的话题。实际上这些问题的根源有很大一部分并不在软件本身而在运行环境。举一个典型例子WinCC的在线趋势控件和历史趋势控件运行时需要调用系统的Windows图形组件和数据库接口。如果宿主系统里装了其他大型软件尤其是.net环境被改过、或者显卡驱动不兼容趋势曲线要么不刷新要么历史数据组件直接空白。而在虚拟机里显卡可以虚拟化操作系统纯净这类组件冲突的概率会显著降低。所以我个人对虚拟机性能不行、工控软件跑不动这个说法持保留态度。WinCC 8.0和STEP 7 V5.7 SP1都不是什么吃硬件的怪物关键在于环境稳定。实际测试下来虚拟机运行WinCC 8.0的响应速度和实机几乎没有肉眼可感知的差别。2. 硬件评估与虚拟机平台选型2.1 什么样的电脑适合做虚拟机宿主机先别急着下载VMware先评估一下手上的电脑配置。我用的是一台i5-12400F处理器、32GB内存、1TB NVMe固态的台式机虚拟机分配了8GB内存和4核CPU给WinCCSTEP 7环境同时还会偶尔跑一个Win10 LTSC虚拟机做HMI组态测试宿主整体负载在60%左右没有任何卡顿。最低配置的话我的建议是CPU至少6核内存最少16GB固态硬盘必须安排上。为什么固态硬盘是硬性要求因为WinCC 8.0的工程文件动辄几个GB项目归档、趋势数据存储、SQL Server日志写入都涉及大量随机读写机械硬盘在这种负载下会成为明显的瓶颈。另外要注意一个容易被忽略的点CPU要在BIOS里开启VT-x/AMD-V虚拟化技术。现在的电脑默认基本都开着但某些品牌机为了安全默认关闭。如果发现VMware创建虚拟机后提示此主机支持Intel VT-x但Intel VT-x处于禁用状态就需要重启进BIOS开启。这个坑导致VMware安装Win10时直接蓝屏的人不在少数。2.2 VMware Workstation 17的设置细节虚拟机平台我选的是VMware Workstation 17 Pro界面清爽对新版Win10 22H2的支持也到位。创建虚拟机时有几个参数不要图省事用默认值内存设8GB最稳Win10 22H2开完机至少要占2GBWinCC 8.0运行时再吃掉2-3GB剩下给STEP 7和SQL Server操作空间。如果宿主机内存足够大可以给到12GB但没必要超过16GB。处理器先设4核。WinCC的变量采集和归档写入是多线程的4核比较均衡。设置时右侧的虚拟化引擎选项保持默认即可不要勾选虚拟化Intel VT-x/EPT或AMD-V/RVI因为你不需要在虚拟机里再套一层虚拟化。硬盘分配120GB。STEP 7 V5.7 SP1安装完大概占20GBWinCC 8.0装完加SQL Server大概25GB加上页面文件和未来工程文件120GB够用三年。不建议用单文件选将虚拟磁盘存储为单个文件性能稍好一些。网络先选NAT模式后面讲PLC通讯时会详细展开为什么要这样选以及什么时候改桥接。关于VMware Workstation 17的安装过程网上已经有非常成熟的教程。需要提醒的是安装完VMware后先别急着建虚拟机先在宿主机上跑一次系统更新把Win10 22H2的补丁打全否则虚拟机里装系统时可能会遇到奇怪的USB驱动或显卡驱动问题。2.3 老通讯卡CP5611/PC Adapter的直通问题如果你调试的还是S7-300/400这种老家伙通讯方式大概率还是DP网卡或者PC Adapter。这就涉及虚拟机的USB设备直通和PCI设备直通。USB方式的PC Adapter直通比较简单虚拟机设置里添加USB控制器然后插上PC AdapterVMware会弹出对话框询问连接到主机还是虚拟机选择虚拟机即可。实测MPI下载、S7-300的PG/PC通讯都很稳定没有明显延迟。DP网卡CP5611就麻烦一点。它是一张PCI卡VMware Workstation支持PCI直通但前提是宿主机网卡支持VT-dIntel或AMD-ViAMD。而且把PCI卡直通给虚拟机后宿主机就完全无法使用这张卡了上下虚拟机间切换需要重启。我的建议是如果需要大量调试老设备最好还是用USB口的PC Adapter灵活度大得多。如果实在要用CP5611可以考虑用虚拟机软件抓走整块PCI设备但这需要BIOS里开启VT-d且容易引发蓝屏不推荐新手尝试。3. Win10 22H2虚拟机的系统安装与瘦身配置3.1 镜像选择与安装要点虚拟机里装Win10 22H2镜像一定要选MSDN原版不要用各种修改版和精简版。因为WinCC 8.0在安装时会检查系统组件完整性精简版系统往往缺少某些系统级库文件导致安装到一半报无法安装所需的组件错误。安装系统这一步没什么特别之处VMware引导ISO后跟着提示走就好。注意安装分区时不要贪心100GB的虚拟硬盘全部作为C盘即可不要手动分区。装完系统之后我习惯做三件事设置计算机名、安装VMware Tools、打满Windows更新。VMware Tools很重要它提供虚拟显卡驱动和拖拽文件功能WinCC 8.0的画面编辑器对显卡驱动极其敏感没有Tools的虚拟机打开画面时如果出现黑色块或者控件闪烁优先考虑更新Tools。3.2 必关的系统坑自动更新、休眠、Windows Defender实时保护这一步非常重要直接决定后面安装西门子软件的成败。关闭Windows自动更新。虚拟机里的系统不需要通过更新补丁来保证安全性更多的是要保证工控软件运行环境的稳定性。Windows更新经常会偷偷替换系统文件而西门子软件和这些系统文件的兼容性是经过严格测试的第三方补丁替换后很容易出问题。设置方法WinR输入services.msc找到Windows Update服务双击启动类型改为禁用。关闭休眠。WinCC的数据库服务会持续占用内存休眠功能会把内存数据写入磁盘又无法完全断点恢复容易导致SQL Server下次启动时数据不一致。在管理员命令行执行powercfg -h off即可。关闭Windows Defender实时保护。这一步争议比较大但我实测下来WinCC 8.0的授权服务和STEP 7 V5.7 SP1的编程过程中Defender的实时扫描确实会偶发地锁定正在写出的文件导致编译或保存工程时出现文件被占用的报错。我处理的方式是控制面板-系统和安全-Windows安全中心-病毒和威胁防护把实时保护关掉。如果你不想关至少在安装和首次编译项目时临时关闭等环境稳定后再放行。3.3 显卡与显示设置对WinCC画面性能的影响很多人低估了WinCC运行系统对显卡的要求。WinCC画面里的动画、趋势控件、报警列表刷新其实都依赖图形渲染。在虚拟机里默认的虚拟显卡驱动只能保证能显示但刷新率和内存带宽有限。装完VMware Tools之后我记得设置里有一个加速3D图形选项这里一定要勾上。另外还有两个显示相关的坑第一屏幕分辨率不要追求太高。虚拟机窗口模式运行WinCC时如果切换窗口频繁偶发会出现画面刷新不全的情况。我实测比较稳的方案是把分辨率设为1366x768或者1920x1080用缩放功能调整并且在虚拟机设置里固定分辨率显示而不是让它自动适配宿主窗口大小。第二WinCC 8.0运行系统的画面浏览器如果遇到画面加载一半就白屏的情况往往不是网络问题而是虚拟机显卡驱动没打全。检查一下设备管理器里显示适配器是不是出现了Microsoft基本显示适配器如果是说明VMware Tools没装成功需要重新安装。3.4 快照基准装软件前先留一个干净底等系统补丁、VMware Tools、字体库这些基础都搞完之后第一件事不是装STEP 7而是先做一次快照。我给这个快照起名叫基础环境_纯净系统作为整个工控环境的基准点。这个快照的意义在于后面无论装哪个软件出了问题都可以回到这个状态重新开始不用从头装系统。我见过不少同事装WinCC装到SQL Server那一步失败后直接重装系统然后又要花一个下午打补丁、配置网络效率极低。其实一个快照的事。打了快照之后建议把快照名字和时间写进项目笔记里以后工程做完归档时可以把虚拟机连同快照文件一起压缩留档方便以后通过同一个环境复现问题。4. STEP 7 V5.7 SP1安装顺序、授权与常见报错4.1 安装顺序为什么不能乱这个部分是我在整个过程中最有心得的地方。西门子软件的安装顺序真的是牵一发而动全身。正确顺序是先安装STEP 7 V5.7 SP1再装WinCC 8.0中间还有一个不能跳过的步骤——安装升级包和工具集。为什么先装STEP 7因为WinCC 8.0在安装时会检测系统中是否已经安装了SIMATIC NET组件并决定是否自动安装它自己的通信组件。如果你先装了WinCC后面再装STEP 7STEP 7自带的SIMATIC NET版本可能会和WinCC自带的通信组件冲突导致两者之间无法通过内部接口通信典型表现是WinCC变量管理里找不到SIMATIC S7 PROTOCOL SUITE通道。具体到STEP 7 V5.7 SP1的安装有几个小细节值得注意。第一安装包建议先解压到本地硬盘再执行setup.exe。不要直接从光盘或者网络共享目录安装。I/O密集环境下安装程序可能偶发读取错误导致某些文件未复制等问题。第二安装过程中建议选择自定义安装把SIMATIC NET所有组件勾上尤其是Industrial Ethernet和PG/PC接口。很多人为了省事选择典型安装结果后面需要用到Profibus通讯时发现PG/PC接口里没有对应设备只能痛苦地增量安装。第三授权问题。STEP 7 V5.7 SP1需要一个与版本匹配的授权文件。我把话放在这里simatic ekb或者正版授权都可以但要注意兼容性V5.6的授权不一定能被V5.7 SP1识别。确保授权加载到带加密狗的磁盘之后再用ALMAutomation License Manager检查一下授权状态确认显示为绿色即可。4.2 关于上传程序覆盖和程序块解锁的处理经验我看热搜词里有两个很典型的STEP 7使用问题一个是STEP7使用上传程序覆盖另一个是西门子STEP7程序块解锁这两个我在实际调试中都遇到过。上传程序覆盖的完整操作是这样的打开STEP 7新建或打开一个空项目点击菜单栏的PLC - Upload Station to PG选择合适的通讯接口一般是PC Adapter或以太网点击执行上传前系统会提示目标项目是否为空如果目标项目里已有同名程序块会询问是否覆盖。很多人在第4步会卡住提醒源站中的块与目标项目中的块签名不一致。这其实是正常的因为站里程序的版本比你项目中新。此时不要急着点覆盖先确认目标项目中是否有需要保留的符号表或注释。如果只是单纯备份现场程序建议先在目标项目里把原有块全部删除再重新上传避免残留块导致编译错误。程序块解锁的问题本质是因为老版本STEP 7项目中的块如果设置了Know-How Protection上传到新项目中也会保持保护状态无法查看逻辑。要解开它只有在原站程序里事先用Edit - Know-How Protection - Remove Protection解除保护然后重新下载。如果手上只有受保护的上传文件没法直接解开只能通过反汇编或者逻辑推测实用性很差。所以凡是客户的现场设备我都在合同里写明需要提供未加密原程序这是后话。4.3 STEP 7 V5.7 SP1的常见安装报错我在虚拟机环境下安装时遇到过两个比较典型的报错。第一个是SIMATIC NET Setup has detected that some of your settings are not optimal提示虚拟内存不足。这其实不是真不足而是系统自动管理页面文件时虚拟机的初始页面文件太小。解决方法是右键计算机-属性-高级系统设置-性能设置-高级把虚拟内存改为自定义初始大小和最大值都设为系统内存的1.5倍以上。第二个是安装进度到70%左右时弹出无法注册DLL文件。这个一般是Windows Defender实时扫描或者UAC账户控制过度干预导致的。我前面建议关闭Defender原因就在这里。如果已经出现这个报错建议先关掉Defender卸载已经安装的部分组件退回基准快照重新安装。5. WinCC 8.0安装与工程环境的搭建细节5.1 SQL Server自动安装的等待与重启问题WinCC 8.0安装过程自带SQL Server一般会自动安装SQL Server 2019 Express或者更高版本具体看安装包版本。这个步骤看起来很傻瓜但隐藏着两个坑。第一时间极长。SQL Server安装加后续组件配置经常要等40-60分钟期间看起来像卡住了。我第一次装的时候以为死机了差点强制关机。后来给虚拟机配置了SSD硬盘之后全程大概30分钟。如果你看到安装日志停在某个组件超过15分钟没有进展不要急着动可以打开任务管理器查看CPU和磁盘IO是否还在活动如果磁盘有大流量读写就说明还在干活。第二SQL Server安装完成后必须要重启虚拟机一次。这个重启不是安装程序提示的重启而是为了确保数据库服务正常启动。如果跳过重启直接进入WinCC安装的下一步后续创建项目时访问数据库会报错类似无法启动数据库实例。5.2 WinCC 8.0界面变化与V7.3旧工程迁移WinCC 8.0的组态界面和V7.x相比变化不小特别是项目管理器的树形结构做了调整画面对象属性表默认不显示离散量过程值列表。但最大的变化是安装包自带的Simatic Shell功能它把WinCC和STEP 7统一放在一个控制器视图中从同一个入口打开PLC编程和画面组态。我最初用WinCC 8.0打开V7.3项目时项目转换向导会自动启动这个过程基本不需要干预。但要注意转换后的项目会在原项目旁边生成一个带V8_Backup字样的原版本备份文件夹不要去动它。万一新项目运行有问题还能回到旧版环境重新导出修改。关于老项目转换中最容易出现的颜色丢失问题V7.3项目里使用的自定义颜色对象在V8.0中会被映射成RGB值但部分颜色在项目的全局颜色管理器中并不存在转换后画面里有些线条变成黑色。解决办法是在转换前检查V7.3项目全局库里的颜色标准尽量用标准色卡里的颜色。5.3 历史趋势曲线脚本很多人问这个热搜词里有WinCC历史趋势曲线脚本这是个典型需求。我在这个虚拟机上做过一个完整的趋势曲线记录报警项目用下来核心脚本就两类一类是在线趋势控件的动态化另一类是历史数据查询导出。在线趋势控件推荐用WinCC自带的在线趋势控件不需要额外脚本只要在画面编辑器中拖入控件设置变量连接和时间窗口即可。但它的缺陷是数据只保留在内存里重启运行系统后历史数据丢失。如果需要长期保存历史数据并支持检索推荐使用归档数据浏览器功能结合SQL数据库。在WinCC变量管理里配置好归档变量后历史趋势控件会直接读取SQL Server里的历史值。这一步往往需要写一小段C脚本或VBS脚本来实现时间范围动态查询核心代码大概是这样的以C脚本为例#pragma code(useadmin) #include apdefap.h int gs_query_time_range(char* lpszVariableName, DWORD lStartTime, DWORD lEndTime) { // 设定历史趋势控件的时间范围 return 0; } #pragma code()这个脚本逻辑不复杂但有个容易踩的坑查询时区问题。虚拟机的系统时区必须和项目中设置的历史数据记录时区一致否则查出来的时间轴整体偏移8小时。很多同事查历史趋势发现曲线和实际记录时间对不上第一反应是脚本错了其实检查虚拟机时间和项目时区就能解决。5.4 WinCC Flexible打开工程无显示的解法和预防另外一个高频问题WinCC Flexible打开工程时无显示。这个问题的完整描述一般是打开软件能正常进入但点击工程文件界面上什么都没有也不报错。我之前在这个虚拟机上用WinCC Flexible 2008 SP4打开Smart 700 IE的触摸屏项目就遇到过一次。排查下来根因多半是OpenGL渲染模式冲突。解决办法很直接在WinCC Flexible的安装目录下找到SimaticHMI.ini文件把UseOGL1改成UseOGL0保存后重新打开工程即可。注意修改前把软件关掉否则配置会被覆盖。预防这个问题的办法是安装WinCC Flexible之后第一次打开工程前先在控制面板里确认显卡渲染模式是否正常。或者更简单直接看运行系统的启动参数关闭硬件加速以后就不太可能再冒出来。6. 虚拟机与PLC的通讯链路网络规划与故障排查6.1 三种网络连接模式怎么选虚拟机连接PLC第一个关键就是网络模式。我在VMware里给出三种选择每种都有明确的适用场景。NAT模式。这是默认选项虚拟机通过宿主机共享网络上行传输数据。如果你调试的目标PLC是通过以太网连到你的路由器或者你要用S7通讯访问远程设备NAT模式最稳。它不需要额外配置网络段虚拟机里的IP地址由VMware的DHCP自动分配宿主的网卡也能正常访问外部网络。但NAT模式有个致命限制外部的PLC如果要主动发数据到虚拟机里的上位机例如第三方设备作为Modbus客户端来读WinCC的数据NAT模式下通常没法直接访问到虚拟机内部IP。这种情况必须用桥接模式。桥接模式。设置成桥接后虚拟机直接使用物理网卡拥有和宿主同一个网段的独立IP。S7-1200/1500的Profinet通讯、S7-300的TCP/IP连接都建议用这个模式。唯一的麻烦是如果你经常换网络环境用笔记本调试桥接模式每次切换网络都要重新确认IP是否被占用。仅主机模式Host-Only。这个模式主要用于使用虚拟网卡仿真测试的情况。如果要在虚拟机和宿主机之间进行OPC测试、用KEPServerEX做模拟通讯仅主机模式能保证数据流量不经过真实物理网络纯粹在内存中交换速度极快且不会干扰现场网络。缺点是外部设备访问不到这个网络。6.2 S7通讯、OPC UA/Modbus的桥梁KEPServerEX思路热搜词里有KEPServerEX和WinCC通讯这其实是绝大部分上位机和第三方设备通讯的通用方案。在虚拟机里跑WinCC做上位机如果现场设备不是西门子PLC而是三菱、台达、ABB变频器或者是一些传感器仪表WinCC自带的驱动通道不一定够用。这个时候KEPServerEX就作为通讯网关把各种协议Modbus RTU、Modbus TCP、OPC UA统一转换成OPC DA或OPC UA数据再交给WinCC。我现在的虚拟机里就固定安装了一套KEPServerEX 6。具体配置时CIP或Modbus驱动作为设备驱动然后新建一个Channel再创建Device配置IP和寄存器类型。WinCC这边则不需要装额外驱动只要用WinCC的OPC通道连接本地KEPServerEX即可。注意WinCC和KEPServerEX必须使用相同账户权限启动否则OPC DA的连接会因权限问题失败。实测下来这个方案读取数控机床的状态数据、传感器采集速度都非常稳定。而且KEPServerEX在虚拟机里同样工作得很好因为它本质上就是走TCP或串口通讯虚拟机网络模式只要跟PLC在同一个可达网段完全没有问题。6.3 常见连不上CPU的排查顺序我在调试过程中遇到最多的问题就是虚拟机里的STEP 7 Micro/WIN Smart或者TIA Portal其实TIA Portal在这篇不展开但排查逻辑类似搜索不到PLC CPU。以下是标准的排查顺序按顺序做90%的问题都能解决检查IP网段。打开cmdping一下PLC的IP。如果ping不通优先看虚拟机的网络模式是NAT还是桥接确认双方是否在同一个广播域内。最常见的是PLC是192.168.0.x虚拟机是172.16.x.xNAT默认网段两个网段根本不通。检查防火墙。虚拟机的Windows防火墙默认会阻断S7通讯使用的端口102、102等。最简单的方法是在调试期间临时关闭防火墙或者放行规则。我一般直接在控制面板把系统防火墙全部关闭反正这个虚拟机不接外网。检查PG/PC接口设置。STEP 7软件里面选项-设置PG/PC接口必须把访问节点设置为TCP/IP-网卡名称并且指定给虚拟机网卡对应的以太网接口。很多人在全新系统里忘记改这个设置默认的ISO Ind. Ethernet根本连不上S7-1200。检查SIMATIC NET服务。如果按上面三步还搜索不到CPU检查Windows服务列表里是否启动了SIMATIC NET相关服务。这两个服务经常在系统重启后没能自动启动手动启动后再试一次一般就好了。6.4 操作系统时间同步问题很多人不知道虚拟机和PLC通讯过程中系统时间如果偏差太大某些CPU带有时间戳功能时通讯会被拒绝或者数据写入异常。尤其是S7-1500这种带SNMP和NTP同步功能的PLC上位机的时间不准历史报警的时区就对不上。每次开机后我是建议自动同步一次虚拟机时间。如果虚拟机一直和宿主时钟同步而宿主电脑长时间不关机虚拟机内部时钟可能漂移。解决思路安装VMware Tools并勾选时间同步选项。然后在虚拟机里关闭Windows时间自动更新改成手动定期检查。这样才能保证归档数据的时间戳可靠。7. 快照、克隆与大工程迁移的实操建议7.1 快照策略什么时候打、怎么还原我给自己定了一套简单的快照规则这套规则在虚拟机里已经用了快两年非常靠谱基础系统快照刚装完Win10 22H2、VMware Tools、所有驱动打完系统补丁之后打第一个快照。软件安装点快照装完STEP 7 V5.7 SP1完成授权激活后打第二个快照命名STEP7_Ready。装完WinCC 8.0并完成授权、项目转换测试后打第三个快照命名WinCC_Ready。工程节点快照每个项目调试开始前打一个快照项目调试完成后打一个快照命名带上日期。为什么要三个快照因为万一WinCC 8.0后续做某个功能测试时系统崩溃我恢复的是WinCC_Ready快照而不是STEP7_Ready这样能少损失一大段安装和配置时间。如果是STEP 7侧出了问题回退到STEP7_Ready即可WinCC和系统底子都还在。关于快照的保存位置记住一个原则不要把所有快照都堆在同一个vmdk文件链里快照越多磁盘越慢。每次做重要节点快照之前我会清掉上一个可丢弃的快照保持快照链短而稳定。7.2 克隆与备份换电脑/迁移到PVE等平台如果之后要换宿主机最简单的方式是用VMware的导出OVF模板功能。把虚拟机关机菜单栏文件-导出为OVF模板导出后得到OVA文件。新电脑上打开VMware Workstation文件-打开直接导入OVA即可。注意导入后重新安装一次VMware Tools以适配新宿主硬件。另外有人会提到把VMware虚拟机迁移到PVE或者Proxmox VE这类开源虚拟化平台。官方没有直接支持VMware vmdk转qcow2的工具但我们可以用qemu-img转换命令来处理vmdk文件格式。常见做法是把磁盘从单文件改成多文件再转换或者直接用qemu-img convert。实践下来可行但要注意转换前先把快照合并否则容易丢失数据。如果你是往PVE上迁移建议先把虚拟机里所有快照删除只留最终状态然后用qemu-img convert -f vmdk -O qcow2 disk.vmdk disk.qcow2。转换完成后导入PVE再重新安装一下virtio驱动。不过说实话日常工程调试场景下同一台电脑用快照就够了换电脑这种需求一年都遇不到几次。真要换最稳的还是导出OVAPVE转换这块作为备选方案了解一下就行。7.3 把虚拟机VMDK转成物理U盘/硬盘的思路有网友问过DiskGenius转虚拟机为U盘的问题这个场景一般是工程师想把做好的上位机运行环境封装成可直接启动的U盘或者拷到一台工控机上。大致思路是先用WinPE制作启动U盘再把虚拟机里的VMDK磁盘通过DiskGenius的磁盘克隆功能克隆到U盘但实际操作中会遇到驱动缺失的问题。因为虚拟机里用的是虚拟显卡、VMware虚拟SCSI控制器直接裸机启动Windows时会因为缺驱动蓝屏。所以如果真想这样操作我建议在虚拟机里先用Sysprep工具重置Windows通用化再在虚拟机里安装好实体机的万能网卡和存储控制器驱动。这个过程比较折腾而且实体机的驱动兼容性不可控。我的看法是如果目标机是固定的工业现场工控机不如直接在实体机上全新安装一套系统然后把虚拟机里的工程文件和数据库导入。省心得多稳定得多。8. 关于WinCC V7.3 SE安装包与V8.1激活的一些补充热搜词里还有两个相关度高的WinCC V7.3 SE安装包和WinCC V8.1激活。虽然本文建的是8.0环境但这些问题往往是一起出现的。如果你手上既有V7.3 SE的旧工程又用V8.0做新环境建议注意以下几点。V7.3 SE安装包本身在Win10 22H2上直接安装是有兼容性风险的特别是SQL Server 2012的实例很可能装不上或者无法连接。当年WinCC V7.3 SE的数据库组件和Win10的新版系统内核兼容性不佳要么打补丁要么用兼容模式安装要么就直接选择在虚拟机里装一个Win7或Win10 LTSB来做V7.3环境这也是不少人采用的方式。V8.1激活的问题其实和8.0大同小异授权服务必须在系统启动时自动运行且授权文件里必须有针对V8.1的条目。有时候我遇到8.1的授权不生效不是授权本身坏了而是系统时间被改动了或者授权服务没有在正确账户下运行。先检查这两点别急着折腾授权。整体来说我这套基于Win10 22H2宿主虚拟机的WinCC 8.0STEP 7 V5.7 SP1方案用下来最舒服的一点就是不怕折腾了。软件层出问题就回快照项目数据丢不了硬件层也因为有快照和克隆机制风险被压得很低。如果你也有工控开发环境混乱、新旧版本软件互相干扰的困扰建议果断试试虚拟机方案按这篇的顺序一步步搭下来整个开发调试流程会顺很多。最后再分享一个小技巧别把虚拟机里的工程文件夹放在C盘系统盘放到D盘单独建一个Projects目录配合快照使用更灵活以后备份虚拟机时也能单独把项目目录存档找资料会方便得多。