The Command File SDCARD.INI

The command file SDCARD.INI located in the root directory on the SD Card determines the behavior when starting the AC500 with installed SD Card and when installing the card (firmware update, loading the user program, etc.). The file SDCARD.INI is created in Windows INI format.

As of V2.5 all firmware updates are triggered by the command file SDCARD.INI. This is independent from the way of the firmware update (SD card, FTP,write file to plc, …). In addition a result file of the firmware update is generated (SDCARD.RDY, identical path as SDCARD.INI). For the extensions of the command file see file content as of V2.5.

File Content in Versions V1.0 and V1.1

[Status]
FunctionOfCard=0

[FirmwareUpdate]
CPUPM5x1=0
CPUEC500=0
Display=0
Coupler0=0
Coupler1=0
Coupler2=0
Coupler3=0
Coupler4=0

[UserProg]
UserProgram=0
RetainData=0
AddressData=0

The entries have the following meaning:

  • [Status]

    FunctionOfCard=0

    The parameter FunctionOfCard determines, which function is performed when inserting the SD Card.

    With:

    FunctionOfCard=0 Perform no function when inserting the card or voltage ON

    FunctionOfCard=1 Load user program according to entry in group [UserProg]

    FunctionOfCard=2 Start firmware update according to entry in group [FirmwareUpdate]

    FunctionOfCard=4 Reserved for factory test

    If you want to load the firmware and user program, set FunctionOfCard = 3.

  • [FirmwareUpdate]

    CPUPM5x1=0 (0 = no update, 1 = Update CPU firmware)

    Display=0 (0 = no update, 1 = Update display controller)

    Coupler0=0 (0 = no update, 1 = Update internal Communication Module)

    Coupler1=0 (0 = no update, 1 = Update Communication Module in slot 1)

    Coupler2=0 (0 = no update, 1 = Update Communication Module in slot 2)

    Coupler3=0 (0 = no update, 1 = Update Communication Module in slot 3)

    Coupler4=0 (0 = no update, 1 = Update Communication Module in slot 4)

    The parameters in the group [FirmwareUpdate] specify which firmware is loaded. In version V1.0, only the CPU processor firmware can be loaded.

  • [UserProg]

    UserProgram=0 (0 = no update, 1 = Update user program)

    RetainData=0 (0 = no update, 1 = Update RETAIN variables)

    The parameters in the group [UserProg] specify which user data are loaded. Up to version V1.1, only the user program can be loaded.

File Content as of Version V1.2

[Status]
FunctionOfCard=0

[FirmwareUpdate]
CPUPM5x1=0
CPUEC500=0
Display=0
Coupler0=0
Coupler1=0
Coupler2=0
Coupler3=0
Coupler4=0

[UserProg]
UserProgram=0
RetainData=0
AddressData=0

[PM571]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM581]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM582]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM590]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM591]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM592]
TYPE=1
VERSION=1_2_0
PLCBOOT=1_2_0

[PM5x1]
TYPE=4
VERSION=1_045

[CM572]
TYPE=4
VERSION=1_097

[CM575]
TYPE=4
VERSION=1_077

[CM577]
TYPE=4
VERSION=1_045

[CM578]
TYPE=4
VERSION=1_109

