首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WINCC 动态配置趋势图

WINCC 动态配置趋势图

作者头像
科控物联
发布2022-03-29 21:16:12
发布2022-03-29 21:16:12
8.3K3
举报
文章被收录于专栏:科控自动化科控自动化

更多WINCC趋势图,可参考以前文章:

Wincc趋势控件的使用

如何在 WinCC V7 中点击对象后自动弹出对应的趋势1

如何在 WinCC V7 中点击对象后自动弹出对应的趋势2

如何在 WinCC V7 中点击对象后自动弹出对应的趋势3

WinCC 中如何实现趋势 数据的统计分析和打印1

WinCC 中如何实现趋势 数据的统计分析和打印2

某个设备有很多生产工艺数据需要记录,数据可能有100~200个不等。一般会用单独一个屏幕显示趋势图。操作上的主要诉求有以下几点:

1、 所有曲线趋势图在一个单独的页面显示

2、 能对数据进行分组,能方便的选择需要的曲线,隐藏暂时不需要的曲线

3、 能配置常用的数据曲线显示,在查看完其他曲线后快速恢复到该配置

第一点是硬性要求,在归档数据很多的时候如果直接离线组态工作量非常大,耗时耗力,编辑到后面人也会很暴躁??;如果有新项目,再重复相同的工作,想想都可怕。因此,选择用脚本进行批量创建是必须得。

第二点,Wincc的趋势控件中貌似是不支持分组的。在趋势曲线很多时,通过趋势控件的组态对话框勾选或者取消曲线的操作用起来真的非常难受。因此,考虑在趋势控件外做文章,使用“Treeview”控件可以同时满足分组和快捷选择的需求,使用父级节点作为分组目录,子级节点作为趋势曲线的选择栏。

第三点,实际上来讲也算是对趋势曲线的在线组态需求了。在两百多个趋势数据中,工艺需要经常查看的关键数据可能只有20~30个左右。在进行数据追溯时,往往只需要同时查看4、5个数据,之后需要恢复显示预先设置好的关键数据曲线。这里就需要一个配置文件来保存设置,选择Excel来保存这些配置,因为方便编辑。

总结起来,大致思路是:使用Excel表格保存趋势曲线的分组及具体曲线配置参数,使用treeview控件读取Excel表格中的树形结构,通过treeview子节点前的选择框来选择添加或删除相应的曲线显示。

-------------实施过程-----------

1、 创建一个pdl,里面添加一个treeview控件,再添加一个趋势控件。

2、 对treeview进行默认设置,激活显示checkbox即可,其他可以根据自己喜好设置

3、 对trendcontrol控件进行基本配置,新建一个趋势窗口,新建一个时间轴。由于归档数据太多,数值轴根据数据范围创建了4个数值轴,不用组态任何趋势。

4、 新建一个Excel文件,表格文件中创建了几个字段,每个字段意义如下:

1) Class 用于区分父节点和子节点。Father为父节点,Child为子节点。父节点表示分组,子节点表示该分组下的趋势曲线

2) Text 用于显示分组名称及趋势名称

3) Checked 用于配置对应的曲线是否显示

4) 归档变量 用于配置对应趋势的归档变量名称

5) 坐标系 用于配置趋势对应的数值轴,表格中名称需要与前述设置的名称相同

6) 颜色 用于配置趋势图的显示颜色

7) 类型 用于配置趋势显示的趋势线类型,是线性连接点、步进连接点还是显示值。

5、 配置好Excel文件后,下一步需要wincc运行系统读取到Excel的配置文件。

1) 在pdl的打开画面的事件中,读取Excel的配置,加载treeview节点,同时根据checked状态向趋势控件中动态添加趋势。Excel通过Ado方式访问。

2) 这样运行画面后,应该能得到一个根据excel配置好的趋势图,只显示了勾选过的趋势,其他趋势都没有加载。

6、 现在需要配置通过treeview子节点的checkbox的选择或取消来添加或删除趋势,在treeview控件的NodeCheck事件中编写脚本来实现该功能。部分代码如下。

到这里,主要的功能应该都实现了。通过勾选树形控件子节点来显示和隐藏需要的趋势,效果应该是这样的。

7、 现在已经实现了前面要求的1、2点的主要功能。但是,对于单独查看自己关心的数据时,需要将自己不关心的趋势全部隐藏的话,在趋势过多时同样也不太方便;关于第3点的要求也没有实现。因此,添加了3个按钮

