如何使用远程数据源
数据源建立后,用户就可以直接使用远程数据源,那么,数据源究竟有什么用途呢,下面将介绍几个方面的使用:数据访问,图形对象的使用,实时数据库之间的通讯,时钟校准和安全验证。
数据访问:
数据访问是分布式数据库的基本应用。我们知道,在DRAW中对数据库的访问通过变量对数据库进行访问,该类变量就是数据库变量。
假设组态一个远程数据源Remote,要访问该数据源中变量如一个压力信号的测量值:PT1154.PV,则定义一个变量,在导航树上选择“画面/变量/数据库变量”,新建一个数据库变量PT1154.PV,如下:
注意:数据库指定部分,数据源指定为要访问的数据源Remote,参数指定为其在Remote数据库中的点参数名称PT1154.PV。
提示:如果有两个数据库的变量同名,如上例中在本地数据库中已经存在一个变量PT1154.PV,而且需要同时访问这两个变量,则在定义变量时,把其中的任何一个定义为其它名称,如把Remote的PT1154.PV定义为RPT1154.PV即可。
此时,就可以在DRAW中引用该变量了。可以对其进行显示,赋值,进行运算等一切操作。如我们在DRAW中画一个文本对象,组态其模拟输入/输出动作都为PT1154.PV,则运行后,在该画面上可以看到其显示的数值与远程数据库的一致。而且,在VIEW上修改数据可以同时在服务器的数据库上同步显示其修改后的值。
图形对象的使用:
在紫金桥中,某些图形对象可以直接通过数据源访问远程数据,如报警、总貌、趋势等图形单元,可以直接指定数据源以访问远程数据源。下面以实时报警为例,示例如何使用远程数据源。
创建一个报警基本图元如下,进入到对象动画:
注意数据源中选择的远程数据源Remote,报警范围中选择的是区域0。这样该报警显示的将是远程数据源Remote的区域0的报警。运行结果如下:
它显示的是Remote的实时报警。
实时数据库之间的数据通讯
前面提到,紫金桥的实时数据库不但是数据服务器而且可以充当客户端访问其它数据库服务器的数据。由于某些复杂回路的控制或某些全局的优化过程需要多个变量的参与才能实施,而这些变量并不能保证其一定在一个服务器中,往往分布在若干个系统中。这时往往需要数据库之间进行通讯,把相关数据连接到一个数据库中由该数据库进行集中处理。
数据库之间的通讯也通过数据源进行,它们通过数据连接进行数据通讯。我们知道,当组态数据库的数据连接时,数据库会主动向被连接的服务请求数据如IO驱动,远程数据库等。
选择组态环境中导航树的“数据库/点组态”,进入到数据库组态,在一个点的数据连接属性页中进行数据连接,选择远程数据连接,如下:
数据源就是要连接的远程的数据服务器,点是远程数据库的点参数。这样连接完成之后,当前选中的点参数(如LIC110.PV)就与远程数据库的指定点参数相对应了。这时在本地数据库中就可以使用该点参数(LIC110.PV)进行控制、运算,它等同于远程数据库的LIC101.PV。
时钟校准和安全验证
系统运行时由一个统一的时标是非常重要的,如果分布式系统其时钟不统一,将可能造成系统误动作,连锁装置逻辑紊乱,因此需要指定一台计算机时间作为系统的标准时钟,这样就可以避免各系统时钟不统一而造成的种种严重后果。客户端每隔一小时向主服务器请求一次时钟校准服务,与主服务器时钟保持同步。
如果分布式系统的每个服务器都需要组态用户信息,不但不利于不同服务器之间通讯时数据的安全验证,而且组态工作量很大,十分不便。紫金桥的分布式系统中由主服务器组态和保存用户安全数据,客户端每次启动时向主服务器备份安全数据文件到本地数据库,然后每次安全验证都在本地执行,这样可以大大提高系统效率。如系统的定时调度中需要多次进行安全验证,如果每次都到服务器请求验证服务,不但加大了服务器的负担,而且由于客户端和服务器的通讯有可能需要较长时间,这样大大降低了其执行效率。