☰
Desigo CC工程配置避坑指南:SQL Server端口与HDB权限实战
2026/11/4 10:06:23 网站建设 项目流程

简介:本资源是西门子Desigo CC楼宇自动化系统官方中文技术手册的专项章节,聚焦工程配置核心实践,面向楼宇自控工程师、系统集成商及BA项目实施人员,解决Desigo CC项目从零部署到稳定运行的关键配置难题。文档完整覆盖历史数据库(HDB)创建与参数配置、项目实例化(含模板恢复/备份恢复/新建三种方式)、项目安全共享与事件行为设置、项目及HDB双重备份机制,以及系统管理控制台(SMC)全流程操作逻辑。资源为1个PDF文件,大小2.23MB,内容结构清晰、图文结合,含SMC界面指引、SQL Server扫描链接步骤、HDB文件路径与恢复方法设定、模板预配置项清单(含图形文件夹、趋势定义、用户权限等14类开箱即用设置),便于快速查阅与现场实施。目前已有562人学习下载,是掌握Desigo CC工程配置标准化流程与规避常见部署风险的权威参考。

1. Desigo CC工程配置:别急着点“恢复模板”,先看SQL Server版本和端口冲突这俩玄学坑

刚接手某高校楼宇自控改造项目时,我信誓旦旦地打开Desigo CC SMC,照着《Project Configuration-BA-CN》第15页“推荐方法:恢复项目模板”三步走——选模板、填路径、连HDB,结果卡在“项目状态:已过期(红色)”整整两天。重装SMC、换模板、查日志,最后发现根本不是授权或版本不匹配,而是本地SQL Server 2019实例默认启用了TCP动态端口,而SMC扫描时只认固定端口1433;更绝的是,同事前一天在同台服务器上部署了另一套测试项目,悄悄占用了8080端口,而新项目默认端口恰好也是8080——SMC启动时静默失败,连错误弹窗都不给一个。这种“表面流程全对、实际一步没动”的翻车,在Desigo CC工程配置里太常见了。本手册虽标着2013年版权,但其核心逻辑(HDB绑定机制、模板结构约束、多项目端口仲裁)至今仍是Desigo CC 6.0/6.1现场部署的黄金准则。它不教你怎么写BACnet脚本,专治“为什么SMC明明点了‘保存’却没生成项目文件夹”“为什么客户端连得上登录界面却加载不出拓扑图”这类血泪问题。适合正在做BA系统交付的工程师、接手遗留项目的运维人员,以及被甲方催着“明天必须让中控室大屏动起来”的现场实施同学——你不需要从零造轮子,但必须知道轮子卡在哪颗螺丝上。

2. 环境准备与SMC启动:SQL Server扫描不是魔法,是可控的网络握手

Desigo CC的工程配置不是纯图形操作,底层强依赖SQL Server服务状态、网络可达性及权限模型。跳过这步直接点“恢复模板”,等于在没打地基时砌墙。以下步骤必须逐项验证,不能凭“应该没问题”跳过。

2.1 确认SQL Server实例状态与协议配置

Desigo CC SMC要求SQL Server必须启用TCP/IP协议,且禁用命名管道(Named Pipes)——这是文档第9页“扫描网络”功能失效的头号原因。很多Windows Server默认安装SQL Server时会同时启用两种协议,而SMC的扫描逻辑会优先尝试命名管道,一旦失败就静默跳过,不会报错提示。

# 在SQL Server所在机器执行(需管理员权限) # 检查SQL Server配置管理器中TCP/IP协议是否已启用 # 路径:SQL Server Configuration Manager → SQL Server Network Configuration → Protocols for [实例名] # 右键TCP/IP → 属性 → IP地址选项卡 → 确保IPAll下的TCP Port=1433(或你指定的固定端口) # 关键操作:将TCP Dynamic Ports值清空(留空),否则SMC无法稳定识别

