ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VMware跑博途V15连不上PLC?虚拟网卡桥接模式配置详解

VMware跑博途V15连不上PLC?虚拟网卡桥接模式配置详解 用VMware跑博途V15连不上PLC十有八九不是软件装坏了而是虚拟网卡选错了模式。这事我前前后后折腾了好几天西门子S7-1200就摆在桌上博途V15的“可访问设备”窗口转半天转出一个空列表在线诊断报“目标设备无响应”下载时报“无法建立连接”。一开始我以为是博途授权、版本、防火墙的问题把虚拟机重装了两遍甚至把VMware Workstation从15换到16再换到17问题纹丝不动。最后才发现根子出在虚拟机网络适配器上——默认的NAT模式压根不适合PLC通讯换到桥接模式并且绑对物理网卡之后一次就通了。这篇文章我会把虚拟机连PLC必须掌握的网络原理、虚拟网卡选型标准、配置步骤和排查思路全部捋一遍。内容适合正在用VMware装博途V15做PLC调试的电气工程师也适合刚入行、在虚拟机里折腾TIA Portal却连不上S7-1200/1500的朋友。1. 为什么大家都在VMware里跑博途V151.1 虚拟机里装博途的真实原因很多人不理解跑PLC编程软件为啥非要用虚拟机直接用实体机装博途不香吗我最初也是实体机党直到被现实教育了几次。首先是版本冲突。博途不像普通软件那样可以随便装多个版本V13、V14、V15、V16、V17如果装在同一个Windows系统里很容易出现组态框架冲突、库文件覆盖、启动报错。最典型的是先装了V15再装V16用着用着V15的“打开项目”按钮灰掉或者编译时报奇怪的DLL错误。做我们这行的客户现场用啥版本你根本说了不算有的老设备用V13新项目用V15你不可能为每个版本准备一台实体电脑。虚拟机隔离环境天然解决这个问题一个VMware里装V15另一个装V14互不干扰。其次是系统干净。工控电脑上一般还装着组态软件、触摸屏程序、驱动、加密狗有些还挂着数据库和报表系统你不可能为了装博途把系统重做一遍。虚拟机的好处是想怎么折腾就怎么折腾不怕把工作环境搞坏。还有一个经常被忽略的理由快照。这是VMware对调试工程师最实用的功能。我在把PLC程序下载到设备之前一定会先给虚拟机拍个快照。万一博途崩溃、系统异常、或者某个操作把配置搞乱了恢复快照几秒钟就回到干净状态这在现场调试时能救命。1.2 博途连接PLC时到底依赖什么博途V15连接PLC并不仅仅是一个软件层面的操作它要经过一条完整的链路博途的通讯服务、Windows的网络协议栈、虚拟网卡驱动程序、VMware的虚拟网络桥接服务、物理网卡、网线、PLC的以太网口。很多人在排查问题时只盯着博途软件本身却忽略了链路上的其他环节。博途在“在线访问”和“下载”界面里都有一个关键选项叫“PG/PC接口”这个接口本质上就是指定博途使用哪一块网卡去和PLC通讯。如果你打开博途的“可访问设备”搜索窗口在适配器下拉列表里能看到好几个选项比如VMware Virtual Ethernet Adapter for VMnet1VMware Virtual Ethernet Adapter for VMnet8Realtek PCIe GbE Family ControllerIntel I219-V问题恰恰出在这里。如果你选的是VMnet8对应的那个虚拟网卡而VMnet8的底层走的是NAT模式那博途就会在这个网卡上发出去一堆广播报文和组播报文这些报文到了宿主机这里被NAT转换逻辑拦了一道根本到不了PLC的网口。更坑的是有时候你感觉像是能通讯因为ping PLC的IP地址能通但博途的在线功能就是死活不认。这就涉及到S7协议的通讯机制了下面仔细说。2. VMware虚拟网卡的三种模式哪种才能连PLC2.1 三种网络模式的工作原理VMware Workstation给虚拟机提供了三种网络模式搞清楚这三种模式的区别连PLC的问题就解决了一半。桥接模式Bridged虚拟机通过虚拟网卡直接连接到物理网络相当于在局域网里多了一台独立的电脑IP地址由局域网的DHCP服务器分配或者手动设置成和局域网同一网段的地址。在这种模式下虚拟机的网卡数据包会直接通过物理网卡发出去局域网里的其他设备根本感知不到数据是来自虚拟机还是实体机。打个生活化的比方桥接模式就像你在公司拥有一个独立的工位和独立的分机号同事打你分机直接就能找到你。NAT模式Network Address Translation虚拟机躲在宿主机后面宿主机充当翻译官把虚拟机的网络请求转换后发出去。宿主机有一个虚拟网关VMnet8虚拟机的所有对外通讯都走这个网关外部设备无法主动访问虚拟机。还拿公司打比方NAT模式就像你通过前台转达你让前台帮你给隔壁部门传话隔壁部门只能联系前台没法直接找到你。仅主机模式Host-Only虚拟机只能和宿主机通讯完全没有外部网络的通道相当于一个完全封闭的内网。这三种模式对应到VMware的虚拟网络编辑器里就是VMnet0桥接、VMnet8NAT、VMnet1仅主机。2.2 为什么NAT模式连不上PLC我见过很多人抱怨“我虚拟机用的是NAT模式明明能ping通PLC也访问了PLC的Web页面为什么博途就是连不上”这个现象非常典型而且很能说明问题。PLC以太网通讯依赖的核心协议是西门子的S7协议S7comm这个协议在底层使用了TCP端口102进行数据交互但设备发现、在线枚举这些功能还要依赖广播和组播报文。博途在扫描“可访问设备”的时候会向局域网内广播发现请求然后等待PLC应答。问题就出在这里。NAT模式的本质是地址转换和端口映射它天然会过滤广播和组播报文。虚拟机发出去的广播发现请求到了宿主机NAT引擎只负责转发TCP/UDP单播流量广播报文直接被丢弃了。结果就是博途那台虚拟机相当于“睁眼瞎”它无法在局域网里找到PLC自然也就无法在线诊断和下载程序。就算你Manaual地在博途里输入PLC的IP地址去访问S7通讯的握手过程也比单纯的ICMP Ping复杂得多NAT转换过程中TCP连接的建立和保持也容易出问题。我自己实测过在NAT模式下ping PLC IP地址能通但博途“在线访问”输入IP后一直显示“目标设备无响应”这就是因为S7通讯的TCP 102端口流量和广播报文没有被正确转发。2.3 桥接模式下连PLC的优势那为什么桥接模式就能正常工作呢因为桥接模式下虚拟网卡发出的数据包会直接以原始格式通过物理网卡发送到局域网里不经过任何地址转换。这种情况下虚拟机的IP地址、MAC地址、广播包、组播包跟一台实体电脑完全一样PLC根本分不清对面是虚拟机还是真实工控机。我用一张表总结一下三种模式在PLC场景下的表现网络模式能否上外网能否Ping通PLC博途能否在线适用场景桥接模式能能能PLC调试、工业以太网通讯NAT模式能有时能通常不行虚拟机上网、更新软件仅主机模式不能不能除非宿主机转发不行隔离测试所以结论很直接连PLC一定要用桥接模式。但这还没完桥接也有桥接的坑下面详细讲。3. 一步一步把虚拟网卡配好让博途V15顺利连上PLC3.1 虚拟机侧把网络适配器改成桥接模式并指定物理网卡打开VMware Workstation先选中要修改的虚拟机注意要让虚拟机处于关机状态改硬件配置更稳妥然后按下面的路径操作右键虚拟机 → 选择“设置”弹出虚拟机设置窗口后左侧选“网络适配器”右侧选中“桥接模式”单选项同时勾选“复制物理网络连接状态”这里有一点特别关键很多电脑上不只有一块物理网卡。笔记本通常有有线网卡Realtek PCIe GbE、Intel I219-V这类和无线网卡Intel Wi-Fi 6 AX201这类台式机还可能有USB转以太网适配器。如果VMware默认桥接到了无线网卡而你的PLC实际接在有线网口上那依然连不上。所以还需要打开“编辑”菜单 → “虚拟网络编辑器”把VMnet0桥接模式绑定的物理网卡指定为实际连接PLC的那块有线网卡。在虚拟网络编辑器窗口里选中VMnet0在下方“桥接到”下拉列表里把默认的“自动”改成你有线网卡的型号名称。这里建议不要选“自动”选“自动”虽然省事但在多网卡环境下经常桥接到错误的网卡上我踩过这个坑改完立刻恢复正常。有些时候虚拟网络编辑器界面里的选项是灰色的无法修改这是因为当前没有管理员权限。解决方法是点击右上角的“更改设置”按钮系统会弹一个UAC确认框确认之后VMware会重启虚拟网络服务然后就可以修改了。3.2 桥接时对物理网卡的要求我强烈建议在条件允许的情况下使用有线网卡直连PLC尽量别用无线网卡做桥接。无线网络的机制和有线网络有很大区别。Wi-Fi AP通常都开启了“AP隔离”功能这个功能会把连接到同一个Wi-Fi的终端相互隔离终端之间无法直接通讯。就算你的AP没有开隔离无线网络环境下的二层广播转发也很不稳定PLC的S7发现广播到了无线链路很容易丢失。另外无线网卡的驱动程序在虚拟化桥接支持上普遍不如有线网卡稳定偶发性的数据帧丢失会导致博途在线时断时续。所以现场调试的标配是网线直接插笔记本网口VMware桥接绑到有线网卡不要经过路由器不要走Wi-Fi。PLC和电脑直接网线连接或者通过小型工业交换机连接都可以。注意直连时有些PLC支持自动交叉网线Auto-MDI/MDIX而老型号PLC可能需要交叉线才能和电脑直连如果插上网线后网卡指示灯不亮检查一下网线类型。3.3 虚拟机Windows系统内部固定IP并检查虚拟网卡状态桥接模式配好之后还要确保虚拟机内部的Windows系统网络设置正确。这一步也经常有人忽略虚拟机里用的是DHCP自动获取IP结果获取到的IP和PLC不在同一网段那自然也是连不上。举个例子西门子S7-1200的默认IP地址是192.168.0.1如果虚拟机自动获取到的IP是192.168.137.x或者169.254.x.x这类地址跟PLC完全不同网段博途当然找不到设备。正确的做法是把虚拟机的IP地址手动固定到和PLC相同的网段。操作路径是虚拟机内的Windows系统 → 控制面板 → 网络和共享中心 → 更改适配器设置 → 右键“以太网” → 属性 → 选择“Internet协议版本4 (TCP/IPv4)” → 属性 → 手动填写IP地址。比如PLC是192.168.0.1那虚拟机就填192.168.0.10子网掩码255.255.255.0网关可以留空因为直连时不需要网关DNS也可以留空。填写完之后打开命令提示符输入ipconfig确认一下网卡是否获取到了预期的IP。如果显示的是169.254.x.x说明虚拟机没有从网络里拿到有效IP检查一下物理网卡是否正常识别网线是否插好。另外VMware安装后默认会创建VMnet1和VMnet8两个虚拟网卡它们在虚拟机的网络适配器列表里显示为“VMware Virtual Ethernet Adapter for VMnet1”和“VMware Virtual Ethernet Adapter for VMnet8”。这两个网卡在主机系统里可见但在虚拟机Windows系统里不一定显示。如果虚拟机系统里出现了多个网卡只保留一个连接PLC的网卡其余不用的可以禁用避免路由混乱。3.4 博途V15侧设置PG/PC接口网卡、IP都配好后就该在博途V15里做最后一步了。这一步特别容易被误解很多人以为博途会自动选择正确的网卡其实不会它默认用的可能是宿主机物理网卡也可能是某个虚拟网卡选错了照样连不上。在博途V15里操作如下打开项目进入设备组态界面双击PLC的CPU模块打开“属性”窗口在“PROFINET接口” → “以太网地址”里设置PLC的IP地址和子网掩码。比如IP设为192.168.0.1子网掩码255.255.255.0。注意这里设置的IP要跟网线直连场景下PLC实际使用的IP保持一致如果你的PLC已经被设成别的IP需要先用博途在线修改或者通过PLC面板恢复出厂设置在博途顶部的“在线访问”选项卡中选择“可访问设备”在“PG/PC接口”下拉列表中选择与虚拟机网卡对应的选项。关键点不要选带“VMnet1”或“VMnet8”字样的接口也不要用“自动”要手动指定到桥接模式对应的网卡。这里有个细节博途的PG/PC接口下拉列表显示的条目跟Windows系统里的网络连接名称不完全一致通常显示为“VMware Virtual Ethernet Adapter”或“TCP/IP”开头的条目需要根据名称判断。实在判断不准的话可以在Windows网络连接窗口里看每块网卡绑定的IP地址借此识别哪块网卡是连接PLC桥接的那个。还有一个容易被忽略的地方在“下载到设备”的时候博途会弹出一个“扩展的下载到设备”对话框里面同样有PG/PC接口选择。很多人第一步在线访问找到PLC了但下载程序时又选错了接口导致下载失败。下载时也要确认选择同一个网卡。3.5 关闭防火墙Windows系统里的隐藏杀手Windows防火墙经常拦截博途与PLC的通讯尤其当你安装了第三方安全软件或者系统更新后防火墙规则可能发生变化。最简单的验证方法在虚拟机内打开命令提示符ping一下PLC的IP地址。如果ping通了但博途连不上大概率是防火墙拦了S7通讯的TCP 102端口或UDP广播包。这时可以临时把Windows防火墙关掉再测试一次。在虚拟机内进入“控制面板” → “Windows Defender防火墙” → “关闭或打开Windows Defender防火墙” → 选择关闭所有网络类型的防火墙。关掉防火墙之后回到博途再试一次在线连接。如果可以了说明就是防火墙的问题。为了安全起见也可以不彻底关防火墙而是放行博途和西门子通讯相关的进程和端口但在调试现场时间优先直接关防火墙最快。记得调试结束以后再根据需要把防火墙开启。我还会把VMware Workstation本身的“虚拟网络编辑”里涉及的底层服务确认一下确保VMware NAT Service和VMware DHCP Service没有异常占用或者冲突。在Windows的服务管理器中找到“VMware NAT Service”和“VMware DHCP Service”如果平时用的是桥接模式这两个服务甚至不需要运行把它们设为手动启动即可这样还能减少系统资源占用。4. 排查实录连不上的常见原因与对策4.1 常见问题速查表根据我自己的经验以及在网上帮别人看过的案例虚拟机连PLC的失败原因其实高度重复。我整理成一张速查表照着排查效率最高。问题现象直接原因处理办法博途“可访问设备”搜不到PLC桥接未绑到正确的物理网卡虚拟网络编辑器里手动指定有线网卡Ping不通PLC虚拟机IP与PLC不在同一网段固定虚拟机IP与PLC同网段Ping通但博途在线失败防火墙拦截S7通讯流量临时关闭虚拟机Windows防火墙Ping通但在线失败PG/PC接口选错手动指定桥接模式对应的网卡下载程序时报“目标设备无响应”下载对话框里的接口未改下载时重新选择PG/PC接口笔记本电脑Wi-Fi环境无线AP隔离广播改用有线直连虚拟机重启后IP变化DHCP重新分配地址改成静态固定IP物理网卡被桥接后宿主机断网虚拟网络配置错误重新配置VMnet0到正确网卡虚拟机网卡显示“无法启动”或错误代码56虚拟机网卡驱动冲突或VMware服务异常重启VMware服务重装VMware Tools博途提示“虚拟网卡上存在未知协议”系统安装了抓包工具或第三方协议栈卸载多余的虚拟网卡驱动或重置网络4.2 常见问题详解无线网卡桥接的坑我见过一个案例一个工程师在客户现场用笔记本连PLC每次ping PLC都能通但博途在线时断时续程序下载到一半就报错。排查了一圈发现他连的是客户办公室的Wi-FiPLC接在同一个Wi-Fi路由器上。问题根源是Wi-Fi路由器开了AP隔离无线设备之间不能直接通讯。后来换成网线直连PLC问题立刻就没了。如果有线直连的条件确实不具备非要用Wi-Fi可以试试在路由器后台把AP隔离关掉但我不推荐把现场调试的稳定性赌在Wi-Fi上。有时候能通但关键时刻掉链子现场调试最怕这种不确定性。多个物理网卡时的桥接错误现在的笔记本几乎都有有线无线双网卡甚至还有虚拟的蓝牙网卡。VMware“桥接到自动”时它会自己选一个选到无线网卡的概率很大。这也是很多人明明设置了桥接模式却依然连不上PLC的原因。每次更换调试环境、连上了不同的网口或USB网卡时都要去虚拟网络编辑器里重新确认一下桥接目标网卡养成习惯。IP地址冲突虚拟机固定IP之后如果这个IP被局域网里的其他设备占用了虚拟机就会陷入“IP冲突”状态时通时断。检查方法是在虚拟机里ping PLC IP的同时再ping一下自己的IP如果IP能通说明有冲突设备。处理方法是换一个不常用的IP比如PLC是192.168.0.1虚拟机可以设成192.168.0.250冲突概率低很多。S7-1200固件版本与博途V15的匹配如果网络配置完全正确但博途还是连不上就要考虑PLC固件和博途版本是否匹配。博途V15对S7-1200的固件版本支持范围是有限制的V15支持S7-1200固件V4.2及以下版本。如果PLC固件版本过新比如V4.4或V4.5在博途V15里会提示“设备不支持该固件版本”或者根本无法识别。这种情况需要到西门子官网下载对应的GSD/GSDML文件或支持包或者升级博途。但要注意博途不是免费软件升级前考虑授权问题。网上有些“尝鲜版”升级包有安全风险建议从正规渠道获取。VMware Tools的影响VMware Tools安装不完整或者版本不匹配也会影响虚拟网卡的收发性能。有些版本的VMware Tools会安装自定义网络驱动导致虚拟网卡丢包。判断方法很简单在虚拟机里长时间ping PLC IP地址观察有没有丢包。如果频繁掉包重装一次VMware Tools重启虚拟机后再测。宿主机资源不足虚拟机运行博途本身对CPU、内存的压力就很大如果宿主机同时运行着大量任务虚拟机网卡可能出现处理延迟、数据缓冲区溢出表现为博途搜索设备很慢甚至超时。博途V15建议虚拟机至少分2个CPU核心、4GB内存磁盘用固态。宿主机资源紧张时关掉其他虚拟机给调试虚拟机多一些资源。快照功能用起来最后个人体会最深的在虚拟机连好PLC之后立即拍一个快照。这样有两大好处。第一以后任何网络配置改坏了、博途装什么奇怪的插件出问题了恢复快照秒回“正常连接”的状态不用从头再查。第二去现场前拍一个干净快照现场调试时直接启动快照保证环境一致不会出现“在家里明明好的到现场就不行”的乌龙。我踩过最深的坑就是在NAT模式下明明ping得通PLC但博途在线死活不认差点怀疑人生。后来把网卡换成桥接并绑到有线物理网卡上立刻就通了。所以如果你也在VMware里跑博途连PLC先别急着折腾软件安装和授权第一时间检查虚拟网卡是不是桥接模式、有没有绑对物理网卡、虚拟机IP和PLC是不是同一网段。这三件事做对了80%的连接问题当场就能解决。
返回列表