The entries have the following meaning:

  • [Status]

    FunctionOfCard=0

    The parameter FunctionOfCard determines which function is performed when inserting the SD card.

    With:

    FunctionOfCard=0  Perform no function when inserting the card or voltage ON

    FunctionOfCard=1  Load user program according to entry in group [UserProg]

    FunctionOfCard=2  Update firmware according to entry in group [FirmwareUpdate]

    FunctionOfCard=3  Update firmware according to entry in group [FirmwareUpdate] and load user program according to entry in [UserProg]

    FunctionOfCard=4  Reserved for factory test of S500 I/O Modules

    FunctionOfCard=8  Functions 0..4 + save debug data in case of possible failures

    FunctionOfCard=16 Reserved for factory test of AC500 CPUs

    Entry: 8 + function, Example: Function=1 ? FunctionOfCard=8+1=9

  • [FirmwareUpdate]

    CPUPM5x1=0

    Display=0 (0 = no update, currently no further mode available)

    Coupler0=0 (0 = no update, 2/3 = Update internal Communication Module)

    Coupler1=0 (0 = no update, 2/3 = Update Communication Module in slot 1)

    Coupler2=0 (0 = no update, 2/3 = Update Communication Module in slot 2)

    Coupler3=0 (0 = no update, 2/3 = Update Communication Module in slot 3)

    Coupler4=0 (0 = no update, 2/3 = Update Communication Module in slot 4)

    0 = no update,

    1 = Update CPU firmware from base directory on the CPU

    This mode is fully compatible to the firmware update of versions V1.0 and V1.1.

    2 = Update with specific version

    In mode 2, the update is only performed, if the key version in a product section (for example [PM581]) returns a different result than the version on the CPU. If the key version is missing, no update is performed.

    3 = Update firmware only, if the SD card firmware is newer than the PLC firmware. For mode 3 the same applies as for mode 2. However, an update is only performed, if the firmware is newer than the CPU’s firmware version. For this mode it must be ensured that the firmware versions can be read safely.

    The parameters of the group [FirmwareUpdate] specify which firmware is loaded.

  • [UserProg]

    UserProgram=0 (0 = no update, 1 = Update user program)

    RetainData=0 (0 = no update, 1 = Update RETAIN variables)

    The parameters of the group [UserProg] specify which user data are loaded. In version V1.0, only the user program can be loaded.

  • [PM571] or [PM581], [PM582], [PM590], [PM591], [PM592]

    TYPE=1

    VERSION=1_2_0

    PLCBOOT=1_2_0

    Which firmware or boot code version is to be loaded is entered to the key for the according CPU PM5xy. The key is only evaluated for mode 2 and 3 in the key [FirmwareUpdate] / CPUPM5x1=2 or 3.

    The following applies for TYPE:

    TYPE=1 CPU

    TYPE=2 DISPLAY

    TYPE=3 I/O device at the CPU’s I/O bus

    TYPE=4 Communication Module (0-internal, 1..4-external)

    The CPU firmware version is set with VERSION. For example, VERSION has to be set to VERSION=1_2_0 for version V1.2.0 and VERSION=1_1_7 for version V1.1.7.

    The entry PLCBOOT specifies the boot code version of the CPU. For example, VERSION has to be set to VERSION=1_2_0 for version V1.2.0 and VERSION=1_1_3 for version V1.1.3.

  • [PM5x1] or [CM572], [CM575], [CM577], [CM578]

    TYPE=4

    VERSION=1_045

    For the Communication Modules always TYPE=4 has to be entered.

    VERSION specifies the firmware version of the Communication Module. For the Ethernet Communication Module, VERSION has to be set to, for example, VERSION=1_045 for version V01.045.

File Content as of Version V2.0 to V2.4

   

[Status]

FunctionOfCard=2

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]

[FirmwareUpdate]

CPUPM5x1=2

0 = No update

1 = Update firmware always from base directory on the CPU (supported for CPU firmware only, but not for other firmware components, e. g. display firmware, firmware of Onboard I/Os etc.).

2 = Update with specific version, the update is only performed if the key version in a product section (for example [PM583]) and the*) according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed if the key version in a product section (for example [PM583]) and the*) according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

Display=2

0 = No update

2 = Update with specific version, the update is only performed if the key version in a product section (for example [PM583]) and the according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed, if the key version in a product section (for example [PM583]) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

OnboardIO=2

0 = No update

2 = Update with specific version, the update is only performed if the key OnboardIO in a product section (for example [PM554]) and the according file returns a different result than the version on the CPU. If the key OnboardIO is missing, no update is performed.

3 = Update with newer version, the update is only performed if the key OnboardIO in a product section (for example [PM554]) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

RtcBatt=2

0 = No update

2 = Update with specific version, the update is only performed, if the key RtcBatt in a product section (for example [PM554]) and the according file returns a different result than the version on the CPU. If the key OnboardIO is missing, no update is performed.

3 = Update with newer version, the update is only performed if the key RtcBatt in a product section (for example [PM554]) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

Coupler0=0

Update communication module slot 0

0 = No update

2 = Update with specific version, the update is only performed if the key Version in a product section (for example [PM5x1]) and the according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed if the key version in a product section (for example [PM5x1]) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

Coupler1=0

Coupler2=0

Coupler3=0

Coupler4=0

Coupler5=0

Coupler6=0

Update module slot 1; available modes: 0/2/3; see description Coupler0)

Update module slot 2; available modes: 0/2/3; see description Coupler0)

Update module slot 3; available modes: 0/2/3; see description Coupler0)

Update module slot 4; available modes: 0/2/3; see description Coupler0)

Update module slot 5; available modes: 0/2/3; see description Coupler0)

Update module slot 6; available modes: 0/2/3; see description Coupler0)