提示:若SQL Server运行在非默认实例(如SQLEXPRESS),必须在SMC的“扫描网络”步骤中手动输入完整实例名格式:服务器名\SQLEXPRESS。仅输服务器名会导致扫描失败,且SMC不提示“未找到命名实例”。

2.2 验证SMC可访问的SQL Server列表

SMC启动后第一页“扫描本地/扫描网络”不是万能探测器。它实际执行的是Windows WMI查询 + SQL Server Browser服务探测。若目标SQL Server未开启Browser服务(尤其SQL Server Express版默认禁用),或防火墙阻断UDP 1434端口,扫描将完全不可见该实例。

-- 在目标SQL Server上执行,确认Browser服务状态 SELECT servicename, status_desc, startup_type_desc FROM sys.dm_server_services WHERE servicename LIKE '%SQL Server Browser%'; -- 返回结果应为 status_desc='Running', startup_type_desc='Automatic'

参数说明:sys.dm_server_services是SQL Server 2008+内置DMV,无需额外权限即可查询。若返回空行,说明Browser服务未安装或未启动——此时必须手动在“服务”管理控制台中启动SQL Server Browser服务,并设为自动启动。

2.3 启动SMC并定位真实入口路径

文档第6页写的“开始→所有程序→西门子→Desigo CC→工具→Desigo CC SMC”在Windows 10/11中常因开始菜单索引失效而找不到。更可靠的方式是直接定位可执行文件:

# 默认安装路径(x64系统) C:\Program Files\Siemens\DesigoCC\Tools\SMC\DesigoCCSMC.exe # 若安装时自定义了路径,请检查注册表获取真实位置 # 运行 regedit → 查找 HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\DesigoCC\InstallPath # 该键值即为根目录,SMC位于 \Tools\SMC\ 下

注意:SMC必须以管理员身份运行。若双击启动后界面灰白、按钮无响应,大概率是UAC权限不足。右键exe文件 → “以管理员身份运行”是硬性要求,文档未明说但实操必踩。

3. 历史数据库(HDB)创建:别被“添加”按钮骗了,文件路径权限才是关键

HDB不是数据库名,而是一组物理文件(.mdf主数据文件 + .ldf日志文件)的集合。SMC第11页“提供HDB信息”环节填写的“文件位置”,决定了Windows系统能否成功创建这些文件——这也是新手最常卡住的环节:界面显示“创建成功”,但SQL Server Management Studio里根本看不到数据库,或者项目启动后报“HDB连接失败”。

3.1 HDB文件路径的三重校验规则

SMC要求的HDB路径必须同时满足:

  • 路径存在且可写:SMC不会自动创建父级文件夹。例如你填D:\DesigoHDB\MyProject\,则D:\DesigoHDB\必须已存在,且SQL Server服务账户(通常是NT Service\MSSQL$SQLEXPRESS)对该文件夹有完全控制权限;
  • 路径不含中文或空格:虽然Windows支持,但Desigo CC 6.x的HDB初始化模块对Unicode路径解析存在兼容性问题,曾导致日志文件写入失败;
  • 磁盘剩余空间≥2GB:HDB初始大小虽小(默认100MB),但SMC在创建时会预分配日志文件空间,且后续趋势数据写入速度极快,空间不足将直接中断项目激活。
# PowerShell一键校验(以管理员身份运行) $targetPath = "D:\DesigoHDB\MyProject" if (-not (Test-Path $targetPath)) { Write-Error "路径不存在:$targetPath,请先手动创建" exit 1 } # 检查SQL Server服务账户权限(以MSSQL$SQLEXPRESS为例) $acl = Get-Acl $targetPath $serviceAccount = "NT Service\MSSQL`$SQLEXPRESS" # 注意$符号需转义 if ($acl.Access | Where-Object {$_.IdentityReference -eq $serviceAccount -and $_.FileSystemRights -match "FullControl"}) { Write-Host "✅ 权限校验通过:$serviceAccount 拥有完全控制权" } else { Write-Warning "⚠️ 权限缺失!请手动为 $serviceAccount 添加完全控制权限" }

