Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important information on the platform change.

cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

PLC Updates with file structure

PLC Updates with file structure

aFouraker
Occasional Contributor

Is it possbile to update the PLC application by copying the PLC files to a particular file path on the core? 

 

Edit: Maybe a better question is, can I create an archive of the PLC file structure and load that from a) another app or b) the plc application itself?

8 REPLIES 8

CodeShepherd
Community Moderator
Community Moderator

The internal storage of the PLC is also part of the app data (configuration) so it can be accessed via the web interface of the control or via WebDav:

save app datasave app data

WebDAV PLC dataWebDAV PLC data

georkueh
Community Moderator
Community Moderator

What is the concrete use case you want to realize? Normally we recommend to use the configuration data provided by managed app data dialogue and accessible by ctrlX CORE Solutions API. Thus you are able to load the desired configurations instead of copying files manually .

kind regards

aFouraker
Occasional Contributor

I have two use cases.

1) A serial machine with different IO manufactures. One machine may have Bosch Rexroth IO, another Beckhoff, another Pheonix...  Commisioning from the software automatically so that an engineer is not required for serial commissioning is desired. In this case I propose to build each applicaiton independently and preserve the file structure of the PLC app. When the required system is to be commsionied the selected file structure would be loaded. 

2) A machine without network access must be updated by an end-user. One possible solution would be to overwrite the PLC file structure with the selected files while preserving other machine files. Having the end-user do this step is not feasible or desirable. 

georkueh
Community Moderator
Community Moderator

Hello,

 

from my point of view all the use cases can be handled via ctrlX CORe configurations. They can be downloaded on ctrlX CORE and while commissioning the desired configuration is to be set as the active one. If it is not yet on ctrlX CORE it can be downloaded via REST API.

That's the way I recommend.

 

kind regards

 

aFouraker
Occasional Contributor

@georkueh , thank you for the reply. 

I don't think this is an acceptable solution for some equipment manufacturers. Perhaps some cases can be dealt in this way but others, including case number 2 from above can't:

2) A machine without network access must be updated by an end-user. One possible solution would be to overwrite the PLC file structure with the selected files while preserving other machine files. Having the end-user do this step is not feasible or desirable. 

The solution is not possible during commisinoing because the program update is to be performed after the machine is in production. Some end-user may have many controllers in their facilites and the OEM may not want to make available the configuration files or have the End-User gain access to the ctrlx configuration. 

I don't think a new feature is required I just want to understand what files must be copied to achieve the end result. 

I need to agree. Here's why. 

I have an OEM that produces 300 machines per year. Those machines are located in some plants that allow internet connectivity to the machines via VPN. Others do not allow any outside connection to their machines. These end user locations are also not that experienced on control systems, much less a platform as advanced as ctrlX. What they are familiar with is being able to plug in an sd card or USB drive to upgrade their machine programs or firmware. 

From the OEM perspective this also allows a simple file transfer via email or ad hoc to get an end user updated or modified without the inevitable I.T. Department fight to get access to the machine. We can't just look at what is now capable via the cloud, we also need to allow OEM customers to support their machines in a way their customers are familiar and comfortable with.

aFouraker
Occasional Contributor

@CodeShepherd, what are the essentials files to copy to and from the controller to update an application? Would application.core/crc/app do the trick?

  1. The standard way is to set up a complete set of app data, upload it and activate it. There would be no restriction then.

  2. As a sub sum of this you could only exchange the PLC folder in the app data set. Control hast to restarted after exchange (or at least switched in service mode and back up in operation mode)

  3. The lowest level would be exchanging only the application files. That comes with some restrictions:
  • The set size of retain data useable for the PLC must not be changed
  • Name of the PLC application must not be changed
  • Folders cnc, visu and plc must be empty (no Codesys visu cnc or so on is used)
  • Other data used by the project are not changed e.g. csv files...
  • Control hast to restarted after exchange
  • Project data is not changed ("new" PLC project cannot be opened from the control)
Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist