• 技术与支持
  • 技术资料
    您现在的位置:首页 >> 技术与支持 >> 技术资料

    紫金桥软件动态修改数据连接的应用

    2015-8-24 14:18:53 来源:原创 点击:
    一、引言
    在某些应用场合里,现场对模块和设备都会有冗余。例如远航大洋里的邮轮,船上如果某个模块通道故障,需要切换到模块另一个通道上或者其他模块的通道上。那么工程里点的外部连接也需要对应的切换修改。但不可能会让技术人员去上船修改,因为这很不现实。那么如何解决这问题呢?利用紫金桥动态修改连接项即可实现上面功能。
    数据连接是实时数据库的一项重要内容。它把实时数据库中的点参数与其它的数据连接起来。数据库的数据连接可以分成三类:IO连接、远程数据库、内部连接。IO连接:该项表示点参数与实际物理设备的IO单元连接起来。连接后,数据库会启动相应的IO驱动程序,读取/设置相应的IO设备,数据库中组态数据连接的点数据就可以与实际IO单元的数据一致,同时对数据库点参数的操作就相当于对实际IO的操作。远程数据库:可以与远程数据库进行连接。把当前的点参数与已经定义的数据源的点参数连接。内部连接:把当前点参数与当前系统的另一个点参数连接。连接后两个参数可以认为在逻辑上等效,对其中的一个参数的读写就相当于对另一个参数的读写。内部连接一般在运算点用的比较多。

    二、功能演示
    1、简述
    假设现场有4个模拟IO模块,1个数字IO模块,数据采集到OPC Server里,紫金桥软件从OPC Server里取数。紫金桥客户端初始时采集A1的01-06通道,A2的01-02,A3的01-02,用户可动态选择模块通道,且程序完全退出下次再次运行时修改依然有效。


    模块示意


    OPC Server端


    紫金桥客户端运行界面

    程序运行时,对应模块通道采集的数据可以从表上看出。

    2、切换通道
    假设A1模块1号通道坏了(Ia),将该通道改接到A4的1号通道上。如下图:


    选择切换后通道A4—01

    点击确定后,动态修改点的连接项。数据库重新读取所有点的数据。






    修改前Ia的值(A1-01)


    修改成功后Ia的值变成A4模块1通道的数值

    三、功能函数介绍
    1、系统函数AddIOLink函数介绍
    该示例主要应用到了紫金桥软件系统函数AddIOLink函数。
    int AddIOLink(string DataSource,string ParVals,bool OverWrite)
    说明:
    增加连接项。
    参数:
    DataSource : 字符串类型。数据源名,指示向哪个数据库增加历史项。为空表示向缺省数据库。
    ParVals : 字符串类型。连接项参数及其值列表。参数间以制表符分隔,参数名与参数值间以"="连接,以回车作为点间分隔。格式如下:
    参数项\t参数项...\t参数项\r参数项\t参数项...\t参数项\r...
    参数项间以\t分隔;各连接项间以\r分隔
    参数项 参数名=值
    \t:表示制表符(9);\r:表示回车(13)
    OverWrite : BOOL类型。表示如果点已经存在时是否对其修改,1:表示修改;0:表示不修改。
    返回值:
    整型类型。1表示成功,否则失败。

    2、其他函数介绍
    除了上面的那个函数,紫金桥软件还有增加内部连接项或网络连接函数AddLink函数。
    int AddLink(string DataSource,string ParVals,bool OverWrite)
    说明
    增加内部连接项或网络连接。
    参数
    DataSource : 字符串类型。数据源名,指示向哪个数据库增加历史项。为空表示向缺省数据库。
    ParVals : 字符串类型。连接项参数及其值列表。参数间以制表符分隔,参数名与参数值间以"="连接,以回车作为点间分隔。格式如下:
    参数项\t参数项...\t参数项\r参数项\t参数项...\t参数项\r...
    参数项间以\t分隔;各连接项间以\r分隔
    参数项 参数名=值
    \t:表示制表符(9);\r:表示回车(13)
    OverWrite : BOOL类型。表示如果点已经存在时是否对其修改,1:表示修改;0:表示不修改。
    返回值
    整型类型。1表示成功,否则失败。

    四、总结
    紫金桥软件强大的函数库可满足用户复杂苛刻的系统要求,实现和完成更多的系统功能。
    关键字:紫金桥 动态修改 数据连接 组态软件