
前几天一个做非标自动化的朋友打电话过来语气挺急。他接手的一台调试机上CODESYS 的仿真设备环境一登录就弹账号密码框他翻遍手机备忘录也找不回当初设的那一串字符程序卡在这一步下不去后面的联调全停。这类事我这些年碰过不止一次——它本身不难麻烦的是它拦在你要干活的那一瞬间而你根本不知道该从哪儿下手。我先把结论摆在这CODESYS 里大家口头说的仿真设备环境其实是两类完全不同的东西登录机制差得很远。一类是 IDE 自己带的内置仿真另一类是跑在 Windows 上、以独立进程存在的软 PLC典型代表就是 Control Win V3 系列。前者几乎不会向你索要账号密码后者才是忘记账号和密码的高发地带。搞清楚你正在登哪一个问题就已经解决一半。下面我按先分清对象 → 再看谁在拦你 → 分路径恢复 → 排掉非密码类故障 → 建立预防习惯的顺序把这套流程完整走一遍。整套操作都建立在一个前提上这套仿真环境装在你自己的调试机上属于你或你所在团队的项目。如果它是公司统一管控的设备正确做法是找 IT 或设备管理员走内部流程而不是自己硬掰。1. 先分清你手里的是哪一类仿真环境1.1 集成仿真严格来说不存在账号密码这件事在 CODESYS 菜单里点Online → Simulation Mode中文界面叫在线 → 仿真模式再执行 Login此时程序是跑在 IDE 自己的进程里的和你电脑上装没装软 PLC 完全无关。这个模式下没有设备用户管理也就没有账号密码的概念。很多人搞混的点在于他确实点了仿真模式也 Login 成功了但后来某次打开了设备下拉框选到了本机那台 Control Win V3 上于是弹窗出现了。判断标准很简单登录窗口左上角的设备名是CODESYS Control Win V3或CODESYS Control Win V3 x64那就是软 PLC不是集成仿真如果设备名显示成Simulation或直接没有设备名那才是纯集成仿真。所以如果你看到弹窗却确信自己点的是仿真模式第一件事不是去回忆密码而是回到Communication Settings通信设置里看一眼当前选中的网关下面挂着几个设备。1.2 软 PLC 仿真Control Win V3 系列密码藏在这儿Control Win V3 系列在 Windows 上是以一个常驻进程的形式存在的任务栏右下角会有一个小图标。它本质上是一台装在你电脑里的 PLC所以它继承了一套和真实控制器一样的**设备用户管理Device User Management**机制。这套机制里常见几个概念容易让人犯迷糊设备用户 / 用户组Owner、Administrator、Developer、Service、WebUser这类名字权限各有不同。程序下载、强制变量、改配置分别需要不同权限。网关GatewayIDE 和运行时之间的中介默认端口 1217。它本身在部分版本里也可以单独设凭据。Web 管理界面软 PLC 自带 WebServer默认监听 8080 端口浏览器打开就能看到一套和 IDE 里独立的用户管理入口。关键点IDE 里那套用户与组、Web 界面里那套用户、以及某些版本里网关自己的认证是三套东西密码不互通。你记得的密码可能是 Web 界面的但你此刻卡在 IDE 下载这一步登的是设备用户。1.3 一张对照表快速定位对比项IDE 内置仿真软 PLC 仿真Control Win V3 系列运行位置IDE 进程内独立 Windows 服务 / 进程是否需要账号密码基本不需要通常需要设备名显示SimulationCODESYS Control Win V3等数据落盘位置无独立落盘运行目录 ProgramData忘记密码的影响几乎没有无法下载、无法联机、无法强制变量恢复难度低多为配置问题中需要重置运行时把这张表对照一遍你基本就能确定自己站在哪一边了。2. 登录框弹出的那一刻到底是谁在拦你2.1 三层身份别把锅扣错了我在现场排查这类问题时习惯先问一句你确定弹的是哪个登录框因为实际存在至少三层可能的认证设备用户管理认证——最常见登录软 PLC 时弹的框标题里通常带 Device 或 Users。Web 界面认证——你在浏览器里打开 8080 端口时弹的跟下载程序无关。项目加密 / 工程保护——这是 IDE 打开工程时弹的跟设备一点关系没有。有一次同事一口咬定设备密码丢了我过去一看是工程文件被别人加了工程保护密码跟设备用户管理八竿子打不着。先把弹窗来源认准能省下大半天时间。2.2 用户管理数据落在磁盘的哪个角落软 PLC 运行时的配置有两处主要位置值得先记住程序安装目录通常在C:\Program Files (x86)\CODESYS\下面以运行时名称命名的文件夹里。运行时数据目录通常在%ProgramData%\CODESYS\CODESYSControlWinV3\或对应 x64 版本目录下核心配置文件叫CODESYSControl.cfg。CODESYSControl.cfg是典型的 INI 风格配置文件每个组件一个节[ComponentName] KeyValue用户管理相关的持久化数据也在这一带。具体文件名不同 SP 版本会有差异一般是带User、UserMgr、Users字样的配置文件或数据文件。你要做的是先整体备份这个目录再去定位——备份这一步千万别省删错了文件会导致运行时起不来那时候要处理的问题就比忘记密码大得多。2.3 为什么我明明没设过密码也会被拦这是问得最多的问题。真实原因通常有这么几种项目里随应用一起下发了用户管理配置。很多模板工程、别人给的例程里设备用户管理是激活状态并带着一组用户定义你一下载密码就跟着进去了。运行时版本升级后默认策略变了。较新的 SP 版本对用户管理更严格装完就启用不再默认放行。有人改过而你不知道。调试机上多人轮流用上一个人为了安全改了密码没留记录这是最现实的场景。Windows 账户名被套用了。部分集成方式下运行时会尝试用当前 Windows 账户做映射导致看起来没设过密码却进不去。搞清这四条你就不会陷在我明明记得没设密码的死循环里而是直接进入恢复流程。3. 软 PLC 仿真环境忘记密码从轻到重的四条恢复路径3.1 第一步永远是先试出厂默认凭据别急着删东西。出厂默认凭据因版本和厂商而异有的版本初始密码为空有的版本把用户名本身当默认密码还有一些 OEM 定制版本会在文档里给出固定的初始账号。值得挨个试的组合大致是这几类用户名Owner密码留空用户名Owner密码同用户名用户名Administrator密码同用户名或留空用户名WebUser/Service配合留空密码。试之前先看一眼你装的运行时版本号去对应的版本说明里确认初始凭据策略比盲试十次都快。另外注意一次尝试失败后不要连续猛点有些版本会记录失败次数并短暂锁定。3.2 第二步在托盘里把运行时退回出厂状态任务栏右下角那个软 PLC 图标右键展开是有一套管理菜单的。这里能做的最有价值的一件事是先停止运行时再让它以干净状态重新启动。有些情况下运行时的用户管理数据只是处于异常状态比如上一次没正常退出导致的锁文件残留重启一次就恢复正常登录了。操作顺序建议是这样的右键托盘图标选择停止 PLC / Stop PLC。确认进程确实退出了任务管理器里看不到对应进程。重新启动运行时。回 IDE 里刷新网关设备列表再尝试登录。我在现场用这一招解决过好几次密码明明是对的却登不上的问题——本质上是运行时状态不干净不是密码错了。所以这一步别跳过。3.3 第三步清理用户管理数据文件如果重启无效且你能确认这套环境完全属于自己就可以考虑重置用户管理数据。操作前把整个%ProgramData%\CODESYS\下对应的运行时目录完整复制一份出来这是底线。流程是1. 停止软 PLC 运行时托盘图标 → Stop PLC 2. 备份 %ProgramData%\CODESYS\CODESYSControlWinV3\ 整个目录 3. 在该目录及程序安装目录中定位用户管理相关的数据/配置文件 4. 将定位到的用户管理文件移出不要直接删除移到备份目录里 5. 重启运行时 6. 观察是否回到出厂默认用户状态这里要强调一句不同版本的用户管理文件命名和存放位置不一样我没有办法给你一个删这个文件名就完事的通用答案。你需要做的是先在目录里按User关键字搜索看清单个文件的用途再决定动不动它。盲目删除整目录里不认识的文件大概率会让运行时起不来。还有一个更稳妥的替代思路如果 IDE 里能看到设备的用户与组配置页一般在设备树里选中设备后右侧的编辑器里不同 SP 版本位置略有差别但名字里基本都带 User并且当前还能以某种方式连上设备那么直接在里面把用户列表重新下发一次比在磁盘上动刀干净得多。3.4 第四步修复安装或重装运行时前面几步都不见效就只剩重装这条路。修复安装Repair优先于彻底卸载因为修复会保留大部分配置只重建程序文件彻底卸载才会连配置一起清掉。顺序是控制面板里找到 CODESYS Control Win V3 对应的条目先执行修复。修复后重启系统再试登录。仍不行再执行卸载手动清掉%ProgramData%\CODESYS\下对应目录已备份的前提下然后重新安装。重装完成后第一件事是立刻设置一组新密码并记录下来。这套下来仿真环境一定会回到可登录状态代价是之前设备里下载的应用和部分配置会丢需要重新下载工程。所以重装之前务必确认工程源文件还在手边。3.5 恢复之后的复验流程重新能登录之后别急着关掉窗口去干活。我习惯做三步复验用新账号登录一次确认权限足够下载工程完整下载一次应用并进入运行状态确认没有别的坑顺手把网关下的设备列表刷新一遍确认没有异常设备残留。这三步花不了五分钟但能避免你在真正开始调试时才发现能登录但没权限的尴尬。4. 内置仿真登录不上八成不是密码问题4.1 网关没起来 / 网关被防火墙拦集成仿真虽然不跑在独立设备上但它依然要通过 CODESYS Gateway 和 IDE 通信。网关服务没起来表现就是登录转圈、超时、或者干脆弹一个看不懂的认证框。排查顺序看系统服务里 CODESYS Gateway 相关服务是不是处于运行状态看托盘里是不是有网关图标没图标多半是没起来检查 Windows 防火墙有没有把网关的通信端口拦掉默认端口是 1217公司电脑上装了安全软件的话同样要放行。**这一层是纯环境问题和密码没有半点关系。**很多新手在这里折腾一整天最后发现只是网关服务被禁用了。4.2 仿真模式没勾选登录的其实是真设备这是新手最容易踩的坑Online 菜单里的 Simulation Mode 是个开关不是一次性动作。你以为自己开了仿真其实它早就被上一次操作关掉了此时你 Login 的目标就是通信设置里选中的那台设备。判断方法很直观把Communication Settings打开看当前激活的设备路径。如果路径指向的是本机 IP 上的软 PLC那就说明你根本没进仿真模式。重新勾选 Simulation Mode再 Login弹窗会立刻消失。4.3 端口占用与残留进程仿真反复开关之后偶尔会出现端口被占或者进程残留的情况表现是登录时好时坏。处理办法很土但有效关掉 IDE全部退出任务管理器里把残留的 CODESYS 相关进程全部结束重新打开 IDE等网关图标稳定出现后再登录。另外如果你同时开着两个版本的 CODESYS网关端口冲突是常见现象。同一时间只开一个版本能规避掉一大批玄学问题。5. 让忘记密码不再发生环境台账与交接习惯5.1 给每套仿真环境建一张环境卡片这是我从一位老工程师那儿学来的习惯成本极低收益极高。做法就是给每套调试环境建一个纯文本小卡片内容固定几栏栏目填写内容环境名称例如 调试机A-非标线体运行时类型与版本Control Win V3 x64, SP 版本号设备用户名例如 Owner / 自建账号初始密码记录在这里放在受控位置修改日期每次改密码都更新网关端口默认 1217改动则记录Web 管理端口默认 8080改动则记录备注该环境跑的是哪个项目、哪一版卡片放在哪儿很讲究不要塞在工程文件里也不要随手丢在桌面。团队里常见的做法是放在一个受控的共享位置或者配合密码管理工具保存。重点不是藏得多严而是保证下一个人接手时能找到。5.2 项目与设备配置的备份策略密码可以忘但配置不该丢。我的做法是在每次环境定型后导出两样东西工程归档文件Project Archive把整个工程连带依赖一起打包换台机器也能还原运行时配置目录的备份也就是前面提到的%ProgramData%\CODESYS\下对应目录。这两份备份放在不同位置一份在版本管理里一份在本地盘。真到了要重装的那天你只需要恢复配置、重新下载工程十分钟就能回到工作状态而不用从零重新搭一遍设备树和通信设置。5.3 团队交接时的三分钟检查团队里多人共用调试机是密码丢失的头号原因。我建议交接时固定走一遍这三分钟双方当面登录一次仿真环境确认账号密码交接清楚打开环境卡片核对版本、端口、账号是否和实际一致确认工程归档和配置备份都是最新的。听起来像形式主义但我见过太多上一个人调完就走、下一个人卡在登录框的场面。三分钟换一整天这笔账很划算。再补一个我自己踩过的坑改完设备密码之后只改了 IDE 里的用户管理忘了 Web 界面里那套是独立的。结果过两天从浏览器进去又登不上白白浪费一上午。改密码这件事一次就把三处设备用户、Web 用户、必要时网关都过一遍别留半拉子工程。另外一个经验是尽量别用临时密码这个概念。现场经常有人说我先随便设一个回头改然后就没有回头了。要么当场记录要么干脆别改。密码这件事上临时是最大的谎言。