September 27, 1994 GFK-0494U IMPORTANT PRODUCT INFORMATION READ THIS INFORMATION FIRST Product: Programmable Coprocessor Module, Version 3.03 Catalog Number Hardware Identification EPROM Label Location IC693PCM300L* PC3A1 388-020N3.03 388-021K3.03 U34 U35 IC693PCM301J* PC3A2 395-020K3.03 U36 IC693PCM311K* PC3C1 395-020K3.03 U39 * Suffix change due to the following: user manual removed from shipping container. No hardware or software changes were required. This is release 3.03 of the Programmable Coprocessor Module, PCM. It corrects several minor software errors in CCM communication. The PCM supports application programming in the MegaBasic and C languages. The module also communicates using the Communications Control Module (CCM) protocol. Functional Compatibility PCM firmware version 3.03 is compatible with release 1.00 or later of PCM support software (TERMF), IC641SWP063A and IC641SWP023A, and release 2.04 or later of PCM development software (PCOP), IC641SWP061B and IC641SWP021A. To develop MegaBasic applications, you must use either TERMF or PCOP. PCM firmware version 3.03 is compatible with release 1.03 of the Model 331 CPU, IC693CPU331C, or later. However, it is strongly recommended that all release 1.0x users upgrade to CPU release 2.04, IC693CPU331J, or later. This upgrade is available at no charge. See Additional Restrictions When Using a Release 1.0x CPU 331 later in this document for a list of restrictions which apply only when a PCM is used with a release 1.05 or earlier CPU. There are no changes to these PCM publications: MegaBasic Programming Language Reference Manual and PCM Development Software (PCOP) User’s Manual for this release. However, new material will be added to the Programmable Coprocessor Module and Support Software User’s Manual at the next revision. See Changes and Additions to the User Manuals later in this document for information on these changes. 2 Important Product Information GFK-0494U Special Operational Notes 1. MegaBasic Defaults to Task Seven: When MegaBasic is started from an R (RUN) command in a PCMEXEC.BAT file, and the command does not specify a task number, the PCM operating system assigns MegaBasic to task number 7. This behavior applies to PCMEXEC.BAT files created by the PCM operating system as well as files created by users, and is consistent with PCM firmware version 2.51 and all earlier releases. In PCM release 3.00, MegaBasic defaults to task 15. 2. PCM Serial Ports Are not Isolated: The two PCM serial ports are not isolated from module ground in either RS-232C or RS-422/RS-485 mode. Common-mode input signals must be limited to 12 volts or less for RS-422/RS-485 mode. An external RS-232C/RS-485 converter with common-mode isolation is recommended for serial data paths longer than 50 feet. 3. Configuration Restriction: A Programmable Coprocessor Module (PCM) may reside only in the main PLC rack. 4. PROM Change: PCM RAM, including the RAM Disk (the RAM: device), is automatically cleared on the first power-up after the PCM PROM is changed. If RAM disk files must be preserved, they must be stored to an attached personal computer (PC), using TERMF or PCOP, before upgrading the PCM firmware, and loaded to the PCM after the upgrade. 5. Power-up Delay: The first COMMREQ sent to a PCM after a power cycle needs to be delayed until the PCM has finished power-up initialization. See the Programmable Coprocessor Module and Support Software User’s Manual for example PLC programs which delay before sending CCM and MegaBasic COMMREQs. Problems Resolved by this Upgrade 1. PLC Reference Table Access by CCM: CCM now queries the PLC CPU to determine the valid ranges for register (%R), discrete input (%I), and discrete output (%Q) references. In previous firmware releases, CCM would sometimes prevent access to valid references. 2. CCM Target ID Check Incompatible with Previous Versions: In PCM firmware versions 2.51 and earlier, the target ID fields in received CCM message headers are not checked to ensure they match the target ID of the most recent ENQuiry sequence. This check was added in versions 2.52 through 3.02. Consequently, a few existing CCM applications that generate messages with incorrect target ID values fail with those versions, although they function correctly with earlier PCM firmware. The CCM specification states that target ID fields in message headers must match the most recent ENQuiry sequence, but no harm is caused if they do not. The check has been removed in version 3.03. 3. CCM COMMREQ Fails with %AI or %AQ Status Word: Previously, when a CCM COMMERQ Status Word location in %AI or %AQ memory was specified, normal CCM access to register (%R) memory would sometimes fail. In this release, CCM operates correctly with status word locations in %AI and %AQ memory. 4. CCM Slave May Begin to EOT All Incoming Headers: In previous PCM firmware releases, a signal interruption on the Receive Data (RD) communication line would cause a CCM slave to enter a mode where it timed out while waiting for an incoming message header and then returned an EOT. A reset of the module was necessary to recover. This problem no longer occurs. Important Product Information 3 GFK-0494U Problems Resolved by Version 3.02 1. Critical Section Functions of the VTOS Operating System: The VTOS Start_crit_sec and End_crit_sec functions now disable and enable maskable interrupts, respectively, as expected. Previously, the code had no effect on interrupts. 2. MegaBasic SYSLINK Error with Default String Dimensions Disabled: The string argument of the PCM MegaBasic SYSLINK procedure is now explicitly dimensioned. Previously, turning off default string or array dimensions with PARAM(12) = -1 or PARAM(13) = -1 caused a runtime error from SYSLINK. Problems Resolved by Version 3.01 1. Controlling PCM LEDs from MegaBasic: When a MegaBasic application is started by a PCMEXEC.BAT file, the PCM uses a default task number for MegaBasic unless PCMEXEC.BAT explicitly specifies a task. In this PCM firmware release, as well as release 2.51 and all earlier releases, the default task number for MegaBasic is seven (7). In release 3.00, the default MegaBasic task number is 15. When the MegaBasic application controls a PCM light emitting diode (LED) indicator, the LED must be configured for control by MegaBasic. The MegaBasic task number must be specified in a PCMEXEC.BAT command. If the task number for PCM firmware release 2.51 or earlier is assumed, and MegaBasic runs as the default task number, then the application will not be able to control the LED when running in a release 3.00 PCM. This problem has been corrected in this release. 2. CCM Q/N Enquiry: Partial N or Q enquiry sequences no longer disrupt detection of valid N or Q enquiry sequences. Any valid enquiry sequence will now be responded to regardless of prior transmissions. 3. Multidrop Enquiry: In multidrop configurations, switching from one slave to the next sometimes required a retransmission of the enquiry sequence. A retransmission is no longer required. Restrictions and Significant Open Problems 1. * Invalid MegaBasic COMMREQ May Not Cause PLC Fault: When a MegaBasic COMMREQ message is sent to the PCM and MegaBasic is not executing, the expected fault message may occasionally not appear in the PLC fault table. 2. CCM Timeout On Large Requests: CCM requests for 3000 bytes or more of data may occasionally abort with a serial timeout error (Error code 0102H). 3. Redirection of MegaBasic STDIN: When MegaBasic is run with STDIN redirected from a file on an attached PC and execution of the MegaBasic program terminates for any reason, MegaBasic is unable to read input characters from the PC file. Redirecting STDIN from a PCM RAM disk file works correctly. 4. MegaBasic Serial Data Rate: When both PCM serial ports are configured for a data rate higher than 9600 bps and a MegaBasic program transmits and receives characters on both ports at the same time, the PCM watchdog timer may expire, halting operation and turning off the OK LED. 5. CCM Data Rate: Recoverable CCM communication errors, such as dropped characters, may occur when CCM initiates commands on both ports simultaneously at data rates above 9600 bps. It is recommended that the data rate on either CCM port not exceed 9600 bps when using both ports as initiators. * New for this release. 4 Important Product Information GFK-0494U 6. WAIT Mode COMMREQ: Programming the COMMREQ function block for WAIT mode will degrade PLC sweep time and may halt the PLC CPU, turning off its OK LED. Do not use WAIT mode COMMREQs unless you have a compelling reason. If WAIT mode is used, it is absolutely essential that no COMMREQs are sent until the PCM is ready to receive them, and that the sum of the worst-case PLC sweep time (without sending a COMMREQ) plus the longer of the two COMMREQ timeout values is less than the PLC CPU watchdog timer setting. If two or more WAIT mode COMMREQs can be sent during the same PLC sweep, the total of the timeouts for all the COMMREQs must be considered. See the Programmable Coprocessor Module and Support Software User’s Manual. 7. Extra Fault: When a WAIT mode COMMREQ which specifies an invalid PCM TASK ID is executed, two Bad task id faults are posted to the PLC fault table. 8. NOWAIT I/O and CTRL-C: If a MegaBasic program performs NOWAIT read and NOWAIT write operations simultaneously on the same serial port, and the program is aborted with CTRL-C or a MegaBasic STOP statement, the PCM may hang if the program is restarted before the I/O operations complete. Additional Restrictions When Using a Release 1.0x Model 331 CPU 1. Multiple PCMs and/or ADCs: When two or more PCMs and/or Access 90 Display Coprocessor modules (ADCs) which do not have identical catalog numbers are installed in a PLC system, the PCM/ADC modules may not function normally, particularly after a short power cycle (warm boot). Loss of module faults may be posted to the PLC fault table. 2. MegaBasic Data Length: If a MegaBasic program attempts to write more than 512 bytes of data to the PLC CPU in a single request, the CPU watchdog timer will expire, turning off the CPU OK LED. 3. Lost COMMREQ: When two or more PCMs are present, a COMMREQ to either PCM may never complete. If a ladder program attempts to send WAIT mode COMMREQs, the CPU OK LED may go out after several minutes. Ladder programs should always use NOWAIT mode COMMREQs. To ensure that transactions are completed, a time limit should be established for each COMMREQ using a PLC timer function block. When a COMMREQ fails to complete before its timer expires, the program can send it again. 4. PLC Configuration Change: When an I/O configuration is stored to the PLC, or a Hand Held Programmer operation (Autoconfig or clear PLC) results in a change to PCM configuration data, PCMs must be reset before the new configuration takes effect. When the PCM configuration is changed to correct a Configuration mismatch PLC fault, a PLC power cycle is required before the PCM will function normally. Loss of module PLC faults for the PCM will occur between the time the new configuration is stored and the power cycle. Changes and Additions to the User’s Manual The text from Controlling PCM LEDs from MegaBasic under Problems Resolved by Version 3.01 in this document will be incorporated into the next revision of the Programmable Coprocessor Module and Support Software User’s Manual.