1)“重新加载” 该按钮用于实现快速恢复显示在excel中配置的趋势。实现方法也比较简单,只需要刷新显示该pdl文件就可以了

2)“保存设置” 该按钮用于将修改后的配置保存到excel文件中;这些配置包含趋势的显示与否,趋势名称的修改,趋势颜色和数值轴的更改等。其实比较偷懒的做法是直接修改Excel文件就可以了,但是对于工艺工程师,他是不可能去修改文件的,不太友好,所以还是用按钮动作实现比较好。

3)“清空曲线” 该按钮只是单纯的为了查看某些趋势时将所有趋势删除,将treeview控件的所有节点的checkbox取消,方便后续选择需要的趋势。

最终效果如下

重新加载,:

保存设置

最后,画面组态完毕后pdl文件可以不用动了。使用的时候对趋势曲线的组态实际上转换为了对Excel文件的编辑,在大量趋势组态的需求时编辑表格当然是要比在wincc中编辑趋势控件方便多了。在下一个新项目中只需要修改Excel就能快速完成曲线的配置了。

P.S.无法上传附件,直接copy到EXCEL表格即可

编号

Class

Text

Checked

归档变量

坐标系

颜色

类型

NO.1

Father

流量

NO

NO.2

Child

流量计1

YES

MFC\Flow1

Value(-20~100)

255

1

NO.3

Child

流量计2

YES

MFC\Flow2

Value(-20~100)

16776960

1

NO.4

Child

流量计3

YES

MFC\Flow3

Value(-20~100)

16711680

1

NO.5

Child

流量计4

NO

MFC\Flow4

Value(-20~100)

&H0000FF

1

NO.6

Child

流量计5

NO

MFC\Flow5

Value(-20~100)

65280

1

NO.7

Child

流量计6

YES

MFC\Flow6

Value(-20~100)

0

1

NO.8

Child

流量计7

NO

MFC\Flow7

Value(-20~100)

49407

1

NO.9

Child

流量计8

YES

MFC\Flow8

Value(-20~100)

5296274

1

NO.10

Child

流量计9

NO

MFC\Flow9

Value(-500~500)

15773696

1

NO.11

Child

流量计10

NO

MFC\Flow10

Value(-500~500)

10498160

1

NO.12

Father

温度

NO

NO.13

Child

温度1

NO

Temperature\TC1

Value(-500~500)

255

1

NO.14

Child

温度2

NO

Temperature\TC2

Value(-500~500)

65280

1

NO.15

Child

温度3

NO

Temperature\TC3

Value(-500~500)

0

1

NO.16

Child

温度4

NO

Temperature\TC4

Value(-500~500)

49407

1

NO.17

Child

温度5

NO

Temperature\TC5

Value(-500~500)

5296274

1

NO.18

Child

温度6

NO

Temperature\TC6

Value(-500~500)

15773696

1

NO.19

Child

温度7

NO

Temperature\TC7

Value(-500~500)

10498160

1

NO.20

Child

温度8

NO

Temperature\TC8

Value(-500~500)

682978

1

NO.21

Child

温度9

NO

Temperature\TC9

Value(-500~500)

&HFFFF00

1

NO.22

Child

温度10

NO

Temperature\TC10

Value(-500~500)

&HFF0000

1

NO.23

Child

温度11

NO

Temperature\TC11

Value(-500~500)

&H0000FF

1

NO.24

Child

温度12

NO

Temperature\TC12

Value(-500~500)

&H00FF00

1

NO.25

Child

温度13

NO

Temperature\TC13

Value(-500~500)

&H000000

1

NO.26

Child

温度14

NO

Temperature\TC14

Value(-500~500)

&H00C0FF

1

NO.27

Child

温度15

NO

Temperature\TC15

Value(-500~500)

&H50D092

1

NO.28

Child

温度16

NO

Temperature\TC16

Value(-500~500)

&HF0B000

1

NO.29

Child

温度17

NO

Temperature\TC17

Value(-500~500)

&HA03070

1

NO.30

Child

温度18

NO

Temperature\TC18

Value(-500~500)

&H0A6BE2

1

NO.31

Child

温度19

NO

Temperature\TC19

Value(-500~500)

&HFFFF00

1

NO.32

Child

温度20

NO

Temperature\TC20

Value(-500~500)

&HFF0000

