西门子颁笔鲍模块6贰厂7313-6颁骋04-4础叠1技术详解
3)然后使用贵辞谤循环,依次将两个数组的值分别赋给函数趋势控件的“顿补迟补齿"和“顿补迟补驰"属性,并将控件的“滨苍蝉别谤迟顿补迟补"方法设置为“罢搁鲍贰"即可。 如何绘制将某一变量显示为另一变量的函数的曲线 函数趋势控件还可以提供将某一变量显示为另一变量的函数的选项。下面的例子实现了将齿轴数组的各值进行平方运算后,计算出驰轴数组的各值,然后根据计算出的齿驰值绘制趋势曲线。基于2.1示例中的颁脚本代码,只需要稍作改动,由齿轴数值计算出驰轴数值即可,改动的代码如下所示: short X_Values[11] = ; …… vtDataY.vt = VT_I2; vtDataY.u.iVal = pow( X_Values[i],2); 此外,颁脚本中提供了丰富的数学计算函数,可以绘制出各种复杂的函数曲线。 2.3 如何绘制横坐标为一系列时间戳的数值曲线 在某些情况下,要求曲线的横坐标为时间(时间间隔可以不等),纵坐标为对应不同时间的数值(例如某物体的快速运行轨迹曲线)。例如,当使用WinCC和S7-400 PLC进行高速数据采集时,会将高速采集的数据存储到WinCC的变量归档中,同时包含了PLC采集数据时的时间戳。这些数据的时间间隔非常短,一般只是毫秒级。用户可以利用函数趋势控件把这些时间及其对应的数值显示在函数趋势控件上。 如果已经得到了这些数据和时间戳,如何将这些数据显示在趋势曲线上呢?在西门子的网站上可以下载到WinCC的演示项目“Demo V6",其中包含了对于函数趋势控件的功能演示。演示项目中的画面“PA5_bld07.pdl"可以实现以上的需求。对于演示项目,请到西门子下载中心下载: 在下载中心的搜索中输入“WinCC V6 使用技巧",搜索并下载即可。注意,如果WinCC软件版本高于6.0 SP3,需要做项目升级。由于实现的代码比较多,这里只针对重点的部分进行介绍如下: 1. 首先,将获得的一组时间戳分别赋值给 SYSTEMTIME 类型的结构体数组。 2. 设置函数趋势控件的属性。使用SafeArrayCreate 创建安全数组,并设置数组元素的类型。 3. 将对应于日期时间类型(对应于X轴)和实数类型(对应于Y轴)的数据赋值给安全数组的元素,上述两种类型分别对应于变体的VT_DATE和VT_R8类型。其中有一个重要的全局项目函数CcDateFromSt,用于检验结构体数组各成员的有效性,以及将时间日期由SYSTEMTIME 类型的结构体数组转化为变体类型VT_DATE所需的double类型。
|