State machine in the demo server

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
Lafond
Hero Member
Hero Member
Posts: 25
Joined: 14 Oct 2008, 12:55

State machine in the demo server

Post by Lafond »

Hi
If I started the demo server coming with v1.3.1, then using UaExpert v1.2.1, I navigate the address space to:
Objects/MassAlarms/MyExclusiveLimitAlarms2

The CurrentState of that StateMachine, is not visible in the address space and no reference to it neither.
But if you look on the type definition, it shall be there because it is a subtype of FiniteStateMachine.

DoI miss something?

Thanks

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re:State machine in the demo server

Post by Support Team »

Hello,

This is an initial configuration issue in the sample code of the demo server. The mandatory component LimitState is not added by default.

If you trigger the alarm by writing true to the corresponding variable e.g. to MyNonExclusiveLimitAlarm1_Trigger for MyNonExclusiveLimitAlarm1, the LimitState object is created.

Best Regards
Unified Automation Support Team
Best regards
Unified Automation Support Team

Lafond
Hero Member
Hero Member
Posts: 25
Joined: 14 Oct 2008, 12:55

Re:State machine in the demo server

Post by Lafond »

Hi
I did what you suggest, but the CurrentState Property is NOT created and it is part of the spec that every FiniteStateMachine exposes this Property. So, is it an issue with the demo or the ExclusiveLimitAlarm object?

Thanks

Lafond
Hero Member
Hero Member
Posts: 25
Joined: 14 Oct 2008, 12:55

Re:State machine in the demo server

Post by Lafond »

Hi

Did you have a chance to have a look to this issue?

Thanks

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re:State machine in the demo server

Post by Support Team »

Hi,

The LimitState and its CurrentState property is always exposed for instances of the ExclusiveLimitAlarmType without doing anything special.

But the value and the corresponding event fields are NULL until ExclusiveLimitAlarmType:: setExclusiveState() is called with one of the following options:
- OpcUa::ExclusiveLimitStateMachineType::High
- OpcUa::ExclusiveLimitStateMachineType::HighHigh
- OpcUa::ExclusiveLimitStateMachineType::Low
- OpcUa::ExclusiveLimitStateMachineType::LowLow

We added the option OpcUa::ExclusiveLimitStateMachineType:: Disabled for the upcoming version 1.3.2 to clear the fields if the ActiveState of the AlarmCondition is FALSE and the Limit state machine is not valid.

We added also the handling for the LimitState event fields for Branch creation and ExclusiveLimitAlarmTypeData class in version 1.3.2

Best Regards
Unified Automation Support Team
Best regards
Unified Automation Support Team

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re:State machine in the demo server

Post by Support Team »

Hi,

The new service release for the C++ SDK (V1.3.2) is now available for download

http://www.unified-automation.com/opc-ua-servers/

Best Regards,
Unified Automation Support Team
Best regards
Unified Automation Support Team

Post Reply