wincc腳本數(shù)據(jù)寫入
劉玉蓉
發(fā)布于2014-12-12 17:21
865
0
標(biāo)簽:
在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)在這個(gè)現(xiàn)場(chǎng)需要寫入250行左右,發(fā)現(xiàn)腳本有的行不執(zhí)行,定時(shí)器為10秒,請(qǐng)問對(duì)于這種大量數(shù)據(jù)寫入的有沒有更好的辦法,用c咋么寫,能確保數(shù)據(jù)寫入,定時(shí)器設(shè)為1分鐘也可以,問題依舊,本人對(duì)腳本編程知之甚少,希望幫忙解答!!
問題補(bǔ)充:
變量寫入較少,即行數(shù)較少時(shí)候,項(xiàng)目上用沒有問題,特備是多的時(shí)候,執(zhí)行出現(xiàn)問題,,請(qǐng)問用c腳本settag或者settagwait可以么,,會(huì)遇到這樣的問題么,希望給出列子
佳答案
HMIRuntime.tags("outvalue").Write HMIRuntime.tags("invalue").Read需要先讀一次變量,然后再寫一次,少量的話是可以的大量的話就反應(yīng)不過來了,所以你需要用組讀寫來完成。
""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ù)少的時(shí)候執(zhí)行時(shí)間沒有明顯區(qū)別,在大量讀寫的時(shí)候就看出來了。
如何使用函數(shù) "SetTagMultiWait()" 來寫多個(gè) 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);