2. Galaxy与IDE入门
在AVEVA System Platform中,Galaxy是整个监控平台最顶层的逻辑容器,可以把它理解为一个“工程数据库+命名空间+部署边界”的集合体。一个Galaxy内部可以包含多个Application Server(应用服务器)实例,每个实例又承载若干Engine(引擎)、Area(区域)和对象模板。初学者最容易混淆的一点是:Galaxy不是某个具体的运行程序,而是由Galaxy Repository(Galaxy仓库)统一保存的配置集合;真正执行数据采集、脚本运算和报警判断的是Application Server进程。因此,本节的核心任务可以概括为:先建好Galaxy这个“容器”,再让IDE连接到承载运行逻辑的Application Server,最后理解IDE如何组织这些对象。
创建Galaxy:从空仓库到可部署工程
创建Galaxy通常通过System Platform IDE或Galaxy Backup/Restore工具完成。以IDE方式为例,启动IDE后选择File → New Galaxy,系统会要求填写Galaxy名称、SQL Server实例位置以及认证方式。这里有一个关键点:Galaxy的元数据实际存放在SQL Server数据库中,因此创建前必须确保目标SQL实例可访问,且当前Windows账户具备相应权限。示例参数如下(仅作教学假设):Galaxy名称设为PlantA_Galaxy,SQL Server实例为.\SQLEXPRESS,认证采用Windows身份验证。点击创建后,IDE会在SQL实例中生成一组以Galaxy名称为前缀的数据库,并在本地缓存中登记该Galaxy。
创建完成后,Galaxy中默认会存在一个Galaxy根节点,但此时还没有任何Application Server。可以把它看作一个刚建好的空厂房:结构有了,但设备还没进场。接下来要做的第一件事,就是为它添加一个Application Server。
连接Application Server:让IDE找到运行载体
Application Server是Galaxy中真正“干活”的组件,它负责加载Engine、执行脚本、处理I/O和报警。在IDE中,右键Galaxy根节点选择Add Application Server,需要指定服务器名称、节点类型(Primary或Secondary,用于冗余)以及通信端口。默认情况下,Application Server使用DCOM或TCP方式与IDE通信,端口通常为5413(示例值,实际以部署配置为准)。
添加完成后,IDE左侧的Modeling视图会出现该Application Server节点。此时需要执行一次Connect操作:右键节点选择Connect,IDE会尝试与目标服务器上的Application Server服务建立会话。如果连接成功,节点图标会由灰色变为绿色,状态栏显示Connected;如果失败,常见原因包括:目标机器未安装Application Server、DCOM权限不足、防火墙拦截端口、或Galaxy仓库与目标服务器不在同一域内。排查时可以先在目标服务器上确认AVEVA Application Server服务是否处于运行状态,再用telnet或Test-NetConnection验证端口连通性。
IDE界面布局:三个视图各司其职
IDE的主界面可以分成三个核心区域。左侧是Modeling视图,以树形结构展示Galaxy内的所有对象,层级关系为:Galaxy → Application Server → Engine → Area → 具体对象实例。这个视图是“设计态”的入口,所有新建、复制、删除、重命名操作都在这里完成。右侧是Object Editor,当在Modeling视图中选中某个对象时,编辑器会显示该对象的属性页、脚本页、图形页和报警页。底部或独立窗口是Deployment视图,用于查看对象从“已修改”到“已部署”的状态变化。
需要特别注意的是,Modeling视图中的修改并不会立即生效到运行中的Application Server。必须经过Deploy(部署)操作,配置才会被推送到目标服务器并加载。Deployment视图会用不同图标标识对象状态:未部署(灰色)、已修改待部署(黄色感叹号)、已部署且同步(绿色对勾)。如果部署失败,通常是因为目标Engine正在运行且对象被锁定,此时需要先Undeploy再重新部署。
项目组织方式:用模板和实例控制重复
System Platform推荐的组织方式是“模板—实例”模式。先在Galaxy中创建Object Template,把公共属性、脚本和图形封装进去;然后在具体Area下创建Instance,只覆盖差异部分。例如,一条产线上有10台同型号泵,可以建一个Pump_Template,定义好Speed、Current、RunStatus等属性和对应的报警阈值,再在Line1区域下派生10个实例,分别绑定不同的I/O地址。这样修改模板时,所有实例可以批量继承更新,极大减少重复劳动。
Area则用于逻辑分区,通常按工艺段或物理位置划分,例如Line1、Line2、Utilities。Area本身不执行逻辑,但它决定了对象的命名空间和部署边界。一个Engine可以承载多个Area,但一个Area只能属于一个Engine。
基本操作流程:从建库到部署的完整闭环
把上述内容串起来,一个最小可用的操作流程如下:
- 在SQL Server上确认实例可访问,启动IDE,选择File → New Galaxy,创建
PlantA_Galaxy。 - 右键Galaxy根节点,Add Application Server,指定目标服务器和端口,完成Connect。
- 在Application Server下新建Engine,命名为
Engine_Line1。 - 在Engine下新建Area,命名为
Line1。 - 在Area下创建对象模板或直接创建实例,配置属性、脚本和报警。
- 切换到Deployment视图,选中待部署对象,执行Deploy,观察状态变为绿色对勾。
- 打开Object Viewer或运行客户端,验证对象属性是否可读写、报警是否正常触发。
理解Galaxy、Application Server和IDE三者的关系,是后续所有建模、部署和排障工作的基础。Galaxy负责“存”,Application Server负责“跑”,IDE负责“编”和“推”。把这条链路走通一次,后面再复杂的对象结构和脚本逻辑,都只是在这个骨架上不断填充内容而已。