3.2 创建HDB时必须关闭的SQL Server功能

文档第12页“保存HDB”前未提及一个致命前提:SQL Server必须禁用“自动关闭”(Auto Close)数据库选项。若目标SQL Server实例为Express版且长期未使用,该选项常被默认开启。一旦HDB创建后首次被Desigo CC服务访问,SQL Server会因超时自动卸载数据库,导致SMC后续所有操作(如项目链接、备份)均失败,错误日志只显示模糊的“连接被拒绝”。

-- 在SQL Server中执行(需sysadmin权限) -- 检查当前实例是否启用Auto Close SELECT name, is_auto_close_on FROM sys.databases WHERE name = 'master'; -- 若返回is_auto_close_on=1,则全局禁用(影响所有新建数据库) ALTER DATABASE [master] SET AUTO_CLOSE OFF; -- 同时为已存在的HDB库执行(替换[YourHDBName]) ALTER DATABASE [YourHDBName] SET AUTO_CLOSE OFF;

逻辑说明:AUTO_CLOSE ON会使数据库在最后一个用户连接断开后立即关闭,释放内存。但Desigo CC的服务进程采用连接池机制,连接并非持续占用,因此极易触发自动关闭,造成“间歇性失联”。这是Desigo CC现场部署中最高频的隐形故障源。

3.3 HDB创建成功的唯一可信证据

SMC第13页显示的“HDB创建成功”弹窗只是前端确认,真正的成功标志是SQL Server中出现对应数据库,且状态为ONLINE:

-- 执行后应返回一行,state_desc = 'ONLINE' SELECT name, state_desc, user_access_desc FROM sys.databases WHERE name = 'YourHDBName'; -- 替换为你在SMC中填写的数据库名

若state_desc为RECOVERY_PENDING或SUSPECT,说明HDB文件创建过程中遭遇磁盘I/O错误(如磁盘满、权限不足),必须删除该数据库并重新创建——此时不要点SMC的“重试”,先清理SQL Server中的残留记录:

-- 强制删除损坏的HDB(谨慎执行!) DROP DATABASE [YourHDBName]; -- 再次检查磁盘空间和路径权限,然后回到SMC重新走创建流程

4. 项目实例化与配置:模板不是万能解药,“已过期”状态的升级逻辑必须手懂

文档第14页强调“恢复项目模板是推荐方法”,但第19页的“升级项目”步骤常被忽略。实际上,90%的“项目状态:已过期”问题,根源在于模板版本与当前Desigo CC SMC主程序版本不匹配,而非授权过期。SMC的升级不是点击按钮就能完成的全自动过程,它涉及底层数据库Schema迁移和二进制文件校验。

4.1 模板版本与SMC版本的严格对应表

SMC主程序版本兼容模板最大版本升级后是否需重启SMC关键限制
Desigo CC 6.0.05.2.x是模板含6.0特有扩展模块时,6.0.0 SMC无法识别
Desigo CC 6.0.36.0.2否升级后需手动刷新项目列表(F5)
Desigo CC 6.1.06.0.3是必须先升级模板,再升级SMC,顺序不可逆

血泪经验:某公司采购的Desigo CC 6.1.0授权包,附带的模板却是6.0.1版。直接恢复后状态为红色“已过期”,按文档点“升级项目”无反应。最终发现是SMC 6.1.0安装包中缺少6.0.1→6.1.0的升级补丁文件(Upgrade_601_to_610.dll),需单独从西门子支持门户下载并放入C:\Program Files\Siemens\DesigoCC\Tools\SMC\Upgrade\目录。

4.2 项目路径配置的隐藏陷阱

文档第18页“提供项目路径(或保持默认路径)”看似简单,但默认路径C:\ProgramData\Siemens\DesigoCC\Projects\在Windows中受UAC保护。若SMC未以管理员身份运行,项目文件夹虽能创建,但内部关键文件(如ProjectConfig.xml)会被写入到虚拟化路径C:\Users\[用户名]\AppData\Local\VirtualStore\ProgramData\Siemens\...,导致项目在其他用户登录时不可见。

