Automation / Engineering Software / Programming
PLC Developer
                                                                                     Modern automisation systems solve complex tasks that go well
                                                                                     beyond plant control. The procedural programming, in accordance
                                                                                     with IEC 61131-3, allows multiple tasks to be solved in an efficient
                                                                                     and structured way. This is where the PLC Developer supports the
                                                                                     system programmer through all phases of software development.
                                                                                     Synergies in the SolutionCenter
                                                                                     The seamless integration of the PLC Developer into the
                                                                                     SolutionCenter provides added value from the resulting synergies:
                                                                                     • By linking PLC projects in a Solution project with device
                                                                                        configurations and templates, they can be combined to form
                                                                                         an overall solution and managed as one.
                                                                                     • The version management function using GIT and SVN enables
                                                                                         the user to trace code modifications easily and provides the
                                                                                         basis for effective release management.
                                                                                     • The use of extensions, in the form of plugins, which can also
                                                                                         be directly installed from the Eclipse Marketplace, simplifies
                                                                                         engineering and programming.
                                                                                     • The SolutionCenter scripting API enables the use of modern
                                                                                         software development methods such as continuous
                                                                                         integration, model-driven development and test-driven
                                                                                       development.
                  Bachmann electronic GmbH • 08/2021 • Specification subject to change – the product’s characteristics are exclusively governed by the data of the respective user manual.
                                                                                                                                Automation / Engineering Software / Programming
Efficient programming and management                                                                Modern operation through modular structure
The clear and intuitive editors allow modern and efficient                                          The PLC Developer has an open, flexible and transparent
operation:                                                                                          design, and thus brings the engineering to a new level:
• The user-defined syntax highlighting increases the code                                           • All sections of the source code are saved in text form in the
  readability in »Structured Text« (ST).                                                              project in a defined file format, which opens the p  ossibility
• The modern and clear design of the user interface for                                               for the user to generate modules and configurations.
  programming in »Continuous Function Chart« (CFC) also                                               Recurring operating steps can thus be automated and
  allows a good overview in large programs.                                                           copy/paste errors prevented.
• Thanks to the fully available code navigation and                                                 • The structuring of the program sections can be selected
  call h  ierarchy, it is also possible to easily identify                                           as required and thus enables the application to have a
  interrelationships in complex applications.                                                        modular design.
• Efficient programming is particularly enhanced by                                                 • In order to ensure a reproducible build, the libraries used
   the c ontext-sensitive autocomplete function and the                                              are saved in the project. An update produces a clear
   predefined and extendable code and file templates.                                                display of the libraries present in a newer version.
• Project management in one workspace enables all changes                                           • Creation and debugging of user-defined libraries in ST,
    to the source files to be stored in a local history. These can                                     CFC, C and C++ is possible throughout and particularly
    be called again at a later time irrespective of whether the                                        supports the reusability of code in other projects.
    project is version managed.                                                                     • Programming is carried out irrespective of the target
• An extensive validation function immediately notifies the                                             platform, which only has to be selected at the time of
    programmer of programming errors when the program is                                                execution. After compilation, the created application can
    edited. Quick fixes correct missing program sections such                                            be transferred directly to an M1 controller and run.
    as variable declarations by adding them automatically.                                          • Externally visible variables can be configured clearly in the
• Information on interfaces and documentation of function                                                symbol configuration.
    blocks or variables can be called and displayed via tooltips
    without leaving the editor.
• The project-wide changing of identifiers can be carried out
    easily and thoroughly.
• When entering and saving the program, the notation of
    keywords and identifiers is corrected automatically.
• The CFC editors can also be fully operated via the
    keyboard. This increases efficiency when creating CFC
     diagrams.
Bachmann electronic GmbH • 08/2021 • Specification subject to change – the product’s characteristics are exclusively governed by the data of the respective user manual.
Automation / Engineering Software / Programming
Better quality through rapid troubleshooting                                                • The dynamics of variables can be better assessed by
The debug framework of the PLC Developer is extremely                                          highlighting variable values when they change.
useful, particularly with the development of new applications                               • Values of Boolean variables are highlighted in color
and with troubleshooting:                                                                       in order to better identify the current status of an
                                                                                              application.
• After a debug session is started, the actual variable values                              • Code modifications can be applied online without stopping
  can be monitored without stopping the application. This                                       the application. The PLC Developer detects during the
  can be carried out via the clearly designed monitoring                                        transfer whether the online change can be carried out.
  table in ST or the inline monitoring in CFC. The individual                               • It is also possible to debug several applications
  variables and structures of the application can also be                                       simultaneously. When an application with several tasks
  combined in variable lists and monitored jointly, plotted in                                   is debugged, the active debug task can be selected when
  a graph and set.                                                                               connecting and changed during the debug session.
• Activating the flow control makes it possible to follow the                               • PLC Insight is an automatically generated webMI
  program flow without stopping the application.                                                 visualization based on selected CFC blocks. It provides
• An application can be stopped at any position via a break                                      users with access to the application logic without the need
  point and then executed in steps. Break points can be                                          for an engineering tool. The visualization is installed on the
  managed jointly and activated or deactivated altogether.                                       target controller together with the application. Along with
