<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      04-WinCC VBS全局變量/全局數據傳遞

          在WinCC VBS中,我們沒有辦法直接定義可以在整個項目中全局使用的變量,哪怕是使用public定義變量,該變量的生效范圍也僅僅是局限在某個畫面之中,當切換畫面以后,其并不能把數據傳遞到另一個畫面。

          如,在一個畫面A中,做一個畫面窗口B,窗口中關聯畫面C,在A中建2個按鈕,1和2,在畫面C中同樣創建2個按鈕3和4,分別在1-4的按鈕中寫下腳本:

       

      '按鈕1中
      public testVal
      testVal=1
      
      '按鈕2中
      msgbox testVal
      
      '按鈕3中
      testVal=2
      
      '按鈕4中
      msgbox testVal

          從以上腳本中可以看出,如果WinCC的Public定義方式支持全局數據傳遞,則按照順序按下按鈕1-4,會在按鈕1和3中分別給testVal賦值1和2,并且在隨后按下按鈕2和4的時候分別彈窗彈出testVal賦值后的值1和2,但是實際上,在賦值1的時候,彈窗會彈出賦值后的值1,在按下按鈕3和4之后,什么都不會發生,因為系統在按下按鈕3的時候會認為testVal未定義,更不會賦值,按下按鈕4的時候也不會彈出期待的賦值2。

          實際上,在WinCC中使用VBS的時候,很多時候需要做不同畫面之間的數據交換,比如,在制作報表系統時,在報表中需要對時間、班次、表頭等等進行選擇,而選擇的內容在同一個畫面中會顯得尤為擁擠,此時就需要做彈窗,比如選擇填充報表的變量名的時候,彈出一個彈窗,在選擇完變量名稱之后,將結果保存下來,再選擇報表的時間段、報表是否計算平均值、合計值等,最終再將這些內容匯總成一個報表,就需要不同頁面之間的數據傳輸。不同頁面間的數據傳輸,主要分為以下幾種:

          <1> 使用WinCC內部變量;

          <2> 使用DataSet;

          <3> 使用第三方存儲文件,如Csv文件、Access數據庫或者SQL數據庫;

          在這里主要講述比較常用的前兩種。

          1、創建WinCC內部變量

          入開篇所列舉的例子,為了實現不同頁面之間的數據傳遞,首先在WinCC內部變量中創建一個內部變量作為不同頁面間數據傳遞的媒介,如下圖:

       

      '按鈕1中
      dim testVal
      set testVal=hmiruntime.tags("SEND")
      testVal.value=1 testVal.write
      '按鈕2中 dim testVal set testVal=hmiruntime.tags("SEND") testVal.read msgbox testVal.value '按鈕3中 dim testVal set testVal=hmiruntime.tags("SEND")
      testVal.value=2 testVal.write
      '按鈕4中 dim testVal set testVal=hmiruntime.tags("SEND") testVal.read msgbox testVal.value

          2、WinCC的DateSet

          在此所涉及的DataSet為WinCC全局DataSet,DataSet 可以看作是VBS全局變量,可以在VBS全局動作腳本和畫面VBS腳本之 間,以及不同畫面的VBS腳本之間進行數據傳送。全局DataSet的用法如下:

      '在VBS腳本中使用DataSet添加全局變量,如添加一個別名的DataSet變量
      HMIRuntime.DataSet.Add "Alias"
      '給DataSet全局變量賦值
      HMIRuntime.DataSet("Alias").Value=55  '也可以是字符、字符串、浮點數等各種數據類型
      '也可以在添加DataSet全局變量的時候,直接賦值,如下:
      HMIRuntime.DataSet.Add "Alias",55
      '刪除某個全局變量
      HMIRuntime.DataSet.Remove("Alias")
      HMIRuntime.DataSet.Remove "Alias"
      '刪除全部的DataSet全局變量
      HMIRuntime.DataSet.RemoveAll
      'DataSet全局變量中變量的數目
      HMIRuntime.DataSet.Count
      '使用循環遍歷DataSet全局變量,并且用彈窗輸出每個全局變量的名稱和當前值
      Dim obj
      For Each obj In HMIRuntime.DataSet
          Msgbox obj.name
          Msgbox obj.Value
      Next
      '使用DataSet全局變量傳遞數組
      HMIRuntime.DataSet.RemoveAll
      Dim Arr
      Arr=Array("A","B","C","D","E","F")
      HMIRuntime.DataSet.Add "ArrV",Arr
      '調用DataSet全局數組,并且便歷數組用彈窗輸出其每個元素的值
      Dim Arr,Num
      Arr=HMIRuntime.DataSet("ArrV").Value
      For Each Num In Arr
          Msgbox Num
      Next

       

      posted on 2025-06-03 23:37  老邁克  閱讀(349)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 青青草原网站在线观看| 日韩a∨精品日韩在线观看| 国内精品伊人久久久久av| 亚洲一区二区精品动漫| 欧洲无码一区二区三区在线观看| 中文字幕乱码熟妇五十中出| 九色综合国产一区二区三区| 亚洲午夜理论片在线观看| 亚洲欧美综合人成在线| 亚洲中文字幕伊人久久无码 | 国产女人在线视频| 蜜桃一区二区三区免费看| 91福利一区二区三区| 无码人妻精品一区二区三区下载| 国产精品综合av一区二区| 国产精品美女一区二区三| 2022最新国产在线不卡a| 国产自在自线午夜精品| 久久精品国产亚洲av熟女| 欧美日本在线一区二区三区| 高清性欧美暴力猛交| 精品一区二区三区女性色| 亚洲免费人成网站在线观看| 亚洲成av人片无码天堂下载 | 亚洲精品自拍在线视频| 另类图片亚洲人妻中文无码| 国产精品天干天干综合网| 成人嫩草研究院久久久精品| 日本成熟少妇激情视频免费看 | 亚洲av免费成人在线| 文中字幕一区二区三区视频播放| 中文字幕一区二区三区麻豆| 久久精品国产www456c0m| 亚洲精品国产电影| 亚日韩精品一区二区三区| 亚洲各类熟女们中文字幕| 五月综合激情婷婷六月| 久久精品国产亚洲av麻| 亚洲综合一区国产精品| 欧美成人免费一区二区三区视频 | 中文字幕网红自拍偷拍视频 |