把Citect_的实时数据转存到指定的数据库中
把Citect 的实时数据转存到指定的数据库中 一、创建数据库
用ACCESS建立一个YCDATA的数据表。数据库存到工程所在目录下,这样备份工程时能一起打包备份。实例中保存文件名为“ReportData.mdb”
二、配置数据源
Citect对数据库的访问是采用ODBC方式,所以支持很多数据库,我现在以ACCESS为例来说明。数据源名称为“ReportData”
进入控制面板中,双击数据源(ODBC)
选择ACCESS数据驱动
新加一个数据源名,然后点“选择”按钮,选择数据库所在路径,点“确定”保存
这样数据源就创建成功了,其他数据库也是类似创建的。
三、编写Citect存储数据库函数
根据下图创建Cicode文件
编写SaveDbData函数,保存文件名为Save.ci
以下为Save.ci文件具体内容
FUNCTION SaveDbData()
INT hSQL;
STRING sName;
INT Status;
STRING SqlAction
STRING RealRecipeName
RealRecipeName="测试"+IntToStr(Rand(10)+1)
SqlAction= "INSERT INTO YCDATA( 文本内容, YC1, YC2, YC3, YC4,YC5)
VALUES ('"
SqlAction=SqlAction+RealRecipeName+"', "
SqlAction=SqlAction+RealToStr(I1,5,1)+","+RealToStr(I2,5,1)+","+RealToStr(I3,5,1)
SqlAction=SqlAction+", "+IntToStr(kwh1)+", "+RealToStr(kwh2,5,1)+" )"
hSQL = SQLConnect("DSN=ReportData;UID=;PWD=");
IF hSQL <> -1 THEN
SQLExec(hSQL, SqlAction);
SQLDisconnect(hSQL);
END
END
这样我们可以在citect中调用SaveDbData函数对数据进行插入操作
四、定义事件定时写入数据库
为事件建立一个名称,时间从0点开始,每1分钟存储一次,动作就是调用存储数据库的函
数。
激活事件,事件只有激活时才能真正起到作用。 五、运行
在这里我们可以看到前面定义的事件SaveDbDataEvent,勾中点下一步。
其实向导设置参考《Citect操作细则》