Using the AC500 PLC for AC500 V2 Products

The file structure is created on the SD memory card when a formatted SD memory card is inserted into the AC500 PLC. The file SDCARD.INI contains the following entries:

[Status]FunctionOfCard=0
[FirmwareUpdate]
CPUPM5x1=0
Display=0
Coupler0=0
Coupler1=0
Coupler2=0
Coupler3=0
Coupler4=0
Coupler5=0
Coupler6=0
OnboardIO=0
RtcBatt=0
OnboardCAN=0
LEDboard=0
[UserProg]
UserProgram=0
RetainData=0
AddressData=0

Note

By default, not all AC500 Processor Modules are listed in the SDCARD.INI file. Not until the SD memory card is inserted in the Processor Module, all data is added to the SDCARD.ini file and the folders are created.

The following error message is displayed, if you insert a non-formatted SD memory card:
152369164 EC4 Warning Unable to read the SD memory card

Other files or subdirectories in the root directory on the SD memory card are kept unchanged.

The file SDCARD.INI as of V2.5 looks as follows:

;File sdcard.ini to be used by CPU FW version >= 2.5.
;For usage in CPU FW version < 2.5 delete all comments and whitespaces.
;
[Status]
;FunctionOfCard
;0 = Perform no function when inserting the card or voltage ON
;1 = Load user program according to entry in group |UserProg|
;2 = Start firmware update according to entry in group |FirmwareUpdate|
;3 = Update firmware according to entry in group |FirmwareUpdate|
;    and load user program according to entry in |UserProg|
FunctionOfCard=0

;Note: Any ?? below to be replaced by real CPU's / couplers' identifiers

[FirmwareUpdate]
; 0 = No update
; 1 = Supported for CPU firmware and for other components of CPU
;     (e. g. display, Onboard I/O, etc.).
;     Not supported for couplers.
;     CPU:
;     Update firmware always from base directory of the CPU (e.g. FIRMWARE\PM590ETH\).
;     Components:
;     Update firmware always from subdirectory specified by <compkey> within
;     CPU specific base directory of the component <pathkey>
;     (e.g. FIRMWARE\PM590ETH\LedBoard\2_8_0\).
; 2 = Update with specific version, the update is only performed if the key <compkey>
;     in a product section <prodsec> according file returns a
;     different result than the current version.
;     If the key <compkey> is missing, no update is performed.
; 3 = Like 2, but check version of file to be newer (instead of different) than current one.
;     If the key <compkey> is missing, no update is performed.
;11 = Update with file specified in module's section <modsec>, component's path key
<pathkey>
;12 = Like 11, but check version of file to be updated differs from current one.
;13 = Like 11, but check version of file to be updated is newer than current one.
CPUPM5x1=0       ;<prodsec>=|PM5??|,<compkey>=VERSION, <modsec>=|CPU|,
<pathkey>=Firmware
Boot=0       ;<prodsec>=|PM5??|,<compkey>=PLCBOOT, <modsec>=|CPU|,
<pathkey>=Boot
Display=0       ;<prodsec>=|PM5??|,<compkey>=DISPLAY, <modsec>=|CPU|,
<pathkey>=Display
OnboardIO=0       ;<prodsec>=|PM5??|,<compkey>=ONB_IO, <modsec>=|CPU|,
<pathkey>=OnboardIO
OnboardCAN=0       ;<prodsec>=|PM5??|,<compkey>=ONB_CAN, <modsec>=|CPU|,
<pathkey>=OnboardCAN
RtcBatt=0       ;<prodsec>=|PM5??|,<compkey>=RTC_BATT, <modsec>=|CPU|,
<pathkey>=RtcBatt
LedBoard=0       ;<prodsec>=|PM5??|,<compkey>=LEDBOARD, <modsec>=|CPU|,
<pathkey>=LedBoard
Coupler=0       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler0|,
<pathkey>=Firmware
Coupler=1       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler1|,
<pathkey>=Firmware
Coupler=2       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler2|,
<pathkey>=Firmware
Coupler=3       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler3|,
<pathkey>=Firmware
Coupler=4       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler4|,
<pathkey>=Firmware
Coupler=5       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler5|,
<pathkey>=Firmware
Coupler=6       ;<prodsec>=|CM???|,<compkey>=VERSION, <modsec>=|Coupler6|,
<pathkey>=Firmware

