/** * Provide any initial values that shall be set (this overrides any initial values set by simulation * components themselves) * Configure logging */ @Override public boolean accept() { if((!valveSetpoint.isActive()) && (!tempSetpoint.isActive())) return false; return true; }
/** * Provide any initial values that shall be set (this overrides any initial values set by simulation * components themselves) * Configure logging */ @Override public boolean accept() { if((!valveSetpoint.isActive()) && (!tempSetpoint.isActive())) return false; return true; } }
/** * Checks if limits of the sensor are violated. */ public boolean areLimitsViolated(SensorAlarmPattern sensor) { final float x = sensor.reading.getValue(); if (sensor.minReading.isActive()) { final float min = sensor.minReading.getValue(); if (x < min) return true; } if (sensor.maxReading.isActive()) { final float max = sensor.maxReading.getValue(); if (x > max) return true; } return false; }
@Override public void resourceChanged(SingleValueResource resource) { float factor = 1; float offset = 0; if (pattern.scalingFactor.isActive()) factor = pattern.scalingFactor.getValue(); if (pattern.valueOffset.isActive()) offset = pattern.valueOffset.getValue(); try { ca.setChannelValue(channelConfiguration, transformBack(resource, factor, offset)); } catch (ChannelAccessException e) { logger.error("Could not set new value for channel " + channelConfiguration + ", resource " + resource,e); } }
public void onGET(OgemaHttpRequest req) { FloatResource source = getResource(sva, req, null); if ((source == null)||(!source.isActive())) { myLabel.setText("n.a.", req); return; } String val; if(format != null) { val = String.format(format, source.getValue()); } else { val = String.format("%.1f", source.getValue()); } myLabel.setText(val, req); } };
@Override public void channelEvent(EventType type, List<SampledValueContainer> channels) { logger.trace("Channel event for {}", pattern.target); for (SampledValueContainer container: channels) { if (container.getChannelLocator().equals(channelConfiguration.getChannelLocator())) { float factor = 1; float offset = 0; if (pattern.scalingFactor.isActive()) factor = pattern.scalingFactor.getValue(); if (pattern.valueOffset.isActive()) offset = pattern.valueOffset.getValue(); Value value = transform(container.getSampledValue().getValue(), factor, offset); ValueResourceUtils.setValue(pattern.target, value); pattern.target.activate(false); } } }
private boolean filterSatisfied(float value, Filter filter) { if (filter == null || !filter.isActive()) return true; if (filter instanceof RangeFilter) { RangeFilter rfilter = (RangeFilter) filter; FloatResource ll = rfilter.range().lowerLimit(); FloatResource ul = rfilter.range().upperLimit(); if ((ll.isActive() && ll.getValue() > value) || (ul.isActive() && ul.getValue() < value)) { logger.debug("Filter not satisfied for resource {}. Boundaries: {} - {}, actual value: {}", target, ll .getValue(), ul.getValue(), value); return false; } } return true; }
/** * Update the rules how the threshold shall be calculated, including the * question if the target resource should be set active or inactive. */ private void updateAndEnforceRules() { m_active = m_config.source().isActive(); m_threshold = m_config.threshold().getValue(); m_invert = m_config.invert().getValue(); m_equalityExceeds = m_config.equalityExceeds().getValue(); enforceRules(); }