Skip to content

Application Example: Traffic light using the statemachine library

License

Notifications You must be signed in to change notification settings

simatic-ax/ae-trafficlight

Repository files navigation

Application Example Traffic Light

Description

This application example shows how to use the state framework of the package @simatic-ax/statemachine. In this example a simple traffic light will be realized.

statechart

Execute the Application Example (AX Code local)

  1. Open a command line interface (CLI) and switch to the target folder. Example, if the traget folder is D:\temp

    D:
    cd \temp
  2. Install the application example on your local PC

    Run the following commands in a CLI

    apax create @simatic-ax/ae-trafficlight --registry https://npm.pkg.github.com ae-trafficlight

    Open AxCode with

    cd ae-trafficlight 

    install the dependencies with:

    apax install

    and open AxCode

    axcode . 
  3. If not open, open a terminal (CTRL+SHIFT+ö)

  4. Start a PLCSIM Advanced Instance (IP: Address 192.168.0.1). To change the IP you'll find information here

  5. If not done, download a valid hardware configuration (FW >= 2.9 and IP address 192.168.0.1) to the PLCSIM Advanced Instance. The recommend way is using TIA Portal.

  6. Build in download the project to the PLC

    apax dlplc
    

    The project will be compiled and downloaded to the PLCSIM Advanced instance

  7. Open the monitoring file mon.mon

  8. Go online

    traffic light

Tips and tricks

Change the IP address for the downloader

To change the target IP address, open the apax.yml and search the entry IP_ADDRESS, Enter the IP address for your target.

Change the IP address for the online debugging and monitoring

To change the IP address for the debugging, open the file ./vscode/launch.json and search the entry ip, Enter the IP address for your device.

Contribution

Thanks for your interest in contributing. Anybody is free to report bugs, unclear documentation, and other problems regarding this repository in the Issues section or, even better, is free to propose any changes to this repository using Merge Requests.

Markdownlint-cli

This workspace will be checked by the markdownlint-cli (there is also documented ho to install the tool) tool in the CI workflow automatically.
To avoid, that the CI workflow fails because of the markdown linter, you can check all markdown files locally by running the markdownlint with:

markdownlint **/*.md --fix

License and Legal information

Please read the Legal information