DISCLAIMER:
All programs in this release (application examples, application specific function blocks (ASFBs), etc.) are provided "AS
IS, WHERE IS", WITHOUT ANY WARRANTIES, EXPRESS OR IMPLIED. There may
be technical or editorial omissions in the programs and their
specifications. These programs are provided solely for user
application development and user assumes all responsibility for their
use. Programs and their content are subject to change without notice.
TECHNICAL SUPPORT
For technical support call Giddings & Lewis at 1 800 558 4808 or 1 920 921 7100 and press 4 to speak to an engineer or send an e-mail to tech.support@ac.giddings.com.
Two new Application Specific Function Blocks have been added to support up to 32 SERCOS slaves on a ring for the MMC for PC control.
NOTE: These functions cannot be used without PiCPro for Windows V12.0-SP1.
In this situation, it is recommended that the directory path to the libraries provided by the OPC Server installation be removed from the PiCPro library list (both in the default list for PiCPro and the library list defined in each project). The OPC Server's copies of these files must be considered obsolete.
To resolve the duplication, run PiCPro from Windows and select the File | PiCPro Libraries... menu to remove the unnecessary reference to the OPC Server ASFB directory. For each project that uses the OPC Server ASFBs, select the PiCPro Library Paths for the project and select Modify from its right-click menu. Within the subsequent dialog, remove the OPC Server ASFB directory.
CONTENTS OF APPLICATIONS VERSION 12.0-SP1.1
This release contains the Motion ASFBs, General ASFBs, Ethernet ASFBs
and Example Applications for the standalone MMC and the MMC for PC.
Version 12.0-SP1.1 manuals are not available. Hard copy of version 12.0.1 manuals are available.
If you would like to order a hard copy of any manual, call PiC Sales at 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:
There were no changes to the General or Ethernet ASFB manuals between V11.0.2 and V12.0.1.
Section 4 of the MMC tutorial covers the applications examples.
The PiCPro for Windows Applications 12.0-SP1.1 can be used with either PiCPro for Windows V12.0-SP1 (or higher) Professional or Standalone MMC Editions. The Examples folder has example projects for each edition of PiCPro.
The default folders when installing Applications are:
C:\Program Files\Giddings & Lewis\Applications V12.0-SP1.1\ASFB
C:\Program Files\Giddings & Lewis\Applications V12.0-SP1.1\Examples
C:\Program Files\Giddings & Lewis\Applications V12.0-SP1.1\Tools
Note: You should not put any other files or applications into these folders.
The ASFB folder contains the Motion, General and Ethernet ASFBs.
The Tools folder contains the ServoSetupAssistant spreadsheet.
The Examples folder contains 8 standalone MMC examples or starter ladders and several simple examples for the Motion, General and Ethernet ASFBs. There are also 3 MMC for PC examples or starter ladders included, although these cannot be downloaded using the Standalone MMC Edition.
The following is a description of how the examples are named.
MMCxxxxx | Standalone MMC Application Example. |
MPCxxxxx | MMC for PC Application Example. |
SRCxxxxx | SERCOS Setup Example. |
SRVxxxxx | Standalone MMC Servo Setup Example. |
SRVPxxxx | MMC for PC Servo Setup Example. |
ZSRCMMC | SERCOS Setup Example Library. |
ZSRVMMC | Servo Setup Example Library. |
xxxxxx.CPA | Cimrex Operator Interface Application Example. |
xxxxxx.GLC | G&L DeviceNet Scanner Configuration Example. |
M_xxxxxx | Motion ASFB Example. |
G_xxxxxx | General ASFB Example. |
E_xxxxxx | Ethernet ASFB Example. |
U_xxxxxx | MMC Application Example UDFB. |
The following is a brief description of each standalone MMC example (or starter ladder).
MMC2_EX. This example can be used as a starting point for a 2 axis application. It contains the logic required to initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. This example does not have any operator interface support. All of the machine functions are performed with discrete I/O.
MMC2_OI. This example can be used as a starting point for a 2 axis application. It contains the logic required to initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. This example uses a Cimrex 30 or Cimrex 20 as an operator interface. The Cimrex applications are called MMC2_C30 and MMC2_C20 (for the Cimrex 30 or Cimrex 20 units respectively).
MMC4_PT. This example shows how to apply the press transfer application specific function blocks. It contains the logic required to initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. It also contains logic to configure and run the specified slave profile(s). This example uses a Cimrex 30 as an operator interface. The Cimrex application is called M4PT_C30.
MMC_STEP. This example shows how to apply the stepper block I/O module. It contains the logic required to initialize the stepper block and to control it. A single UDFB (U_STPRC) provides the control logic for a stepper axis. The features supported by the UDFB include home (zero reference), jog, move a distance, move to a position, control-stop, emergency-stop and c-stop/e-stop reset.
MMC_DND. This example shows how to apply the Centurion DeviceNet Positioning MicroDSM drive. It contains the logic required to initialize and run the DeviceNet network. Two UDFBs provides the control logic for a DeviceNet axis to jog, move a distance or move to a position. A third UDFB provides the DeviceNet scanner status details. This example ladder and DeviceNet configuration are both referenced in the MicroDSM with DeviceNet installation manual.
The following is a brief description of each MMC for PC example (or starter ladder).
MPC4_EX. This example can be used as a starting point for a 4 axis application. It contains the logic required to initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. This example does not have any operator interface support. All of the machine functions are performed with discrete I/O. This example is almost identical to MMC4_EX.
MPC4_OI. This example can be used as a starting point for a 4 axis application. It contains the logic required to initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. This example uses a Cimrex C30 with an Ethernet module as an operator interface. The Cimrex application is called MPC4_C30. This example is almost identical to MMC4_OI.
MPC4_SOI. This example can be used as a starting point for a SERCOS application having an operator interface device. It contains the logic required to initialize the SERCOS configuration, initialize the servo axes, close the servo loops, jog an axis, and home an axis. It also contains basic E-Stop and C-Stop logic. This example uses a Cimrex C30 with an Ethernet module as an operator interface. The Cimrex application is called MPC4_SC30. This example is almost identical to MMC4_SOI.
Note: for both of the MMC for PC with Cimrex examples, there will usually be a configuration change required before either works. The Cimrex configuration file calls out the Ethernet connection to the MMC for PC. However, the correct TCP/IP address of the PC hosting the MMC for PC is unknown. The actual host address must be verified in the Cimrex configuration before it is downloaded to the Cimrex unit.
The ASFB folder contains the Motion, General and Ethernet ASFBs.
STARTING A NEW MMC APPLICATION FROM AN MMC EXAMPLE
The following is a description of how to start a new application from
a standalone MMC example.
To use one of the examples as a starting point for your application follow the steps below. The following procedure will use the MMC4_EX Professional Edition Project as the starting point. The target application will be called NEW_APPL and the servo setup library will be ZNEWAPPL; other appropriate names can replace these used in this procedure. The same steps can be followed with the PiCPro Standalone MMC Edition.
The purpose of each example is to provide a foundation for a customer's own application. As mentioned above, each provides all the basic features of most applications:
Which example is the best starting point depends on the specific
application: how many servo axes are required and will an operator
interface device be used?
Basic Application Examples
The following is a description of the two examples that lack an
operator interface. They are MMC2_EX for a 2 axis MMC and MMC4_EX
for a 4 axis MMC.
The initial network with the STRTSERV function loads the servo setup configuration. Each example ladder includes a servo setup example (such as SRV2_EX for a 2 axis MMC or SRV4_EX for a 4 axis MMC). Each application must have its own servo setup configuration. Typically, this configuration is unique for every application as each could have different ratios of programming units (i.e., inches, millimeters, degrees, etc.) to the servo feedback units, different travel limits, different servo PID gains, etc.
The M_CHK1 and M_CHK49 function blocks check which axes are configured within the loaded servo setup. These blocks make it easier to write sections of ladder code that support different numbers of axes; by checking the Booleans set here, the appropriate actions can be taken based on the axes that are configured.
The M_CLOS1 function blocks will close the position loops for the configured servo axes. This action also includes resetting any internal e-stop or c-stop servo conditions (a servo e-stop will open the position loop).
The M_STATUS and M_ERROR function blocks provide all the significant data for the servos in one place within the ladder. If the application is using the digitizing axis available with the MMC, there is a network that checks that axis for an e-stop condition (that can result from a 'loss of feedback' hardware error).
The STATUSSV functions provide the ladder with information regarding the state of the respective servo fast inputs. Each axis has a DC input provided with a 'fast input' capability - so that (when enabled) the axis can latch the axis position at the instant the DC input occurs, based solely on the input condition rather than on the ladder scan time.
The network with the ESTOPACT coil monitors for an emergency stop (or e-stop) condition. The purpose for this network is to ensure that if an e-stop condition is detected, all the servo axes will be e-stopped immediately.
The network with the CSTOPACT coil monitors for a controlled stop (or c-stop) condition. The purpose for this network is to ensure that if a c-stop condition is detected, all the servo axes will be c-stopped immediately.
The networks with the GEN_IO and AUX_IO labels provide a simple way to view all the MMC discrete input and output conditions using the ladder animation.
The subsequent networks provide support for jogging and homing the axes. When jogging, only one axis can be selected and it can jog in one of three modes: at a constant velocity, to a specific incremental distance, or as a follower to a handwheel. Note that jogging will stop when a travel limit is reached because an e-stop will occur (in the ESTOPACT's coil network). However, if the Machine Start push-button is being pushed at the same time as the jog button, the operator can jog off a specific over-travel. For instance when in velocity mode, if the axis is on the plus over-travel switch, the axis cannot jog in the plus direction but it can jog in the minus direction.
The last networks in the basic examples provide support for the
referencing (or homing) of the servo axes. The M_FHOME function
block supports a homing sequence for the axis using the axis fast
input as the reference switch. The M_LHOME function block supports a
homing sequence for the axis using a specific discrete input as the
reference switch. Both function blocks are provided for each servo
axis in the ladder with M_FHOME actually connected to the rail. If
the M_LHOME functionality is desired, then its code fragment (the
function block and the surrounding elements) can be cut and pasted
over the M_FHOME area.
Operator Interface Application Examples
The examples having operator interface support (MMC2_OI and MMC4_OI)
have more ladder logic than the basic examples. Early in the ladder,
the OI_SER function block enables the MMC variables (in the main
ladder) that are given the G (global) attribute to be shared with the
operator interface device (typically a Cimrex terminal) connected via
an RS232 serial connection. Note that the global attribute is also
used when the MMC is connected to an external PC via the Ethernet
module and the MMC shares its data with the PC using the OPC Server
technology.
There are a number of networks that update the state of the ALARM() Boolean array. This array is used to provide immediate indicators to the operator interface device regarding specific ladder conditions.
After the axis jogging and homing section of the ladder, there are several networks involved with the saving and retrieval of the axis setup data using a RAMDISK file. Rather than having the various motion rates or reference positions hard coded within the ladder logic, they can be set by the operator and saved in a RAMDISK file, AXSETUP.DAT.
The examples conclude with a few networks that are the basis for
supporting other Cimrex features: trending or graphing and the
control of the LEDs.
SERCOS Drive Interface Application Example
There is an example provided for the 8 axis SERCOS MMC unit. This
example (MMC4_SOI) is an extension of the 4 axis MMC example with an
operator interface. For the support of the SERCOS drives, several
different ASFBs are used.
At the start of the ladder logic, the SC_INIT function initializes the SERCOS ring connected to the MMC. Each SERCOS application must have its own SERCOS setup configuration. The example uses SRC_MMC4 for its 4 SERCOS axis configuration. For an actual application, this SERCOS setup function must be replaced with the actual SERCOS setup configuration. The programmer's steps to do that are very similar to those for replacing the servo setup, except that steps 7 through 10 in the above procedure (when STARTING A NEW APPLICATION FROM AN EXAMPLE) are done with SERCOS setup, not servo setup. The example uses SRV_MMC4 for its servo setup configuration. For an actual application, this servo setup function must be replaced with the actual servo setup configuration, as previously described.
The S_CLOS1 function block will close the position loop for the configured SERCOS axes. This ASFB is different for SERCOS axes because the SERCOS drive itself might have error conditions to reset before the position loop can be closed.
The S_ERRORC function block provides all the significant error information for a specific SERCOS axis. This ASFB is different than M_ERROR because a SERCOS axis has additional error information.
The S_FHOME and S_LHOME function blocks provide support for the referencing of the SERCOS axes. They are different than M_FHOME and M_LHOME because the latching of the reference position is done within the SERCOS drive.
The S_IO_C function block is unique to a Centurion SERCOS drive
application because the additional discrete input and output points
at the SERCOS drive can be made available to the ladder.
Press Transfer Application Example
There is an example provided for the press transfer ASFB set within
the motion ASFB package. This example (MMC4_PT) is an extension of
the 4 axis MMC example with an operator interface. There is a detailed
'readme' file for this example's user interface and the accompanying
ladder logic; that file is MMC4_PT.TXT.
Stepper Application Example
There is an example provided for the stepper block I/O module. This
example (MMC_STEP) is a simple ladder to illustrate the control logic
for a stepper module.
The UDFB U_STPRC handles the overhead required for a stepper control.
This UDFB handles the stepper home or zero reference, jog, move a
distance, move to a position, controlled-stop, emergency stop, and
a reset of a c-stop or e-stop.
Centurion DeviceNet Positioning MicroDSM Drive Application Example
There is an example provided for the Centurion DeviceNet MicroDSM
drive. This example (MMC_DND) is a simple example to illustrate
the logic to control the DeviceNet scanner and to control the
DeviceNet drive over DeviceNet.
The ASFB M_DNJOGC handles the overhead required for the jog motion. The ASFB M_DNPOSC handles the overhead required for the motion of either a move of an incremental distance or a move to an absolute position. Note that both of these ASFBs are for the Centurion DeviceNet MicroDSM drive. Other DeviceNet drives will have their own unique DeviceNet interface (i.e., the respective boolean, byte and long-word tag name assignments in the scanner's memory map).
The ASFB M_DNSTAT extracts the details for the DeviceNet module status into individual bytes and booleans.
This example ladder is referenced in the MicroDSM with DeviceNet installation manual. It serves as the programming example for the MicroDSM with DeviceNet drive. The MMC_DND.GLC DeviceNet scanner's configuration data file is also referenced in the same drive manual to illustrate how to define the tag names for the DeviceNet drive's input and output data.