当仿真数据源为数据库时,需要对数据库进行读写操作;或者当数据量过大,TableFile查询数据过于繁琐时,可以利用数据库进行操作。在Plant Simulation中读取数据库就需要ODBC进行数据库的连接。这里以SQL Server数据库为例。

ODBC的创建:

Windows系统自带ODBC管理工具,可设置ODBC数据源。ODBC数据源的创建方法可参见百度。

ODBC的连接:

模型默认不带有ODBC模块,需要手动加载。选择”Home”选项卡下的”Manage Class Library”按钮,在弹出的对话框中找到”ODBC”,选择后确定,即可加载ODBC模块。加载完成后,ODBC模块位于工具箱的”Information Flow”选项卡下。

ODBC界面如上图所示,选择需要读取的数据库(”Database”),然后填入用户名和密码,点击”Login”即可。如果连接失败,需要检查ODBC数据源的设置。

基础函数:

login(Database:<string>, UserName:<string>, Password:<string>)

连接ODBC。Database为ODBC名称;UserName为数据库用户名;Password为数据库密码。

示例:ODBC.login (“TestDB”, “sa”, “123456”)

logout

断开ODBC连接。

示例:ODBC. logout

sql(Result:<table>, SQLString:<string>)

向数据库传入SQL语句并执行,返回结果。Result为结果储存表格,当无返回结果时可不填,如执行delete语句;SQLString为需要执行的SQL语句。

示例:ODBC.sql ( table, “select  *  from  xyz” )

SQLString字符串支持格式化字符串操作。

示例:

var uid :  integer
var type :  string
uid :=  1
type :=  “U”
ODBC. sql (dataInput,  “SELECT  name  FROM  xyz  WHERE  uid =  %d  AND  type =  ‘%s’ “,  uid,  type )

如上例中所示,输入的字符串为 “SELECT  name  FROM  xyz  WHERE  uid =  1  AND  type =  ‘U’ ” ,即 %d 被 uid 的变量值替换,%s 被 type 的值替换。

字符串格式化符号如下:

s: 字符型
d: 整型
u: 正整数
o: 八进制
x: 十六进制
f: 浮点型

updateTable(SourceData:<table>, SQLTable:<string>, RowNumber:<integer>)

可以根据Plant Simulation中表格的数据更新数据库中表的数据。SourceData为Plant Simulation中表格;SQLTable为数据库中表格名称;RowNumber为数据行号。

示例:ODBC. updateTable ( TableFile,  ” Name_of_Table ” , 3 )   //更新数据库中”Name_of_Table “表的的三行的值,替换为TableFile中第三行的值。

高级函数

在数据库进行大规模数据写入时,为了提高写入效率,需要在事务中进行插入处理,数据库事务定义可参见百度百科。在Plant Simulation中的事务操作涉及Transaction,  beginTrans,  commitTrans,  rollbackTrans等函数,具体使用方法可参见帮助文档。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注