工控网首页
>

应用设计

>

组态王监控设备运行时长

组态王监控设备运行时长

2018/7/17 13:47:33

1、  建立数据库表格

    使用access数据库,建立数据库表,命名“DeviceInfo”。

2、组态王建立内存变量

3、创建记录体

    创建与Access数据库关联的记录体。数据类型、字段名称与数据库中表格的相应内容应保持一致。

4、关联数据源

    在应用程序启动时添加数据库连接语句。

 

5、自定义函数

    编写自定义函数实现数据库数据的插入,以及时间计算等功能。

 

函数内容如下所示。

if (var==1)

{

//写入数据库,字段赋值

\\本站点\DB_DESC=name;

\\本站点\DB_START=\\本站点\$日期+""+\\本站点\$时间;

\\本站点\DB_END="";

\\本站点\DB_LENGTH="";

SQLInsert( DeviceID,"DeviceInfo", "BIND" );//向数据中,插入一条记录

}

else

{

string whrStr="描述='"+name+"'and 结束时间='" + " '" ;

string selStr="select * fromDeviceInfo where " + whrStr;

SQLSetStatement( DeviceID, selStr);

SQLExecute( DeviceID, "BIND",0 );  //功能等同sqlselect函数

 

string startStr = \\本站点\DB_START;

//开始时间转换秒

string midY=StrMid ( startStr, 1, 4 );

string midM=StrMid ( startStr, 6, 2 );

string midD=StrMid ( startStr, 9, 2 );

string midH=StrMid ( startStr, 12, 2 );

string midMi=StrMid ( startStr, 15, 2 );

string midS=StrMid ( startStr, 18, 2 );

long lY=StrToInt ( midY);

long lM=StrToInt ( midM);

long lD=StrToInt ( midD);

long lH=StrToInt ( midH);

long lMi=StrToInt ( midMi);

long lS=StrToInt ( midS);

long startTime= HTConvertTime(lY,lM,lD,lH,lMi,lS);

long endTime= HTConvertTime (\\本站点\$,\\本站点\$,\\本站点\$,\\本站点\$,\\本站点\$,\\本站点\$);//结束时间转换秒

//计算时间差

long timeLength=endTime-startTime;//单位秒

string endStr=StrFromInt ( timeLength, 10)+"";

 

//写入数据库,所有字段重新赋值

\\本站点\DB_END=\\本站点\$日期+""+\\本站点\$时间;

\\本站点\DB_LENGTH=endStr;

//设置查询条件,当条件相同时更新数据库中的记录

SQLUpdate( DeviceID,"DeviceInfo", "BIND", whrStr);

}

6、数据改变命令语言,引用自定义函数

    分别定义作为设备启停信号的bool型变量,并分别用此变量作为数据改变命令语言的变量

7、运行

    切换各开关状态模拟设备开启停止,点击查询可以查看设备状态,如果设备已开启却未停止,点查询后只会出现设备开始运行的时间。

 

 

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

组态王中电力104驱动通讯配置

组态王中网络DDE的使用说明

组态王OPC远程连接DCOM配置

组态王7.5 内网-域名-公网web发布

组态王超级表格控件及温控曲线控件使用