Professional OPC
Development Tools

logos

COM Exception - Unspecified Error

More
10 Feb 2016 20:58 #3831 by support
Many thanks for the trace file. I have looked at it and found several things worth noting:

1. The error you are getting ("Unspecified error", E_FAIL) really comes from the server, i.e. QuickOPC just delivers to you what the server has returned - and I could not find any clear "wrongdoing" on the client (QuickOPC) side that could cause it. The server returns data in an OnDataChange callback, but it contains E_FAIL error for all the items involved. An example of such callback is given below, but there are more of them. For an explanation of why the server gives us E_FAIL, you should ask the server vendor - and given them the trace file.
14:38:43.249 - IOPCDataCallback::OnDataChange ---------------------------------------------------
General:
HRESULT: 0x00000000  S_OK
GroupName: GRP059350C0
numCallbacks: 2
minTime: 4.464 ms
averageTime: 4.887 ms
GroupServerHandle: 0xc14298
maxTime: 5.311 ms
CallTime: 4.464 ms
 
In Parameters:
hrMasterquality: 0x00000001  S_FALSE
pvValues: 
	[000]	VT_EMPTY  
	[001]	VT_EMPTY  
	[002]	VT_EMPTY  
	[003]	VT_EMPTY  
	[004]	VT_EMPTY  
	[005]	VT_EMPTY  
	[006]	VT_EMPTY  
	[007]	VT_EMPTY  
	[008]	VT_EMPTY  
	[009]	VT_EMPTY  
	[010]	VT_EMPTY  
	[011]	VT_EMPTY  
	[012]	VT_EMPTY  
	[013]	VT_EMPTY  
	[014]	VT_EMPTY  
	[015]	VT_EMPTY  
	[016]	VT_EMPTY  
	[017]	VT_EMPTY  
	[018]	VT_EMPTY  
	[019]	VT_EMPTY  
	[020]	VT_EMPTY  
	[021]	VT_EMPTY  
	[022]	VT_EMPTY  
	[023]	VT_EMPTY  
	[024]	VT_EMPTY  
	[025]	VT_EMPTY  
	[026]	VT_EMPTY  
	[027]	VT_EMPTY  
	[028]	VT_EMPTY  
	[029]	VT_EMPTY  
	[030]	VT_EMPTY  
	[031]	VT_EMPTY  
	[032]	VT_EMPTY  
	[033]	VT_EMPTY  
	[034]	VT_EMPTY  
	[035]	VT_EMPTY  
	[036]	VT_EMPTY  
	[037]	VT_EMPTY  
	[038]	VT_EMPTY  
	[039]	VT_EMPTY  
	[040]	VT_EMPTY  
	[041]	VT_EMPTY  
	[042]	VT_EMPTY  
	[043]	VT_EMPTY  
	[044]	VT_EMPTY  
	[045]	VT_EMPTY  
	[046]	VT_EMPTY  
	[047]	VT_EMPTY  
	[048]	VT_EMPTY  
	[049]	VT_EMPTY  
	[050]	VT_EMPTY  
	[051]	VT_EMPTY  
	[052]	VT_EMPTY  
	[053]	VT_EMPTY  
	[054]	VT_EMPTY  
	[055]	VT_EMPTY  
	[056]	VT_EMPTY  
	[057]	VT_EMPTY  
	[058]	VT_EMPTY  
	[059]	VT_EMPTY  
	[060]	VT_EMPTY  
	[061]	VT_EMPTY  
	[062]	VT_EMPTY  
	[063]	VT_EMPTY  
	[064]	VT_EMPTY  
	[065]	VT_EMPTY  
	[066]	VT_EMPTY  
	[067]	VT_EMPTY  
	[068]	VT_EMPTY  
	[069]	VT_EMPTY  
	[070]	VT_EMPTY  
	[071]	VT_EMPTY  
	[072]	VT_EMPTY  
	[073]	VT_EMPTY  
	[074]	VT_EMPTY  
	[075]	VT_EMPTY  
	[076]	VT_EMPTY  
	[077]	VT_EMPTY  
	[078]	VT_EMPTY  
	[079]	VT_EMPTY  
	[080]	VT_EMPTY  
	[081]	VT_EMPTY  
	[082]	VT_EMPTY  
	[083]	VT_EMPTY  
	[084]	VT_EMPTY  
	[085]	VT_EMPTY  
	[086]	VT_EMPTY  
	[087]	VT_EMPTY  
	[088]	VT_EMPTY  
	[089]	VT_EMPTY  
	[090]	VT_EMPTY  
	[091]	VT_EMPTY  
	[092]	VT_EMPTY  
	[093]	VT_EMPTY  
	[094]	VT_EMPTY  
	[095]	VT_EMPTY  
	[096]	VT_EMPTY  
	[097]	VT_EMPTY  
	[098]	VT_EMPTY  
	[099]	VT_EMPTY  
	[100]	VT_EMPTY  
	[101]	VT_EMPTY  
	[102]	VT_EMPTY  
	[103]	VT_EMPTY  
	[104]	VT_EMPTY  
	[105]	VT_EMPTY  
	[106]	VT_EMPTY  
	[107]	VT_EMPTY  
	[108]	VT_EMPTY  
	[109]	VT_EMPTY  
	[110]	VT_EMPTY  
	[111]	VT_EMPTY  
	[112]	VT_EMPTY  
	[113]	VT_EMPTY  
	[114]	VT_EMPTY  
	[115]	VT_EMPTY  
	[116]	VT_EMPTY  
	[117]	VT_EMPTY  
	[118]	VT_EMPTY  
	[119]	VT_EMPTY  
	[120]	VT_EMPTY  
	[121]	VT_EMPTY  
	[122]	VT_EMPTY  
	[123]	VT_EMPTY  
	[124]	VT_EMPTY  
	[125]	VT_EMPTY  
	[126]	VT_EMPTY  
	[127]	VT_EMPTY  
	[128]	VT_EMPTY  
	[129]	VT_EMPTY  
	[130]	VT_EMPTY  
	[131]	VT_EMPTY  
	[132]	VT_EMPTY  
	[133]	VT_EMPTY  
	[134]	VT_EMPTY  
	[135]	VT_EMPTY  
	[136]	VT_EMPTY  
	[137]	VT_EMPTY  
	[138]	VT_EMPTY  
	[139]	VT_EMPTY  
	[140]	VT_EMPTY  
	[141]	VT_EMPTY  
	[142]	VT_EMPTY  
	[143]	VT_EMPTY  
	[144]	VT_EMPTY  
	[145]	VT_EMPTY  
	[146]	VT_EMPTY  
	[147]	VT_EMPTY  
	[148]	VT_EMPTY  
	[149]	VT_EMPTY  
	[150]	VT_EMPTY  
	[151]	VT_EMPTY  
	[152]	VT_EMPTY  
	[153]	VT_EMPTY  
	[154]	VT_EMPTY  
	[155]	VT_EMPTY  
	[156]	VT_EMPTY  
	[157]	VT_EMPTY  
	[158]	VT_EMPTY  
	[159]	VT_EMPTY  
	[160]	VT_EMPTY  
	[161]	VT_EMPTY  
	[162]	VT_EMPTY  
	[163]	VT_EMPTY  
	[164]	VT_EMPTY  
	[165]	VT_EMPTY  
	[166]	VT_EMPTY  
	[167]	VT_EMPTY  
	[168]	VT_EMPTY  
	[169]	VT_EMPTY  
	[170]	VT_EMPTY  
	[171]	VT_EMPTY  
	[172]	VT_EMPTY  
	[173]	VT_EMPTY  
	[174]	VT_EMPTY  
	[175]	VT_EMPTY  
	[176]	VT_EMPTY  
	[177]	VT_EMPTY  
	[178]	VT_EMPTY  
	[179]	VT_EMPTY  
	[180]	VT_EMPTY  
	[181]	VT_EMPTY  
	[182]	VT_EMPTY  
	[183]	VT_EMPTY  
	[184]	VT_EMPTY  
	[185]	VT_EMPTY  
	[186]	VT_EMPTY  
	[187]	VT_EMPTY  
	[188]	VT_EMPTY  
	[189]	VT_EMPTY  
	[190]	VT_EMPTY  
	[191]	VT_EMPTY  
	[192]	VT_EMPTY  
	[193]	VT_EMPTY  
	[194]	VT_EMPTY  
	[195]	VT_EMPTY  
	[196]	VT_EMPTY  
	[197]	VT_EMPTY  
	[198]	VT_EMPTY  
	[199]	VT_EMPTY  
	[200]	VT_EMPTY  
	[201]	VT_EMPTY  
	[202]	VT_EMPTY  
	[203]	VT_EMPTY  
	[204]	VT_EMPTY  
	[205]	VT_EMPTY  
	[206]	VT_EMPTY  
	[207]	VT_EMPTY  
	[208]	VT_EMPTY  
	[209]	VT_EMPTY  
	[210]	VT_EMPTY  
	[211]	VT_EMPTY  
	[212]	VT_EMPTY  
	[213]	VT_EMPTY  
	[214]	VT_EMPTY  
	[215]	VT_EMPTY  
	[216]	VT_EMPTY  
	[217]	VT_EMPTY  
	[218]	VT_EMPTY  
	[219]	VT_EMPTY  
	[220]	VT_EMPTY  
	[221]	VT_EMPTY  
	[222]	VT_EMPTY  
	[223]	VT_EMPTY  
	[224]	VT_EMPTY  
	[225]	VT_EMPTY  
	[226]	VT_EMPTY  
	[227]	VT_EMPTY  
	[228]	VT_EMPTY  
	[229]	VT_EMPTY  
	[230]	VT_EMPTY  
	[231]	VT_EMPTY  
	[232]	VT_EMPTY  
	[233]	VT_EMPTY  
	[234]	VT_EMPTY  
	[235]	VT_EMPTY  
	[236]	VT_EMPTY  
	[237]	VT_EMPTY  
	[238]	VT_EMPTY  
	[239]	VT_EMPTY  
	[240]	VT_EMPTY  
	[241]	VT_EMPTY  
	[242]	VT_EMPTY  
	[243]	VT_EMPTY  
	[244]	VT_EMPTY  
	[245]	VT_EMPTY  
	[246]	VT_EMPTY  
	[247]	VT_EMPTY  
	[248]	VT_EMPTY  
	[249]	VT_EMPTY  
	[250]	VT_EMPTY  
	[251]	VT_EMPTY  
	[252]	VT_EMPTY  
	[253]	VT_EMPTY  
	[254]	VT_EMPTY  
	[255]	VT_EMPTY  
	[256]	VT_EMPTY  
	[257]	VT_EMPTY  
	[258]	VT_EMPTY  
	[259]	VT_EMPTY  
	[260]	VT_EMPTY  
	[261]	VT_EMPTY  
	[262]	VT_EMPTY  
	[263]	VT_EMPTY  
	[264]	VT_EMPTY  
	[265]	VT_EMPTY  
	[266]	VT_EMPTY  
	[267]	VT_EMPTY  
	[268]	VT_EMPTY  
	[269]	VT_EMPTY  
	[270]	VT_EMPTY  
	[271]	VT_EMPTY  
	[272]	VT_EMPTY  
	[273]	VT_EMPTY  
	[274]	VT_EMPTY  
	[275]	VT_EMPTY  
	[276]	VT_EMPTY  
	[277]	VT_EMPTY  
	[278]	VT_EMPTY  
	[279]	VT_EMPTY  
	[280]	VT_EMPTY  
	[281]	VT_EMPTY  
	[282]	VT_EMPTY  
	[283]	VT_EMPTY  
	[284]	VT_EMPTY  
	[285]	VT_EMPTY  
	[286]	VT_EMPTY  
	[287]	VT_EMPTY  
	[288]	VT_EMPTY  
	[289]	VT_EMPTY  
	[290]	VT_EMPTY  
	[291]	VT_EMPTY  
	[292]	VT_EMPTY  
	[293]	VT_EMPTY  
	[294]	VT_EMPTY  
	[295]	VT_EMPTY  
	[296]	VT_EMPTY  
	[297]	VT_EMPTY  
	[298]	VT_EMPTY  
	[299]	VT_EMPTY  
	[300]	VT_EMPTY  
	[301]	VT_EMPTY  
	[302]	VT_EMPTY  
	[303]	VT_EMPTY  
	[304]	VT_EMPTY  
	[305]	VT_EMPTY  
	[306]	VT_EMPTY  
	[307]	VT_EMPTY  
	[308]	VT_EMPTY  
	[309]	VT_EMPTY  
	[310]	VT_EMPTY  
	[311]	VT_EMPTY  
	[312]	VT_EMPTY  
	[313]	VT_EMPTY  
	[314]	VT_EMPTY  
	[315]	VT_EMPTY  
	[316]	VT_EMPTY  
	[317]	VT_EMPTY  
	[318]	VT_EMPTY  
	[319]	VT_EMPTY  
	[320]	VT_EMPTY  
	[321]	VT_EMPTY  
	[322]	VT_EMPTY  
	[323]	VT_EMPTY  
	[324]	VT_EMPTY  
	[325]	VT_EMPTY  
	[326]	VT_EMPTY  
	[327]	VT_EMPTY  
	[328]	VT_EMPTY  
	[329]	VT_EMPTY  
	[330]	VT_EMPTY  
	[331]	VT_EMPTY  
	[332]	VT_EMPTY  
	[333]	VT_EMPTY  
	[334]	VT_EMPTY  
	[335]	VT_EMPTY  
	[336]	VT_EMPTY  
	[337]	VT_EMPTY  
	[338]	VT_EMPTY  
	[339]	VT_EMPTY  
	[340]	VT_EMPTY  
	[341]	VT_EMPTY  
	[342]	VT_EMPTY  
	[343]	VT_EMPTY  
	[344]	VT_EMPTY  
	[345]	VT_EMPTY  
