背景
当前一个web横行的时代,无论办公还是个人事务处理,无处不有Web的渗透。对于企业级的信息平台也早已被web霸占。对于MES系统等大型的企业信息平台,生产数据部分是必不可少的。
如何在MES等信息系统中集成生产数据管理,全部重新开发?包括流程图绘制、实时\历史报表、报警处理、趋势分析、统计数据等,对于任何一种开发平台来说,即使有现成的组件,工作量也是巨大的。有没有一种更合理的解决方案,做到既节省工作量、又使功能模块更加合理,下面提供这样一种方案。
实现思路
生产数据管理是实时数据库的优势,各种功能组件都已集成,并且针对于生产。
紫金桥实时数据库提供“瘦客户端”,可以在web页面中嵌入具有授权签名的ActiveX,实现在IE浏览器中浏览服务器中的画面信息和数据信息。浏览灵活,并且与实际服务器中所有的内容一致。
既然如此,何不将生产数据部分交给实时数据库?
如何将两个系统集成一体?
有三种方式可供参考:
1.直接通过链接方式,打开指定的紫金桥实时数据库web页面。
2.通过Frame框架方式,做到紫金桥实时数据库web页面嵌入到网页中。
3.通过iFrame框架方式,能过在网页的任意表格内显示实时数据库web页面。
具体实现
1.直接链接
紫金桥实时数据库发布的页面可以实现每个画面对应一个web浏览的URL。只需将工程目录下的default.htm(或者index.htm)文件复制一份,命名,比如report.htm。修改如下网页源代码:
<param name="ViewName" value="DRAW1">
将其中的DRAW1改为需要浏览的窗口名。比如:
<param name="ViewName" value="报表">
这样就可以通过打开http://服务器IP地址/虚拟目录/report.htm直接浏览报表窗口。
这里要求服务器IP地址必须使用自指定方式。以防止多个实时数据库系统浏览时出现冲突。
网页中直接调用该URL就可以,比如:
<a href=http://服务器IP地址/虚拟目录/report.htm >生产报表</a>
2.利用Frame
Frame是一种网页切分技术,能够实现在一个页面框架中,同时打开多个子页面。
下面是一个简单的使用Frame框架的示例。
<html>
<frameset rows="10%,50%">
<frame src="/example/html/frame_a.html">
<frameset cols="20%,75%">
<frame src="/example/html/frame_b.html">
<frame src="http://192.168.1.16/ RealforIE//realReport.htm " name="showframe">
</frameset>
</frameset>
</html>
每个Frame框架内都可以调用单独的网页,同一个主框架内的页面可以操作其他子框架内打开的网页,比如上例中frame_b.html的源码如下:
<html>
<body>
<a href ="http://192.168.1.16/RealforIE/realReport.htm" target ="showframe">报表</a><br />
<a href =" http://192.168.1.16/RealforIE/curve.htm" target ="showframe">趋势</a>
<a href ="http://192.168.1.16/RealforIE/alarm.htm " target ="showframe">报警</a>
</body>
</html>
这样就能够实现在frame_b.html点击【报表】、【趋势】、【报警】三个链接,控制在Showframe子框架内调用对应的紫金桥实时数据库web页面。
效果如下:
3.利用iFrame
iFrame是一种内联框架(即行内框架)。相比Frame框架,iFrame要更灵活些,可以在网页内的任意表格内嵌入。
a.网页中建立内嵌的iFrame,比如:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="650" height="552" align="left" valign="top"><iframe src="show.htm" name="showframe"
style="height: 91%; width: 99%" id="I1"></iframe></td>
</tr>
</table>
这样就在网页中嵌入了名为“showframe”的iFrame。
b.控制iFrame中显示的网页,比如:
直接打开:修改上述代码中的src="show.htm",改为:
src=" http://192.168.1.16/RealforIE/lct.htm "
这样就可以在页面打开时,直接加载。
通过链接控制:
<a href=http://192.168.1.16/RealforIE/lct.htm target ="showframe" onclick="showTxt(‘流程画面‘)">流程画面</a>
其中左下角的直方图和饼图部分也是iFrame调用,页面打开时直接加载。右侧部分的访问内容,可以通过导航来切换。
iFrame方式虽然灵活,但对于一些老的浏览器,并不能支持iFrame框架,这个在使用时需要注意。
总结
上述三种调用方式实现的根本是紫金桥实时数据库web发布可以实现每个画面的单独浏览,每个画面提供对应的URL,其他系统调用时非常简单,并且不区分系统开发的平台,.Net开发或者Java等,实现方式都是一样。
生产数据部分有紫金桥实时数据库实现,发挥了实时数据库平台的优势,降低了开发难度和成本。整个信息化系统内部划分清晰明确,易于维护;整体集成度高,功能丰富全面,既有管理,又有生产,是实现两化融合、系统集成的优质解决方案。