Desigo CC工程配置全流程:SMC、HDB与客户端接入避坑指南
简介《Desigo CC手册-04-Project Configuration-BA-CN工程配置》是面向楼宇自控工程师、系统集成与运维人员的西门子Desigo CC工程配置指导文档聚焦综合楼宇自动化系统的项目落地与日常管理。压缩包内为1个PDF文件大小2.23MB按章节组织系统管理控制台SMC的工作流程便于随查随用。内容围绕创建历史数据库、实例化项目、配置项目、备份数据库与SMC操作展开说明HDB对用户活动、警报事件、故障消息和趋势数据的记录作用比较恢复项目模板、恢复备份与新建项目三种方式并强调模板预配置对缩短工程时间、降低出错风险的价值同时涉及项目文件夹共享、端口与权限设置及定期备份要点。已有559人学习适合需要理清Desigo CC项目配置路径、补齐HDB与备份操作细节的初、中级技术人员参考。1. 新机器上做完 Desigo CC 工程配置最容易卡在打开 SMC 的那一刻装完 Desigo CC 客户端和服务端组件桌面双击图标进不去打开 SMC 一看项目列表是空的——没有历史数据库、没有模板端口还被上一轮调试残留的项目占着。真正把现场拖住的问题往往就出在这套 Project Configuration 流程的顺序上安装包本身反而没那么折腾。楼宇自控的每个站点基本都要走一遍这条顺序先建 HDB再实例化项目然后配共享权限、激活、备份。手册里 BA-CN 这一章只有几页跳步的后果却会一个接一个出现例如 HDB 没链接、模板恢复成半截、状态报“已过期”启不来。这篇按工程现场顺序整理从 SMC 启动一直写到客户端能连上适合第一次独立做站点的工程师也适合接手别人做了一半项目的人。2. 启动 SMC 与创建历史数据库 HDB先把项目的基础建起来SMC 是这套系统里唯一能操作项目生命周期的入口创建项目、恢复模板、升级、加扩展模块、建 HDB全部由它负责。很多人习惯先恢复项目再补数据库结果项目恢复完提示找不到 HDB只能删掉重来。稳妥的顺序是先确认 SQL Server 可用再建 HDB最后实例化项目——项目、备份、模板这三类对象在 SMC 里是并列的但依赖关系是单向的HDB 是下游。2.1 SMC 的两个启动入口和启动前的三项检查SMC 的位置在两个地方开始菜单里的“所有程序 → 工具 → Desigo CC SMC”以及桌面快捷方式。两条路径指向同一个可执行文件但权限不一样从桌面双击默认用当前登录账户的非提升令牌启动创建 HDB、写注册表、改服务账户这些动作会失败报错还很难看出是权限问题。常见的做法是右键“以管理员身份运行”或者在快捷方式属性里勾上“以管理员身份运行”一劳永逸。启动后先别急着点“创建”。SMC 首页能看到系统和服务管理员账户配置、项目列表、扩展模块入口这三块对应它最核心的职责配置系统和服务管理员账户、创建或恢复项目与模板并升级项目、添加扩展模块、创建或恢复特定项目的 SQL 历史数据库。第一次上手的机器我一般先确认下面三件事SQL Server 实例已经启动并且允许远程或本地连接磁盘上给数据库文件和日志文件留出独立分区不要和项目文件夹共用系统盘运行 SMC 的账户在 SQL Server 上有建库权限或者至少有 dbcreator 角色。检查 SQL 服务用一条 PowerShell 命令就够不用去服务管理器里一个个翻# 看本机所有 SQL Server 实例服务和浏览器服务的状态 Get-Service -Name MSSQL* | Select-Object Name, Status, StartType Get-Service -Name SQLBrowser -ErrorAction SilentlyContinue | Select-Object Name, Status # 确认固定端口在监听命名实例走动态端口靠 SQLBrowser 解析 Get-NetTCPConnection -LocalPort 1433 -State Listen -ErrorAction SilentlyContinue | Select-Object LocalAddress, LocalPort, OwningProcessGet-Service -Name MSSQL*的通配会同时匹配默认实例和命名实例输出里的 Name 就是实例名后面在 SMC 里扫描到的是同一套名字。SQLBrowser服务SQL Server Browser负责把实例名解析成实际端口命名实例部署里它没起来SMC 的“扫描网络”就什么都扫不到这条在排查章里还会再提。最后那句Get-NetTCPConnection -State Listen只查监听态避免把大量 TIME_WAIT 连接也打出来-ErrorAction SilentlyContinue是为了在没有 1433 监听的机器上不抛红字让脚本能继续往下跑。SMC 里的工作流程可以简化成一条链启动 SMC → 判断项目类型新项目 / 项目备份 / 项目模板 / 已过期项目→ 输入或编辑项目名称 → 定义项目路径 → 链接 HDB → 保存 → 激活启动。可选的分支是“配置系统和默认用户账户”和“添加扩展模块”这两步不做也能把项目跑起来但后续补做要停机所以建议在实例化阶段一次配完。2.2 扫描、链接 SQL Server 并创建 HDBHDB 的作用不只是“存点数据”。它记录四类内容系统中的用户活动活动日志、警报及其处理事件日志、已发生的故障批处理消息、趋势数据值和上传数值日志。换句话说事件回放、报警追溯、趋势曲线这三项现场最常被追问的功能全部压在 HDB 上。HDB 没建好项目能启动但历史全是空的等到验收时才发现就晚了。操作顺序是固定的SMC 里点“扫描本地”搜本机或者“扫描网络”搜网段内的 SQL Server列表出来后选中目标实例点“链接”链接建立后再点“添加”在服务器上创建 HDB。扫描网络时如果实例不在默认端口扫描会漏这种情况直接手工填实例名更省时间。创建 HDB 那一步要填的信息不多但每一项都影响后面的运维参数说明站点常见取值数据库大小HDB 主数据文件的初始容量中型站点 510 GB 起步按点数和趋势周期估日志大小事务日志初始容量一般为主数据文件的 20%50%恢复方法简单恢复或完整恢复有审计要求用完整恢复并配日志备份任务文件位置数据文件落盘目录独立数据盘避开系统盘和项目文件夹路径位置备份或辅助文件目录与数据文件分开的物理盘HDB 所有人和用户数据库归属账户服务账户统一不要用个人域账户“恢复方法”这一项被忽略得最多。选简单恢复日志会周期性截断出问题只能恢复到最近一次完整备份选完整恢复日志不截断必须配套日志备份任务否则磁盘会被日志吃满。我一般按站点的验收要求定没有明确要求就选完整恢复加每日日志备份磁盘多留一倍空间。保存后等几分钟SMC 会给出创建成功的确认。别只看这个界面就结束最好去 SQL 侧核对一遍文件真实落盘位置-- 核对 HDB 的数据文件和日志文件实际落在哪个目录、初始多大 SELECT name, physical_name, size * 8 / 1024 AS size_mb, growth, is_percent_growth FROM sys.master_files WHERE database_id DB_ID(NHDB_项目代号);sys.master_files是实例级视图不依赖当前连接的数据库所以哪怕 HDB 处于恢复挂起状态也能查。size * 8 / 1024是把页数换算成 MBSQL Server 的一页是 8 KB。growth和is_percent_growth用来确认增长方式按百分比增长在大库上会导致增长越来越慢常见做法是改成按 512 MB 或 1 GB 固定增长。HDB 名称不要用中文、空格和特殊字符SMC 界面允许但后面写脚本、做监控会一路难受。2.3 系统和服务管理员账户的初始化SMC 概述里第一条就是“配置系统和服务管理员用户帐户”位置在项目操作之前。这一步的本质是把“谁能管这套系统”定下来服务管理员是服务进程运行身份系统管理员是登录 SMC 做配置的人。两者混用是现场很常见的坏习惯服务跑在某个人的域账户下人一调岗整个项目就起不来属于典型的不可挽回问题。常见做法是单独建一个服务账户设成密码永不过期只授予项目文件夹和 SQL 实例的最小权限系统管理员按人头分配用组来管理后续增删人只改组。这一步在 SMC 里点几下就完成但一定要在项目实例化之前做完项目建好之后再换服务账户需要停服务、改权限、重新链接 HDB成本完全不一样。3. 项目实例化恢复模板、恢复备份、创建新项目怎么选到这一步项目还是空的SMC 提供三种实例化方式恢复项目模板、恢复项目备份、创建新项目。三者在手册里是并列的按钮实际工程里选择顺序并不平等——推荐方法是恢复项目模板不是因为它功能多而是因为它把大量隐性配置提前做好了。同一个站点新建项目从零配到能跑和从模板恢复再改点位工时差通常在几倍以上。3.1 模板里预先配置了什么模板是一个预配置的项目交付时已经带好了基本设置目的是减少工程投入和降低出错风险。按手册列出的内容恢复出来的模板项目里包含系统设置和应用程序设置已激活的扩展模块已创建的图形文件夹、拓扑图形已应用的事件架构已选择的客户端和用户配置文件已导入并按类别分类的报告已创建并已启动的驱动程序、已创建的趋势定义已创建的网络和已分配的驱动程序已创建的逻辑、物理和用户视图已创建的用户和安全组以及已分配的作用域和应用程序权限。这份清单看着像功能罗列实际是 Checklist恢复完模板后逐项核对一遍缺哪项就知道是模板版本不对还是恢复过程被打断了。比如图形文件夹为空但拓扑图形在多半是模板本身裁过事件架构没应用事件日志会一条不落全进 HDB几天就能把库撑大这属于后面排查章里的高频问题。模板文件放在安装目录下的GMSProjects\GMSMainProject\ProjTemplates不同扩展方向BA、消防、TBS交付的模板不同选错模板的后果是扩展模块和点位类型对不上改起来比重建还慢。选之前先确认项目属于哪条产品线别看着名字像就点。3.2 恢复项目模板的完整操作与项目配置项点“恢复项目模板”后从上面那个目录里选模板然后进入项目配置界面。这一步要填四样东西项目名称、项目路径可以保持默认、关联的 HDB、端口号。项目名称建议带站点代号和日期例如BA_Site01_202406别用“新建项目”“test”这类名字。SMC 里项目一多列表里根本分不清哪个是正式环境。项目路径默认在安装盘的GMSProjects下如果机器上有独立数据盘改到数据盘更稳——项目文件夹会随图形、报告、日志持续增长和系统盘抢空间是常见的磁盘告警来源。端口号是最容易出问题的一项。只有一个项目实例时保留默认端口即可SMC 里存在多个项目时两个已启动的项目不能使用相同端口号如果某个项目的端口号和当前活动项目相同这个项目就无法启动。恢复模板之前先看看机器上哪些端口被占了# 列出当前所有监听端口恢复模板前用来避开已被占用的端口 Get-NetTCPConnection -State Listen | Where-Object { $_.LocalPort -ge 1024 } | Sort-Object LocalPort -Unique | Select-Object LocalAddress, LocalPort, OwningProcess # 按 PID 反查占用端口的进程确认是不是上一轮没停干净的项目 Get-Process -Id (Get-NetTCPConnection -LocalPort 8080 -State Listen).OwningProcess第一段按端口去重-ge 1024是排除系统保留端口段避免输出被一堆 135、445 之类的系统服务淹没。第二段用OwningProcess反查进程名是判断“端口被谁占”的关键一步占用者是System说明被系统服务或保留段占了得换端口占用者是项目进程说明旧项目没停去 SMC 里停掉比改端口更合理。这里没有写死具体端口号是因为不同版本、不同扩展模块的默认端口并不一致照着现场 SMC 里显示的默认值来判断最准。填完点保存恢复流程开始。恢复时间取决于模板大小期间不要重复点击也不要中途关 SMC。完成后进入“项目和系统信息”选项卡看状态这一眼很关键下一节细说。3.3 恢复备份与创建新项目的适用场景恢复项目备份主要用于两类场景回滚和迁移。升级前备份、改配置前备份、交付前备份出了问题用它回到上一个可用状态换服务器时把项目备份恢复到新机器比重新配一遍快得多。但备份和版本绑得很紧用旧版本做出来的备份在新版本 SMC 里恢复后状态通常是“已过期”必须先升级再启动不能跳过升级直接启。创建新项目适合两种情况一是项目规模很小模板里的东西大多用不上二是需要一套完全干净的基线做对比测试。新建的代价是扩展模块、事件架构、驱动、趋势定义、用户和权限全部要手动配任何一项漏了都会在运行期才暴露。我一般不推荐在正式站点上用新建除非确认过模板确实不适用。三种方式对比下来判断逻辑可以压成一句话正式项目优先恢复模板回滚和迁移用恢复备份只有做实验或极小规模才新建。这个顺序和手册给的推荐一致也是现场被反复验证过的。4. 项目配置与客户端接入共享、权限、事件处理项目能启动不等于能用。客户端连不上、事件日志爆库、调试端口冲突这些问题都出在配置阶段没做完。这一章的三块内容——文件夹共享与安全访问、事件处理行为、扩展模块——在手册里分散在不同小节实际做的时候建议按“先共享、再事件、后模块”的顺序因为模块一变往往要重新确认事件架构。4.1 项目文件夹共享与安全访问权限客户端要连服务器第一步是能访问项目文件夹。这不是简单开个共享就行权限给大了是安全风险给小了客户端连上来就报读写失败而且报错信息通常只说“无法访问”不会告诉你是共享权限还是 NTFS 权限的问题。共享权限和 NTFS 权限是两层最终生效的是两者的交集。常见做法是共享层按组粗放授权NTFS 层做精细化两层用同一批安全组避免出现“共享给了但 NTFS 拒了”的排查困境# 给项目文件夹建共享按角色分三档权限 $path D:\GMSProjects\GMSMainProject New-SmbShare -Name GMSMainProject -Path $path -FullAccess DOMAIN\CC-Engineers -ChangeAccess DOMAIN\CC-Clients -ReadAccess DOMAIN\CC-Viewers Get-SmbShareAccess -Name GMSMainProject-FullAccess给运维组用于升级、备份、改配置-ChangeAccess给客户端操作员组允许读写运行期文件但不给改权限-ReadAccess给只读查看角色。反引号是 PowerShell 的续行符路径里有空格时必须这么写。最后一句Get-SmbShareAccess是回读确认比在图形界面里点属性可靠。NTFS 层要把继承关掉再授权否则上级目录的 Everyone 会把共享层的限制全部绕过去# 关闭继承并清空继承来的 ACE再按组重新授权 icacls $path /inheritance:r icacls $path /grant DOMAIN\CC-Engineers:(OI)(CI)F icacls $path /grant DOMAIN\CC-Clients:(OI)(CI)M icacls $path /grant DOMAIN\CC-Viewers:(OI)(CI)RX/inheritance:r是移除继承并保留已继承的权限条目副本/inheritance:r配合后面的重新授权等于把权限基线重置一遍。(OI)(CI)表示对象继承和容器继承项目文件夹下面层级很深不加这两项子目录会全部没权限。F、M、RX分别是完全控制、修改、读取和执行对应上面的三档角色。授权完成后用icacls $path再读一遍确认没有残留的 Everyone 条目。4.2 事件处理行为与事件架构手册里“配置项目以控制事件处理的行为”这句话很短落地时对应的是事件架构event schema的选型。事件架构决定了哪些系统活动、报警、故障会写入 HDB 的事件日志以及写入的字段结构。模板里已经应用了一套默认架构如果站点有特殊的审计要求需要在这里调整。调整的时机很关键项目未启动时改配置直接生效项目运行中改部分设置要重启服务才加载重启又会影响在线客户端。所以事件架构的确认放在实例化之后、激活之前是成本最低的窗口。判断架构是否合适看两个指标就够一是事件日志的增长速度二是报警追溯时能不能查到需要的字段。前者可以在 HDB 里按天统计行数后者只能靠和运维方对一遍需求清单。4.3 扩展模块的添加与顺序约束扩展模块决定项目支持哪些设备类型和功能集添加入口在 SMC 里。有一个约束必须记住扩展模块要在项目未启动状态下添加。项目启动着去加模块SMC 可能允许你点但模块注册不完整表现为设备模板里找不到对应驱动或者驱动起来了但点位加不进去。添加顺序上先加基础通信和图形相关的模块再加业务类模块。原因是后加的模块可能依赖前面模块建立的视图结构顺序反了会出现视图里缺分类的情况。每加完一个模块重启一次 SMC 再继续比一口气全加完更稳——出了问题能定位到具体是哪个模块引入的。5. 排查五个在工程配置阶段反复出现的坑下面五条都是现场遇到过的按“现象 → 原因 → 解决”记顺序大致对应前面章节的操作顺序。每条都给出可执行的确认动作不建议凭印象猜。5.1 现象SMC 扫描网络扫不到任何 SQL Server原因三种可能按概率排——SQL Server Browser 服务没启动命名实例无法被解析服务器防火墙没放行 SQL 的端口和 Browser 的 UDP 端口扫描用的账户在网络段上没有访问权限。默认实例加固定端口的情况反而最少出问题。解决先在数据库服务器上确认服务状态和端口监听命令在第 2.1 节已经给过再在 SMC 所在机器上测连通性# 测 SQL 实例端口是否可达命名实例同时测 Browser 的 UDP 端口 Test-NetConnection -ComputerName SQLHOST01 -Port 1433 Test-NetConnection -ComputerName SQLHOST01 -Port 1434 -InformationLevel DetailedTest-NetConnection的-Port参数会做一次 TCP 握手TcpTestSucceeded为 True 才说明链路和防火墙都通。UDP 端口用-InformationLevel Detailed只是拿来做参考UDP 探测本身不可靠Browser 服务到底通不通最直接的办法还是在 SMC 里手工填主机名\实例名链接一次。扫描只是便利功能手工链接能过就说明实例本身没问题。5.2 现象模板恢复完成后状态是红色“已过期”点启动没反应原因模板或备份是在旧版本上生成的SMC 当前版本对项目结构有更高要求状态检查不通过就不允许启动。这是版本升级后最常见的一道坎和模板本身是否损坏无关。解决在 SMC 里选中项目执行升级升级前先做一次项目备份升级过程不可回退。升级完成后重新看“项目和系统信息”选项卡状态变成正常再启动。要注意的是升级只升项目结构不升 HDB 里的数据如果 HDB 也是旧版本建的升级后建议跑一次趋势查询确认读得出来。反过来如果状态正常但启动报错就不要再去点升级往端口和 HDB 链接方向查。5.3 现象第二个项目起不来日志里提示端口被占用原因SMC 里有多个项目时两个已启动项目不能有相同端口号端口和当前活动项目冲突的项目无法启动。很多人在恢复模板时直接用了默认端口第一个项目能跑第二个就卡住。解决先在 SMC 里停掉不用的项目确认活动项目是哪个标题栏会显示当前活动项目名再按 3.2 节给的命令查端口占用给新项目换一个没被监听的端口。换完保存重新启动。这里有个顺序细节先停旧项目再改新项目端口比反过来成功率高因为部分版本在项目运行中改端口不会立即生效。5.4 现象服务器本机一切正常客户端连不上原因按概率排是项目文件夹共享缺失、NTFS 权限不足、防火墙未放行、客户端与服务端版本不匹配。前三个都能在服务器侧查清第四个只能对比版本。解决按顺序做三步确认。第一步在客户端机器上测端口连通# 从客户端侧验证服务端口是否可达替换为项目实际端口 Test-NetConnection -ComputerName CCHOST01 -Port 8080第二步在服务器上回读共享和 NTFS 权限用 4.1 节的Get-SmbShareAccess和icacls。第三步在服务器上确认防火墙规则只对专用网段放行不要图省事开成任意来源。三步都过还是连不上再去比对客户端和服务端版本版本不一致导致的连接失败通常伴随明确的版本提示容易识别。5.5 现象HDB 建好了但趋势曲线查不出数据或者项目提示 HDB 链接丢失原因常见三种——SQL 服务账户被改过HDB 的登录映射失效磁盘写满导致数据库进入恢复挂起有人直接还原了 HDB 覆盖现有库项目侧链接指向的库名或文件路径变了。解决先查数据库状态和磁盘余量再查链接-- 查 HDB 当前状态和恢复模式RECOVERY_PENDING 说明有文件缺失或权限问题 SELECT name, state_desc, recovery_model_desc, log_reuse_wait_desc FROM sys.databases WHERE name LIKE HDB%;state_desc出现RECOVERY_PENDING基本就是文件路径不可达或服务账户没权限ONLINE才是正常。log_reuse_wait_desc长期是LOG_BACKUP说明完整恢复模式下没配日志备份日志会一直涨。确认数据库正常后回到 SMC 重新链接 HDB链接成功再启动项目。磁盘满这条最容易被忽略做监控时把 HDB 所在分区单独加一条阈值告警比事后救火省事得多。6. 装完怎么验证三步确认这套工程配置真的跑通了验证不要只看 SMC 里那个绿点它只代表进程起来了。我习惯按三步走每一步都有明确的判断依据。6.1 状态与活动项目确认打开 SMC看两处项目列表里目标项目的状态是否正常、有没有红色“已过期”标题栏显示的项目名是不是当前活动项目。多个项目并存时标题栏和列表显示不一致是很常见的误判来源——你以为在配 A 项目实际活动的是 B。这一步不通过后面的验证都没有意义。6.2 HDB 写入与趋势读取在系统里人为制造一条可追溯的记录——登录一次、触发一次报警、或者手动改一个会进趋势的点然后去 HDB 里查-- 按时间倒序取最近的事件记录确认写入链路是通的 SELECT TOP 20 event_time, source_name, message_text FROM dbo.t_event_log ORDER BY event_time DESC;表名以实际 HDB 结构为准重点是ORDER BY event_time DESC取到的最近记录时间要贴近刚才操作的时间。差几分钟可以接受差几小时说明写入有延迟一条都没有就去查事件架构有没有应用、HDB 链接是否还在。趋势数据同理取一个刚改过的点看最新值的时间戳。6.3 客户端连接与备份还原演练找一台客户端机器实际登录一次不要用服务器本机代替。登录后能打开图形、能看到实时值、能查历史趋势三样都过才算通。最后做一次完整备份包含项目和历史数据库两部分然后在一个测试目录里恢复验证——只备份不验证等于没有备份。下面这张表是我每次交付前会核对的清单检查项通过标准不通过先查项目状态正常无“已过期”版本升级活动项目标题栏与列表一致SMC 激活操作HDB 状态ONLINE磁盘余量充足文件路径、服务账户事件写入最近记录时间贴近操作时间事件架构、HDB 链接客户端连接图形、实时值、趋势均可读共享、NTFS、防火墙备份项目与 HDB 成对恢复成功备份完整性与版本一致性那份 2013 年的手册把流程拆得很清楚但它不会告诉你端口冲突会卡在第二个项目上也不会告诉你恢复备份后必须先升级。从那以后我每次做完工程配置都会强制走一遍这三步验证尤其是备份还原演练——不演练的备份真出事时大概率是后悔药里最贵的那种。希望帮到你。本文还有配套的精品资源点击获取