dwCount: 346
hrMastererror: 0x00000001  S_FALSE
pftTimeStamps: 
	[000]	2016-02-10T13:38:43.249
	::::
	[345]	2016-02-10T13:38:43.249
dwTransid: 0
phClientItems: 
	[000] 0x00c00ddb	[001] 0x00c00ddc	[002] 0x00c00ddd	[003] 0x00c00dde	[004] 0x00c00ddf	[005] 0x00c00de0	[006] 0x00c00de1	[007] 0x00c00de2
	[008] 0x00c00de3	[009] 0x00c00de4	[010] 0x00c00de5	[011] 0x00c00de6	[012] 0x00c00de7	[013] 0x00c00de8	[014] 0x00c00de9	[015] 0x00c00dea
	[016] 0x00c00deb	[017] 0x00c00dec	[018] 0x00c00ded	[019] 0x00c00dee	[020] 0x00c00def	[021] 0x00c00df0	[022] 0x00c00df1	[023] 0x00c00df2
	[024] 0x00c00df3	[025] 0x00c00df4	[026] 0x00c00df5	[027] 0x00c00df6	[028] 0x00c00df7	[029] 0x00c00df8	[030] 0x00c00df9	[031] 0x00c00dfa
	[032] 0x00c00dfb	[033] 0x00c00dfc	[034] 0x00c00dfd	[035] 0x00c00dfe	[036] 0x00c00dff	[037] 0x00c00e00	[038] 0x00c00e01	[039] 0x00c00e02
	[040] 0x00c00e03	[041] 0x00c00e04	[042] 0x00c00e05	[043] 0x00c00e06	[044] 0x00c00e07	[045] 0x00c00e08	[046] 0x00c00e09	[047] 0x00c00e0a
	[048] 0x00c00e0b	[049] 0x00c00e0c	[050] 0x00c00e0d	[051] 0x00c00e0e	[052] 0x00c00e0f	[053] 0x00c00e10	[054] 0x00c00e11	[055] 0x00c00e12
	[056] 0x00c00e13	[057] 0x00c00e14	[058] 0x00c00e15	[059] 0x00c00e16	[060] 0x00c00e17	[061] 0x00c00e18	[062] 0x00c00e19	[063] 0x00c00e1a
	[064] 0x00c00e1b	[065] 0x00c00e1c	[066] 0x00c00e1d	[067] 0x00c00e1e	[068] 0x00c00e1f	[069] 0x00c00e20	[070] 0x00c00e21	[071] 0x00c00e22
	[072] 0x00c00e23	[073] 0x00c00e24	[074] 0x00c00e25	[075] 0x00c00e26	[076] 0x00c00e27	[077] 0x00c00e28	[078] 0x00c00e29	[079] 0x00c00e2a
	[080] 0x00c00e2b	[081] 0x00c00e2c	[082] 0x00c00e2d	[083] 0x00c00e2e	[084] 0x00c00e2f	[085] 0x00c00e30	[086] 0x00c00e31	[087] 0x00c00e32
	[088] 0x00c00e33	[089] 0x00c00e34	[090] 0x00c00e35	[091] 0x00c00e36	[092] 0x00c00e37	[093] 0x00c00e38	[094] 0x00c00e39	[095] 0x00c00e3a
	[096] 0x00c00e3b	[097] 0x00c00e3c	[098] 0x00c00e3d	[099] 0x00c00e3e	[100] 0x00c00e3f	[101] 0x00c00e40	[102] 0x00c00e41	[103] 0x00c00e42
	[104] 0x00c00e43	[105] 0x00c00e44	[106] 0x00c00e45	[107] 0x00c00e46	[108] 0x00c00e47	[109] 0x00c00e48	[110] 0x00c00e49	[111] 0x00c00e4a
	[112] 0x00c00e4b	[113] 0x00c00e4c	[114] 0x00c00e4d	[115] 0x00c00e4e	[116] 0x00c00e4f	[117] 0x00c00e50	[118] 0x00c00e51	[119] 0x00c00e52
	[120] 0x00c00e53	[121] 0x00c00e54	[122] 0x00c00e55	[123] 0x00c00e56	[124] 0x00c00e57	[125] 0x00c00e58	[126] 0x00c00e59	[127] 0x00c00e5a
	[128] 0x00c00e5b	[129] 0x00c00e5c	[130] 0x00c00e5d	[131] 0x00c00e5e	[132] 0x00c00e5f	[133] 0x00c00e60	[134] 0x00c00e61	[135] 0x00c00e62
	[136] 0x00c00e63	[137] 0x00c00e64	[138] 0x00c00e65	[139] 0x00c00e66	[140] 0x00c00e67	[141] 0x00c00e68	[142] 0x00c00e69	[143] 0x00c00e6a
	[144] 0x00c00e6b	[145] 0x00c00e6c	[146] 0x00c00e6d	[147] 0x00c00e6e	[148] 0x00c00e6f	[149] 0x00c00e70	[150] 0x00c00e71	[151] 0x00c00e72
	[152] 0x00c00e73	[153] 0x00c00e74	[154] 0x00c00e75	[155] 0x00c00e76	[156] 0x00c00e77	[157] 0x00c00e78	[158] 0x00c00e79	[159] 0x00c00e7a
	[160] 0x00c00e7b	[161] 0x00c00e7c	[162] 0x00c00e7d	[163] 0x00c00e7e	[164] 0x00c00e7f	[165] 0x00c00e80	[166] 0x00c00e81	[167] 0x00c00e82
	[168] 0x00c00e83	[169] 0x00c00e84	[170] 0x00c00e85	[171] 0x00c00e86	[172] 0x00c00e87	[173] 0x00c00e88	[174] 0x00c00e89	[175] 0x00c00e8a
	[176] 0x00c00e8b	[177] 0x00c00e8c	[178] 0x00c00e8d	[179] 0x00c00e8e	[180] 0x00c00e8f	[181] 0x00c00e90	[182] 0x00c00e91	[183] 0x00c00e92
	[184] 0x00c00e93	[185] 0x00c00e94	[186] 0x00c00e95	[187] 0x00c00e96	[188] 0x00c00e97	[189] 0x00c00e98	[190] 0x00c00e99	[191] 0x00c00e9a
	[192] 0x00c00e9b	[193] 0x00c00e9c	[194] 0x00c00e9d	[195] 0x00c00e9e	[196] 0x00c00e9f	[197] 0x00c00ea0	[198] 0x00c00ea1	[199] 0x00c00ea2
	[200] 0x00c00ea3	[201] 0x00c00ea4	[202] 0x00c00ea5	[203] 0x00c00ea6	[204] 0x00c00ea7	[205] 0x00c00ea8	[206] 0x00c00ea9	[207] 0x00c00eaa
	[208] 0x00c00eab	[209] 0x00c00eac	[210] 0x00c00ead	[211] 0x00c00eae	[212] 0x00c00eaf	[213] 0x00c00eb0	[214] 0x00c00eb1	[215] 0x00c00eb2
	[216] 0x00c00eb3	[217] 0x00c00eb4	[218] 0x00c00eb5	[219] 0x00c00eb6	[220] 0x00c00eb7	[221] 0x00c00eb8	[222] 0x00c00eb9	[223] 0x00c00eba
	[224] 0x00c00ebb	[225] 0x00c00ebc	[226] 0x00c00ebd	[227] 0x00c00ebe	[228] 0x00c00ebf	[229] 0x00c00ec0	[230] 0x00c00ec1	[231] 0x00c00ec2
	[232] 0x00c00ec3	[233] 0x00c00ec4	[234] 0x00c00ec5	[235] 0x00c00ec6	[236] 0x00c00ec7	[237] 0x00c00ec8	[238] 0x00c00ec9	[239] 0x00c00eca
	[240] 0x00c00ecb	[241] 0x00c00ecc	[242] 0x00c00ecd	[243] 0x00c00ece	[244] 0x00c00ecf	[245] 0x00c00ed0	[246] 0x00c00ed1	[247] 0x00c00ed2
	[248] 0x00c00ed3	[249] 0x00c00ed4	[250] 0x00c00ed5	[251] 0x00c00ed6	[252] 0x00c00ed7	[253] 0x00c00ed8	[254] 0x00c00ed9	[255] 0x00c00eda
	[256] 0x00c00edb	[257] 0x00c00edc	[258] 0x00c00edd	[259] 0x00c00ede	[260] 0x00c00edf	[261] 0x00c00ee0	[262] 0x00c00ee1	[263] 0x00c00ee2
	[264] 0x00c00ee3	[265] 0x00c00ee4	[266] 0x00c00ee5	[267] 0x00c00ee6	[268] 0x00c00ee7	[269] 0x00c00ee8	[270] 0x00c00ee9	[271] 0x00c00eea
	[272] 0x00c00eeb	[273] 0x00c00eec	[274] 0x00c00eed	[275] 0x00c00eee	[276] 0x00c00eef	[277] 0x00c00ef0	[278] 0x00c00ef1	[279] 0x00c00ef2
	[280] 0x00c00ef3	[281] 0x00c00ef4	[282] 0x00c00ef5	[283] 0x00c00ef6	[284] 0x00c00ef7	[285] 0x00c00ef8	[286] 0x00c00ef9	[287] 0x00c00efa
	[288] 0x00c00efb	[289] 0x00c00efc	[290] 0x00c00efd	[291] 0x00c00efe	[292] 0x00c00eff	[293] 0x00c00f00	[294] 0x00c00f01	[295] 0x00c00f02
	[296] 0x00c00f03	[297] 0x00c00f04	[298] 0x00c00f05	[299] 0x00c00f06	[300] 0x00c00f07	[301] 0x00c00f08	[302] 0x00c00f09	[303] 0x00c00f0a
	[304] 0x00c00f0b	[305] 0x00c00f0c	[306] 0x00c00f0d	[307] 0x00c00f0e	[308] 0x00c00f0f	[309] 0x00c00f10	[310] 0x00c00f11	[311] 0x00c00f12
	[312] 0x00c00f13	[313] 0x00c00f14	[314] 0x00c00f15	[315] 0x00c00f16	[316] 0x00c00f17	[317] 0x00c00f18	[318] 0x00c00f19	[319] 0x00c00f1a
	[320] 0x00c00f1b	[321] 0x00c00f1c	[322] 0x00c00f1d	[323] 0x00c00f1e	[324] 0x00c00f1f	[325] 0x00c00f20	[326] 0x00c00f21	[327] 0x00c00f22
	[328] 0x00c00f23	[329] 0x00c00f24	[330] 0x00c00f26	[331] 0x00c00f27	[332] 0x00c00f28	[333] 0x00c00f29	[334] 0x00c00f2a	[335] 0x00c00f2b
	[336] 0x00c00f2c	[337] 0x00c00f2d	[338] 0x00c00f2e	[339] 0x00c00f2f	[340] 0x00c00f30	[341] 0x00c00f31	[342] 0x00c00f32	[343] 0x00c00f33
	[344] 0x00c00f34	[345] 0x00c00f35
