Hardware updates and replacements are inevitable challenges in the lifecycle of industrial control systems. The PCD4.U100 migration kit launched by Saia Burgess Controls aims to help users smoothly upgrade their control systems based on the old version of the PCD4 CPU to the new generation of the PCD2/3 platform, while retaining the original PCD4 I/O modules. This kit not only solves compatibility issues between old and new hardware, but also provides flexible addressing modes, complete programming adaptation solutions, and initialization optimization for special modules. This article will provide a comprehensive and in-depth technical analysis of the migration suite from the aspects of migration process, addressing configuration, communication processing, system differences, user program modification, and module compatibility.
Migration background and suite positioning
The PCD4 series is an early control system launched by Saia, with its CPU modules (such as PCD4. N200, PCD4. N210) paired with dedicated PCD4 I/O modules (such as W100, W300, W400, W500, W600, etc.) having a large installation base in the fields of building automation and industrial control. With technological advancements, Saia has launched more powerful PCD2 and PCD3 platforms, but users want to keep their original PCD4 I/O investment. The PCD4.U100 kit is designed for this purpose: it allows users to replace old CPUs with new PCD4.U100 modules (actually an adapter module) and connect them to the CPUs or expansion modules of PCD2/3, thereby continuing to use the original PCD4 I/O rack, while also adding new PCD2/3 I/O modules.
This kit is suitable for users who have complete original project files (PG5 projects). The migration process is simple: replace the CPU module, update the user program to PG5 1.4.300 or above version 2.0, and adjust addressing and code as needed to complete the system upgrade.
Migration Checklist and Recommended Methods
The official recommended standard migration steps are as follows:
Confirm compatibility: Check if all existing PCD4 I/O modules are supported by the new platform (most standard modules are supported, except for H-series counting modules).
Keep the original project: Ensure that there are editable PG5 project files available for modifying the program.
Hardware replacement: Replace the original PCD4 CPU with the PCD4.U100 kit and connect the PCD4 I/O rack to the new PCD2/3 system (such as the PCD2.M5xxx or PCD3.Mxxxx processor, or through the PCD3.Cxxx expansion module).
Software update: Upgrade the user program to PG5 1.4.300 (requiring patch 15 installation) or PG5 2.0.150 SP1 and above versions.
Program adaptation: Adjust the I/O addressing mode according to the new hardware configuration and modify relevant parts in IL or Fupla code.
Download and run: Download the modified program to the new system to complete the migration.
Addressing mode selection: one of the core configurations
There is a dip switch on the back of the PCD4.U100 module used to select the starting address of the PCD4 I/O module. This setting determines whether new PCD2/3 I/O modules can be mixed in the same system.
3.1 Mode 0: Address remains unchanged, no new I/O module is used
When the switch position is set to 0, the address of the PCD4 I/O module starts from 0 (corresponding to the first I/O slot of the original PCD4). At this point, no new PCD2/3 I/O modules, including intelligent communication modules (PCD2/3. Fxxx) or memory modules (PCD2/3. R6xx), can be used in the same system. This mode is suitable for simple upgrades that only want to replace the CPU without expanding new modules. The watchdog address remains unchanged (the original PCD4 was 255 and 511, and the watchdog for the new CPU is located at 255).
3.2 Mode 256: Address offset, allowing up to 8 new I/O modules
When the switch position is set to 2 or 3 (corresponding to the starting address of 256), the addresses of all PCD4 I/O modules increase by 256 (for example, the original address 0 becomes 256, the original address 1 becomes 257, and so on). At the same time, the watchdog address also shifted accordingly: the watchdog for the new CPU remained at 255, while the watchdog for PCD4 became 511 and 767. In this mode, the system can install up to 8 new PCD2/3 I/O modules (occupying addresses 0... 247) to achieve mixed use of old and new modules.
3.3 Detailed description of switch position
Location Starting Address Applicable Scenarios and Limitations
0 0 is only compatible with PCD2.M5xxx and does not connect to PCD3.Cxxx extensions, any PCD2 I/O, F2xxx, or R6xxx modules. It can also be used for situations where PCD3.Mxxxx comes with PCD3.Cxxx but without any I/O modules.
1 0 is only used for PCD3.M3xxx and has no PCD3.Cxxx extensions, no PCD3 I/O, Fxxx or R6xxx modules. Attention: This position cannot use the PCD2.M5 CPU.
2 256 is suitable for PCD3.Mxxxx+PCD3.Cxxx extensions, or PCD2.M5xxx without extensions. Up to 8 PCD2/3 I/O modules can be used in idle slots, but the user program must adapt to the new address.
3 256 is suitable for PCD3.Mxxxx without expansion module. Up to 4 PCD3 I/O modules can be used, and the program needs to adapt to the new address.
Users must correctly set the switch according to the actual hardware configuration and modify the I/O address accordingly in the PG5 project.

Processing of serial communication
The serial port on the original PCD4 CPU needs to be replaced by a new communication port after the upgrade. If only the onboard serial port is used and no PCD2/3 I/O modules are added, the PCD4 I/O address range remains at 0. Once the PCD3. Fxxx or PCD2. Fxxxx communication module is used, the I/O address range will change from 256 onwards, and the user program must adjust all address references related to serial communication accordingly.
Differences from the old version of the PCD4 system
5.1 Functional changes of PCD4. N210
Some of the original special features of PCD4.N210 are no longer supported on the new platform. Please refer to the diagram in the documentation for specific details (omitted here), but be aware that these features may need to be re implemented or removed in the user program during migration.
5.2 XOB 5 is no longer valid
In the old system, XOB 5 was used to respond to/IOQUIT signals (I/O bus exit). The new CPU has cancelled the signal, therefore the XOB 5 exception handling block should be commented out or deleted.
5.3 Differences in XOB 1 power monitoring
PCD4. N200: Only monitors+5V and input voltage, ± 15V faults will not be detected.
PCD4. N210: Monitor+5V, ± 15V, and input voltage.
New platform: XOB 1 can still be used to detect power failures on the PCD4 I/O bus or power failures on the PCD3.C200 expansion, with a CPU detection time of approximately 500 ms.

User program adaptation
The user program needs to be modified in the PG5 environment. According to different programming languages, there are two methods: Fupla (FBox) and IL (Instruction List).
6.1 Fupla Programming Adaptation
When using PG5 2.0.150 SP1 or 1.4.300+Patch 15 and above versions, the standard FBox libraries "Analogue Module" and "HVC-Analogue" already support PCD4 I/O modules. But it is necessary to ensure the use of the updated FBox version:
Analogue Module SP2.6.150 or higher
HVC Analog SP2.5.316 (1.4) or SP2.6.150 (2.0) or higher
In PG5 2.0, it is also necessary to run an activation tool to enable PCD4 I/O FBox or FB.
6.2 IL Programming Adaptation
6.2.1 Using the updated FB
After installing the above PG5 version, the original PCD4 function block in the project will be automatically updated. No manual modification is required.
6.2.2 When FB is not updated: a 2-second startup delay must be added
Due to the significantly higher speed of the new CPU compared to the old PCD4, the PCD4 I/O module requires a longer initialization time. If no delay is added, it may cause the I/O module to fail to start correctly. The solution is to insert a 2-second delay program during system startup (cold start).
Specific method:
Create a new file named Wait_2s.src with the following content:
text
SINIT
ACC H
LD T 0
T#2s ; Note: T # 2s represents 2 seconds, not 20 time units
LOOP: STH T 0
JR H LOOP
ACC H
SENDINIT
Place the file at the beginning of the link order (adjusted through the Link Order menu in PG5).
This way, a 2-second wait will be executed every time the system starts or cold starts to ensure that the PCD4 I/O module is properly initialized.
This 2-second delay is absolutely necessary, otherwise I/O communication abnormalities may occur.
6.2.3 IL adjustment for PCD4.W100 module
Due to the faster speed of the new CPU, the existing read/write timing may be insufficient. NOP instructions need to be inserted at critical positions to ensure correct timing. For example:
assembly
(ACC H) ; The accumulator must be 1
SET 0 2 ; Select input channel I2
NOP
RES 0 8 ; Start A/D conversion
RES 0 8
STH I 15 ; High level indicates that the conversion is in progress (approximately 30 µ s)
JR H -1 ; Waiting for conversion to complete
BITI 12 ; Read 12 bit A/D values
I 0 ; From Address 0 (LSB)
R 102
NOP
NOP
NOP
NOP
BITO 12 ; Output 12 bits
R 113
0 0
... (Similar to processing D/A conversion)
All operands must include the base address of the module.
6.2.4 PCD4. W400/W400 modules
The code for these two modules does not require any adjustments and can be used directly.
6.2.5 PCD4.W500 module
The control function block needs to be called in XOB 16 (cold start initialization) for restart and configuration. Example
text
XOB 16
CFB Control BAW500_0 ; Module base address
7 ; Restart (hot start)
CFB config BAW500_0 ; configuration
W5Conf_0 ; Configure data blocks
EXOB
6.2.6 PCD4.W600 module
Similar to W500, the control function block needs to be called in XOB 16:
text
XOB 16
CFB Control BAW600_0
seven
CFB config BAW600_0
W6Conf_0
EXOB
6.2.7 Simultaneous use of multiple W500 and/or W600 modules
To control the initialization time to no more than 3 seconds (compared to the old system), it is recommended to handle it in the following order:
Execute the CFB Control command (parameter 7, restart) sequentially for all W500 modules, and then perform the same restart for all W600 modules.
Then execute the CFB config command sequentially for all modules.
Example (two W500 and one W600):
text
XOB 16
CFB Control BAW500_0 7
CFB Control BAW500_1 7
CFB Control BAW600_0 7
All modules have been restarted and completed
CFB config BAW500_0 W5Conf_0
CFB config BAW500_1 W5Conf_1
CFB config BAW600_0 W6Conf_0
EXOB
This can avoid excessively long individual waiting times.
6.2.8 Unsupported modules
All PCD4.H_ series modules (such as counting modules) are not supported by PCD4.U100. If these modules are used in the system, they must be replaced with the corresponding modules of the PCD2/3 platform (such as PCD2. H110) or the system design must be changed.
Software version and activation requirements
PG5 1.4: Requires version 1.4.300 and patch 15 or higher installation.
PG5 2.0: Requires 2.0.150 SP1 or higher.
Activation Tool: In PG5 2.0, the activation tool must be run to enable FBox/FB support for PCD4 I/O.
The activation tool can be downloaded from the Saia support website. After operation, the standard I/O FBox and HVAC FBox can be used for the PCD4 module.
Migration Summary and Best Practices
Backup original project: Fully backup PG5 project before modification.
Confirm module list: List all PCD4 I/O modules, remove unsupported H series, and plan replacement solutions.
Select addressing mode: If a new I/O module needs to be added, select the address offset 256 mode and recalculate all I/O addresses.
Modify user program: Update the NOP delay, W500/W600 initialization, and XOB processing in the IL code according to the above guidelines.
Add startup delay: Even if FB is updated, it is recommended to keep a 2-second delay during cold start to be compatible with all situations.
Test validation: Conduct testing in offline or small-scale environments to confirm that all I/O points respond correctly and communication is normal.
Document update: Update system drawings and address allocation table for future maintenance.