1

NO.33

Child

温度21

NO

Temperature\TC21

Value(-500~500)

&H0000FF

1

NO.34

Child

温度22

NO

Temperature\TC22

Value(-500~500)

&H00FF00

1

NO.35

Child

温度23

NO

Temperature\TC23

Value(-500~500)

&H000000

1

NO.36

Child

温度24

NO

Temperature\TC24

Value(-500~500)

&H00C0FF

1

NO.37

Child

温度25

NO

Temperature\TC25

Value(-500~500)

&H50D092

1

NO.38

Child

温度26

NO

Temperature\TC26

Value(-500~500)

&HF0B000

1

NO.39

Child

温度27

NO

Temperature\TC27

Value(-500~500)

&HA03070

1

NO.40

Child

温度28

NO

Temperature\TC28

Value(-500~500)

&H0A6BE2

1

NO.41

Child

温度29

NO

Temperature\TC29

Value(-500~500)

&HFFFF00

1

NO.42

Child

温度30

NO

Temperature\TC30

Value(-500~500)

&HFF0000

1

NO.43

Father

压力

NO

NO.44

Child

PIA_1

NO

Pressure\PIA_1

Value(0~10)

682978

1

NO.45

Child

PIA_2

NO

Pressure\PIA_2

Value(0~10)

16776960

1

NO.46

Child

PIA_3

NO

Pressure\PIA_3

Value(0~10)

&HFF0000

1

NO.47

Child

PIA_4

NO

Pressure\PIA_4

Value(0~10)

&H0000FF

1

NO.48

Child

PIA_5

NO

Pressure\PIA_5

Value(0~10)

&H00FF00

1

NO.49

Child

PIA_6

NO

Pressure\PIA_6

Value(0~10)

&H000000

1

NO.50

Child

PIA_7

NO

Pressure\PIA_7

Value(-500~500)

&H00C0FF

1

NO.51

Child

PIA_8

NO

Pressure\PIA_8

Value(-500~500)

5296274

1

NO.52

Child

PIA_9

NO

Pressure\PIA_9

Value(-500~500)

&HF0B000

1

NO.53

Child

PIA_10

NO

Pressure\PIA_10

Value(-500~500)

10498160

1

NO.54

Child

PIA_11

NO

Pressure\PIA_11

Value(-500~500)

682978

1

NO.55

Father

液位

NO

NO.56

Child

液位1

NO

Level\Level1

Value(-500~500)

&H00FF00

1

NO.57

Child

液位2

NO

Level\Level2

Value(-500~500)

&H00C0FF

1

NO.58

Child

液位3

NO

Level\Level3

Value(-500~500)

5296274

1

NO.59

Child

液位4

NO

Level\Level4

Value(-500~500)

&HF0B000

1

NO.60

Child

液位5

NO

Level\Level5

Value(-20~100)

&HA03070

1

NO.61

Child

液位6

NO

Level\Level6

Value(-500~500)

&H0A6BE2

1

NO.62

Child

液位7

NO

Level\Level7

Value(-500~500)

&HFFFF00

1

NO.63

Child

液位8

NO

Level\Level8

Value(-500~500)

&HFF0000

1

NO.64

Child

液位9

NO

Level\Level9

Value(-500~500)

&H0000FF

1

NO.65

Child

液位10

NO

Level\Level10

Value(-20~100)

&H00FF00

1

NO.66

Father

功率

NO

NO.67

Child

功率1

NO

Power\power1

Value(-20~100)

&H0A6BE2

1

NO.68

Child

功率2

NO

Power\power2

Value(-20~100)

&HFFFF00

1

NO.69

Child

功率3

NO

Power\power3

Value(-20~100)

&HFF0000

1

NO.70

Child

功率4

NO

Power\power4

Value(-20~100)

&H0000FF

1

NO.71

Child

功率5

NO

Power\power5

Value(-20~100)

&H00FF00

1

NO.72

Child

功率6

NO

Power\power6

Value(-20~100)

&H000000

1

NO.73

Child

功率7

NO

Power\power7

Value(-20~100)

&H00C0FF

1

NO.74

Child

功率8

NO

Power\power8

Value(-20~100)

&H50D092

1

NO.75

Child

功率9

NO

Power\power9

Value(-20~100)

&HF0B000

1

NO.76

Child

功率10

NO

Power\power10

Value(-20~100)

&HA03070

1

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档