CITECT与数据库通讯(3)
发布时间:2021-06-12
发布时间:2021-06-12
用于组态软件与数据库通讯
图2
“数据源名”项,填入数据源名,可以任意命名,按“选择”按钮,找到C盘下aa.mdb文件,然后按“确定”,完成了数据源的设定。
3、与关系型数据库的通讯
现将几种常用的组态软件与数据库的连接方法介绍如下。为便于理解,本文的编程代码都是实现同样的功能:通过ODBC接口与本机C盘下名为aa.mdb的Access 数据库建立连接,打开表tab1并插入一条记录。将组态软件中的标签变量dl_v1和dl_v2写入该记录对应的v1和v2两字段。
3.1 Citect与数据库的连接:
悉雅特集团(Citect)是世界领先的提供工业自动化系统、设施自动化系统、实时智能信息和新一代 MES 的独立供应商,同时Citect组态软件也是较早进入中国市场的产品。Citect提供了类似C语言的脚本语言Cicode,6.0版本以后又添加了CitectVBA 脚本。现以Cicode脚本为例,介绍citect与数据库的连接。程序代码如下:
FUNCTION databasetest ()
INT hSQL, iResult;
STRING ssql;
REAL sv1,sv2;
sv1 = TagRead("dl_v1");将实数型标签变量赋值给程序变量
sv2 = TagRead("dl_v2");
hSQL = SQLConnect("DSN=aa");
用于组态软件与数据库通讯
IF hSQL <> -1 THEN
sSQL = "INSERT INTO tab1(v1,v2) VALUES ('"+ RealToStr(sv1,8,2)+"','"+
RealToStr(sv2,8,2)+"')";插入表tab1一条记录,将标签变量值添加到字段v1和v2 中,不管Access数据库字段的类型是否为字符型,都要转换为字符型操作。
iResult = SQLExec(hSQL, sSQL);
SQLDisconnect(hSQL);
END
END
3.2 WINCC与数据库的连接:
西门子的WinCC也是一套功能完善的组态开发软件。随着西门子PLC的广泛应用, WINCC组态软件的用户也逐年增多。WINCC提供类C语言的脚本和VBS脚本,,现以VBS脚本为例,介绍WINCC与数据库的连接。程序代码如下:
Function action
Dim strcn,cn
Dim sv1,sv2
Dim is_SQL,rscom
Set cn=CreateObject("ADODB.Connection")
Set rscom=CreateObject("ADODB.Recordset")
Sv1=HMIRuntime.Tags("dl_v1").Read 读取标签变量值
Sv1=HMIRuntime.Tags("dl_v1").Read
is_SQL="insert into tab1(v1,v2) ValueS("&sv1&","&sv2&")"
strcn="Provider=MSDASQL;DSN=aa;UID=;PWD=;"
cn.ConnectionString=strcn
cn.Open
cn.Execute is_SQL
cn.close
End Function
3.3 RSView32与数据库的连接:
RSView32是RockWell SoftWare公司的组态软件,提供VBA脚本,同样的与数据库连接功能,其编程代码如下:
下一篇:正直的名言警句