diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java index b080da97ed3..1b62b068238 100644 --- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java +++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java @@ -18,11 +18,13 @@ */ package org.apache.plc4x.java.s7.readwrite.configuration; +import org.apache.plc4x.java.s7.readwrite.DeviceGroup; import org.apache.plc4x.java.spi.configuration.PlcConnectionConfiguration; import org.apache.plc4x.java.spi.configuration.annotations.ConfigurationParameter; import org.apache.plc4x.java.spi.configuration.annotations.Description; import org.apache.plc4x.java.spi.configuration.annotations.defaults.BooleanDefaultValue; import org.apache.plc4x.java.spi.configuration.annotations.defaults.IntDefaultValue; +import org.apache.plc4x.java.spi.configuration.annotations.defaults.StringDefaultValue; public class S7Configuration implements PlcConnectionConfiguration { @@ -36,9 +38,14 @@ public class S7Configuration implements PlcConnectionConfiguration { @Description("Slot value for the client (PLC4X device).") public int localSlot = 1; + @ConfigurationParameter("local-device-group") + @StringDefaultValue("OTHERS") + @Description("Local Device Group. (Defaults to 'OTHERS').\nAllowed values:\n - PG_OR_PC\n - OS\n - OTHERS") + public DeviceGroup localDeviceGroup; + @ConfigurationParameter("local-tsap") @IntDefaultValue(0) - @Description("Local Transport Service Access Point.") + @Description("Local Transport Service Access Point. (Overrides settings made in local-rack, local-slot and local-device-group. Be sure to convert into integer representation)") public int localTsap = 0; @ConfigurationParameter("remote-rack") @@ -51,6 +58,16 @@ public class S7Configuration implements PlcConnectionConfiguration { @Description("Slot value for the remote main CPU (PLC).") public int remoteSlot = 0; + @ConfigurationParameter("remote-device-group") + @StringDefaultValue("PG_OR_PC") + @Description("Remote Device Group (Defaults to 'PG_OR_PC').\nAllowed values:\n - PG_OR_PC\n - OS\n - OTHERS") + public DeviceGroup remoteDeviceGroup; + + @ConfigurationParameter("remote-tsap") + @IntDefaultValue(0) + @Description("Remote Transport Service Access Point. (Overrides settings made in remote-rack, remote-slot and remote-device-group. Be sure to convert into integer representation)") + public int remoteTsap = 0; + @ConfigurationParameter("remote-rack2") @IntDefaultValue(0) @Description("Rack value for the remote secondary CPU (PLC).") @@ -61,10 +78,10 @@ public class S7Configuration implements PlcConnectionConfiguration { @Description("Slot value for the remote secondary CPU (PLC).") public int remoteSlot2 = 0; - @ConfigurationParameter("remote-tsap") - @IntDefaultValue(0) - @Description("Remote Transport Service Access Point.") - public int remoteTsap = 0; + @ConfigurationParameter("remote-device-group2") + @StringDefaultValue("PG_OR_PC") + @Description("Remote Device Group. (Defaults to 'PG_OR_PC').\nAllowed values:\n - PG_OR_PC\n - OS\n - OTHERS") + public DeviceGroup remoteDeviceGroup2; @ConfigurationParameter("pdu-size") @IntDefaultValue(1024) @@ -121,6 +138,14 @@ public void setLocalSlot(int localSlot) { this.localSlot = localSlot; } + public DeviceGroup getLocalDeviceGroup() { + return localDeviceGroup; + } + + public void setLocalDeviceGroup(DeviceGroup localDeviceGroup) { + this.localDeviceGroup = localDeviceGroup; + } + public int getLocalTsap() { return localTsap; } @@ -145,6 +170,14 @@ public void setRemoteSlot(int remoteSlot) { this.remoteSlot = remoteSlot; } + public DeviceGroup getRemoteDeviceGroup() { + return remoteDeviceGroup; + } + + public void setRemoteDeviceGroup(DeviceGroup remoteDeviceGroup) { + this.remoteDeviceGroup = remoteDeviceGroup; + } + public int getRemoteRack2() { return remoteRack2; } @@ -153,6 +186,14 @@ public void setRemoteRack2(int remoteRack2) { this.remoteRack2 = remoteRack2; } + public DeviceGroup getRemoteDeviceGroup2() { + return remoteDeviceGroup2; + } + + public void setRemoteDeviceGroup2(DeviceGroup remoteDeviceGroup2) { + this.remoteDeviceGroup2 = remoteDeviceGroup2; + } + public int getRemoteSlot2() { return remoteSlot2; } diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java index 1a30d7d55fb..8f29a946ec7 100644 --- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java +++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java @@ -46,15 +46,14 @@ public class S7DriverContext implements DriverContext, HasConfiguration 0) { this.callingTsapId = configuration.localTsap; }