WINCC脚本初步定期往数据库添加纪录 -

更新时间:2023-09-26 09:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

有时候我们需要定期往一个sql数据表添加纪录,以前尝试过vbs脚本,今天通过c脚本实现同样的功能。假设有一个sql数据库Report,下面有一个数据表,有以下几个字段:

CurNo 表示序号,bigint数据类型,主键,自动递加1;CurDate,字符串,纪录当前日期;CurTime 字符串,记录当前时间;flow1 实数;flow2 实数,flow3 实数。由于没有实际的PLC,所以这个脚本里面取当前的秒数值来模拟现场的数字。在全局c脚本写入以下代码,触发器每5秒钟执行一次。

#include \int gscAction( void ) {

#pragma code(\

VOID GetLocalTime(SYSTEMTIME *lpst); SYSTEMTIME zeit; int flow1,flow2,flow3; __object *cn, *rs;

char *connstr=\Source=ES\\\\wincc\char sql[512]; GetLocalTime(&zeit);

sprintf(sql,\report(CurDate,CurTime,flow1,flow2,flow3)

values(\zeit.wSecond+1,zeit.wSecond+3);

cn=__object_create(\rs=__object_create(\cn->open(connstr);

if (cn->State == 0)// 为0表示连接数据库不成功

MessageBox(NULL,\连接数据库失败!\警告\else

{

rs->Open(sql,cn); rs->Close; }

if(cn->State != 0) cn->Close; return 0; }

本文来源:https://www.bwwdw.com/article/ykqd.html

Top