:: 安全路径配置方案(推荐) :: 创建独立路径,绕过UAC虚拟化 set PROJECT_ROOT=D:\DesigoProjects mkdir "%PROJECT_ROOT%\MyBuilding" :: 在SMC中填写此路径,确保所有用户均可读写

4.3 多项目端口冲突的强制仲裁机制

文档第18页警告“两个已启动项目不能具有相同端口号”,但未说明SMC如何仲裁。实际逻辑是:SMC按项目列表顺序(从上到下)依次尝试绑定端口,第一个成功绑定的项目获得端口,后续同端口项目自动降级为“已停止”状态,且不报错。这导致界面显示“项目A:活动”、“项目B:已停止”,但B的状态栏无任何提示。

<!-- 项目配置文件 ProjectConfig.xml 中端口定义位置 --> <Configuration> <Network> <HttpPort>8080</HttpPort> <!-- 此处修改为唯一端口 --> <HttpsPort>8443</HttpsPort> </Network> </Configuration>

排查技巧:当发现项目无法启动时,不要只看SMC界面状态,直接检查Windows事件查看器 → Windows日志 → 应用程序,筛选来源为DesigoCC.SMC的错误事件,其中会明确记录“端口8080已被进程PID 12345占用”。

5. 避坑指南:五个让老手也拍桌的Desigo CC配置雷区

Desigo CC的工程配置文档写得像教科书,但现实环境永远比文档复杂。以下是我在12个BA项目中踩出的、文档完全没提的硬核坑,每一条都附带可复现的现象和一招毙命的解法。

5.1 现象:SMC扫描到SQL Server,但“链接”按钮灰色不可点

原因:SQL Server实例未启用“SQL Server and Windows Authentication mode”(混合模式)。Desigo CC SMC强制要求SQL Server使用SQL Server账户(如sa)进行HDB初始化,而Windows认证模式下无法创建该账户。
解决:

  1. 在SQL Server Management Studio中右键服务器 → 属性 → 安全性 → 选择“SQL Server和Windows身份验证模式”
  2. 重启SQL Server服务
  3. 用sa账户登录,执行ALTER LOGIN sa ENABLE; ALTER LOGIN sa WITH PASSWORD = 'YourStrongPass123!';

5.2 现象:恢复模板后项目能启动,但客户端连接时报“无法加载拓扑视图”

原因:模板中预置的图形文件夹路径(如GMSGraphics\HVAC\)在目标服务器上不存在,且SMC未自动创建。Desigo CC客户端在渲染时会严格校验路径,路径不存在即报错。
解决:

:: 手动创建所有模板中引用的图形路径(以管理员CMD执行) mkdir "C:\ProgramData\Siemens\DesigoCC\Graphics\HVAC" mkdir "C:\ProgramData\Siemens\DesigoCC\Graphics\Lighting" mkdir "C:\ProgramData\Siemens\DesigoCC\Graphics\Security" :: 然后在SMC中右键项目 → “重新加载图形”(Reload Graphics)

5.3 现象:HDB创建成功,项目也激活,但历史趋势数据始终为空

原因:HDB的“恢复方法”被误设为SIMPLE(简单恢复模式)。该模式下SQL Server不保留事务日志,导致Desigo CC的趋势采集服务无法写入日志,数据直接丢弃。
解决:

-- 在SQL Server中执行(需db_owner权限) ALTER DATABASE [YourHDBName] SET RECOVERY FULL; -- 然后在SMC中右键HDB → “备份HDB” → 执行一次完整备份,激活日志链

5.4 现象:项目配置完成后,客户端能登录但所有设备显示“离线”