LedBoard=0

Update LED Board of PM595-4ETH CPU

0 = No update

2 = Update with specific version, the update is only performed, if the key version in the product section (for PM595-4ETH]) and the according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed if the key version in the product section (for PM595-4ETH) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

[UserProg]  

UserProgram=0

RetainData=0

PersistentData=0

ConfData=0

Update user program: 0 = no update / 1 = update)

Update retain variables: 0 = no update / 1 = update)

Update persistant variables: 0 = no update / 1 = update)

Update configuration data of the onboard Ethernet CPU´s and the communication module´s: 0 = no update / 1 = update*)

CouplerConfig0=0

CouplerConfig1=0

CouplerConfig2=0

CouplerConfig3=0

CouplerConfig4=0

Update coupler configuration Slot 0 : 0 = no update / 1 = update*)

Update coupler configuration Slot 1 : 0 = no update / 1 = update*)

Update coupler configuration Slot 2 : 0 = no update / 1 = update*)

Update coupler configuration Slot 3 : 0 = no update / 1 = update*)

Update coupler configuration Slot 4 : 0 = no update / 1 = update*)

[PM554]

VERSION=2_4_2

PLCBOOT=1_3_0

ONB_IO=1_1_2

RTC_BATT=1_6

CPU type

CPU firmware version

CPU bootcode version

Onboard IO version

RTC_Batt version

[PM554ETH]

VERSION=2_4_2

PLCBOOT=2_0_2

ONB_IO=1_1_2

RTC_BATT=1_6

 

[PM564]

VERSION=2_4_2

PLCBOOT=1_3_0

ONB_IO=1_1_2

RTC_BATT=1_6

 

[PM564ETH]

VERSION=2_4_2

PLCBOOT=2_0_2

ONB_IO=1_1_2

RTC_BATT=1_6

 

[PM572]

VERSION=2_4_2

PLCBOOT=2_3_0

DISPLAY=2_8

CPU type

CPU firmware version

CPU bootcode version

CPU display version

[PM573ETH]

VERSION=2_4_2

PLCBOOT=2_3_0

DISPLAY=2_8

 

[PM582]

VERSION=2_4_2

PLCBOOT=2_3_0

DISPLAY=2_8

 

[PM583]

VERSION=2_4_2

PLCBOOT=2_3_0

DISPLAY=2_8

 

[PM590ARC]

VERSION=2_4_2

PLCBOOT=2_3_1

DISPLAY=2_8

 

[PM590ETH]

VERSION=2_4_2

PLCBOOT=2_3_1

DISPLAY=2_8

 

[PM591ETH]

VERSION=2_4_2

PLCBOOT=2_3_1

DISPLAY=2_8

 

[PM591-2ETH]

VERSION=2_4_2

PLCBOOT=2_3_1

DISPLAY=2_8

 

[PM592ETH]

VERSION=2_4_2

PLCBOOT=2_3_1

DISPLAY=2_8

 

[PM595-4ETH]

VERSION=2_4_2

PLCBOOT=2_4_1

LEDBOARD=1_5

 

[CM572]

VERSION=1_097

 

[CM574]

VERSION=2_1_3

 

[CM575]

VERSION=1_077

 

[CM577]

VERSION=1_045

 

[CM578]

VERSION=1_109

 

[CMETH]

VERSION=2_7_22

 

File content as of Version V2.5

As of V2.5 all firmware updates are triggered by the command file SDCARD.INI. This is independent from the way of the firmware update (SD card, FTP, write file to plc, …). In addition a result file of the firmware update is generated (SDCARD.RDY, identical path as SDCARD.INI, see Initializing an SD Card :doc:`f40975c4e38c28ca0a33139000473a6a`\ ). For the group [FirmwareUpdate] the new parameter 11, 12 and 13 are defined.

SDCARD.INI for SD Card PM595 in part:

[FirmwareUpdate]
CPUPM5x1=11
Coupler1=11
Coupler2=11
Coupler5=11
Coupler6=11
[CPU]
Firmware=FIRMWARE\PM585ETH\2_5_0\PM595.gza
[Coupler1]
Firmware=FIRMWARE\CM597\V1_0_1\AC500eth.nxf
[Coupler2]
Firmware=FIRMWARE\SM560\1_0_0\S560_1.gza
Firmware2=FIRMWARE\SM560\1_0_0\S560_2.gza
[Coupler5]
Firmware=FIRMWARE\CM597\2_7_5\AC500pnm.nxf
[Coupler6]
Firmware=FIRMWARE\CM597\4_1_3_7\NX_ECM.nxf

