Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • E escet
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare
    • Locked Files
  • Issues 93
    • Issues 93
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Eclipse ProjectsEclipse Projects
  • Eclipse ESCET (Supervisory Control Engineering Toolkit)
  • escet
  • Issues
  • #400
Closed
Open
Issue created Aug 08, 2022 by Albert Hofkamp@ahofkampDeveloper

Implement first step in escet plcgen

From #397 :

  1. Construct an application that reads a CIF model, takes a option stating the desired PLC model to generate code for, and producing an empty main program for all supported PLC systems. Needs
  • application infra structure files,
  • a PLC target option to specify the desired PLC target,
  • ability to read CIF files,
  • ability to generate text files and writing them to the file system,
  • for each supported PLC model the code or data that generates the empty main program.
  • construct test infra structure for enabling checking that an extension in the transformation does not break old behaviour.

Last week I started with this, and found that generating the output is more complicated than expected; some PLC targets use XML, others generate dozens of files. So rather than using a codegen-like backend with template files, I now think that the cif2plc backend is more useful. So for now I will just use that part I think.

In a next step, the generated PLC code should exist as a object tree to allow analysis and modification to improve the output. The cif2plc backend doesn't currently support that as it directly stores lines of text. Whether to consider the object tree as an independent intermediate form, or change the backend in that direction is something that still needs to be decided.

Assignee
Assign to
Time tracking

Copyright © Eclipse Foundation, Inc. All Rights Reserved.     Privacy Policy | Terms of Use | Copyright Agent