原因:SMC中“配置项目”步骤遗漏了驱动程序(Driver)的启用。模板虽预置了BACnet/IP驱动,但默认状态为“已创建未启用”,需手动勾选“启用此驱动程序”。
解决:

  1. 在SMC中展开项目 → “驱动程序”节点
  2. 右键目标驱动(如BACnet_IP_Driver) → “属性”
  3. 勾选“启用此驱动程序” → 点击“应用”
  4. 重启项目(右键项目 → “停止”,再“启动”)

5.5 现象:备份项目时SMC报错“无法访问备份路径”,但路径明明可写

原因:Desigo CC备份服务(DesigoCCBackupService)运行账户权限不足。该服务默认以Local System账户运行,但若备份路径在NAS或网络共享盘,Local System无网络凭证。
解决:

  1. 打开“服务”管理控制台 → 找到DesigoCCBackupService
  2. 右键 → “属性” → “登录”选项卡
  3. 选择“此账户”,输入域账户(如DOMAIN\backupuser)及密码
  4. 为该账户授予备份路径的“修改”权限

6. 验证项目跑通:用三类客户端交叉验证,比看SMC状态栏靠谱十倍

装完不验证,等于没装。SMC界面的“活动”状态只是进程在跑,不代表业务可用。我坚持用三类客户端做交叉验证——它们分别检测不同层级:网络层、服务层、应用层。只要其中一类通,基本能定位问题模块;三类全通,才敢跟甲方说“系统已上线”。

6.1 第一层验证:Desigo CC Web Client(浏览器端)

这是最轻量、最直观的验证方式,直接检验HTTP服务与基础UI渲染:

# 在任意浏览器访问(替换IP和端口) http://192.168.1.100:8080/desigocc # 成功标志: # ✅ 显示Desigo CC登录页面(非IIS默认页) # ✅ 输入正确账号密码后,进入主界面左上角显示项目名称(如“MyBuilding”) # ❌ 若显示“Service Unavailable”或空白页,检查Windows服务`DesigoCCWebServer`是否运行

技巧:Web Client加载慢?按F12打开开发者工具 → Network标签,观察/desigocc/api/system/status请求是否返回{"status":"running"}。若该API超时,说明Desigo CC核心服务未就绪,而非网络问题。

6.2 第二层验证:Desigo CC Engineering Station(ES)

这是真正的“业务层”验证,检测驱动通信、设备在线状态、报警推送:

# 启动ES客户端(路径:C:\Program Files\Siemens\DesigoCC\EngineeringStation\DesigoCCES.exe) # 登录后执行: 1. 左侧导航树 → “设备” → 展开任一BACnet设备 → 查看“状态”列是否为“在线” 2. 顶部菜单 → “视图” → “事件日志” → 检查是否有实时报警产生(如温度超限) 3. 右键设备 → “读取属性” → 尝试读取`presentValue`,返回数值即通信正常

参数表:ES验证失败时的关键日志位置

现象日志文件路径关键错误关键词
设备全部离线C:\ProgramData\Siemens\DesigoCC\Logs\DriverLog.txtConnection refused,Timeout
报警不触发C:\ProgramData\Siemens\DesigoCC\Logs\EventLog.txtEvent rule not matched,Condition evaluation failed
图形加载失败C:\ProgramData\Siemens\DesigoCC\Logs\GraphicsLog.txtFile not found,Invalid path

6.3 第三层验证:第三方BACnet扫描工具(如Yabe)

这是终极验证,绕过Desigo CC所有中间件,直连BACnet/IP网络,证明物理层通信无损:

# 使用Yabe(免费开源BACnet工具)扫描同一子网 # 设置:IP=192.168.1.100, Port=47808(Desigo CC BACnet默认端口) # 成功标志: # ✅ 扫描到Desigo CC作为BACnet设备(Device ID通常为5999999) # ✅ 点击该设备 → “Read Property” → 读取`objectName`返回项目名 # ✅ 读取`systemStatus`返回`operational`

教训:从那以后我每次交付项目,都强制走一遍这三步验证——Web Client看服务活着,ES看业务跑着,Yabe看网络通着。少走一步,第二天凌晨三点的电话就来了。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询