• When the application is stopped, the stack frame is                                            the signal flow, values of exported variables can also be
  displayed by which it is also possible to navigate to the                                      monitored and changed.
  functions to be called.
                  Bachmann electronic GmbH • 08/2021 • Specification subject to change – the product’s characteristics are exclusively governed by the data of the respective user manual.
                                                                                                                                Automation / Engineering Software / Programming
 PLC Developer
 General
 Integration                                                         • Management of several PLC projects in one workspace
                                                                     • Management of all devices and PLC projects in one workspace
                                                                     • Linking of PLC projects in the Solution projects for joint management
 Display                                                             • Predefined perspectives with views for processing PLC projects
                                                                     • Clear, freely selectable arrangement of views and editors
 Version management                                                  • ZIT (local and remote)
                                                                     • SVN (local and remote)
 Libraries                                                           •   Integration of libraries as copies with version comparison
                                                                     •   Version display
                                                                     •   Incorporation of standard libraries
                                                                     •   Incorporation of PLC libraries
                                                                     •   Incorporation of external PLC libraries (C/C++, MATLAB® /Simulink®)
 Automation                                                          • Execution of scripts in the SolutionCenter (JavaScript, Python)
                                                                     • Predefined modules for creating and transferring applications
 Expandability                                                       • Extensions (plugins) installable via Eclipse Marketplace
                                                                     • Use of user-created Eclipse plugins
 Scalability                                                         • Creation of the application independent of the target platform
                                                                     • Transfer and execution on all M200-CPUs
 Structure                                                           • Combination of projects in work sets
                                                                     • Folder structure freely selectable in the project
                                                                     • Full access to all source code files
 Compatibility                                                       • Compatible with M-PLC (compiler and runtime)
                                                                     • Import of M-PLC projects possible
 Editors
 Languages                                                           • Structured text (ST)
                                                                     • Continuous function chart (CFC)
                                                                     • Can be combined as required
 Code navigation                                                     •   Finding references (in the project)
                                                                     •   Call hierarchy (up to the task)
                                                                     •   Caller hierarchy (hierarchy levels expandable)
                                                                     •   Opening declaration (local and global)
 Auto-complete                                                       • Context-sensitive (declaration, call, program section)
                                                                     • Predefined source code templates
                                                                     • User-defined source code templates
 Autocorrection                                                      • Correction of identifier notation
                                                                     • Correction of keyword notation
 Syntax highlighting                                                 • Freely configurable
                                                                     • Separate for structured text, global variable lists, data types and hardware
                                                                       configuration
 Quick fixes                                                         • Declaration of variables and function block instances
                                                                     • Creation of missing elements (connection marks, jumps and jump labels)
                                                                     • Updating of the function block interface
 Version control                                                     • Comparison with locally stored versions (local history)
                                                                     • Comparison with source code from SVN or GIT
 Changes                                                             • Project-wide rename of identifiers
 Information                                                         • Context-sensitive information in the tooltip on identifier (ST)
                                                                     • Context-sensitive information on function block and pin (CFC)
 Keyboard operation                                                  • Execution of most frequently used actions with keyboard shortcuts
                                                                     • Programming possible also in CFC via keyboard
 Validation                                                          • Syntactical and semantic checking of the source code on typing
                                                                     • Display of problems directly in the source code and in the error view
Bachmann electronic GmbH • 08/2021 • Specification subject to change – the product’s characteristics are exclusively governed by the data of the respective user manual.
Automation / Engineering Software / Programming
PLC Developer
Configuration
Symbol configuration                                           •   Visibility of the local and global variables
                                                               •   Access to local and global variables
                                                               •   Export of collective, structure and array entries
                                                               •   Inheritable configurations
Global variable lists                                          • Declaration of global variables
                                                               • Declaration of global constants
                                                               • Declaration of global retain variables
Variable configuration                                         • Assignment of variables to physical hardware addresses
Task configuration                                             •   Up to 16 tasks configurable
                                                               •   Configuration of called programs
                                                               •   Configuration of task type (cyclic, sync, event/error interrupt, free wheeling)
                                                               •   PTP synchronization
                                                               •   Watchdog timeout
Process image                                                  • Hardware import of online and offline device (selective)
                                                               • Manual addition of hardware modules
Project settings                                               • Version number
                                                               •   Name of the module (m-file)
                                                               •   Error tolerance
                                                               •   Multicore suitability
                                                               •   Conflict handling with retain variables
                                                               •   Memory layout
                                                               •   Marker settings
Online Operation
Installation                                                   •   Online change for code changes
                                                               •   Target controller permanently or dynamically selectable
                                                               •   Installation on target controller temporarily or permanently
                                                               •   Name of the module instance freely selectable
Initialization                                                 • Selectable debug task on start (with multitasking projects)
Deploy configurations                                          • Several configurations per project possible
                                                               • Combined execution of several configurations possible (launch groups)
                                                               • Management of favorites
Debugging – Troubleshooting
Stepwise processing                                            • Stopping of the application via breakpoint
                                                               • Step into/over/return
Monitoring                                                     •   Variable values in the monitoring table in the editor (ST/CFC)
                                                               •   Variable values inline (only CFC)
                                                               •   Variable list for selected variables
                                                               •   Display of executed code via flow control
Display                                                        • Changing the format of INT values (dec, hex, bin)
                                                               • Current stack frame when the application is stopped
Libraries                                                      • Internal libraries by incorporating the source codes (linked resources)
                                                               • External libraries by connecting with the source codes (C/C++)
Manipulation                                                   • Variable values can be set (one-off write)
                                                               • Variable values can be forced (writing before each execution)
Visualization                                                  •   Generation of a complete webMI visualization from CFC blocks (PLC Insight)
                                                               •   Transfer of the visualization to the target together with the application
                                                               •   Monitoring and changing the exported variables via the visualization
                                                               •   Tracking the signal flow based on the connections between the function blocks
                   Bachmann electronic GmbH • 08/2021 • Specification subject to change – the product’s characteristics are exclusively governed by the data of the respective user manual.