diff --git a/.gitignore b/.gitignore index d55ca7c..8a4c7b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ **/.apax /.vs **/node_modules +**/.DS_Store diff --git a/00_introduction/slides/slides.md b/00_introduction/slides/slides.md index f0e35f7..d042e42 100644 --- a/00_introduction/slides/slides.md +++ b/00_introduction/slides/slides.md @@ -39,13 +39,13 @@ mouseWheel: true, | **00** | **Introduction to the workshop** | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Loading and Debugging | -| 04 | Introduction to ST Programming | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| 08 | Package management | -| 09 | Versioning and Continuous Integration | +| 03 | Hardware Configuration | +| 04 | Loading and Debugging | +| 05 | Introduction to ST Programming | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | --- diff --git a/01_introduction_to_ax_code/slides/slides.md b/01_introduction_to_ax_code/slides/slides.md index bd6fe55..00b5176 100644 --- a/01_introduction_to_ax_code/slides/slides.md +++ b/01_introduction_to_ax_code/slides/slides.md @@ -13,13 +13,14 @@ mouseWheel: true, | 00 | Introduction to the workshop | | **01** | **Introduction to the SIMATIC AX Code IDE** | | 02 | Get started with your first AX Project | -| 03 | Loading and Debugging | -| 04 | Introduction to ST Programming | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| 08 | Package management | -| 09 | Versioning and Continuous Integration | +| 03 | Hardware Configuration +| 04 | Loading and Debugging | +| 05 | Introduction to ST Programming | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | +| --- diff --git a/03_hardware_configuration/apax.yml b/03_hardware_configuration/apax.yml new file mode 100644 index 0000000..0c5093b --- /dev/null +++ b/03_hardware_configuration/apax.yml @@ -0,0 +1,9 @@ +name: 99_template + +version: 0.0.0 +type: generic + +scripts: + present: reveal-md ./slides/slides.md --theme ./slides/theme/simatic-ax.css --watch +dependencies: + "@ax/sdk": 2405.0.0 diff --git a/03_hardware_configuration/slides/img/GSDML_viewer.png b/03_hardware_configuration/slides/img/GSDML_viewer.png new file mode 100644 index 0000000..3676b6f Binary files /dev/null and b/03_hardware_configuration/slides/img/GSDML_viewer.png differ diff --git a/03_hardware_configuration/slides/img/HardwareIdentifiers.png b/03_hardware_configuration/slides/img/HardwareIdentifiers.png new file mode 100644 index 0000000..cc90ae1 Binary files /dev/null and b/03_hardware_configuration/slides/img/HardwareIdentifiers.png differ diff --git a/03_hardware_configuration/slides/img/Hardware_Support_Package.png b/03_hardware_configuration/slides/img/Hardware_Support_Package.png new file mode 100644 index 0000000..3559c6b Binary files /dev/null and b/03_hardware_configuration/slides/img/Hardware_Support_Package.png differ diff --git a/03_hardware_configuration/slides/img/IoAddresses.png b/03_hardware_configuration/slides/img/IoAddresses.png new file mode 100644 index 0000000..79a16bf Binary files /dev/null and b/03_hardware_configuration/slides/img/IoAddresses.png differ diff --git a/03_hardware_configuration/slides/img/Portinterconnection.png b/03_hardware_configuration/slides/img/Portinterconnection.png new file mode 100644 index 0000000..61fcfa7 Binary files /dev/null and b/03_hardware_configuration/slides/img/Portinterconnection.png differ diff --git a/03_hardware_configuration/slides/img/SecurityConfiguration-File-Cert.png b/03_hardware_configuration/slides/img/SecurityConfiguration-File-Cert.png new file mode 100644 index 0000000..bf2ed04 Binary files /dev/null and b/03_hardware_configuration/slides/img/SecurityConfiguration-File-Cert.png differ diff --git a/03_hardware_configuration/slides/img/SecurityConfiguration-File.png b/03_hardware_configuration/slides/img/SecurityConfiguration-File.png new file mode 100644 index 0000000..17c2d76 Binary files /dev/null and b/03_hardware_configuration/slides/img/SecurityConfiguration-File.png differ diff --git a/03_hardware_configuration/slides/img/UMAC_in_hwl_yml.png b/03_hardware_configuration/slides/img/UMAC_in_hwl_yml.png new file mode 100644 index 0000000..e09b31e Binary files /dev/null and b/03_hardware_configuration/slides/img/UMAC_in_hwl_yml.png differ diff --git a/03_hardware_configuration/slides/img/apply_template.png b/03_hardware_configuration/slides/img/apply_template.png new file mode 100644 index 0000000..db4345c Binary files /dev/null and b/03_hardware_configuration/slides/img/apply_template.png differ diff --git a/03_hardware_configuration/slides/img/extension_GSDML_viewer.png b/03_hardware_configuration/slides/img/extension_GSDML_viewer.png new file mode 100644 index 0000000..3bafb3f Binary files /dev/null and b/03_hardware_configuration/slides/img/extension_GSDML_viewer.png differ diff --git a/03_hardware_configuration/slides/img/get-supported-devices.png b/03_hardware_configuration/slides/img/get-supported-devices.png new file mode 100644 index 0000000..a7a08e1 Binary files /dev/null and b/03_hardware_configuration/slides/img/get-supported-devices.png differ diff --git a/03_hardware_configuration/slides/img/hw-diag-cli.png b/03_hardware_configuration/slides/img/hw-diag-cli.png new file mode 100644 index 0000000..f2f900c Binary files /dev/null and b/03_hardware_configuration/slides/img/hw-diag-cli.png differ diff --git a/03_hardware_configuration/slides/img/hwl-yml-access.png b/03_hardware_configuration/slides/img/hwl-yml-access.png new file mode 100644 index 0000000..3a28218 Binary files /dev/null and b/03_hardware_configuration/slides/img/hwl-yml-access.png differ diff --git a/03_hardware_configuration/slides/img/hwl-yml-file.png b/03_hardware_configuration/slides/img/hwl-yml-file.png new file mode 100644 index 0000000..3234c90 Binary files /dev/null and b/03_hardware_configuration/slides/img/hwl-yml-file.png differ diff --git a/03_hardware_configuration/slides/img/securityPrinciples.png b/03_hardware_configuration/slides/img/securityPrinciples.png new file mode 100644 index 0000000..5500077 Binary files /dev/null and b/03_hardware_configuration/slides/img/securityPrinciples.png differ diff --git a/03_hardware_configuration/slides/img/template_ET200M.png b/03_hardware_configuration/slides/img/template_ET200M.png new file mode 100644 index 0000000..a41c33a Binary files /dev/null and b/03_hardware_configuration/slides/img/template_ET200M.png differ diff --git a/03_hardware_configuration/slides/img/template_ET200SP.png b/03_hardware_configuration/slides/img/template_ET200SP.png new file mode 100644 index 0000000..8ade9bf Binary files /dev/null and b/03_hardware_configuration/slides/img/template_ET200SP.png differ diff --git a/03_hardware_configuration/slides/img/templates_placeholder.png b/03_hardware_configuration/slides/img/templates_placeholder.png new file mode 100644 index 0000000..2ec11c8 Binary files /dev/null and b/03_hardware_configuration/slides/img/templates_placeholder.png differ diff --git a/03_hardware_configuration/slides/slides.md b/03_hardware_configuration/slides/slides.md new file mode 100644 index 0000000..a389849 --- /dev/null +++ b/03_hardware_configuration/slides/slides.md @@ -0,0 +1,631 @@ + +Agenda + +| ID | Topic | +| -- | ----- | +| 00 | Introduction to the workshop | +| 01 | Introduction to AX Code IDE | +| 02 | Get started with your first AX Project | +| **03** | **Hardware Configuration** | +| 04 | Introduction to ST Programming | +| 05 | Loading and Debugging | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | + + +--- + +
+

Prerequisites

+
+ +
+

To get started, you need to have SIMATIC AX, apax and all its prerequisites installed.

+

In addition you should know the basics on how to use AX Code as well as have a starting project and know the basics of hardware configuration.

+

You should execute the Getting Starting - Preparing the IT-like PLC engineering workflow.

+
+

With this you are set up to continue with this learning path.

+
+ +--- + +
+

+ What will you learn in this chapter +

+
+ +
+

After you complete this training section, you will have:

+ +
+
+ +--- + +
+

IT-Like Hardware Engineering

+

The description of the configuration

+
+ +
+
+

+ In order to create the hardware configuration for a PLC, the first step we need to take is to understand how the hardware configuration is described in a textual declaration for an IT-like context.

+
+

The format in which the hardware configuration is created is YAML. YAML has the following advantages as a format: +

+

+
+

The devices and dependent modules, including all properties, can be easily defined and set.

+
+ +
+ +
+
    +
  1. Information about YAML format: YAML
  2. +
+
+ +--- + +
+

IT-Like Hardware Engineering

+

Main Hardware Tools

+
+ +
+

In the hardware environment, there are two basic tools that perform the main tasks. The tools are added over sdk the `apax add --dev @ax/sdk` command. But it is also possible to insert both without sdk. This tools are as follows:

+
+ +
+

For more information about the components and their commands and parameters, see:

+ +
+ +--- + +
+

IT-Like Hardware Engineering

+

Integration of additional hardware into a project

+
+ +
+

To operate a system, you need to configure not only the PLC but also the corresponding modules, motors, and so on. Accordingly, AX offers various options for incorporating configuration information for modules into the project. There are two options here:

+ +
+

In the following section we will show you how to proceed in order to have the hardware information available in the project.

+
+

We will show how the modules are integrated into the project in the following chapter on templates.

+
+ +---- + +
+

Use of GSD Files

+
+ +
+ +

The GSD (General Station Description) format is a description language used to describe and parameterize hardware settings. It is a standard supported by all PROFINET device manufacturers. Accordingly, each hardware manufacturer provides the description file. +
+

First, you need to contact the manufacturer of the module you want to use and obtain the GSD file. This is then usually inserted into the project. + We recommend creating a folder called `gsd` in the project and inserting the files there centrally. After that, you need to make the module known in the project so that you can use it. This is done with the help of the hardware compiler. You call:

+
+

apax hwc install-gsd --input <name_of_GsdFile>

+
+

The install-gsd command will generate intermediate files that are required for Hardware Compiler from the GSDML or GSDX files.

+
+

