虚拟机下载PLC后,正确配置的关键在于网络模式选型与IP地址规划,核心步骤是先切换为桥接模式、再统一PLC与虚拟机的IP网段、最后在软件中指定通信接口。
虚拟机与PLC通信前,先搞清楚网络模式的三个选项
很多人第一次在虚拟机里装好博途或GX Works后,兴冲冲打开通信诊断,结果扫描不到PLC,排查半天,问题大多出在虚拟机网络模式上,VMware和VirtualBox默认给虚拟机分配的是NAT模式,这种模式下虚拟机可以上网,但外部设备主动访问虚拟机非常困难,而PLC通信恰恰需要外部设备找到你。
桥接模式是最稳妥的工程选择
把虚拟机的网络模式改成桥接模式,相当于让虚拟机直接用物理网卡和局域网里的设备对话,此时虚拟机、PLC、工程师电脑都处在同一个物理网络里,广播帧、TCP/IP报文都能正常穿透,行业内做现场调试的工程师,百分之九十九都是这样用的,操作路径是:VMware菜单栏“虚拟机”→“设置”→“网络适配器”→选中“桥接模式”,然后勾选“复制物理网络连接状态”,VirtualBox则在“设置”→“网络”→“连接方式”里改为“桥接网卡”,并选择你电脑当前正在用的那张物理网卡,别选成无线网卡或者虚拟网卡。
NAT模式和仅主机模式为什么不适合
NAT模式下虚拟机与PLC不在同一个二层网络,PLC的请求到达不了虚拟机,虚拟机的广播报文也出不去,仅主机模式更极端,它只让虚拟机和宿主机通信,和外界完全隔离,这两种模式偶尔用于离线仿真或者特殊测试,例如用S7-PLCSIM做纯逻辑验证时可以不连PLC,但一旦涉及真实硬件,桥接模式几乎是唯一可选项。
虚拟机与PLC通信IP地址怎么设置,请记住一个网段原则
网络模式改好之后,通信还连不上,大概率是IP地址各说各话,PLC、虚拟机、物理电脑的IP地址必须处于同一网段,且前三位数字完全一致,最后一位不能重复。
以西门子S7-1200为例的地址分配步骤
比如PLC的IP地址是192.168.1.10,子网掩码255.255.255.0,那么虚拟机的Windows系统就要设置成192.168.1.50,物理电脑的网卡设置成192.168.1.60,三个地址的前三段都是192.168.1,最后一位分别是10、50、60,互不冲突,操作路径:虚拟机里的“控制面板”→“网络和共享中心”→“更改适配器设置”→右键本地连接→“属性”→双击“Internet协议版本4(TCP/IPv4)”,填入上述地址。
三菱FX系列不要忽略PLC起始地址
三菱FX5U或者Q系列的选择比较特殊,如果你用的是以太网模块,同样遵循同网段原则,但还要注意PLC侧的IP地址起始范围,FX5U默认的IP地址可能是192.168.3.250,而GX Works3里新建工程时,CPU模块参数里会显示“IP地址设置”,必须把这个地址和虚拟机的虚拟网卡地址放在一个网段里,GX Works3的通信设置界面中,“直接连接设置”里的IP地址要和PLC实际地址完全对应,否则无论怎么刷新都找不到目标。
虚拟机运行博途如何连接PLC,打开软件前的三处必备设置
博途(TIA Portal)是工程师最常装进虚拟机的软件,它比较挑环境,很多人装了博途V17或V18,在虚拟机里打开却找不到设备,原因不在软件本身,而是虚拟机的USB控制器和网络接口没有被正确透传。
设置虚拟机的USB控制器和网络接口
把USB控制器设置为USB 3.1兼容模式,这样如果你是USB转网口调试线,数据才能稳定传输,接着确认虚拟机“网络适配器”选择的是桥接模式,不是自定义特定网络,很多初学者在VMware里看到“自定义特定网络”就随手选了一个,结果虚拟机的IP地址和物理机的物理网卡走的是不同路径,这相当于两根水管根本没有接通。
在博途中选择正确的PG/PC接口
打开博途项目后,点击左侧“项目树”里的“在线访问”,展开你的网卡名称,右键选择“属性”,把PG/PC接口的类型设置为“PN/IE”,并勾选你正在用的物理网卡,博途里经常出现两个相似的选项:一个是“Realtek PCIe GbE Family Controller”,另一个是“VMware Virtual Ethernet Adapter”,你需要选前者,因为后者只是VMware自己创建的虚拟网卡,连的是NAT或仅主机网络,PLC根本感知不到。
若扫描不到,直接按IP地址添加设备
如果在线扫描仍然看不到PLC,不要继续刷新,直接在博途的“可访问设备”里双击“添加设备”,输入PLC的IP地址,例如192.168.1.10,点击连接,博途会绕过在线扫描,直接尝试与目标IP建立通信,很多情况下,扫描失败是组播报文没有返回,但单播的TCP连接可以成功,这个思路能解决一半以上的虚拟机通信问题。
虚拟机与PLC通信时网卡MAC绑定的坑,未分配物理网卡限制
虚拟机的网卡MAC地址是基于虚拟网卡生成的,和物理网卡的MAC不同,部分PLC的以太网模块支持MAC地址过滤,如果你之前把PLC的通信设置里配置了“允许访问的MAC列表”,那么虚拟机的MAC地址不在列表内,通信就会被拒绝。
解决方法是两种:第一,把VMware虚拟网卡的MAC地址改成和物理网卡一致,操作路径是“虚拟机设置”→“网络适配器”→“高级”→取消勾选“使用默认MAC地址”,手工填入物理网卡的MAC,第二,进入PLC的系统块或以太网模块设置里,把虚拟机的MAC地址加入白名单,第二种方法更推荐,因为改MAC可能造成Windows网络标识冲突,导致虚拟机里其他依赖网络的服务异常。
虚拟机与PLC之间PING不通的三个排查视角
PING是检验二层和三层连通性的第一道工具,在虚拟机里打开命令提示符,输入PING PLC的IP地址,看是否有回复,如果PING不通,依次排查三个点。
防火墙与安全软件拦截
Windows自带的防火墙会拦截PING请求和PLC的TCP连接,最省事的办法是打开“控制面板”→“Windows Defender防火墙”→“关闭公用网络防火墙”,这一步在虚拟机里操作不影响宿主机安全,因为虚拟机本身只是你的临时调试环境,如果公司安全策略不允许关防火墙,就在“允许应用通过防火墙”里添加博途、GX Works3以及PING服务(ICMPv4-In),并勾选“专用”和“公用”两个网络类型。
物理网卡IP叠加导致的路由冲突
桥接模式下,虚拟机的网络流量要经过物理网卡转发,如果物理网卡本身也被设置了固定的IP地址,而该地址与虚拟机的IP地址不在一个网段,就可能出现路由优先级错误,例如物理网卡IP是192.168.0.5,虚拟机IP是192.168.1.50,PLC是192.168.1.10,此时虚拟机的数据包发出后,物理网卡发现目标地址不在自己的局域网段,就会尝试走默认网关,而默认网关通常指向路由器(例如192.168.0.1),路由器不知道192.168.1.x这个网段在哪里,数据包就被丢弃了,解决方法是把物理网卡设为“自动获得IP地址”,或者把物理网卡的IP也改成192.168.1.x网段。
虚拟机的虚拟网卡被禁用或桥接到了错误网卡
打开VMware的“编辑”→“虚拟网络编辑器”,查看VMnet0(桥接模式对应的虚拟网络)绑定的外部网络是哪一张网卡,如果你的电脑同时插着有线网卡和无线网卡,VMware默认会自动选择,但自动选择有时会挑中无线网卡,而PLC和你的电脑都连着同一个有线交换机,那么虚拟机发出的报文经过无线网卡走无线链路,根本到不了交换机,手动把桥接目标固定为有线网卡,再重启虚拟机网络服务或直接重启虚拟机。
配置完成后如何验证通信已经在工作
确认无误后,在虚拟机里打开博途的“在线”面板,点击设备名称,如果底下出现黄色的“PN/IE”连接图标,表示通信已建立,再在梯形图编辑器里点击“监控”按钮,能看到程序的实时通断状态为绿色高亮,说明数据交互正常回读。
对于三菱用户,GX Works3的“在线”→“连接目标”中,点击“通信测试”按钮,若弹出“与FX5U连接成功”对话框,说明通信链路完全打通。
虚拟机下载PLC后常见问题解答Q&A
虚拟机里的PLC软件下载程序到真实PLC时,总提示“无响应”怎么办?
先确认下载路径不是USB直连,如果用网线,检查虚拟机桥接模式是否选中了正确网卡,用PING验证基础链路,再用“端口已占用”视角检查,有没有别的调试软件同时占用PLC端口,例如西门子的Step7和博途同时打开就会互抢通讯资源,关闭多余软件即可解决。
虚拟机拨号上网时,PLC通信会断开吗?
会,拨号连接(如4G上网卡)获得新的IP地址后,路由表发生变化,虚拟机发出的PLC报文可能被错误路由到拨号接口,行业共识是拨号上网和PLC在线调试同时进行会严重影响通信稳定性,建议断开拨号连接或设置静态路由,指定PLC网段走有线网卡网关,虚拟机的通信超时时间一般为10秒,短时间内抢线不成功会导致软件抛错,重新点击“在线”即可恢复。
虚拟机版本的博途V16可以连接S7-1200的固件V4.5吗?
支持,但需要安装对应的HSP(硬件支持包),如果不安装HSP,博途会提示设备版本不匹配,无法下载,在博途的“选项”→“管理硬件支持包”里检查是否包含了S7-1200固件V4.5的GSD文件或HSP文件,没有的话从西门子技术支持网站下载离线安装包,当代谢博途V13及以下版本不支持该固件版本,建议升级软件或降低PLC固件,不过降低固件需要专用工具,多数情况下升级软件更现实。
虚拟机下载PLC的本质就是把电脑的物理通信口让渡给虚拟系统,所有网络层配置都围绕“让虚拟机和PLC认为自己在同一个局域网”展开,按本文顺序,先改网络模式为桥接、统一IP网段,再在PLC软件里指定正确的PG/PC接口,最后用PING与在线监控验证结果,这套流程在西门子和三菱设备上已经被大量验证,适合大多数虚拟机调试场景。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/742494.html





