You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/08/05 13:08:03 UTC

[plc4x] 03/03: feat(plc-simulator/s7): support a alternate s7 port

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 7adec29306c07da3679677751e3a7d7c7c710825
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Aug 5 15:07:53 2022 +0200

    feat(plc-simulator/s7): support a alternate s7 port
---
 .../src/main/java/org/apache/plc4x/simulator/PlcSimulator.java      | 2 ++
 .../main/java/org/apache/plc4x/simulator/PlcSimulatorConfig.java    | 6 ++++++
 .../java/org/apache/plc4x/simulator/server/s7/S7ServerModule.java   | 6 +++++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulator.java b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulator.java
index 579a3e209..d66d59da6 100644
--- a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulator.java
+++ b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulator.java
@@ -147,6 +147,7 @@ public class PlcSimulator {
         Options options = new Options();
 
         options.addOption("host", true, "display current time");
+        options.addOption("s7port", true, "changes the s7 port");
 
         // Parse args
         CommandLineParser parser = new DefaultParser();
@@ -154,6 +155,7 @@ public class PlcSimulator {
 
         // Map options
         config.host = cmd.getOptionValue("host", "localhost");
+        config.s7Port = cmd.getOptionValue("s7port");
 
         return config;
     }
diff --git a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulatorConfig.java b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulatorConfig.java
index 5a1fcc253..2879d571e 100644
--- a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulatorConfig.java
+++ b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/PlcSimulatorConfig.java
@@ -21,7 +21,13 @@ package org.apache.plc4x.simulator;
 public class PlcSimulatorConfig {
     String host;
 
+    String s7Port;
+
     public String getHost() {
         return host;
     }
+
+    public String getS7Port() {
+        return s7Port;
+    }
 }
diff --git a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/server/s7/S7ServerModule.java b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/server/s7/S7ServerModule.java
index c57646521..f3bdacf3f 100644
--- a/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/server/s7/S7ServerModule.java
+++ b/sandbox/plc-simulator/src/main/java/org/apache/plc4x/simulator/server/s7/S7ServerModule.java
@@ -87,7 +87,11 @@ public class S7ServerModule implements ServerModule {
                 }).option(ChannelOption.SO_BACKLOG, 128)
                 .childOption(ChannelOption.SO_KEEPALIVE, true);
 
-            bootstrap.bind(config.getHost(),ISO_ON_TCP_PORT).sync();
+            int port = ISO_ON_TCP_PORT;
+            if (config.getS7Port() != null) {
+                port = Integer.parseInt(config.getS7Port());
+            }
+            bootstrap.bind(config.getHost(), port).sync();
         } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
             throw new SimulatorException(e);