These intermediate files will be placed in the GSD installation cache folder. If you use Hardware Compiler version 3.1 or later, it is located in the .ax folder of your user folder. After this, the hardware compiler is ready to use the information from the GSDML file by the compile.

+
+
    +
  1. Additional information about GSDML: GSDML Specification for PROFINET
  2. +
  3. Additional information about the import of GSDML Files: GSDML information on AX Documentation
  4. +
+
+ +---- + +
+

Extension GSDML Viewer

+
+
+
+

Depending on how many devices and modules it describes, a GSD file can become very large, making it difficult to determine which configuration parameters an module has and which values it can assume.

+
+

For a graphical overview, we offer an extension that can be integrated into AX code (see image to the right). You can then click on a GSDML XML file, and it will open in the extension (see below).

+
+
+ +
+ +
+
    +
  1. Additional information about GSDML Viewer: GSDML Viewer on AX-Website
  2. +
+ + +---- + +
+

Siemens Hardware via Support Packages

+
+ +
+

A hardware support package is viewed as a package from the AX side. Accordingly, it can be added to the project like any other package. You call the `apax add` command, as in the following example for importing the standard 1500 modules:

+
+

apax add --dev @ax/hw-s7-1500

+
+

The package can then be seen in apax.yml under development dependencies:

+ +
+

+ If you now open the project on another PC, the hardware information will also be added to the project via a simple `apax install`. + By default, the hardware support package for the 1500 PLC is included in the SDK. + If additional Siemens hardware is required that is not yet offered as a hardware support package, it can of course also be imported as GSDML. +

+
+
    +
  1. A current overview of available hardware can be found in the AX documentation: Hardware Support Packages
  2. +
+
+ +---- + +
+

Overview of what hardware is installed in the project

+
+ +
+

You want to know which modules are known to the hardware compiler in the project, and/or what IDs they have. This can be done using a corresponding command in the hardware compiler, which looks like this:

+
+

apax hwc get-supported-devices

+
+

After this, you'll see an overview in the terminal that looks like this. This is divided into different types (modules/PLCs, etc.) and the type of integration (support packages or via GSD file).

+
+ +
+ +--- + +
+

IT-Like Hardware Engineering

+

Use of Templates

+
+ +
+

The previous section showed how to use the configuration information in the project. There are basically two ways to do this:

+ +
+

The hardware compiler has the function of creating a template, which creates all the attributes made available for parameterization by the configuration file with the default values.

+
+

A template is initially referred to as the template of a hardware module, but later also as files that can be used multiple times in a project for modules with the same configuration. In this sense, hardware templates offer several advantages. Among other things, they can be:

+ +
+

It is important to note, however, that the identifier for the hardware compiler is the name. This means that a module name or template name in a project must be unique and cannot be used multiple times.

+
+ +---- + +
+

Templates from GSD

+
+ +
+
+

The prerequisite for creating a template from a GSD file is that it is installed in the project. To call it, you need the GSD ID of the assembly in the file.

+
+

The command used to create a template from a GSDML file is shown on the right. The file and assembly ID must be specified accordingly. The result of the execution is shown.

+
+

However, placeholders are assigned for the template and assembly names, which must be manually modified to prevent duplicate names from being assigned when creating a second template.

+
+
    +
  1. The GSDML for Siemens modules, one of which was also used for the ET200SP, can be downloaded from Siemens Support:
    Link to Siemens Online Support Portal
  2. +
+
+
+

apax hwc generate-template-file
--output hwc/templates/ET200SP_DQ_template.hwl.yml
--gsd-file-name GSDML-V2.43-Siemens-ET200SP-20240726.xml
--gsd-id "DQ 16x24VDC/0,5A ST"

+ +
+
+ +---- + +
+

Templates from hardware support packages

+
+ +
+ +
+

The templates from the modules that come via the Hardware Support Packages are created in the same way as with GSDML. This is the same command, only different parameters must be specified. The command looks like this:

+
+

apax hwc generate-template-file
--output hwc/templates/MP_DQ_template.hwl.json
--order-number "6ES7 522-1BL00-0AB0"
--version V2.0

+
+

The "order number" and "version" must be passed. The generated template can now be seen on the right.

+
+
+ +---- + +
+

Use of placeholders

+
+ +
+

In the example shown here, the same template is used in an ET200SP. Accordingly, a different name is passed. Additionally, the white potential module is passed for the first module, which is not necessary for the second, since the black module is the default value. Here is an example of how it is used:

+
+
+
+

The variables are parameterized accordingly under the keyword Placeholders. The following things are defined using the following keywords:

+
    +
  • Name: The name of the placeholder, which is then also applied in the content
  • +
  • Value: The default value if the variable is not specified. If this is not set, the variable must always be specified when applying.
  • +
  • AllowedValues: +A restriction of the values that can be entered. If, for example, the assembly has more setting options, but the process only allows certain values, this can be restricted.
  • +
+

The keyword Content contains the description of the module with the application of the placeholder, see "${Modulename}"

+
+ +
+
+ +---- + +
+

Apply templates

+
+ +
+

Now that the template is ready for use, it must be applied accordingly in main (the file that instantiates the plc) yml file.

+
+

To use a template, the keyword "Apply" is used. Additionally, the name of the template to be applied must be specified. + Depending on whether placeholders are assigned and these are not initialized, they must be parameterized as "Arguments".

+
+ +

In the example shown here, the same template is used in an ET200SP.
Accordingly, a different name is passed via the parameter ModuleName.
As an example for the use of the default values in the template, the white potential module is passed via the parameter "BaseUnit" for the first module, which is not necessary for the second, since the black module is the default value.

+
+
+ +
    +

  1. Additional information about templates can be found on the AX page: Templating in hardware configuration
  2. +
+ +--- + +
+

IT-Like Hardware Engineering

+

Security Settings

+
+
+

Like all Siemens software, SIMATIC AX also represents the principle of "Security by default". + Accordingly, the security aspects must be set up in the project before loading the PLC.

+

Security consists of the following two aspects:

+ + +
+ +
    +
  1. Information about: Security
  2. +
+ +---- + +
+

Set Up PLC Security Configuration

+
+ +
+
+

+ To create the appropriate security settings for a PLC, you first need a PLC description file. The PLC is the central element in a hardware configuration, to which all other modules are interconnected. The basic configuration can now be created, for example, by generating a template from a PLC in a hardware support package.

+
+

In this file you can also set some basic settings in relation of Authentication and Authorization: +

+

+
+
+ +
+ +
+
    +
  1. Informations about: Configuration of PLC services
  2. +
+
+ +---- + +
+

The PLC Security Configuration File

+
+ +
+

To fullfill the cyber security needs of a production facility, additional information must be stored and loaded onto the PLC. This information is not necessarily generic or even stored in a readable format, as you can see down in the screenshot. Examples include passwords or certificate keys.

+
+ +
+

Creating the file is also necessary in order to successfully compile the PLC. +
If the file is deleted or manually modified, it must be deleted and completely recreated.

+
+

To create the file, the command "apax hwc setup-secure-communication" called with the following parameters.: +

+

+
    +
  1. For more Information flowing the links for the topics:
    PLC Configuration Data Protection +
    setup-secure-communication command
  2. +
+
+ +---- + +
+

Certificate handling

+
+ + + +
+

As already mentioned, the certificate handling is required for the authentication aspect. Accordingly, the hwc offers the option of importing certificates. + This is done via the command "apax hwc import-certificate"

+

In addition to the information about which PLC the certificate refers to, the certificate file, password, and purpose must also be specified.

+

Purpose can include TLS, WebServer, SysLogClient and OpcUaServer

+

Once the certificate has been added, you can find it in the security configuration file and also find the file index.

+
+

Some commands or blocks break the certificate index. The whole thing then looks like the screenshot shown:

+ + +
    +

  1. For More Informations about the Command check the documentation on the AX Side:
    Import certificate command
  2. +
+
+ +---- + +
+

User Management UMAC - Define Users and Roles in hwl.yml

+
+ +
+

To enable authorization on a PLC, users, passwords, and roles must be assigned. This whole process is referred to as User Management Access Control (UMAC). It consists of two pillars: the assignment of roles and rights, and the assignment of passwords. Passwords are assigned via the CLI and are discussed on the next page. +If the config file and PLC Security Configuration File are not kept synchronized, errors may occur during hardware compilation

+
+
+
+

Roles are configured in the hwl.yml file. A "UserManagement" section is created when defining the PLC. There, roles can be defined and then assigned to users.

+

The function roles can come from the following things, for example.:

+ +
+ +
+
    +

  1. For More Informations about UMAC on the AX Side:
    User Management Access Control (UMAC)
  2. +
+
+ +---- + +
+

User Management UMAC -
Managing User Credentials over command line of hwc

+
+ +
+

Using the command "apax hwc manage-users", you can list all known users, assign passwords, and create users. As with the other commands, you must specify the PLC name and the location of the PLC config file the user is currently in with the same --input parameters you would pass to hwc compile. Note: Role assignment is still done via the hwl config file. Therefore, both the config file and user management in the PLC Security Configuration File must be maintained.

+
+

The command now offers the following options: +

+

+
    +

  1. For More Informations about mange User Command on AX Side:
    Manage User Command
  2. +
+ +
+ + +--- + +
+

IT-Like Hardware Engineering

+

Hardware Identifiers

+
+ +
+

When you set up or assemble a system for the first time, it's important to assign communication addresses, such as the IP address, to the modules, since the modules are delivered with the same values from the factory. This applies to the spare parts use case.
+ Therefore, AX must have a way for a module to know its unique identifiers. Accordingly, you can describe in AX which port is connected to which module. This allows the system to recognize which device is involved and assign the device identifiers based on the network interconnection.
+ The following is a parameterization example showing how different modules are connected to a SCALANCE X208:

+
+
+


The keyword "PortInterconnections" opens the section where you describe everything.

Using the word "Ports" and the corresponding reference ("Ref"), you specify which port is connected to which port via network cable.

+ +
+
+ +
    +

  1. Additional information about templates can be found on the AX page: Topology Configuration
  2. +
+ +--- + +
+

IT-Like Hardware Engineering

+

Constant Values that will be used in software program

+
+ +
+

During hardware configuration, values/variables are assigned which can be referred to in the user program.

+
+

After compiling a hardware configuration, hwc will generate ST files that define variables for Hardware Identifiers and IO Addresses of each module inside the folder SystemConstants. The files or values you need can simply be copied into the src folder of the software program. +
Additional information: When the PLC is generated, the values assigned are also saved in JSON files in order to retain values that have already been assigned.

