PiCPro for Windows Version 13.0-SP3 Professional Edition and Standalone
MMC Edition Readme
IMPORTANT
It is important to read this document. It provides late-breaking
product information such as:
-
A list of new features in this release
- Tips and helpful hints on using the product
- Information so new it isn't in the documentation
- Known problems and work-arounds
TABLE OF CONTENTS
TECHNICAL SUPPORT
For technical support call Giddings & Lewis at 1 800 558 4808 or send an e-mail to glmotion.info@danahermotion.com.
PiCPro V13.0-SP3 INFORMATION
Notes:
- Install PiCPro V13.0-SP3.
- Once installed, rebuild all UDFBs.
- Update your firmware if you have an MMC for PC SERCOS CPU or a SERCOS module. Use MMCPCS06.hex for an MMC for PC SERCOS CPU. Use SERCO05.hex for a SERCOS module.
- Check V13-SP3 Addendum.pdf for detailed information on features included in this release.
New Hardware Supported:
- DLS
- Digital Line Shaft (DLS) Module is available for use with an MMC for PC SERCOS CPU.
- In Servo Setup, if the target CPU is an MMC for PC, any SERCOS or time axis can be specified as a DLS Communications Master Axis and any digitizing axis can be a DLS (image) axis.
- MMC for PC SERCOS firmware was changed to support DLS (MMCPCS06.hex).
- 3 new Function Blocks and 1 new Function have been added to the DATA group in Motion.lib for DLS functionality with an MMC for PC SERCOS CPU.
- DLS_INIT - This Function Block starts and monitors DLS communications during startup.
- DLS_RECV - This Function Block reads the most recent send data from an MMC for PC.
- DLS_SEND - This Function will broadcast the value of DATA to all communication slaves when programmed into the ladder of an MMC for PC communication master and will send ladder data to the Communications Master when programmed in a slave ladder.
- DLS_STAT - This Function Block indicates a bit array of communication status and communication errors.
- J-K Thermocouple
- Block I/O J-K Thermocouple module is supported. The module is available in Hardware Declarations | Block I/O | Input | Input Temp. J-K (8 ch.).
- 2 new Function Blocks and 1 new Function have been added to the JKTHERM group in IO.lib for functionality with a new Block Input J-K Thermocouple Module (8 channel).
- BTMPCHIT - This Function initializes a Block I/O J-K Thermocouple or A/D channel and sets up the range for the channel.
- BTMPCHRD - This Function Block reads the temperature or A/D value from hardware.
- BTMPMGR - This Function Block initialzes the Block Input J-K Thermocouple module. It also performs periodic communication with the Block Input J-K Thermocouple module. It also performs periodic calculation of temperature compensations and scale factors.
PiCPro Changes:
Servo Setup. Proportional Gain View and Force List
- Corrected a servo tune view and force problem with Proportional Gain. When forcing KP, if the value entered is out of range for high resolution KP, validate for KP. When viewing KP, if the value returned when scaled for high resolution KP is 0, rescale for KP and display.
Structured Text Compiler
- A Structured Text expression would compute invalid results when the same arithmetic operator appeared multiple times in a row. For example, 10 / 2 + 2 would work properly but 10 / 2 / 2 would not work properly. In the second example the "/" operator is used more than once in a row. Arithmetic operators "/ - Divide" and "MOD - Modulo" would compute invalid results when used 2 or more times in a row while arithmetic operators "+ - Add", "- - Subtract", and "* - Multiply" would compute invalid results when used 17 or more times in a row. This problem has been corrected.
Structured Text Editor
- Fixed program exception if ‘select all’ is performed twice from a ST element (to select the entire ladder) and then an operation such as cut/copy was performed.
- Fixed a possible program exception if enter was pressed on a ST element that had selected text.
- Fixed program exception if ‘select all’ is performed when the focus in an ST element that is not in view.
- Enter key is ignored when on power rail outside of an ST element or ST network. Fixes ladder corruption which allowed both ST and ladder elements to exist in an ST network.
- ESC cancels ‘select all’ and now returns the ST cursor to the original point before the selection was made instead of top left corner.
Compiler
- The following defect has been fixed. First, do a Compile and Download with the Compile | Setting Construct Data File turned on. Because the Compile | Setting Construct Data File was turned on, a .oid file and an operator interface table were generated. Next turn off the Compile | Setting Construct Data File and then add a global variable in Software Declarations. Now do another Compile and Download with the Compile | Setting Construct Data File still turned off. Because the Compile | Setting Construct Data File is turned off no new .oid file or operator interface table were generated and in fact the old ones were not deleted. Since the old ones still existed they were sent down to the PiC instead and undesirable results would occur. With this release the old .oid file and operator interface table will be deleted whenever a compile and download is performed and the Compile Setting Construct Data File is turned off.
Motion.lib Changes:
- Updated the READ_SV Function in the DATA group. Variable #1 "Actual position" has been updated to reflect the DLS Module. A new Variable #65 "SERCOS Velocity Compensation Factor" has been added. The "SERCOS Velocity Compensation Factor" is the value used to multiply the change in master axis feedback delta when calculating a slave axis' SERCOS velocity compensation.
- A correction was made for Servo axes using S-Curve acc/dec. Previously, the axes could jump at the beginning of a commanded move after an E-Stop occurred.
- A correction was made to registration. Previously, registration could incorrectly determine if a mark is within the ignore distance.
- A correction was made for servo axes using S-Curve acc/dec. Previously, a DISTANCE move could travel an incorrect distance if it was preceded by a VEL_STRT/VEL_END move that was preceded by a DISTANCE move.
PID.lib New in SP3:
- A new PID.lib has been added to enhance PID functionality. PID.lib includes the following.
- PID2 - This Function Block is a simplified version of the existing PID Function Block in the IO.lib. Many of the filtering options available in PID have been omitted in PID2. PID2 utilizes the Independent gains algorithim.
- PWDTY - This Pulse Width Duty Cycle Function Block accepts an input value between the minimum and maximum input range and converts this to a duty cycle.
- RAMP - This function generates a ramp output from step inputs.
- TAUFFAC - This Function calculates a first order filter factor to be used in the first order filter function TAUFILT described below.
- TAUFILT - This Function provides a first order filter response.
Firmware Changes:
- Firmware for MMC-PC SERCOS, MMC standalone SERCOS, and PiC900 SERCOS has been changed to properly ignore one-time CRC errors. A ring fault will still occur in the event of 2 consecutive errors in accordance to the SERCOS specification. This corrects a condition where the STATUS was not being updated in the event of one CRC error. (MMCPCS06.hex and SERCO05.hex)
PiCPro V13.0-SP2 INFORMATION
PiCPro Changes:
- Structured Text Paste
- A change was made to prevent a crash when renaming a variable as part of a structured text paste operation.
Motion.lib Changes:
- Time Axis Position Moves
- Corrected a problem with time axis POSITION moves. The time axis could move to an incorrect endpoint. This problem was introduced with the release of PiCPro v13.0. This problem only applies to POSITION moves with a time axis.
PiCPro V13.0-SP1 INFORMATION
PiCPro Changes:
- Scan Loss
- A scan loss problem has been fixed. In some cases, if a ladder containing structured text was animated and then the cursor position was changed by scrolling the ladder using page up, page down, or the arrow keys, animation would not turn on when the scrolling was completed. Attempting to turn on animation caused a scan loss.
- Corrupt Ladder
- A structured text ladder corruption problem has been fixed. In some cases, if the name of a variable used in a structured text network was changed in software
declarations or in find/replace, the structured text network would not be updated correctly.
- Printing
- A ladder printing problem in Windows 95/98/ME has been corrected.
- Find
- Network labels are now alphabetized in the find dialog.
- SERCOS
- Display an error if the IDN list is too large to upload. Fixes
program exception.
- Info Window - ST Compile Errors
- Fixed a possible program exception when double clicking on an ST compile
error in the info-window.
- Patching
- Initial values of new variables created in software declarations were
ignored when patching and were initialized to 0. The only way to activate
the initial values was to do a full compile and download. This problem
only occurs on CPU’s that do not support extended data memory (i.e., MMC’s).
Firmware Changes:
- TCP/IP firmware was changed to correct an initialization problem which resulted in a corrupt Ethernet address (TCPIP03.hex). This change is applicable to both PiC900 and standalone MMC Ethernet modules.
- MMC for PC firmware (MMCPCA04.hex and MMCPCS05.hex) was changed to
correct a communication problem. If using reconfigurable I/O or
reconfigurable ASIU options, it was possible to experience communications
problems after an I/O or ASIU error was detected.
Motion.lib Changes:
-
WRITE_SV Variable 21
(Reversal not allowed) could not be written to 0 after it had been written
to 1. This problem has been corrected.
PiCPro V13.0 NEW FEATURES/CHANGES
This release contains the features and changes listed below.
Features are documented in the Version 13.0 manuals (.pdf files) found on your CD and/or in the on-line help found in PiCPro.
Auto Update:
- The Auto Update feature provides an easy method for updating PiCPro, ensuring our customers are always working with the most up-to-date version of our software. A small client application is installed along with PiCPro. When the client is run, it checks for PiCPro service packs on the internet. If it finds a newer version than that already installed, the service pack can be downloaded and installed.
- The update client can be run in both automatic and manual modes. To run the client in auto mode, select 'View | Options' from the PiCPro menu and check the 'Automatically Check for Updates' checkbox. In auto mode, if the number of days between checks has elapsed, the update client will check for updates and display a dialog if new updates are available. To run the client in manual mode, select 'Help | Check for PiCPro Updates...' from the PiCPro menu or select 'Start | Programs | PiCPro for Windows | Check for PiCPro ******** Updates' from the Windows Start menu.
Structured Text:
- Structured Text is a high level textual programming language specifically developed for industrial control applications.
- Structured Text provides constructs for assigning values to variables, creating expressions, conditional evaluation of statements, and looping.
- Statements for control structures include conditional (IF-THEN,IF-THEN-ELSE, ELSF-THEN-ELSE,CASE) and Iteration statements (FOR-DO, WHILE-DO, REPEAT-UNTIL).
Ladder Version:
- If a ladder contains structured text, longer than eight characters variable names, mixed case variable names, or scan with ASIU errors enabled, the version of the ladder will be changed so it cannot be opened in older versions of PiCPro.
Lost Ladder Edit:
- The following problem has been corrected. Open an existing ladder. Modify an existing contact or coil or data in or data out by changing the symbol name to an undefined symbol. Answer yes to the prompt to add to software declarations. Add other symbols to software declarations but don't add the symbol you were prompted to add. Save changes to software declarations. Answer no to the prompt to add to software decs. Hit the escape key to restore the original symbol name. Close the ladder. The user is not prompted to save.
Patching:
- A patching problem has been corrected where variables with initial values were set back to their original initial value after a patch. This only occurred when patching involved a new variable (A new variable was added to software declarations.) and the variable was in expanded data memory.
- Patching is prevented anytime a new Block I/O module or ASIU is added to hardware declarations.
Compiling a UDFB/Task:
- The following defect has been fixed. When compiling a UDFB it was observed that occasionally the message "UDFB library filename.LIB successfully updated" was not output to indicate that the compile was complete. This was occurring because the error message "Out of Control Memory" was not being output as expected.
- Compiling a task that contains Block I/O in hardware declarations no longer causes PiCPro to crash.
Control Error: Insufficient Memory Space
- A checkbox has been added to Hardware Declarations to extend pool memory on PiC Turbo3 controls. Pool memory is used internally by the control to store axis data, SERCOS data, and animation data. The amount of pool memory required increases as the number of axes, the number of SERCOS slaves, and the amount of animation displayed increases. Checking this box will increase the amount of pool memory available and decrease the amount of ladder application memory available. This checkbox can be used to avoid a "Control Error: Insufficient Memory Space" error while animating.
Ladder Editor - Split Screen:
- Split screen problems related to switching focus from one pane to another have been corrected.
Cross Reference Table:
- An "&" output has been added to the Cross Reference Table for array variable names when used on coils.
Resumable E-Stop:
- Provides the ability to resume axis motion with the current move after a User Set or Excess Error E-Stop has occurred.
Command Based Master/Slave:
- All master/slave functions (RATIOCAM, RATIOPRO, RATIOSLP, RATIOSYN, RATIO_GR and RATION_RL) now support basing the slave axis motion on the master axis' command position.
SERCOS Velocity Compensation:
- WRITE_SV/READ_SV variable #61 has been added to implement SERCOS Velocity Compensation.
Velocity Compensation Filter:
- WRITE_SV/READ_SV variable #62 has been added to implement a Velocity Compensation filter. This variable specifies the number of servo interrupts in which a given amount of velocity compensation is applied to a slave axis.
SCS_RECV/SCA_RECV:
- SCS_RECV and SCA_RECV will now return the actual size of string or array data in the event the value in .AVAIL is not large enough and the function block returns ERR = 2. The actual size is returned in the .ACTUAL field of the DATA input structure.
SCA_PBIT/SCA_RFIT:
- SCA_PBIT and SCA_RFIT will now read IDN 170 Probing Cycle Procedure Command and wait until the procedure command is running before the DONE output is set.
SCA_CLOS:
- Code was added to SCA_CLOS to check if the ladder requested to open the loop while we're waiting for the loop to close in the drive (bits 14 and 15 set in the status word). If this happens, SCA_CLOS will now return error 38 and abort the close. Previously, it was possible to hold up SCA_CLOS forever waiting for bits 14 and 15 to go high if the ladder opened the loop while SCA_CLOS was waiting. Trying to call SCA_CLOS again would just result in error 10 (function block in process). A scan restart was required to recover from this.
- A change was made to correct the following problem. It was possible that a SERCOS axis using modulo rollover in the drive could rollover its feedback value before the loop was closed. Since the motion control software does not read the modulo value from the drive until SCA_CLOS is called, an incorrect position error could have been calculated and an Excess Following Error E-Stop could have occurred while the loop was open.
RATIOSCL:
- A change was made to correct the following problem. If RATIOSCL was used with a ratio move using master start and/or slave start, it was possible that an internal calculation of the master and/or slave profile segment size could have been incorrect causing an Excess Following Error E-Stop when moving from one segment to the next in the profile.
- A check for a zero value of the NUM and DEN inputs of RATIOSCL was added to prevent a possible divide-by-zero error.
C_RESET:
- A change was made to correct the following problem in C_RESET. This sequence of events,
- loop closed, axis in motion
- generate a C-Stop immediately followed by an E-Stop
- call OPENLOOP so the subsequent E_RESET will not close the loop
- call E_RESET, the E-Stop is reset
- call C_RESET
previously caused the C_RESET to fail. The C-Stop remained set.
I/O Config Scan Options:
- The ability to enable ladder configurable I/O and the ability to continue scanning in the presence of Master Rack, Remote Rack or Block I/O errors has been extended to include MMC for PC ASIU errors. New buttons have been added to the Hardware Declarations dialog to reflect this change.
- IO_CFG has been modified to indicate the presence of ASIU errors.
Firmware:
- PiC900 and MMC for PC firmware has changed to support 704K and 768K Application Memory configurations. Con704.hex and Con768.hex have been added to the firmware directory.
- PiC900, PiC90, MMC (not MMC4PC) firmware has changed to allow more time for the TCP/IP module to complete DHCP setup at power on time before ladder scans.
- TCP/IP firmware has changed to improve the DHCP operation.
- PiC900, PiC90, MMC, and MMC4PC firmware has changed to prevent communication to a non-discrete block I/O module in the event of a block I/O failure. Additionally, an error will be returned to the ladder functions that try to access these blocks. This will prevent a situation where improper programming of the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- MMC for PC firmware has been improved to allow the ladder to continue scanning in the presence of an ASIU.
- SERCOS module Firmware and MMC for PC SERCOS Firmware have been modified to detect additional CRC errors from slaves.
- SERCOS firmware was changed to handle a variable length IDN in the startup list with an odd number of characters. Prior to this change, STRTSERV would return error 8 if the start up list contained a variable length IDN with an odd number of characters.
- Firmware for 947 and 9041 processors has been modified to prevent a false 3** blink code indicating a Block I/O error which would sometimes occur at start up.
OK_ERROR:
- OK_ERROR is located in the Ladder | Functions | Evaluate menu. This function can be used to detect an OK error in a network. It is primarily used in a Structured Text network but can also be used in a Ladder network.
Hardware Declarations:
- 704K and 768K Application Memory options have been added to MMC for PC CPUs and PiC 900 941, 943, 945 and 947 CPUs. CPUs with 704K Application Memory have a 64K RAMDISK. Those with 768K Application Memory have no RAMDISK.
- MMC for PC 8 and 16 slave SERCOS CPUs have been added.
- Removed PiC900 (Turbo2), 256K, NPX CPU from menus. This CPU is not compatible with PiCPro V13.
- I/O Config Scan Buttons have been added.
Software Declarations:
- Longer mixed case variable names up to sixty-three characters are now supported.
.Lib:
- Library format has been changed to include longer mixed case names for externals.
- Libraries created or modified in V13.0 cannot be used in prior versions of PiCPro. This includes servo and SERCOS setup libraries.
SERCOS Setup:
- When uploading drive information, if an IDN is encountered that is too large to be read, a prompt will be displayed asking if the IDN should be skipped.
- Startup IDN list printing problems have been corrected.
Servo Axis S-Curve Interpolation:
- Servo Axis S-Curve Interpolation has been added. S-Curve information can now be defined using the Iterator Data tab.
- An S-Curve Wizard dialog is available to help you define maximum acceleration and constant jerk using velocity, time, acceleration, jerk, or the relationship between acceleration and jerk. The resulting S-Curve will be displayed.
- ACC_JERK
- This new function has been added and is used to modify the S-Curve Interpolation Jerk and Acceleration limits for a servo or time axis.
- For a servo axis, the units for Accelertion are ladder units/minute/second.
- For a servo axis, the units for Jerk are ladder units/minute/second squared.
- For a time axis, the units for Accelertion are counts/minute/second.
- For a time axis, the units for Jerk are counts/minute/second squared.
Time Axes:
- The S-Curve parameters for the 4 time axes can now be defined in Servo Setup.
- Files created in versions of PiCPro prior to V13.0 do not contain time axis information. If the files are opened in PiCPro V13.0, four time axes will be automatically inserted. The time axes will have axis numbers 25-28. The servo setup function can be successfully compiled without making any changes and should function as it would have in a prior version of PiCPro.
- If time axes are not needed by the application, the time axes can be deleted. Doing so frees up memory in the control.
Servo Setup:
- Resumable E-Stop information has been added to servo axes. Resume Mode and Resume Distance are new items available for viewing in Servo View List.
- Rollover on Position switch is no longer available in Servo Setup. If an SRV file is opened in V13.0 that was saved in a prior version of PiCPro and the Rollover on position switch is set to No, Rollover position will be set to 0.
- The version of the SRV file has changed to include max acceleration, constant jerk, and S-Curve enabled information for all servo axes and time axis information. Any files saved in V13.0 will not be able to be read in prior versions of PiCPro without using the Save As option and selecting a different Save As Type selection.
- Servo setup functions compiled in V13.0 cannot be used without V13.0 firmware and motion.lib. In addition, use of V13.0 motion.lib requires that all servo functions be compiled in V13.0.
RENAME Function Block
- The following change did not make it into the documentation prior to the release of PiCPro documentation. The two input parameters entitled NAMZ on the RENAME function block have been changed to OLDZ and NEWZ, respectively.
Windows XP
- PiCPro V13.0 has been tested on a limited basis under Windows XP. No major problems have been found.
- We do not recommend using 'switch user' when logging off of Windows XP if any PiCPro applications are active.
KNOWN PROBLEMS AND WORK AROUNDS
- Storing a Constant in a Variable in Structured Text
In a Structured Text or Ladder Network, storing a constant in a variable, whose value is out of range for the data type of the variable, does not presently produce an error or warning message. Only the least significant bits of the constant equal to the number of bits in the variable data type will be stored in the variable and the most significant bits of the constant will be ignored. For example, if A is defined as an SINT and the Structured Text statement "A := 3889;" is executed, then the value 49 will be store into A. In the future we plan to correct this problem by issuing an error message that will prevent you from doing this.
- Saving .G&L Files From E-mail
Please be aware that if you attempt to save a compressed project file
(.G&L) from within an e-mail by right-clicking and then selecting "Save
As" from the popup menu, the "&" is removed
from the filename extension in the Save Attachment dialog.
To fix the problem, you must manually add this "&" back
in. This problem has been diagnosed in Microsoft E-mail and has not
been observed in other e-mail packages.
To avoid this problem, save a .G&L file attachment by
double-clicking on it and selecting "Save it to disk"
on the Opening Mail Attachment dialog.
- Serial or Ethernet Connection Icons May Disappear
If your connection icon or IP address does not appear on the status
bar. To remedy this situation you need to display the Communication
Settings dialog (Online | Comm Settings) and
select OK.
- Dependencies in a Compressed Project File
To make sure that all of the files that your project requires are
actually included in the compressed file,
- Perform an Update Project tree (select this from the File menu)
to list all missing source files (.LDO, .SRV, .SRC, .PRO) to the
Information Window. If you were to compress your project
without these files, you won't be able to build the associated
function/function blocks. Make sure that if you really need these
files, they are in the locations specified in the project library paths.
- To ensure that all required functions are found, do a rebuild all
(Compile | All UDFBs found) and also compile your main .LDO. If any
errors are found, correct and compile again. When all errors are
resolved, now you can compress your project.
Note: Step (2) can only be done if the version of PiCPro you
are running matches the version of PiCPro in the project.
- Printing Help Windows
Printing help windows that contain graphics using Windows 95 and
Windows 98 may produce unexpected results. The problem does not occur
when using Windows NT 4 or Windows 2000.
- Changing UDFBs:
If you change the inputs and/or outputs to a UDFB that is already in
your main or another UDFB ladder, you must close and reopen that main
or UDFB ladder in order for the changes to appear.
- Infrared Communications Drivers
If your system PC has Infrared Communications Drivers, you need to be
aware that under Windows default settings, COM1 and COM3 use the same
interrupts, and COM2 and COM4 use the same interrupts. The
communications settings option in PiCPro for Windows, when checking
for valid communications ports, may initiate execution of some
Infrared Drivers. Communications problems will occur if the Infrared
Driver is using one member of the above pairs and PiCPro for Windows
is using the other.
To avoid communication problems, either (1) disable the Infrared
Driver in the control panel or (2) change the communications port
used by the Infrared Driver so that it does not conflict with the
communications port used by PiCPro.
- Power Save Option: The Power saver option in BIOS should not
be set when using an MMC for PC as it will cause a communications
error when it shuts the computer down.
REASONS TO UPDATE YOUR FIRMWARE
- V13.0-SP3
- MMC for PC SERCOS (MMCPCS06.HEX)
- To utilize DLS.
- To properly ignore one-time CRC errors.
- SERCOS (SERCO05.HEX)
- To properly ignore one-time CRC errors.
- V13.0-SP1
- TCP/IP for PiC900 and Standalone MMC Ethernet Modules (TCPIP03.hex)
- To correct an initialization problem which resulted in a corrupt Ethernet
address.
- MMC for PC Analog Servo (MMCPCA04.HEX)
- If using reconfigurable I/O or reconfigurable ASIU options, this change will
correct possible communication problems after an I/O or ASIU error is
detected.
- MMC for PC SERCOS (MMCPCS05.HEX)
- If using reconfigurable I/O or reconfigurable ASIU options, this change
will correct possible communication problems after an I/O or ASIU error is
detected.
- V13.0
- PiC900 (P94X11.HEX)
- To utilize new Application Memory Configurations.
- To allow more time for the TCP/IP module to complete DHCP setup at power on time before ladder scans.
- To prevent communication to a non-discrete block I/O module in the event of a block I/O failure.
- To prevent a situation where improper programming of the the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- To prevent a false 3** blink code indicating a Block I/O error which would sometimes occur at start up.
- PiC90 (P904X08.HEX)
- To allow more time for the TCP/IP module to complete DHCP setup at power on time before ladder scans.
- To prevent communication to a non-discrete block I/O module in the event of a block I/O failure.
- To prevent a situation where improper programming of the the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- To prevent a false 3** blink code indicating a Block I/O error which would sometimes occur at start up.
- Standalone MMC (MMC04.HEX)
- To allow more time for the TCP/IP module to complete DHCP setup at power on time before ladder scans.
- To prevent communication to a non-discrete block I/O module in the event of a block I/O failure.
- To prevent a situation where improper programming of the the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- MMC for PC Analog Servo (MMCPCA03.HEX)
- To utilize new Application Memory Configurations.
- To allow the ladder to continue scanning in the presence of an ASIU error.
- To prevent communication to a non-discrete block I/O module in the event of a block I/O failure.
- To prevent a situation where improper programming of the the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- MMC for PC SERCOS (MMCPCS04.HEX)
- To utilize new Application Memory Configurations.
- To prevent communication to a non-discrete block I/O module in the event of a block I/O failure.
- To prevent a situation where improper programming of the the ladder update of a non-discrete block I/O module can keep the communication watchdog timers alive such that discrete block I/O modules will keep their outputs on even though they are not being updated.
- To improve error detection in SERCOS communication.
- To handle a variable length IDN in the startup list with an odd number of characters.
- SERCOS (SERCO04.HEX)
- To improve error detection in SERCOS communication.
- To handle a variable length IDN in the startup list with an odd number of characters.
- TCP/IP Firmware (TCPIP02.HEX)
- To improve the DHCP operation.
HOW TO UPDATE CPU FIRMWARE
NOTE: If the current firmware in the control is dated newer
than the .hex file that you want to download, do **NOT**
update the control's firmware with this file unless you're sure
you want to downgrade. You can determine your control's firmware
date by selecting Online | Status
from the main menu in PiCPro for Windows. Use Windows Explorer to
find the hex file in the Firmware directory to determine its
date.
- For CPUs with loadable firmware (MMC for PC, standalone
MMC, 94X or 904X), download the appropriate hex file by
selecting the following from PiCPro's main menu bar: Online
| Download Hex. The hex files
are installed in the Firmware directory.
- If you have an MMC for PC processor, use the MMCPCA04.HEX file for an Analog CPU, or
MMCPCS06.HEX for a SERCOS CPU.
- If you have a standalone MMC, use the MMC04.HEX
file.
- If you have a PiC900 with a 486 processor (941,
943, 945, 947), use the P94X11.HEX file.
- If you have a PiC90 with a 486 processor (9041,
9043), use the P904X08.HEX file.
- PiCTurbo2, part number 502-3814-00 with a 486DX processor is not compatible with PiCPro Version 13.0 or later. Use PiCPro Version 12.x or earlier.
- All other PiC CPU models with a 186 or 486SX processor,
are not compatible with PiCPro version 11.0 or later. Use
PiCPro version 10.x or earlier.
OTHER FILES IN PICPRO FIRMWARE DIRECTORY
There are several other firmware and memory configuration .HEX
files in the PiCPro Firmware directory.
- Firmware files are provided for updating Ethernet and
SERCOS modules.
- If you need to upgrade the firmware in the
Ethernet module (either the PiC rack module or
the standalone MMC option module), use the
TCPIP03.HEX file.
- If you need to upgrade the firmware in the SERCOS
module (either the PiC rack module or the
standalone MMC SERCOS configuration), use the
SERCO05.HEX file. DO NOT load this SERCOS
firmware file into an MMC for PC SERCOS
configuration. If you do, please reload
MMCPCS06.HEX.
- Memory Configuration Files are provided for configurable
memory in PiC94x or MMC for PC processors. (The following
memory sizes represent the approximate number of bytes.)
- For 512K application memory and 256K RAMDisk
memory, use the CON512.HEX file (this is the
factory default).
- For 640K application memory and 128K RAMDisk
memory, use the CON640.HEX file.
- For 384K application memory and 384K RAMDisk
memory, use the CON384.HEX file.
- For 704K application memory and 64K RAMDisk memory, use CON704.HEX.
- For 768K application memory and 0K RAMDisk memory, use CON768.HEX.
- For standalone MMC and MMC for PC processors, if you need
to clear out a ladder application that is not scanning
correctly, use the CLRAPP.HEX file.
- To clear the flash memory in the controller, use the
CLRFLASH.HEX file.
TUTORIALS
There are tutorials on the PiCPro CD. The tutorials demonstrate the features available in PiCPro for Windows Professional and Standalone MMC Editions.
MANUALS
The following manuals can be found in the folder
"Manuals" on your CD:
- 13.0 PiCPro Software Manual (PiCPro for Windows
Software Manual)
- 13.0 F-FB Ref (Function/Function Block Reference
Guide)
- 13.0 PiC900 Hardware Manual (PiC900 Hardware Manual)
- 13.0 MMC Hardware Manual (Standalone MMC Hardware
Manual)
- 2.0 MMC for PC Hardware Manual (MMC for PC Hardware
Manual)
- 2.0 Block I/O Modules Manual (Block I/O Modules
Manual)
They are .pdf files and can be opened, read, and printed using
Adobe Acrobat Reader. You MUST use Acrobat Reader 4.0 or newer.
It can be downloaded free of charge from Adobe at http://www.adobe.com/supportservice/custsupport/download.html.
If you would like to order a hard copy of any manual, call 1 800 558 4808 from within the US or 920 921 7100 from outside the US and Canada.
Part Numbers for the hard copies are:
- M.1301.0403 PiCPro for Windows Software Manual Version 13.0
- M.1301.0401 Function/Function Block Reference Guide Version 13.0
- M.1301.2289 PiC900 Hardware Manual Version 13.0
- M.1301.2244 Standalone MMC Hardware Manual Version 13.0
- M.1301.2309 MMC for PC Hardware Manual Version 2.0
- M.1301.0405 Block I/O Modules Manual Version 2.0
SOFTWARE NOTES
Minimum PC Requirements for connecting to:
- a PiC or Standalone MMC Controller:
- A 486 or Pentium processor with Windows 95, 98, NT4.0 or ME. Windows 2000 and Windows XP require a Pentium processor
- 32 MB of RAM, minimum; 64 MB or more of RAM recommended (Windows XP requires a minimum of 64 MB)
- 800 x 600 or higher, 256 or higher color recommended
- Typically 60 MB of hard disk space required
- RS232 port (COM1 or COM2)
- an MMC for PC Controller:
- A 133 MHz Pentium processor with Windows NT4.0, Windows 2000 or Windows XP with PCI network card (ISA network card is not recommended)
- 64 MB of RAM, minimum; 128 MB or more of RAM recommended
- 800 x 600 or higher, 256 or higher color recommended
- Typically 60 MB of hard disk space required
- Winsock 2.2 required. Most newer computers or operating
system software (such as Windows 2000 or Windows XP) use this file.
Newer Winsock.dll versions can be located on the
Microsoft website if needed. If Winsock 2.2 is not
installed, a message will be displayed when PiCPro is
started.
- During installation there is a field to enter a serial
number. This field requires 1 alpha character followed by
5 digits. For example, a12345. It is recommended that you
enter the serial number from your registration card.
- It is highly recommended that you Rebuild all UDFBs and
servo setup files in your system before using
version 13.0. If they aren't recompiled, there could be
problems with operation. If the source files aren't
available, get the source files or a new compiled library
from whoever wrote the program.
- PiCPro defaults to serial communications on restarting
unless you were connected to a local MMC for PC.
- Use the DOS 8.3 format naming convention for Project
compressed files if you will be saving those on FMSDISK.
- Do NOT move, rename, replace, or delete PiCPro Library
files (.LIB) from outside of PiCPro while PiCPro is
running. If you do this, you MUST open the Libraries
dialog (File|PiCPro Libraries)
and click on the OK button to rescan the Library
files; otherwise unpredictable results may occur. After
rescanning, close and reopen all open files.
BEFORE RUNNING PiCPro for Windows V13.0
- It is helpful to have your extensions appear on your
files. Ensure that Windows Explorer is setup to display
three-letter extensions on all filenames. Follow these
steps to do this:
In Windows 95/98/NT:
- Right click My Computer or the Start menu and
choose either Open or Explore.
- Click View | Folder
Options in the window's
menu bar. The Options box appears. Click on the View
tab and choose "Show all
files" and uncheck "Hide file extensions
for known file types.".
- Click OK. Your extensions will now appear
on your files.
In Windows 2000/ME/XP:
- Right click My Computer or the Start menu and
choose either Open or Explore.
- Click Tools | Folder Options
in the window's menu bar. The Options box
appears. Click on the View tab and uncheck
"Hide file extensions for known file
types". (In Windows XP uncheck "Hide extensions for known file types".)
- Click OK. Your extensions will now appear
on your files.
- If you are opening an .LDO file created in the DOS
version of PiCPro in this PiCPro for Windows version, you need to establish the library path before you attempt to run your ladder program. Follow these steps to do this:
- In PiCPro, choose File | PiCPro Libraries
from the menu bar.
- Click Add.
- Locate the library directory in the Browse for
Folder dialog.
- Click OK in the Browse for Folder dialog
to accept your selection.
- Click OK in the PiCPro Libraries box to
define the path.
After installation is completed, but before you run
PiCPro, modify the properties of your virus scanning
program and exclude any *.tmp files in your Windows
temporary directory. For example, temporary files are
usually found in \WINDOWS\TEMP or \WINNT\TEMP directory.
You would add this directory to the exclude list in your
virus scanning program's properties. (This prevents any
confusion for the scanning program when you compile a
binary file in PiCPro that might resemble virus binary
sequences.)
If you want to open a ladder by clicking on the .LDO file
in Windows Explorer, and it does not start PiCPro, you
will have to follow these steps after installing a new
version of PiCPro so that the application can be found:
In Windows 95/98/NT:
- In Windows Explorer, choose View
| Folder Options.
- Click on the File Types tab.
- Find the PiCPro Ladder Document in the
list and double click to edit it.
- Click on Edit.
- Click on Browse and
find the location of your PiCPro.exe (default
installation location is C:\Program
Files\Giddings & Lewis\PiCPro for
Windows...).
- Select Open.
- Select OK.
- Select Close.
- Repeat Steps 3 to 7 for all PiCPro file types
(srv, src, prj).
In Windows 2000/ME/XP:
- In Windows Explorer, choose Tools
| Folder Options.
- Click on the File Types tab.
- Find the PiCPro Ladder Document in the
list and click on it.
- Click on Change....
- Click on Other... in Windows 2000/ME or click on Browse... in Windows XP. Find the location of
your PiCPro.exe (default installation location is
C:\Program Files\Giddings & Lewis\PiCPro for
Windows...).
- Select Open.
- Select OK.
- Select Close.
- Repeat Steps 3 to 7 for all PiCPro file types
(srv, src, prj).
Fixes in PiCPro V12.0 SP2
PiCPro Changes:
- Corrected a problem with the display of update rate on the digitizing
position loop data page where if the value was 1, the combo box would
display 16.
- Added menu item for the new Block I/O module - Input/Output
Analog (4AI 4 AO).
- Corrected a crash in SERCOS Setup that occurred when accessing an
entry in a drive IDN file that contained an empty units field (field 4).
- Corrected a problem in Ladder compiler that caused a premature
"Out of memory" error message condition.
- A change was made to prevent the Ladder compiler from causing
PiCPro to crash. This crash would occur only under very rare and
unique conditions that involved a unique combination of Data In/Out's
along with the width of the network.
Motion.lib Changes:
- Corrected a problem that generated a "SERCOS Synchronization
Error" when running 17 or more SERCOS axes on a PiC control
configured so that only 1 or 2 of the highest numbered axes are on a
separate SERCOS module from the other SERCOS axes.
- Corrected a problem that generated a "SERCOS Synchronization
Error" when running SERCOS axes and analog interface axes
together on a PiC where the analog interface axes are running at a
faster update rate than the SERCOS axes.
- Corrected a problem that generated error #3 from a SCS_RECV or
SCS_SEND function block without ever setting the REQ input high. This
problem would only occur when the function block was scanned prior to
the completion of SC_INIT.
Firmware Changes:
- Corrected a problem in SERCOS for the MMC for PC. Cyclical data was
corrupted when an STR2NUM function was used to convert the string to
a LINT, REAL, or LREAL.
- Changes were made to support the first correction listed under
"Motion Library Changes".
Fixes in PiCPro V12.0 SP1
PiCPro Changes:
-
Calc Defaults changes. Defaults will no longer be calculated that
will result in a compile error.
- Profibus module items have been added to hardware declarations.
- Under some scenarios, animating a UDFB that was declared in one
of the two expanded data segments will cause animation data in
another window to be wrong. Example: Open and animate a main ladder.
Open and animate a UDFB within the main ladder that is declared in
another data segment. Scroll the UDFB and then go back to the main
ladder and scroll the main ladder. Animation in the main ladder is wrong.
- SERCOS Position Error Cyclic Update Offset Information:
- Position Error Cyclic Update Offset is available and will be set to 0
for all SERCOS servo axes when reading a file created/modified in
V12.0 and prior versions.
- The SERCOS Page has been modified to allow Position Error Cyclic
Update Offset to be changed.
- Position Error Cyclic Update Offset information will be written
to the library when a servo function is compiled. The internal
version of the library has not changed.
- The version of SRV files containing SERCOS axes has changed. SRV
files saved in V12.0-SP1, that contain SERCOS axes, cannot be opened
in V12.0 and prior versions of PiCPro unless Save As is used
and an alternate Save As option is selected. In this case, an
option for V12.0 has been added to the Save As type drop down list.
-
Ladder Configurable I/O cannot be selected when the CPU is set to
PiC900 Turbo 2.
- In software declarations, the '?' help button will bring up the
correct help based on the mouse/column position. Before this fix,
help was being returned for the column with the active focus and not
the cell containing the mouse position.
- Leading spaces are being stripped that may have been entered
before a valid IP address. The parser was interpreting this as a
destination IP of 0.0.0.0 that would cause a communications failure.
- PiCPro now works in a dual processor environment. Before this
fix, communication timeouts would occur.
- Servo Setup and SERCOS Setup now support up to 32 SERCOS slaves
on a ring for the MMC for PC SERCOS control. The PiC and MMC still
have a maximum of 8 SERCOS slaves on a ring.
- Compatible with Windows Millennium Edition (ME).
Motion.lib Changes:
- MMC for PC Analog only: Fast Reference or Registration may fail to
see the fast input. Resetting the power on the ASIU was required to
work around this issue. A code change was made to avoid this.
- MMC for PC SERCOS only: If a ladder with a high axis count (15
axes) calls a motion function immediately after CLSLOOP? energizes
its CLSD output, it's possible that the motion function would fail to
queue the move and no programming error would be generated. A change
was made to CLSLOOP? to ensure this won't happen.
- The SERCOS slave number returned with SERCOS errors 128, 136, and
144 would be incorrect for any slave number greater than 8. This
issue has been corrected.
- The approximate position error of a SERCOS axis displayed in the
Servo View List or returned by READ_SV(variable 4) may show an
excessive difference between its value and the value of the actual
position error in IDN S189 in the SERCOS drive. A better
approximation is now used to keep this difference at a minimum. With
a SERCOS axis, the control's approximate position error is only used
for display (READ_SV and Servo View List), In-Position calculations,
and Excess Following Error calculations.
- Different SERCOS drives use a different number of update cycles
to accept a command position and return an actual position. This
number of update cycles affects the accuracy of the approximate
position error in the control. Therefore, a "Position Error
Cyclic Update Offset" input value was added to PiCPro's Servo
Setup Axis Properties window to allow the user to optimize the
position error approximation for the SERCOS drive being used. A
default value of zero provides the optimum approximation for a
Centurion drive. If a different drive is used, the user may want to
change this number (within the range of [-5,2]) to achieve a more
accurate position error approximation in the control. Reducing the
number will increase the approximate position error value. Increasing
the number will reduce the approximate position error value. With a
SERCOS axis, the control's approximate position error is only used
for display (READ_SV and Servo View List), In-Position calculations,
and Excess Following Error calculations.
- A fix was made for referencing a resolver axis. The functions
LAD_REF or FAST_REF will reference incorrectly if the reference
occurs at a position in the negative direction from where the axis
was initialized.
- The MOTION.lib now supports up to 32 SERCOS slaves on a ring for
the MMC for PC SERCOS control. The PiC and the MMC still have a
maximum of 8 SERCOS slaves on a ring.
IO.lib Changes:
-
A change was made to correct an issue with PIC900 stepper I/O
modules. An error was being returned to ladder function blocks for
steppers, indicating a block I/O error, even when block I/O was not
being used. This fix does not affect block I/O stepper modules.
FBINTER.lib Changes:
-
Modifications have been made to FB_NET.A48 to add a heartbeat trigger
and event to the UCS module communications to address an issue caused
by excessive EMI. This change affects both PROFIBUS and DEVICENET.
Firmware Changes:
-
A change was made to correct an issue with the flash ladder on MMC
for PC.
- A change was made to correct an issue with the reset of ASIUs.
- Changes have been made to improve serial PiCPro communications
over modems.
- There was an issue with SERCOS on the MMC for PC only. Slave
errors could be returned with the wrong encoding of error number and
slave number. This has been corrected.
- A control "lock up" or scan loss issue on all 486
processors has been corrected.
- The firmware now supports up to 32 SERCOS slaves on a ring for
the MMC for PC SERCOS control. The PiC and the MMC controls still
have maximum of 8 SERCOS slaves on a ring.
THINGS TO CONSIDER WHEN CONVERTING AN APPLICATION FROM ONE CPU TYPE
TO ANOTHER
IPSTAT
The Ethernet functions for a PiC or standalone MMC do not require the IPSTAT function because those CPU models have an external Ethernet Module. An MMC for PC ladder with Ethernet functions will require the IPSTAT function for its connection to the host operating system. NOTE: IPSTAT will always return OK for a PiC or standalone MMC. OK will be returned whether the reset input is on or off.
A_INCHRD or A_IN_MMC
A PiC or MMC for PC ladder with an A/D input requires A_INCHRD.
A standalone MMC with an A/D input can use A_IN_MMC or A_INCHRD.
I/O Points
All non Block I/O points should be checked. (Block I/O points are not affected by a change in CPU type.)
Servo and SERCOS Setup
Any servo or SERCOS setup functions used must be opened, converted to the new CPU type, and compiled.
Serial Port Functions
When converting a ladder to an MMC for PC, all serial port functions must be removed. (For example, OI_SER, etc.)