简介:Desigo CC手册-04-Project Configuration-BA-CN(工程配置)是面向楼宇自动化系统工程师、调试人员及运维管理者的西门子官方中文指导文档,重点解决项目实例化、历史数据库创建、项目配置与备份等工程实施问题,适合具备一定Desigo CC基础、需要按标准流程完成现场配置的中高级读者。压缩包内共1个PDF文件,约2.23MB,内容围绕系统管理控制台(SMC)展开,涵盖创建和链接HDB、恢复项目模板、设置文件夹共享与安全访问、备份项目及历史数据库等核心操作,并配有工作流程示意与现场演示说明。目前已有562人学习,可作为快速查阅SMC操作要点、核对配置顺序和排查常见设置问题的案头参考资料。文档以任务导向组织章节,读者可据此理解项目从模板恢复到启动的完整链路,掌握HDB参数设置、端口冲突判断、项目过期升级等易错点,提升现场部署的规范性与可追溯性。
1. 从 SMC 里空荡荡的项目列表说起:工程配置到底卡在哪
拿到 Desigo CC 手册-04-Project Configuration-BA-CN(工程配置)这份文档的人,多半已经在机房里对着系统管理控制台发过呆了:软件装完了,服务也起来了,可 SMC 里既没有历史数据库,也没有可启动的项目,点哪儿都是灰的。工程配置这一章讲的正是这段最容易卡住的路——建 HDB、实例化项目、配端口和共享权限,最后把项目和数据库一起备份掉。它是给要在一台服务器上把楼宇自控项目真正跑起来的实施人员看的,不是照着点下一步就能过去的安装向导。装不好的后果很直接:HDB 建到一半报错,项目恢复完端口撞车起不来,客户端明明网络通却连不上。这篇就把这套流程按能复现的顺序拆开。
2. 装前对位:SMC、SQL Server 实例与 ProjTemplates 目录
动手之前先接受一个现实:Desigo CC 的安装包里不带默认项目。也就是说,装完软件只是把"能装项目的壳"装上了,SMC 里没有现成项目可点,必须由你自己建 HDB、自己实例化项目。这一章先把三样东西的位置和版本对清楚,后面每一步才不会白做。
2.1 先把 SMC 找出来:入口、依赖和工作目录
系统管理控制台的入口有两条:开始菜单里走「所有程序 → Desigo CC → 工具 → Desigo CC SMC」,或者直接点桌面上的 SMC 快捷方式。两条路指向同一个可执行文件,别去安装目录里翻 exe 手动跑,工作目录不对时模板路径会找不到。
SMC 主要干四类事:配置系统和服务管理员用户帐户;创建新项目、恢复项目和项目模板、升级项目;往项目里加扩展模块;创建或恢复特定项目的 SQL 历史数据库(HDB)。这四件事的顺序不是随意的——账号没配好,后面建库和恢复项目都可能因为权限失败;HDB 没建好,项目恢复时"链接到 HDB"这一步就是空的。
开始正式操作前,先把安装根目录和模板目录确认一遍,路径以本机实际安装位置为准:
# 把 <安装根目录> 换成本机实际的 Desigo CC 安装路径 $root = "<安装根目录>" # 恢复模板时选的就是这个目录下的子文件夹 Get-ChildItem "$root\GMSProjects\GMSMainProject\ProjTemplates" -Directory | Select-Object Name, LastWriteTime | Sort-Object LastWriteTime -Descending这段脚本做两件事:确认ProjTemplates目录真实存在,以及列出可选模板的名字和修改时间。Name就是恢复模板时要选的那个名字,LastWriteTime用来判断模板新旧——同一套系统里放过多个版本模板时,按时间排序比按名字猜靠谱。如果这条命令返回空,先别急着往下走,说明安装目录选错了,或者这套安装根本没带项目模板。
提示:SMC 的"配置系统和默认用户帐户"是可选项,但现场建议先做。等 HDB 建完再回头改账号,已经链接上的数据库所有者会对不上,返工比一开始多花十分钟麻烦得多。
2.2 SQL Server 实例:本地托管还是网络位置
HDB 不存放在 Desigo CC 自己的目录里,它落在 SQL Server 实例上。这个实例可能在 Desigo CC 服务器本机,也可能在网络上的另一台数据库服务器上,SMC 两种都支持——它靠"扫描本地"和"扫描网络"两个动作去找实例。
选本地还是网络位置,核心看两件事:一是数据库服务器的磁盘和备份能力,历史库会随着趋势数据和事件日志持续长大,工程站本机的系统盘通常扛不住;二是网络链路,HDB 断连的后果是趋势断点、事件日志写不进去,SMC 里项目状态看着正常,实际数据已经缺了一段。
在数据库服务器上先跑一条确认语句,把版本和排序规则记下来,后面出问题对账用得上:
-- 在准备托管 HDB 的实例上执行 SELECT @@VERSION AS 实例版本, SERVERPROPERTY('InstanceName') AS 实例名, SERVERPROPERTY('Collation') AS 排序规则; -- 看实例默认数据目录还有多少余地(示例查 tempdb 的文件位置) SELECT name, physical_name FROM sys.master_files WHERE database_id = 2;第一条语句的用途不是"看看版本"这么简单:命名实例和默认实例在 SMC 的扫描结果里显示方式不一样,先把实例名记下来,扫描列表里对不上时能立刻判断是没扫到还是扫错了。排序规则也要看,历史库里存的是中英文混合的报警文本,排序规则选错,后面按名称检索事件日志会出各种排序异常。
第二条语句确认默认数据目录的位置,是为了决定 HDB 的数据文件和日志文件要不要另指路径——手册里 HDB 配置项明确包含"文件位置"和"路径位置"两项,这两个不是一回事:前者是数据文件,后者是日志文件落点,正规做法是分到不同物理盘上。
2.3 模板和磁盘:先把要占的空间算出来
恢复项目模板比"创建新项目"省时间,但省的是工程配置时间,不是磁盘时间。模板本身预配置了系统设置、应用程序设置、已激活的扩展模块、已创建的图形文件夹、已应用的事件架构、拓扑图形、客户端和用户配置文件、已导入并按类别分类的报告、已创建并已启动的驱动程序、趋势定义、网络与已分配的驱动程序、逻辑/物理/用户视图,以及已创建的用户和安全组(含作用域和应用程序权限)。这些东西恢复出来就是一堆文件加一个数据库,磁盘要提前留。
装前对照表按这张走:
| 组件 | 作用 | 装前检查点 |
|---|---|---|
| Desigo CC 服务器 | 承载 SMC 与项目服务 | 服务能启动,安装目录可写 |
| 系统管理控制台 SMC | 建 HDB、实例化/升级/启动项目 | 能打开,扫描能列出目标实例 |
| SQL Server 实例 | 托管历史数据库 | 实例名、专用账号、数据盘余量 |
| ProjTemplates 目录 | 恢复模板的来源 | 目标模板存在且时间对得上 |
| 项目文件夹 | 项目本体,需共享给客户端 | 所在盘容量、共享权限可配 |
| 客户端工作站 | 连接项目读写数据 | 网络可达、账号在安全组内 |
常见做法是给 HDB 的数据文件、日志文件、备份文件各留一处位置,别全塞系统盘。日志文件在"完整恢复"模式下增长比数据文件还快,这一点在装前规划时最容易被忽略。
2.4 装前十分钟的检查清单
按顺序过一遍,比装到一半再回头补要省事:
- 确认 SMC 能正常打开,不是一闪而过。
- 确认目标 SQL Server 实例的地址、实例名、专用账号和密码都在手边。
- 确认
ProjTemplates下有要恢复的模板,模板名记下来。 - 确认项目文件夹所在盘的剩余空间,够放项目本体。
- 确认客户端要用的账号已经存在,或者知道往哪个安全组里加。
- 确认端口规划:只有一个项目实例时可以保留默认端口;计划放多个项目时,先把每个项目的端口写下来。
第 6 条是后面最容易翻车的地方,先记在本子上。
3. 创建历史数据库:扫描、链接、添加这三步里的参数取舍
历史数据库(HDB)记录的东西比想象中杂:用户活动写活动日志,报警及其处理写事件日志,已发生的故障写批处理消息,趋势数据和上传写数值日志。也就是说,HDB 不通,系统表面还能跑,但所有"回看"能力全没了。这一章按 SMC 里的实际动作顺序走:扫描 → 链接 → 添加 → 填参数 → 保存。
3.1 扫描本地与扫描网络:先让 SMC 看见实例
SMC 建 HDB 的第一步是找 SQL Server。界面上两个按钮:"扫描本地"搜本机上的实例,"扫描网络"搜网络上的实例。扫描结果是一个实例列表,SMC 会把所有已发现的 SQL Server 列出来。
这里有个顺序问题:如果数据库就在本机,先点扫描本地,速度快、结果干净;只有在网络位置时才点扫描网络,而且扫描网络在有域环境、实例较多的网络里可能等很久。扫描不到的时候不要反复点,先按下面两条排查——实例服务是否在跑,以及网络上的实例发现是否被拦住。很多现场最后是用"手工确认实例名"的方式绕过去的,而不是死等扫描。
3.2 链接与添加:链接是建立关系,添加才是建库
扫描列表出来之后,选中目标 SQL Server,点"链接"。这一步只是把 SMC 和这个实例建立关联关系,还没建任何数据库。链接成功后,再点"添加",才真正在服务器上创建 HDB。
这个两段式设计经常被误解成"点一次就完事",于是有人在链接完就切走了,回头发现 HDB 列表还是空的。判断标准很简单:点完"添加"并填完参数保存后,等几分钟,会出现 HDB 创建成功的确认界面,显示创建已完成。没看到这个确认,就等于没建。
3.3 HDB 参数怎么填:六个字段的取舍
点"添加"之后要填一组功能性信息,手册列得很清楚:数据库和日志大小、恢复方法、文件位置、路径位置、HDB 所有人和用户。这六项直接决定后面能不能恢复、能恢复到哪一天。
| 参数 | 填什么 | 取舍建议 |
|---|---|---|
| 数据库大小 | 数据文件初始大小 | 按点位数和趋势保存周期估,宁可先给大一点再开自动增长 |
| 日志大小 | 事务日志初始大小 | 选完整恢复模式时必须留足,否则很快触发频繁增长 |
| 恢复方法 | 简单恢复 / 完整恢复 | 只做历史记录可用简单;要按时间点回滚就必须完整 |
| 文件位置 | 数据文件落点 | 独立数据盘,别和系统盘共用 |
| 路径位置 | 日志文件落点 | 与数据文件分盘,减少 I/O 争抢 |
| HDB 所有人和用户 | 数据库所有者、登录用户 | 用专用服务账号,别用个人临时账号 |
恢复方法这一项最值得停下来想一分钟。选简单恢复,日志会自动截断,日常省心,但出事时只能恢复到最近一次完整备份;选完整恢复,日志链完整、能按时间点恢复,代价是日志会持续增长,必须有定期日志备份。楼宇自控项目里事件日志和报警记录往往有留存要求,我一般直接选完整恢复,然后把日志备份排进计划任务——省下的那点磁盘空间,换不来一次事故里的追溯能力。
填完参数后保存,等确认界面。建库这几分钟不要重复点保存,重复提交在部分版本上会留下同名但状态异常的库,后面链接项目时选哪个都不对。
3.4 建完立刻核对:从实例侧验证一遍
SMC 显示"创建已完成"只是应用层的确认,再从数据库侧核一遍,五项一次看全:
-- 切到刚建好的 HDB,核对文件落点与大小 USE [<HDB名称>]; GO SELECT name AS 逻辑名, physical_name AS 物理路径, size * 8 / 1024 AS 当前大小MB FROM sys.database_files; -- 核对恢复模式与在线状态 SELECT name AS 数据库名, recovery_model_desc AS 恢复模式, state_desc AS 状态 FROM sys.databases WHERE name = '<HDB名称>';第一段查的是sys.database_files,能同时看到数据文件和日志文件的实际物理路径——如果两个路径指向同一块盘,说明"文件位置"和"路径位置"填成一样了,趁项目还没链接上去,改还来得及。第二段查recovery_model_desc,确认恢复模式和你在 SMC 里选的一致;state_desc必须是 ONLINE,出现 RESTORING 或 RECOVERY_PENDING 说明建库过程被打断过,这种库不能直接给项目用。
注意:<HDB名称>要换成实际建库时用的名字,这个名字后面在 SMC 里链接项目时还要再选一次,记错名字是常见的时间浪费。
4. 实例化项目:恢复模板、端口分配与共享权限一次配到位
HDB 有了,接下来把项目立起来。SMC 提供三种实例化方式:恢复项目模板、恢复项目备份、创建新项目。手册的态度很明确——恢复项目模板是推荐方法,比创建新项目花费的时间明显减少,因为模板是预配置项目,直接降低了工程投入和出错风险。HQ 交付的项目模板可用于 BA、消防和 TBS 项目。
4.1 三种方式怎么选:先看手上有什么
选择逻辑按手上的材料走,不是按习惯走:
- 手上有厂商交付的模板,且是新项目 → 恢复项目模板,这是主路径。
- 手上有一个已经调好的同类项目备份,想复用 → 恢复项目备份。
- 什么都没有,或者要的项目结构跟模板差得远 → 创建新项目。
"创建新项目"排最后不是因为不能用,而是因为从这个入口进去,图形文件夹、事件架构、驱动程序、趋势定义、用户和安全组全要自己配,配漏一项不会立刻报错,往往要到客户端连上来才暴露。
4.2 恢复模板的完整动作:从选模板到保存
在 SMC 里点"恢复项目模板",从安装目录下的GMSProjects\GMSMainProject\ProjTemplates中选择所需模板。之后依次做四件事:
第一步,命名项目。名字要能看出楼栋和用途,别用Project1、test这类。项目名后面会出现在 SMC 列表、标题栏和客户端连接配置里,改名的成本比一开始想清楚高。
第二步,提供项目路径。可以保持默认路径,也可以指定到独立数据盘。项目文件夹会共享给客户端访问,放在系统盘上以后扩容很麻烦。
第三步,把项目链接到历史数据库(HDB)。这里选的就是上一章建好的那个 HDB。选错 HDB 的后果不是报错,而是新项目的历史数据写进了别人的库,两套系统的趋势数据混在一起,事后很难拆。
第四步,处理端口号,然后保存。这一步是全文最值得画重点的地方:只有一个项目实例时,保留端口号的默认值就行;但 SMC 里存在多个项目时,两个已启动项目不能有相同端口号,如果某个项目的端口号和当前活动项目的端口号相同,这个项目根本启动不了。多项目环境的正确做法是给每个项目预先分配一个不冲突的端口,写进项目台账。
4.3 状态"已过期"和升级:红色不是错误,是提醒
恢复流程完成后,先去"项目和系统信息"选项卡里看状态。如果状态显示"已过期"并且是红色,必须升级项目,不能跳过直接启动。
原因是模板的版本和当前安装的软件版本可能不一致。恢复动作只是把模板内容铺开,升级动作才做结构转换。跳过升级直接启动,常见表现是项目能起来但部分扩展模块功能不可用,或者图形页面打开空白——这种问题查起来最费时间,因为日志里不一定有明确报错。
升级完再做启动。SMC 里有多个项目时,需要手动激活目标项目;启动之后看两处:标题栏显示当前活动项目名,项目状态显示"已启动"。这两处对了,项目的实例化才算完成。
4.4 项目文件夹共享与安全访问:让客户端连得进来
客户端连不上,九成问题出在这一步。手册在配置项目的目标里写得很直白:设置项目文件夹共享和安全访问权限,以允许客户端连接。这句话里有两个独立动作——共享和权限,少一个都不行。
先看共享有没有建出来:
# 列出本机共享,确认项目文件夹对应的共享名存在 net share # 给客户端访问账号授予项目文件夹的读与执行权限 # <域\客户端账号> 换成实际的访问账号,<项目路径> 换成项目文件夹路径 icacls "<项目路径>" /grant "<域\客户端账号>:(OI)(CI)(RX)" /Tnet share的输出里要能找到项目文件夹对应的共享项,共享名和路径都要对上。第二段icacls里的(OI)(CI)表示继承到文件和子目录,(RX)是读加执行——客户端要读项目配置和图形资源,但不需要写权限,写权限给多了反而增加误改风险。/T表示递归应用到已有子目录和文件,第一次配权限时必须带上,不然新建的子目录继承了、老文件没继承,表现是部分页面能开部分打不开。
权限配完还要回到 SMC 侧确认安全组。模板里已经预建了用户和安全组,并分配了作用域和应用程序权限,但客户端实际用的账号必须在对应的安全组里。账号不在组里,共享通、网络通,客户端一样连不上,而且提示往往很含糊。
4.5 事件处理行为和备份:两个容易拖到最后的动作
配置项目这一环里还有一项是控制事件处理的行为。事件架构在模板里已经应用好了,要调的是处理行为本身——比如某类报警是否需要确认、是否进事件日志、批处理消息怎么归类。这项调整建议在客户端接入之前做完,因为一旦客户端开始产生操作记录,再改事件处理规则,历史记录的口径就不统一了。
备份放在项目跑通之后立刻做第一次。手册把备份单列成参考文档,指向用户指南的备份章节和系统管理控制台的"项目概述""使用项目"两节。实际要备份的是两样东西:项目本体(项目文件夹)和 HDB。只备项目文件夹不备 HDB,恢复出来的项目没有历史数据;只备 HDB 不备项目文件夹,恢复出来的是一个空壳加一堆孤立的历史记录。
-- HDB 的完整备份,备份文件放到独立磁盘 -- <备份路径>、<HDB名称> 按实际替换 BACKUP DATABASE [<HDB名称>] TO DISK = N'<备份路径>\HDB_full.bak' WITH INIT, COMPRESSION, STATS = 10;INIT表示覆盖同名备份集,不追加,避免备份文件无限膨胀;COMPRESSION省磁盘和传输时间;STATS = 10每完成 10% 打一行进度,几百 GB 的库跑起来时这几行输出是你唯一能判断"还活着"的信号。备份文件不要和数据库文件放同一块盘,这是备份能救人的前提。
5. 踩坑排查:五条从现场记录里捞出来的翻车现场
下面五条是按"现象 → 原因 → 解决"整理的,都是配置过程中反复出现的,不是理论推演。
第一条:SMC 扫描网络,列表是空的。
现象:点"扫描网络"之后转很久,最后没有列出任何 SQL Server,但数据库服务器明明在跑。
原因:网络上的实例发现依赖相应服务,或者被网络策略拦住了;也有可能是实例装在另一网段,SMC 所在机器根本路由不过去。
解决:先在数据库服务器上确认实例服务在跑,再用客户端工具从 SMC 这台机器直连实例名试一次。能直连但扫不到,就放弃扫描,直接按已知实例名建立链接——扫描只是便利功能,不是唯一入口。
第二条:链接成功了,"添加"时报权限不足。
现象:实例在列表里,链接也成功,点"添加"建库时弹权限错误。
原因:链接用的账号在这个实例上没有建库权限,或者没有对应的磁盘写权限。用个人账号临时登录时最容易撞上。
解决:换专用服务账号,让数据库侧把建库权限给到位;没有权限时走另一条路——由数据库管理员预先建好空库,SMC 侧链接已有的库。不要为了图快把账号提权到最高,那是给自己留隐患。
第三条:恢复模板后项目启动不了,状态是红色"已过期"。
现象:恢复流程走完,状态栏显示"已过期"(红色),点启动没有反应或启动后功能异常。
原因:模板版本低于当前安装的软件版本,项目结构需要升级转换。
解决:在 SMC 里执行升级,升级完成后再启动。这里没有捷径,跳过升级直接启动只会把版本问题伪装成功能问题,排查成本翻几倍。
第四条:第二个项目起不来,提示端口冲突。
现象:第一个项目跑得好好的,恢复第二个项目后启动失败,日志或提示指向端口。
原因:两个已启动项目的端口号相同。SMC 的规则是同一时刻两个已启动项目不能共用端口,端口和当前活动项目冲突的项目无法启动。
解决:在 SMC 里给第二个项目改一个未被占用的端口,再启动。多个项目的环境应该在建项目之前就排好端口表,而不是起不来再逐个试。
第五条:服务器本机能用,客户端连不上。
现象:服务器上项目状态正常、数据也在更新,客户端打开后连不上或者只显示部分内容。
原因:三种可能——项目文件夹没共享、共享权限没给到客户端账号、账号不在对应的安全组里。三者现象相似,容易只查一层就放弃。
解决:按顺序验,先net share看共享在不在,再用icacls看账号权限,最后进 SMC 确认账号在安全组且作用域覆盖了要访问的对象。三处都通过还连不上,再看客户端到服务器之间的网络。
注意:第三条和第四条经常一起出现。多项目环境里恢复完模板,先看状态是不是"已过期",再看端口有没有撞,两个都过了再点启动,能省掉一大半"启动了但不对"的困惑。
6. 装完怎么验证:从 HDB 写入到客户端连接的一条闭环
配置做完不等于跑通。真正能验收的验证是一条闭环:HDB 建出来了、项目状态是已启动、标题栏是活动项目、历史数据在往里写、客户端能连上读到数据、备份能恢复。少一环,后面出问题就说不清是哪一层断的。
先看界面层的三处,这三处不用工具,肉眼就能判断:
| 验证项 | 看哪里 | 通过标准 |
|---|---|---|
| HDB 存在 | SMC 历史数据库列表 | 列表里有目标库,状态正常 |
| 项目已启动 | SMC 项目状态 | 显示"已启动" |
| 活动项目正确 | 主界面标题栏 | 显示当前项目名 |
| 状态非过期 | 项目和系统信息选项卡 | 不是红色"已过期" |
界面都对了,再往数据层走一步,确认历史数据真的在写。表名随模板不同,先在数据库工具里展开表,找带事件、日志、趋势字样的表,再套用下面的查询:
-- 确认 HDB 里有新写入的记录,表名按实际模板替换 SELECT TOP 20 * FROM [<HDB名称>].[dbo].[<事件日志表>] ORDER BY 1 DESC; -- 顺带看一眼库的当前大小,判断增长是否正常 SELECT DB_NAME() AS 数据库名, SUM(size) * 8 / 1024 AS 总大小MB FROM sys.database_files;第一条查最新记录,ORDER BY 1 DESC是按第一列倒序,通常就是时间或自增 ID 列——只要返回的行里能看到刚才操作产生的新记录,说明从项目到 HDB 的写入链路是通的。查出来是空表,不要急着怀疑配置,先确认这几分钟里系统确实产生过事件(比如人为触发一次报警或做一次登录)。
第二条看库的总大小。刚建好的 HDB 只有初始大小,跑一段时间后应该有可见增长;如果几天过去大小纹丝不动,多半是趋势或事件日志的采集没真正启动,而不是"数据量小"。
最后一步是备份恢复验证,这一步最容易被跳过,也最容易在真出事时打脸。做法不复杂:把项目和 HDB 各做一次完整备份,然后在测试实例上恢复一份 HDB,确认能恢复到指定时间点、表数据完整。只做备份不做恢复验证,等于只买了保险没看过条款。
从那以后我每次配完一套 Desigo CC 项目,都会强制走一遍这条闭环——界面三处、写入一次、恢复一次,才在交付单上签字。省下这半小时,往往要在半夜被叫起来补。希望帮到你。
本文还有配套的精品资源,点击获取