Technical FAQs

Ask a Question

When there are two or more PLCs in a SoMachine project, a Full Application Download is required on a Login attempt to one of the PLCs even if no changes were made to it

Issue
When there are two or more PLCs in a SoMachine project, a Full Application Download is required on a Login attempt to one of the PLCs even if no changes were made to it.

The message observed is as follows:
"Warning: An unknown version of the application 'Application' is currently in RUN mode on the PLC. However, do you want to download the latest code and replace the existing application?"
At this point, the user needs to login with a Full Download, which is not favorable because it would interrupt the machine that is in a running state.

Example: Here is a typical sequence of events that describes the behavior
1) Assume you have one project and two PLCs, PLC1 and PLC2.
2) The application has one variable “a:WORD;” and a line that increments the value (a:=a+1).
3) Download application to PLC1 (from the dropdown menu :Online->Download), start PLC1, then Logout.
4) Download application to PLC2 (from the dropdown menu: Online->Download), start PLC2, then Logout.
5) Both PLCs have the same application downloaded now.
6) Add a variable (b:WORD;) and login (online change) to PLC1, Create Boot Application, Logout.
7) Login (Online Change) to PLC2, Create Boot Application, Logout.
8) Both PLCs have the changed application downloaded now via Online Change.
9) Add a variable (c:WORD;) and login (online change) to PLC2, Create Boot Application, Logout.
10) Login (Online Change) to PLC1, Create Boot Application, Logout.
11) Both PLCs have the changed application downloaded now via Online Change.

Result: So far everything works as expected.

12) Add a variable (d:WORD;) and Login (Online Change) to PLC2, Create Boot Application, Logout.
13) Add a variable (e:WORD;) and Login (Online Change) to PLC2, Create Boot Application, Logout.
14) Now, PLC2 has downloaded two changes via Online Change.
15) PLC1 did not yet get the two changes of the application downloaded.
16) Try to Login to PLC1.

Result: Now, the " An unknown version of the application 'Application'…" message appears and a full download is required by SoMachine,  because two Online Changes were executed on PLC2.
In this state, after commissioning a system, it is difficult to debug an issue in-situ because the subsequent login to a second PLC in the project requires a full download, which will clear the existing state of the PLC.

Product Line
SoMachine, EcoStruxure Machine Expert

Environment
Windows Configuration Software

Cause
There is only one compile context per SoMachine project.
This compile context contains the information of the last download or online change and is independent of the current selected communication path to the PLC.
Even though there are individual *.compileinfo files for each PLC Application, only the context of the last download/online change is stored per PLC in the project.

Resolution
The fact that there is only one compile context means that when working with multiple PLCs in one SoMachine project, performing an online change to one PLC twice in succession will cause all other PLCs in the project to require a Full Download upon the next login.

Rule: If multiple consecutive Online Changes (with Boot Application creation) are performed on one PLC in a SoMachine project that contains multiple PLCs,, logging in to a different PLC in the same SoMachine project will require a Full Download.

Best Practices to Avoid this Situation:
1) When working with Online Changes on one PLC in a project with multiple PLCs: At the end of a working day or for final commissioning, perform a full project download including the boot project to all the PLCs in the project.
2) Use Persistent Variables for operational values that need to persist through a full download or power cycle so that Online Change is not required as often.
3) Save the project along with the *.bootinfo, *.bootinfo_guids and  *.compileinfo files in the same folder (see the following FAQ link: FA275285 - SoMachine 4.3 - how to connect to a controller without forcing a download)
Was this helpful?
What can we do to improve the information ?