diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index 561d8c56e..472fa3632 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -51,5 +51,6 @@
+
\ No newline at end of file
diff --git a/src/abstractions/app/apax.yml b/src/abstractions/app/apax.yml
index 2ed43820e..b65f40d16 100644
--- a/src/abstractions/app/apax.yml
+++ b/src/abstractions/app/apax.yml
@@ -26,9 +26,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -90,10 +90,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.abb.robotics/app/apax.yml b/src/components.abb.robotics/app/apax.yml
index 4c3cae663..fb8d078a7 100644
--- a/src/components.abb.robotics/app/apax.yml
+++ b/src/components.abb.robotics/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.balluff.identification/app/apax.yml b/src/components.balluff.identification/app/apax.yml
index 71236a60a..c2176c6a3 100644
--- a/src/components.balluff.identification/app/apax.yml
+++ b/src/components.balluff.identification/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.cognex.vision/app/apax.yml b/src/components.cognex.vision/app/apax.yml
index 4cf64c3eb..990c80d4c 100644
--- a/src/components.cognex.vision/app/apax.yml
+++ b/src/components.cognex.vision/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.desoutter.tightening/app/apax.yml b/src/components.desoutter.tightening/app/apax.yml
index fa7e5cde2..d7d415a8b 100644
--- a/src/components.desoutter.tightening/app/apax.yml
+++ b/src/components.desoutter.tightening/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.drives/app/apax.yml b/src/components.drives/app/apax.yml
index a633c9c87..896fc63a8 100644
--- a/src/components.drives/app/apax.yml
+++ b/src/components.drives/app/apax.yml
@@ -28,9 +28,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -92,10 +92,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.elements/app/apax.yml b/src/components.elements/app/apax.yml
index 655839188..a35cf4602 100644
--- a/src/components.elements/app/apax.yml
+++ b/src/components.elements/app/apax.yml
@@ -28,9 +28,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -92,10 +92,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.festo.drives/app/apax.yml b/src/components.festo.drives/app/apax.yml
index 698620b51..c17f3ebb8 100644
--- a/src/components.festo.drives/app/apax.yml
+++ b/src/components.festo.drives/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.kuka.robotics/app/apax.yml b/src/components.kuka.robotics/app/apax.yml
index 85359697d..af7f4740b 100644
--- a/src/components.kuka.robotics/app/apax.yml
+++ b/src/components.kuka.robotics/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.mitsubishi.robotics/app/apax.yml b/src/components.mitsubishi.robotics/app/apax.yml
index 676a8acd9..404f056a7 100644
--- a/src/components.mitsubishi.robotics/app/apax.yml
+++ b/src/components.mitsubishi.robotics/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.pneumatics/app/apax.yml b/src/components.pneumatics/app/apax.yml
index 6184d787e..ebc4a1a55 100644
--- a/src/components.pneumatics/app/apax.yml
+++ b/src/components.pneumatics/app/apax.yml
@@ -28,9 +28,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -92,10 +92,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.rexroth.drives/app/apax.yml b/src/components.rexroth.drives/app/apax.yml
index 3e3b12295..7b60efc64 100644
--- a/src/components.rexroth.drives/app/apax.yml
+++ b/src/components.rexroth.drives/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.rexroth.press/app/apax.yml b/src/components.rexroth.press/app/apax.yml
index 27e3e51ee..071b5b65d 100644
--- a/src/components.rexroth.press/app/apax.yml
+++ b/src/components.rexroth.press/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.robotics/app/apax.yml b/src/components.robotics/app/apax.yml
index 7c4bb0a14..e4939bfa6 100644
--- a/src/components.robotics/app/apax.yml
+++ b/src/components.robotics/app/apax.yml
@@ -28,9 +28,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -92,10 +92,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.siemens.identification/app/apax.yml b/src/components.siemens.identification/app/apax.yml
index 2750a7d06..04e1c5ba3 100644
--- a/src/components.siemens.identification/app/apax.yml
+++ b/src/components.siemens.identification/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/components.ur.robotics/app/apax.yml b/src/components.ur.robotics/app/apax.yml
index b44967fba..6536f8d90 100644
--- a/src/components.ur.robotics/app/apax.yml
+++ b/src/components.ur.robotics/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/core/app/apax.yml b/src/core/app/apax.yml
index 4105f1085..6da8546e2 100644
--- a/src/core/app/apax.yml
+++ b/src/core/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/data/app/apax.yml b/src/data/app/apax.yml
index 3dd0e0582..2d8ab579d 100644
--- a/src/data/app/apax.yml
+++ b/src/data/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/inspectors/app/apax.yml b/src/inspectors/app/apax.yml
index 5ffea5c2e..f8bb42f7c 100644
--- a/src/inspectors/app/apax.yml
+++ b/src/inspectors/app/apax.yml
@@ -28,9 +28,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -92,10 +92,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/integrations/app/apax.yml b/src/integrations/app/apax.yml
index c7f103757..e41a31878 100644
--- a/src/integrations/app/apax.yml
+++ b/src/integrations/app/apax.yml
@@ -31,9 +31,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -95,10 +95,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/io/app/apax.yml b/src/io/app/apax.yml
index 2dfe38dfb..5e268d7d1 100644
--- a/src/io/app/apax.yml
+++ b/src/io/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/probers/app/apax.yml b/src/probers/app/apax.yml
index 8aebf30c8..6c7157f72 100644
--- a/src/probers/app/apax.yml
+++ b/src/probers/app/apax.yml
@@ -26,9 +26,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -90,10 +90,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/scripts/StartPlcSimAdvCli.deps.json b/src/scripts/StartPlcSimAdvCli.deps.json
deleted file mode 100644
index ed7404a46..000000000
--- a/src/scripts/StartPlcSimAdvCli.deps.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "runtimeTarget": {
- "name": ".NETCoreApp,Version=v6.0/win-x64",
- "signature": ""
- },
- "compilationOptions": {},
- "targets": {
- ".NETCoreApp,Version=v6.0": {},
- ".NETCoreApp,Version=v6.0/win-x64": {
- "StartPlcSimAdvCli/1.0.0": {
- "dependencies": {
- "Siemens.Simatic.Simulation.Runtime.Api.x64": "50.35.3.0"
- },
- "runtime": {
- "StartPlcSimAdvCli.dll": {}
- }
- },
- "Siemens.Simatic.Simulation.Runtime.Api.x64/50.35.3.0": {
- "runtime": {
- "Siemens.Simatic.Simulation.Runtime.Api.x64.dll": {
- "assemblyVersion": "50.35.3.0",
- "fileVersion": "50.35.3.0"
- }
- }
- }
- }
- },
- "libraries": {
- "StartPlcSimAdvCli/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "Siemens.Simatic.Simulation.Runtime.Api.x64/50.35.3.0": {
- "type": "reference",
- "serviceable": false,
- "sha512": ""
- }
- }
-}
\ No newline at end of file
diff --git a/src/scripts/StartPlcSimAdvCli.runtimeconfig.json b/src/scripts/StartPlcSimAdvCli.runtimeconfig.json
deleted file mode 100644
index e7b3b03d6..000000000
--- a/src/scripts/StartPlcSimAdvCli.runtimeconfig.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "runtimeOptions": {
- "tfm": "net6.0",
- "framework": {
- "name": "Microsoft.NETCore.App",
- "version": "6.0.0"
- },
- "configProperties": {
- "System.Reflection.Metadata.MetadataUpdater.IsSupported": false
- }
- }
-}
\ No newline at end of file
diff --git a/src/scripts/all.sh b/src/scripts/all.sh
index 84f6922e1..8011bb9d0 100644
--- a/src/scripts/all.sh
+++ b/src/scripts/all.sh
@@ -2,8 +2,8 @@ export GREEN='\033[0;32m'
export RED='\033[0;31m'
export YELLOW='\033[0;33m'
export NC='\033[0m\r\n' # No Color+CRLF
-if [ "$#" -ne 6 ]; then
- printf "${RED}Usage: $0 \r\n${NC}"
+if [ "$#" -ne 7 ]; then
+ printf "${RED}Usage: $0 \r\n${NC}"
exit 1
fi
@@ -44,6 +44,27 @@ if [ -z $PASSWORD ]; then
exit 1
fi
+USE_PLC_SIM_ADVANCED=$7
+if [ -z $USE_PLC_SIM_ADVANCED ]; then
+ printf "${RED}The USE_PLC_SIM_ADVANCED could not be an empty string.\r\n${NC}"
+ exit 1
+fi
+
+PLCSIM=0
+case "$(echo "$USE_PLC_SIM_ADVANCED" | tr '[:upper:]' '[:lower:]')" in
+ "true")
+ PLCSIM=1
+ printf "${YELLOW} USE_PLC_SIM_ADVANCED is true. ${NC}"
+ ;;
+ "false")
+ PLCSIM=0
+ printf "${YELLOW} USE_PLC_SIM_ADVANCED is false. ${NC}"
+ ;;
+ *)
+ printf "${RED}USE_PLC_SIM_ADVANCED has an invalid or undefined value: '$USE_PLC_SIM_ADVANCED'.${NC}"
+ ;;
+esac
+
certfile="./certs/$PLC_NAME/$PLC_NAME.cer"
if ! [[ -e "$certfile" ]]; then
printf "${RED}Certification file $certfile does not exist.\r\n${NC}"
@@ -61,8 +82,10 @@ else
exit 1
fi
- plcsim_script=$( dirname ${BASH_SOURCE[0]})"\\plcsim.sh"
- $plcsim_script
+ if [ "$PLCSIM" -eq 1 ]; then
+ plcsim_script=$( dirname ${BASH_SOURCE[0]})"\\plcsimadvanced.sh"
+ $plcsim_script $NAMESPACE $PLC_NAME $PLC_IP_ADDRESS
+ fi
#apax run ci # clean and install dependencies
apax clean
diff --git a/src/scripts/all_first.sh b/src/scripts/all_first.sh
index 1251255fc..890bf18e9 100644
--- a/src/scripts/all_first.sh
+++ b/src/scripts/all_first.sh
@@ -2,8 +2,8 @@ export GREEN='\033[0;32m'
export RED='\033[0;31m'
export YELLOW='\033[0;33m'
export NC='\033[0m\r\n' # No Color+CRLF
-if [ "$#" -ne 6 ]; then
- printf "${RED}Usage: $0 \r\n${NC}"
+if [ "$#" -ne 7 ]; then
+ printf "${RED}Usage: $0 \r\n${NC}"
exit 1
fi
@@ -44,6 +44,27 @@ if [ -z $PASSWORD ]; then
exit 1
fi
+USE_PLC_SIM_ADVANCED=$7
+if [ -z $USE_PLC_SIM_ADVANCED ]; then
+ printf "${RED}The USE_PLC_SIM_ADVANCED could not be an empty string.\r\n${NC}"
+ exit 1
+fi
+
+PLCSIM=0
+case "$(echo "$USE_PLC_SIM_ADVANCED" | tr '[:upper:]' '[:lower:]')" in
+ "true")
+ PLCSIM=1
+ printf "${YELLOW} USE_PLC_SIM_ADVANCED is true. ${NC}"
+ ;;
+ "false")
+ PLCSIM=0
+ printf "${YELLOW} USE_PLC_SIM_ADVANCED is false. ${NC}"
+ ;;
+ *)
+ printf "${RED}USE_PLC_SIM_ADVANCED has an invalid or undefined value: '$USE_PLC_SIM_ADVANCED'.${NC}"
+ ;;
+esac
+
printf "${RED}This command will prompt during execution, so do not leave your PC. You can enjoy your coffee afterward.\r\n${NC}"
check_requisites_apax_script=$( dirname ${BASH_SOURCE[0]})"\\check_requisites_apax.sh"
@@ -56,8 +77,10 @@ if ! $check_requisites_nuget_script ; then
exit 1
fi
-plcsim_script=$( dirname ${BASH_SOURCE[0]})"\\plcsim.sh"
-$plcsim_script
+if [ "$PLCSIM" -eq 1 ]; then
+ plcsim_script=$( dirname ${BASH_SOURCE[0]})"\\plcsimadvanced.sh"
+ $plcsim_script $NAMESPACE $PLC_NAME $PLC_IP_ADDRESS
+fi
#apax run ci # clean and install dependencies
apax clean
diff --git a/src/scripts/plcsim.sh b/src/scripts/plcsim.sh
deleted file mode 100644
index 0c01d7798..000000000
--- a/src/scripts/plcsim.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-export GREEN='\033[0;32m'
-export RED='\033[0;31m'
-export YELLOW='\033[0;33m'
-export NC='\033[0m\r\n' # No Color+CRLF
-
-use_plcsim=AXUSEPLCSIM
-use_plcsim_value=$(printenv "$use_plcsim")
-
-if [ -z "$use_plcsim_value" ]; then
- printf "${YELLOW}Environment variable '$use_plcsim' is not set.${NC}"
-else
- printf "${YELLOW}The value of '$use_plcsim' is: $use_plcsim_value.${NC}"
-
- if [ "$(echo 'true' | tr '[:upper:]' '[:lower:]')" == "$(echo "$use_plcsim_value" | tr '[:upper:]' '[:lower:]')" ]; then
- plcsimscript=$( dirname ${BASH_SOURCE[0]})"\\StartPlcSimAdvCli.exe"
- $plcsimscript
- status=$?
- if [ $status -ne 0 ]; then
- printf "${RED}Plcsim script failed with exit status $status.${NC}"
- fi
- fi
-fi
-
\ No newline at end of file
diff --git a/src/scripts/plcsimadvanced.sh b/src/scripts/plcsimadvanced.sh
new file mode 100644
index 000000000..3e7e96cb2
--- /dev/null
+++ b/src/scripts/plcsimadvanced.sh
@@ -0,0 +1,30 @@
+export GREEN='\033[0;32m'
+export RED='\033[0;31m'
+export YELLOW='\033[0;33m'
+export NC='\033[0m\r\n' # No Color+CRLF
+
+if [ "$#" -ne 3 ]; then
+ printf "${RED}Usage: $0 \r\n${NC}"
+ exit 1
+fi
+
+INSTANCE_NAME=$1
+if [ -z $INSTANCE_NAME ]; then
+ printf "${RED}The INSTANCE_NAME could not be an empty string.\r\n${NC}"
+ exit 1
+fi
+
+PLC_NAME=$2
+if [ -z $PLC_NAME ]; then
+ printf "${RED}The PLC_NAME could not be an empty string.\r\n${NC}"
+ exit 1
+fi
+
+PLC_IP_ADDRESS=$3
+validate_script=$( dirname ${BASH_SOURCE[0]})"\\validate_ip.sh"
+if ! $validate_script "$PLC_IP_ADDRESS"; then
+ printf "${RED}The PLC_IP_ADDRESS '$PLC_IP_ADDRESS' is not a valid IP address.\r\n${NC}"
+ exit 1
+fi
+
+dotnet run --project ..\\..\\tools\\src\\PlcSimAdvancedStarter\\PlcSimAdvancedStarterTool\\PlcSimAdvancedStarterTool.csproj -- startplcsim -x $APAX_YML_NAME -n $PLC_NAME -t $AXTARGET
diff --git a/src/simatic1500/app/apax.yml b/src/simatic1500/app/apax.yml
index 3bfa43d50..aa8346531 100644
--- a/src/simatic1500/app/apax.yml
+++ b/src/simatic1500/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -66,7 +66,7 @@ scripts:
..\\..\\scripts\\copy_and_install_gsd.sh
hwl: | # copy all templates from library
- ..\\..\\scripts\\copy_hwl_templates.sh
+ ..\\..\\scripts\\copy_hwl_templates.sh
hwcc: | # compile hardware configuration
..\\..\\scripts\\hw_compile.sh
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/template.axolibrary/app/apax.yml b/src/template.axolibrary/app/apax.yml
index 796a36977..3967feb01 100644
--- a/src/template.axolibrary/app/apax.yml
+++ b/src/template.axolibrary/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/timers/app/apax.yml b/src/timers/app/apax.yml
index 0760b8c68..e94ec8073 100644
--- a/src/timers/app/apax.yml
+++ b/src/timers/app/apax.yml
@@ -26,9 +26,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -90,10 +90,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarter.sln b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarter.sln
new file mode 100644
index 000000000..1f5ce0e43
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarter.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35521.163
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlcSimAdvancedStarterTool", "PlcSimAdvancedStarterTool\PlcSimAdvancedStarterTool.csproj", "{2085A8F9-6645-4BF6-AAC5-18D7DA651689}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2085A8F9-6645-4BF6-AAC5-18D7DA651689}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2085A8F9-6645-4BF6-AAC5-18D7DA651689}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2085A8F9-6645-4BF6-AAC5-18D7DA651689}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2085A8F9-6645-4BF6-AAC5-18D7DA651689}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/DTOs/EditableItem.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/DTOs/EditableItem.cs
new file mode 100644
index 000000000..083540d57
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/DTOs/EditableItem.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PlcSimAdvancedStarterTool.DTOs
+{
+ public class EditableItem
+ {
+ public string CuName { get; set; }
+ public string DeclarationLocation { get; set; }
+ public string AttributeDeclaration { get; set; }
+ public string ComponentType { get; set; }
+ public string MethodName { get; set; }
+ public string MethodCall { get; set; }
+
+ public EditableItem(
+ string cuName,
+ string declarationLocation,
+ string attributeDeclaration,
+ string componentType,
+ string methodName,
+ string methodCall)
+ {
+ CuName = cuName ?? throw new ArgumentNullException(nameof(cuName));
+ DeclarationLocation = declarationLocation ?? throw new ArgumentNullException(nameof(declarationLocation));
+ AttributeDeclaration = attributeDeclaration ?? throw new ArgumentNullException(nameof(attributeDeclaration));
+ ComponentType = componentType ?? throw new ArgumentNullException(nameof(componentType));
+ MethodName = methodName ?? throw new ArgumentNullException(nameof(methodName));
+ MethodCall = methodCall ?? throw new ArgumentNullException(nameof(methodCall));
+ }
+ }
+}
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstallation.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstallation.cs
new file mode 100644
index 000000000..dcccbd2ef
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstallation.cs
@@ -0,0 +1,130 @@
+using Microsoft.VisualBasic;
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Reflection;
+using System.Security.AccessControl;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+
+namespace PlcSimAdvancedStarterTool.PlcSim
+{
+ public class PlcSimInstallation
+ {
+ public static bool Check(ref string dllPath, ref string exePath)
+ {
+ dllPath = "";
+ exePath = "";
+ using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
+ {
+ using (RegistryKey? registryKey = baseKey.OpenSubKey("SOFTWARE\\WOW6432Node\\Siemens\\Shared Tools\\PLCSIMADV_SimRT", RegistryKeyPermissionCheck.ReadSubTree, RegistryRights.ReadKey))
+ {
+ string registryPathValue = registryKey?.GetValue("Path") as string;
+ string registryVersionValue = registryKey?.GetValue("Version") as string;
+
+ if (string.IsNullOrWhiteSpace(registryPathValue) )
+ {
+ Console.WriteLine("Unable to discover PLCSimAdvanced installation.");
+ return false;
+ }
+
+ if (string.IsNullOrWhiteSpace(registryVersionValue))
+ {
+ Console.WriteLine("Unable to discover the version of the PLCSimAdvanced.");
+ return false;
+ }
+
+ try
+ {
+ Version libraryVersion = Version.Parse(registryVersionValue);
+
+ if (libraryVersion < Setup.Constants.PlcSimAdvancedMinVersion)
+ {
+ Console.WriteLine($"PlcSimAdvanced version ({libraryVersion}) is lower then min supported version ({Setup.Constants.PlcSimAdvancedMinVersion}).");
+ return false;
+ }
+
+ if (libraryVersion > Setup.Constants.PlcSimAdvancedMaxVersion)
+ {
+ Console.WriteLine($"PlcSimAdvanced version ({libraryVersion}) is higher then max supported version ({Setup.Constants.PlcSimAdvancedMaxVersion}).");
+ return false;
+ }
+ }
+ catch (FormatException)
+ {
+ Console.WriteLine("Invalid version format.");
+ return false;
+ }
+
+ if (!Directory.Exists(registryPathValue))
+ {
+ Console.WriteLine($"Directory {registryPathValue} does not exists, or is not accessible.");
+ return false;
+ }
+
+ registryPathValue = Path.Combine(registryPathValue, "API");
+ if (!Directory.Exists(registryPathValue))
+ {
+ Console.WriteLine($"Directory {registryPathValue} does not exists, or is not accessible.");
+ return false;
+ }
+
+ string[] registryVersionValueParts = registryVersionValue.Split('.');
+
+ registryPathValue = Path.Combine(registryPathValue, $"{registryVersionValueParts[0]}.{registryVersionValueParts[1]}");
+ if (!Directory.Exists(registryPathValue))
+ {
+ Console.WriteLine($"Directory {registryPathValue} does not exists, or is not accessible.");
+ return false;
+ }
+
+ registryPathValue = Path.Combine(registryPathValue, "Siemens.Simatic.Simulation.Runtime.Api.x64.dll");
+ if (!File.Exists(registryPathValue))
+ {
+ Console.WriteLine($"Required file {registryPathValue} does not exists, or is not accessible.");
+ return false;
+ }
+ dllPath = registryPathValue;
+ }
+
+ using (RegistryKey? registryKey = baseKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\Folders", RegistryKeyPermissionCheck.ReadSubTree, RegistryRights.ReadKey))
+ {
+ string[] registryValues = registryKey?.GetValueNames();
+ string plcSimInstallationFolder = "";
+ foreach (string registryValue in registryValues)
+ {
+ if (registryValue.Contains("Siemens\\Automation\\PLCSIMADV\\bin\\"))
+ {
+ plcSimInstallationFolder = registryValue;
+ break;
+ }
+ }
+
+ if (String.IsNullOrEmpty(plcSimInstallationFolder))
+ {
+ return false;
+ }
+
+ if (!Directory.Exists(plcSimInstallationFolder))
+ {
+ Console.WriteLine($"Directory {plcSimInstallationFolder} does not exists, or is not accessible.");
+ return false;
+ }
+
+ plcSimInstallationFolder = Path.Combine(plcSimInstallationFolder, "Siemens.Simatic.PlcSim.Advanced.UserInterface.exe");
+ if (!File.Exists(plcSimInstallationFolder))
+ {
+ Console.WriteLine($"File {plcSimInstallationFolder} does not exists, or is not accessible.");
+ return false;
+ }
+ exePath = plcSimInstallationFolder;
+ }
+ return true;
+ }
+ }
+ }
+}
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs
new file mode 100644
index 000000000..346fb2689
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs
@@ -0,0 +1,152 @@
+using Cocona;
+using System.Reflection;
+using Microsoft.CodeAnalysis;
+using System.Xml.Linq;
+using System.Diagnostics;
+
+
+namespace PlcSimAdvancedStarterTool.PlcSim
+{
+ public class PlcSim
+ {
+ [Command("startplcsim")]
+ public Task StartPlcSim([Option('x', Description = "PlcSim instance name")] string PlcSimInstanceName,
+ [Option('n', Description = "Plc name.")] string PlcName,
+ [Option('t', Description = "Plc Ip address")] string PlcIpAddress)
+ {
+ string dllPath = "";
+ string exePath = "";
+
+ if (PlcSimInstallation.Check(ref dllPath, ref exePath))
+ {
+ // This is a workaround to get the local dll for the PlcSimAdvanced API
+ var entry = new FileInfo(Assembly.GetEntryAssembly().Location);
+ var folder = entry.Directory.FullName;
+
+ // Check if PlcSim is already running
+ if (Process.GetProcesses().Where(p => p.ProcessName.Equals("Siemens.Simatic.PlcSim.Advanced.UserInterface")).Count() > 0)
+ {
+ Console.WriteLine("PlcSimAdvanced already running.");
+ }
+ else
+ {
+ // Start PlcSim
+ Process.Start(new ProcessStartInfo(exePath));
+ Console.WriteLine("PlcSimAdvanced started.");
+ }
+
+ var plcSimAdvancedApiDll = Assembly.LoadFrom(dllPath);
+
+ var simulationRuntimeManager = plcSimAdvancedApiDll.GetType("Siemens.Simatic.Simulation.Runtime.SimulationRuntimeManager");
+ var networkModeProperty = simulationRuntimeManager.GetRuntimeProperty("NetworkMode");
+ var eNetworkModeType = plcSimAdvancedApiDll.GetType("Siemens.Simatic.Simulation.Runtime.ENetworkMode");
+ var tcpipSingleAdapterValue = Enum.Parse(eNetworkModeType, "TCPIPSingleAdapter");
+ networkModeProperty.SetValue(null, tcpipSingleAdapterValue);
+
+ // Check if PlcSimInstanceName is already registered
+ bool instanceAlreadyRegistered = false;
+
+
+ var iInstanceType = plcSimAdvancedApiDll.GetType("Siemens.Simatic.Simulation.Runtime.IInstance");
+ object plcSimInstance = null;
+
+ var registeredInstanceInfoProperty = simulationRuntimeManager.GetProperty("RegisteredInstanceInfo", BindingFlags.Static | BindingFlags.Public);
+ var instanceInfos = registeredInstanceInfoProperty.GetValue(null) as Array;
+ if (instanceInfos != null)
+ {
+ foreach (var instanceInfo in instanceInfos)
+ {
+ string instanceName = instanceInfo.GetType().GetField("Name", BindingFlags.Public | BindingFlags.Instance).GetValue(instanceInfo)?.ToString();
+
+ if (instanceName.Equals(PlcSimInstanceName))
+ {
+ Console.WriteLine($"Instance {PlcSimInstanceName} already registered.");
+ var createInterfaceMethod = simulationRuntimeManager.GetMethod("CreateInterface", BindingFlags.Static | BindingFlags.Public, null, new Type[] { typeof(string) }, null);
+ plcSimInstance = createInterfaceMethod.Invoke(null, new object[] { PlcSimInstanceName });
+ instanceAlreadyRegistered = true;
+ break;
+ }
+ }
+ }
+
+
+ // Register PlcSimInstanceName
+ if (!instanceAlreadyRegistered)
+ {
+ var registerInstanceMethod = simulationRuntimeManager.GetMethod("RegisterInstance", BindingFlags.Static | BindingFlags.Public, null, new Type[] { typeof(string) }, null);
+ plcSimInstance = registerInstanceMethod.Invoke(null, new object[] { PlcSimInstanceName });
+ Console.WriteLine($"Instance {PlcSimInstanceName} registered.");
+ }
+
+ // Power On
+ var eOperatingStateType = plcSimAdvancedApiDll.GetType("Siemens.Simatic.Simulation.Runtime.EOperatingState");
+ string operatingStateTypeOffValue = Enum.Parse(eOperatingStateType, "Off").ToString();
+ string operatingStateValue = plcSimInstance.GetType().GetRuntimeProperty("OperatingState").GetValue(plcSimInstance).ToString();
+
+ if (operatingStateValue.Equals(operatingStateTypeOffValue))
+ {
+ var powerOnMethod = plcSimInstance.GetType().GetMethod("PowerOn", BindingFlags.Public | BindingFlags.Instance, null, new Type[] { typeof(uint) }, null);
+ uint timeout = 6000;
+ powerOnMethod.Invoke(plcSimInstance, new object[] { timeout });
+ Console.WriteLine($"Instance {PlcSimInstanceName} powered on.");
+ }
+ else
+ {
+ Console.WriteLine($"Instance {PlcSimInstanceName} already powered.");
+ }
+
+ // Set Ip address
+ var sipSuiteType = plcSimInstance.GetType().Assembly.GetType("Siemens.Simatic.Simulation.Runtime.SIPSuite4");
+
+ if (sipSuiteType != null)
+ {
+ var setIpSuiteMethod = plcSimInstance.GetType().GetMethod("SetIPSuite", BindingFlags.Public | BindingFlags.Instance);
+ if (setIpSuiteMethod != null)
+ {
+ var sipSuiteInstance = Activator.CreateInstance(sipSuiteType, new object[] { PlcIpAddress, "255.255.255.0", "0.0.0.0" });
+ if (sipSuiteInstance != null)
+ {
+ setIpSuiteMethod.Invoke(plcSimInstance, new object[] { (UInt32)0, sipSuiteInstance, true });
+ }
+ else
+ {
+ Console.WriteLine("Failed to create SIPSuite4 instance.");
+ return Task.CompletedTask;
+ }
+ }
+ else
+ {
+ Console.WriteLine("SetIPSuite method not found.");
+ return Task.CompletedTask;
+ }
+ }
+ else
+ {
+ Console.WriteLine("SIPSuite4 type not found.");
+ return Task.CompletedTask;
+ }
+
+ // Run
+ string operatingStateTypeStopValue = Enum.Parse(eOperatingStateType, "Stop").ToString();
+ operatingStateValue = plcSimInstance.GetType().GetRuntimeProperty("OperatingState").GetValue(plcSimInstance).ToString();
+
+ if (operatingStateValue.Equals(operatingStateTypeStopValue))
+ {
+ try
+ {
+ var runMethod = plcSimInstance.GetType().GetMethod("Run", BindingFlags.Public | BindingFlags.Instance, null, new Type[] { typeof(uint) }, null);
+ uint timeout = 6000;
+ runMethod.Invoke(plcSimInstance, new object[] { timeout });
+ Console.WriteLine($"PLC set to RUN mode.");
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"Unable to set the PLC into the RUN mode. {ex.Message}");
+
+ }
+ }
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSimAdvancedStarterTool.csproj b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSimAdvancedStarterTool.csproj
new file mode 100644
index 000000000..539416181
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSimAdvancedStarterTool.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Program.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Program.cs
new file mode 100644
index 000000000..d7df459f6
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Program.cs
@@ -0,0 +1,17 @@
+using Cocona;
+using System.Reflection;
+using PlcSimAdvancedStarterTool.PlcSim;
+
+internal class Program
+{
+ private static void Main(string[] args)
+ {
+ var builder = CoconaApp.CreateBuilder();
+
+ var app = builder.Build();
+
+ app.AddCommands();
+
+ app.Run();
+ }
+}
\ No newline at end of file
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Properties/launchSettings.json b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Properties/launchSettings.json
new file mode 100644
index 000000000..9270d78c2
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Properties/launchSettings.json
@@ -0,0 +1,9 @@
+{
+ "profiles": {
+ "startplcsim": {
+ "commandName": "Project",
+ "workingDirectory": "",
+ "commandLineArgs": "startplcsim -x abcd.efgh -n test_plc -t 10.10.20.1"
+ }
+ }
+}
diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Setup/Constants.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Setup/Constants.cs
new file mode 100644
index 000000000..ec4a4ab6c
--- /dev/null
+++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/Setup/Constants.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PlcSimAdvancedStarterTool.Setup
+{
+ public static class Constants
+ {
+ public static readonly Version PlcSimAdvancedMinVersion = new Version(7, 0, 0);
+ public static readonly Version PlcSimAdvancedMaxVersion = new Version(7, 9, 9);
+
+ }
+}
diff --git a/src/utils/app/apax.yml b/src/utils/app/apax.yml
index 8a573406f..4c62affe9 100644
--- a/src/utils/app/apax.yml
+++ b/src/utils/app/apax.yml
@@ -27,9 +27,9 @@ scripts:
# AXTARGETPLATFORMINPUT: Folder of the compiled software to be downloaded to the PLC. Use the value ".\bin\1500\" for the S7-1500 controller, even if running inside PLCSIM
# AXTARGETPLCSIMINSTANCE: Name of the PLCSIM instance to start. The instance must already exist.
# MY_VERY_STRONG_PASSWORD: Password for 'AX_USERNAME'
- # AXUSEPLCSIM with value of "true" will automatically trigger PLCSIM when calling apax alf or apax all
+ # USE_PLC_SIM_ADVANCED with value of "true" will automatically trigger PlcSimAdvanced when calling apax alf or apax all
# PNIO_MAC: MAC address of the network adapter connected to the Profinet network
- plcsim: ..\\..\\scripts\\StartPlcSimAdvCli.exe #start PLCSIM
+ plcsim: ..\\..\\scripts\\plcsimadvanced.sh $APAX_YML_NAME $PLC_NAME $AXTARGET
r: | #restart PLC
..\\..\\scripts\\restart_PLC.sh $AXTARGET $PLC_NAME
@@ -91,10 +91,10 @@ scripts:
alf: | #clear plc except ip and name and provide all actions for install all, build and initial download hw so as sw
START=$(date +%s)
- ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all_first.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"
all: | #build and download hardware and software
START=$(date +%s)
- ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD
+ ..\\..\\scripts\\all.sh $DEFAULT_NAMESPACE $PLC_NAME $AXTARGET $AXTARGETPLATFORMINPUT $AX_USERNAME $MY_VERY_STRONG_PASSWORD $USE_PLC_SIM_ADVANCED
echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in :" $(expr $(date +%s) - $START) "s"