目录

一、前期准备

1.在变量管理里建内部变量

2.放置控件

二、效果

三、代码

1.复选框的代码

2.打开画面时的代码

四、代码分析

1.SetPropDouble

2.SetPropBOOL

3.GetPropDouble

4.SetTagDWord


一、前期准备

1.在变量管理里建内部变量

“test1"~"test10","pows","result",如下图红框所示

2.放置控件

WinCC OnlineTrendControl、复选框、10个输入输出域

(1) WinCC OnlineTrendControl

1.对象名称改为"ctrltrend"

2."趋势"里新增10个趋势,数值轴都为"数值轴1",变量名称从test1~test10对应选择。

3.填写"数值轴"中值的范围。

(2) 10个输入输出域

输出值从test1~test10依次填写

(3) 复选框

1.对象名称改为"ctrlcheckbox"

二、效果

三、代码

1.复选框的代码

Function BoxCount_Trigger(Byval Item)
Dim trend,checkbox,count,i
Set trend=ScreenItems("ctrltrend")
Set checkbox=ScreenItems("ctrlcheckbox")
checkbox.BoxCount = trend.TrendCount
count=checkbox.BoxCountFor i=1 To countcheckbox.Index =itrend.TrendIndex = i-1checkbox.Text = trend.TrendName '把趋势图里的趋势名称,导入到复选框中
Next
End Function

#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,  long  value)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
double process,pows;
DWORD process1,pows1,result;
//int RetMsg;
int i;
for (i=0;i<=9;i++)
{
pows=pow(2,i);   //pows=2的i次方
process=GetPropDouble(lpszPictureName,"ctrlcheckbox","Process");
process1=(DWORD)process;
pows1=(DWORD)pows;
SetTagDWord("pows",pows1); //把2的i次方赋值给trendtag32
result=process1&GetTagDWord("pows");//按位做与运算
SetTagDWord("result",result); //把运算结果赋值给result
SetPropDouble(lpszPictureName,"ctrltrend","TrendIndex",i); //选定曲线i
if (GetTagDWord("result")!=0)
SetPropBOOL(lpszPictureName,"ctrltrend","TrendVisible",TRUE); //则使其显示
else
SetPropBOOL(lpszPictureName,"ctrltrend","TrendVisible",FALSE); //则使其不显示
}
}

2.打开画面时的代码

#include "apdefap.h"
void OnOpenPicture(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
int i;
for (i=0;i<=9;i++)
{
SetPropDouble(lpszPictureName,"ctrlTrend","TrendIndex",i); //选定曲线0-9
SetPropBOOL(lpszPictureName,"ctrlTrend","TrendVisible",FALSE); //使这10条曲线不显示
}
}

四、代码分析

1.SetPropDouble

SetPropDouble(ScreenName, Object, NameOfTheProperty, Value)

2.SetPropBOOL

SetPropBOOL(ScreenName, Object, NameOfTheProperty, Value)

3.GetPropDouble

GetPropDouble(ScreenName, Object, NameOfTheProperty)

4.SetTagDWord

SetTagDWord(Tag Tag_Name,DWORD value)

