wincc腳本數(shù)據(jù)寫入
劉玉蓉
發(fā)布于2014-12-12 17:21
865
0
標簽:
在wincc7.0的vbs腳本中將opc通道下的變量值寫入plc的db數(shù)據(jù)塊中,使用程序如下:HMIRuntime.tags("outvalue").Write HMIRuntime.tags("invalue").Read
invalue為opc中的變量,outvalue為db中的變量,發(fā)現(xiàn)寫入數(shù)據(jù)較少,,比如幾十行,數(shù)據(jù)寫入沒有問題,現(xiàn)在這個現(xiàn)場需要寫入250行左右,發(fā)現(xiàn)腳本有的行不執(zhí)行,定時器為10秒,請問對于這種大量數(shù)據(jù)寫入的有沒有更好的辦法,用c咋么寫,能確保數(shù)據(jù)寫入,定時器設為1分鐘也可以,問題依舊,本人對腳本編程知之甚少,希望幫忙解答!!
問題補充:
變量寫入較少,即行數(shù)較少時候,項目上用沒有問題,特備是多的時候,執(zhí)行出現(xiàn)問題,,請問用c腳本settag或者settagwait可以么,,會遇到這樣的問題么,希望給出列子
佳答案
HMIRuntime.tags("outvalue").Write HMIRuntime.tags("invalue").Read需要先讀一次變量,然后再寫一次,少量的話是可以的大量的話就反應不過來了,所以你需要用組讀寫來完成。
""VBS173
Dim group1,group2
Set group1 = HMIRuntime.Tags.CreateTagSet
Set group2 = HMIRuntime.Tags.CreateTagSet
group1.Add "Wert1"
group1.Add "Wert2"
group1.read
group2.Add "Wert11"
group2.Add "Wert21"
group2("Wert11").Value =group1("Wert1").Value
group2("Wert21").Value =group1("Wert2").Value
group2.Write
以上腳本的在數(shù)據(jù)少的時候執(zhí)行時間沒有明顯區(qū)別,在大量讀寫的時候就看出來了。
如何使用函數(shù) "SetTagMultiWait()" 來寫多個 WinCC 變量?
https://support.automation.siemens.com/CN/view/zh/26712371
BOOL ok; //512 WORD
ok=SetTagMultiWait("%f%f%f",
"Ernie_double1", 55.4711,
"Ernie_double2", 55.4711,
"Ernie_double3", 55.4711);