SAIAøPCD Process Control Devices ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ Release notes of new official ³ ³ firmware versions for PCD2/4/6 ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Subject to change without notice Edition 21.04.95 Page: 2 CONTENTS -------- 1. Introduction Page 3 2. Major modifications Page 3 3. Modifications and corrections common Page 4 to all PCD systems 4. Modifications and corrections specific to PCD2 Page 9 5. Modifications and corrections specific to PCD4 Page 10 6. Modifications and corrections specific to PCD4.M440 Page 11 7. Modifications and corrections specific to PCD6 Page 13 Page: 3 1. INTRODUCTION ------------ The following official versions of firmware are now available. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PCD2 - V003 ³ ³ PCD4 - V005 ³ ³ PCD4.Mxx5 - V00B (16MHz CPU) ³ ³ PCD4.M440 - V001 (CPU1) ³ ³ PCD6.M540 - V004 ³ ³ PCD6 - V009 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This document describes all the modifications and corrections made since the last official versions. 2. MAJOR MODIFICATIONS ------------------- ³ Implemented ³ Project ³ in system ³ Documentation ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ³ Password ³ all ³ PASSWORD.TXT ³ ³ Gateway ³ PCD2 & PCD6.M1/2 ³ GATEWAY.DOC ³ ³ Modem+ ³ all ³ MODEMSPL.TXT ³ ³ New indirect instructions ³ all ³ SBINDIR.DOC STXMI/SRXMI, TFRI ³ ³ ³ ³ New S-Bus functions: ³ all ³ SBNEWS.TXT SRXM to read the system info ³ ³ of a slave, new XOB 17,18,19 ³ ³ ³ ³ Modifications and corrections ³ all ³ TSTINSTR.TXT to the test instruction ³ ³ ³ ³ Page: 4 3. MODIFICATIONS AND CORRECTIONS COMMON TO ALL PCD SYSTEMS ------------------------------------------------------- This chapter describes all the modifications and corrections which are COMMON to all systems. Modifications which were realised in previous versions have version number noted in the title. 3.1 MODIFICATIONS REALISED ---------------------- - PCD2-$25 / PCD4-$4C / PCD6-$84 The startup routine has been completely rewritten so that the LED's now flash in a new sequence. This routine has new features for extra security. For more information see document 'Startup routines for all systems' (STARTUP.TXT). The main reason for this rewrite is to prevent memory corruption during power loss to the PCD. (This does not apply to the PCD2). - Beta versions Bad control of the output range when using the SRXM/STXM instructions, this has been corrected for MD/SD and S-BUS. - PCD2-$25 / PCD4-$4C / PCD6-$84 It is now possible to transfer DB's over S-BUS. See document 'Indirect S-Bus instructions' (SBINDIR.DOC). - PCD4-$45 The instruction TEST has been completely rewritten and is described in detail in document 'Test instruction for PCD' (TSTINSTR.TXT). - Beta versions The RSB instruction causes a crash if the specified step does not exist. This error has been corrected. - Beta versions If a counter is incremented beyond the maximum value then the error flag isn't set. This now works in exactly the same way as described in the Reference Guide. - Beta versions The NOT instruction can cause invalid values to be read in registers when using more than 1 CPU. This has now been corrected but other instructions have yet to be analysed for the same problem. - Beta versions STXTX instruction of TEXT 4000 when the memory extension is not allocated and an PCD4.R2 is used caused a crash. This has been corrected. - PCD4-$45 The S-BUS timeout problems with 2 ports when one is assigned at 38.4 Kbaud have been corrected. This management of the comms at 19.2 and 38.4 Kbaud are also now much more efficient which gives greatly improved transmisison rates. For instance, the real transmission rate at 19.2 Kbaud was approximately 10.5 Kbaud, this will now be approximately 15.5 Kbaud. For transmission at 38.4 Kbd, the real transmission rate was approximately 19.5 Kbaud, this will now be approximately 28.5 Kbaud. S-BUS and P8 modes are not affected by this modification. (Yes - you can use MC modes at 38.4 Kbaud). Page: 5 - PCD2-$25 / PCD4-$4C / PCD6-$84 If a SASI was performed in the background, for instance, with disconnecting/connecting the PG3 to the PCD, then if any communications instruction was being executed there could be a crash This has now been corrected. - Beta versions The GETX instruction can transfer too many characters. This has been corrected. - PCD4-$45 The TFUL mechanism for Radio modems up to 4800 Bd has been included in this version. - PCD2-$25 / PCD4-$4C / PCD6-$84 Certain debugger commands which accessed ST/TR's greater than 999 didn't work. This has now been corrected. There have been some other associated errors with GRAFTEC which are software errors. These have been corrected in $185 of the PG3. - Beta versions Memory loss detection : If the program is in EPROM and the registers hold vital process information it is important to know when the contents of the R/T/F/C's has been lost. If the FW detects that such a loss occurs then the message "MEMORY LOSS" is written into the failure register. This can also be tested via the user program using the TEST instruction. See document 'Test instruction for PCD' (TSTINSTR.TXT). - When XOB 0 is now called there are two messages entered into the history list :- "XOB 0 START EXEC" to indicate start of XOB 0. "XOB 0 EXECUTED " to indicate completion of the XOB. If no XOB 0 is programmed then the FW makes an automatic restart cold. This means that the FW cannot be in an undefined state during power down. When an XOB 8 is executed (Invalid opcode) a restart cold is automatically performed at the end of the XOB. This is because it is impossible for the FW to recover from such an error and to continue executing the rest of the user program. - PCD2-$25 / PCD4-$4C / PCD6-$84 When an S-BUS master read more than 64 I/O's which didn't exist in a PCD then this could cause loss of communications. The user program continued to execute but no communicatiosn instructions could be executed and the timers did not decrement and the COB supervision time didn't work. This is a HW problem and can only be resolved by using the following new versions of CPU's. - PCD4.M1xx - Version K already in production - PCD6.M540 - Version E not yet in production - PCD4.M440 - Version B not yet in production - PCD2-$25 / PCD4-$4C / PCD6-$84 The XOB 11 will now be called regularly independent of the COB size. The minimum resolution of this XOB is 10 mS. See document BUL08.TXT. Page: 6 - Beta versions MOV instruction error. The MOV instruction would sometimes cause a crash, this has been corrected. - PCD4-$45 The FW version name is now dependent on the type of CPU used. The debugger will now display :- PCD4.M110 - D4M11... PCD4.M440 - D4M44... PCD4.M120 - D4M12... PCD4.M340 - D4M34... PCD4.M140 - D4M14... PCD4.M240 - D4M24... PCD6.M540 - D6M54... PCD6.M1 - D6M1_... PCD6.M2 - D6M2_... PCD2.M - D2M1_... This is only updated at power up, if there is a problem then the old format is used by default. After the problem has been resolved then make a power up to update the version name.(A power up is necessary because of the LAN-2 coprocessor card). - PCD2-$25 / PCD4-$4C / PCD6-$84 When using an M240 or M440 and the RUN/HALT switch only CPU 0 would go into RUN. This has now been corrected. - Beta versions Locate command in the PG3 does not work properly after downloading further PB/FB/XOB/COB/ST/TR/SB's. With the locate command always the first block is displayed in the memory. To locate futher blocks the locate next command must be used. - PCD2-$25 / PCD4-$4C / PCD6-$84 The precision of the communications clock had a tolerance of 1 second in previous versions, this has now been improved to 250 mS. - Beta versions There was a problem whereby if a SASI error occured no more SASI's could be performed on the same port. This has now been corrected. - PCD2-$25 / PCD4-$4C / PCD6-$84 Modification to use S-BUS break and parity modes with or without modems. - Beta versions Error led with S-BUS PGU error is not working correctly. This has now been corrected. If the S-BUS level 2 is badly assigned on the PGU port then an error will only be signaled when the PCD switches to S-BUS from P8. If the assignation on made on any other port which is not the PGU port then the PCD will go into HALT. - PCD2-$25 / PCD4-$4C / PCD6-$84 The firmware now checks for DSR OR CTS instead of DSR AND CTS when connecting the modem to the configured S-Bus PGU port. - Beta versions A paramterised SASI instruction caused a crash - this has been corrected. Page: 7 - Beta versions The SICL instruction didn't work correctly until a SASI had been made on the port concerned. This has been corrected. - Beta versions Sometimes the command 'Diplay program ST/TR' didn't work from the debugger. This has now been corrected. - Beta versions Modifications for 1 Mbit FW versions for PCD2/4 including the TEST instruction. The TEST 40 - System EPROM test. - Beta versions We have seen that when using S-BUS with modems the quality of the communications was poor because of an invalid character being received at the end of telegrams due to the modem always remaining active for a certain time after the RTS signal has been dropped. This problem was especially visible with Private-line modems. This meant that the master would regularly sent retries which reduced performance. This has now been corrected. Note : The slave often indicates 'break error' in the S-BUS diagnostics register. This is because it actually receives a break character at the end of each telegram, the FW, however, can reject this without causing problems with the S-BUS communications. If this error is seen then it can be ignored. - Official versions The DEFWPR caused a Halt "invalid opcode" on powerup. This has been corrected. This correction concerns PCD4 and PCD6. - Official versions If the memory pack was not allocated then sometimes it was not possible to come online. This problem applied to the PCD4/PCD6.M540/PCD4.M440. Page: 8 3.2 MODIFICATIONS NOT REALISED -------------------------- - Problems with the PID instruction. - SCOB instruction doesn't work correctly. - Instruction to be able to read the active transition by AWL program. - When in trace in GRAFTEC, if a condition is TRUE in the transition then the transition is active, but the next step has already been executed. - A new format to be able to read the RTC directly into a text for transmission. - To be able to format a text in floating point. - Permit the AWL program to read CPU type/FW version and S-BUS station number. - The error flag problem with the SASI instruction, this includes the whole concept of the error flag. - Problem with DTR signal with modems+ for PCD4 and PCD6. - Problem with MD/SD mode when transmitting the RTC. - The break length definition doesn't work correctly with SM0 mode. Page: 9 4. MODIFICATIONS AND CORRECTIONS SPECIFIC TO PCD2 ---------------------------------------------- This chapter describes all the modifications and corrections which are specific to PCD2. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ THIS IS A 1MBIT EPROM FIRMWARE VERSION ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 4.1 MODIFICATIONS REALISED ---------------------- - Beta version The PG3 command 'File Load [filename] COB no' followed by a 'Restart cold all-cpus' caused a crash. This has now been corrected. - $25 The IO QUIT FAIL message has been removed from the PCD2 history list as it is not used. - Beta version Further ideas for the F5 display. The display has now been greatly improved - See document D2F5DISP.DOC - $25 The DSP K 0 instruction didn't return to 6-digit integer mode without leading zeros if a DSP K 7 had already been executed. - Beta version File loading DB's greater than 5999 did not indicate an error but erased all other DB's. - Beta version If a SASI was performed on port3 then the RTS of port2 was cleared. This has been corrected. 4.2 MODIFICATIONS NOT REALISED -------------------------- - Problems with bad quality of transmission on PORT 1 using S-BUS. This is a problem whereby occasional framing error diagnostics are received. We have studied this problem in some detail and have not yet been able to correct it. This is a complex problem associated with the synchronisation of the internal DUART in the Microcontroller. A simple way to solve this problem is to increase the TN delay in the slave. - The MC4 mode doesn't work on ports 1 and 2. - If the command 'display program ST/TR' is executed after a command 'run until pointer equals..', then the CPU will crash. Page: 10 5. MODIFICATIONS AND CORRECTIONS SPECIFIC TO PCD4 ---------------------------------------------- This chapter describes all the modifications and corrections which are specific to PCD4. The version V00B of the fast 16Mhz CPUs (PCD4.Mxx5) is identical to the version V005 of standard CPUs except in name. 5.1 MODIFICATIONS REALISED ---------------------- - Beta versions Problem with M240, If a SASI was performed on the PGU port then it was not possible to come online. This has been corrected. - Beta versions Problem on M240 with Run/Halt switch, after switching from HALT only CPU 0 went into RUN. This has been corrected. - Beta versions Sometimes it was not possible to perform a SASI on ports 2 or 3 on an M240. This has now been corrected. - Beta versions When using an PCD7.R3 module it was not possible to come online with version $4c. This has been corrected. 5.2 MODIFICATION NOT REALISED ------------------------- - Power up in stop when S-BUS PGU connected. - The download of a block after restart cold causes the CPU to go offline. Page: 11 6. MODIFICATIONS AND CORRECTIONS SPECIFIC TO PCD4.M440 --------------------------------------------------- This chapter describes all the modifications and corrections which are specific to PCD4.M440 This version has now been brought into line with the other new features for the PCD's. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ THIS IS A 1MBIT EPROM FIRMWARE VERSION ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This version is compatible with version V005 of the CPU 0. 6.1 MODIFICATIONS REALISED ---------------------- - Beta version When the PGU port was assigned with a user SASI from CPU 1 then it was no longer possible to come online with the P8. - Beta version A SASI instruction in trace provoked a crash of the PCD. This has now been corrected. - Beta version It was not possible to use the outputs for the communications diagnostics flags. This has now been corrected. - Beta version The byte string has been changed to octet string in line with the PROFIBUS norm. - Beta version The 'profile number' parameter has been changed from "00" (ascii) to 0000 (hex) to be in line with the PROFIBUS norm. - Beta version In the PROFIBUS norm there are 14 standard types of objects, these must always be supported by SAIA if we are to confrom to the norm. SAIA only uses 10 types of objects so the unused types are now defined as nul objects. - Beta version When the M440 FW received a 'get_OV' telegram via PROFIBUS, an invalid reject code was returned. This has now been changed to a valid error code. - Beta version Groups of objects (on a partner station) with access group or password identifiers can now be accessed by the M440. Page: 12 - Beta version The diagnostics register is now accumulative and the diagnostics flags are updated by events on the PROFIBUS. - Beta version It is now possible to use the '$L' directive in a PROFIBUS SASI text to use up to 3 levels of text. - Beta version The instruction TEST did not work correctly and has now been corrected. - Beta version The CPU1 went into HALT from time to time upon startup. This has now been corrected. - Official version S-Bus reduced protocol didn't work on ports 2 and 3 of the M440. This has been corrected. 6.2 MODIFICATIONS NOT REALISED -------------------------- - The PROFIBUS can become blocked if two or more masters are configured with different bus parameters. Masters should always be initialised with identical bus parameters. To reset the controller from this situation a power off/on is required. This problem cannot be solved by the firmware. A HW modification is necessary to execute an automatic reset of the controller when a 'restart cold' of the CPU is performed. - Indirect addressing with the instructions STXMI/SRXMI is not included in this version. - It is necessary to define a minimum of 1 object in a SASI for profibus channel. - The SASI "MODE:OFF" instruction doesn't work with a profibus channel. - Important note: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Ports 2 and 3 cannot be configured as S-Bus PGU ports. ³ ³ This is a HW limitation due to the structure of the ³ ³ 68340 microcontroller used on the CPU 1. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Page: 13 7. MODIFICATIONS AND CORRECTIONS SPECIFIC TO PCD6 ---------------------------------------------- This chapter describes all the modifications and corrections which are specific to PCD6. 7.1 MODIFICATIONS REALISED ---------------------- - $84 In a multiple CPU system, it was not possible to load a program into the own CPU over the S-BUS port if the CPU number was 1 - 6. This has now been corected. - $84 All four ports on an M260 are now put into RS485 passive state at startup. - $84 and official version V009 If the program length was greater than 64 Klines or the text length was greater than 256 Kbytes then there would always be a checksum error when the Write Protect was set or the program was loaded into EPROM. This problem was initially corrected in $84 but was then rediscovered in the beta version B86. This has now been corrected. - Beta version The timers decremented too fast after an assignation at 38.4 Kbd. This has now been corrected. 7.2 MODIFICATIONS NOT REALISED -------------------------- There are no known problems reported for the PCD6.