[UserProg]
UserProgram=0    ;Update user program: 0 = no update / 1 = update)
RetainData=0     ;Update retain variables: 0 = no update / 1 = update)
PersistentData=0 ;Update persistent variables: 0 = no update / 1 = update)
ConfData=0       ;Update configuration data of the onboard Ethernet CPUs
;                 and the communication modules: 0 = no update / 1 = update)
CouplerConfig0=0 ;Update internal coupler's configuration: 0 = no update / 1 = update)
CouplerConfig1=0 ;Update external coupler's configuration slot 1 : 0 = no update / 1 = update)
CouplerConfig2=0 ;Update external coupler's configuration slot 2 : 0 = no update / 1 = update)
CouplerConfig3=0 ;Update external coupler's configuration slot 3 : 0 = no update / 1 = update)
CouplerConfig4=0 ;Update external coupler's configuration slot 4 : 0 = no update / 1 = update)
CouplerConfig5=0 ;Update coupler's config. slot 5 (builtin/fct.): 0 = no update / 1 = update)
CouplerConfig6=0 ;Update coupler's config. slot 6 (builtin/fct.): 0 = no update / 1 = update)

[PM5??]
VERSION=
PLCBOOT=
ONB_IO=
ONB_CAN=
RTC_BATT=
DISPLAY=
LEDBOARD=

[PM5??ETH]
VERSION=
PLCBOOT=
ONB_IO=
ONB_CAN=
RTC_BATT=
DISPLAY=
LEDBOARD=

[CM5??]
VERSION=

[CMETH]
VERSION=

[CPU];
Boot=            ;Path/file of CPU's bootcode to update
Firmware=        ;Path/file of CPU's firmware to update
Display=         ;Path/file of Display's firmware to update
OnboardIO=       ;Path/file of OnboardIO's firmware to update
OnboardCAN=      ;Path/file of OnboardCAN's firmware to update
RtcBatt=         ;Path/file of Rtc/Battery module's firmware to update
LedBoard=        ;Path/file of LED board's firmware to update

[Coupler0]
Firmware=        ;Path/file of internal coupler's firmware to update

[Coupler1]
Firmware=        ;Path/file of external coupler's firmware slot 1 to update

[Coupler2]
Firmware=        ;Path/file of external coupler's firmware slot 2 to update

[Coupler3]
Firmware=        ;Path/file of external coupler's firmware slot 1 to update

[Coupler4]
Firmware=        ;Path/file of external coupler's firmware slot 4 to update

[Coupler5]
Firmware=        ;Path/file of coupler's firmware slot 5 (builtin/fct.) to update

[Coupler6]
Firmware=        ;Path/file of coupler's firmware slot 6 (builtin/fct.) to update

The generated result file SDCARD.RDY looks as follows:

[CPU]
;Result of CPU's bootcode to update
Boot=0
;Result of CPU's firmware to update
Firmware=0
;Result of Display's firmware to update
Display=0
;Result of OnboardIO's firmware to update
OnboardIO=0
;Result of OnboardCAN's firmware to update
OnboardCAN=0
;Result of Rtc/Battery module's firmware to update
RtcBatt=0
;Result of LED board's firmware to update
LedBoard=0

[Coupler0]
;Result of internal coupler's firmware to update
Firmware=0

[Coupler1]
;Result of external coupler's firmware slot 1 to update
Firmware=0

[Coupler2]
;Result of external coupler's firmware slot 2 to update
Firmware=0

[Coupler3]
;Result of external coupler's firmware slot 3 to update
Firmware=0

[Coupler4]
;Result of external coupler's firmware slot 4 to update
Firmware=0

[Coupler5]
;Result of coupler's firmware slot 5 (builtin/fct.) to update
Firmware=0

[Coupler6]
;Result of coupler's firmware slot 6 (builtin/fct.) to update
Firmware=0

;Meaning of results
;  1    Update not yet started
;  2    Update pending, analyzing source file
;  3    Update pending, transmitting source file to destination component
;  4    Update pending, destination component storing source file\
;  0    No Update to be performed
;100    Update successfully performed
;  5    Update not performed since at least one condition not fulfilled (e.g. comparison of versions)
;  6    Update not allowed in current PLC state (e.g. RUN)
;  7    Unknown update mode
;  8    Key specifying path/file not found
;  9    Source file not found
; 10    Source file corrupt
; 11    Source file does not match component
; 12    Error reading source file
; 13    Internal Error
; 14    Error writing file
; 15    Not supported by this type of CPU (e.g. Display, Rtc/Battery, LED board)
;       or not available (e.g. coupler not present)
; 16    Skipped update of this file due to preceding failure
;       (e.g. failed version check of an associated file)
;-<num> Individual error code on performing update