wincc中显示趋势曲线

我是在plc300采集了正弦波信号的100个离散值,储存在DB中,传送给wincc,通过一系列的操作后最后显示如我所发的图类似的曲线。想用wincc自带的 winnc function trend control来画线,每个点的横纵坐标均由用户编写脚本程序自行设定。通过调用SetPropDouble函数修改“DataX”、“DataY”属性,调用SetPropBOOL函数执行插入数据点命令,将实时数据或历史数据用描点,连线的方式在控件中显现出来。我先前看了很多资料,包括《自定义 XY 轴的多功能曲线的实现方法》这个文档http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=231897&cid=1032,对上述文档现有一些问题请各位大佬回答一下(也可以直接编写出我想要的c脚本):
1.我的情况是不是按文档里的第三种方式做?那我Y轴就应该是用我内部变量里的那100个值吧?那我X轴是不是就要用时间戳了?如果是,那按文档做X轴显示的是像2020.3.13怎样的日期时间,还是如我图中的那种时间?如果是日期时间,怎么实现我要求的那种时间?
2.我看了那么多的资料,感觉需要两组变量分别对应x,y,可我只有那100个值一组变量,用于y轴,那我x轴显示是时间对应的是什么?我可不可以设置成那100个值两两间隔10ms,对应于x轴,如果可以怎么设置或c脚本中的程序怎么编?
3.PDLRTSetPropEx( PDLRT_AM_DEFAULT, lpszPictureName, "TrendYX1", "DataX", VT_VARIANT, (void*)&vtDataX, NULL, NULL, 0, NULL, NULL );这句起注解说是设置X轴的“DataX”属性,我想知道的是它的具体作用,像是对DataX起什么作用?
4.SetPropBOOL(lpszPictureName,"TrendYX1","AutorangeX",FALSE);像这句,如果FALSE改为TURE,是不是就不需要对BeginX,EndX这些定义?
5.CcDateFromSt(&st[i], &dZeitwert);这句中的st[i]是不是就是文档前面说的赋值给SYSTEMTIME类型的结构体变量的那组时间戳?
6.SafeArrayUnaccessData( vtPair.u.parray );
pvtPair = NULL;
VariantCopy( &pvtDataXY[i], &vtPair );解释一下这三句的具体作用,看它的注解知道意思,但不懂为什么这样做。
7.文档说首先,将获得的一组时间戳分别赋值给SYSTEMTIME类型的结构体变量,那SafeArrayAccessData( vtPair.u.parray, &pvtPair );
if( pvtPair )
{
// X-value
vtDataX.vt = VT_DATE;
// Calculate time value via global function CcDateFromSt
CcDateFromSt(&st[i], &dZeitwert);
vtDataX.u.dblVal = dZeitwert;这里面是不是赋值过程?还是说没写出来。
问题有点多,但还是十分恳请和希望各位大佬能抽出点时间回答一下,万分感谢万分感谢。

图片说明:

wincc中显示趋势曲线   

最佳答案

1、对,你采集的数据应该时做Y轴,X轴你可以使用时间戳,也可以直接编一个ID参数啊,比如直接就是1-100这100个数
2、用事件戳比较麻烦,你自定义一个x轴的数据就是了,比如你间隔100毫秒采集的数据,那x轴也可以定义成0.1 0.2 .....9.9这样
PDLRTSetPropEx 这个函数是给函数数组直接赋值的功能啊
这里面的C脚本不完整
你可以下载:
SIMATIC WinCC V7 SP3 的演示项目
https://support.industry.siemens.com/cs/cn/zh/view/35102867
这里面的演示项目看一下

提问者对于答案的评价:
非常感谢大佬,再问一下,我下载好了这个SIMATIC WinCC V7 SP3 的演示项目,怎么用啊?在wincc中打开,在图形编辑器里找,还是在全局脚本,C-Editor,全局动作中找?有没有快捷一点的方式,里面全局脚本有一大堆,图形编辑器里的画面也有一大堆,好难找。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc315284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:07
下一篇 2020年11月1日 下午4:07

相关推荐

  • SQLServer2005MSSQLUSER$<计算机名称>$WinCC 是什么意思

    在C/S结构快速入门中,创建一个新用户或者使用默认Administrator,为用户分配Administrators,SIMATIC HMI和SQLServer2005M…

    SIMATIC WinCC 2017年11月12日
  • 怎样启动DDE服务

    我在论坛里面看到说DDE服务在WINDOWS中是禁止的,需要手动启动。怎样启动啊? 最佳答案 http://www2.ad.siemens.com.cn/Download/Uplo…

    SIMATIC WinCC 2019年6月11日
  • wincc全局脚本读系统时间继续求教

    各位高手,我在学习WINCC脚本,在网上我看到一段读系统时间的脚本程序,我拿来学习。我按照程序在内部变量中定义了无符号16位( 年、月、日、date、date1,然后在全…

    2017年11月12日
  • WINCC通过OPC读取数据

    用WINCC通过OPC 读取数据,第三方软件为KEPware.KEPServerEX.V4,最近数据丢失,在桌面上用快捷方式打开KEPware.KEPServerEX.V…

    2021年7月5日
  • wincc7.4取消激活时会卡住

    如下图所示,wincc7.4在取消激活时会卡住,等了很久进度条都走不完,想知道这是什么原因以及如何解决?通常遇到这个问题就会运行reset_wincc,但是希望不要出现这个问题,谢…

    2020年11月1日
  • WINcc模拟量求和

    各位工程师好,小弟现在要在WINcc上面对几个浮点型数据求和,请问该怎么实现?先谢谢了。 最佳答案 io域,动态连接输入公式:”变量1”+‘变量2’+‘变量3’…….v…

    SIMATIC WinCC 2017年12月8日
  • wincc里有这样一个脚本,是什么意思呢?

    三个按钮:正转,停止,反转,事件属性里鼠标所连接的脚本如下如所示。按照我的理解这个脚本里应该会有相应的变量来控制设备啊,但是好像只控制了颜色的的变化。可是在按钮的属性有连接颜色变化…

    2017年6月29日
  • 脚本学习资料

    我想学习写脚本程序,望大侠们能给我点学习资料。在这里先谢谢各位了~ 问题补充:邮箱:xch202@163.com 最佳答案 《WinCC脚本应用》链接: http://b…

    SIMATIC WinCC 2019年6月11日
  • wincc v6.2授权问题

    wincc v6.2授权和wincc v6.0授权一样么? 另外,现在工控机大多不带软驱,如何授权? 最佳答案 不一样. 你可以找个带软驱的…

    SIMATIC WinCC 2019年6月11日
  • WINCC激活后怎么做个密码才可以进行操作

    请问WINCC激活后怎么做个密码才可以进行操作,我是个刚刚接触WINCC的请各位朋友告诉下,先谢谢了 问题补充:对不起,我是个刚刚搞WINCC的没有看明白怎么做的(英语基本为0,脚…

    SIMATIC WinCC 2019年6月11日