PlcProgramLoader UserDocumentation V1 0 en
PlcProgramLoader UserDocumentation V1 0 en
Siemens
User Documentation Industry
Online
https://support.industry.siemens.com/cs/ww/en/view/109820498 Support
Legal information
Legal information
Use of application examples
Application examples illustrate the solution of automation tasks through an interaction of several
components in the form of text, graphics and/or software modules. The application examples are
a free service by Siemens AG and/or a subsidiary of Siemens AG ("Siemens"). They are
non-binding and make no claim to completeness or functionality regarding configuration and
equipment. The application examples merely offer help with typical tasks; they do not constitute
customer-specific solutions. You yourself are responsible for the proper and safe operation of the
products in accordance with applicable regulations and must also check the function of the
respective application example and customize it for your system.
Siemens grants you the non-exclusive, non-sublicensable and non-transferable right to have the
application examples used by technically trained personnel. Any change to the application
examples is your responsibility. Sharing the application examples with third parties or copying the
application examples or excerpts thereof is permitted only in combination with your own products.
The application examples are not required to undergo the customary tests and quality inspections
of a chargeable product; they may have functional and performance defects as well as errors. It is
your responsibility to use them in such a manner that any malfunctions that may occur do not
result in property damage or injury to persons.
Disclaimer of liability
Siemens shall not assume any liability, for any legal reason whatsoever, including, without
limitation, liability for the usability, availability, completeness and freedom from defects of the
application examples as well as for related information, configuration and performance data and
any damage caused thereby. This shall not apply in cases of mandatory liability, for example
under the German Product Liability Act, or in cases of intent, gross negligence, or culpable loss of
life, bodily injury or damage to health, non-compliance with a guarantee, fraudulent
non-disclosure of a defect, or culpable breach of material contractual obligations. Claims for
damages arising from a breach of material contractual obligations shall however be limited to the
© Siemens AG 2023 All rights reserved
foreseeable damage typical of the type of agreement, unless liability arises from intent or gross
negligence or is based on loss of life, bodily injury or damage to health. The foregoing provisions
do not imply any change in the burden of proof to your detriment. You shall indemnify Siemens
against existing or future claims of third parties in this connection except where Siemens is
mandatorily liable.
By using the application examples you acknowledge that Siemens cannot be held liable for any
damage beyond the liability provisions described.
Other information
Siemens reserves the right to make changes to the application examples at any time without
notice. In case of discrepancies between the suggestions in the application examples and other
Siemens publications such as catalogs, the content of the other documentation shall have
precedence.
The Siemens terms of use (https://support.industry.siemens.com) shall also apply.
Security information
Siemens provides products and solutions with industrial security functions that support the secure
operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is necessary
to implement – and continuously maintain – a holistic, state-of-the-art industrial security concept.
Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems, machines
and networks. Such systems, machines and components should only be connected to an
enterprise network or the internet if and to the extent such a connection is necessary and only
when appropriate security measures (e.g. firewalls and/or network segmentation) are in place.
For additional information on industrial security measures that may be implemented, please visit
https://www.siemens.com/industrialsecurity.
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they are available
and that the latest product versions are used. Use of product versions that are no longer
supported, and failure to apply the latest updates may increase customer’s exposure to cyber
threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed
under https://www.siemens.com/cert.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 2
Table of contents
Table of contents
Legal information ......................................................................................................... 2
1 Overview ............................................................................................................. 4
1.1 Purpose ................................................................................................ 4
1.2 Main workflow ....................................................................................... 4
1.3 Supported environments ...................................................................... 4
1.4 Loadable File ........................................................................................ 5
2 Capabilities ......................................................................................................... 6
2.1 General conditions ............................................................................... 6
2.2 Important notes .................................................................................... 7
2.2.1 Effect on the HMI runtime..................................................................... 7
2.2.2 PLC data types (UDT) .......................................................................... 7
2.2.3 FBs and Instance DBs .......................................................................... 7
2.2.4 Group folders ........................................................................................ 8
2.2.5 Safety integrity ...................................................................................... 9
2.2.6 Tags and user constants ...................................................................... 9
2.2.7 ProDiag................................................................................................. 9
3 Creating a Loadable File ................................................................................. 10
4 Deploying a Loadable File .............................................................................. 11
4.1 Installation .......................................................................................... 11
© Siemens AG 2023 All rights reserved
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 3
1 Overview
1 Overview
1.1 Purpose
The PlcProgramLoader is a tool that allows you to download software to a PLC
without using TIA Portal.
The following use case is an example where the PlcProgramLoader can be
applied: A serial machine builder distributes standard software configurations to a
large number of end customers. The difficulty is that every customer can have an
individual hardware and software configuration. A serial machine builder therefore
requires a possibility to update the software on a machine to either enable/disable
features or provide bugfixes.
With TIA Portal alone, the serial machine builder can only make changes to
specific target machines, if the exact configuration of this target machine is
available as a TIA Portal project.
With the PlcProgramLoader, it is now possible to create software updates without
knowing the exact target PLCs configuration. The software to be downloaded can
be created e.g. from a TIA Portal project, that does not exactly match the target
PLCs configuration. The PlcProgramLoader checks if the software can be
consistently downloaded.
To load software changes to a PLC without a corresponding TIA Portal project, the
following main steps are required:
1. Make changes to an existing TIA Portal project.
2. Export the changed objects to a so called “Loadable File” by means of
Openness.
3. Use the PlcProgramLoader to download the Loadable File to a PLC.
It is possible to apply Loadable Files to a PLC that have been created from an
arbitrary TIA Portal project. The PlcProgramLoader checks if the software objects
contained in the Loadable File can be seamlessly integrated into the online-PLC's
software configuration.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 4
1 Overview
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 5
2 Capabilities
2 Capabilities
The PlcProgramLoader is envisioned to eventually become a universal component
for downloading the complete spectrum of TIA Portal software objects. With this
version however, it is only possible to download non fail-safe code- and data-
blocks that do not belong to a Software Unit.
be added or removed.
• No structural interface changes:
Blocks to be downloaded have no block interface members added, removed,
renamed or changed with respect to their data type. These restrictions do not
apply to interface members in the TEMP section, because the TEMP section is
only visible inside the block itself.
• No changes in usage of other blocks: Blocks to be downloaded cannot change
the references to other blocks. For example: Calling an additional block,
removing a call or using a member of a data block that was not accessed in
this block before, is not possible.
• No offline/online Safety objects:
The Loadable File must not contain any Safety blocks and the blocks to be
downloaded must not replace Safety blocks on the PLC.
• No changes in used tags/constants:
For TIA Portal V18 projects: Download of a block is only possible, if there are
no differences in any tags or constants between the online PLC and the
complete offline project that was used for creating the Loadable File.
For projects created with TIA Portal V19 or newer:
Download of a block is only possible, if there are no online-offline differences in
the properties of those tags and constants, that are used by this block.
• Copy protection of blocks via binding of serial number to MMC or PLC:
Blocks with copy protection via binding to MMC or PLC cannot be downloaded
if the serial number does not match. For downloading to PLCSim Advanced,
this check is ignored.
• No changes in alarming configuration:
If the Loadable File contains any changes to the target PLC's alarming
configuration, the download is prohibited.
• No changes to ProDiag configuration:
Downloads are permitted only, if the target PLC's ProDiag configuration is not
affected.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 6
2 Capabilities
The HMI runtime uses internal identifiers for addressing operands. These
identifiers are assigned according to the sequence of their creation in the offline
program. So two otherwise identical programs may carry different identifiers for
their operands, if not created in the exact same creation sequence. Likewise, an
operand that gets deleted and created again will be assigned a new identifier,
resulting in the HMI runtime to not be able to address this operand anymore. To
avoid such problems, you have two options:
• Modify the same TIA Portal project that was used to configure the target PLC
originally.
© Siemens AG 2023 All rights reserved
Although it is not possible to create a Loadable File that includes a UDT or even
download a UDT definition using the PlcProgramLoader, it is however possible to
create a Loadable File and to perform a download for such blocks that make use of
UDTs. If the used UDT definitions in the Loadable File's origin project do not match
the UDT definitions on the target PLC, this does not compromise the PLC's runtime
behavior because the PLC will always work with the structure definitions that were
compiled into the block using a UDT. Discrepancies between UDT definitions
previously downloaded to the target PLC via TIA Portal, and UDT definitions used
by blocks that are downloaded with the PlcProgramLoader will only become
apparent in the offline project after performing a station upload. To avoid such
discrepancies, it is recommended to leave UDT definitions unchanged before
downloading a block that uses those UDT definitions with the PlcProgramLoader.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 7
2 Capabilities
Information on group folders is not downloaded to the PLC. For blocks that already
exist on the target PLC, their online information on groups remains untouched. So
the block’s information on its containing group is lost on download and when
uploading a PlcProgramLoader modified station, blocks may appear to have
changed their containing group folder. This does not have a negative effect on the
runtime behavior of the target PLC, but offline group structure information cannot
be preserved by the PlcProgramLoader on download.
© Siemens AG 2023 All rights reserved
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 8
2 Capabilities
The PlcProgramLoader does not support making changes to a target PLC's Safety
configuration, and also would refuse to download such changes. It is however
possible, to make changes to the standard blocks within a fail-safe program. In
order to maintain Safety integrity of the Safety program when applying software
changes with the PlcProgramLoader, read and follow the instructions in the user
manual “SIMATIC Safety – Configuring and Programming”.
The PlcProgramLoader does not download any tags or constants and is thus not
able to make any changes to an online PLC's tags configuration. Consequently,
blocks can only be downloaded to a PLC, if their referenced tags and constants
exactly match the target PLC's tags and constants.
For online PLCs and Loadable Files that have been downloaded / created with a
TIA Portal Version prior to V19, it is not possible to compare the tags and constants
referenced by a given block in the Loadable File's origin project and the target
PLCs online project. For this reason, when dealing with data from TIA Portal V18,
the PlcProgramLoader refuses to do any downloads, whenever there is a
difference in the tags/constants definitions between the Loadable File's origin
project and those definitions on the target PLC.
2.2.7 ProDiag
© Siemens AG 2023 All rights reserved
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 9
3 Creating a Loadable File
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 10
4 Deploying a Loadable File
You will not be able to establish a connection, if the interface is not set to the
correct ethernet card.
To set the PG/PC Interface, proceed as follows:
1. Open the Windows Control Panel
2. Go to All Control Panel Items (for example by selecting Small Icons of the
View by dropdown in the top right corner)
3. Open Set PG/PC Interface (32 bit)
4. Select tab Access Path
5. Set Access Point of the Application to S7ONLINE (STEP7)
6. Select in Interface Parameter Assignment Used your network interface that
you use to access the PLC. Use the one ending on .TCPIP.1
7. Confirm with OK
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 11
4 Deploying a Loadable File
Verb Description
download Download a given loadable-file to a plc
Option Description
--help Shows the usage help text, listing
all the commandline options and
version information
-a or --ipAddress Required. Defines the IP-Address
of the PLC to access
-i or --input Required. Name and path of the
© Siemens AG 2023 All rights reserved
Loadable File
-l or --log Log additional information into a
file “logs.txt”, which is
automatically created in a folder
“Log” next to the
PlcProgramLoader executable
-s or --allowSwitchOperatingMode Allow the operating mode
RUN/STOP to be switched
automatically. Download can only
be performed in STOP. Be aware
that this option will result in
switching back the PLC's
operating mode from STOP to
RUN after the download is finished
without asking for permission
-p or --accessPasswordFile Provide the access protection
password file granting write
access to a protected PLC
-t or --trustedMode Declare trust to a TLS protected
PLC
-e or --experimentalMode !!! Enables usage of experimental
download modes. Must not be
used for productive usecases. Use
at your own risk. !!!
-n or --no-interaction Disables user interaction in which
the loader forces the user to input
data through the command line
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 12
4 Deploying a Loadable File
Result:
The PlcProgramloader will connect to the PLC with IP-Address 192.168.0.1 and
will change the online PLC program with contents from “patch.loadable”.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 13
5 Software Units in experimental mode
Feel free to try out this functionality, but be aware that you are then acting at
your own risk.
WARNING
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 14
6 Glossary
6 Glossary
6.1 Terms
Term Description
L
Loadable Term for the collection of data objects used by the
PlcProgramLoader. The data which is to be downloaded.
For example: Blocks are part of the loadable.
Loadable File The (JSON formatted) file in which the Loadable is
serialized.
Logging A mechanism to record program steps for analysis of the
program flow by support / developers.It is not designed
for the actual user and is usually only to be enabled
during error scenarios.
6.2 Abbreviations
Term Description
FB Function Block
MMC Multi Media Card
© Siemens AG 2023 All rights reserved
OB Organization Block
PLC Programmable Logic Controller
TIA Totally Integrated Automation
TLS Transport Layer Security
UDT User Defined Type
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 15
7 Extended legal information
indicates that death or severe personal injury will result if proper precautions are
not taken.
DANGER
indicates that death or severe personal injury may result if proper precautions
are not taken.
WARNING
© Siemens AG 2023 All rights reserved
indicates that minor personal injury can result if proper precautions are not taken.
CAUTION
NOTICE indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the
highest degree of danger will be used. A notice warning of injury to persons with a
safety alert symbol may also include a warning relating to property damage.
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 16
8 Appendix
8 Appendix
8.1 Service and support
Industry Online Support
Do you have any questions or need assistance?
Siemens Industry Online Support offers round the clock access to our entire
service and support know-how and portfolio.
The Industry Online Support is the central address for information about our
products, solutions and services.
Product information, manuals, downloads, FAQs, application examples and videos
- all information is accessible with just a few mouse clicks:
support.industry.siemens.com
Technical Support
The Technical Support of Siemens Industry provides you fast and competent
support regarding all technical queries with numerous tailor-made offers
- ranging from basic support to individual support contracts. Please send queries to
Technical Support via Web form:
siemens.com/supportrequest
We support you with our globally available training courses for industry with
practical experience, innovative learning methods and a concept that's tailored to
the customer's specific needs.
For more information on our offered trainings and courses, as well as their
locations and dates, refer to our web page:
siemens.de/sitrain
Service offer
Our range of services includes the following:
• Plant data services
• Spare parts services
• Repair services
• On-site and maintenance services
• Retrofitting and modernization services
• Service programs and contract's
You can find detailed information on our range of services in the service catalog
web page:
support.industry.siemens.com/cs/sc
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 17
8 Appendix
The Siemens Industry Mall is the platform on which the entire Siemens Industry
product portfolio is accessible. From the selection of products to the order and the
delivery tracking, the Industry Mall enables the complete purchasing processing –
directly and independently of time and location:
mall.industry.siemens.com
https://support.industry.siemens.com/cs/ww/en/view/109773802
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 18
9 Changelog / History
9 Changelog / History
Version Date Changes
V1.0 11/2023 First release
© Siemens AG 2023 All rights reserved
PlcProgramLoader
Entry-ID: 109820498, V1.0, 11/2023 19