故障代码 80010105(hex),使用“ReadMultiVariable”函数

问题:
如何用“ReadVariable”函数代替“ReadMultiVariable”?

解答:
在结合Computing V3.0(对于WinAC V3.0或独立的computingnV3.0)使用“ReadMultiVariable”函数时,得到的返回值总是n80010105(hex)。使用“ReadVariable”函数可以避免此种情况。只需使用“ReadVariable”若干次就行。相比于“ReadMultiVariable”函数,“ReadVariable”函数具有以下限制;只能读取一种数据类型的一个变量,或同一数据类型的变量的一个域。
以下实例显示如何用“ReadVariable”函数代替“ReadMultiVariable”。

a) 调用“ReadMultiVariable”函数:
DIM myNames(2) As String
DIM myValues As Variant
DIM myStates As Variant
DIM lRet As Long

myNames(0)=”MB0″
myNames(1)=”DB1.DBB30″
myNames(2)=”EB1″

lRet = S7Data1.ReadMultiVariable(myNames, myValues,nmyStates)

b) “ReadVariable”函数的例子。功能与实例 a)中的相同:
DIM myName0 As String
DIM myName1 As String
DIM myName2 As String
DIM myValue0 As Variant
DIM myValue1 As Variant
DIM myValue2 As Variant
DIM myState0 As Variant
DIM myState1 As Variant
DIM myState2 As Variant
DIM timeout0 As Long
DIM timeout1 As Long
DIM timeout2 As Long
DIM lRet0 As Long
DIM lRet1 As Long
DIM lRet2 As Long

myName0=”MB0″
myName1=”DB1.DBB30″
myName2=”EB1″

lRet0 = S7Data1.ReadVariable(myName0, myValue0, myState0,ntimeout0)
lRet1 = S7Data1.ReadVariable(myName0, myValue1, myState1,ntimeout1)
lRet2 = S7Data1.ReadVariable(myName0, myValue2, myState2,ntimeout2)

注意事项:
在新版本的Computing中不再需要如此“绕道而行”。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc341496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论