您的位置:控制工程论坛网论坛 » 自动化软件 » 紫金桥软件动态修改数据连接的应用

zijinqiao

zijinqiao   |   当前状态:在线

总积分:1659  2024年可用积分:0

注册时间: 2007-01-15

最后登录时间: 2023-01-13

空间 发短消息加为好友

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

zijinqiao  发表于 2015/8/24 16:33:15      640 查看 0 回复  [上一主题]  [下一主题]

手机阅读

一、引言

在某些应用场合里,现场对模块和设备都会有冗余。例如远航大洋里的邮轮,船上如果某个模块通道故障,需要切换到模块另一个通道上或者其他模块的通道上。那么工程里点的外部连接也需要对应的切换修改。但不可能会让技术人员去上船修改,因为这很不现实。那么如何解决这问题呢?利用紫金桥动态修改连接项即可实现上面功能。

数据连接是实时数据库的一项重要内容。它把实时数据库中的点参数与其它的数据连接起来。数据库的数据连接可以分成三类:IO连接远程数据库内部连接IO连接:该项表示点参数与实际物理设备的IO单元连接起来。连接后,数据库会启动相应的IO驱动程序,读取/设置相应的IO设备,数据库中组态数据连接的点数据就可以与实际IO单元的数据一致,同时对数据库点参数的操作就相当于对实际IO的操作。远程数据库:可以与远程数据库进行连接。把当前的点参数与已经定义的数据源的点参数连接。内部连接:把当前点参数与当前系统的另一个点参数连接。连接后两个参数可以认为在逻辑上等效,对其中的一个参数的读写就相当于对另一个参数的读写。内部连接一般在运算点用的比较多。

二、功能演示

1、简述

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


模块示意


OPC Server


紫金桥客户端运行界面


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

2、切换通道

假设A1模块1号通道坏了(Ia),将该通道改接到A41号通道上。如下图:


选择切换后通道A4—01


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




修改前Ia的值(A1-01


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


三、功能函数介绍

1、系统函数AddIOLink函数介绍

该示例主要应用到了紫金桥软件系统函数AddIOLink函数。

int AddIOLink(string DataSource,stringParVals,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,stringParVals,bool OverWrite)

说明

增加内部连接项或网络连接。

参数

DataSource : 字符串类型。数据源名,指示向哪个数据库增加历史项。为空表示向缺省数据库。
ParVals : 字符串类型。连接项参数及其值列表。参数间以制表符分隔,参数名与参数值间以"="连接,以回车作为点间分隔。格式如下:
参数项\t参数项...\t参数项\r参数项\t参数项...\t参数项\r...
参数项间以\t分隔;各连接项间以\r分隔
参数项 参数名=值
\t:表示制表符(9);\r:表示回车(13)
OverWrite : BOOL类型。表示如果点已经存在时是否对其修改,1:表示修改;0:表示不修改。

返回值

整型类型。1表示成功,否则失败。

四、总结

紫金桥软件强大的函数库可满足用户复杂苛刻的系统要求,实现和完成更多的系统功能。


1楼 0 0 回复