+
+

We will briefly show the two files containing the values on the following page.

+
+ +---- + +
+

I/O Addresses

+
+ +
+

The I/O addresses are the addresses used to access the signals via the module. This is the process image that contains the current values pending on the hardware or those to be written to the hardware. +
The I/O addresses of a module will be stored as the largest possible type inside the IoAddresses file.

+
+

Here is an example of what such a generated file looks like:

+
+ +
+ +---- + +
+

Hardware Identifiers

+
+ + +
+
+

+Some functions require that you access the hardware in the program or specify which module it is. For this purpose, hardware identifiers are created during compilation. These are of type UINT. The names correspond to the module name. An example of such a file looks like the one shown on the right.

+ +
+
+ + + +--- + +
+

IT-Like Hardware Engineering

+

Diagnostic and hardware functions

+
+ +
+

When commissioning a program, you need various tools for general diagnostics, for example, to view or trace online values from the PLC. Therefore, we have created a separate chapter in the Learning Path dedicated exclusively to general diagnostics. +

However, we will show the hardware-specific diagnostic tools on the next slide that you need to get your first hardware running.

+
+ +---- + +
+

HW Overview and Online / Offline compare

+
+ +
+

One of the main hardware-specific diagnostics is checking the online status or checking whether the hardware parameterized in the project is compatible with the current status of the existing hardware.

+
+

The AX Ecosystem provides the hardware diagnostics tool, which can be installed with "apax add --dev @ax/hardware-diagnostics" in the project like a package.

+
+

Once the tool is installed, you can run the corresponding command apax hw-diag compare to compare your online and offline hardware. It must be noted that appropriately parameterized authentication information such as user/password and certificate must also be transferred. The result will be displayed in the terminal and will look like the image below:

+
+
+ + +
+
+
    +

  1. Additional information about hardware diagnostics can be found on the AX page: Hardware Diagnostic
  2. +
+ +--- + +
+

IT-Like Hardware Engineering

+

Exercise

+
+ +
+

Now it's time to put what you've learned into practice. To do this, please complete an exercise and follow the steps below. Feel free to flip back to the relevant pages for help.

+ +
+
+
    +

    The links to the following tools on the AX page are also helpful:

    + +
+
+ +--- + +
+

IT-Like Hardware Engineering

+

What did you learn?

+
+ +
+ +
+

Congratulations, you've created your first hardware configuration. We recommend, however, that you use a template to store your basic settings so you don't have to start from scratch every time and have your usual settings and scripts available right from the start.

