尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
控制器当Git服务器:TwinCAT 3 AdsGitServer版本回退
简介这份PDF面向使用TwinCAT 3.1.4024及以上版本的自动化工程师与PLC协同开发人员聚焦控制器内置AdsGitServer的版本管理实践帮助读者在不依赖外部Git软件的情况下完成程序提交、获取、差异查看与版本回退。资源包共1个PDF文件约1.77MB内容从软硬件版本确认、软件安装、控制器路由配置和TwinCAT环境设置讲起逐步说明启用Multiuser、初始化Git Server以及提交、拉取、查看差异和回退版本等操作并专门梳理Init创建失败、连续提交两个版本等常见问题。内容还涉及历史版本查看与比较、用旧版本修改当前程序、恢复到指定版本以及第二台PC从控制器装载不同版本PLC程序等延伸场景便于团队协作时对照排查。已有373人学习下载适合需要快速理解TwinCAT集成Git流程、减少外部工具依赖并提升PLC协同开发效率的读者查阅。1. 控制器当 Git 服务器AdsGitServer 解决的到底是哪个具体痛点现场调试最怕什么改完一版 PLC 程序登录控制器跑了一周甲方一句“还是回到上周那版”你翻遍笔记本只找到一个PLC_最终版_真的最终.zip。TwinCAT 3.1.4024 之后这个场景有了另一种解法控制器本身可以充当 Git Server开发环境里直接做版本管理不用在笔记本上另装一套 Git 客户端。这个功能就是 AdsGitServer它把提交、取回、版本差异和回退都放回了 TwinCAT 自己的 Multiuser Explorer 里。适合谁一个人守着一台控制器、但又确实需要“改坏了能退回去”的 AT 工程师也适合两台 PC 轮流接手同一个柜子的调试场景。它不是什么企业级代码托管别指望分支策略和 PR 流程但把“每周一个可回退的存档点”这件事做扎实够用。2. 环境先立住版本底线、ADS 路由和三个必须打开的开关AdsGitServer 不是装个插件就能跑的东西它依赖控制器侧的服务、开发侧的源码管理插件、以及一个专门的比较工具配置这三者缺一个都会在后面某一步莫名其妙地卡住。我见过最常见的翻车不是操作错而是版本没对齐——控制器上是 4024.15笔记本上是 4024.10路由加得上Init 也能点但一比较就报错。所以这一章先把地基打平再谈提交。2.1 软硬件版本底线与安装后的服务确认控制器侧要求 Win7 或 Win10TwinCAT 3.1.4024.15 或以上开发 PC 侧同样建议 4024.15 起步。实测下来有两条血泪经验第一控制器最好用配套的 IPC/EPC第三方 PC 上跑 XAR 总会冒出各种玄学问题路由能通但 Git 服务起不来第二XAE 和 XAR 尽量同版本Build 越高越稳跨 Build 组合的兼容性没人给你打包票。安装本身不复杂笔记本上跑TC31-FULL-Setup.3.1.4024.15.exe控制器上跑TC31-XAR-Setup.3.1.4024.15.exeAdsGitServer 会随安装包一起落盘不需要单独勾选。重启之后第一件事不是打开 XAE而是去服务列表确认两个服务都在跑这一步省掉后面 Init 失败你会怀疑人生。# 在控制器和开发 PC 上分别执行确认两个服务处于 Running Get-Service -Name TwinCAT3* | Select-Object Name, Status, StartType # 只盯 AdsGitServer确认它是自动启动而不是手动 Get-Service -Name TwinCAT3 AdsGitServer | Format-List Name, Status, StartType, DisplayName逻辑说明第一条命令用通配符把所有 TwinCAT 3 相关服务拉出来重点看TwinCAT 3 System Service和TwinCAT3 AdsGitServer两条第二条单独确认 AdsGitServer 的启动类型如果是 Manual重启后它不会自己起来Init 会直接超时。参数上-Name支持通配Format-List比默认表格多显示DisplayName方便确认没装错版本。提示服务列表里如果只有 System Service 没有 AdsGitServer八成是安装包版本低于 4024或者装的是 XAE 精简版回到安装介质核对一遍。2.2 ADS 路由与环境选项Git 插件和 Project Compare 配置路由这一步原文写得很克制——“再次确认控制器的操作系统和 TwinCAT 版本”但实际现场经常栽在这里。添加路由时 AmsNetId 要和控制器的实际网卡对应笔记本双网卡有线接设备、无线连办公网时容易选错广播地址结果是 XAE 能登录但 Multiuser Explorer 里 ADS Route 下拉是空的。路由通了之后进 XAE 主菜单Tools → Options → Source Code Control把源码管理插件选成 Git。这个选项决定的不只是“用哪个后端”它直接影响版本比较时的行为选了 Git比较才会去 Git Server 上取对应版本的源码并且用集成的 TwinCAT Project Compare Tool 做结构化对比不选比较退化成文本 diffPLC 的 POU 差异你基本看不出来。Project Compare 还得单独配一次。从编程 PC 的 TC3 图标点Tool选TwinCAT Project Compare打开后在主菜单Tool → Configure User Tools点Export Configuration选 Git 插件启用默认的全局 git 配置。这一步不做History 里右键 Compare 会弹“找不到比较工具”代码差异窗口是灰的。# 确认全局 git 配置已经就位Project Compare 依赖它找 diff 工具 git config --global --list # 关键项diff 工具路径和 TwinCAT 比较工具的关联 git config --global diff.tool git config --global difftool.prompt false逻辑说明Project Compare 的Export Configuration本质是往全局.gitconfig里写 diff/difftool 段第一条命令把现有配置打出来核对第二条确认diff.tool有值空的话比较按钮不会亮。difftool.prompt false是为了批量比较时不弹确认框单人调试可以不开多版本对比时开着很烦。2.3 启用 Multiuser 之前的项目属性检查新建 TwinCAT 项目、添加 PLC 程序之后别急着登录控制器。先打开 PLC 项目的属性页把 Multiuser 启用。这个开关一旦打开项目目录下会生成 Git 相关文件后续每次 Login 都会被要求填 Update 信息。这里有个顺序问题必须强调在激活配置下载之前就完成 Git Server 初始化。原文专门用一句话点过但很多人是先把程序跑通、再回头补版本管理结果 Boot 目录里已经是旧逻辑Init 出来的第一个版本和实际运行的对不上后面回退就分不清哪个是“能跑的版本”。注意启用 Multiuser 的 PLC 项目文件夹不要再手动git init。TC3 AdsGitServer 和标准 Git 不能同时追踪同一个文件夹两边都初始化会直接冲突历史记录会错乱。3. Init local and Remote 之后仓库落点、两次提交与版本比较初始化按钮点下去的那一瞬间很多人以为只是“建了个仓库”其实它同时改了三处东西控制器上的版本仓库目录、开发 PC 项目目录下的 Git 元数据、以及 XAE 里 ADS Route 和 Multiuser Repository 两个输入框的可编辑状态。搞清这三处的落点后面排查问题才有方向。3.1 启用 Multiuser 与 Init 的目录落点从主菜单视图 → 其它窗口 → Multiuser Explorer打开 Git 控制面板。选好 ADS Route填一个 Multiuser Repository 名称比如项目代号点Init local and Remote弹出 Update Message 窗体填Init确定。初始化成功后界面上 ADS Route 和 Multiuser Repository 会变成不可改动。控制器侧会在默认版本仓库根目录下建一个以你填的名称命名的文件夹根目录是 ProgramData 下的MultiuserRepository具体厂商目录名按实际安装路径替换。开发 PC 侧则在 PLC 项目路径下多出 Git 相关的三个文件和一个文件夹。此后每次 Login只要TwinCAT/3.1/Boot里的内容有变化控制器仓库里的Objects文件夹就会跟着更新。# 定位控制器上的版本仓库根目录ProgramData 下名为 MultiuserRepository 的文件夹 Get-ChildItem C:\ProgramData -Directory -Recurse -Depth 1 -Filter MultiuserRepository | Select-Object FullName # 假设已定位到 $repoRoot列出所有已初始化的仓库 $repoRoot C:\ProgramData\厂商目录\MultiuserRepository Get-ChildItem $repoRoot -Directory | Select-Object Name, CreationTime # 看某个仓库的 Objects 是否随 Login 更新 Get-ChildItem $repoRoot\你的仓库名\Objects -Recurse | Sort-Object LastWriteTime -Descending | Select-Object -First 10 FullName, LastWriteTime逻辑说明第一条用-Depth 1限制递归深度避免在 ProgramData 里翻太久第二条列出所有仓库文件夹CreationTime能帮你确认是不是新建的第三条按修改时间倒序取前十条登录控制器后立刻执行能看到Objects下的文件时间戳在跳就说明同步链路是通的。参数上厂商目录和你的仓库名按实际环境替换不要照抄。提示Status 和 Conflict 界面里的 Local 和 Remote分别指的就是开发 PC 上那个项目文件夹、和控制器上这个仓库文件夹理解这一点后面所有“本地落后/远程更新”的提示都能对上号。3.2 两次提交从 V1.0 到 V1.0.1 的变量与代码改动初始化完成后的每次 Login 都会要求填 Update 信息这就是版本标题。第一次可以填V1.0 First Code新建一个 INT 变量 x写一行x : x 1;。第二次 Login 前把步长改成 2Update 信息填V1.0.1 Change Data。两次提交之间只动了一个字面量这样做的目的是让后面 Compare 的差异足够干净一眼能看出“逻辑修改”长什么样。// 版本 V1.0 First Code新建变量 x步长 1 PROGRAM MAIN VAR x : INT; END_VAR x : x 1;// 版本 V1.0.1 Change Data只改步长其余不动 PROGRAM MAIN VAR x : INT; END_VAR x : x 2;逻辑说明这两段不是让你真去跑什么算法而是故意制造一个最小差异集——变量声明没变表达式里的常量变了。Compare 工具会把这种改动归类为“逻辑修改”在差异树里标红双击进去能看到具体是哪一行。参数说明Update 信息就是 History 列表里的版本标题建议统一用V主版本.次版本 简短描述的格式别写“修改一下”“再改改”三个月后自己都认不出来。3.3 历史版本、比较与恢复的单机闭环History 界面点Show History所有版本按提交顺序列出来每一条对应一次 Login 时填的 Update 信息。比较有两种选法只选一项是它和当前版本比选两项是这两项互比。差异分新增、删除、逻辑修改三类红色标记双击红色 POU 能展开到代码行级别。真正实用的是“拿历史版本的片段修当前版本”。选中某处不同在比较图上点Accept Single、Accept Block或Accept All回到 PLC 源码就会发现代码已经被改过来了。整版回退则用右键Get this version系统会提示File has been changed outside the enviroment. Reload the new file?。注意Reload 只是把文件装载回来看看无论你点不点 Reload代码都已经改变了。这个提示的措辞容易让人以为是“预览”实际是“已落盘”。单机闭环到这里就完整了改代码 → Login 提交 → History 看差异 → 选择性 Accept 或整版 Get this version。一个人守一台控制器这套流程足够覆盖 90% 的“改坏了要退回去”场景。4. 双机协同第二台 PC 接入、落后提示与冲突处理的顺序单机流程跑通之后第二台 PC 接入才是真正考验理解深度的地方。很多人在这里翻车不是因为操作复杂而是因为不知道“谁落后于谁”该看哪个界面。Multiuser Explorer 用颜色和文字给了提示但得先知道 Local 和 Remote 分别指什么才读得懂。4.1 从控制器上传源程序与本地仓库同步第二台笔记本装同版本 TC3.1.4024.15启动 XAE加到控制器的路由。接下来要拿到与 PLC 中正在运行的程序名——能直接从第一台 PC 拷贝项目文件最好拷不了就从控制器上传 TwinCAT 项目。这一步的核心目的不是“读源代码”而是拿到程序名和项目结构能不能读到源码不要紧因为第一台 PC 未必把源码下载下去了。然后从 Multiuser Explorer 的 ADS Routes 选控制器从 Multiuser Repository 下拉菜单里选第一台 PC 建好的那个仓库名点Init Local and Remote。系统会提示 Remote 中已经存在数据仓库问要不要读取回 Yes。这个过程会把控制器上的版本仓库同步到第二台笔记本之后第二台 PC 就能按单机流程继续编程和提交了。# 第二台 PC 侧确认本地已经出现 Git 元数据三个文件 一个文件夹 Get-ChildItem PLC 项目路径 -Force | Where-Object { $_.Name -match ^\.git|git } | Select-Object Name, Mode, LastWriteTime逻辑说明-Force是为了把隐藏的.git目录也列出来Where-Object用正则匹配.git开头或名字里带 git 的项正常情况下能看到.git目录和几个配置文件。如果这里是空的说明 Init 没真正落盘回去看 4.1 开头那一步是不是漏了“回 Yes”。4.2 版本落后、冲突提示与正确的拉取顺序第二台 PC 上提交两个版本V2.0 Change Para把步长从 2 改成 10V2.0.1 Second Code新增变量 y写y : 2 * x;。然后在 History 里能看到四个版本——第一台 PC 的两个加第二台 PC 的两个线性排列。// 版本 V2.0 Change Para步长从 2 改为 10 PROGRAM MAIN VAR x : INT; END_VAR x : x 10;// 版本 V2.0.1 Second Code新增变量 y依赖 x 计算 PROGRAM MAIN VAR x : INT; y : INT; END_VAR x : x 10; y : 2 * x;逻辑说明V2.0.1里 y 的计算依赖 x 的新步长这样如果回退时只退一半比如只退 y 不退 x编译能过但逻辑是错的——这是故意的用来验证 Compare 能不能把“删除一行”和“新增一行”分开标。参数说明第二台 PC 提交前不用做任何“拉取”动作因为每次 Login 本身就是一次带 Remote 校验的提交控制器会拒绝落后于 Remote 的 Local 直接覆盖。回到第一台 PC打开 History 会发现 Local 和 Remote 不一致红色两项是 Remote 新增的版本绿色是当前 PC 保存的最新版本。进 Status 界面提示LocalsBehindRemote意思是本地版本比控制器旧。进 Conflict 界面提示本地丢失了远程若干次修改。这时候点Get Latest系统会提示程序从外部改动了并列出与当前代码的区别可以 Accept 也可以拒绝也可以关掉不理。装载最新版本的正确方式是在 History 里选中V2.0.1右键Get This Version提示代码从外部改变时选“是”当前 PLC 项目就恢复成第二台 PC 编辑的最新代码。再回 History 看Local 和 Remote 重新对齐。提示Get Latest和Get This Version的区别值得记一下——前者是“把远程最新拉下来并尝试合并”后者是“把指定版本整版覆盖到本地”。落后一两个版本时用前者省事落后多个版本时用后者更可控至少你知道自己覆盖到了哪一版。4.3 非 TwinCAT 文件的本地 Git 兜底PLC 代码之外的说明书、操作手册、接线图AdsGitServer 管不了。原文说得很直白非代码类文件管理甚至不是 Git 技术要处理的问题但自动化项目确实有这个需求。折中方案是用 Visual Studio 的“团队资源管理器”做本地 Git 存储——新建、添加、克隆三个入口够单人存档用。进存储库配置主页后更改界面用加减号把改动放进或移出暂存区再提交到本地 Git Server同步界面在没配远程的情况下推送和同步都是摆设。分支、标记这些单人开发基本用不上。注意解决方案这个入口尽量别用。新建和打开 TwinCAT 项目都有更顺手的路径点了“显示文件夹视图”会把当前 TwinCAT 项目关掉直接跳资源管理器现场调试时容易手忙脚乱。查看和恢复非 TwinCAT 文件的历史版本只能在标准 Git 里做。在目标文件夹右键Git Bash Heregit log --oneline看版本git reset --hard HEAD^回退到上一版再打开 Word 文档就能看到内容退回去了。# 在非 TwinCAT 文件所在目录打开 Git Bash git log --oneline --decorate # 回退到上一个版本会丢弃工作区改动先确认没有未提交内容 git status git reset --hard HEAD^逻辑说明--oneline把每个版本压成一行--decorate显示引用名git status是后悔药先看清工作区有没有未提交的改动再决定要不要--hard。参数说明HEAD^表示上一个版本HEAD~2是上两个回退前建议先git log记下目标版本的短哈希出问题还能git reset --hard 哈希回来。5. 避坑与排查Init 失败、Boot 残留和同名仓库冲突这一章集中处理四类高频问题每一条都按“现象 → 原因 → 解决”写能对上号就直接照做。5.1 Init 创建失败从现象到残留清理现象点Init local and Remote后界面停在未初始化状态或者弹窗报错后再点也没反应。原因控制器侧或开发 PC 侧存在上一次 Git 设置的残留。常见的是控制器TwinCAT/3.1/Boot里还留着旧项目的文件或者本地 PLC 项目目录下还躺着上一轮的 Git 元数据Init 试图在脏环境上建仓库直接卡死。解决三步清理。先清除 Local 和 Remote再把控制器里的TwinCAT/3.1/Boot文件清空并重启控制器最后手动删除本地 PLC 项目下的 Git 文件。如果是要在现有控制器上跑一个完全不同的 PLC 项目最好提前清空 Boot 并重启控制器上的版本仓库目录本身不用清将来还能复用。# 清理本地 PLC 项目下的 Git 元数据先备份再删 $proj PLC 项目路径 Get-ChildItem $proj -Force | Where-Object { $_.Name -like .git* } | Select-Object FullName # 确认无误后删除 Get-ChildItem $proj -Force | Where-Object { $_.Name -like .git* } | Remove-Item -Recurse -Force逻辑说明第一条只列不删确认路径没选错第二条才执行删除。参数上-Force处理隐藏项-Recurse处理.git目录内部结构。删之前把项目文件夹整体复制一份比什么后悔药都管用。5.2 URL 空白与现有项目接管现象选了 ADS RouteMultiuser Repository 的 url 输入框是空白点 Init 没反应。原因新 PLC 项目正常会自动生成 url但界面刷新偶尔跟不上尤其是先加路由后开项目、或者中途改过仓库名的场景。解决在仓库名输入框里删掉一个字符再重新敲回去url 会自动刷新。这个操作看起来像玄学实际是触发一次输入校验。现有 PLC 项目接管则是另一条路已知控制器上的版本仓库名称直接从 Multiuser Repository 下拉菜单里选不用重新输。顺序坑初始化要在激活配置下载之前做。先下载后补 GitBoot 里已经是新逻辑Init 出来的基线版本和实际运行对不上后面回退分不清哪个能跑。5.3 同名文件夹与 Boot 目录残留现象换项目后 Init 总失败或者 History 里冒出上一个项目的版本记录。原因控制器上同名仓库文件夹还在Boot 目录里是旧项目残留更隐蔽的一种是 PLC 项目文件夹既启用了 Multiuser又被手动git init过两套 Git 元数据打架。解决不同项目用不同的 Multiuser Repository 名称别图省事全叫Project换项目前清空 Boot 并重启PLC 项目文件夹只走 AdsGitServer 一套标准 Git 只用于非 TwinCAT 文件两者物理隔离。注意TC3 AdsGitServer 和标准 Git 不能同时追踪同一个文件夹这条是硬约束不是建议。5.4 授权缺位与多人协同的边界现象多人同时改一个 PLC 程序History 里版本记录乱七八糟谁改的、为什么改说不清最后还不如人工合并。原因Multiuser 文档里没写怎么授权用户访问 Git Server测试阶段普遍用完全无加密状态多人分工、代码编辑边界、上传下载时机没提前约定。解决AdsGitServer 走的是 ADS 通道ADS 支持的安全方式都能用——CA、PSK、最简单的用户名/密码实际项目尤其是多人协同时应该启用别裸奔。协同规范上提前约定谁负责哪个 POU、提交信息统一格式、每天开工先Get Latest再动手。单人开发时 History 是清晰线性结构多人不约定就是一团乱麻。6. 进阶验证用 History 与 Compare 走一遍可回退的交付检查交付前我习惯做一次“可回退性验证”不是走形式而是确认三件事当前版本在 History 里有明确落点、上一版能整版取回、非代码文档也有独立存档。这三件事任何一件没做到现场出问题时就会多花半小时找文件。6.1 交付前的版本核对清单检查项操作位置通过标准当前版本已提交Multiuser Explorer → History最新一条与当前代码一致Update 信息可读上一版可整版取回History 选中上一版 → Get This Version提示外部改动后选“是”代码回到上一版关键 POU 差异可读History 选两版 → Compare红色标记能定位到具体代码行非代码文档有独立记录Git Bash →git log --oneline文档目录有独立提交历史服务状态正常Get-Service TwinCAT3*System Service 与 AdsGitServer 均为 Running表格里的第三项最容易被跳过。很多人只验证“能回退”不验证“差异看得懂”结果真出问题时回退了却不知道改了什么。Compare 的红色标记要能双击进到 POU看到具体哪一行新增、哪一行删除、哪一行逻辑被改这才算过关。6.2 非代码文件用 git log 做最后一道检查PLC 代码之外的文档交付前单独跑一遍日志检查确认没有未提交的改动留在工作区。# 进入非 TwinCAT 文件目录 cd /d/项目文档 # 看提交历史确认版本信息带日期和简述 git log --prettyformat:%h %ad %s --dateshort # 看工作区是否干净有未提交改动就先提交再交付 git status --short逻辑说明--prettyformat自定义输出%h短哈希、%ad作者日期、%s提交信息一行一个版本比默认格式紧凑git status --short输出为空才代表工作区干净有M或??就先处理掉。参数上--dateshort把日期压成YYYY-MM-DD交付记录里看起来更整齐。这套检查我吃过亏。有一次现场回退PLC 代码退回去了但配套的操作说明文档还停在新版客户按旧文档操作直接报错查了半天才发现是文档没跟着回退。从那以后我每次交付前都强制走一遍“代码回退 文档日志 服务状态”三件套哪怕项目再小也不省这一步。希望帮到你。本文还有配套的精品资源点击获取
RELATED

