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.
QuickOPC with TestStand (National Instruments)
I think that in this situation, you can resort to a "quick and dirty" solution, and assign a constant - in the case you mentioned, the value for SecurityNone is 1.
The actual definition of the UAMessageSecurityModes enum in our software looks like this, and you can take additional values from there if you need:
using System;
using System.ComponentModel;
using System.Drawing.Design;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using OpcLabs.BaseLib.Annotations;
namespace OpcLabs.EasyOpc.UA
{
/// <summary>
/// Specifies what security should be applied to messages exchanges during a Session.
/// </summary>
[CLSCompliant(true)]
[ComVisible(true)]
[Description("Specifies what security should be applied to messages exchanges during a Session.")]
[Designable]
[Editor("OpcLabs.BaseLib.Design.FlagsEnumEditor, " + BaseLib.AssemblyNames.BaseLibDesign, typeof(UITypeEditor))]
[Flags]
[Guid("9E047321-4643-4BA1-8CD8-5CD6F3F3B464")]
public enum UAMessageSecurityModes
{
// Users sometimes confuse None for SecurityNone. We are trying various ways to prevent it from happening.
/// <summary>
/// No security mode is specified. DO NOT USE - ENDPOINT SELECTION WILL ALWAYS FAIL. Did you mean <see cref="SecurityNone"/>?
/// </summary>
[Browsable(false)]
[CompilerGenerated]
[Description("No security mode is specified. DO NOT USE - ENDPOINT SELECTION WILL ALWAYS FAIL. Did you mean SecurityNone?")]
[EditorBrowsable(EditorBrowsableState.Advanced)]
[Obsolete(
"This choice disables all message security modes, therefore it is not possible to select any endpoint with it. " +
"To allow endpoints with no message security, use SecurityNone instead.")]
None = 0,
/// <summary>
/// No security is applied.
/// </summary>
[Description("No security is applied.")]
SecurityNone = 1,
/// <summary>
/// All messages are signed but not encrypted.
/// </summary>
[Description("All messages are signed but not encrypted.")]
SecuritySign = 2,
/// <summary>
/// All messages are signed and encrypted.
/// </summary>
[Description("All messages are signed and encrypted.")]
SecuritySignAndEncrypt = 4,
// Combinations
/// <summary>
/// Any mode that is secure.
/// </summary>
[Description("Any mode that is secure.")]
Secure = SecuritySign | SecuritySignAndEncrypt,
/// <summary>
/// All possible security modes, including no security.
/// </summary>
[Description("All possible security modes, including no security.")]
All = SecurityNone | SecuritySign | SecuritySignAndEncrypt,
}
}
Best regards
Please Log in or Create an account to join the conversation.
at the attachments you can find a short description and my test sequence test.seq. I use TestStand 2012, but you shouldn't get problems with my file.
If you have any questions then please contact me.
Thank you, Icebaer
Please Log in or Create an account to join the conversation.
Re
On your homepage under Services you write that you make "Custom Development"!?
As stated earlier: We sometimes make custom development, but currently we do not have free resources for that.
Re
At the Internal Library I have found a property called "LocaleID". What can I do with this property?
If you are referring to the UAClientSessionParameters.LocaleId property: It is Locale the id to be used by the server for localized strings. That is, you can set it "globally", for the whole session to the server, and the server will return the localizable strings in this locale. What do *not* yet support, is the ability to extract the localized texts in specified locale oin case-by-case basis.
Re
At TestStand I can configure one dll (e.g. EasyOPC-UA Library) with his own object reference, but I don't know how can I reference multiple libraries for the same session.
Oh, I was not aware that a software with such limitation exists. I have download a NI TestStand 2014 evaluation now. I would like to investigate whether there is a way to make it work. But I have no experience with this particular software. Can you perhaps send me a description of what you have do so far, or a project that you have attempted?
Thank you
Please Log in or Create an account to join the conversation.
1.) On your homepage under Services you write that you make "Custom Development"!? At the Internal Library I have found a property called "LocaleID". What can I do with this property?
2.) At TestStand I can configure one dll (e.g. EasyOPC-UA Library) with his own object reference, but I don't know how can I reference multiple libraries for the same session.
Thank you, Icebaer
Please Log in or Create an account to join the conversation.
ad 1: We sometimes make custom development, but currently we do not have free resources for that.
ad 2: I do not understand - can you please explain? Yes, you need to reference multiple assemblies, this is OK and is described in the documentation.
Best regards
Please Log in or Create an account to join the conversation.
thank you for the fast answer.
1.) Do you have a department who makes services/applications for customers? In this case an extension for QuickOPC.
2.) I'm not sure that it's possible to realise this with TestStand, because you need two dlls ("AllowedMessageSecurityModes" is part of the EasyOPC-UA Internal Library).
Thank you, Icebaer.
Please Log in or Create an account to join the conversation.
Ad 1: Selecting a locale for a LocalizedText is not currently supported by QuickOPC.
Ad 2: Let me know what you want to achieve. For example, to select "no" message security, you can use following fragment:
var easyUAClient = new EasyUAClient
{
Isolated = true,
IsolatedParameters =
{
Session =
{
EndpointSelectionPolicy =
{
AllowedMessageSecurityModes = UAMessageSecurityModes.SecurityNone,
},
},
}
};
Ad 4. Not here in OPC Labs tech support. We are more than willing to help with questions that arise.
Best regards
Please Log in or Create an account to join the conversation.
at the moment I test the EasyUAClient with TestStand 2012 from National Instruments. TestStand has an ActiveX/COM or .NET Adapter (screenshoot at the attachment).
I have made a short sequence (SubscribeMonitoredItem, ReadValue, WriteValue and UnsubscribeMonitoredIem) with TestStand (AX/COM Adapter) and now I have some questions.
1.) I can read a value from the datatype LocalizedText, but how can I set the LocaleID?
2.) How can I configure the Message Security Mode and the Security Policy?
3.) Is the samplingInterval the same like the Publishing Time?
4.) Has somebody experience with TestStand and the EasyUAClient?
Thank you,
Icebaer
Please Log in or Create an account to join the conversation.