SDCARD.INI for update via FTP in part:

In this case the files PM595.gza, AC500eth.nxf, S560_1.gza, S560_2.gza, AC500pnm.nxf and NX_ECM.nxf are transferred via FTP to the ramdisk of the PLC. The last step is the transfer of the file SDCARD.INI to the ramdisk of the PLC. At the end of the update the result file SDCARD.RDY is generated. The evaluation of this file shows the results of the updates.

[FirmwareUpdate]
CPUPM5x1=11
Coupler1=11
Coupler2=11
Coupler5=11
Coupler6=11
[CPU]
Firmware=PM595.gza
[Coupler1]
Firmware=AC500eth.nxf
[Coupler2]
Firmware=S560_1.gza
Firmware2=S560_2.gza
[Coupler5]
Firmware=AC500pnm.nxf
[Coupler6]
Firmware=NX_ECM.nxf
   

[FirmwareUpdate]

CPUPM5x1=2

In addition to the unchanged parameters 0, 1, 2 and 3 the parameters 11, 12 and 13 are defined.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key Boot or/and Firmware (for SM560 the component’s path keys Boot2 and Firmware2 are defined additionally).

12 = Update with specific version, the update is only performed if the version of the file specified by the component path key Boot and/or Firmware in module’s section [CPU] differs from the current version of the CPU.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key Boot and/or Firmware in module’s section [CPU] is newer than the current version of the CPU.

Display=2

In addition to the unchanged parameters 0, 2 and 3 the parameters 11, 12 and 13 are defined.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key Display.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key Display in module’s section [CPU] differs from the current version of the Display.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key Display in module’s section [CPU] is newer than the current version of the Display.

OnboardIO=2

In addition to the unchanged parameters 0, 2 and 3 the parameters 11, 12 and 13 are defined.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key OnboardIO.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key OnboardIO in module’s section [CPU] differs from the current version of the OnboardIO.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key OnboardIO in module’s section [CPU] is newer than the current version of the OnboardIO.

OnboardCan=2

Update OnboardCan of PM595-4ETH CPU

0 = No update

2 = Update with specific version, the update is only performed, if the key Version in the product section (for PM595-4ETH]) and the according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed, if the key version in the product section (for PM595-4ETH) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key OnboardCan.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key OnboardCan in module’s section [CPU] differs from the current version of the OnboardCan.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key OnboardCan in module’s section [CPU] is newer than the current version of the OnboardCan.

RtcBatt=2

In addition to the unchanged parameters 0, 2 and 3 the parameters 11, 12 and 13 are defined.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key RtcBatt.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key RtcBatt in module’s section [CPU] differs from the current version of the RtcBatt.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key:emphasis:RtcBatt in module’s section [CPU] is newer than the current version of the RtcBatt.

LedBoard=0

Update LED Board of PM595-4ETH CPU

0 = No update

2 = Update with specific version, the update is only performed, if the key version in the product section (for PM595-4ETH]) and the according file returns a different result than the version on the CPU. If the key version is missing, no update is performed.

3 = Update with newer version, the update is only performed, if the key version in the product section (for PM595-4ETH) and the according file returns a newer version than the version on the CPU. If the key version is missing, no update is performed.

11 = Update firmware always with the file specified in module’s section [CPU] and component’s path key LedBoard.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key LedBoard in module’s section [CPU] differs from the current version of the LedBoard.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key LedBoard in module’s section [CPU] is newer than the current version of the LedBoard.

Coupler0=0

In addition to the unchanged parameters 0, 2 and 3 the parameters 11, 12 and 13 are defined.

11 = Update firmware always with the file specified in module’s section [Coupler0] and component’s path key Firmware.

12 = Update with specific version, the update is only performed, if the version of the file specified by the component path key Firmware in module’s section [Coupler0] differs from the current version of the Coupler.

13 = Update with newer version, the update is only performed, if the version of the file specified by the component key Firmware in module’s section [Coupler0] is newer than the current version of the Coupler.

Coupler1=0

Coupler2=0

Coupler3=0

Coupler4=0

Coupler5=0

Coupler6=0

Update module slot 1; see description Coupler0)

Update module slot 2; see description Coupler0)

Update module slot 3; see description Coupler0)

Update module slot 4; see description Coupler0)

Update module slot 5; see description Coupler0)

Update module slot 6; see description Coupler0)