- Posts: 19
- Thank you received: 3
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
- Reading, Writing, Subscriptions, Property Access
- omron opc reading and writing variables
omron opc reading and writing variables
that's the code
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
Dim COMINCAZIONEOPCUA As String
Dim ATTRIBUTO_REQCOMMAND As UANodeDescriptor
Dim VAL_INT As Int32
VAL_INT = Val(TextBox4.Text)
COMUNICAZIONEOPCUA = "opc.tcp://172.16.253.6:4840"
ATTRIBUTO_REQCOMMAND = "nsu=http://Rxx5/UA ;ns=4;i=1168"
client.WriteValue(COMUNICAZIONEOPCUA, ATTRIBUTO_REQCOMMAND, VAL_INT)
End Sub
that's the error:
OpcLabs.EasyOpc.UA.OperationModel.UAException: An OPC-UA operation failure with error ID 'Opc.UA.ServiceResult=0x80740000' occurred, originating from 'OpcLabs.EasyOpcUA' and with depth of 1. The inner OPC-UA service exception with service result 'BadTypeMismatch' contains details about the problem. ---> OpcLabs.EasyOpc.UA.UAServiceException: OPC UA service result - {BadTypeMismatch}. The value supplied for the attribute is not of the same type as the attribute's value.
+ The attribute Id used was 'Value'.
+ The node descriptor used was: NodeId="nsu=http://Rxx5/UA ;ns=4;i=1168".
+ The client method called (or event/callback invoked) was 'WriteMultiple[1]'.
that's the screen
Attachments:
Please Log in or Create an account to join the conversation.
1. Please post the piece of code that does the Write, and the parts around it that make it clear which data type is used etc.
2. Please post here the full error message you are getting.
3. Please use the Connectivity Explorer to browse to the node you are trying to write to, select it, and then post the screenshot of Connectivity Explorer here.
Thank you
Please Log in or Create an account to join the conversation.
as you sad it was a firewall problems, sorry if i reply only now but yesterday i was very busy
now the other error i get is when in try to write a value in a variable and the error is " BadTypeMismatch "
i thought it was caused by different data type, i try to write an int32 data, but still error
the data type declared by quickopc for the variable is BaseDataVariableType, i don't understand what type is it
Please Log in or Create an account to join the conversation.
Are you saying that you cannot communicate at all (you always get this error now), or that you sometimes get the error and sometimes it works?
Also, please report the actual error you are getting. What you have posted are log entries, which are actually quite useful as well, but you should always start with reporting the actual error.
The error can have various causes, such as:
- server configuration problem; server not running, or not listening on the given address & port,
- firewall blocking the access,
- network disruptions.
Depending on whether this is permanent or transient error, if the above does not help, I can then provide further instructions on how to investigate.
Best regards
Please Log in or Create an account to join the conversation.
Warning(6201): The status subscription for an OPC-UA session on endpoint URL "opc.tcp://172.22.10.25:4840" is in failure. Further such warnings on this session will not be logged. UA SDK error (Opc.UA.ServiceResult=0x80820000) in 'DiscoveryClient.GetEndpoints'. OPC UA service result - {BadTcpInternalError}. Error establishing a connection. + The error occurred when preselecting an endpoint for discovery URL "opc.tcp://172.22.10.25:4840". + Connection attempt #6; last connected at 01/01/0001 00:00:00 (local); unconnected for 04:34:17.9530000.
Warning(4022): The OPC-UA client session with connect sequence number 6 failed to connect to endpoint URL "opc.tcp://172.22.10.25:4840". UA SDK error (Opc.UA.ServiceResult=0x80820000) in 'DiscoveryClient.GetEndpoints'. OPC UA service result - {BadTcpInternalError}. Error establishing a connection. + The error occurred when preselecting an endpoint for discovery URL "opc.tcp://172.22.10.25:4840". + Connection attempt #6; last connected at 01/01/0001 00:00:00 (local); unconnected for 04:34:17.9530000.
Can you help me? Really thank you
Please Log in or Create an account to join the conversation.
really thanks for your help
Please Log in or Create an account to join the conversation.
please clarify what you mean. Are you getting some error? If so, what is the error message? And, what is the full text of your program currently?
Thank you
Please Log in or Create an account to join the conversation.
Dim client = New EasyUAClient()
i tried to create this variable but i think i miss something to do
Please Log in or Create an account to join the conversation.
the AttributeId is not such a big deal, in 99% of the cases what you need is UAAttributeId.Value, and that is a default that does not have to specified anyway.
But, the second argument to ReadValue should describe the UA *node* you want to read. In most cases, this is done by specifying the Node ID in its expanded string form.
Try this:
1. Start the Connectivity Explorer application that comes with QuickOPC (to get it you need to use the QuickOPC installer, not just the NuGet packages; or, it can be run from here: kb.opclabs.com/Tool_Downloads#Connectivity_Explorer ).
2. In the "Point Editor" tool window, under "Points (Composite) -> OPC Unified Architecture (Client-Server) Points", double-click on "< Double click to: Add OPC UA Endpoint >".
3. In the text area for the new node, enter opc.tcp://192.168.1.251:4840 , and press Enter.
4. Expand the new node. If the connection succeeds, you will see various nodes in a tree, and will be able to browse through them.
5. Whenever you select some node in the OPC UA server, the node info pane (below the tree) will show the title "OPC-UA Node", and some details about the node. What you are looking for is the first line, labeled "Node Id". Copy the text in there into your program (there is even a little icon do the Copy), and make it (as a string) the 2nd argument to your ReadValue call.
For example, with our sample server, you may see
and for the selected "Int16Value" node, your second argument to the ReadValue method would be "nsu=http://test.org/UA/Data/ ;ns=2;i=10847". With your server, the Node Id will be different, of course.
If your OPC Server enforces security, the connection may fail and there will be extra steps to do. This is expected, and if it happens and you do not know what to do, report the behavior and I will help to resolve it too.
Best regards
Attachments:
Please Log in or Create an account to join the conversation.
is the first time for me using opc ua communication and i'm having some issues whit my Omron PLC:
i have write some lines of code to read a variable but i don't understand whta value i have to set for the Attribute, i have tried whit the name of the variable but nothing, this is the code:
Private client As EasyUAClient
Private value As Object
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
Dim COMUNICATIONOPCUA As String
Dim ATTRIBUTE As UAAttributeId
COMINCAZIONEOPCUA = "opc.tcp://192.168.1.251:4840"
ATTRIBUTE = 1
value = client.ReadValue(COUNICATIONOPCUA, ATTRIBUTE)
End Sub
have i do some mistakes somewhere?
Really thanks to everyone who will help me
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Reading, Writing, Subscriptions, Property Access
- omron opc reading and writing variables