- Posts: 4
- Thank you received: 0
Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Live Binding, Live Mapping
- Live Binding doesn't work on 'Progress Bar'
Live Binding doesn't work on 'Progress Bar'
If You want You can contact me at e-mail: This email address is being protected from spambots. You need JavaScript enabled to view it. and I will reply with the settings how to connect to the OPC Server I'm using.
Please Log in or Create an account to join the conversation.
It could be that the problem is not so straightforwardly linked to the Cache/Device as it seems at first glance.
Can we get a hold of the OPC server for our test here?
Yes, an "error" (an exception) means that no value/timestamp/quality could be obtained from the OPC
server - and therefore there is no OPC Quality to speak about in case of error.
And yes, with our component you need to use the ReadItem method in order to get access to the full quality value. The ReadItemValue WAITS (or times out) until the quality becomes Good, but you do not get the quality value from it.
Please Log in or Create an account to join the conversation.
Here is what I get when trying to read from Device:
{"An OPC operation failure with error code -1073430509 (0xC004C013) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem."}
The inner exception details show the following:
{"Read not completed. This error indicates that it could not be verified that the requested read operation was completed during the timeout period. It is possible that the read operation will actually succeed or fail, but later. Increase the timeout period if you want to obtain positive or negative indication of the operation outcome. Other reason for this error may be that under heavy loads, topic request or response queue is overflowing. Check the event log for queue overflow errors (if event logging is supported by the product and enabled). "}
I tried to make the timeouts longer , but that gave no different outcome/result.
Receiving the exception means that i didn't receive bad OPC quality, right ?
Also to receive the OPC quality I suppose I need to use ReadItem Method , not ReadItemValue Method ?
Please Log in or Create an account to join the conversation.
And, out of curiosity, what happens if you read from Device? Do you get some kind of Bad OPC quality, or an exception?
Best regards
(below, attempting to attach your last PNG, converted to JPG)
Please Log in or Create an account to join the conversation.
Now I have other issue:
I'm trying to read a value 'short integer' from an OPC Server (RcWare Vision of Domat Control).
And when trying manually to read a value through written programing code I have success only when implicitly specify that i want to read from Cache.
That I suppose is a server issue (reading is successful only from cache).
But when i do Live Binding and specify reading from cache I can't read the value.
I'm using for the probe simple Windows Form Application with one TextBox.
Here are the settings of the LiveBinding:
dox.bg/files/dw?a=7924ae6b56 ( again PNG wasn't let to upload )
Here is the working code, that successfully reads from cache:
ServerDescriptor myOpcServer = new ServerDescriptor("ESG.OPCServer.RcWareDA.1");
DAItemDescriptor myItem = new DAItemDescriptor("0.DOBRICH.TIS1.Inverter 1.INV01-Energy-Total.Output value[1_1_28_15]");
DAReadParameters myParam = new DAReadParameters(DADataSource.Cache, 1000);
_cut_
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = easyDAClient1.ReadItemValue(myOpcServer, myItem, myParam).ToString();
}
Please Log in or Create an account to join the conversation.
you can see the ProgressBar working with LiveBinding, if (under our group in Start Menu) you run the Live Binding Demo.
Most likely reason for your problem is that the ProgressBar.Value is an Int32, but the canonical type of the OPC item you are binding is VT_R8 (a floating point - double). Floats cannot be generally converted to integers by the binding mechanism. In order to overcome this, in the Binding properties->Source->ItemDescriptor, set the RequestedDataType to I4.
Note: I have now "relaxed" some of the upload setting for the Forums, so hopefully the PNG upload will work next time.
Best regards,
Zbynek Zahradnik
(below is the image from your previous post, as JPG)
Please Log in or Create an account to join the conversation.
I have the following problem:
I'm using VS2010 (also tried VS2012) and Live Binding on TextBox is working for example,
but when i try to Live Bind a Value to a ProgresBar it doesn't work.
I attach a screenshot of the settings for the Live Binding.
I'm using for the test - OPCLabs.KitServer.2
and item "Boilers.Boiler #1.Pipe1001.ValveX001.Input" .
For some reason I can't attach the image so i uploaded here dox.bg/files/dw?a=6c6d19ebe4 .
As I said when bind is done to TextBox value get refreshed every 1 second, but on ProgressBar I have no change.
Thank you for your time.
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Live Binding, Live Mapping
- Live Binding doesn't work on 'Progress Bar'