Coder Social home page Coder Social logo

tinf17c / gsd2aml-converter Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 2.0 501 KB

Converts a ProfiNet GSD file to an AML string or an AMLX package using the AML.Engine.

Home Page: https://www.nuget.org/packages/Gsd2Aml.Lib

License: GNU Affero General Public License v3.0

Batchfile 0.01% C# 99.77% XSLT 0.22%
aml gsd pngsd amlx profinet

gsd2aml-converter's Introduction

Gsd2Aml

Welcome to Gsd2Aml! This project was developed as a student project by (in alphabetical order)

  1. Nico Dietz
  2. Steffen Gerdes
  3. Constantin Ruhdorfer
  4. Jonas Komarek
  5. Vu Quang Phuc
  6. Michael Weidmann

at Baden-Wuerttemberg Cooperative State University (DHBW) Stuttgart under supervision of Markus Rentschler and Christian Ewertz.

This project is distributed via:

  1. GitHub
  2. NuGet

We can be found as a GitHub Team.

About this project

This project was developed in .Net Framework 4.7. This project converts a Profinet (PN-)GSD file to AutomationML. There are several ways to use this project:

  1. GUI
  2. CLI
  3. Implement the library for your own purposes

You can get an installer or a portable version on the appropiate GitHub release page.

Contributing to this project

Contributions are always welcome! If you want to contribute feel free to fork this repo and later perform a pull request.

Subprojects

The seperate subprojects are explained here and can be found under /src/.

Gsd2Aml.Lib

The heart of this project. The library contains all the relevant logic for:

  1. checking the GSD files validity
  2. performing the conversion and either
    • returning a string containing the AutomatonML content.
    • or converting the GSD file to an .aml file and package that, including all its dependencies, into an .amlx package. This process uses the AML.Engine.

Additional information, including the relevant conversion rules, can be found in the readme of the library.

Gsd2Aml.Gui

Contains the code that makes up the CLI. The Gui gives the user access to the functonality of the library without requiring the user to implement the library for themselfs. It comes with added functionality like checking paths and visually informing the user about events.

The main window of the GUI

Gsd2Aml.Cli

Contains the code that makes up the CLI. This includes parsing and handeling the arguments. The CLI gives the user access to the functonality of the library without requiring the user to implement the library for themselfs.

It comes with various flags to handle the conversion:

The Clis help flag

Gsd2Aml.Setup

Contains the code relevant for building the installer. It uses the WIX toolset.

Gsd2Aml.Test

Contains the code for all unit tests. The unit tests were build with Microsoft Unit Test Framework.

gsd2aml-converter's People

Contributors

constantinruhdorfer avatar jonaskomarek avatar michaelweidmann avatar steffengerdes avatar vuquangphuc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wantonia sinoiot

gsd2aml-converter's Issues

Extend Converter to other description formats

The GSD2AML-Converter should be generalized to a DD2AML-Converter, able to recognize and convert description formats like IODD (IO-Link), ESI (EtherCAT), CSP+ (CC-Link), SDDML (sercos III), XDD (Powerlink), EDS (Ethernet/IP) and PB-GSD (Profibus).

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.