High Performance OPC UA Server SDK  1.2.0.193
ua_axisinformation Struct Reference

Defines the information for auxiliary axis for ArrayItemType Variables. More...

#include <axisinformation.h>

Data Fields

struct ua_euinformation engineering_units
 Holds the information about the engineering units for a given axis.
 
struct ua_range eurange
 Limits of the range of the axis.
 
struct ua_localizedtext title
 User readable axis title. More...
 
enum ua_axisscaleenumeration axis_scale_type
 LINEAR, LOG, LN, defined by AxisSteps (see ua_axisscaleenumeration).
 
double * axis_steps
 Specific value of each axis step. More...
 
int32_t num_axis_steps
 Number of elements in ua_axisinformation::axis_steps.
 

Related Functions

void ua_axisinformation_init (struct ua_axisinformation *t)
 Initialize an ua_axisinformation struct with a valid value. More...
 
void ua_axisinformation_clear (struct ua_axisinformation *t)
 Clear all resources alloctated in an ua_axisinformation struct. More...
 
int ua_axisinformation_compare (const struct ua_axisinformation *a, const struct ua_axisinformation *b)
 Compare two ua_axisinformation structs. More...
 
int ua_axisinformation_copy (struct ua_axisinformation *dst, const struct ua_axisinformation *src)
 Create a copy of a ua_axisinformation struct. More...
 
static int ua_axisinformation_resize_axis_steps_array (struct ua_axisinformation *val, int32_t new_len)
 Resize the axis_steps array of a ua_axisinformation struct. More...
 

Detailed Description

Defines the information for auxiliary axis for ArrayItemType Variables.

There are three typical uses of this structure:

  1. The step between points is constant and can be predicted using the range information and the number of points. In this case, axisSteps can be set to NULL.
  2. The step between points is not constant, but remains the same for a long period of time (from acquisition to acquisition for example). In this case, axisSteps contains the value of each step on the axis.
  3. The step between points is not constant and changes at every update. In this case, a type like XYArrayType shall be used and axisSteps is set to NULL.

When the steps in the axis are constant, axisSteps may be set to “Null” and in this case, the Range limits are used to compute the steps. The number of steps in the axis comes from the parent ArrayItem.ArrayDimensions.

Friends And Related Function Documentation

void ua_axisinformation_clear ( struct ua_axisinformation t)
related

Clear all resources alloctated in an ua_axisinformation struct.

Frees allocated memory like arrays and resets numeric values. The ua_axisinformation struct itself is not freed and must be freed by the caller if required. This function always succeeds for a valid ua_axisinformation struct, that was validly decoded, initilized by ua_axisinformation_init or created with ua_axisinformation_copy.

int ua_axisinformation_compare ( const struct ua_axisinformation a,
const struct ua_axisinformation b 
)
related

Compare two ua_axisinformation structs.

Compares the content of the ua_axisinformation struct a to the content of the ua_axisinformation struct b. If a is smaller than b, an integer less than zero is returned, if a is bigger than b, an integer greater than zero is returned. If both structs are equal zero is returned.

This function creates a total order on ua_axisinformation structs, so it is well suited to not only determine equality, but also sort multiple instances of this struct.

int ua_axisinformation_copy ( struct ua_axisinformation dst,
const struct ua_axisinformation src 
)
related

Create a copy of a ua_axisinformation struct.

Copy all fields from struct ua_axisinformation src to dst. Creates a deep copy so all content is recusively copied and both src and dst can be used and must be freed separately.

dst is not cleared before the copy operation, so it must not have any allocated data. It may or may not be initilized by the caller before copy.

Returns
Zero on success or ua_statuscode on failure.
void ua_axisinformation_init ( struct ua_axisinformation t)
related

Initialize an ua_axisinformation struct with a valid value.

After initialization the fields of the struct are set to valid and consistent values and can safley be accessed. An initialized ua_axisinformation struct can also be passed to ua_axisinformation_compare, ua_axisinformation_copy and ua_axisinformation_clear. This function will always succeed as long as an ua_axisinformation struct is passed to it.

static int ua_axisinformation_resize_axis_steps_array ( struct ua_axisinformation val,
int32_t  new_len 
)
related

Resize the axis_steps array of a ua_axisinformation struct.

Depending on new_len and the current size of the array, the array will be created, increased, decreased or deleted. In case array members are removed these are cleared properly, new array members are initialized with zero.

Parameters
new_lenNew length of the axis_steps array in number of members.
Returns
Zero on success or ua_statuscode on failure.

Field Documentation

axis_steps

Specific value of each axis step.

May be set to “Null” if not used.

title

User readable axis title.

This is useful when the units are %. The Title may be e.g. “Particle size distribution”


The documentation for this struct was generated from the following files: