資料簡介
西門子CPU模塊6ES7313-6CG04-4AB1技術詳解
3)然后使用For循環,依次將兩個數組的值分別賦給函數趨勢控件的“DataX"和“DataY"屬性,并將控件的“InsertData"方法設置為“TRUE"即可。
如何繪制將某一變量顯示為另一變量的函數的曲線
函數趨勢控件還可以提供將某一變量顯示為另一變量的函數的選項。下面的例子實現了將X軸數組的各值進行平方運算后,計算出Y軸數組的各值,然后根據計算出的XY值繪制趨勢曲線。基于2.1示例中的C腳本代碼,只需要稍作改動,由X軸數值計算出Y軸數值即可,改動的代碼如下所示:
short X_Values[11] = {0,1,2,3,4,5,6,7,8,9,10};
……
vtDataY.vt = VT_I2;
vtDataY.u.iVal = pow( X_Values[i],2);
此外,C腳本中提供了豐富的數學計算函數,可以繪制出各種復雜的函數曲線。
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類型。
免責聲明
- 凡本網注明“來源:化工儀器網”的所有作品,均為浙江興旺寶明通網絡有限公司-化工儀器網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其他方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:化工儀器網”。違反上述聲明者,本網將追究其相關法律責任。
- 本網轉載并注明自其他來源(非化工儀器網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。