回复:Wincc 报表中获取数据差值的方法探讨

已锁定

龟仙人

西门子1847工业学习平台

  • 帖子

    928
  • 精华

    15
  • 被关注

    163

论坛等级:奇侠

注册时间:2006-12-15

普通 普通 如何晋级?

发布于 2022-04-01 08:29:16

1楼

再创建一个表格demo2:

FAC1和FAC2为累计流量,FDIF1合肥FDIF2为流量差值

创建触发器:

CREATE TRIGGER [dbo].[Trigger2] ON [dbo].[demo2]

INSTEAD OF INSERT /*必须为INSTEAD OF触发器*/

AS

Declare @dt datetime /*时间*/

Declare @f1 real /*进水累计流量当前值*/

Declare @f2 real /*出水累计流量当前值*/

Declare @f21 real /*上次进水累计流量*/

Declare @f22 real /*上次出水累计流量*/

Declare @f3 real /*进水累计流量增加值*/

Declare @f4 real /*出水累计流量增加值*/

BEGIN

/*得到当前插入字段内容*/

SELECT @dt=dt,@f1=FAC1,@f2=FAC2 FROM inserted

/*置上次值为0*/

SET @f21=0 

SET @f22=0

/*通过查询最后条记录,得到上次值*/

SELECT TOP 1 @f21=FAC1 ,@f22=FAC2 FROM demo2 WHERE dt<@dt ORDER BY dt DESC

/*计算增加值*/

SET @f3=@f1-@f21

SET @f4=@f2-@f22

/*把当前记录记录及增加值插入表中*/

INSERT demo2(dt,FAC1,FDIF1,FAC2,FDIF2) VALUES(@dt,@f1,@f3,@f2,@f4)

END


插入数据:

insert Demo2(dt,FAC1,FAC2) VALUES ('2022-3-31 12:00:00',8000.0,7200.0)

查询结果:



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32644条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。