FANUC Series 30+-MODEL B
FANUC Series 31+-MODEL B
FANUC Series 32+-MODEL B
FANUC Series 35+-MODEL B
FANUC Power Motion +-MODEL A
FANUC Series 0+-MODEL F
PMC
PROGRAMMING MANUAL
B-64513EN/03
Page 2
• No part of this manual may be reproduced in any form.
• All specifications and designs are subject to change without notice.
The products in this manual are controlled based on Japan’s “Foreign Exchange and
Foreign Trade Law”. The export from Japan may be subject to an export license by the
government of Japan.
Further, re-export to another country may be subject to the license of the government of
the country from where the product is re-exported. Furthermore, the product may also be
controlled by re-export regulations of the United States government.
Should you wish to export or re-export these products, please contact FANUC for advice.
The products in this manual are manufactured under strict quality control. However, when
using any of the products in a facility in which a serious accident or loss is predicted due to
a failure of the product, install a safety device.
In this manual we have tried as much as possible to describe all the various matters.
However, we cannot describe all the matters which must not be done, or which cannot be
done, because there are so many possibilities.
Therefore, matters which are not especially described as possible in this manual should be
regarded as ”impossible”.
Page 3
B-64513EN/03SAFETY PRECAUTIONS
SAFETY PRECAUTIONS
DEFINITION OF WARNING, CAUTION, AND NOTE
This manual includes safety precautions for protecting the user and preventing damage to the machine.
Precautions are classified into Warning and Caution according to their bearing on safety. Also,
supplementary information is described as a Note. Read the Warning, Caution, and Note thoroughly
before attempting to use the machine.
WARNING
Applied when there is a danger of the user being injured or when there is a
danger of both the user being injured and the equipment being damaged if the
approved procedure is not observed.
CAUTION
Applied when there is a danger of the equipment being damaged, if the
approved procedure is not observed.
NOTE
The Note is used to indicate supplementary information other than Warning and
Caution.
•Read this manual carefully, and store it in a safe place.
s-1
Page 4
SAFETY PRECAUTIONSB-64513EN/03
GENERAL WARNINGS FOR CNC APPLICATION DEVELOPMENT
WARNING
Be careful enough for the following warnings when you develop two or more
applications or use networks.
If you neglect them, there is a danger of the user being injured or there is a danger
of both the user being injured and the equipment being damaged.
1 Be careful enough if you write an identical NC data, an identical PMC data or a
series of related data set by two or more above applications including network
functions. Because they are executed based on each individual cycles (in other
words, asynchronous cycles), there is a possibility that the data will be written in
an unexpected order.
Therefore, do NOT write above data in the following cases.
- Applications and network functions
- Two or more applications
- Two or more network functions
Data, applications and network functions of interest are listed in below. However,
all may not be listed completely because new features will be added in the
future.
2 Be careful enough that you must prevent PMC signals in the same byte from
being written by the following two or more applications including network
functions. While an application reads and writes one byte of PMC signals, other
applications may write the same byte.
3 Be careful enough if you process a PMC signal set that is related to a NC
function by using the following two or more applications including network
functions. Because they are executed based on each individual cycles (in other
words, asynchronous cycles), there is a possibility that the NC may receive the
PMC signal set in an unexpected order.
4 Generally, when multi-byte data are read or written at once among the following
two or more applications including network functions, the coherency of the read
multi-byte data (in other words, reading all latest data at once) is not guaranteed.
To ensure the coherency of the multi-byte data, prepare flags to notify the
completion of reading or writing process that is separated from the entity of the
data and make the handshaking process to access the data by using the flags.
s-2
Page 5
B-64513EN/03SAFETY PRECAUTIONS
Data List Table
Category Data
Parameter, Tool compensation value and related data,
Work zero offset value and related data,
Workpiece coordinate system shift value and related data,
General data for NC
PMC data PMC signal, PMC parameter
Data for Laser,
Punch press or Wire
cut
Other data Parameters for Data Server, Parameters for network setting
Macro variable, P-CODE variable, Program and related data,
Tool management function data, Tool life management data,
Error compensation related data,
Overtravel check (Interference check) related data,
Software operator’s panel related data
Tool data for punch press and related data, Safety zone data and related data,
Laser cutting condition data and related data, Laser oscillator setting data and
related data, Wire consumption compensation data, Guide position
compensation data, Workpiece leveling data
List Table of Applications and Network Functions
Category Functions
Applications
Network functions
PMC Ladder, Macro Executor, C Language Executor, FANUC PICTURE,
FOCAS2
FL-net, EtherNet/IP, PROFINET, Modbus/TCP, PROFIBUS-DP, DeviceNet,
CC-Link
5 CNC has functions that read or write PMC signals in other than the G/F address.
Be careful enough if the above mentioned applications and network read or write
PMC signals used by these functions. When reading or writing the same PMC
signal, applications or CNC functions may work in an unexpected manner. For
details of these CNC functions, refer to “APPENDIX C”.
s-3
Page 6
SAFETY PRECAUTIONSB-64513EN/03
GENERAL WARNINGS OR NOTES FOR LADDER PROGRAM
WARNING
1 If the ladder program is stopped while the machine is operating, the machine
may behave in an unexpected working. Before stopping the ladder program,
ensure that there are no people near the machine and that the tool cannot
collide with the work piece or machine.
Otherwise, there is an operator’s extreme risk of death or serious injury, and
tool, work piece, and machine may be damaged.
2 You have to pay special attention to modify running the ladder program. If you
modify the ladder program in wrong way, or update the ladder program with the
machine in improper status, it may cause unexpected working of the machine.
You have to make it sure that modifications you make on the ladder program is
appropriate, the machine is in proper status, and nobody is near the machine,
when you update the ladder program.
3 If macro variables, NC parameters, tool offsets, and etc. which can influence
working of machine, are written with the PMC window instructions, the machine
may behave in an unexpected working. You have to make it sure that the writing
of these data is safety and proper, when modifying these data with the
instructions.
The NC Data are listed in below. However, all may not be listed completely
because new features will be added in the future.
Category Data
Parameter, Tool compensation value and related data,
Work zero offset value and related data,
Workpiece coordinate system shift value and related data,
General data for NC
Macro variable, P-CODE variable, Program and related data,
Tool management function data, Tool life management data,
Error compensation related data,
Overtravel check (Interference check) related data,
Software operator’s panel related data
NOTE
Ladder programs, PMC parameters, Multi-language message data and I/O
configuration data (I/O Link i assignment data) are stored in non-volatile memory
in the CNC unit. Usually, they are retained even if the power is turned off. Such
data may be deleted by misoperation, however, or it may prove necessary to
delete all data from non-volatile memory as part of error recovery. To guard
against the occurrence of the above, and assure quick restoration of deleted
data, backup all vital data, and keep the backup copy in a safe place.
4.6.1 TBLRB (Reading Data from Table (1 Byte Length) : SUB 233)
TBLRW (Reading Data from Table (2 Bytes Length) : SUB 234)
TBLRD (Reading Data from Table (4 Bytes Length) : SUB 235).......................330
4.6.2 TBLRN (Reading Data from Table (Arbitrary Bytes Length) : SUB 236)..........333
4.6.3 TBLWB (Writing Data to Table (1 Byte Length) : SUB 237)
TBLWW (Writing Data to Table (2 Bytes Length) : SUB 238)
TBLWD (Writing Data to Table (4 Bytes Length) : SUB 239) ...........................336
4.6.4 TBLWN (Writing Data to Table (Arbitrary Bytes Length) : SUB 240) ..............339
4.6.5 DSEQB(Searching Data from Table(=)(1 Byte Length):SUB 241)
DSEQW(Searching Data from Table(=)(2 Bytes Length):SUB 242)
DSEQD(Searching Data from Table(=)(4 Bytes Length):SUB 243)
DSNEB(Searching Data from Table(≠)(1 Byte Length):SUB 244)
DSNEW(Searching Data from Table(≠)(2 Bytes Length):SUB 245)
DSNED(Searching Data from Table(≠)(4 Bytes Length):SUB 246)
DSGTB(Searching Data from Table(>)(1 Byte Length):SUB 247)
DSGTW(Searching Data from Table(>)(2 Bytes Length):SUB 248)
DSGTD(Searching Data from Table(>)(4 Bytes Length):SUB 249)
DSLTB(Searching Data from Table(<)(1 Byte Length):SUB 250)
DSLTW(Searching Data from Table(<)(2 Bytes Length):SUB 251)
DSLTD(Searching Data from Table(<)(4 Bytes Length):SUB 252)
DSGEB(Searching Data from Table()(1 Byte Length):SUB 253)
DSGEW(Searching Data from Table()(2 Bytes Length):SUB 254)
DSGED(Searching Data from Table()(4 Bytes Length) :SUB 255)
DSLEB(Searching Data from Table()(1 Byte Length) :SUB 256)
DSLEW(Searching Data from Table()(2 Bytes Length) :SUB 257)
DSLED(Searching Data from Table()(4 Bytes Length) :SUB 258) ..................342
4.6.6 DMAXB (Maximum Data (1 Byte Length): SUB 259)
DMAXW (Maximum Data (2 Bytes Length) : SUB 260)
DMAXD (Maximum Data (4 Bytes Length) : SUB 261) ....................................346
4.6.7 DMINB (Minimum Data (1 Byte Length): SUB 262)
DMINW (Minimum Data (2 Bytes Length): SUB 263)
DMIND (Minimum Data (4 Bytes Length): SUB 264) .......................................349
The programmable machine controller (PMC) is a programmable controller (PC) built into a CNC to
perform sequence control for a machine tool (spindle rotation, tool change, machine operator's panel control,
and so on).
Sequence control is to perform control steps successively in a predetermined sequence or according to the
logic operation.
Programs for performing sequence control for machine tools are called sequence programs. Generally,
sequence programs coded in the Ladder language are used.
1.1.1 Basic Configuration of PMC
The following is the basic configuration of the PMC:
CNC
PMC
Machine
Internal
I/O
Fig. 1.1.1 Basic configuration of PMC
The sequence program reads input signals, performs operations, and outputs results in a predetermined
sequence.
Sequence
program
Internal r elay
External
I/O
Sign al inp u t to
Signal out put from PMC
1.1.2 I/O Signals of PMC
Input signals of the PMC include signals input from the CNC (such as M and T function signals) and signals
input from the machine (such as the cycle start button and feed hold signal button). Output signals of the
PMC include signals output to the CNC (such as the cycle start command and feed hold signal command)
and signals output to the machine (such as turret rotation and spindle stop). The PMC controls these I/O
signals by executing a sequence program to control the machine tool.
- 1 -
Page 28
1.OVERVIEW OF PMCB-64513EN/03
A
)
1.1.3 PMC Signal Addresses
PMC signal addresses indicate the locations of I/O signals exchanged with the machine, I/O signals
exchanged with the CNC, and signals for internal relays and data (PMC parameters) in nonvolatile memory.
PMC addresses are roughly classified as shown in Fig. 1.1.3 (a).
Signals
to/from CNC
F
G
PMC
X
Y
Signals
to/from
machine
(MT)
Nonvol at ile m emory
Internal relay ( R)
E xtra relay (E)
Fig. 1.1.3 (a) PMC-related addresses
(1) Varia ble timer (T)
(2) Counter (C)
(3) Keep relay (K)
(4) Data table (D)
(5) Extra relay (E)
(NO TE)
NOTE
Optionally, extra relays (E) may be assigned to nonvolatile memory locations.
The PMC signal address format consists of an address number and bit number (0 to 7) as follows:
Bit number (0 to 7)
ddress number (letter followed by decimal
number
Fig. 1.1.3 (b) PMC address format
The first letter of an address number represents the type of the signal.
In sequence programs, an address of a byte may be specified. In the above example, specify X127 to
specify a byte address. In this case, the period "." and bit number are unnecessary.
- 2 -
Page 29
B-64513EN/031.OVERVIEW OF PMC
Table 1.1.3 lists the address symbols and corresponding signals.
Table 1.1.3 Address Symbols and signal types
Symbol Signal type
F Input signal from CNC to PMC (CNC → PMC)
G Output signal from PMC to CNC (PMC → CNC)
X Input signal from machine to PMC (MT → PMC)
Y Output signal from PMC to machine (PMC → MT)
R Internal relay
E Extra relay
A Message display
T Variable timer
C Counter
K Keep relay
D Data table
M Input signal from another PMC path
N Output signal to another PMC path
L Label number
P Subprogram number
(1) Addresses of signals between the PMC and CNC (F and G)
These addresses are assigned to interface signals between the CNC and PMC. The relationships
between the signals and addresses are defined by the CNC.
F indicates an input signal from the CNC to PMC.
G indicates an output signal from the PMC to CNC.
(2) Addresses of signals between the PMC and machine (X and Y)
I/O signals exchanged with an externally connected machine can be assigned to any addresses within
an available range to control the machine.
X indicates an input signal from the machine to PMC.
Y indicates an output signal from the PMC to machine.
(3) Addresses of internal relays and extra relays (R and E)
These addresses are used to temporarily store operation results during sequence program execution
processing.
Optionally, E addresses may be assigned to nonvolatile memory locations.
The address locations of internal relays also include a reserved area used by the PMC system software.
The signals in the reserved area cannot be written by sequence programs.
(4) Signal addresses for message display (A)
Instruction “DISPB” used in sequence programs include instructions to display a message on the CNC
screen. These addresses are used by such instructions.
- 3 -
Page 30
1.OVERVIEW OF PMCB-64513EN/03
(5) Nonvolatile memory addresses
The contents of these address locations are not erased even when the power is turned off.
These addresses are used for management of the data items listed below. These data items are called
PMC parameters.
(a) Variable timer (T)
(b) Counter (C)
(c) Keep relay (K)
A reserved area used by the PMC system software is partly included.
(d) Data table (D)
(e) Extra relay (E)
Optionally, E addresses may be assigned to nonvolatile memory locations.
These addresses are used to temporarily store operation results during sequence program
execution processing.
(6) Multi-path PMC interface address (M, N)
These addresses are used to the Multi-path PMC interface.
M indicates an input signal from another PMC path.
N indicates an output signal to another PMC path.
(7) Other addresses
(a) Label number (L)
Sequence program instructions include an instruction to cause a jump to a specified position in
the middle of processing. This address indicates the jump destination used by this instruction.
The contents of L address cannot be read/written in sequence program.
(b) Subprogram number (P)
In sequence programs, a main program can call subprograms. P addresses indicate the numbers
of these subprograms. The contents of P address cannot be read/written in sequence program.
- 4 -
Page 31
B-64513EN/031.OVERVIEW OF PMC
1.2 WHAT IS LADDER LANGUAGE?
The Ladder language is one of sequence programming languages. This programming language, which
represents the sequence and logic operations of I/O signals by ladder diagrams, is widely used by sequence
control engineers. This language is mainly used for PMCs.
1.2.1 Ladder Diagram Format
Designers develop and see ladder diagrams in the design stage. However, other people (for example, many
maintenance engineers) have much more chances to see ladder diagrams than the designers of the ladder
diagrams have. Therefore, the designers should create ladder diagrams so that these diagrams are
intelligible to any one.
The following is the format of ladder diagrams:
Line No.
AddressSignal name (symbol name)
Net No.
The meanings of ladder diagram contents will be described later.
Comment
1.2.2 Signal Name (Symbol Name)
Symbol names representing I/O signal names can be assigned to PMC addresses. It is recommended that
signal names (symbol names) suitable for I/O signals be assigned as explained below.
(1) Signal names may consist of any alphanumeric characters and the special symbols. The number of
characters that can be entered varies depending on the PMC model. For the allowable number of
characters, see the table in Subsection 2.1.1.
(2) As the names of the signals between the CNC and PMC, use the signal names indicated in the address
table of the PMC without modifications.
(3) Some CNC signals are input from the machine or output to the machine. The names of these signals
are distinguished by prefixing X or Y to the names of signals between the CNC and PMC.
For example, a single block input signal is represented as XSBK by prefixing X, while a start lamp
output signal is represented as YSTL by prefixing Y.
- 5 -
Page 32
1.OVERVIEW OF PMCB-64513EN/03
The names of some signals between the CNC and PMC, however, exceed the maximum allowable
number of characters as a result of prefixing X or Y to the names. In such a case, delete the last
character of the signal name.
(*SECLP → X*SECL)
(4) The same signal name (symbol name) cannot be assigned to more than one signal address.
1.2.3 Comment
A comment can be added to each symbol in the symbol table so that it can be indicated as a comment on a
relay or coil in the sequence program. The number of characters that can be entered varies depending on the
PMC model. For the number of characters that can be entered, see the table in Subsection 2.1.1.
For all relays and coils that are output signals to the machine, add a comment to provide a detailed signal
explanation. For other auxiliary relays, provide explanations of the signals if these relays have significant
meanings in sequence control.
In particular for machine-related input signals, be sure to provide a detailed signal explanation as a
comment in the symbol table.
Add detailed comments to signals dedicated to the machine so that one can guess the meanings of these
signals just from the symbol names.
1.2.4 Graphic Symbols of Relays and Coils
Ladder diagrams use the following relay symbols:
Relays (contacts)
Instruction representation Function
-| |- Normally open contact (contact A)
-|/ |- Normally closed contact (contact B)
Coils
Instruction representation Function
-{- Coil
-{{- Negated coil
-(S)- Set coil
-(R)- Reset coil
These instructions perform a 1-bit operation and are called basic instructions.
In addition, there are functional instructions that enable easy programming of complicated operations for
processing byte, word, and double-word data, which are difficult to program just using basic instructions.
The symbol formats of the functional instructions are slightly different from instruction to instruction. For
details, see the description of each functional instruction in Chapter 4.
1.2.5 Line Number and Net Number
A line number is indicated in every line of ladder diagrams.
A continuous ladder circuit from a contact to a coil is called a net. A net number is also indicated for each
net.
- 6 -
Page 33
B-64513EN/031.OVERVIEW OF PMC
A
ABA
A
1.2.6 Difference Between Relay Sequence Circuit and Ladder
Sequence Program
In general relay sequence circuits, because of a limited number of relay contacts, one contact may be shared
by several relays to minimize the number of contacts used. Fig. 1.2.6 (a) gives an example.
R1
B
R2
Fig. 1.2.6 (a)
With the PMC, relay contacts are considered to be unlimited, so ladder diagrams are created as shown in Fig.
1.2.6 (b).
R1
R2
Fig. 1.2.6 (b)
In a relay sequence circuit having no contact between a branch point and a coil as shown in Fig. 1.2.6 (c), a
similar ladder diagram can be created even for the PMC.
B
R1
R2
Fig. 1.2.6 (c)
NOTE
The extended PMC ladder instruction function allows the sequence circuits like
Fig. 1.2.6(a). For details, see 8.3.4.
- 7 -
Page 34
1.OVERVIEW OF PMCB-64513EN/03
A
A
1.2.7 Specification of Extended Symbol and Comment
Using extended symbol and comment, you can use following functions.
• Local symbols effective in sub programs
• Extension of maximum character length of symbol and comment
• Multi-language support of comment
• Multiple definitions of symbol and comment to one signal
• Data type definition
Automatic address assignment at compiling on FANUC LADDER-III
•
(1) Local symbols effective in sub programs
You can define local symbols effective only in a sub program. So you can define local symbols having
same string in other sub programs. Local symbols defined in different sub programs do not conflict.
Using local symbols, symbol conflict does not occur. Therefore, it is easy to develop ladder in modular
programming technique. In addition, it is easy to reuse sequence programs. When you have to program
a similar program in some sub programs, copy the logic to another sub program, redefine the local
symbols, and compile on FANUC LADDER-III.
NOTE
1 Same local symbol names are not allowed in the same sub program.
2 Same symbol name of global symbol and local symbol are not allowed.
3 Local symbol cannot be defined to address P. Symbol definition to address P must
be global symbol.
4 You cannot create a sequence program using extended symbol and comment
only with CNC. To create it, you have to use FANUC LADDER-III.
5 When you use the function block function, it becomes extended symbol and
comment form automatically.
(2) Extension of maximum character length of symbol and comment
Maximum character length of a symbol and comment is extended as follows. So you can describe in
details.
Kind Extended type Basic type
symbol 40 characters in maximum 16 characters in maximum
comment 4 set 255 characters in maximum 1 set 30 characters in maximum
P1 (Control_Path1)
Alarm
X*ESP
Lock = X100.0
larm = R1000.0
*ESP = G8.4
Lock
Global Symbol :
*ESP
X*ES P = X8.4
P2 (Control_Path2)
Alarm
X*ESP
Lock = X100.1
larm = R2000.0
*ESP = G1008.4
Lock
*ESP
- 8 -
Page 35
B-64513EN/031.OVERVIEW OF PMC
(3) Multi language support
One symbol entry has four comments set in maximum.
Displaying comment set can automatically selected by display language setting in CNC. By describing
each comment set in different languages, you can display comment in all PMC screens in multi
languages. This is very useful in maintenance.
NOTE
For the language attribute, refer to "APPENDIX B. LANGUAGE ID TABLE".
(4) Multiple definitions of symbol and comment to one signal
You can define multiple symbols and comments to the same signal.
NOTE
When multiple symbol and comment are defined to the same signal, you can
search the names by each symbol. On the other hand the symbol on PMC screen
is displayed one of these symbol names. So if you search symbols, displayed
symbol name on searched position may be different from searched word.
(5) Data type definition
You can define symbol and comment with data type definition.
Data type Meaning
BOOL Boolean
BYTE 8 bits integer
WORD 16 bits integer
DWORD 32 bits integer
LABEL Label (Address L)
PROG Sub program (Address P)
NOTE
1 In ladder editing screen, for example, BYTE type symbol can be set to the WORD
type parameter of a function. But it is recommended that data type of the symbol
should be consistent with the data type of the parameter that it is assigned to.
2 When two or more symbols are defined with a signal and these symbols have
different data types the symbol name of largest data type is displayed on PMC
screens.
(6) Automatic address assignment at compiling on FANUC LADDER-III
On FANUC LADDER-III, when programming by symbol names without actual addresses, this
function assigns addresses to them automatically.
CAUTION
The assignment of address may change by modifying symbol / comment data.
NOTE
By setting 1 to K903.5 of system keep relay, the signal state of the symbols whose
addresses are assigned automatically can be initialized when updating sequence
program to the one of different symbol / comment data.
In this case, changing the symbol / comment data whose address is not assigned
automatically will also initialize all signal states of the address range for automatic
assignment to 0.
- 9 -
Page 36
1.OVERVIEW OF PMCB-64513EN/03
(7) Available characters
Those characters can be used.
- Available characters for symbol:
Kind Extended type Basic type
as the symbol
A to Z, a to z, 0 to 9, _ The character that can be used
! ” # & ’ ( ) * + , - < = > ? @ [ / ] ^ ` { | } ~
(Note)
A to Z, a to z, 0 to 9, _ Space,
! ” # $ % & ’ ( ) * + , . - < = > ? @ [ / ] ^
` { | } ~ ; :
The character that cannot be
used for the first character of the
symbol
The character that cannot be
used for the symbol
% $
Space,
; : .
NOTE
Although it is allowed to use special characters in symbol, using only alphabets,
digits and _(underscore) to comply with the variable name defined in IEC61131-3 is
recommended.
- Available characters for comment:
(a) English comment and Japanese comment:
Kind Extended type Basic type
The character that can be used
as the comment
A to Z, a to z, 0 to 9, Space
! ” # & ’ ( ) * + , . - < = > ? @ [ / ] ^ _ ` { | }
~ ; :
(b) Multi-language comment:
Refer to "Appendix A. CHARACTER CODE TABLE".
A to Z, a to z, 0 to 9, Space,
! ” # $ % & ’ ( ) * + , . - < = > ? @ [ / ] ^
_ ` { | } ~ ; :
- 10 -
Page 37
B-64513EN/031.OVERVIEW OF PMC
1.3 SEQUENCE PROGRAM CREATION PROCEDURE
This section briefly explains how to create a program for providing sequence control for a machine tool by
using the Ladder language as an example. When creating a sequence program, see the necessary manual for
editing after understanding the contents of this chapter thoroughly.
1.3.1 Determining Specification
First, determine the specifications of the control target. Calculate the number of I/O signals, and determine
the interfaces of the I/O signals.
In this step, creation of interface specifications is recommended.
1.3.2 Creating Ladder Diagram
After determining specifications, represent control operations with a ladder diagram. Timer, counter, and
other functions that cannot be represented by relay symbols are called functional instructions. Represent
these functional instructions with corresponding symbols.
When using offline programmer or built-in edit function explained in "Editing Sequence Program" in the
next subsection, you can enter a sequence program in a ladder diagram form. At the time of sequence
program editing, you can make entry while creating a ladder diagram on the display screen, so you need not
prepare a ladder diagram in advance.
If you want to create a sequence program efficiently, however, it is recommended that you should create a
ladder diagram in advance.
Ladder diagrams are referenced as maintenance drawings by FANUC maintenance engineers, maintenance
engineers of machine tool builders, and maintenance engineers of end users not only domestically but also
in foreign countries. Therefore, try to create as intelligible ladder diagrams as possible.
1.3.3 Editing Sequence Program
A sequence program in the Ladder language is edited with one of the following two methods:
(1) PC programmer
FANUC supplies FANUC LADDER-III as sequence program development software for FANUC
PMC. Use of FANUC LADDER-III allows you to edit a program in the Ladder language on a
personal computer.
(2) Built-in programmer
The PMC software built into the CNC has a built-in edit function. With this function, a program in the
Ladder language can be edited.
By using either of these editing methods, a sequence program can be entered in a ladder diagram form from
the EDITOR screen. FANUC LADDER-III can also output an entered sequence program to a printer in a
ladder diagram form.
Furthermore, FANUC LADDER-III provides a function for converting a program in a ladder diagram form
to mnemonic form or vice versa. By using this function, you can edit the program in mnemonic form with
a text editor.
Fig. 1.3.3 shows an example of a ladder diagram, and Table 1.3.3 shows an example of a mnemonic form.
- 11 -
Page 38
1.OVERVIEW OF PMCB-64513EN/03
A
uxiliary function
completion
signal
Fig. 1.3.3
Table 1.3.3
Step No. Instruction Address No. & bit No. Remarks
1 RD F7.0 MF
2 OR F7.2 SF
3 OR F7.3 TF
4 RD.NOT.STK F7.0 MF
5 OR R211.7 MFIN
6 AND.STK
7 RD.NOT.STK F7.2 SF
8 OR R211.5 SFIN
9 AND.STK
10 RD.NOT.STK F7.3 TF
11 OR R211.6 TFIN
12 AND.STK
13 WRT G4.3 FIN
During sequence program editing, signal names (symbols) and comments can be entered for I/O signals,
relays, and coils. Easy-to-understand signal names and comments should be entered to improve program
maintainability.
1.3.4 Transferring and Writing Sequence Program to PMC
After completing editing for the sequence program, input (transfer) the program to the PMC. This operation
is unnecessary when you have edited the program by using the built-in programmer.
When you have edited the sequence program by using the PC programmer, input the sequence program
from the editing environment (the personal computer (PC)) to the PMC. The following input methods can
be used:
(1) Input from the I/O screen
The sequence program on the PC is input to the PMC via a memory card or a USB memory.
(2) Input from the online monitor screen
For data input, connect the PC containing the sequence program to the CNC via Ethernet or RS-232C.
After inputting the sequence program, write it in the flash ROM. This operation can be done with the
DATA I/O screen of the PMC.
- 12 -
Page 39
B-64513EN/031.OVERVIEW OF PMC
1.3.5 Checking Sequence Program
After writing the sequence program in the flash ROM, check the sequence program.
The sequence program can be checked in the following two ways:
(1) Checking with a simulator
Connect a simulator (consisting of lamps and switches) instead of the machine. Instead of using input
signals from the machine, turn the switches on and off to input signals, and confirm output signals by
checking the on/off states of the lamps.
(2) Checking by system operation
Connect the machine to make checks. Before starting the operation, take safety measures because
when the sequence program is executed for the first time, an unpredictable motion can occur.
1.3.6 Storage and Management of Sequence Program
When the sequence program is completed after checking, it should be stored and managed by the machine
tool builder.
The sequence program can be output to the printer in a ladder diagram form by using the PC programmer.
The output ladder diagram should be attached as a maintenance drawing to the machine together with other
attached materials such as a power magnetic cabinet circuit diagram.
- 13 -
Page 40
1.OVERVIEW OF PMCB-64513EN/03
1.4 EXECUTION OF SEQUENCE PROGRAM
Sequence programs in the Ladder language are executed in the order of instructions coded in the ladder
diagrams.
Fig. 1.4 shows how a sequence program is executed.
Sequence program
memory
Sequence
program
input
Control target such as machine tool
Input circui t
Output circuit
Internal relay (RAM)
Fig. 1.4 Sequence program execution by PMC
The RD instruction causes the CPU to read the signal of the input circuit at address X0.0 and set the read
data in the operation register. Next, the AND instruction causes the CPU to AND the set data with the
internal relay state at address R10.1 and set the result in the operation register. The CPU then executes the
subsequent instructions at high speed, and the operation result is output to the output circuit at address Y0.0.
- 14 -
Page 41
B-64513EN/031.OVERVIEW OF PMC
1.4.1 Execution Procedure of Sequence Program
In general relay sequence circuits, relays operate at exactly the same time. This means that when relay A
operates in the following figure, relays D and E operate at exactly the same time (when contacts B and C are
both off).
Fig 1.4.1 (a)
In PMC sequence control, on the other hand, relays in the circuit operate sequentially. When relay A in Fig.
1.4.1 (a) operates, relay D operates, then relay E operates.
Therefore, in PMC sequence control, relays operate in the order coded in the ladder diagram (the order of
programming). The sequential operations in this sequence are performed at high speed, but some
instructions are affected by the execution order.
Accordingly, in the ladder diagrams shown in Fig. 1.4.1 (b), there is a distinctive difference in operation
between the PMC sequence and the sequence of the relay circuit.
Fig. 1.4.1 (b) Circuit examples
(1) For relay sequence circuit
(A) and (B) in Fig. 1.4.1 (b) operate in the same manner. When A (P.B) is turned on, current flows
through coils B and C, turning on B and C simultaneously. After C is turned on (after relay operation
time), B is turned off.
(2) For PMC programming
In (A) in Fig. 1.4.1 (b), as with the relay sequence circuit, when A (P.B) is turned on, B and C are
turned on, then B is turned off after a certain time elapses (after a time required for one cycle of the
PMC sequence). In (B) in Fig. 1.4.1 (b), turning on A (P.B) turns on C but does not turn on B even
momentarily.
- 15 -
Page 42
1.OVERVIEW OF PMCB-64513EN/03
1.4.2 Repetitive Operation
A sequence program is executed until the end of the ladder diagram (the end of the program) is reached,
then program execution is repeated from the beginning of the ladder diagram (the beginning of the
program).
The execution time from the beginning to the end of the ladder diagram (the time required for one cycle) is
a time for processing the sequence program once and is called a scan.
This processing time depends on the sequence control scale (the number of steps) and the size of the 1st
level sequence described below. A shorter processing time results in a better signal response in the
sequence.
1.4.3 Processing Priority (1st Level, 2nd Level, and 3rd Level)
A sequence program consists of two operation parts: a high-speed sequence part called the 1st level, which
is executed every several msec, and a normal sequence part called the 2nd level. When the model used
allows use of the 3rd level, the 3rd level sequence part is added. (See Fig. 1.4.3 (a).)
Sequence program
1st level sequence part
2nd level sequence part
3rd level sequence part
(only with model that can
use 3rd level)
Fig. 1.4.3 (a) Sequence program structure
Specifies end of 3rd level sequence
Specifies end of 1st level
sequence
Division 1
Division 2
Division n
Specifies end of 2nd level
sequence
The 1st level sequence part is a high-speed sequence part that is executed every ladder execution cycle. The
ladder execution cycle is 1, 2, 4 or 8 msec, which is set in a CNC parameter. If the execution of the 1st level
program requires a long time, the overall execution time including the 2nd level (sequence processing time)
is extended. So, the 1st level sequence part should be created so that it can be processed in a short time
where possible. The 2nd level sequence part is executed every (ladder execution cycle × n) msec (where n
is the number by which the 2nd level is divided). The 3rd level sequence part is executed when the PMC is
idle.
(1) Division of the 2nd level program
The 2nd level program must be divided to execute the 1st level program. The order of sequence
program execution is illustrated in Fig. 1.4.3 (b), where the number of divisions is assumed to be n.
After the last division (division n) of the 2nd level program is executed, the sequence program is
executed from the beginning. Therefore, when the number of divisions is n, the execution cycle of the
overall sequence program is expressed as the ladder execution cycle × n msec.
- 16 -
Page 43
B-64513EN/031.OVERVIEW OF PMC
As the amount of the 1st level sequence part increases, the amount of the 2nd level sequence portion
executed within the ladder execution cycle decreases. As a result, the number of divisions n increases,
which increases the overall execution time including the 2nd level (sequence processing time).
Therefore, the 1st level sequence program part should be minimized where possible. The division
number of 2nd level may be indefinite because of changing of the working condition of functional
instructions in 1st level and 2nd level.
1st level
2nd level
3rd level
Division 1
Ladder execution cycle (4 or 8 ms)Ladder execution cycle (4 or 8 ms)
Fig. 1.4.3 (b) Sequence program execution order
Division 2
Last division n
3rd level
processing
Ladder execution cycle(4 or 8 ms)
(2) 1st level sequence part
It is high-speed sequence operation. Only high-speed sequence processing such as processing of a
pulse signal with a short signal width in time is performed.
These signals include emergency stop and feed hold signals.
(3) 3rd level sequence part
The 3rd level sequence processing is performed during the remaining time from the end of the last
division (n) of the 2nd level until the 1st level processing restarts (see Fig. 1.4.3 (b)).
It is possible to program the 3rd level, but the execution cycle period of time for processing the 3rd
level sequence part is not guaranteed to maintain program compatibility with conventional models.
Therefore, the 1st and 2nd level sequence parts should be programmed without using the 3rd level
sequence part.
- 17 -
Page 44
1.OVERVIEW OF PMCB-64513EN/03
NOTE
1 The ladder program is executed initially to set the input signals for the CNC (G
signals) like the following chart until the beginning of cyclic operation of the CNC
from the power on of the CNC. The initial execution is different from the cyclic
execution. Therefore the ladder program is not executed at the constant period
and is continuously and repeatedly executed. The execution of each level of the
ladder program is not divided. They are executed from the top of the program to
the end of the program in the order of the following chart. After finishing the initial
execution of the ladder, the CNC starts the cyclic operation.
2 In the initial execution of the ladder program, the operations of the following
functional instructions are different from the normal operations.
- TMR、TMRB、TMRC、TMRST、TMRSS
The timer is not executed and the time is always 0 in the initial execution.
- WINDR、WINDW、AXCTL、EXIN、DISPB、PSGNL、PSGN2
They are executed as the NOP instruction (No operation) in the initial
execution.
1st level
2nd level
3rd level
Power on
- 18 -
Page 45
B-64513EN/031.OVERVIEW OF PMC
1.4.4 Structured Sequence Program
Structured ladder coding has the following advantages:
• Programming is easy to understand, therefore programming becomes easier.
• Program errors can be found easily.
• Troubleshooting can be done easily.
1.4.4.1 Implementation
Three major implementation techniques are supported.
(1) Use of routines
Ladder sequence processing units are created so that they can be treated as routines.
Job A
Job B
(2) Nesting
Ladder routines created in (1) are connected to configure a ladder sequence.
Job A
Job B
Job A
Job A
1
n
Job A
Job A
11
12
(3) Conditional branch
The main program loops and determines conditions. If conditions are satisfied, a subprogram process
is executed. If the conditions are not satisfied, the subprogram process is skipped.
- 19 -
Page 46
1.OVERVIEW OF PMCB-64513EN/03
A
Application example
(1) Example
Suppose that there are four major jobs.
If Y0 is 1, workpiece machining request is assumed to be issued,
and processing is performed. (Conditional)
: <1> Pick up workpiece from pallet. (A1)
<2> Machine workpiece. (A2)
<3> Return workpiece t o pallet. (A3)
B: <4> Move pallet.
(2) Program configuration
(3) Program coding
Machine workpiece.
Machine workpiece.
Move pallet.
- 20 -
Page 47
B-64513EN/031.OVERVIEW OF PMC
Pick up workpiece from pallet.
Machine workpiece.
Return workpiece to pallet.
Pick up workpiece
from pallet.
Ladder representation
Machine workpiece.
Ladder representation
Return workpiece to pallet.
Ladder representation
- 21 -
Page 48
1.OVERVIEW OF PMCB-64513EN/03
Move pallet.
Ladder representation
Specifications
(1) Main program
A ladder program consisting of the 1st ladder level and 2nd ladder level is called a main program. You
can create just one main program. Subprogram calls from the 1st ladder level are not allowed. Any
number of subprogram calls from the 2nd ladder level may be made. Functional instructions JMP and
COM must be closed within the main program and each subprogram.
(2) Subprogram
Programs called from the 2nd ladder level are referred to as subprograms. A subprogram is a program
unit enclosed by functional instructions SP and SPE. Up to 512 or 5000 subprograms can be created
for one PMC.
(3) Nesting
A subprogram can call another subprogram.
Up to eight levels of subprograms can be nested.
Recursive calls are not permitted.
- 22 -
Page 49
B-64513EN/031.OVERVIEW OF PMC
(4) Programming order when subprograms are used
1st level sequence
part
2nd level sequence
part
3rd level sequence
part (only with model
that can use 3rd
level)
Code subprograms after 2nd and 3rd
levels.
Subprograms
End of sequence
program
End of entire sequence program is
indicated by END instruction.
Fig. 1.4.4.1
- 23 -
Page 50
1.OVERVIEW OF PMCB-64513EN/03
1.4.4.2 Sub programming and nesting
Function
A conditional call (or unconditional call) is coded in the main program, and the name of a subprogram to be
executed is specified. In the subprogram, the subprogram name and a ladder sequence to be executed are
coded.
When a conditional call specifying Pn (representing a program name) is made, a subprogram named Pn is
called and executed.
A subroutine name can be assigned by adding a symbol or comment to Pn.
In the example shown in Fig. 1.4.4.2 (a), the main program calls three subprograms. These calls are all
conditional calls. Subprogram P1 is named SUBPRO. Subprogram P1 calls subprogram PROCS1
unconditionally.
Fig. 1.4.4.2 (a) Example of subprogramming and nesting
- 24 -
Page 51
B-64513EN/031.OVERVIEW OF PMC
Execution method
The main program is always active. Subprograms are active only when called by another program.
In the following example, subprogram SUBPRO is called by signal A.
Progra m cycle
Signal A
Main
program
Subprogram
Management
program
Execution flow
(1) A subprogram call by functional instruction CALL transfers control to the subprogram.
(2) When the execution of the subprogram is completed, control is returned to the main program.
(3) When the execution of the main program is completed, the ladder program post processing is
performed.
- 25 -
Page 52
1.OVERVIEW OF PMCB-64513EN/03
Creating a program
After the 1st, 2nd, and 3rd level ladder programs, create subprograms in the similar manner.
Creation example
Be sure to code this.
- 26 -
Page 53
B-64513EN/031.OVERVIEW OF PMC
Inhibit items
(1) Subprograms are nested.
(2) A subprogram is created within the 1st, 2nd, or 3rd level ladder program.
- 27 -
Page 54
1.OVERVIEW OF PMCB-64513EN/03
1.4.4.3 Notes on using subroutines
(1) DISPB
(2) EXIN
(3) WINDR (low-speed type only)
(4) WINDW (low-speed type only)
(5) AXCTL
For the above functional instructions, ACT = 1 must be held until transfer completion information (coil) is
set to 1.
When using these functional instructions in subprograms, note the following prohibition:
(1) When one of the above functional instructions is being used within a subprogram and is not yet
completed (processing is in progress), the subprogram call is canceled. (ACT for the CALL
instruction is set to 0.)
CAUTION
The subsequent operation of the above functional instruction is not guaranteed.
(2) When one of the above functional instructions is being used within a subprogram and is not yet
completed (processing is in progress), the subroutine is called from another subprogram.
CAUTION
Because the preceding function is being processed, the subsequent operation of
the above functional instruction is not guaranteed.
When a subprogram using the above functional instructions is called from more than one place, exclusive
control is required. An example of using the WINDR instruction (low-speed type) is given below.
- 28 -
Page 55
B-64513EN/031.OVERVIEW OF PMC
Example:
A subprogram is called from two places. (When the WINDR instruction is used)
Main programSubprogram 1Subprogram 2
Set DATA1.
Set DATA2.
Explanation:
Subprogram 1 controls ACT (A) and W1 (B) of WINDR (subprogram 2).
The main program determines which data (C1 or C2) is to be used according to A controlled by subprogram
1. Upon completion of the WINDR instruction, the next data is set, and the other CALL instruction is
executed. In the subsequent operation, these steps are repeated.
- 29 -
Page 56
1.OVERVIEW OF PMCB-64513EN/03
1.4.5 Synchronization Processing of I/O Signals
Signals input to the PMC include input signals from the CNC (such as M function and T function signals)
and input signals from the machine (such as cycle start and feed hold signals). Signals output from the PMC
include output signals to the CNC (such as cycle start and feed hold signals) and output signals to the
machine (such as turret rotation and spindle stop signals).
The relationships between these signals and the PMC are shown in Fig. 1.4.5 (a), in which input signals are
input to the input memory of the PMC, and output signals are issued from the PMC.
As shown in Fig. 1.4.5 (a), the input signals are synchronized during 1 scan of the 2nd level sequence part.
CNC
Input memory of CNC
Input signal from CNC (F)
Output memory of CNC
Output signal to CNC (G)
PMC
Transferr ed every
4ms or 8ms
2nd level synchronous input signal memory
Input signal from CNC (F)
Sequence
program
1st level
sequence part
2nd level
sequence part
Input signal from machine (X)
Input sign al from another PMC path(M)
3rd level
sequence part
Machine Tool
Input signal from machine
Output signal to machine
Transferred
via I/O Link
or I/O Link i
Input signal memory
Input sign al from machine ( X)
Output sig n al me mory
Output signal to machine (Y)
Transferred
at start of
2nd level
Another PMC pat h
Input sign al from another PMC path (M)Output signal to another PMC path (N)
Fig. 1.4.5 (a) I/O signals of PMC
NOTE
The 2nd level synchronous input signal memories are F, X, and M address. Other
addresses are not synchronous input signals.
Input signal processing
(1) Input memory of the CNC
Signals input from the CNC to PMC are set in the memory of the CNC and are normally transmitted to
the PMC at intervals of 4 or 8 msec. Since the 1st and 3rd level sequence parts directly reference and
process these signals, these signals are not synchronized with input signals from the CNC. See the
description of following “Notes on programming asynchronous I/O signals”.
- 30 -
Page 57
B-64513EN/031.OVERVIEW OF PMC
(2) Input signals from the machine (I/O Link or I/O Link i) Signals input from the machine are transmitted to the input signal memory via the input circuit (I/O
Link or I/O Link i). The 1st and 3rd level sequence parts read the input signals from the input signal
memory and process them.
(3) Input signal memory
The input signal memory stores signals transmitted from the machine at regular intervals.
The 1st and 3rd level sequence parts of the PMC read and process signals stored in this memory. In
this case, the signal set in the input signal memory is not synchronized with the 1st and 3rd level
sequence parts. For notes on asynchronous processing, see the description of following “Notes on
programming asynchronous I/O signals”.
NOTE
In case of the I/O link i, there are two modes for the transmission cycle of input
signals. They are the normal mode (2msec) and the high speed mode (0.5msec).
In case of the I/O link channel 1 and 2, the transmission cycle of the input signals
is 2msec. In case of the I/O link channel 3, it depends on the execution cycle of 1st
level ladder (4msec or 8msec).
(4) 2nd level synchronous input signal memory
The 2nd level synchronous input signal memory stores signals processed by the 2nd level sequence
part of the PMC. Signals synchronized with the 2nd level sequence part are set in this memory.
Input signals in the input signal memory and input signals from the CNC are automatically transmitted
to the 2nd level synchronous input signal memory at the beginning of the 2nd level sequence part.
Therefore, the status of the 2nd level synchronous input signal memory is kept unchanged during the
time from the beginning of the 2nd level sequence part until the end of the sequence part.
The programmer function automatically performs processing so that the 1st and 3rd level sequence
parts use input signals in the input signal memory and input signals from the CNC while the 2nd level
sequence part uses the 2nd level synchronous input signal memory. (This need not be considered
during programming.)
NOTE
The 2nd level synchronous input signal memories are F, X, and M address. Other
addresses are not synchronous input signals.
Output signal processing
(1) Output memory to the CNC
Signals output from the PMC to CNC are set in the output memory of the CNC. Normally, the PMC
transmits signals to the output memory of the CNC at intervals of 4 or 8 msec.
(2) Output signals to the machine (I/O Link or I/O Link i) Signals output to the machine are transmitted from the output signal memory of the PMC to the output
circuit (I/O Link or I/O Link i).
CAUTION
The output signals, which are just being updated in sequence program, may be
transmitted to I/O device. Please take care when referring to plural signals at the
I/O device.
(3) Output signal memory
The output signal memory is set by the sequence program of the PMC. Signals set in the output signal
memory are transmitted to the machine at regular intervals.
- 31 -
Page 58
1.OVERVIEW OF PMCB-64513EN/03
NOTE
1 The statuses of the input memory of the CNC, input signals from the machine,
output memory of the CNC, and output signals to the machine can be viewed on
the SIGNAL STATUS screen of the PMC. For the SIGNAL STATUS screen, see
Section 7.1.
2 In case of the I/O link i, there are two modes for the transmission cycle of I/O
signals exchanged with the machine. They are the normal mode (2msec) and the
high speed mode (0.5msec). In case of the I/O Link, the transmission cycle of I/O
signals exchanged with the machine is normally 2msec. However, it depends on
the setting of the channel of the I/O Link. For details, see Section 3.2.
Notes on programming asynchronous I/O signals
Normal input signals from the CNC are transmitted to the PMC at intervals of 4 or 8 msec. Normal output
signals to the CNC are transmitted from the PMC at intervals of 4 or 8 msec. Therefore, I/O signals
exchanged with the CNC are usually transmitted at intervals of 4 or 8 msec. When creating a sequence
program, note that the input signals from the CNC are not synchronized with the 1st and 3rd level sequence
program parts. Because the input signals from the CNC are asynchronous, the status of an input signal from
the CNC may change during execution of the 1st level sequence program part, which can lead to a problem
as shown in Fig. 1.4.5 (b). To prevent such a problem, write the TF signal to an internal relay at the
beginning of the 1st level sequence part so that the subsequent operation of the 1st level sequence program
part references the internal relay. Then, the TF signal can be treated as a synchronous signal. See Fig. 1.4.5
(c).
Signals input from the machine via the I/O Link and signals input from other control units over a network
are also asynchronous, so these signals should be treated in a similar manner.
If the TF status changes to 1 after TF=0 is read first,
W1 and W2 may be set to 1 momentarily.
Fig. 1.4.5 (b)
When the TF signal is made synchronized, neither W 1
nor W2 is set to 1.
Fig. 1.4.5 (c)
- 32 -
Page 59
B-64513EN/031.OVERVIEW OF PMC
Difference in signal status between 1st level and 2nd level sequence parts
The status of the same input signal may become different between the 1st and 2nd level sequence parts. The
1st level sequence part uses the input signal memory for signal processing while the 2nd level sequence part
uses the 2nd level synchronous input signal memory. Therefore, it is possible that an input signal for the
2nd level sequence part lags behind the input signal for the 1st level sequence part by a cycle of the 2nd
level sequence execution at the worst.
When creating a sequence program, note the following:
Signal status
A.M On (pulse signal with short pulse width in time)
B Off
C On
When the 1st level is executed, the following difference can occur between Fig. 1.4.5 (d) and Fig. 1.4.5 (e):
(1) For Fig. 1.4.5 (d)
Even when W1 = 1, W2 may not be 1. (This is because the A.M signal may differ between the 1st level
and 2nd level.)
(2) For Fig. 1.4.5 (e)
If W1 = 1, W2 is always 1.
When performing the sequence shown in Fig. 1.4.5 (d), do the following:
At the 1st level, perform the high-speed sequence processing applied when the A.M signal status
changes (operating).
At the 2nd level, perform the sequence processing applied when the A.M signal status does not change
(stopped).
NOTE
In the middle of 1st level processing, a signal status change may occur
asynchronously with the sequence program processing. For details, see
Subsection 1.4.7.
1st level
2nd level
Fig. 1.4.5 (d) Fig. 1.4.5 (e)
- 33 -
Page 60
1.OVERVIEW OF PMCB-64513EN/03
1.4.6 Interlock
In sequence control, considering how to provide an interlock is a key design issue from the safety point of
view. Of course, an interlock must be provided by sequence programs. Furthermore, an interlock must also
be provided at the end of the electrical circuit in the power magnetic cabinet of the machine. Even when an
interlock is provided logically by a sequence program (software), the interlock by the sequence program
will not work if the hardware for executing the sequence program fails for a certain cause. Therefore, be
sure to provide an interlock within the power magnetic cabinet of the machine to ensure safety of the
operator and prevent machine damage.
1.4.7 Notes on I/O Signals Updated by Other Than PMC
I/O signals transmitted over networks (Note1) are directly updated with network boards, independently of
PMC sequence program execution.
Similarly, other applications (Note1) directly update I/O signals independently of PMC sequence program
execution. PMC sequence program and other applications are executed with individual cycle, i.e.
asynchronous.
Therefore, when PMC sequence program uses signals updated via network or other applications, or network
or other applications use signals updated PMC sequence program, the following should be noted:
WARNING
When you develop these applications, please take care of the following notes.
If the following notes are ignored, the machine may behave in an unexpected
manner and also tools, work pieces, and the machine may be damaged.
As for details, refer to “SAFETY PRECAUTIONS”.
NOTE
1 As for kinds of networks and other applications, refer to “SAFETY
PRECAUTIONS”.
2 As for CNC functions using PMC signals other than G/F address, refer to
“APPENDIX C”.
(1) Note on input signals
Signals, which are already written with PMC sequence program, must not be written with networks or
other applications.
When an input signal transmitted via a network or another application is referenced at more than one
place in the PMC sequence program, the same value is not guaranteed to be referenced within the same
cycle of the sequence program.
To refer to the same value of the input signal within the same cycle, store the input signal status in
temporary area such as internal relay and refer to it.
(2) Note on output signals
When output signals are updated via a network or other applications, the output signals, which are just
being updated, may be transmitted to I/O device, just like PMC sequence program. Please take care
when referring to plural signals at the I/O device.
(3) Note on multi-byte data
Generally, when multi-byte data ate input at once via a network or another application, the coherency
of the read multi-byte data (in other words, reading all latest data at once) is not guaranteed. To ensure
the coherency of multi-byte data, prepare flags to notify of the completion of read or write process that
is separated from the entity of data and make the handshaking process to access the data by using the
flags.
- 34 -
Page 61
B-64513EN/031.OVERVIEW OF PMC
(4) Distributed processing of signals
Be careful enough that y ou process a PMC signal set that is related to a NC function by using two or
more applications (ladder program and other applications). Because they are executed based on
individual cycle (asynchronous cycle), the PMC signal set may be passed to the NC in an unexpected
order.
(5) Note when writing bit signals
Do not write bit signals in the same byte address from two or more programs such as PMC sequence
program, network and other applications. If bit signals written by the ladder program are being written
from other applications, there is a possibility that each the bit signals are not written correctly.
- 35 -
Page 62
1.OVERVIEW OF PMCB-64513EN/03
/
g
1.5 LADDER DIVIDING MANAGEMENT FUNCTION
The ladder dividing management function enables you to divide the ladder program into plural files and
input/output each file and set the protection by a password individually.
You can manage the sequence program as a main ladder program and some divided ladder programs by
using this function.
<An example of not using this function>
<An example of using this function>
CNC
PMC
Sequence program
(The ladder of basic feature)
(The ladder of
Individual feature)
(The ladder of
safety feature)
You can edit/input/output/protect the whole sequence
program.
Memory card
USB memory
CNC
PMC
Main ladder program
(Basic feature)
Divided ladder program 1
(Individual feature)
Divided ladder program 2
(Safety feature)
You can divide the ladder program into a main program and
some divided programs. Moreover, you can edit/input
output/protect the program individually.
You can also input/output all programs together by usin
the all backup/restore function.
Memory card
USB memory
- 36 -
Page 63
B-64513EN/031.OVERVIEW OF PMC
1.5.1 Divided Ladder Program
The divided ladder programs include a part of the ladder program and a part of symbols and comments and
are handled as individual files. You can set the system parameters and title data to every divided program
individually.
<An example of not using this function>
CNC
PMC
<An example of using this function>
CNC
PMC
Sequ ence progr am
System parameter
Title data
I/O Link assignment data
Message data
Symbols/Comments
Ladder program
Main ladder program
Syste m parameter
Title data
I/O Link assignment data
Message data
Symbols/Comments
Ladder program
Divided ladder pr ogram
System parameter (Note)
Title data
Symbols/Comments
Ladder program
Fig. 1.5.1 Notion of the ladder dividing management function
NOTE
The system parameters, which can be set in the divided ladder program, are
“Setting of comment display language”, “Assignment address of symbols” and
“Assignment address of function blocks”. These parameters can be set on FANUC
LADDER-III.
- 37 -
Page 64
1.OVERVIEW OF PMCB-64513EN/03
1.5.2 Program Execution when Using Ladder Dividing Management
When executing the program of ladder dividing management function, these are combined into one
program at every execution levels.
At first, the main program is executed, and the divided ladder programs are executed in order of program
number. The program number of divided ladder program is specified when making the sequence program
on FANUC LADDER-III.
Main ladder program (Level 1)
Main ladder program (Level 2)
Divided ladder program No.1 (Level 1)
Divided ladder program No.2 (Level 1)
Divided ladder program No.99 (Level 1)
Level 1
Ladder execution cycle (4 or 8ms)
Execution order
Level 1 of main ladder
Level 1of divided ladder 1
Level 1 of divided ladder 2
Level 2 of main ladder
Divided ladder program No.1 (Level 2)
Execution order
Divided ladder program No.2 (Level 2)
Divided ladder program No.99 (Level 2)
Ladder execution cycle (4 or 8ms)
Level 2 of divided ladder 1
Level 2 of divided ladder 2
Level 2
Fig. 1.5.2 (a) Ladder execution of the ladder dividing management function
- 38 -
Page 65
B-64513EN/031.OVERVIEW OF PMC
The program numbers do not need to be consecutive. For instance, three divided ladder program number
can be set to No.10, 20 and 30. In this case, non-exist divided program number is skipped and the program
of the next number is executed.
Level 1
Level 2
Fig. 1.5.2 (b) Ladder execution when discontinuous number of divided ladder program
Ladder execution cycle (4 or 8ms)
Level 1 of main ladder
Level 1 of divided ladder 10
Level 1 of divided ladder 20
Level 1 of divided ladder 30
Level 2 of main ladder
Ladder execution cycle (4 or 8ms)
Level 2 divided ladder 10
Level 2 of divided ladder 20
Level 2 of divided
ladder 30
NOTE
When an error occurs in one ladder program, none of these ladder programs will
start the execution.
Execution start order of ladder program when a power-on.
The ladder program is executed initially to set the input signals for the CNC (G signals) like the following
chart until the beginning of cyclic operation of the CNC from the power on of the CNC. The initial
execution is different from the cyclic execution. Therefore the ladder program is not executed at the
constant period and is continuously and repeatedly executed. The execution of each level of the ladder
program is not divided. They are executed from the top of the program to the end of the program in the order
of the following chart. After finishing the initial execution of the ladder, the CNC starts the cyclic
operation.
In the initial execution of the ladder program, the operations of the following functional instructions are
different from the normal operations.
- TMR、TMRB、TMRC、TMRST、TMRSS
The timer is not executed and the time is always 0 in the initial execution.
- WINDR、WINDW、AXCTL、EXIN、DISPB、PSGNL、PSGN2 They are executed as the NOP instruction (No operation) in the initial execution.
- 39 -
Page 66
1.OVERVIEW OF PMCB-64513EN/03
Level 1 of main ladder
Level 1of divided ladder 1
Level 1of divided ladder 2
Level 1
Level 2 of divided ladder 1
Level 2 of main ladder
Level 2
Power on
Level 2 of divided ladder 2
Fig.1.5.2 (c) Execution start order of ladder program when a power on.
(when using the ladder dividing management function)
Level 1 of main ladder
Level 1of divided ladder 10
Level 1of divided ladder 20
Level 1
Level 2
Power on
Level 1of divided ladder 30
Level 2 of main ladder
Level 2 of divided ladder 20
Level 2 of divided ladder 10
Level 2 of divided ladder 30
Fig.1.5.2 (d) Execution start order of ladder program when a power-on.
(when discontinuous number of divided ladder program)
- 40 -
Page 67
B-64513EN/031.OVERVIEW OF PMC
1.5.3 PMC Memory when Using Ladder Dividing Management
On the ladder dividing management function, referred PMC memories are common memories.
Sequence program
DI1 R0.0
DI2 R0.1
1 2 0 4 5 3 76
DI3 R0.2
Main ladder program
DI1 R0.0
Divide d ladder pr og ra m 1
DI2 R0.1
Divide d ladder pr og ra m 2
DI3 R0.2
R0
R1
R2
:
P MC me mo ries
When using the ladder dividing management function
1 2 0 4 5 3 76
R0
R1
R2
:
P MC me mo ries
Fig. 1.5.3 PMC memory access when using the ladder di viding manag emen t function
The following data are also shared between some divided programs.
・ PMC parameters
・ Functional instructions using PMC parameters, such as TMR(SUB 3), CTR(SUB 5) and CTRB(SUB
56)
・ Programmer protection function (System Keep Relay)
CAUTION
1 You should not overwrite the same PMC memory from two or more ladder
programs.
2 You should not duplicate the timer number of TMR(SUB 3), the counter number of
CTR(SUB 5) and CTRB(SUB 56) over all of ladder programs. However, the timer
number of TMRB(SUB 24), TMRBF(SUB 77), and the rising edge number of
DIFU(SUB 57) and the falling edge number of DIFD(SUB 58) can be same number
between main and divided ladder programs.
- 41 -
Page 68
1.OVERVIEW OF PMCB-64513EN/03
1.5.4 Sub Program in Divided Ladder
To use the ladder dividing management function, you can make programs of level 1, level 2 and
subprograms in every divided ladder programs.
The subprogram number can be defined separately in main ladder program and every divided ladder
program. However, a subprogram defined in other ladder program cannot be called.
Main ladder program
Level 1
Level 2
CALLU : P5000
CALLU : P2
CALLU : P1
P1
P2
P5000
Di v ided ladder progr am 1
Level 1
Level 2
CALLU : P5000
CALLU : P1
P1
P5000
Divided ladder program 2
Level 1
Level 2
CALLU : P5000
CALLU : P2
P2
P5000
Fig. 1.5.4 Definition of sub programs using the ladder dividing management function
- 42 -
Page 69
B-64513EN/031.OVERVIEW OF PMC
1.5.5 Message Display Function (DISPB instruction) when Using
Ladder Dividing Management Function
When using the ladder dividing management function, the message data is defined in the main ladder
program.
By switching on the request memory of message display (A address) from a divided ladder program, the
messages, which are defined in the main ladder program, can be displayed.
NOTE
You do not need to program DISPB instruction in every divided ladder program.
You can program DISPB instruction only in main ladder program. As for details of
DISPB instruction, refer to the section “4.11.1”.
Fig. 1.5.5 Message display using the ladder dividing management function
- 43 -
Page 70
1.OVERVIEW OF PMCB-64513EN/03
1.5.6 Making Method of Divided Ladder Program
When using the ladder dividing management function, you can use FANUC LADDER-III to make some
program files for a main ladder and some divided ladders.
FANUC LADDER-III
BasicFunc.LAD
(Main ladder)
Making main ladder is the same way as making ladder when not using this function.
When making new divided ladder program on FANUC LADDER-III, the following information are
required.
(1) PMC path
Specify the PMC path of the target PMC.
(2) PMC memory type
Specify the PMC memory type of the target PMC.
(3) Divide ladder program number
Specify a divided number of the ladder program.
When executing ladder program, divided ladder programs are executed in order of the number.
This number decides the file name for flash ROM on CNC.
OptionalFunc.LAD
(Divided ladder 01)
SafetyFunc.LAD
(Divided ladder 10)
CustomFunc.LAD
(Divided ladder 99)
NOTE
1 You can make new divided ladder program on FANUC LADDER-III. On PMC
screen, You can edit the divided ladder program but cannot make new divided
ladder program.
2 Divided ladder program number can be changed in system parameter screen on
FANUC LADDER-III. To modify the PMC path or the PMC memory, use “PMC
Type changed and save” on FANUC LADDER-III.
3 The range of divided ladder program number is 1 to 99. When storing the flash
ROM, the file of same name is overwritten. Therefore, you should set different
number to each divided ladder program file. You can use any number within the
range.
4 When using multi-path PMC, the same number can be used in every PMC path.
- 44 -
Page 71
B-64513EN/031.OVERVIEW OF PMC
1.5.7 Adding/Updating/Deleting Divided Ladder Program
To add/update/delete divided ladder program on CNC, you can use the following features.
Boot system All backup/restore
(IPL screen)
Operation
Utilize Media
Adding
Update
Deletion
Memory Card
USB Memory
○ ◎ -
○ ◎ ○
○ - -
○ ◎ ○
- ◎ ○
function
PMC I/O screen
(○: Available(Operation for one file), ◎:Available (Operation for all files), -: Unavailable)
NOTE
For details of the boot system and the IPL screen, refer to the maintenance
manual of each CNC series.
1.5.8 Input/Output of All Divided Ladder Programs
Divided ladder programs can be input/output to/from CNC by the all backup/restore function on the IPL
screen.
By using the command line execution function in FANUC LADDER-III, plural LAD files can be compiled
and exported to USB memory or memory card at once.
By these functions, plural divided ladder programs, which are created with FANUC LADDER-III, can be
written to the CNC collectively.
PMC1-01.LAD
PMC1-02.LAD
PMC1-03.LAD
PC
Command line
Execution function
All backup/restore
function
Memory card
or
USB Memory
L101PMC1.000
L102PMC1.000
L103PMC1.000
CNC
- 45 -
Page 72
1.OVERVIEW OF PMCB-64513EN/03
Example: Inputting plural divided programs to CNC using memory card
The following example is the procedure of exporting three divided ladder programs (PMC1-01.LAD,
PMC1-02.LAD, PMC1-03.LAD) to the memory card on “E” drive of PC and writing them to CNC
collectively.
(1) Attach an empty memory card to PC. (Note1)
(2) Make a command file (export_all.txt) as follows. (Note2,3)
(4) Attach the memory card to CNC and turn the power on with pressing “.” and “-“ on the MDI keys
(5) The IPL screen appears. Select “12. BATCH DATA BACKUP/RESTORE”.
(6) The BATCH DATA BACKUP/RESTORE MENU appears and select “2. BATCH DATA
RESTORE(MEMORY CARD → CNC)”.
(7) “BATCH DATA RESTORE OK ? (NO=0,YES=1)” appears and select “1”.
(8) “POWER MUST BE OFF” appears and reboot the power of the CNC.
NOTE
1 In the all backup/restore function, all files, which are at root directory of memory
card or USB memory, are written to CNC. Therefore, you should use empty
memory card or USB card because the CNC do not execute correctly when there
are some unnecessary files in the memory card or the USB memory.
2 You can use arbitrary command file name of FANUC LADDER-III.
If changing to other name, change the name specified in the item (3), too.
3 The ladder file name specified in the export command (Ex: L101PMC1.000) is
used in PC, memory card or USB memory. You can use arbitrary file name
regardless of the dividing ladder program number for the registration of CNC.
To change the divided ladder number, change the setting of divided ladder
number in the system parameter screen on FANUC LADDER-III.
4 We recommend the ladder file name for outputting from CNC by the all
backup/restore function to the file name in the export command if there is no
special reason. In the all backup/restore function, the file having the name on flash
ROM of CNC with the extension “.000” is output. For the file name on flash ROM,
refer to “2.9”.
- 46 -
Page 73
B-64513EN/031.OVERVIEW OF PMC
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
1.6 MULTI-PATH PMC FUNCTION
The multi-path PMC function allows one PMC system to execute multiple sequence programs at the same
time.
PMC memory for each sequence program is basically independent, and the same PMC address can be used
for different purposes of the individual PMCs. Extra relays (E addresses) can be shared among PMCs as
shared memory. All PMCs can read from and write to this area, so the area can be used for the interface
between the PMCs. M,N addresses can be also used for the interface between the PMCs.
Fig. 1.6 (a) PMC memory of multi-path PMC function
3rd PMC
X0~, Y0
F0~, G0
R0~, A0
T0~, C0
K0~, D0
P1~, L1
Shared memory(E0~)
~
~
~
~
~
~
M0~,
N0
~
4th PMC
X0~, Y0
F0~, G0
R0~, A0
T0~, C0
K0~, D0
P1~, L1
~
~
~
~
~
~
5th PMC
X0~, Y0
F0~, G0
R0~, A0
T0~, C0
K0~, D0
P1~, L1
~
~
~
~
~
~
A program for each PMC is saved as an independent file and can be edited, updated, and backed up
separately.
The CNC systems and the I/O Link channels to be controlled by PMCs can be changed by CNC parameter
setting. In a parameter-set configuration, one PMC may control all CNC systems, or each PMC may control
a different CNC system.
Fig. 1.6 (b) shows a configuration example.
NOTE
The multi-path PMC function is the option function.
In Series 30i/31i/32i/35i-B, Power Motion i-A, the maximum path number is 5
paths. In Series 0i-F, the maximum path number is 3 paths.
- 47 -
Page 74
1.OVERVIEW OF PMCB-64513EN/03
CNC PMC
Machine
control group
Loader
control group
Fig. 1.6 (b) Multi-path PMC function configuration example
1st PMC
2nd PMC
3rd PMC
Operator's
panel for
machine
control, etc.
Peripheral
equipment,
etc.
Operator's
panel for
loader , et c.
If the series 30i/31i/32i/35i-B, the Power Motion i-A or the series 0i-F system is used to control more than
one CNC path, some paths can be grouped to share data within a group and to stop all the paths in the group
if an alarm condition occurs in one of the paths. The group is referred to as the machine group.
The system supports up to 3 machine groups. Each group has a separate emergency stop signal address.
A PMC is basically assigned to each machine group.
- 48 -
Page 75
B-64513EN/031.OVERVIEW OF PMC
Oth
1.6.1 Execution Order and Execution Time Percentage
For the multi-path PMC function, the order of PMC execution and execution time percentages of the PMCs
can be set with CNC parameters.
Execution order
If parameters related to the execution order are not set (0 is set), the following order sequence is assumed by
default:
1st path
PMC
2nd path
PMC
3rd path
PMC
4th path
PMC
5th path
PMC
er processing such as tracing
Fig. 1.6.1 (a) Default execution order of multiple PMCs
Execution time percentage
If parameters related to execution time percentages are not set (0 is set), the following execution time
percentages are assumed by default:
Table 1.6.1 (a) Execution time percentages of multiple PMCs
An example of changing the execution order and execution time percentages by setting CNC parameters is
explained below. In the following, sequence programs are executed in the order from the third PMC to the
first PMC to the second PMC with the execution time percentage of the third PMC set to 30%, the
percentage of the first PMC to 50%, and the percentage of the second PMC to 20%:
3rd PMC 1st PMC2nd PMC
Other processing such as
tracing
Fig. 1.6.1 (b) Example of setting execution order of multiple PMCs
Level 1
Level 2
Level 3
3rd PMC
(30%)
Ladder execution cycle (4 or 8 msec)
Fig. 1.6.1 (c) Example of setting execution time percentages of multiple PMCs
For details of parameter setting, see Subsection 2.4.3.
1st PMC
(50%)
2nd PMC
(20%)
- 50 -
Page 77
B-64513EN/031.OVERVIEW OF PMC
1.6.2 Interface Between CNC and PMC
The PMC to control the interface between the CNC and PMC and PMC addresses (F/G addresses) can be
set with CNC parameters.
With these parameter settings, a desired interface control system can be built, in which the entire
CNC-PMC interface of the CNC may be controlled by a single PMC or the CNC-PMC interface may be
controlled by multiple PMCs.
For the CNC-PMC interface, a memory area consisting of 10 blocks, each of which is an addressable,
768-byte DI/DO area, is provided.
When viewed from the ladder program in each PMC, these addresses begin with 0.
If these parameters are not set (0 is set), the initial settings are assumed, where the F/G addresses of the CNC
equals the F/G addresses of the first PMC as follows:
CNC
F/G0 to F/G767 of CNC
F/G1000 to F/G1767 of CNC
F/G2000 to F/G2767 of CNC
F/G3000 to F/G3767 of CNC
F/G4000 to F/G4767 of CNC
F/G5000 to F/G5767 of CNC
F/G6000 to F/G6767 of CNC
F/G7000 to F/G7767 of CNC
F/G8000 to F/G8767 of CNC
F/G9000 to F/G9767 of CNC
Fig. 1.6.2 (a) Initial settings for CNC-PMC interface
1st PMC
F/G0 to F/G767 of 1st PMC
F/G1000 to F/G1767 of 1st PM C
F/G2000 to F/G2767 of 1st PM C
F/G3000 to F/G3767 of 1st PM C
F/G4000 to F/G4767 of 1st PM C
F/G5000 to F/G5767 of 1st PM C
F/G6000 to F/G6767 of 1st PM C
F/G7000 to F/G7767 of 1st PM C
F/G8000 to F/G8767 of 1st PM C
F/G9000 to F/G9767 of 1st PM C
In the following example, F/G0 to F/G767 and F/G1000 to F/G1767 of the CNC are assigned to F/G0 to
F/G767 and F/G1000 to F/G1767 of the first PMC, and F/G2000 to F/G2767 of the CNC are assigned to
F/G0 to F/G767 of the second PMC:
CNC
F/G0 to F/G767 of CNCF/G0 to F/G767 of 1st PMC
1st PMC
F/G2000 to F/G2767 of CNC
Fig. 1.6.2 (b) Setting example for CNC-PMC interface
For details of parameter setting, see Subsection 2.4.3.
- 51 -
F/G1000 to F/G1767 of 1st PMCF/G1000 to F/G1767 of CNC
2nd PMC
F/G0 to F/G767 of 2nd PMC
Page 78
1.OVERVIEW OF PMCB-64513EN/03
1.6.3 Multi-Path PMC Interface
The multi-path PMC interface is the communication means between two PMC paths.
Generally, each path of multi-path PMC system has individual PMC memory space except E address. And,
E address can be used to share data of multi-path PMC system. However, this method has a risk that the
memory is over written by other PMC path inappropriately.
NOTE
This interface cannot be used in 4th-path PMC and 5th-path PMC.
When using this function, the input and output signals of each path become definitely. Therefore, you can
send or receive the data on between two PMC paths safely.
When you output data to N address at one of PMC paths, it can be referenced by M address in other PMC
path.
Ex.) When using this function with 1st PMC and 2nd PMC :
1st PMC2nd PMC
M
N
Moreover, signals of M address are synchronized during 1 scan of 2nd level program. Therefore, you can
reference the same signal status on the first step and the last step of level2 program, like as X and F address.
For details of setting for two PMC paths, see Subsection 2.4.3.
M
N
WARNING
The E address can be used to share data of multi-path PMC system. However,
The E address is not synchronized during 1 scan of 2nd level program. Therefore,
the value of the address may be changed during execution of 2nd level program.
You must take care that the memory is not overwritten by other PMC path in
multi-path PMC system.
- 52 -
Page 79
B-64513EN/031.OVERVIEW OF PMC
1.6.4 Common PMC Memory Mode of Multi-Path PMC
On the 2nd-path and 3rd-path PMC, the "Common PMC Memory mode" to share all the PMC Memory with
1st-path PMC has become selectable.
When using the Common PMC Memory mode, a program that controls a related process can be divided to
multi-path Sequence Programs.
And, those Sequence Programs can be inputted/outputted, edited and saved independently.
Fig. 1.5.4 (a) Configuration of the Common PMC Memory mode
Sequence
Program
Sequence
Program
L1 -,
P1 -
L1 -,
P1 -
See "9.9.5 Setting the PMC Memory Type" to enable the Common PMC Memory mode.
There are come differences in the following specifications in the Independent PMC Memory mode and the
Common PMC Memory mode.
Table 1.6.4 (a) Comparison of Independent PMC Memory mode and Common PMC Memory mode
Sequence
program
Data and Functions
Independent PMC Memory
mode
Ladder each PMC path each PMC path
(TMR, CTR, CTRB) each PMC path shared by all PMC paths
(DISPB) each PMC path program to 1st-path PMC
Title each PMC path each PMC path
Symbol & Comment each PMC path each PMC path
Message data each PMC path each PMC path
I/O Link assignment each PMC path each PMC path
System parameter each PMC path each PMC path
(Counter data type) each PMC path 1st-path PMC is effective
- Inputting/Outputting each PMC path each PMC path
- Password function each PMC path each PMC path
- Programmer protection each PMC path 1st-path PMC is effective
- Protection of data at 8 levels each PMC path each PMC path
Common PMC Memory mode
- 53 -
Page 80
1.OVERVIEW OF PMCB-64513EN/03
PMC
Parameter
Data and Functions
Timer each PMC path shared by all PMC paths
Counter each PMC path shared by all PMC paths
Keep Relay each PMC path shared by all PMC paths
Data Table each PMC path shared by all PMC paths
Data Table control data each PMC path shared by all PMC paths
Setting Parameter each PMC path shared by all PMC paths
- Inputting/Outputting each PMC path 1st-path PMC is effective
- Programmer protection each PMC path 1st-path PMC is effective
- Protection of data at 8 levels each PMC path 1st-path PMC is effective
Independent PMC Memory
mode
Common PMC Memory mode
WARNING
1 Please separate the range of PMC Memory that will be written by each PMC path.
And, don't write to the same address from other PMC paths because it will often
cause a problem. If making such a program it will be difficult to fix a problem.
2 When using the Common PMC Memory mode, the memory of PMC Parameter is
shared by those PMC paths, too. Therefore, don't set any duplicated number of
functional instructions that is used for PMC Parameter in those PMC paths.
<Functional instructions using PMC Parameter>
- TMR (Timer : SUB 3)
- CTR (Counter : SUB 5)
- CTRB (Fixed Counter : SUB 56)
But, the instruction number of the following functional instructions can be used for
each PMC path, also in the Common PMC Memory mode.
<Functional instructions numbered each PMC path>
- TMRB (Fixed Timer : SUB 24)
- TMRBF (Off Delay Fixed Timer : SUB 77)
- DIFU (Rising Edge Detection : SUB 57)
- DIFD (Falling Edge Detection : SUB 58)
NOTE
1 To use the Common PMC Memory mode in the 2nd to 5th-path PMC, select the
same PMC type as 1st-path PMC on FANUC LADDER-III.
2 The Data Table Control data is also shared between PMC paths that are used in
the Common PMC Memory mode.
3 L address and P address, that is used for the labels of jump or sub-program call,
can be used for each PMC path independently in the Common PMC Memory
mode, too.
- 54 -
Page 81
B-64513EN/031.OVERVIEW OF PMC
1.7 COMMUNICATION METHOD for EXTERNAL I/O DEVICE
1.7.1 I/O Link i and I/O Link
For the high-speed serial interface which transmits input/output signals between the PMC and each I/O
device, there are two communication methods. They are the FANUC I/O Link i and the FANUC I/O Link.
You can use up to three channels for the serial interface. The communication method for the channel 1 and
the channel 2 can be specified by the CNC parameter. The channel 3 can be used only for the I/O Link.
For the details of the setting of the CNC parameter, see subsection “2.4.3”.
As for the transmission cycle of the signals from the I/O Link i, you can choose from the normal mode
(2msec) and the high-speed mode (0.5msec). You can specify the mode for each group of I/O devices.
The transmission cycle of the signals from the I/O Link is “2msec” for the channel 1 and 2. For the channel
3, it depends on the ladder execution period (4msec/8msec).
CNC
Channel 1
I/O Link i
Select by CNC parameter
I/O Link
I/O Link i
Channel 2
I/O Link
Channel 3
Fig. 1.7.1 (a) Setting of the communication method for each channels
I/O Link
Select by CNC parameter
The maximum I/O points of the I/O Link i are 2048 poins/2048 points for each channel. The maximum I/O
points of the I/O Link are 1024 points/1024 points for each channel.
The maximum I/O points for a system are 4096 points/4096 points (0i-F: 2048 points/2048 points) in total.
You can use one or more channels of the I/O Link i and the I/O Link, however the total points cannot exceed
the maximum points of the PMC system.
[The example of the selectable case of the I/O Link i and the I/O Link]
For the series 0i-F, the total points (DI/DO) are 2048/2048 points.
- 55 -
Page 82
1.OVERVIEW OF PMCB-64513EN/03
1.7.2 Setting I/O Address for I/O Link i
For the I/O addresses assignment of the I/O Link i channels, you set the I/O addresses and the PMC path to
each group and the slot of I/O devices which is connected to channels for the I/O Link i. The assignment is
operated in the FANUC LADDER-III and is programmed independent of the sequence program (.LAD file).
For the details, see the FANUC LADDER-III Operation’s Manual (B-66234EN).
The assignment date of the I/O Link i is loaded to a CNC as a I/O configuration data. I/O signals of the I/O
Link i are controlled by the I/O configuration data.
For details of I/O Link i, see Subsection 3.3.
For details of the setting operation of the I/O configuration data on the CNC screen, see Subsection 9.10.
The following figure is the multi-path PMC system overview using the I/O Link i.
• 1st PMC: The sequence program using I/O devices connected to the channel 1(I/O Link i)
• 2nd PMC: The sequence program using I/O devices connected to the channel 1(I/O Link i)
• 3rd PMC: The sequence program using I/O devices connected to the channel 2(I/O Link)
NOTE
The multi-path PMC function is an optional function.
FANUC LADDER-
Ⅲ
1st path sequence program
2nd path sequence program
3rd path
sequence program
I/O module assignment
CNC
1st-path PMC
2nd-path PMC
3rd-path PMC
X/Y0 ~ 127
channelPMCgroupslot
Loading
I/O configuration
data
X/Y0 ~ 127
I/O Link i assignment data (FIL file)
X address
0
1
1
PMC1
X0000
2
PMC2
X0010
1
PMC1
PMC2
X0020
X0030
1
2
Channel 1(I/O Link i)
Slot 1
Slot 2
Group 0
(normal mode)
Slot 1
Slot 2
(high speed mode)
Channel 2 (I/O Link)
Y address
Y0000
Y0010
Y0020
Y0030
Group 1
Transferred
period
Normal
(2msec)
High-speed
(0.5msec)
- 56 -
Group 0
Group 1
Page 83
B-64513EN/031.OVERVIEW OF PMC
1.7.3 Setting I/O Address for I/O Link
The I/O addresses of I/O Link channels can be assigned with CNC parameters. Moreover, setting the dual
assignment can divide one I/O link channel into two blocks and assign them to different PMC path.
For details of setting, see Subsection 9.9.3.For details of parameter setting, see Subsection 2.4.3.
NOTE
This function cannot be used for the I/O Link i.
Assign one I/O link channel to one PMC path
The I/O addresses of I/O Link channels can be assigned with CNC parameters.
If these parameters are not set (0 is set), all channels are assigned to the first PMC by default as follows:
1st PMC
X/Y0 to X/Y127
Channel 1
X/Y200 to X/Y327
X/Y400 to X/Y527
Fig. 1.7.3 (a) Default I/O addresses of I/O Link channels
Channel 2
Channel 3
In the following example, channel 1 is assigned to X/Y0 to X/Y127 of the first PMC, channel 2 is assigned
to X/Y200 to X/Y327 of the first PMC, and channel 3 is assigned to X/Y0 to X/Y127 of the second PMC:
1st PMC
X/Y0 to X/Y127
X/Y200 to X/Y327
2nd PMC
X/Y0 to X/Y127
Fig. 1.7.3 (b) Example of I/O address assignment for I/O Link channels
Channel 1
Channel 2
Channel 3
Assign one I/O link channel to two PMC paths
When multi-path path PMC function is used, you can use plural channels. However, there is the case of the
wasteful assignment in which the number of I/O link channel is lacking and the assigned I/O points are few.
The dual assignment of I/O Link channel can assign I/O devices on one I/O link channel to two PMC paths
effectively. To do so, the rest parts of one channel can be used in another PMC path and it is not necessary
to use more channels than it is needed. The dual assignment of I/O Link channel can be assigned with CNC
parameters.
In the following example, channel 1 is assigned to X/Y0 to X/Y127 of the first PMC and channel 2 is
assigned to X/Y200 to X/Y327 of the first PMC and X/Y0 to X/Y127 of the second PMC. As for the
channel 2, the former collection of the groups is referred to as "first block" and the latter is referred to as
"second block".
- 57 -
Page 84
1.OVERVIEW OF PMCB-64513EN/03
For details of parameter setting, see Subsection 3.2.4.3.
1st PMC
Channel 1
X/Y0 to 127
~
X/Y200 to 327
Group 0Group 1Group 2Group n
Channel 2
~~
Group 0Group n
Group 0Group n
2nd PMC
1st Block 2nd Block
X/Y0 to 127
Fig. 1.7.3 (c) Example of Dual Assignment of I/O Link Channel
- 58 -
Page 85
B-64513EN/031.OVERVIEW OF PMC
prog
1.8 1st LEVEL EXECUTION CYCLE of LADDER in 1ms/2ms
The 1st level execution cycle of a ladder program can be chosen from 1ms, 2ms, 4ms, or 8ms with a CNC
parameter.
The 1ms or 2ms of the 1st level execution cycle, a part of specifications differ to the 4ms or 8ms of the 1st
level execution cycle.
NOTE
This function cannot be used for the Series 0i-F.
1.8.1 Execution cycle of a ladder
When the setting of the 1st level execution cycle is 1ms or 2ms, the 1st level is executed in a 1ms or 2ms
cycle, and the 2nd and 3rd levels are executed in a 4ms cycle.
Example of 1st level execution cycle is 1ms
The 2nd and 3r d lev els are execu ted in a 4ms c yc le,
even if the
ram is completed within 3ms.
1st level
(1ms cycle)
2 nd lev el
(4ms cycle)
3rd level
(4ms cycle)
Exam ple of 1st level execution cycle is 2ms
1st level
(2ms cycle)
2 nd lev el
(4ms cycle)
4ms 8ms 0
The 2nd and 3rd levels are executed in a 4ms cycle,
even if the program is completed within 2ms.
3 rd lev el
(4ms cycle)
4ms 8ms 0
- 59 -
Page 86
1.OVERVIEW OF PMCB-64513EN/03
When the execution cycle of the 1st level is 2ms, the 2nd and 3rd levels can also be executed in a 2ms cycle
by setting of a CNC parameter. Please refer to "3.4 CNC Parameters Related to the PMCs" of this document
for details.
Example of 1st level execution cycle is 2ms, 2nd and 3rd levels execu tio n cycles are also 2ms.
The 2nd level is also execu ted in a 2ms cycle.
1s t level
(2ms cycle)
2nd level
(2ms cycle)
3rd level
(2ms cycle)
4ms 8ms 0
- 60 -
Page 87
B-64513EN/031.OVERVIEW OF PMC
Execution start order of ladder program when a power-on.
The ladder program is executed initially to set the input signals for the CNC (G signals) like the following
chart until the beginning of cyclic operation of the CNC from the power on of the CNC. The initial
execution is different from the cyclic execution. Therefore the ladder program is not executed at the
constant period and is continuously and repeatedly executed. The execution of each level of the ladder
program is not divided. They are executed from the top of the program to the end of the program in the order
of the following chart. After finishing the initial execution of the ladder, the CNC starts the cyclic
operation.
In the initial execution of the ladder program, the operations of the following functional instructions are
different from the normal operations.
- TMR、TMRB、TMRC、TMRST、TMRSS
The timer is not executed and the time is always 0 in the initial execution.
- WINDR、WINDW、AXCTL、EXIN、DISPB、PSGNL、PSGN2 They are executed as the NOP instruction (No operation) in the initial execution.
Execution start order of ladder program when a power-on
1st level
2nd level
3rd level
[Structure of a ladder]
- PMC path : 1st PMC (PMC1)
- ladder of execution cycles 1ms : PMC1-1
Power on
- 61 -
Page 88
1.OVERVIEW OF PMCB-64513EN/03
1.8.2 Maximum execution time
When a setting of an execution cycle is 1ms, the maximum execution time of the 1st level of ladder is 0.5ms.
And when a setting of an execution cycle is 2ms, the maximum execution time of the 1st level of ladder is
1ms. Because the 1st level of ladder has high execution frequency, it badly affects the scan time of the 2nd
level of ladder. Therefore, please make the 1st level of ladder execute as fast as possible.
Note
1 When the 1st level of ladder whose execution cycle is 1ms or 2ms exceeds the
maximum execution time, execution is divided to the next cycle.
Example when the 1st level of ladder whose execution cycle is 1ms exceeds
the maximum execution time (0.5ms).
1st level
2nd level
3rd level
4ms 8ms0
maximum execution time (0.5ms)
Example when the 1st level of ladder whose execution cycle is 2ms exceeds
the maximum execution time (1ms).
1st level
2nd level
3rd level
4ms 8ms0
maximum execution time (1ms)
2 The execution time of the 1st level of ladder whose execution cycle is 1ms or 2ms
can be checked on the PMC status (1,2ms ladder) screen. Please refer to "9.6.2
Displaying the status of the 1st level execution cycle in 1ms/2ms ([PMC status
(1,2ms ladder)] screen)" of this document for details.
- 62 -
Page 89
B-64513EN/031.OVERVIEW OF PMC
1.8.3 Notice in programming of the 1st level
Because the 1st level of ladder whose execution cycle is 1ms or 2ms has high execution frequency, it badly
affects the scan time of the 2nd level of ladder. Therefore, please make the 1st level of ladder execute as fast
as possible.
Generally, processing of functional instructions takes longer time than basic instructions. Therefore, please
make the 1st level of ladder whose execution cycle is 1ms and 2ms with fewer functional instructions.
Moreover, the performance will not be improved even if the following functional instructions execute in the
cycle faster than the execution cycle of CNCs because they operate by exchanging data between CNC and
PMC. Therefore, please do not use the following functional instructions in the 1st level of ladder whose
execution cycle is 1ms or 2ms. If these functional instructions are used on the 1st level of ladder whose
execution cycle is 1ms or 2ms, they are processed as NOP instructions. If you want to refer to the result of
following functional instructions in the 1st level of ladder, these functional instructions should be
programmed in 2nd level and refer to the result in 1st level.
The execution time of the 1st level of ladder whose execution cycle is 1ms or 2ms
can be checked on the PMC status (1,2ms ladder) screen. Please refer to "9.6.2
Displaying the status of the 1st level execution cycles 1ms/2ms ([PMC status
(1,2ms ladder)] screen)" of this document for details.
- 63 -
Page 90
1.OVERVIEW OF PMCB-64513EN/03
1.8.4 Operation when using the Ladder Dividing Management
Function
When using the 1st level execution cycle in 1ms, 2ms and the Ladder Dividing Management Function, you
can select one ladder from main ladder and divided ladder programs, and can execute it in 1ms or 2ms cycle.
The 1st level of other ladder programs, and the 2nd and 3rd level of all ladder programs are executed in a
4ms cycle.
Example when using the Ladder Dividing Management Function (1st level execution cycle 1ms)
1s t leve l of PMC1-1
1s t leve l of ladder whos e
execution cycle is 1ms
(selected one)
1st level of PMC1
1s t leve l of others
1st level of PMC1-99
2nd level of all
2nd level of PMC1 2nd level of PMC1-1
3rd level of all
[Structure of a ladder]
- Divided ladder : PMC1, PMC1-1, PMC1-99
- ladder of execution cycles 1ms : PMC1-1
4ms 8ms 0
3 rd lev el of PMC1
3rd level of PMC1-1
3rd level of PMC1-99
2 nd level of PM C1-99
NOTE
The 1st level of ladder that is executed in 1ms or 2ms cycle is selected by CNC
parameter No.11945 and 11946. Please refer to "2.4.3 CNC Parameters Related
to the PMCs" for details.
- 64 -
Page 91
B-64513EN/031.OVERVIEW OF PMC
y
Execution start order of ladder program when a power-on.
The ladder program is executed initially to set the input signals for the CNC (G signals) like the following
chart until the beginning of cyclic operation of the CNC from the power on of the CNC. The initial
execution is different from the cyclic execution. Therefore the ladder program is not executed at the
constant period and is continuously and repeatedly executed. The execution of each level of the ladder
program is not divided. They are executed from the top of the program to the end of the program in the order
of the following chart. After finishing the initial execution of the ladder, the CNC starts the cyclic
operation.
In the initial execution of the ladder program, the operations of the following functional instructions are
different from the normal operations.
- TMR、TMRB、TMRC、TMRST、TMRSS
The timer is not executed and the time is always 0 in the initial execution.
- WINDR、WINDW、AXCTL、EXIN、DISPB、PSGNL、PSGN2 They are executed as the NOP instruction (No operation) in the initial execution.
Execution start order of ladder program when a power-on
(when using the Ladder Dividing Management Function)
1st level of PMC1-1
1st level of ladder
whose execution
cle is 1ms
c
1st level of PMC1
2nd level of PMC1
1st level of others
2nd level of all
3rd level of all
[Structure of a ladder]
- Divided ladder : PMC1, PMC1-1, PMC1-99
- ladder of execution cycles 1ms : PMC1-1
Power on
1st level of PMC1-99
2nd level of PMC1-1
2nd level of PMC1-99
3rd level of PMC1
3rd level of PMC1-1
3rd level of PMC1-99
- 65 -
Page 92
1.OVERVIEW OF PMCB-64513EN/03
1.8.5 Operation when using the Multi-path PMC Function
When using the 1st level execution cycle in 1ms, 2ms and the Multi-path PMC Function, you can select one
PMC path from multi-path PMC (except for DCSPMC), and can execute it in 1ms or 2ms cycle. The 1st
level of other PMC path, and the 2nd and 3rd level of all PMC paths are executed in a 4ms cycle.
In this case, ladder programs of all PMC paths are executed continuously for each ladder execution level.
Therefore, the setting (CNC parameter No.11905-11909) of the execution time rate for each PMC path is
ineffective.
Example when using the Multi-path PMC Function (1st level execution cycle 1ms)
1st level of PMC2
1st level of ladder whose
execution cycle is 1ms
(selected one)
1s t level of PMC1
1st level of others
1s t level of PMC3
2nd level of all
2nd level of PMC12nd level of PMC2
3rd level of all
[Structure of a ladder]
- Multi-path PMC : 3 Paths(PMC1 to PMC3)
- ladder of execution cycles 1ms : PMC2
4ms 8ms 0
3rd level of PMC1
3rd level of PMC2
2 nd level of PMC3
3 rd level of PMC3
NOTE
1 The 1st level of ladder that is executed in 1ms or 2ms cycle is selected by CNC
parameter No.11945 and 11946. Please refer to "2.4.3 CNC Parameters Related
to the PMCs" for details.
2 When using both the multi-path PMC function and ladder dividing management
function, the 1st level execution cycle in 1ms, 2ms can be used. In this case, one
1st level of ladder is selected from all ladder programs by setting CNC parameter
No.11945 and No.11946.
- 66 -
Page 93
B-64513EN/031.OVERVIEW OF PMC
Execution start order of ladder program when a power-on.
The ladder program is executed initially to set the input signals for the CNC (G signals) like the following
chart until the beginning of cyclic operation of the CNC from the power on of the CNC. The initial
execution is different from the cyclic execution. Therefore the ladder program is not executed at the
constant period and is continuously and repeatedly executed. The execution of each level of the ladder
program is not divided. They are executed from the top of the program to the end of the program in the order
of the following chart. After finishing the initial execution of the ladder, the CNC starts the cyclic
operation.
In the initial execution of the ladder program, the operations of the following functional instructions are
different from the normal operations.
- TMR、TMRB、TMRC、TMRST、TMRSS
The timer is not executed and the time is always 0 in the initial execution.
- WINDR、WINDW、AXCTL、EXIN、DISPB、PSGNL、PSGN2 They are executed as the NOP instruction (No operation) in the initial execution.
Execution start order of ladder program when a power-on
(when using the Multi-path PMC Function)
1st level of PMC2
1st level of ladder
whose execution
cycle is 1ms
1st level of PMC1
2nd level of PMC1
1st level of others
2nd level of all
3rd level of all
[Structure of a ladder]
- Multi-path PMC : 3Paths(PMC1 to PMC3)
- ladder of execution cycles 1ms : PMC2
Power on
1st level of PMC3
2nd level of PMC2
2nd level of PMC3
3rd level of PMC1
3rd level of PMC2
3rd level of PMC3
- 67 -
Page 94
2.PMC SPECIFICATIONSB-64513EN/03
2 PMC SPECIFICATIONS
2.1 SPECIFICATIONS
2.1.1 Basic Specifications
Table 2.1.1 (a) Basic specifications of each PMC path
Function 1st to 5th path PMC DCSPMC (Note1) Reference
Multi-Path PMC function Maximum 5 paths
(0i-F:Maximum 3 paths)
PMC Memory Type 1st PMC
PMC Memory-B, C, D
2nd to 5th PMC
PMC Memory-A, B, C
Common PMC Memory with 1st PMC
Programming language Ladder
Step sequence(Note2)
Function block
Divided ladder program
- Number of programs
- File number
Number of ladder levels 3 2 (Note3) 1.4.3
Level 1 execution period 1ms, 2ms, 4ms or 8ms
Processing power
- Basic instruction processing
speed (transition contact)
40(0i-F:16)
1 to 99
(0i-F:4ms or 8ms)
9.1ns/step
(0i-F:18.2ns/step)
- 1.6
- 2.1.3
Ladder
Function block
None
8ms 1.8, 2.4.3
1μs/step
4
10
11
2.1.4
-
Program capacity
- Ladder
- Symbol & Comment
- Message
Instructions
- Basic instructions
- Functional instructions
CNC interface
- Inputs (F)
- Outputs (G)
DI/DO
- Inputs (X) Up to 4,096 points
- Outputs(Y) Up to 4,096 points
Symbol & Comment
- Number of symbol characters 40 40
- Number of comment characters
Program storage area
(Flash ROM)
Up to about 300,000 steps
(0i-F:100,000steps)
At least 1KB
At least 8KB
24
218
768 bytes×10
768 bytes×10
(0i-F:2,048 points)
(0i-F:2,048 points)
255×4 255×4
Max. 5MB (total size of sequence
program of all PMC paths and
PMC message multi-language
data)
Up to about 5,000 steps
At least 1KB
At least 8KB
24
210
768 bytes
768 bytes
Up to 896 points
Up to 896 points
128 KB 2.1.4
2.1.2, 2.1.4
2.1.7
2.1.8, 2.1.9
2.2.1
2.2.2, 3
1.2.7, 2.1.5
- 68 -
Page 95
B-64513EN/032.PMC SPECIFICATIONS
NOTE
1 This PMC is used for Dual Check Safety function (option) and handles the safety
related signals.
2 The Step Sequence is available in the main ladder of 1st PMC.
3 A program can be created on level 3 to maintain source-level compatibility with
programs for other models, but it is not executed.
Table 2.1.1 (b) Basic specificat io n s o f each PMC Memory Type
1 This PMC is used for Dual Check Safety function (option).
2 The extra relay is common memory for the multi-PMC function. This means that
its size covers all of PMCs. Moreover, It is possible to use the extra relay as
nonvolatile memory by the option.
3 No extra relay is available for DCS PMC.
4 The message display relay is ineffective in DCS PMC because the message
display function is unavailable in it.
5 Under the configuration having two or more paths of PMC Memory-C or one path
of PMC Memory-D, specify the "Nonvolatile PMC data table area expansion
40KB" option. If this option is not added, the expanded data table area (D10000~)
is not kept after rebooting CNC. Refer to subsection 2.1.3 for details.
2.1.2 Total Ladder Steps of Multi-path PMC
For the multi-path PMC system, you can specify a ladder step option by the total step of all of PMCs.
Option name Specification Maximum ladder size
PMC Ladder Function 24,000 Step
PMC Ladder Function 32,000 Step
PMC Ladder Function 64,000 Step
PMC Ladder Function 100,000 Step
PMC Ladder Function 300,000 Step (Note)
NOTE
The option “PMC Ladder Function 300,000 Steps” is not supported for the
Series 0i-F.
Example 1 (The case of using ladder dividing management function)
A main ladder and two divided ladder programs are used. When the main ladder program requires 25,000
steps and the 1st divided ladder program requires 20,000 steps and the 2nd divided ladder program
requires 15,000 steps, the “PMC ladder function 64,000 step” option is necessary.
Basic
H990#32K
H990#64K
H990#100K
H990#300K
PMC Ladder 64,000 steps option
102KB
136KB
272KB
425KB
1,275KB
Ladder steps of each program
Ladder steps
Main ladder 25,000 steps
Divided ladder 1 20,000 steps
Divided ladder 2 15,000 steps
Total 60,000 steps
Main ladder program (25,000 steps)
Divided ladder program 1 (20,000 steps)
Divided ladder program 2 (15,000 steps)
NOTE
Total size of main ladder program and some divided ladder programs are limited
by the maximum size of specified step option.
- 70 -
Page 97
B-64513EN/032.PMC SPECIFICATIONS
Example 2 (The case of using multi-path PMC)
When the 1st PMC requires 48,000 steps, the 2nd PMC requires 32,000 steps and the 3rd PMC requires
16,000 steps on 3-path PMC system, the “PMC ladder function 100,000 step” option is necessary.
Ladder steps of each PMC path
Ladder steps
1st PMC 48,000 steps
2nd PMC 32,000 steps
PMC Ladder 100,000 steps option
1st PMC (48,000 steps)
3rd PMC 16,000 steps
Total 96,000 steps
2nd PMC (32,000 steps)
3rd PMC (16,000 steps)
NOTE
Total size of main ladder program and some divided ladder programs are limited
by the maximum size of specified step option.
Example 3 (The case of using ladder dividing management function and
Multi-path PMC function together)
The following case uses three PMC paths and six sequence programs. When the total steps are 90,000
steps, the “PMC ladder function 100,000 step” option is necessary.
Steps
Main ladder of 1st path PMC 25,000 steps
Divided ladder 1 of 1st path PMC 20,000 steps
Divided ladder 2 of 1st path PMC 15,000 steps
Main ladder of 2nd path PMC 15,000 steps
Divided ladder of 2nd path PMC 10,000 steps
Main ladder of 3rd path PMC 5,000 steps
Ladder steps of each program
Total 90,000 steps
Main ladder of 1st path PMC (25,000 steps)
Divided ladder 1 of 1st path PMC (20,000 steps)
Divided ladder 2 of 1st path PMC (15,000 steps)
Main ladder of 2nd path PMC (15,000 steps)
Divided ladder of 2nd path PMC (10,000 steps)
Main ladder of 3rd path PMC (5,000 steps)
100,000 step option
NOTE
1 Total size of main ladder program and some divided ladder programs are limited
by the maximum size of specified step option.
2 If the total steps of sequence programs exceed the step number of specified step
option, the PMC alarm “ER03 PROGRAM SIZE ERROR(OPTION)” occurs in the
path just when the excess of steps is detected. The sequence program of the
PMC path, in which the alarm occurs, will not be executed.
3 The total steps does not include the ladder steps of dual check safety PMC.
- 71 -
Page 98
2.PMC SPECIFICATIONSB-64513EN/03
2.1.3 Determination of PMC Memory Type
PMC memory type
There are four PMC memory types i.e. memory-A, memory-B, memory-C and memory-D. These
memory types differ in the size of PMC address. For the 2nd to 5th path PMC, the PMC memory can be
also shared with the 1st path PMC. The DCS PMC does not have plural PMC memory types.
For the details of the PMC memory type, refer to subsection “2.1.1”. As for the CNC parameter for the
PMC memory type, refer to subsection “2.4.3”.
The following is the selectable PMC memory types in each PMC path.
1st path PMC 2nd to 5th path PMC Remark
PMC-memory B (default)
PMC-memory C
PMC-memory D Shared with 1st path PMC
PMC-memory A (default)
PMC-memory B
PMC-memory C
Shared with 1st path PMC
Nonvolatile area of the data table in each PMC memory type
The following table is the data table number and basic nonvolatile area of each PMC memory type.
Table 2.1.3 (a) Data table number of each PMC memory type
PMC memory type Data Table Basic nonvolatile area
PMC memory-A 3,000 bytes 3,000 bytes
PMC memory-B 10,000 bytes 10,000 bytes
PMC memory-C 20,000 bytes 20,000 bytes (In case of using one path of
PMC memory-D 60,000 bytes 10,000 bytes
NOTE
To use two or more paths of PMC memory-C or one path of PMC memory-D,
specify the option “Nonvolatile PMC data table area expansion (40KB)”. If this
option is not specified, the data at D10000 and subsequent addresses is not
saved.
You can specify up to three paths both of
PMC-memory B and C in total.
PMC-memory C)
10,000 bytes (In case of using two or more
paths of PMC-memory C)
- 72 -
Page 99
B-64513EN/032.PMC SPECIFICATIONS
2.1.4 Program Capacity
All of the memory size, to which save the sequence program and multi-language PMC message data for
all PMC paths, is specified as the combination of the following two options. The size of each data is
calculated per 128KB.
Minimum unit of the size of divided ladder program is also 128KB. You can make up to 40(Note1)
programs of main ladder and divided ladder within specified total memory size.
(1) PMC Ladder step option
Option name Memory size
PMC Ladder Function 24,000 Steps (Basic) 256 KB
PMC Ladder Function 32,000 Steps 384 KB
PMC Ladder Function 64,000 Steps 768 KB
PMC Ladder Function 100,000 Steps 1 MB (1,024 KB)
PMC Ladder Function 300,000 Steps (Note2) 3 MB (3,072 KB)
(2) PMC Symbol, Comment and Message capacity expansion option
Option name Memory size
PMC Symbol, Comment and Message capacity expansion (512KB) 512KB
PMC Symbol, Comment and Message capacity expansion (1MB) 1MB (1,024KB)
PMC Symbol, Comment and Message capacity expansion (2MB) (Note2)2MB (2,048KB)
NOTE
1 For the series 0i-F, up to 16 programs can be made.
2 These options are not supported for the Series 0i-F.
Configuration example 1 (Basic configuration)
Kind of data Ladder steps Memory size
Sequence program 50,000 steps 640KB
The following option is required for above configuration.
(1) “PMC Ladder Function 64,000 Steps”
Specify the ladder steps.
Configuration Example 2 (The case of using ladder dividing management
function)
Kind of data Ladder steps Memory size
Main ladder program 30,000 steps 384KB
Divided ladder program 1 10,000 steps 128KB
Divided ladder program 2 10,000 steps 128KB
(Total) 50,000 steps 640KB
The following option is required for above configuration.
(1) “PMC Ladder Function 64,000 Steps”
Specify the total ladder steps.
- 73 -
Page 100
2.PMC SPECIFICATIONSB-64513EN/03
Configuration example 3 (The case of using PMC message multi language
display function)
Kind of data Ladder steps Memory size
Main ladder program 30,000 steps 384KB
Divided ladder program 1 10,000 steps 128KB
Divided ladder program 2 10,000 steps 128KB
PMC message multi-language display data 0 256KB
(Total) 50,000 steps 896KB
The following options are required for above configuration.
(1) “PMC Ladder Function 64,000 Steps”
Specify the total ladder steps.
(2) “PMC Symbol, Comment and Message capacity expansion 512KB”
Specify the memory capacity to add to “PMC Ladder Function Step Option”. The memory size of
“PMC Ladder Function 64,000 steps” is 768KB. Therefore, this option is necessary because it is
short of memory by 128KB.
Configuration example 4 (The case of using multi-path PMC)
Kind of data Ladder steps Memory size
Main ladder program of 1st path PMC 30,000 steps 384KB
Divided ladder program 1 of 1st path PMC 10,000 steps 128KB
Divided ladder program 2 of 1st path PMC 10,000 steps 128KB
Sequence program of 2nd path PMC 30,000 steps 384KB
Sequence program of 3rd path PMC 15,000 steps 128KB
PMC message multi-language display data of 1st path PMC 0 256KB
PMC message multi-language display data of 2nd path PMC0 128KB
(Total) 95,000 steps 1,536KB
The following options are required for above configuration.
(1) “Multi-Path PMC Function (3-Paths)”
Specify the path number according to using PMC path.
(2) “PMC Ladder Function 100,000 Steps”
Specify the total ladder steps.
(3) “PMC Symbol, Comment and Message capacity expansion 512KB”
Specify the memory capacity to add to “PMC Ladder Function Step Option”. The memory size of
“PMC Ladder Function 100,000 steps” is 1024KB. Therefore, this option is necessary because it is
short of memory by 512KB.
NOTE
1 When the total size is exceed the specified memory capacity by options, the alarm
“ER02 PROGRAM SIZE OVER” or “WN64 MESSAGE FILE SIZE OVER“ occurs in
the PMC path in which detected the error.
2 When plural data are edited, inputted or outputted at the same time using CNC
screen or FANUC LADDER-III, the data may not be expanded even if the total size
is under the specified memory capacity. In this case, stop the simultaneous
operations and retry the modification one by one.
3 Above memory size does not include the memory for DCS PMC. The memory size
of DCS PMC is 128KB.
- 74 -
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.