相关推荐

DeepSeek大模型API接入、流式输出与移动端配置指南

DeepSeek大模型API接入、流式输出与移动端配置指南

简介:《DeepSeek使用指南》面向具备一定编程背景的技术人员、产品经理及希望提升客户服务自动化水平的企业管理者,系统梳理大语言模型助手在网页端、API 集成与移动设备上的使用路径。资源以 1 个 docx 文档交付,压缩包约 16KB,篇…

📅 2026/10/28 2:09:09
七端口交换板REV 2.1改版拆解:端口拓扑、复位与配置引脚复用

七端口交换板REV 2.1改版拆解:端口拓扑、复位与配置引脚复用

简介:这份PDF文档是88E6320_DB开发板的原理图设计资料,面向千兆以太网交换、嵌入式硬件及网络设备研发人员,可用于理解88E6320在QFN108封装下的参考电路与板级实现。内容覆盖电源与稳压器选型、POR芯片、MagJack、芯片顶层框图、RESET与GPHY …

📅 2026/10/28 2:09:09
15页5G+VR智慧旅游方案PPT:VR观景台到数据中台的拆解复用

15页5G+VR智慧旅游方案PPT:VR观景台到数据中台的拆解复用

简介:面向旅游行业信息化从业者、景区运营方与智慧城市方案设计人员的5GVR智慧旅游解决方案演示文稿,聚焦5G网络与虚拟现实技术在旅游场景中的落地路径。内容围绕5G高速率、低时延、大连接特性与VR沉浸式交互体验展开,涵盖智慧旅游系统架构、…