hGroup: 0xc00d9c
pwQualities: 
	[000]	0x0000  OPC_QUALITY_BAD
	::::
	[345]	0x0000  OPC_QUALITY_BAD
pErrors: 
	[000]	0x80004005  E_FAIL
	::::
	[345]	0x80004005  E_FAIL
 

2. From the trace file, it looks like that you are calling one of the Read methods in a tight loop, instead of putting together an array of "requests" and calling ReadMultiple. I suggest that you change that (see the Best Practices part in the Concepts document).

3. It appears that QuickOPC sets up an OPC group which very fast requested update rate. It is possible that this is due to the quickly following read calls (#2 above). It can cause unnecessary load on both the server and the client, and in addition, I can imagine a server implementation (albeit incorrect) in which an OPC item in a freshly added group would return an E_FAIL error in a callback. Besides implementing the change mentioned in #2, I also suggest that you try the steps described here: www.opclabs.com/forum/reading-writing-subscriptions-property...scriptions-made-with-opc-reads


(the trace exported to text file is attached, for easier reference)

File Attachment:

File Name: Trace_1439...Span.txt
File Size:2,248 KB


Best regards
Attachments:

Please Log in or Create an account to join the conversation.

More
10 Feb 2016 14:11 #3828 by alexf
Hello Attached please find the recorded trace file

File Attachment:

File Name: Trace_1439...Span.zip
File Size:259 KB


The error happend between 14:39:47 - 14:39:58

ADD to my last post:
The variable "VW_Aufzeich" which causes the read error from time to time is also in the list with the subscribed variables.
Attachments:

Please Log in or Create an account to join the conversation.

More
08 Feb 2016 08:05 #3822 by support
Hello.

Regarding the first issue: It is good that you have solved it. It is always better (for performance reasons) to use the methods with "Multiple" in their name, instead of calling the single-operation methods in a loop. But doing a loop is not an error, and should not normally lead to a behavior you described. Therefore you have a workaround, but the underlying issue (which I suspect is in the server) has not been resolved.

Regarding the seconds issue: Thanks for additional info. I think it still makes sense to do the OPC Analyzer diagnostics. The instructions are here: www.opclabs.com/files/knowledgebase/QuickOPC/QuickOPC-1-How%20to%20use%20OPC%20Analyzer.pdf . I will send you the actual download link by an email (to the email address you have registered with this forum) a bit later.

Best regards

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 16:17 #3820 by support
Thanks for more information. Please bear with me, I will reply by Monday.

Zbynek Zahradnik

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 08:21 #3818 by alexf
Good morning again!

I have found the first point where the Vtq values in the subscribed event method were null. The problem there was how I subscribed the variables.
In my first try i subscribed each item separately in one big method. Now I create an array add my variables to the array and call at the end the SubscribeMultipleItems() method.

Problem here is that only an array is allowed an you have to call a the redim function very often or you know the amount of items before.

As for point Nr. 2, this issue still exists.
Maybe I have a different coding error in there.

I have my changed event. If a certain variable is affected, I call my sub method. In the sub I read a different variable via

VW_Aufzeich = ReadOpcVarValue(opcClient, CStr(Aufzeichnen))

Public Function ReadOpcVarValue(ByRef client As EasyDAClient, ByVal varName) As Variant
ReadOpcVarValue = client.ReadItemValue(gOpcHostName, gOpcServerClass, varName)
End Function

The sub could be called multiple times before the error is thrown. If the error is thrown and I execute the same ReadOpcVarValue a second time, the variable is returned without errors.
The opcClient [EasyDAClient] is defined globally and is initialized.

Error Information:
Description: Unspecified error
Number: -2147467259
Source: OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient

Please Log in or Create an account to join the conversation.

More
05 Feb 2016 07:31 #3817 by alexf
Good morning!

If you can supply me with the OPC Analyzer this should be no problem, but I will need advise how to use this tool.

Thank you

Please Log in or Create an account to join the conversation.

More
04 Feb 2016 20:22 #3816 by support
Hello.

It is likely (although not certain ) that the error originates in the target OPC server. If it had a different code and not E_FAIL, I would suggest to contact the server vendor for an explanation of the error, and you can still try that, but with such nonspecific code, I do not realistically expect them to be able to answer that without more info.

Would you be willing to use a special tool (OPC Analyzer ) to place between your app and the server, and capture the communication for our analysis?

Please Log in or Create an account to join the conversation.

More
04 Feb 2016 17:41 #3815 by alexf
Hello Support Community!

I have the following configuration:
OS: Windows Server 2012 R2
Quick OPC 5.34 (with license)
Microsoft Access 2010
OPC Server: IBH OPC V4
PLC: Viper

The opc client is defined globally in the access project and is instantiated if the StartupForm is opened.
I subscribed my variables to the opc client. In my callback, I get very often an unspecified error within the eventArgs. The Vtq is then null.
Event Arg Information:
DisplayString: "System.Runtime.InteropServices.COMException (0x80004005): Unspecified error
ErrorCode: -2147467259
StatusInfo: StatusInfo_Unknown
Succeeded: False
I have not found any connection of the variables as all defined types could be affected.

I a second method where which is called by an variable change event I get an unspecified error (not always, but very often) with the following information:
Description: Unspecified error
Number: -2147467259
Source: OpcLabs.EasyOpcRaw.DataSccess.RawEasyDAClient.
The variable I read is of type boolean. If the error is hit and I read the same variable a second time, everything is OK and a result is returned.

Do you have any clues what might cause these problems?

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.485 seconds

      

 Recommend this on Google