Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const handler = variable.handle_semantic_changed.bind(variable);
euRange.on("value_changed",handler);
if (options.hasOwnProperty("instrumentRange")) {
const instrumentRange =namespace.addVariable({
propertyOf: variable,
typeDefinition: "PropertyType",
browseName: {name:"InstrumentRange",namespaceIndex:0},
dataType: "Range",
minimumSamplingInterval: 0,
accessLevel: "CurrentRead | CurrentWrite",
value: new Variant({
dataType: DataType.ExtensionObject, value: new Range(options.instrumentRange)
}),
modellingRule: options.modellingRule ? "Mandatory" : undefined
});
instrumentRange.on("value_changed",handler);
}
if (options.hasOwnProperty("engineeringUnits")) {
const engineeringUnits = new EUInformation(options.engineeringUnits);
assert(engineeringUnits instanceof EUInformation, "expecting engineering units");
// EngineeringUnits specifies the units for the DataItem‟s value (e.g., DEGC, hertz, seconds). The
// EUInformation type is specified in 5.6.3.
// use as automatically scaling a bar graph display
// Sensor or instrument failure or deactivation can result in a return ed item value which is actually
// outside of this range. Client software must be prepared to deal with this possibility. Similarly a client
// may attempt to write a value that is outside of this range back to the server. The exact behaviour
// (accept, reject, clamp, etc.) in this case is server - dependent. However , in general servers shall be
// prepared to handle this.
// Example: EURange ::= {-200.0,1400.0}
const euRange = namespace.addVariable({
propertyOf: variable,
typeDefinition: "PropertyType",
browseName: {name:"EURange",namespaceIndex:0},
dataType: "Range",
minimumSamplingInterval: 0,
value: new Variant({
dataType: DataType.ExtensionObject, value: new Range(options.engineeringUnitsRange)
}),
modellingRule: options.modellingRule
});
const handler = variable.handle_semantic_changed.bind(variable);
euRange.on("value_changed",handler);
if (options.hasOwnProperty("instrumentRange")) {
const instrumentRange =namespace.addVariable({
propertyOf: variable,
typeDefinition: "PropertyType",
browseName: {name:"InstrumentRange",namespaceIndex:0},
dataType: "Range",
minimumSamplingInterval: 0,