📅 2026/10/28 2:09:09
MORE NEWS

更多资讯

📰

YOLOv5环境搭建与问题解决全攻略

1. YOLOv5环境搭建全景指南作为计算机视觉领域最受欢迎的实时目标检测框架之一,YOLOv5以其优异的性能和易用性赢得了大量开发者的青睐。但在实际环境搭建过程中,从官方仓库克隆到依赖安装的完整流程,往往会遇到各种"拦路虎"。本文将…

📰

PF6000拧紧控制器配置调试与换枪避坑指南

简介:这份《PF6000说明书中文.pdf》面向Atlas Copco Power Focus 6000拧紧控制器的现场调试、设备维护与产线集成人员,提供中文版配置、操作和维护指南,帮助读者理解控制器界面、功能菜单及安全规范,降低误操作风险。压缩包内仅含…

📰

移动储能车在配电网韧性提升中的应用与优化

1. 项目背景与核心价值去年夏天参与某沿海城市电网改造时,我亲历了台风过境导致配电网大面积瘫痪的紧急抢修。传统固定式储能系统在灾害场景下的局限性暴露无遗——受损线路后方的储能单元无法支援前方负荷,而故障区域的储能资源又因物理隔离成为"孤…

📰

腾讯位置服务开发者大赛:AI+地图技术解析与实战指南

1. 腾讯位置服务开发者征文大赛背景解析2026年腾讯位置服务开发者征文大赛以"用AI地图重塑智能新体验"为主题,标志着位置服务技术进入智能化深水区。作为国内领先的位置服务平台,腾讯此次将AI技术与地图服务的融合创新作为核心命题&#xff0c…

📰

扫描电镜成像原理:电子束扫描、二次电子与背散射辨析

简介:这份扫描电镜课件以单份PPT呈现,面向材料、生物、地质等专业初学显微分析的学生和实验人员,用于在较短时间内建立SEM从基本原理到实际应用的系统认识。压缩包共1个PPT文件,约4.67MB,内容围绕扫描电子显微镜展开&a…

📰

Java物业报修系统开发:SpringBoot+SSM实战解析

1. 项目概述:物业报修系统的核心价值这个基于Java技术栈的物业报修系统,本质上是通过数字化手段重构传统物业服务的业务流程。我在实际物业管理系统实施中发现,报修环节的响应效率直接影响业主满意度。传统电话/纸质报修方式存在记录易遗漏、…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