WinCC笔记:03.趋势图控件 —— (1) 复选框控制趋势显示和隐藏相关推荐

  1. C#ListView控件添加复选框并获取选中的数目

    1.添加复选框:listView1.CheckBoxes = true; 2.选中listview并获取选中的数目: private void listView1_ItemChecked(object ...

  2. ExtJs中定制日历控件——带复选框

    效果图: 代码: /*********************日历组件部分**************************** begin */ var dateArray = new Array ...

  3. elementui树形复选框_Element-ui表格树形控件结合复选框实践

    Element-ui是现在国内用得比较多的ui框架,其table组件提供了多选以及树形数据的功能,但却没有提供将两者结合的功能,我们先来看下面的图片,本文将介绍以下的功能如何实现以及其中的一些踩坑点. ...

  4. 5、Web 窗体的基本控件——复选框控件和复选组控件(CheckBox 和 CheckBoxList)

    5.Web 窗体的基本控件--复选框控件和复选组控件(CheckBox 和 CheckBoxList) 复选框控件和复选组控件(CheckBox 和 CheckBoxList) 前端 <%@ P ...

  5. html文本框 控件,标签和文本框都用于显示文本

    用标签和文本框都可以显示文本信息,二者有什么区别 标签和文本框控件都可以显示文本,它们之间有什么区别?标签只能显示一横... 文本框可以显示很多横... 不对.标签框(Label)不能输入文本. VB ...

  6. WinCC笔记:01.TreeView控件 —— (2)连接数据库创建节点

    目录 一.最终效果图 二.数据库一览 三.代码 四.代码分析 一.最终效果图 二.数据库一览 这里使用的是SQL Server Tools 18,可以链接到WinCC自动生成的数据库.首先使用WinC ...

  7. Vue的表单组件之复选框

    复选框分单独使用和组合使用. 复选框单独使用时: <div id="app"><input type="checkbox" v-model=& ...

  8. easyui数据表格显示复选框_【Excel技巧】使用控件一键切换实现单位元和万元随意显示...

    工欲善其事,必先利其器.职场上亦是如此.Excel报表想要做得完美,首先肯定Excel要精通. 做一份Excel报表,如果涉及到金额,当金额比较大,单位到底是用元还是万元,经常是大家纠结的一个问题.我 ...

  9. easyui数据表格显示复选框_WinCC 报警控件、在线趋势/表格控件数据查询

    1.报警控件数据查询 在WinCC报警记录组态时,我们可以给报警消息定义不同的类别.类型.用户文本块等(图1),有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息. 图 1 ...

  10. vs mfc数据与控件绑定错了_如何进行数据趋势分析?VS扩展工具——C1迷你图控件了解一下...

    点击"了解更多"获取ComponentOne 2020 v1正式版下载 迷你图 -- Sparklines是迷你的轻量级图表,有助于快速可视化数据. 它们是由数据可视化传奇人物Ed ...

最新文章

  1. oracle 用户创建角色,oracle普通用户创建和加权限
  2. HDU 3613 Best Reward 正反两次扩展KMP
  3. C++编程【Visual Studio 2017 环境搭建教程】【附:软件安装包】
  4. SQL中的left join
  5. 简单实现仿某宝地址选择三级联动样式
  6. lisp的vla函数画矩形_利用Lisp做Tin三角网建模(源代码)
  7. 开放源码软件的安装(tar包安装方法)
  8. hackerrank 刷题一(python 基础)
  9. WAV音乐文件无法修改标题
  10. 网站内容收录不稳定/不收录的原因分析
  11. CocoWu‘s Summer English Study Summery
  12. 关于物联网进入元宇宙时代的基础与发展思考
  13. 基于STM32F4的CANOpen移植教程(超级详细)
  14. [POI2006] TET-Tetris 3D
  15. 【概率论】4-5:均值和中值(The Mean and the Median)
  16. idea中设置jdk
  17. 应广单片机_呼吸灯理解
  18. 招商银行第一面(群面,2020.04.01)——即兴演讲
  19. 数据分析归因分析类型与实战数据
  20. sdcms php版手册,sdcms常用手册汇总

热门文章

  1. 生成对抗网络GAN简单理解
  2. 【揭秘】电话机器人电话营销回拨系统,让你轻松提升销售业绩!
  3. Dropbox CEO MIT毕业典礼演讲:冒险精彩人生--转载
  4. 学习博客:IO流之节点流、处理流
  5. Linux嵌入式开发——uboot添加logo显示功能
  6. 北京皮纹智力测量与台湾皮纹智能测试的区别
  7. 陈冰的新书——《电脑使用说明书》系列连载之一
  8. Linux常用文本处理命令
  9. 诈骗犯冒充程序员应聘科技公司
  10. js 判断页面 第一次加载or刷新