+
\ No newline at end of file diff --git a/08_package_management/slides/theme/.DS_Store b/03_hardware_configuration/slides/theme/.DS_Store similarity index 100% rename from 08_package_management/slides/theme/.DS_Store rename to 03_hardware_configuration/slides/theme/.DS_Store diff --git a/08_package_management/slides/theme/siemens.svg b/03_hardware_configuration/slides/theme/siemens.svg similarity index 100% rename from 08_package_management/slides/theme/siemens.svg rename to 03_hardware_configuration/slides/theme/siemens.svg diff --git a/03_hardware_configuration/slides/theme/simatic-ax.css b/03_hardware_configuration/slides/theme/simatic-ax.css new file mode 100644 index 0000000..8f32682 --- /dev/null +++ b/03_hardware_configuration/slides/theme/simatic-ax.css @@ -0,0 +1,294 @@ +/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +html { + /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */ + font-family: + system-ui, + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; + line-height: 1.15; /* 1. Correct the line height in all browsers. */ + -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */ + -moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */ + tab-size: 4; /* 3 */ +} + +/* +Sections +======== +*/ + +body { + margin: 0; /* Remove the margin in all browsers. */ +} +body { + background: rgb(0,0,40); + background-color: rgb(0,0,40); + /* Siemens Stone light 35%. White background makes index page unreadable (white links). */ +} + +/* ugly trick to use white background for normal slides */ +.js body { + background: rgb(0,0,40); + background-color: rgb(0,0,40); +} + +section.has-dark-background, +section.has-dark-background h1, +section.has-dark-background h2, +section.has-dark-background h3, +section.has-dark-background h4, +section.has-dark-background h5, +section.has-dark-background h6 { + color: #fff; +} + +section { + display: flex!important; + flex-direction: column; + align-items: left; + text-align: left; + height: 100%; + margin: 1em 1em; + overflow: hidden; +} + +section.centered { + display: flex!important; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; +} + +h1, h2, h3, h4, h5, p, td, li { + text-shadow: transparent 0px 0px; + font-family: "Siemens Sans Global", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + font-weight: 700; + line-height: 0.9; +} + +p, td, li { + font-weight: 500; +} + +h1 { + font-size: 5em; + letter-spacing: -0.05em; + background: linear-gradient(90deg, rgb(0, 190, 220), rgb(0, 215, 160)); + -webkit-background-clip: text; /* clip the background to the text inside the tag*/ + background-clip: text; + -webkit-text-fill-color: transparent; /* make the text transparent so the background shows through*/ + padding: 0 0 0.25em 0; + margin: 0 0 0.25em 0; +} + +h2 { + font-size: 3em; + letter-spacing: -0.05em; + background: linear-gradient(90deg, rgb(0, 190, 220), rgb(0, 215, 160)); + -webkit-background-clip: text; /* clip the background to the text inside the tag*/ + background-clip: text; + -webkit-text-fill-color: transparent; /* make the text transparent so the background shows through*/ + padding: 0 0 0.25em 0; + margin: 0 0 0.25em 0; +} + +h3 { + font-size: 2em; + padding: 0 0 0.25em 0; + margin: 0 0 0.25em 0; +} + +h4 { + font-size: 1.25em; + font-weight: 900; +} + +p, li { + line-height: 1.75rem; + font-size: 1.2rem; +} + +table { + +} + +th, tr { + line-height: 4rem; + padding: 0.75rem 0rem; +} +td { + padding: 0.5rem 0.05rem; + font-size: 1.25rem; + text-align: left; +} + +.slide_header{ + margin-bottom: 3rem; +} + +.flex-row { + display: flex; + flex-direction: row; +} + + +.flex-col { + display: flex; + flex-direction: column; +} + +.items-stretch{ + align-items: stretch; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.justify-start { + justify-content: start; +} + +.grid-two-col-eq { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-column-gap: 4rem; +} + +br { + margin: 2rem; +} + +ul { + margin-top: 0.75rem; + margin-left: 2rem; +} + +li { + margin: 0.25rem 0; +} + +/* +Grouping content +================ +*/ + +/** +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ +} + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/** +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +Tabular data +============ +*/ + +/** +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ +} diff --git a/08_package_management/apax.yml b/04_loading_and_debugging/apax.yml similarity index 100% rename from 08_package_management/apax.yml rename to 04_loading_and_debugging/apax.yml diff --git a/03_loading_and_debugging/assets/ax/HwConfiguration.hwdat b/04_loading_and_debugging/assets/ax/HwConfiguration.hwdat similarity index 100% rename from 03_loading_and_debugging/assets/ax/HwConfiguration.hwdat rename to 04_loading_and_debugging/assets/ax/HwConfiguration.hwdat diff --git a/03_loading_and_debugging/assets/ax/HwConfiguration.hwdat.hash b/04_loading_and_debugging/assets/ax/HwConfiguration.hwdat.hash similarity index 100% rename from 03_loading_and_debugging/assets/ax/HwConfiguration.hwdat.hash rename to 04_loading_and_debugging/assets/ax/HwConfiguration.hwdat.hash diff --git a/03_loading_and_debugging/assets/ax/Meta.json b/04_loading_and_debugging/assets/ax/Meta.json similarity index 100% rename from 03_loading_and_debugging/assets/ax/Meta.json rename to 04_loading_and_debugging/assets/ax/Meta.json diff --git a/03_loading_and_debugging/assets/ax/PkiContainer.hwdat b/04_loading_and_debugging/assets/ax/PkiContainer.hwdat similarity index 100% rename from 03_loading_and_debugging/assets/ax/PkiContainer.hwdat rename to 04_loading_and_debugging/assets/ax/PkiContainer.hwdat diff --git a/03_loading_and_debugging/assets/ax/PkiContainer.hwdat.hash b/04_loading_and_debugging/assets/ax/PkiContainer.hwdat.hash similarity index 100% rename from 03_loading_and_debugging/assets/ax/PkiContainer.hwdat.hash rename to 04_loading_and_debugging/assets/ax/PkiContainer.hwdat.hash diff --git a/03_loading_and_debugging/assets/certificateForConnection.crt b/04_loading_and_debugging/assets/certificateForConnection.crt similarity index 100% rename from 03_loading_and_debugging/assets/certificateForConnection.crt rename to 04_loading_and_debugging/assets/certificateForConnection.crt diff --git a/03_loading_and_debugging/assets/plcsim_advanced_v6_image.7z b/04_loading_and_debugging/assets/plcsim_advanced_v6_image.7z similarity index 100% rename from 03_loading_and_debugging/assets/plcsim_advanced_v6_image.7z rename to 04_loading_and_debugging/assets/plcsim_advanced_v6_image.7z diff --git a/03_loading_and_debugging/assets/tia/AxHwTemplate.zap19 b/04_loading_and_debugging/assets/tia/AxHwTemplate.zap19 similarity index 100% rename from 03_loading_and_debugging/assets/tia/AxHwTemplate.zap19 rename to 04_loading_and_debugging/assets/tia/AxHwTemplate.zap19 diff --git a/07_tools_for_commissioning/exercises/0_first_exercise/README.md b/04_loading_and_debugging/exercises/0_first_exercise/README.md similarity index 100% rename from 07_tools_for_commissioning/exercises/0_first_exercise/README.md rename to 04_loading_and_debugging/exercises/0_first_exercise/README.md diff --git a/07_tools_for_commissioning/exercises/0_first_exercise/apax.yml b/04_loading_and_debugging/exercises/0_first_exercise/apax.yml similarity index 100% rename from 07_tools_for_commissioning/exercises/0_first_exercise/apax.yml rename to 04_loading_and_debugging/exercises/0_first_exercise/apax.yml diff --git a/03_loading_and_debugging/slides/img/DownloadHardwareTia.gif b/04_loading_and_debugging/slides/img/DownloadHardwareTia.gif similarity index 100% rename from 03_loading_and_debugging/slides/img/DownloadHardwareTia.gif rename to 04_loading_and_debugging/slides/img/DownloadHardwareTia.gif diff --git a/03_loading_and_debugging/slides/img/ExportCertificate.gif b/04_loading_and_debugging/slides/img/ExportCertificate.gif similarity index 100% rename from 03_loading_and_debugging/slides/img/ExportCertificate.gif rename to 04_loading_and_debugging/slides/img/ExportCertificate.gif diff --git a/03_loading_and_debugging/slides/img/PGPCInterface.gif b/04_loading_and_debugging/slides/img/PGPCInterface.gif similarity index 100% rename from 03_loading_and_debugging/slides/img/PGPCInterface.gif rename to 04_loading_and_debugging/slides/img/PGPCInterface.gif diff --git a/03_loading_and_debugging/slides/img/sdb_logpoint.gif b/04_loading_and_debugging/slides/img/sdb_logpoint.gif similarity index 100% rename from 03_loading_and_debugging/slides/img/sdb_logpoint.gif rename to 04_loading_and_debugging/slides/img/sdb_logpoint.gif diff --git a/03_loading_and_debugging/slides/img/sdb_start.png b/04_loading_and_debugging/slides/img/sdb_start.png similarity index 100% rename from 03_loading_and_debugging/slides/img/sdb_start.png rename to 04_loading_and_debugging/slides/img/sdb_start.png diff --git a/03_loading_and_debugging/slides/img/tiaxDirectLoading.png b/04_loading_and_debugging/slides/img/tiaxDirectLoading.png similarity index 100% rename from 03_loading_and_debugging/slides/img/tiaxDirectLoading.png rename to 04_loading_and_debugging/slides/img/tiaxDirectLoading.png diff --git a/03_loading_and_debugging/slides/img/watchtable.gif b/04_loading_and_debugging/slides/img/watchtable.gif similarity index 100% rename from 03_loading_and_debugging/slides/img/watchtable.gif rename to 04_loading_and_debugging/slides/img/watchtable.gif diff --git a/03_loading_and_debugging/slides/slides.md b/04_loading_and_debugging/slides/slides.md similarity index 98% rename from 03_loading_and_debugging/slides/slides.md rename to 04_loading_and_debugging/slides/slides.md index 55a5eef..5b2d8d7 100644 --- a/03_loading_and_debugging/slides/slides.md +++ b/04_loading_and_debugging/slides/slides.md @@ -13,13 +13,14 @@ mouseWheel: true, | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| **03** | **Loading and Debugging** | -| 04 | Introduction to ST Programming | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| 08 | Package management | -| 09 | Versioning and Continuous Integration | +| 03 | Hardware Configuration | +| **04** | **Loading and Debugging** | +| 05 | Introduction to ST Programming | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | + --- diff --git a/07_tools_for_commissioning/slides/theme/.DS_Store b/04_loading_and_debugging/slides/theme/.DS_Store similarity index 100% rename from 07_tools_for_commissioning/slides/theme/.DS_Store rename to 04_loading_and_debugging/slides/theme/.DS_Store diff --git a/07_tools_for_commissioning/slides/theme/siemens.svg b/04_loading_and_debugging/slides/theme/siemens.svg similarity index 100% rename from 07_tools_for_commissioning/slides/theme/siemens.svg rename to 04_loading_and_debugging/slides/theme/siemens.svg diff --git a/07_tools_for_commissioning/slides/theme/simatic-ax.css b/04_loading_and_debugging/slides/theme/simatic-ax.css similarity index 100% rename from 07_tools_for_commissioning/slides/theme/simatic-ax.css rename to 04_loading_and_debugging/slides/theme/simatic-ax.css diff --git a/04_introduction_to_st/.gitignore b/05_introduction_to_st/.gitignore similarity index 100% rename from 04_introduction_to_st/.gitignore rename to 05_introduction_to_st/.gitignore diff --git a/04_introduction_to_st/.tours/additional_information.tour b/05_introduction_to_st/.tours/additional_information.tour similarity index 100% rename from 04_introduction_to_st/.tours/additional_information.tour rename to 05_introduction_to_st/.tours/additional_information.tour diff --git a/04_introduction_to_st/.tours/learning_path_st.tour b/05_introduction_to_st/.tours/learning_path_st.tour similarity index 100% rename from 04_introduction_to_st/.tours/learning_path_st.tour rename to 05_introduction_to_st/.tours/learning_path_st.tour diff --git a/04_introduction_to_st/.tours/monitoring.PNG b/05_introduction_to_st/.tours/monitoring.PNG similarity index 100% rename from 04_introduction_to_st/.tours/monitoring.PNG rename to 05_introduction_to_st/.tours/monitoring.PNG diff --git a/04_introduction_to_st/.vscode/extensions.json b/05_introduction_to_st/.vscode/extensions.json similarity index 100% rename from 04_introduction_to_st/.vscode/extensions.json rename to 05_introduction_to_st/.vscode/extensions.json diff --git a/04_introduction_to_st/.vscode/launch.json b/05_introduction_to_st/.vscode/launch.json similarity index 100% rename from 04_introduction_to_st/.vscode/launch.json rename to 05_introduction_to_st/.vscode/launch.json diff --git a/04_introduction_to_st/apax-lock.json b/05_introduction_to_st/apax-lock.json similarity index 100% rename from 04_introduction_to_st/apax-lock.json rename to 05_introduction_to_st/apax-lock.json diff --git a/04_introduction_to_st/apax.yml b/05_introduction_to_st/apax.yml similarity index 92% rename from 04_introduction_to_st/apax.yml rename to 05_introduction_to_st/apax.yml index 6096cb3..27ec710 100644 --- a/04_introduction_to_st/apax.yml +++ b/05_introduction_to_st/apax.yml @@ -7,6 +7,6 @@ variables: APAX_BUILD_ARGS: - "--debug" # Generate debug information for target "1500" devDependencies: - "@ax/sdk": 2311.0.1 + "@ax/sdk": ^2405.0.0 scripts: present: reveal-md ./slides/slides.md --theme ./slides/theme/simatic-ax.css --watch diff --git a/04_introduction_to_st/exercises/1_implement_valve/README.md b/05_introduction_to_st/exercises/1_implement_valve/README.md similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/README.md rename to 05_introduction_to_st/exercises/1_implement_valve/README.md diff --git a/04_introduction_to_st/exercises/1_implement_valve/apax-lock.json b/05_introduction_to_st/exercises/1_implement_valve/apax-lock.json similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/apax-lock.json rename to 05_introduction_to_st/exercises/1_implement_valve/apax-lock.json diff --git a/04_introduction_to_st/exercises/1_implement_valve/apax.yml b/05_introduction_to_st/exercises/1_implement_valve/apax.yml similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/apax.yml rename to 05_introduction_to_st/exercises/1_implement_valve/apax.yml diff --git a/04_introduction_to_st/exercises/1_implement_valve/img/Valve.png b/05_introduction_to_st/exercises/1_implement_valve/img/Valve.png similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/img/Valve.png rename to 05_introduction_to_st/exercises/1_implement_valve/img/Valve.png diff --git a/04_introduction_to_st/exercises/1_implement_valve/img/ValveBehav.png b/05_introduction_to_st/exercises/1_implement_valve/img/ValveBehav.png similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/img/ValveBehav.png rename to 05_introduction_to_st/exercises/1_implement_valve/img/ValveBehav.png diff --git a/04_introduction_to_st/exercises/1_implement_valve/src/configuration.st b/05_introduction_to_st/exercises/1_implement_valve/src/configuration.st similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/src/configuration.st rename to 05_introduction_to_st/exercises/1_implement_valve/src/configuration.st diff --git a/04_introduction_to_st/exercises/1_implement_valve/src/program.st b/05_introduction_to_st/exercises/1_implement_valve/src/program.st similarity index 100% rename from 04_introduction_to_st/exercises/1_implement_valve/src/program.st rename to 05_introduction_to_st/exercises/1_implement_valve/src/program.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/.vscode/launch.json b/05_introduction_to_st/exercises/2_implement_tank/.vscode/launch.json similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/.vscode/launch.json rename to 05_introduction_to_st/exercises/2_implement_tank/.vscode/launch.json diff --git a/04_introduction_to_st/exercises/2_implement_tank/README.md b/05_introduction_to_st/exercises/2_implement_tank/README.md similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/README.md rename to 05_introduction_to_st/exercises/2_implement_tank/README.md diff --git a/04_introduction_to_st/exercises/2_implement_tank/apax-lock.json b/05_introduction_to_st/exercises/2_implement_tank/apax-lock.json similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/apax-lock.json rename to 05_introduction_to_st/exercises/2_implement_tank/apax-lock.json diff --git a/04_introduction_to_st/exercises/2_implement_tank/apax.yml b/05_introduction_to_st/exercises/2_implement_tank/apax.yml similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/apax.yml rename to 05_introduction_to_st/exercises/2_implement_tank/apax.yml diff --git a/04_introduction_to_st/exercises/2_implement_tank/img/Tank.png b/05_introduction_to_st/exercises/2_implement_tank/img/Tank.png similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/img/Tank.png rename to 05_introduction_to_st/exercises/2_implement_tank/img/Tank.png diff --git a/04_introduction_to_st/exercises/2_implement_tank/img/TankBehav.png b/05_introduction_to_st/exercises/2_implement_tank/img/TankBehav.png similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/img/TankBehav.png rename to 05_introduction_to_st/exercises/2_implement_tank/img/TankBehav.png diff --git a/04_introduction_to_st/exercises/2_implement_tank/src/configuration.st b/05_introduction_to_st/exercises/2_implement_tank/src/configuration.st similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/src/configuration.st rename to 05_introduction_to_st/exercises/2_implement_tank/src/configuration.st diff --git a/04_introduction_to_st/exercises/2_implement_tank/src/fluidProgram.st b/05_introduction_to_st/exercises/2_implement_tank/src/fluidProgram.st similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/src/fluidProgram.st rename to 05_introduction_to_st/exercises/2_implement_tank/src/fluidProgram.st diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/src/valve.st b/05_introduction_to_st/exercises/2_implement_tank/src/valve.st similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/src/valve.st rename to 05_introduction_to_st/exercises/2_implement_tank/src/valve.st diff --git a/04_introduction_to_st/exercises/2_implement_tank/watchTable.mon b/05_introduction_to_st/exercises/2_implement_tank/watchTable.mon similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/watchTable.mon rename to 05_introduction_to_st/exercises/2_implement_tank/watchTable.mon diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/.vscode/launch.json b/05_introduction_to_st/exercises/3_extend_tank_functionality/.vscode/launch.json similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/.vscode/launch.json rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/.vscode/launch.json diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/README.md b/05_introduction_to_st/exercises/3_extend_tank_functionality/README.md similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/README.md rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/README.md diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/apax-lock.json b/05_introduction_to_st/exercises/3_extend_tank_functionality/apax-lock.json similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/apax-lock.json rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/apax-lock.json diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/apax.yml b/05_introduction_to_st/exercises/3_extend_tank_functionality/apax.yml similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/apax.yml rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/apax.yml diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehav.png b/05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehav.png similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehav.png rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehav.png diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehavState.png b/05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehavState.png similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehavState.png rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankBehavState.png diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/img/TankModify.png b/05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankModify.png similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/img/TankModify.png rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/img/TankModify.png diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/src/configuration.st b/05_introduction_to_st/exercises/3_extend_tank_functionality/src/configuration.st similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/src/configuration.st rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/src/configuration.st diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/src/fluidProgram.st b/05_introduction_to_st/exercises/3_extend_tank_functionality/src/fluidProgram.st similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/src/fluidProgram.st rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/src/fluidProgram.st diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/src/tank.st b/05_introduction_to_st/exercises/3_extend_tank_functionality/src/tank.st similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/src/tank.st rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/src/tank.st diff --git a/04_introduction_to_st/exercises/2_implement_tank/src/valve.st b/05_introduction_to_st/exercises/3_extend_tank_functionality/src/valve.st similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/src/valve.st rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/src/valve.st diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/watchTable.mon b/05_introduction_to_st/exercises/3_extend_tank_functionality/watchTable.mon similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/watchTable.mon rename to 05_introduction_to_st/exercises/3_extend_tank_functionality/watchTable.mon diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/.vscode/launch.json b/05_introduction_to_st/exercises/4_timer_for_tank/.vscode/launch.json similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/.vscode/launch.json rename to 05_introduction_to_st/exercises/4_timer_for_tank/.vscode/launch.json diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/README.md b/05_introduction_to_st/exercises/4_timer_for_tank/README.md similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/README.md rename to 05_introduction_to_st/exercises/4_timer_for_tank/README.md diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/apax-lock.json b/05_introduction_to_st/exercises/4_timer_for_tank/apax-lock.json similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/apax-lock.json rename to 05_introduction_to_st/exercises/4_timer_for_tank/apax-lock.json diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/apax.yml b/05_introduction_to_st/exercises/4_timer_for_tank/apax.yml similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/apax.yml rename to 05_introduction_to_st/exercises/4_timer_for_tank/apax.yml diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankModify.png b/05_introduction_to_st/exercises/4_timer_for_tank/img/TankModify.png similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/img/TankModify.png rename to 05_introduction_to_st/exercises/4_timer_for_tank/img/TankModify.png diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/img/ValveFbClosedBehav.png b/05_introduction_to_st/exercises/4_timer_for_tank/img/ValveFbClosedBehav.png similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/img/ValveFbClosedBehav.png rename to 05_introduction_to_st/exercises/4_timer_for_tank/img/ValveFbClosedBehav.png diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/src/configuration.st b/05_introduction_to_st/exercises/4_timer_for_tank/src/configuration.st similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/src/configuration.st rename to 05_introduction_to_st/exercises/4_timer_for_tank/src/configuration.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/src/fluidProgram.st b/05_introduction_to_st/exercises/4_timer_for_tank/src/fluidProgram.st similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/src/fluidProgram.st rename to 05_introduction_to_st/exercises/4_timer_for_tank/src/fluidProgram.st diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/src/tank.st b/05_introduction_to_st/exercises/4_timer_for_tank/src/tank.st similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/src/tank.st rename to 05_introduction_to_st/exercises/4_timer_for_tank/src/tank.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/src/types.st b/05_introduction_to_st/exercises/4_timer_for_tank/src/types.st similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/src/types.st rename to 05_introduction_to_st/exercises/4_timer_for_tank/src/types.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/src/valve.st b/05_introduction_to_st/exercises/4_timer_for_tank/src/valve.st similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/src/valve.st rename to 05_introduction_to_st/exercises/4_timer_for_tank/src/valve.st diff --git a/04_introduction_to_st/exercises/3_extend_tank_functionality/watchTable.mon b/05_introduction_to_st/exercises/4_timer_for_tank/watchTable.mon similarity index 100% rename from 04_introduction_to_st/exercises/3_extend_tank_functionality/watchTable.mon rename to 05_introduction_to_st/exercises/4_timer_for_tank/watchTable.mon diff --git a/04_introduction_to_st/exercises/2_implement_tank/.vscode/launch.json b/05_introduction_to_st/exercises/5_solution_exercise_4/.vscode/launch.json similarity index 100% rename from 04_introduction_to_st/exercises/2_implement_tank/.vscode/launch.json rename to 05_introduction_to_st/exercises/5_solution_exercise_4/.vscode/launch.json diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/apax-lock.json b/05_introduction_to_st/exercises/5_solution_exercise_4/apax-lock.json similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/apax-lock.json rename to 05_introduction_to_st/exercises/5_solution_exercise_4/apax-lock.json diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/apax.yml b/05_introduction_to_st/exercises/5_solution_exercise_4/apax.yml similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/apax.yml rename to 05_introduction_to_st/exercises/5_solution_exercise_4/apax.yml diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/src/configuration.st b/05_introduction_to_st/exercises/5_solution_exercise_4/src/configuration.st similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/src/configuration.st rename to 05_introduction_to_st/exercises/5_solution_exercise_4/src/configuration.st diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/src/fluidProgram.st b/05_introduction_to_st/exercises/5_solution_exercise_4/src/fluidProgram.st similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/src/fluidProgram.st rename to 05_introduction_to_st/exercises/5_solution_exercise_4/src/fluidProgram.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/src/tank.st b/05_introduction_to_st/exercises/5_solution_exercise_4/src/tank.st similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/src/tank.st rename to 05_introduction_to_st/exercises/5_solution_exercise_4/src/tank.st diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/src/types.st b/05_introduction_to_st/exercises/5_solution_exercise_4/src/types.st similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/src/types.st rename to 05_introduction_to_st/exercises/5_solution_exercise_4/src/types.st diff --git a/04_introduction_to_st/exercises/4_timer_for_tank/src/valve.st b/05_introduction_to_st/exercises/5_solution_exercise_4/src/valve.st similarity index 100% rename from 04_introduction_to_st/exercises/4_timer_for_tank/src/valve.st rename to 05_introduction_to_st/exercises/5_solution_exercise_4/src/valve.st diff --git a/04_introduction_to_st/exercises/5_solution_exercise_4/watchTable.mon b/05_introduction_to_st/exercises/5_solution_exercise_4/watchTable.mon similarity index 100% rename from 04_introduction_to_st/exercises/5_solution_exercise_4/watchTable.mon rename to 05_introduction_to_st/exercises/5_solution_exercise_4/watchTable.mon diff --git a/04_introduction_to_st/slides/slides.md b/05_introduction_to_st/slides/slides.md similarity index 98% rename from 04_introduction_to_st/slides/slides.md rename to 05_introduction_to_st/slides/slides.md index 21c2935..558cb48 100644 --- a/04_introduction_to_st/slides/slides.md +++ b/05_introduction_to_st/slides/slides.md @@ -13,13 +13,14 @@ mouseWheel: true, | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Loading and Debugging | -| **04** | **Introduction to ST Programming** | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| 08 | Package management | -| 09 | Versioning and Continuous Integration | +| 03 | Hardware Configuration | +| 04 | Loading and Debugging | +| **05** | **Introduction to ST Programming** | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | + --- diff --git a/06_unit_testing/slides/theme/siemens.svg b/05_introduction_to_st/slides/theme/siemens.svg similarity index 100% rename from 06_unit_testing/slides/theme/siemens.svg rename to 05_introduction_to_st/slides/theme/siemens.svg diff --git a/08_package_management/slides/theme/simatic-ax.css b/05_introduction_to_st/slides/theme/simatic-ax.css similarity index 100% rename from 08_package_management/slides/theme/simatic-ax.css rename to 05_introduction_to_st/slides/theme/simatic-ax.css diff --git a/04_introduction_to_st/src/ExampleProgram.st b/05_introduction_to_st/src/ExampleProgram.st similarity index 100% rename from 04_introduction_to_st/src/ExampleProgram.st rename to 05_introduction_to_st/src/ExampleProgram.st diff --git a/04_introduction_to_st/src/Namespace/NamespaceExample.st b/05_introduction_to_st/src/Namespace/NamespaceExample.st similarity index 100% rename from 04_introduction_to_st/src/Namespace/NamespaceExample.st rename to 05_introduction_to_st/src/Namespace/NamespaceExample.st diff --git a/04_introduction_to_st/src/Namespace/UsageOfNameSpace.st b/05_introduction_to_st/src/Namespace/UsageOfNameSpace.st similarity index 100% rename from 04_introduction_to_st/src/Namespace/UsageOfNameSpace.st rename to 05_introduction_to_st/src/Namespace/UsageOfNameSpace.st diff --git a/04_introduction_to_st/src/TankFb.st b/05_introduction_to_st/src/TankFb.st similarity index 100% rename from 04_introduction_to_st/src/TankFb.st rename to 05_introduction_to_st/src/TankFb.st diff --git a/04_introduction_to_st/src/Valve.st b/05_introduction_to_st/src/Valve.st similarity index 100% rename from 04_introduction_to_st/src/Valve.st rename to 05_introduction_to_st/src/Valve.st diff --git a/04_introduction_to_st/src/configuration.st b/05_introduction_to_st/src/configuration.st similarity index 100% rename from 04_introduction_to_st/src/configuration.st rename to 05_introduction_to_st/src/configuration.st diff --git a/05_oop_in_st/.gitignore b/06_oop_in_st/.gitignore similarity index 100% rename from 05_oop_in_st/.gitignore rename to 06_oop_in_st/.gitignore diff --git a/05_oop_in_st/apax.yml b/06_oop_in_st/apax.yml similarity index 100% rename from 05_oop_in_st/apax.yml rename to 06_oop_in_st/apax.yml diff --git a/05_oop_in_st/exercises/0_basic_valve_class/.gitignore b/06_oop_in_st/exercises/0_basic_valve_class/.gitignore similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/.gitignore rename to 06_oop_in_st/exercises/0_basic_valve_class/.gitignore diff --git a/05_oop_in_st/exercises/0_basic_valve_class/.vscode/launch.json b/06_oop_in_st/exercises/0_basic_valve_class/.vscode/launch.json similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/.vscode/launch.json rename to 06_oop_in_st/exercises/0_basic_valve_class/.vscode/launch.json diff --git a/05_oop_in_st/exercises/0_basic_valve_class/README.md b/06_oop_in_st/exercises/0_basic_valve_class/README.md similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/README.md rename to 06_oop_in_st/exercises/0_basic_valve_class/README.md diff --git a/05_oop_in_st/exercises/solution/apax.yml b/06_oop_in_st/exercises/0_basic_valve_class/apax.yml similarity index 100% rename from 05_oop_in_st/exercises/solution/apax.yml rename to 06_oop_in_st/exercises/0_basic_valve_class/apax.yml diff --git a/05_oop_in_st/exercises/0_basic_valve_class/src/Tank.st b/06_oop_in_st/exercises/0_basic_valve_class/src/Tank.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/src/Tank.st rename to 06_oop_in_st/exercises/0_basic_valve_class/src/Tank.st diff --git a/05_oop_in_st/exercises/0_basic_valve_class/src/TankBase.st b/06_oop_in_st/exercises/0_basic_valve_class/src/TankBase.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/src/TankBase.st rename to 06_oop_in_st/exercises/0_basic_valve_class/src/TankBase.st diff --git a/05_oop_in_st/exercises/0_basic_valve_class/src/Valve.st b/06_oop_in_st/exercises/0_basic_valve_class/src/Valve.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/src/Valve.st rename to 06_oop_in_st/exercises/0_basic_valve_class/src/Valve.st diff --git a/05_oop_in_st/exercises/0_basic_valve_class/src/ValveBase.st b/06_oop_in_st/exercises/0_basic_valve_class/src/ValveBase.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/src/ValveBase.st rename to 06_oop_in_st/exercises/0_basic_valve_class/src/ValveBase.st diff --git a/05_oop_in_st/exercises/solution/src/ValveStates.st b/06_oop_in_st/exercises/0_basic_valve_class/src/ValveStates.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/ValveStates.st rename to 06_oop_in_st/exercises/0_basic_valve_class/src/ValveStates.st diff --git a/05_oop_in_st/exercises/0_basic_valve_class/test/test.st b/06_oop_in_st/exercises/0_basic_valve_class/test/test.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/test/test.st rename to 06_oop_in_st/exercises/0_basic_valve_class/test/test.st diff --git a/05_oop_in_st/exercises/1_interfaces/README.md b/06_oop_in_st/exercises/1_interfaces/README.md similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/README.md rename to 06_oop_in_st/exercises/1_interfaces/README.md diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/apax.yml b/06_oop_in_st/exercises/1_interfaces/apax.yml similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/apax.yml rename to 06_oop_in_st/exercises/1_interfaces/apax.yml diff --git a/05_oop_in_st/exercises/1_interfaces/src/ItfTank.st b/06_oop_in_st/exercises/1_interfaces/src/ItfTank.st similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/src/ItfTank.st rename to 06_oop_in_st/exercises/1_interfaces/src/ItfTank.st diff --git a/05_oop_in_st/exercises/1_interfaces/src/ItfValve.st b/06_oop_in_st/exercises/1_interfaces/src/ItfValve.st similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/src/ItfValve.st rename to 06_oop_in_st/exercises/1_interfaces/src/ItfValve.st diff --git a/05_oop_in_st/exercises/1_interfaces/src/TankBase.st b/06_oop_in_st/exercises/1_interfaces/src/TankBase.st similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/src/TankBase.st rename to 06_oop_in_st/exercises/1_interfaces/src/TankBase.st diff --git a/05_oop_in_st/exercises/1_interfaces/src/ValveBase.st b/06_oop_in_st/exercises/1_interfaces/src/ValveBase.st similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/src/ValveBase.st rename to 06_oop_in_st/exercises/1_interfaces/src/ValveBase.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveStates.st b/06_oop_in_st/exercises/1_interfaces/src/ValveStates.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveStates.st rename to 06_oop_in_st/exercises/1_interfaces/src/ValveStates.st diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/README.md b/06_oop_in_st/exercises/3_calculator_current_volume/README.md similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/README.md rename to 06_oop_in_st/exercises/3_calculator_current_volume/README.md diff --git a/05_oop_in_st/exercises/1_interfaces/apax.yml b/06_oop_in_st/exercises/3_calculator_current_volume/apax.yml similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/apax.yml rename to 06_oop_in_st/exercises/3_calculator_current_volume/apax.yml diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfTank.st b/06_oop_in_st/exercises/3_calculator_current_volume/src/ItfTank.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfTank.st rename to 06_oop_in_st/exercises/3_calculator_current_volume/src/ItfTank.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfValve.st b/06_oop_in_st/exercises/3_calculator_current_volume/src/ItfValve.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfValve.st rename to 06_oop_in_st/exercises/3_calculator_current_volume/src/ItfValve.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankBase.st b/06_oop_in_st/exercises/3_calculator_current_volume/src/TankBase.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankBase.st rename to 06_oop_in_st/exercises/3_calculator_current_volume/src/TankBase.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveBase.st b/06_oop_in_st/exercises/3_calculator_current_volume/src/ValveBase.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveBase.st rename to 06_oop_in_st/exercises/3_calculator_current_volume/src/ValveBase.st diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/src/ValveStates.st b/06_oop_in_st/exercises/3_calculator_current_volume/src/ValveStates.st similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/src/ValveStates.st rename to 06_oop_in_st/exercises/3_calculator_current_volume/src/ValveStates.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/README.md b/06_oop_in_st/exercises/4_inheritance_complex_valve/README.md similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/README.md rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/README.md diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/apax.yml b/06_oop_in_st/exercises/4_inheritance_complex_valve/apax.yml similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/apax.yml rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/apax.yml diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/src/ItfTank.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfTank.st similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/src/ItfTank.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfTank.st diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/src/ItfValve.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfValve.st similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/src/ItfValve.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/ItfValve.st diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/src/TankBase.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankBase.st similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/src/TankBase.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankBase.st diff --git a/05_oop_in_st/exercises/solution/src/TankStates.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankStates.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/TankStates.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankStates.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankWithVolume.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankWithVolume.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankWithVolume.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/TankWithVolume.st diff --git a/05_oop_in_st/exercises/3_calculator_current_volume/src/ValveBase.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveBase.st similarity index 100% rename from 05_oop_in_st/exercises/3_calculator_current_volume/src/ValveBase.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveBase.st diff --git a/05_oop_in_st/exercises/1_interfaces/src/ValveStates.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveStates.st similarity index 100% rename from 05_oop_in_st/exercises/1_interfaces/src/ValveStates.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/ValveStates.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/configuration.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/configuration.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/configuration.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/configuration.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/program.st b/06_oop_in_st/exercises/4_inheritance_complex_valve/src/program.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/program.st rename to 06_oop_in_st/exercises/4_inheritance_complex_valve/src/program.st diff --git a/05_oop_in_st/exercises/solution/README.md b/06_oop_in_st/exercises/solution/README.md similarity index 100% rename from 05_oop_in_st/exercises/solution/README.md rename to 06_oop_in_st/exercises/solution/README.md diff --git a/05_oop_in_st/exercises/0_basic_valve_class/apax.yml b/06_oop_in_st/exercises/solution/apax.yml similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/apax.yml rename to 06_oop_in_st/exercises/solution/apax.yml diff --git a/05_oop_in_st/exercises/solution/src/CalculatorWithRegulation.st b/06_oop_in_st/exercises/solution/src/CalculatorWithRegulation.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/CalculatorWithRegulation.st rename to 06_oop_in_st/exercises/solution/src/CalculatorWithRegulation.st diff --git a/05_oop_in_st/exercises/solution/src/ITank.st b/06_oop_in_st/exercises/solution/src/ITank.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/ITank.st rename to 06_oop_in_st/exercises/solution/src/ITank.st diff --git a/05_oop_in_st/exercises/solution/src/IValve.st b/06_oop_in_st/exercises/solution/src/IValve.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/IValve.st rename to 06_oop_in_st/exercises/solution/src/IValve.st diff --git a/05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankStates.st b/06_oop_in_st/exercises/solution/src/TankStates.st similarity index 100% rename from 05_oop_in_st/exercises/4_inheritance_complex_valve/src/TankStates.st rename to 06_oop_in_st/exercises/solution/src/TankStates.st diff --git a/05_oop_in_st/exercises/solution/src/TankWithShape.st b/06_oop_in_st/exercises/solution/src/TankWithShape.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/TankWithShape.st rename to 06_oop_in_st/exercises/solution/src/TankWithShape.st diff --git a/05_oop_in_st/exercises/solution/src/TankWithVolume.st b/06_oop_in_st/exercises/solution/src/TankWithVolume.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/TankWithVolume.st rename to 06_oop_in_st/exercises/solution/src/TankWithVolume.st diff --git a/05_oop_in_st/exercises/0_basic_valve_class/src/ValveStates.st b/06_oop_in_st/exercises/solution/src/ValveStates.st similarity index 100% rename from 05_oop_in_st/exercises/0_basic_valve_class/src/ValveStates.st rename to 06_oop_in_st/exercises/solution/src/ValveStates.st diff --git a/05_oop_in_st/exercises/solution/src/basicValve.st b/06_oop_in_st/exercises/solution/src/basicValve.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/basicValve.st rename to 06_oop_in_st/exercises/solution/src/basicValve.st diff --git a/05_oop_in_st/exercises/solution/src/complexValve.st b/06_oop_in_st/exercises/solution/src/complexValve.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/complexValve.st rename to 06_oop_in_st/exercises/solution/src/complexValve.st diff --git a/05_oop_in_st/exercises/solution/src/configuration.st b/06_oop_in_st/exercises/solution/src/configuration.st similarity index 100% rename from 05_oop_in_st/exercises/solution/src/configuration.st rename to 06_oop_in_st/exercises/solution/src/configuration.st diff --git a/05_oop_in_st/new.md b/06_oop_in_st/new.md similarity index 100% rename from 05_oop_in_st/new.md rename to 06_oop_in_st/new.md diff --git a/05_oop_in_st/slides/img/valvescheme.png b/06_oop_in_st/slides/img/valvescheme.png similarity index 100% rename from 05_oop_in_st/slides/img/valvescheme.png rename to 06_oop_in_st/slides/img/valvescheme.png diff --git a/05_oop_in_st/slides/img/valveuml.svg b/06_oop_in_st/slides/img/valveuml.svg similarity index 100% rename from 05_oop_in_st/slides/img/valveuml.svg rename to 06_oop_in_st/slides/img/valveuml.svg diff --git a/05_oop_in_st/slides/new_structure.md b/06_oop_in_st/slides/new_structure.md similarity index 100% rename from 05_oop_in_st/slides/new_structure.md rename to 06_oop_in_st/slides/new_structure.md diff --git a/05_oop_in_st/slides/reveal-md.json b/06_oop_in_st/slides/reveal-md.json similarity index 100% rename from 05_oop_in_st/slides/reveal-md.json rename to 06_oop_in_st/slides/reveal-md.json diff --git a/05_oop_in_st/slides/slides.md b/06_oop_in_st/slides/slides.md similarity index 99% rename from 05_oop_in_st/slides/slides.md rename to 06_oop_in_st/slides/slides.md index 3def469..8d477f7 100644 --- a/05_oop_in_st/slides/slides.md +++ b/06_oop_in_st/slides/slides.md @@ -17,12 +17,14 @@ mermaid: | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Introduction to ST Programming | -| 04 | Loading and Debugging | -| **05** | **OOP Elements of ST** | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| 08 | Package management | +| 03 | Hardware Configuration | +| 04 | Introduction to ST Programming | +| 05 | Loading and Debugging | +| **06** | **OOP Elements of ST** | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| 09 | Package management | + --- diff --git a/06_unit_testing/slides/theme/.DS_Store b/06_oop_in_st/slides/theme/.DS_Store similarity index 100% rename from 06_unit_testing/slides/theme/.DS_Store rename to 06_oop_in_st/slides/theme/.DS_Store diff --git a/05_oop_in_st/slides/theme/siemens.css b/06_oop_in_st/slides/theme/siemens.css similarity index 100% rename from 05_oop_in_st/slides/theme/siemens.css rename to 06_oop_in_st/slides/theme/siemens.css diff --git a/05_oop_in_st/slides/theme/siemens.svg b/06_oop_in_st/slides/theme/siemens.svg similarity index 100% rename from 05_oop_in_st/slides/theme/siemens.svg rename to 06_oop_in_st/slides/theme/siemens.svg diff --git a/05_oop_in_st/slides/theme/simatic-ax.css b/06_oop_in_st/slides/theme/simatic-ax.css similarity index 100% rename from 05_oop_in_st/slides/theme/simatic-ax.css rename to 06_oop_in_st/slides/theme/simatic-ax.css diff --git a/07_tools_for_commissioning/apax.yml b/07_unit_testing/apax.yml similarity index 100% rename from 07_tools_for_commissioning/apax.yml rename to 07_unit_testing/apax.yml diff --git a/06_unit_testing/exercises/1_starting_tests/README.md b/07_unit_testing/exercises/1_starting_tests/README.md similarity index 100% rename from 06_unit_testing/exercises/1_starting_tests/README.md rename to 07_unit_testing/exercises/1_starting_tests/README.md diff --git a/06_unit_testing/exercises/1_starting_tests/apax-lock.json b/07_unit_testing/exercises/1_starting_tests/apax-lock.json similarity index 100% rename from 06_unit_testing/exercises/1_starting_tests/apax-lock.json rename to 07_unit_testing/exercises/1_starting_tests/apax-lock.json diff --git a/06_unit_testing/exercises/1_starting_tests/apax.yml b/07_unit_testing/exercises/1_starting_tests/apax.yml similarity index 100% rename from 06_unit_testing/exercises/1_starting_tests/apax.yml rename to 07_unit_testing/exercises/1_starting_tests/apax.yml diff --git a/06_unit_testing/exercises/1_starting_tests/src/NumberIsEven.st b/07_unit_testing/exercises/1_starting_tests/src/NumberIsEven.st similarity index 100% rename from 06_unit_testing/exercises/1_starting_tests/src/NumberIsEven.st rename to 07_unit_testing/exercises/1_starting_tests/src/NumberIsEven.st diff --git a/06_unit_testing/exercises/3_parametrized_test/test/test.st b/07_unit_testing/exercises/1_starting_tests/test/test.st similarity index 100% rename from 06_unit_testing/exercises/3_parametrized_test/test/test.st rename to 07_unit_testing/exercises/1_starting_tests/test/test.st diff --git a/06_unit_testing/exercises/2_testing_classes/README.md b/07_unit_testing/exercises/2_testing_classes/README.md similarity index 100% rename from 06_unit_testing/exercises/2_testing_classes/README.md rename to 07_unit_testing/exercises/2_testing_classes/README.md diff --git a/06_unit_testing/exercises/2_testing_classes/apax-lock.json b/07_unit_testing/exercises/2_testing_classes/apax-lock.json similarity index 100% rename from 06_unit_testing/exercises/2_testing_classes/apax-lock.json rename to 07_unit_testing/exercises/2_testing_classes/apax-lock.json diff --git a/06_unit_testing/exercises/2_testing_classes/apax.yml b/07_unit_testing/exercises/2_testing_classes/apax.yml similarity index 100% rename from 06_unit_testing/exercises/2_testing_classes/apax.yml rename to 07_unit_testing/exercises/2_testing_classes/apax.yml diff --git a/06_unit_testing/exercises/2_testing_classes/src/SimpleCounter.st b/07_unit_testing/exercises/2_testing_classes/src/SimpleCounter.st similarity index 100% rename from 06_unit_testing/exercises/2_testing_classes/src/SimpleCounter.st rename to 07_unit_testing/exercises/2_testing_classes/src/SimpleCounter.st diff --git a/06_unit_testing/exercises/2_testing_classes/test/test.st b/07_unit_testing/exercises/2_testing_classes/test/test.st similarity index 100% rename from 06_unit_testing/exercises/2_testing_classes/test/test.st rename to 07_unit_testing/exercises/2_testing_classes/test/test.st diff --git a/06_unit_testing/exercises/3_parametrized_test/README.md b/07_unit_testing/exercises/3_parametrized_test/README.md similarity index 100% rename from 06_unit_testing/exercises/3_parametrized_test/README.md rename to 07_unit_testing/exercises/3_parametrized_test/README.md diff --git a/06_unit_testing/exercises/3_parametrized_test/apax-lock.json b/07_unit_testing/exercises/3_parametrized_test/apax-lock.json similarity index 100% rename from 06_unit_testing/exercises/3_parametrized_test/apax-lock.json rename to 07_unit_testing/exercises/3_parametrized_test/apax-lock.json diff --git a/06_unit_testing/exercises/3_parametrized_test/apax.yml b/07_unit_testing/exercises/3_parametrized_test/apax.yml similarity index 100% rename from 06_unit_testing/exercises/3_parametrized_test/apax.yml rename to 07_unit_testing/exercises/3_parametrized_test/apax.yml diff --git a/06_unit_testing/exercises/3_parametrized_test/src/SimpleCounter.st b/07_unit_testing/exercises/3_parametrized_test/src/SimpleCounter.st similarity index 100% rename from 06_unit_testing/exercises/3_parametrized_test/src/SimpleCounter.st rename to 07_unit_testing/exercises/3_parametrized_test/src/SimpleCounter.st diff --git a/06_unit_testing/exercises/1_starting_tests/test/test.st b/07_unit_testing/exercises/3_parametrized_test/test/test.st similarity index 100% rename from 06_unit_testing/exercises/1_starting_tests/test/test.st rename to 07_unit_testing/exercises/3_parametrized_test/test/test.st diff --git a/06_unit_testing/exercises/solutions/1_starting_tests_solution/test.st b/07_unit_testing/exercises/solutions/1_starting_tests_solution/test.st similarity index 100% rename from 06_unit_testing/exercises/solutions/1_starting_tests_solution/test.st rename to 07_unit_testing/exercises/solutions/1_starting_tests_solution/test.st diff --git a/06_unit_testing/exercises/solutions/2_testing_classes_solution/test.st b/07_unit_testing/exercises/solutions/2_testing_classes_solution/test.st similarity index 100% rename from 06_unit_testing/exercises/solutions/2_testing_classes_solution/test.st rename to 07_unit_testing/exercises/solutions/2_testing_classes_solution/test.st diff --git a/06_unit_testing/exercises/solutions/3_parametrized_test_solution/test.st b/07_unit_testing/exercises/solutions/3_parametrized_test_solution/test.st similarity index 100% rename from 06_unit_testing/exercises/solutions/3_parametrized_test_solution/test.st rename to 07_unit_testing/exercises/solutions/3_parametrized_test_solution/test.st diff --git a/06_unit_testing/slides/img/Target.png b/07_unit_testing/slides/img/Target.png similarity index 100% rename from 06_unit_testing/slides/img/Target.png rename to 07_unit_testing/slides/img/Target.png diff --git a/06_unit_testing/slides/img/TestExplorer.png b/07_unit_testing/slides/img/TestExplorer.png similarity index 100% rename from 06_unit_testing/slides/img/TestExplorer.png rename to 07_unit_testing/slides/img/TestExplorer.png diff --git a/06_unit_testing/slides/img/apaxyml.png b/07_unit_testing/slides/img/apaxyml.png similarity index 100% rename from 06_unit_testing/slides/img/apaxyml.png rename to 07_unit_testing/slides/img/apaxyml.png diff --git a/06_unit_testing/slides/img/debugging.png b/07_unit_testing/slides/img/debugging.png similarity index 100% rename from 06_unit_testing/slides/img/debugging.png rename to 07_unit_testing/slides/img/debugging.png diff --git a/06_unit_testing/slides/img/ui_buttons.png b/07_unit_testing/slides/img/ui_buttons.png similarity index 100% rename from 06_unit_testing/slides/img/ui_buttons.png rename to 07_unit_testing/slides/img/ui_buttons.png diff --git a/06_unit_testing/slides/slides.md b/07_unit_testing/slides/slides.md similarity index 98% rename from 06_unit_testing/slides/slides.md rename to 07_unit_testing/slides/slides.md index 6ee4fbd..8191c21 100644 --- a/06_unit_testing/slides/slides.md +++ b/07_unit_testing/slides/slides.md @@ -15,12 +15,13 @@ mouseWheel: true, | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Introduction to ST Programming | -| 04 | Loading and Debugging | -| 05 | OOP Elements of ST | -| **06** | **Unit Testing** | -| 07 | Tools for commissioning | -| 08 | Package management | +| 03 | Hardware Configuration | +| 04 | Introduction to ST Programming | +| 05 | Loading and Debugging | +| 06 | OOP Elements of ST | +| **07** | **Unit Testing** | +| 08 | Tools for commissioning | +| 09 | Package management | --- diff --git a/05_oop_in_st/slides/theme/.DS_Store b/07_unit_testing/slides/theme/.DS_Store similarity index 100% rename from 05_oop_in_st/slides/theme/.DS_Store rename to 07_unit_testing/slides/theme/.DS_Store diff --git a/06_unit_testing/slides/theme/siemens.css b/07_unit_testing/slides/theme/siemens.css similarity index 100% rename from 06_unit_testing/slides/theme/siemens.css rename to 07_unit_testing/slides/theme/siemens.css diff --git a/04_introduction_to_st/slides/theme/siemens.svg b/07_unit_testing/slides/theme/siemens.svg similarity index 100% rename from 04_introduction_to_st/slides/theme/siemens.svg rename to 07_unit_testing/slides/theme/siemens.svg diff --git a/06_unit_testing/slides/theme/simatic-ax.css b/07_unit_testing/slides/theme/simatic-ax.css similarity index 100% rename from 06_unit_testing/slides/theme/simatic-ax.css rename to 07_unit_testing/slides/theme/simatic-ax.css diff --git a/06_unit_testing/apax.yml b/08_tools_for_commissioning/apax.yml similarity index 100% rename from 06_unit_testing/apax.yml rename to 08_tools_for_commissioning/apax.yml diff --git a/03_loading_and_debugging/exercises/0_first_exercise/README.md b/08_tools_for_commissioning/exercises/0_first_exercise/README.md similarity index 100% rename from 03_loading_and_debugging/exercises/0_first_exercise/README.md rename to 08_tools_for_commissioning/exercises/0_first_exercise/README.md diff --git a/03_loading_and_debugging/exercises/0_first_exercise/apax.yml b/08_tools_for_commissioning/exercises/0_first_exercise/apax.yml similarity index 100% rename from 03_loading_and_debugging/exercises/0_first_exercise/apax.yml rename to 08_tools_for_commissioning/exercises/0_first_exercise/apax.yml diff --git a/07_tools_for_commissioning/slides/img/DiagBuffPanelWeb.png b/08_tools_for_commissioning/slides/img/DiagBuffPanelWeb.png similarity index 100% rename from 07_tools_for_commissioning/slides/img/DiagBuffPanelWeb.png rename to 08_tools_for_commissioning/slides/img/DiagBuffPanelWeb.png diff --git a/07_tools_for_commissioning/slides/img/PerformanceInfo.png b/08_tools_for_commissioning/slides/img/PerformanceInfo.png similarity index 100% rename from 07_tools_for_commissioning/slides/img/PerformanceInfo.png rename to 08_tools_for_commissioning/slides/img/PerformanceInfo.png diff --git a/07_tools_for_commissioning/slides/img/PlcOnlineHub.png b/08_tools_for_commissioning/slides/img/PlcOnlineHub.png similarity index 100% rename from 07_tools_for_commissioning/slides/img/PlcOnlineHub.png rename to 08_tools_for_commissioning/slides/img/PlcOnlineHub.png diff --git a/07_tools_for_commissioning/slides/img/plc-browser.gif b/08_tools_for_commissioning/slides/img/plc-browser.gif similarity index 100% rename from 07_tools_for_commissioning/slides/img/plc-browser.gif rename to 08_tools_for_commissioning/slides/img/plc-browser.gif diff --git a/07_tools_for_commissioning/slides/slides.md b/08_tools_for_commissioning/slides/slides.md similarity index 97% rename from 07_tools_for_commissioning/slides/slides.md rename to 08_tools_for_commissioning/slides/slides.md index f9cd100..7cce4b2 100644 --- a/07_tools_for_commissioning/slides/slides.md +++ b/08_tools_for_commissioning/slides/slides.md @@ -13,12 +13,13 @@ mouseWheel: true, | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Loading and Debugging | -| 04 | Introduction to ST Programming | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| **07** | **Tools for commissioning** | -| 08 | Package management | +| 03 | Hardware Configuration | +| 04 | Loading and Debugging | +| 05 | Introduction to ST Programming | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| **08** | **Tools for commissioning** | +| 09 | Package management | --- diff --git a/04_introduction_to_st/slides/theme/.DS_Store b/08_tools_for_commissioning/slides/theme/.DS_Store similarity index 100% rename from 04_introduction_to_st/slides/theme/.DS_Store rename to 08_tools_for_commissioning/slides/theme/.DS_Store diff --git a/03_loading_and_debugging/slides/theme/siemens.svg b/08_tools_for_commissioning/slides/theme/siemens.svg similarity index 100% rename from 03_loading_and_debugging/slides/theme/siemens.svg rename to 08_tools_for_commissioning/slides/theme/siemens.svg diff --git a/03_loading_and_debugging/slides/theme/simatic-ax.css b/08_tools_for_commissioning/slides/theme/simatic-ax.css similarity index 100% rename from 03_loading_and_debugging/slides/theme/simatic-ax.css rename to 08_tools_for_commissioning/slides/theme/simatic-ax.css diff --git a/03_loading_and_debugging/apax.yml b/09_package_management/apax.yml similarity index 100% rename from 03_loading_and_debugging/apax.yml rename to 09_package_management/apax.yml diff --git a/08_package_management/exercises/1_creating_and_testing_a_library/README.md b/09_package_management/exercises/1_creating_and_testing_a_library/README.md similarity index 100% rename from 08_package_management/exercises/1_creating_and_testing_a_library/README.md rename to 09_package_management/exercises/1_creating_and_testing_a_library/README.md diff --git a/08_package_management/exercises/2_publishing_a_library/README.md b/09_package_management/exercises/2_publishing_a_library/README.md similarity index 100% rename from 08_package_management/exercises/2_publishing_a_library/README.md rename to 09_package_management/exercises/2_publishing_a_library/README.md diff --git a/08_package_management/exercises/2_publishing_a_library/solution.md b/09_package_management/exercises/2_publishing_a_library/solution.md similarity index 100% rename from 08_package_management/exercises/2_publishing_a_library/solution.md rename to 09_package_management/exercises/2_publishing_a_library/solution.md diff --git a/08_package_management/exercises/3_consuming_a_library/README.md b/09_package_management/exercises/3_consuming_a_library/README.md similarity index 100% rename from 08_package_management/exercises/3_consuming_a_library/README.md rename to 09_package_management/exercises/3_consuming_a_library/README.md diff --git a/08_package_management/exercises/3_consuming_a_library/solution.md b/09_package_management/exercises/3_consuming_a_library/solution.md similarity index 100% rename from 08_package_management/exercises/3_consuming_a_library/solution.md rename to 09_package_management/exercises/3_consuming_a_library/solution.md diff --git a/08_package_management/slides/img/box.png b/09_package_management/slides/img/box.png similarity index 100% rename from 08_package_management/slides/img/box.png rename to 09_package_management/slides/img/box.png diff --git a/08_package_management/slides/img/cake.jpg b/09_package_management/slides/img/cake.jpg similarity index 100% rename from 08_package_management/slides/img/cake.jpg rename to 09_package_management/slides/img/cake.jpg diff --git a/08_package_management/slides/img/create_lib_project.PNG b/09_package_management/slides/img/create_lib_project.PNG similarity index 100% rename from 08_package_management/slides/img/create_lib_project.PNG rename to 09_package_management/slides/img/create_lib_project.PNG diff --git a/08_package_management/slides/img/key.jpg b/09_package_management/slides/img/key.jpg similarity index 100% rename from 08_package_management/slides/img/key.jpg rename to 09_package_management/slides/img/key.jpg diff --git a/08_package_management/slides/img/library.jpg b/09_package_management/slides/img/library.jpg similarity index 100% rename from 08_package_management/slides/img/library.jpg rename to 09_package_management/slides/img/library.jpg diff --git a/08_package_management/slides/img/target.png b/09_package_management/slides/img/target.png similarity index 100% rename from 08_package_management/slides/img/target.png rename to 09_package_management/slides/img/target.png diff --git a/08_package_management/slides/slides.md b/09_package_management/slides/slides.md similarity index 98% rename from 08_package_management/slides/slides.md rename to 09_package_management/slides/slides.md index e0a07b1..5a46c9b 100644 --- a/08_package_management/slides/slides.md +++ b/09_package_management/slides/slides.md @@ -15,13 +15,13 @@ mouseWheel: true, | 00 | Introduction to the workshop | | 01 | Introduction to AX Code IDE | | 02 | Get started with your first AX Project | -| 03 | Loading and Debugging | -| 04 | Introduction to ST Programming | -| 05 | OOP Elements of ST | -| 06 | Unit Testing | -| 07 | Tools for commissioning | -| **08** | **Package management** | - +| 03 | Hardware Configuration | +| 04 | Loading and Debugging | +| 05 | Introduction to ST Programming | +| 06 | OOP Elements of ST | +| 07 | Unit Testing | +| 08 | Tools for commissioning | +| **09** | **Package management** | --- diff --git a/03_loading_and_debugging/slides/theme/.DS_Store b/09_package_management/slides/theme/.DS_Store similarity index 100% rename from 03_loading_and_debugging/slides/theme/.DS_Store rename to 09_package_management/slides/theme/.DS_Store diff --git a/09_package_management/slides/theme/siemens.svg b/09_package_management/slides/theme/siemens.svg new file mode 100644 index 0000000..765e8d4 --- /dev/null +++ b/09_package_management/slides/theme/siemens.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + diff --git a/04_introduction_to_st/slides/theme/simatic-ax.css b/09_package_management/slides/theme/simatic-ax.css similarity index 100% rename from 04_introduction_to_st/slides/theme/simatic-ax.css rename to 09_package_management/slides/theme/simatic-ax.css