Giter VIP home page Giter VIP logo

ae-motion-tiax's Introduction

Motion Control TIAX

This repository is a small use case for implementing motion control commands in an object-oriented way.

Please keep in mind, that this library is not intended for a real world production. For the sake of simplicity, some design choices should be modified for your specific application.

How is the library structured

The library consists of two main parts, classes controlling the axes in general and a wrapper function block using the classes for a specific application.

Object-oriented motion control

You can find the classes for the motion control together with some data types in the folder src/_internal. These classes control a single technology object, are for generic use and can be used in many different application environments and may even fit your needs already.

Wrapper function block

Since TIA Portal cannot handle object-oriented programming directly, they have to be wrapped in a function block. In this example, the function block is called Wrapper and can be found in the folder src. This wrapper includes one class instance for a positioning axis and one instance for a speed axis. It is custom to this example and has a reduced functionality. You will probably need to write a different wrapper for your specific needs.

How to use the example

How to install the application example on your local PC

Run the following commands in a CLI

apax create @simatic-ax/ae-motion-tiax --registry https://npm.pkg.github.com ae-motion-tiax
cd ae-motion-tiax
apax install
axcode .

AX Code starts with the content of the application example

Check the TIA Portal installation path in the apax.yml and adapt it when necessary

  # set the path to your local TIA Portal installation
  TIA_INSTALL_PATH: "C:\\Program Files\\Siemens\\Automation\\Portal V19"

Set a new version (e.g. 1.0.1) in the apax.yml

# General information
name: '@simatic-ax/ae-motion-tiax'
# Description will be displayed in the apax extension
description: An application example to demonstrate motion control in SIMATIC AX for use in TIA Portal
version: 1.0.1

Generate the TIA Portal global library by executing the creation script

apax create-tialib

Please notice that in the script, the TIA_INSTALL_PATH needs to be changed to your own installation path of TIA Portal.

You can also reference to the TIAX use case training video for more details

How to create your application

  1. Open the TIA library with your TIA Portal V18
  2. Pull the function block Wrapper into your plc program
  3. Create one technology object of the type positioning axis and one of the type speed axis
  4. Connect the speed axis and the postitioning axis to the wrapper
  5. Add setpoint values for the motion dynamics
  6. Add the logic circuit to the boolean inputs for executing commands

NOTICE

This library makes use of the motion contro native library which controls technology objects in the SIMATIC S7 1500. Depending on the firmware of your SIMATIC controller, you will need a specific version of this library. In the example, the library is used in v7 which is supported by SIMATIC controllers with the firmware version 3.0. If your firmare differs, please change out the library. You can find more information in the motion control documentation

How to get the technology objects moving

  1. Convert the library to a TIA Portal global library
  2. Load the project into your SIMATIC S7-1500 PLC using TIA Portal
  3. Send commands through your logic to first set the axes into the internal logic with a positive signal edge
  4. Switch on the axes with a positive signal edge
  5. Execute various motion commands with a positive edge on the command inputs. Use the input PosVal for all positioning commands
  6. Optional: Take a look at the active motion by using the TIA Portal trace feature

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

ae-motion-tiax's People

Contributors

beckersts avatar cynthialuo527 avatar huskyre avatar reinerschinkoethe avatar simatic-ax-bot avatar sjuergen avatar thkindler avatar web-flow avatar

Stargazers

 avatar  avatar

ae-motion-tiax's Issues

Add hint of markdownlinter

Describe the solution you'd like
A clear and concise description of what you want to happen.

Additional context
Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.