Professional OPC
Development Tools

logos

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)

More
06 May 2015 10:54 #3086 by support
Thank you for the .SEQ file and the instructions. I was able to open your project in NI TestStand 2014 and had a quick look around. I think I now understand the nature of your question to AllowedMessageSecurityModes - when you set a property value in TestStand, you need to specify a value using an expression, and you cannot select an enumeration member from the type library here (and even less from a library different from where the object being targeted resides).

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,
    }
}
BTW, TestStand 2014 offers me ".NET" as well, besides COM/ActiveX - I have not tried it, but it would be more natural to use - if it works.

Best regards

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

More
06 May 2015 09:19 #3085 by Icebaer
Hi Support-Team,
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
Attachments:

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

More
06 May 2015 06:56 - 06 May 2015 06:56 #3084 by support
Hello.

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
Last edit: 06 May 2015 06:56 by support.

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

More
05 May 2015 16:01 #3079 by Icebaer
Hi Support-Team,

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.

More
05 May 2015 09:32 #3068 by support
Dear Sir,

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.

More
05 May 2015 07:55 #3067 by Icebaer
Hi Support-Team,
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.

More
04 May 2015 13:14 #3066 by support
Hi, thank you for your interest in our products.

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 3. No, they are different. The sampling interval is a logical measure, and determines how often the server should physically sample the data source. Therefore it has semantics that depends on your application. The publish interval is a physical measure that determines how often the data is send from the server to the client. We normally determine the publish interval from the sampling interval automatically.

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.

More
04 May 2015 11:07 #3065 by Icebaer
Hi,
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
Attachments:

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

Moderators: support
Time to create page: 0.073 seconds