地下围护结构钢支撑装置是用于城市地下空间开发施工过程中,对大型深基坑进行支护的重要部件。以保障基坑本身及周围道路、建筑物、地下管线设施等邻近建(构)筑物的安全。
以往钢支撑施工并无自动监测装置,依靠传统人工统计。数据采集不及时、无连续性、读取精度不高、可追溯性不强。出现质量问题或事故后,为了逃避责任,甚至可能会出现数据篡改造假等违法行为。为了实时、真实记录钢支撑力矩变化,利用 SCADA平台设计一套数据采集监视系统,实时记录力矩数据、报表生成等功能,做到实时记录、数据可溯源、连续性、可分析等功能,以数据库形式长期保存,确保数据保存安全性和真实性。这对保障地下空间建设的安全,具有重要意义。
考虑到 SCADA 与 PLC 的数据通信接口,在 SCADA 与 PLC 之间加入了专用 OPC Server,作为系统的数据采集驱动,以达到完美的兼容性。
1.1 SCADA 系统的硬件/软件搭建
硬件系统包括有数据源设备(PLC 等)、数据通信设备(HUB)以及数据采集工控机等。软件包括 Windows平台、OPC Server、Gateway、SCADA、Microsoft Excel等。系统搭建如图1 所示。
图1 数据采集与监控硬件/软件搭建图
OPCServer 从 PLC 读写数据并存储成一个名为“Sjcjcd.mdb”的数据库文件。打开 OPC Server 软件,建立一个名为“Dev01”的驱动,并设置好通信参数,如图2 所示。通信参数为 :“Q03UDE(CPU型号)”“CPUmodule(通信模式)”“1 9 2.1 6 8.1.1(I P)”“Etherne t(PC/IF)”“TCP(Protocol)”“60000ms(Time-out)”。
图2 MX OPC Server建立驱动
Gateway 是将(OPC/DDE/SuiteLink/MX)4 种协议进行相互变换的通用协议转换器软件,是 SCADA 的 OPC Server 。通过 Gateway 设定添加 OPC Server 作为 OPC 服务器,然后添加“Add OPC Group Object”(添加组对象),并把所有需要读/写的地址标签添加进去。
新建一个名称为“Mreport.mdb”的数据库文件,是调阅历史数据报表的数据库文件。在 SQL 访问管理器中,绑定需要报表名称以及设定添加好在各自的报表中需要显示的地址标签,通过编辑后台命令来调用 Excel 就能够调阅指定时间段历史报表了。
1.2 SCADA 系统画面配置
本次设计的数据采集与监控系统包含几大功能:实时数据采集监控、实时曲线、历史曲线、报表生成、报警信息、历史报警查询等。本装置 SCADA 系统共建立画面 228+40个。系统按树状结构分布各画面。在系统运行平台上,任何状态下都能一键直接返回到“登录首页”,便于画面之间的切换。SCADA 画面结构配置如图3 所示。各个分站监视画面之间的切换功能依靠在其对应的标签画面上的切换按钮来实现,简单快捷。按功能主要分为油压监视画面、力矩监视画面、历史曲线画面、实时报警画面、油缸设定画面、历史报表画面等。
图3 SCADA 画面结构配置
其中,历史报表画面中,需要建立第三方插件链接,运行预制作完成的报表插件。历史报表画面按控制柜编号为单位,可以调阅历史时间段的报表,一个按钮代表一台子站控制柜, 按下对应子站的调用链接按钮后,弹出指定的报表模板,从时间控件中选取指定的日期,点击“生成报表”按钮,报表模板中会插入指定日期中每小时一组的数据,供查阅。同时,把调用过的报表保存为指定的、以控制柜编号、日期、时间为名称的Excel文档。
2.1 OPC 地址录入
SCADA 的数据采集与监控中,OPC server 是重要的一个环节。OPC server 设定通信链接后需要建立一个新的设备“Dev01”。在设备下新建4个地址标签组别。名称分别为“IO”(离散地址)、“actualvalue”(实时值模拟量地址)、“alarm”(报警地址)以及“setvalue”(设定值模拟量地址)。地址标签分组的目的是为了归类清晰、查阅方便。在这些地址标签组的高级选项中“Enable Group”(组激活)复选框全部勾选,然后在各个组内新建地址标签,并与 PLC 地址、参数一一对应。在“Conversion Definitions”(转换定义)中新建若干数据转换关系式,作为数据变换公式,提供给模拟量地址标签数据变换使用。OPC 建立地址标签组如图4 所示。完成后进行模拟测试。
图4 MX OPC Server 建立地址组
地址表的建立,如图5 所示。左侧列表中分 4 个组别,每个组别下面添加各自类别的地址标签(右侧框内)。在这些地址标签中,定义好“IO Addres”(IO地址)、“Access”(读写功能)、“Data”(数据形式)、“Poll.”(采集频率),并在高级选项中,“Enable Tag”(地址激活)复选框全部勾选;
如果模拟量数据需要转换,则勾选“Use Conversion”选项,并在“Conversion”下拉列表中,选中合适的、自定义数据转换关系式。
图5 OPC server 地址表的建立
地址表设置完成后,保存为“.mdb”格式的数据库文件。通信过程中,所需的标签地址的状态值就会自动存储到“Sjcjcd.mdb”的数据库文件中。
2.2 后台命令语言
与 HMI 相比,SCADA 组态平台更具开放性。它没有固定的设计格式。整个 SCADA 画面组态中,所有的自定义指令都是通过后台命令语言等来实现的。
登录画面启动时,下方的功能按钮会延时 50 s 出现,这是为了使得程序运行开始时,保证后台命令语言等一些程序能够正常运行。具体实现的方法是建立一个变量 Fluid1。在画面后台命令语言中运行如下命令(每 1 000 ms)。
Fluid1 = Fluid1+ 1;
IF Fluid1 >= 50 THEN
Fluid1 = Fluid1+ 0;
ELSE Fluid1 = Fluid1+ 1;
ENDIF;
上述命令使得变量“Fluid1”执行加 1 指令,当“Fluid1”≥50 时,“Fluid1”保持 50 这个值不变。此时画面显示原来隐含的画面功能按钮,操作人员才能点击这些按钮,进入人机界面。相当于系统启动 50 s 后,才能正常操作,保证后台命令指令、插件等功能正常投入运行。
“退出”系统按钮的链接是运用按键命令实现的。如:点击“EXIT”按钮时,执行如下命令,关闭画面应用程序。“WWControl()”指令是允许你从SCADA 恢复、最小化、最大化或者关闭一个应用程序。“InfoAppTitle("view")”显示此脚本查询“SCADA运行画面”应用程序;
如果已在运行,则“"Close"”关闭它。
WWControl(InfoAppTitle("view"), "Close");
画面切换按钮的实现也是通过按键命令实现的。如:点击“油压监视”按钮,鼠标键放开时,执行下列命令,弹出对应画面(其中"数据采集主画面 1"、"监视菜单栏"、"登陆画面"为画面名称)。
Show"数据采集主画面1";
Show"监视菜单栏";
Hide"登陆画面";
报表调用链接按钮通过如下命令实现:点击“01-01泵站数据调阅”按钮,鼠标键放开时,执行下列命令,调用出对应的第三方Excel文档模板。其中,“StartApp”为调用Windows 应用程序命令。这条命令解释为:调用运行 D 盘中历史数据文件夹(Hisdata)下报表模板文件夹(reptemp)中的报表模板文件(reptemp0101.xls)。
StartApp"d:Hisdata eptemp eptemp0101.xls";
在运行期间,每 1 0 0 0 m s执行下列指令。即如果“Jacktype010101”等于1(油缸的形式等于 1,“Jacktype010101”即01#子站1#泵组01#油缸形式,内存整型标记名。),也就是油缸选为 300 t,那么“Jackcoeff010101=96.12,”(Jackcoeff010101为内存实型的一个标记名,油缸油压/力矩转换运算系数);
如果 010101 号油缸的形式等于 2,也就是油缸选为 400 t,那么“Jackcoeff010101=138.42”。如此循环,每 1 000 ms 运行一次。这条指令是为了使得设备装置对应可选两种不同规格的油缸(扩展设备的应用面),换算出不同的力矩(油缸缸径不同,相同油压下换算出的力矩不同)。
IF Jacktype010101==1 THEN Jackcoeff010101=96.12;
ENDIF;
IF Jacktype010101==2 THEN Jackcoeff010101=138.42;
ENDIF;
在数据改变指令中,“$Hour”小时数改变时(系统内存标记名,时间小时),执行下列指令。“SQLInsert”指令即为根据提供的绑定表中的标记名值,将一条新记录插入参考表中。其中,“ConnectionId0101”是由用户创建的内存整型标记名,用于存储由“SQLConnect”函数赋给每个数据库的编号 (ID)。“"data0101"”为需要访问的数据库表格名称。“"report0101"”为要使用的SCADA标记名以及与之关联的数据库列。本条命令表示每小时向数据库写一次数据。
status0101=SQLInsert(ConnectionId0101,"data0101","report0101");
在数据改变指令中,“$Second”秒数改变时(系统内存标记名,时间秒),执行下列指令。其中,“JPD010101”为油缸设定值与实际值的差值(报表使用),“JTorq010101”为油缸实时力矩值(报表使用)。
JPD010101 = actJack010101 - setJack010101;
JTorq010101 = actJack010101 * Jackcoeff010101;
2.3 数据库建立
在 SCADA中使用 Excel 来做报表首先需要把数据导出到数据库,然后使用 Excel 中的宏命令来读取数据库中的数据。
打开“Mreport.mdb”文件,“使用设计器创建表”,分别配置字段(字段名和SCADA绑定列表中的 “列名”对应,区分大小写),配置字段的数据类型(数字、文本等)。建立日报表的目的是:能够按日删除以往数据,使得数据查询时能够快速便捷,优化列表,节约存储空间,减少查询时间。
在 SCADA 的 SQL 访问管理器中绑定上述列表。列表中的标记名.域名、列名。其中:“标记名.域名”是 SCADA 中的名称,“列名”是数据库列表中的名称。
2.4 报表制作
本装置报表拟定采用 Excel,通过宏命令代码编辑,编制成适合工艺条件的报表文件。
在d:Hisdata中新建一文件夹“reptemp(临时报表)”,在 d:Hisdata eptemp下新建 Excel 文档,命名为“reptemp0101”---“reptemp1004”,共 40 个文档,对应于各台泵站的数据。根据工程施工报表要求的标准格式编辑报表页面。
在文件中进入开发状态,创建一个查询窗口“userform1”,在窗口顶部“caption字幕”输入文字“查询窗 01-01 泵站”,在窗口底部“caption字幕”输入文字“企业名称”,并调整好文字字体、大小、颜色等。文字等编辑在左下角“Dtpicker”属性窗口内进行。在查询窗口插入日历控件以及一个“生成报表”的按钮,按钮代码略过,如图6 所示。
图6 SCADA 报表查询窗设计
钢支撑自动控制装置的 SCADA 系统编程完成后,进行了系统调试。修正一些程序,并进行了多次修改升级。
系统安装调试完成后,分别在上海及周边省市多个工程进行了实际的使用,使用结果总体达到设计要求。在本装置自动控制系统的运行平台下,各项报警信息、历史曲线、历史报表均能正常调阅。这样对工程后续的经验成果总结、编制竣工资料、专家会诊等都有非常积极的意义,受到了建设单位的一致好评。
猜你喜欢报表油缸命令只听主人的命令娃娃乐园·综合智能(2022年3期)2022-04-19热轧弯辊油缸密封改进冶金设备(2020年2期)2020-12-28碳纤维复合材料在液压油缸中的应用纤维复合材料(2018年2期)2018-12-07移防命令下达后军营文化天地(2018年2期)2018-04-20从三大报表读懂养猪人的成绩单河南畜牧兽医(2017年12期)2017-11-13镇长看报表民间故事选刊·上(2016年5期)2016-04-07这是人民的命令中国老区建设(2016年9期)2016-02-28重型自卸汽车举升油缸的密封分析与优化汽车零部件(2014年5期)2014-11-11铣刨机转向油缸的有限元仿真与疲劳分析筑路机械与施工机械化(2014年3期)2014-03-01月度报表中国纺织(2009年7期)2009-08-07