use of com.beanit.openiec61850.ModelNode in project Protocol-Adapter-IEC61850 by OSGP.
the class Iec61850RtuDeviceReportingService method enableEngineReportingOnDevice.
private void enableEngineReportingOnDevice(final DeviceConnection connection, final String deviceIdentification) {
final ServerModel serverModel = connection.getConnection().getServerModel();
final String enginePrefix = LogicalDevice.ENGINE.getDescription();
int i = 1;
String logicalDeviceName = enginePrefix + i;
ModelNode engineNode = serverModel.getChild(this.serverName + logicalDeviceName);
while (engineNode != null) {
this.enableStatusReportingOnDevice(connection, deviceIdentification, LogicalDevice.ENGINE, i, DataAttribute.REPORT_STATUS_ONE);
this.enableMeasurementReportingOnDevice(connection, deviceIdentification, LogicalDevice.ENGINE, i, DataAttribute.REPORT_MEASUREMENTS_ONE);
i += 1;
logicalDeviceName = enginePrefix + i;
engineNode = serverModel.getChild(this.serverName + logicalDeviceName);
}
}
use of com.beanit.openiec61850.ModelNode in project Protocol-Adapter-IEC61850 by OSGP.
the class Iec61850RtuDeviceReportingService method enableHeatBufferReportingOnDevice.
private void enableHeatBufferReportingOnDevice(final DeviceConnection connection, final String deviceIdentification) {
final ServerModel serverModel = connection.getConnection().getServerModel();
final String heatBufferPrefix = LogicalDevice.HEAT_BUFFER.getDescription();
int i = 1;
String logicalDeviceName = heatBufferPrefix + i;
ModelNode heatBufferNode = serverModel.getChild(this.serverName + logicalDeviceName);
while (heatBufferNode != null) {
this.enableStatusReportingOnDevice(connection, deviceIdentification, LogicalDevice.HEAT_BUFFER, i, DataAttribute.REPORT_STATUS_ONE);
this.enableMeasurementReportingOnDevice(connection, deviceIdentification, LogicalDevice.HEAT_BUFFER, i, DataAttribute.REPORT_MEASUREMENTS_ONE);
i += 1;
logicalDeviceName = heatBufferPrefix + i;
heatBufferNode = serverModel.getChild(this.serverName + logicalDeviceName);
}
}
use of com.beanit.openiec61850.ModelNode in project Protocol-Adapter-IEC61850 by OSGP.
the class Iec61850RtuDeviceReportingService method enableBatteryReportingOnDevice.
private void enableBatteryReportingOnDevice(final DeviceConnection connection, final String deviceIdentification) {
final ServerModel serverModel = connection.getConnection().getServerModel();
final String batteryPrefix = LogicalDevice.BATTERY.getDescription();
int i = 1;
String logicalDeviceName = batteryPrefix + i;
ModelNode batteryNode = serverModel.getChild(this.serverName + logicalDeviceName);
while (batteryNode != null) {
this.enableStatusReportingOnDevice(connection, deviceIdentification, LogicalDevice.BATTERY, i, DataAttribute.REPORT_STATUS_ONE);
this.enableMeasurementReportingOnDevice(connection, deviceIdentification, LogicalDevice.BATTERY, i, DataAttribute.REPORT_MEASUREMENTS_ONE);
i += 1;
logicalDeviceName = batteryPrefix + i;
batteryNode = serverModel.getChild(this.serverName + logicalDeviceName);
}
}
use of com.beanit.openiec61850.ModelNode in project open-smart-grid-platform by OSGP.
the class Iec61850DeviceConnectionService method getModelNode.
private FcModelNode getModelNode(final String logicalDevice, final Iec61850Connection iec61850Connection, final String description) throws ProtocolAdapterException {
final ServerModel serverModel = iec61850Connection.getServerModel();
if (serverModel == null) {
final String msg = String.format("ServerModel is null for logicalDevice {%s}", logicalDevice);
throw new ProtocolAdapterException(msg);
}
final String objRef = description + logicalDevice + "/" + LogicalNode.LOGICAL_NODE_ZERO.getDescription() + "." + DataAttribute.NAME_PLATE.getDescription();
final FcModelNode modelNode = (FcModelNode) serverModel.findModelNode(objRef, Fc.DC);
if (modelNode == null) {
final String msg = String.format("ModelNode is null for {%s}", objRef);
throw new ProtocolAdapterException(msg);
}
return modelNode;
}
use of com.beanit.openiec61850.ModelNode in project open-smart-grid-platform by OSGP.
the class DistributionAutomationGetPQValuesRequestMessageProcessor method processPQValueNodeChildren.
private List<DataSampleDto> processPQValueNodeChildren(final LogicalNode node) {
final List<DataSampleDto> data = new ArrayList<>();
final Collection<ModelNode> children = node.getChildren();
final Map<String, Set<Fc>> childMap = new HashMap<>();
for (final ModelNode child : children) {
if (!childMap.containsKey(child.getName())) {
childMap.put(child.getName(), new HashSet<>());
}
childMap.get(child.getName()).add(((FcModelNode) child).getFc());
}
for (final Map.Entry<String, Set<Fc>> childEntry : childMap.entrySet()) {
final List<DataSampleDto> childData = this.processPQValuesFunctionalConstraintObject(node, childEntry.getKey(), childEntry.getValue());
if (!childData.isEmpty()) {
data.addAll(childData);
}
}
return data;
}
Aggregations