04/21/23 PLC Software Configuration WG - CCB 1
PLC Software Configuration WG
•Members•Philippe Gayet•Fréderic Havart•Renaud Barillère•[Mathias Dutour]
04/21/23 PLC Software Configuration WG - CCB 2
Outline
ObjectivesSCM Applicable ConceptsIssues and solutionsTo be doneConclusions
04/21/23 PLC Software Configuration WG - CCB 3
Objectives
• Identify SCM Concepts applicable to PLC development
• Propose pragmatic solutions• Prepare next phase: implementation of
services
04/21/23 PLC Software Configuration WG - CCB 4
Layout
• Purpose• Identify what is deployed• Identify the role of each component
• What it does:• Store all information about deployed PLCs
• CPU• Cards• Firmware
• Users• Operators (for maintenance)
04/21/23 PLC Software Configuration WG - CCB 5
Asset
• Purpose• Keep trace of all physical equipment
• What it does:• Store all information about
• Purchase• Installation history• Owner
• Store information about spare parts
• Users• HW responsible persons
04/21/23 PLC Software Configuration WG - CCB 6
Software Configuration Management: Goals
• Offer a safe place and references for project artifacts (elements)
• Provide flexibility (component management)
• Support product lines• Allow parallel work• Enable delivery control• Allow “Reload and replay”
04/21/23 PLC Software Configuration WG - CCB 7
SCM Concepts: Overview
Deliverables Repository
Project Repository
Developer #1
Dev. Repository
Developer #3
Dev. Repository
Developer #2
Dev. Repository
Librarian
Administrator
ProgrammingConsole
Operator
Dev. PLC #3Dev. PLC
#2
Dev. PLC #1
04/21/23 PLC Software Configuration WG - CCB 8
SCM: Development process
SCM supports all phases of the SW production:
• Development• Incremental• By several developers
• Test and Validation• Release• Deployment
04/21/23 PLC Software Configuration WG - CCB 9
Development Repository
• Purpose• The private working directory of a given user.
• What it does:• Offer a working area for non persistent
modifications.• Offer synchronization with the Project repository
• What it does not:• Offer a shared working area• Holds several versions of a given file.
• Users:• Developers• Designers
04/21/23 PLC Software Configuration WG - CCB 10
Project Repository
• Purpose:• Reference storage for all project artifacts
• What it does:• Offer a unique and safe repository to all project
members• Offer traceability of changes• Offer rollback solutions.
• What is does not:• Offer space for distribution of deliverables• Offer repository to operators
• Users:• Project managers• Designers• Developers
04/21/23 PLC Software Configuration WG - CCB 11
Deliverables repository
• Purpose• A safe repository for the project deliverables
• What it does:• Offer a simple tool to allow operator to install
and re-install the PLC programs
• What it does not:• Offer help for the development nor the tests• Offer storage for the sources
• Users• Librarian• Operators
04/21/23 PLC Software Configuration WG - CCB 12
Issues: PLC IDE specificities
• Specific purpose• Hardware configuration• Sources
• Source files accessibility• Sometime inaccessible directly• No clear structure• No clear file identity
• Siemens and Schneider IDE are not equivalent
04/21/23 PLC Software Configuration WG - CCB 13
Issues: PLC development styles
• Usual development approach• Sources edition in the IDE• Debugging in IDE during Test and Commissioning.
• Advanced case #1• Sources edition partially outside of the IDE• Modification in the IDE• Debugging in IDE during Test and Commissioning.
• Advanced case #2• Sources edition outside of the IDE• Debugging inside of IDE• Modification outside of the IDE.
04/21/23 PLC Software Configuration WG - CCB 14
Solutions: Asset and Layout
• CERN solutions (LHC layout DB and D7I ) adapted to PLC world• CPU, Cards, etc.• Firmware
• Can be used as such• Replacement of Excel-based tracking
• Could be used CERN-wide• It is not domain specific
04/21/23 PLC Software Configuration WG - CCB 15
Solution: Deliverables repository
• For the documents: Web or EDMS• For the “executable” files: Web
• Store the exported project• As a unique file (Sometime large) loadable via the
IDE
• Store several versions • The one in production (For re-load)• The next one (For initial load)• The previous one (eventually) (For immediate roll
back)
• Mark these files with the tags of the SCM system
04/21/23 PLC Software Configuration WG - CCB 16
Solution: Project repository
• For the document: • Tool: CVS• Artifacts: all sources (.doc, .fm, etc.)
• For the “sources”• Tools: CVS• Artifacts: According to IDEs, Projects, Users
• Individual files, with or without baseline or unique large project file.
• Benefits• Safe saving of sources• Tracking of changes• Identification of versions.
04/21/23 PLC Software Configuration WG - CCB 17
Solution: Project Repository 1/3
• Principle• The sources and HW configuration are stored as
individual files• The standard CVS solution
• Pros• Fine tracking of the changes• Flexibility in the building of applications• Ease the development by several people
• Cons• Not applicable if files can not be identified• Not applicable if HW configuration can not be exported• May need a lot of manual interventions in the Dev.
Repository.
04/21/23 PLC Software Configuration WG - CCB 18
Solution: Project Repository 2/3
• Principle• The sources are stored as individual files• The HW configuration and libraries are saved
in a base line project.
• Pros• Fine tracking of the changes.• Flexibility in the building of applications.• Ease the development by several people.
• Cons• Not applicable if files can not be identified• May need a lot of manual interventions in the
Dev. Repository.
04/21/23 PLC Software Configuration WG - CCB 19
Solution: Project Repository 3/3
• Principle• The sources, HW configuration and libraries
are stored in a unique file
• Pros• Tracking of the changes.• A few manual operation in the Dev. Rep.• Applicable to all dev. Process and IDE.
• Cons• Not a fine tracking mechanism• Storage of large file in CVS (long access time)
04/21/23 PLC Software Configuration WG - CCB 20
Solution: Developers repository
• Principe• A personal space to synchronize sources with Project
Rep.• The standard CVS approach and manual manipulation
• Pros• People can develop in parallel• People can develop anywhere• Can be used during test and “commissioning”• Can be used the standard way if development outside of
IDEs
• Cons• Need import/export with some of the IDEs
(IDEs do not work with files of the file system)
04/21/23 PLC Software Configuration WG - CCB 21
Actions
• Publish policy• Mandatory use of one of the solution
• Advertise services from support groups• Push Siemens and Schneider to open their
tool to IT solutions.
04/21/23 PLC Software Configuration WG - CCB 22
Conclusions
Software and hardware configuration management is applicable to PLC world.
Some adaptations have been identified
PLC support groups shall;Prepare toolsHelp users to identify their best practicesInvite PLC manufacturers to open their tools