CN102929186B - 一种模型***与Web监控画面的数据通信实现方法 - Google Patents
一种模型***与Web监控画面的数据通信实现方法 Download PDFInfo
- Publication number
- CN102929186B CN102929186B CN201210343143.3A CN201210343143A CN102929186B CN 102929186 B CN102929186 B CN 102929186B CN 201210343143 A CN201210343143 A CN 201210343143A CN 102929186 B CN102929186 B CN 102929186B
- Authority
- CN
- China
- Prior art keywords
- signature
- web
- monitored picture
- character string
- shared drive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000006854 communication Effects 0.000 title claims abstract description 16
- 238000004891 communication Methods 0.000 title claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000000151 deposition Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 6
- 238000010310 metallurgical process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 229910000831 Steel Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 239000004411 aluminium Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种模型***与Web监控画面的数据通信实现方法,本发明方法主要特征在于包括以下步骤:1)在模型服务器上建立共享内存块并加载变量标签表;2)Web监控画面通过模型服务器上的WebService接口将新的输入参数写入共享内存中的相应变量标签;3)模型进程在每次设定计算前,都需读取共享内存的变量标签表以获取最新的输入参数;4)模型进程在设定计算完成后,将新的显示内容数据写入共享内存中的相应变量标签;5)Web监控画面周期调用模型服务器上的WebService接口,从共享内存中读取变量标签的最新值并更新显示。本发明方法易于实现、灵活通用、稳定可靠,适用于一般工业过程自动化***。
Description
技术领域:
本发明涉及冶金过程自动化技术领域中的数据通信方法,特别涉及一种用在冶金过程自动化中的模型***与Web监控画面之间数据通信的实现方法。
背景技术:
由于B/S(浏览器/服务器)模式的诸多优势,特别是随着Adobe公司FLEX技术的成熟和普及,大大降低了开发一个美观、友好且功能强大的Web客户端的技术难度,目前,冶金过程自动化***的HMI监控画面开发已经开始从商业组态软件转为采用FLEX技术。
冶金过程自动化***(比如轧钢、轧铝)的HMI监控画面的主要作用是接收操作人员输入参数和显示模型的设定结果,因此在设定计算过程中,模型服务器上的多个进程都需要与HMI监控画面进行各种数据交换。这种数据通信的实时性不要求特别高(秒级),但特别需要易于实现,操作简单,便于调试维护,并且稳定可靠。在现有的实现方法中,因涉及到多种复杂的通信协议和开发技术,比如OPC技术、后台推送技术、编程语言互操作问题等,在现场应用中主要存在以下几方面困难:
1) 开发工作繁重,技术难度大,不利于提高***的稳定性;
2) 需要安装多个第三方软件产品,***配置复杂,不利于现场维护;
3) 通用性不好,不利于项目实施和现场调试
因此,对于冶金过程自动化研发人员来说,为了能够在控制***中采用基于Web的监控画面又不增加开发成本和影响***稳定性,首先需要考虑的是如何设计出一种既易于实现又灵活通用的HMI数据通信技术方案。
发明内容:
本发明的目的是为冶金过程自动化的模型***与Web监控画面之间数据通信提供一种灵活通用、稳定可靠且非常容易实现的技术方案(如图1所示),其主要特征是采用变量标签方式和通用的WebService接口,变量标签表可配置并保存在服务器上开辟的共享内存块中。
本发明的技术方案:一种模型***与Web监控画面的数据通信实现方法,模型***与Web监控画面采用通用的WebService接口并以变量标签方式实现数据通信,具体包括以下步骤:
步骤1)在模型服务器上建立共享内存块并加载变量标签表;
步骤2)Web监控画面通过模型服务器上的WebService接口将新的输入参数写入共享内存中的变量标签表;
步骤3)模型服务器上的进程在每次设定计算之前,读取共享内存中的变量标签表以获取最新的输入参数;
步骤4)模型服务器上的进程在设定计算完成后,将新的显示内容数据写入共享内存中的变量标签表;
步骤5)Web监控画面周期调用模型服务器上的WebService接口,读取共享内存中的变量标签表以获取最新值并更新显示。
进一步,在步骤1)中,建立共享内存块并加载变量标签表的具体步骤如下:
1.1)读取变量标签表配置文件;
1.2)根据变量标签数量确定共享内存空间大小;
1.3)创建共享内存对象,并加载变量标签表信息,包括变量名、变量类型、存储空间长度、变量值、实际长度、时间戳;
1.4)创建并初始用于读写操作同步的互斥体对象。
进一步,在步骤2)中,Web监控画面调用WebService接口将新的输入参数写入共享内存中的变量标签表的具体步骤如下:
2.1)将输入参数所对应的变量标签的名称和变量值组装成XML格式的字符串;
2.2)调用通用接口函数将该XML字符串提交到服务器上的WebService;
2.3)在WebService中,解析XML字符串得到所述变量标签的名称和变量值;
2.4)在WebService中,将所述变量标签的变量值互斥地写入共享内存中的相应变量标签。
进一步,在步骤4)中,在将新的显示内容数据写入相应变量标签时,除了更新变量值和实际长度之外,还需要将其时间戳更新为当前***时间。
进一步,在步骤5)中,Web监控画面调用WebService接口获取共享内存中的最新变量值的具体步骤如下:
5.1)若为首次执行,将保存在监控画面本地的变量标签时间戳初始化为0;
5.2)将需要读取的所有变量标签的名称和时间戳组装成XML格式的字符串;
5.3)调用通用接口函数将该XML字符串提交到服务器上的WebService;
5.4)在WebService中,解析XML字符串得到所述变量标签的名称和时间戳;
5.5)在WebService中,从共享内存中互斥地读取Web监控画面所提交的每个变量标签;
5.6)如果所述的变量标签的当前时间戳比Web监控画面所提交的时间戳新,则将该变量标签信息添加到作为返回值的XML字符串中;
5.7)通过WebService接口函数的返回值将该XML字符串送到Web监控画面;
5.8)Web监控画面解析该XML字符串返回值,更新本地的变量标签信息。
本发明的优点之一是通用性好,主要表现在以下几方面:
(1)由于采用变量标签和XML字符串作为数据交换格式,因此接口的设计可以做到与具体应用项目的通信内容和数据量无关;
(2)WebService的功能只是作为读写变量标签的中间代理,因此可容易将其实现为一个与具体应用无关的通用代理程序。
本发明的优点之二是实现简单,主要表现在以下几方面:
(1)WebService只需设计一个接口函数,且功能单一,逻辑简单;
(2)变量标签与XML格式字符串的相互转化非常方便;
(3)WebService和模型程序都采用Visual C++开发,通过共享内存非常方便实现托管程序与非托管程序之间的数据交换,无需解决不同编程语言间的互操作问题;
(4)开发的工作量小,难度低,只涉及到一些众所周知的编程技术;
(5)运行环境配置简单,无需安装第三方软件产品。
附图说明:
图1 本发明方法的技术方案示意图。
图2 在共享内存中加载的变量标签表。
图3 从Web监控画面输入模型参数。
图4 输入参数组装成的XML字符串。
图5 写入输入参数后的变量标签表。
图6 写入显示内容后的变量标签表。
图7 Web监控画面获取计算结果的XML字符串。
图8 WebService返回给监控画面计算结果的XML字符串。
图9 监控画面更新显示模型计算结果。
具体实施方式:
下面结合附图和具体实施方式对本发明的技术方案做进一步说明。
本发明一种模型***与Web监控画面的数据通信实现方法,具体包括以下步骤:
首先,读取和解析配置文件中定义的变量标签表,得到变量标签的数量及其名称、类型、存储空间长度等信息。变量标签的配置信息可根据模型***与Web监控画面的具体通信内容确定,每个数据项都可以定义一个对应的变量标签。
然后,计算变量标签表的存储空间,并在模型服务器上创建一个大小合适的共享内存块,将从配置文件中解析出的变量标签表存放到该共享内存中。每个变量标签信息保存为一条记录,其包括以下字段:变量名、变量类型、存储空间长度、变量值、实际长度、时间戳,如图2所示。
具体通信过程是这样:
操作人员在Web监控画面上输入模型参数并确认后(如图3),触发提交操作处理:先将输入参数所对应的变量标签的名称及其变量值组装成XML格式的字符串,并调用通用接口函数将该XML字符串(如图4)提交到服务器上的WebService。在WebService程序的接口函数实现中,解析该XML字符串,得到其所包含的变量标签的名称及变量值。然后,打开共享内存对象,并等待互斥体以独占访问该共享内存中的变量标签表,将包含输入参数的变量值写入相应变量标签,并修改时间戳,如图5所示。最后,关闭共享内存对象并释放互斥体。
模型服务器上的进程在设定计算之前,先打开共享内存对象,并等待互斥体以独占访问该共享内存中的变量标签表,读取相应变量标签,即可获得操作人员输入的最新模型参数,比如通过读取变量标签Res可获得新输入的压下率值为25%。读取完毕后关闭共享内存对象并释放互斥体。
模型服务器上的进程在设定计算结束后,再次打开共享内存对象,并等待互斥体以独占访问该共享内存中的变量标签表,然后将所需要发布到HMI上的数据内容通过相应的变量标签写入共享内存中,并更新时间戳,如图6所示。更新完毕后关闭共享内存对象并释放互斥体。另一方面,Web监控画面定周期(比如1s)执行HMI更新显示操作。在该操作处理函数中,将所需要在画面上显示的数据内容所对应的变量标签名称以及其时间戳组装成XML格式的字符串(若为首次执行,时间戳设为0),然后调用通用接口函数将该XML字符串(如图7)提交到服务器上的WebService。在WebService程序中,解析该XML字符串,得到所述变量标签的名称和时间戳。然后,打开共享内存对象,并等待互斥体以独占访问该共享内存中的变量标签表,读取上述变量标签。如果共享内存中的变量标签时间戳要比Web监控画面提交的时间戳新,则表示这些变量标签的值已经被修改过了,因此需要将这些变量标签信息添加到作为返回值的XML字符串中(如图8)。读取完毕后关闭共享内存对象并释放互斥体。最后,通过WebService接口函数的返回值将该XML字符串送到Web监控画面,Web监控画面解析该XML字符串返回值并更新本地的变量标签信息,这样,模型进程所发布的设定结果内容就显示到了监控画面上,如图9所示。
以上所述是本发明一种较优的实施方式,显然还可以有很多变形和改进,只要没有脱离本发明的原理,都在本发明的保护范围内。
Claims (1)
1. 一种模型***与Web监控画面的数据通信实现方法,其特征在于采用变量标签方式和通用的WebService接口,其步骤包括:
1)在模型***服务器上建立共享内存块并加载变量标签表,所述变量标签用于存放模型***与监控画面之间通信所需要交换的数据项,具体步骤如下:
1.1)读取变量标签表配置文件;
1.2)根据变量标签数量确定共享内存空间大小;
1.3)创建共享内存对象,并加载变量标签表信息,所述变量标签表信息包括变量名、变量类型、存储空间长度、变量值、实际长度、时间戳;
1.4)创建并初始用于读写操作同步的互斥体对象;
2)Web监控画面通过调用模型***服务器上的通用WebService接口将新的输入参数写入共享内存中的变量标签表,具体步骤如下:
2.1)将输入参数所对应的变量标签的名称和变量值组装成XML格式的字符串;
2.2)调用通用接口函数将该XML字符串提交到服务器上的WebService;
2.3)在WebService中,解析XML字符串得到所述变量标签的名称和变量值;
2.4)在WebService中,将所述变量标签的变量值互斥地写入共享内存中的相应变量标签;
3)所述模型***服务器上的进程在每次设定计算之前,读取共享内存中的变量标签表以获取Web监控画面输入的最新参数;
4)所述模型***服务器上的进程在设定计算完成后,将新的显示内容数据写入共享内存中的变量标签表,包括更新标签的变量值和实际长度,并将其时间戳更新为所述模型***服务器的当前***时间;
5)所述Web监控画面周期调用模型服务器上的WebService接口,读取共享内存中的变量标签表以获取最新值并更新显示,具体步骤如下:
5.1)若为首次执行,将保存在监控画面本地的变量标签时间戳初始化为0;
5.2)将需要读取的所有变量标签的名称和时间戳组装成XML格式的字符串;
5.3)调用通用接口函数将该XML字符串提交到服务器上的WebService;
5.4)在WebService中,解析XML字符串得到所述变量标签的名称和时间戳;
5.5)在WebService中,从共享内存中互斥地读取Web监控画面所提交的每个变量标签;
5.6)如果所述的变量标签的当前时间戳比Web监控画面所提交的时间戳新,则将该变量标签信息添加到作为返回值的XML字符串中;
5.7)通过WebService接口函数的返回值将该XML字符串送到Web监控画面;
5.8)Web监控画面解析该XML字符串返回值,获得新的变量值和时间戳信息,更新本地的变量标签表,以刷新监控画面并为下一周期的读取操作做准备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210343143.3A CN102929186B (zh) | 2012-09-14 | 2012-09-14 | 一种模型***与Web监控画面的数据通信实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210343143.3A CN102929186B (zh) | 2012-09-14 | 2012-09-14 | 一种模型***与Web监控画面的数据通信实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929186A CN102929186A (zh) | 2013-02-13 |
CN102929186B true CN102929186B (zh) | 2015-02-11 |
Family
ID=47644015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210343143.3A Expired - Fee Related CN102929186B (zh) | 2012-09-14 | 2012-09-14 | 一种模型***与Web监控画面的数据通信实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929186B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345411A (zh) * | 2013-07-09 | 2013-10-09 | 北京奇虎科技有限公司 | 卸载应用程序的方法及装置 |
CN105740120B (zh) * | 2014-12-11 | 2018-08-17 | 中国科学院软件研究所 | 基于共享内存的软件运行过程实时监测与控制方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153546A1 (en) * | 2001-01-24 | 2010-06-17 | Kenneth Clubb | System and method to publish information from servers to remote monitor devices |
CN101846995A (zh) * | 2009-03-24 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 工业现场远程监控方法 |
CN102109838A (zh) * | 2009-12-28 | 2011-06-29 | 北京时代凌宇科技有限公司 | 一种工业监控***及方法 |
-
2012
- 2012-09-14 CN CN201210343143.3A patent/CN102929186B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153546A1 (en) * | 2001-01-24 | 2010-06-17 | Kenneth Clubb | System and method to publish information from servers to remote monitor devices |
CN101846995A (zh) * | 2009-03-24 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 工业现场远程监控方法 |
CN102109838A (zh) * | 2009-12-28 | 2011-06-29 | 北京时代凌宇科技有限公司 | 一种工业监控***及方法 |
Non-Patent Citations (2)
Title |
---|
基于WEB的数控远程管理与监控***的研究与实现;陈红梅;《中国优秀硕士学位论文全文数据库》;20071115(第5期);第29页第5段-第31页第5段,第49页第1段-第52页第7段、图4-6 * |
过程工业监测***数据交互协议的设计与实现;沙莎;《中国优秀硕士学位论文全文数据库》;20081115(第11期);第6-9,23-26,42,53,101-102页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102929186A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447122B (zh) | 一种基于多表关联可自主创建档案***的实现方法 | |
CN101662493B (zh) | 一种用户访问路径的数据采集方法、***及服务器 | |
CN100570604C (zh) | 一种关系数据库应用自动升级的方法 | |
CN109460232A (zh) | 一种组态页面的制作和监控方法 | |
CN102236709B (zh) | 一种基于Flex的监控页面显示方法及*** | |
CN106027351B (zh) | 一种嵌入式Web服务器现场总线故障诊断通信模块 | |
CN109413140B (zh) | Pacs服务器远程自动升级的方法 | |
CN108628900B (zh) | 一种数据格式获取的方法以及相关装置 | |
CN201780586U (zh) | 远程医疗在线画板*** | |
CN102073455A (zh) | 一种基于数据库的多屏幕数据切换显示方法 | |
CN102929186B (zh) | 一种模型***与Web监控画面的数据通信实现方法 | |
CN105045573A (zh) | 基于web跨屏技术的光伏电站监测及调试软件建立方法 | |
CN101778362A (zh) | 移动终端监控数据的方法、设备和*** | |
CN105573769B (zh) | 一种水泥生产远程监控可视化配置方法和装置 | |
CN107645564B (zh) | 一种基于数据缓存的can报文解析方法及其*** | |
CN103399776A (zh) | 可重用mock创建方法及*** | |
CN103092609A (zh) | 显示组态软件与控制器数据交互的方法、人机交互设备 | |
CN102868746B (zh) | 实现移动信息化的方法 | |
CN102129468B (zh) | 一种可定制集群状态展现的方法 | |
CN110618815A (zh) | 一种工业***网络拓扑图的构建方法 | |
US20140337284A1 (en) | Synchronizing folders using a shadow folder hierarchy | |
CN103617064A (zh) | 一种改进的移动客户端产品更新的方法 | |
CN103793849A (zh) | 金融商品实时走势图变频式数据更新的装置与方法 | |
CN103678411A (zh) | 图片信息处理方法、操作处理方法及电子设备 | |
CN101364088A (zh) | 工业人机界面变量访问方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150211 |