LadderWorks PLC
Reference Manual
Revision 2.01
© 2012 Soft Servo Systems, Inc.
LADDERWORKS PLC REFERENCE MANUAL
Warning / Important Notice
_____________________________________________________________________________________
i
Warning
The product described herein has the potential – through misuse, inattention, or lack of understanding – to create
conditions that could result in personal injury, damage to equipment, or damage to the product(s) described herein.
Machinery in motion and high-power, high-current servo drives can be dangerous; potentially hazardous situations
such as runaway motors could result in death; burning or other serious personal injury to personnel; damage to
equipment or machinery; or economic loss if procedures aren’t followed properly. Soft Servo Systems, Inc. assumes
no liability for any personal injury, property damage, losses or claims arising from misapplication of its products. In
no event shall Soft Servo Systems, Inc. or its suppliers be liable to you or any other person for any incidental
collateral, special or consequential damages to machines or products, including without limitation, property damage,
damages for loss of profits, loss of customers, loss of goodwill, work stoppage, data loss, computer failure or
malfunction claims by any party other than you, or any and all similar damages or loss even if Soft Servo Systems,
Inc., its suppliers, or its agent has been advised of the possibility of such damages.
It is therefore necessary for any and all personnel involved in the installation, maintenance, or use of these products
to thoroughly read this manual and related manuals and understand their contents. Soft Servo Systems, Inc. stands
ready to answer any questions or clarify any confusion related to these products in as timely a manner as possible.
The selection and application of Soft Servo Systems, Inc.’s products remain the responsibility of the equipment
designer or end user. Soft Servo Systems, Inc. accepts no responsibility for the way its controls are incorporated
into a machine tool or factory automation setting. Any documentation and warnings provided by Soft Servo
Systems, Inc. must be promptly provided to any end users.
This document is based on information that was available at the time of publication. All efforts have been made to
ensure that this document is accurate and complete. However, due to the widely varying uses of this product, and
the variety of software and hardware configurations possible in connection with these uses, the information
contained in this manual does not purport to cover every possible situation, contingency or variation in hardware or
software configuration that could possibly arise in connection with the installation, maintenance, and use of the
products described herein. Soft Servo Systems, Inc. assumes no obligations of notice to holders of this document
with respect to changes subsequently made. Under no circumstances will Soft Servo Systems, Inc. be liable for any
damages or injuries resulting from any defect or omission in this manual.
Soft Servo Systems, Inc. makes no representation or warranty, expressed, implied, or statutory with respect to, and
assumes no responsibility for the accuracy, completeness, sufficiency, or usefulness of the information contained
herein. NO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS OF PURPOSE SHALL APPLY.
LADDERWORKS PLC REFERENCE MANUAL
Warning / Important Notice
_____________________________________________________________________________________
ii
Important Notice
The information contained in this manual is intended to be used only for the purposes agreed upon in the related
contract with Soft Servo Systems, Inc. All material contained herein is subject to restricted rights and restrictions
set forth in the contract between the parties.
These manuals contain confidential and proprietary information that is not to be shared with, nor distributed to, third
parties by any means without the prior express, written permission of Soft Servo Systems, Inc. No materials
contained herein are to be duplicated or reproduced in whole or in part without the express, written permission of
Soft Servo Systems, Inc.
Although every effort and precaution has been taken in preparing this manual, the information contained herein is
subject to change without notice. This is because Soft Servo Systems, Inc. is constantly striving to improve its
products. Soft Servo Systems, Inc. assumes no responsibility for errors or omissions.
All rights reserved. Any violations of contractual agreements pertaining to the materials herein will be prosecuted to
the full extent of the law.
LADDERWORKS PLC REFERENCE MANUAL
Contents
_____________________________________________________________________________________
iii
Table of Contents
Warning ............................................................................................................................................................................................. i Important Notice ............................................................................................................................................................................. ii Table of Contents ........................................................................................................................................................................... iii List of Tables .................................................................................................................................................................................. iv List of Figures ................................................................................................................................................................................. v Introduction .................................................................................................................................................................................... vi Chapter 1: Inside the LadderWorks PLC Engine (How the LadderWorks PLC Engine Operates) ....................................... 1-1
1.1 The Sequential Processing of the Sequence Program ..................................................................................... 1-1 1.2 Repetitive Sampling ........................................................................................................................................ 1-2 1.3 I/O Signals ...................................................................................................................................................... 1-2
1.3.1 Input ........................................................................................................................................................ 1-2 1.3.2 Output ..................................................................................................................................................... 1-2
1.4 PLC Code Execution....................................................................................................................................... 1-3 Chapter 2: Memory Addresses ................................................................................................................................................... 2-1
2.1 What Are Memory Addresses? ....................................................................................................................... 2-1 2.2 Addresses Related to the PLC ......................................................................................................................... 2-1 2.3 Address Specifications .................................................................................................................................... 2-2 2.4 PLC and Machine Tool Addresses (PLC ↔ MT) ........................................................................................... 2-3 2.5 LadderWorks PLC Engine and ServoWorks CNC Engine/SMP Motion Engine Addresses (PLC ↔ NC) ... 2-3 2.6 Internal Relay Addresses (R) .......................................................................................................................... 2-4 2.7 Counter Addresses (C) .................................................................................................................................... 2-5 2.8 Keep Relay Addresses (K) .............................................................................................................................. 2-6 2.9 Data Addresses (D) ......................................................................................................................................... 2-6 2.10 Timer Addresses (T) ..................................................................................................................................... 2-7 2.11 Alarm Relay Addresses (A) .......................................................................................................................... 2-7
Chapter 3: Static Memory ............................................................................................................................................................ 3-1 3.1 Timer, Counter, Keep Relay, Data Table ........................................................................................................ 3-1
3.1.1 Overview of Static Memory .................................................................................................................... 3-1 3.1.2 Timer ....................................................................................................................................................... 3-1 3.1.3 Counter (Addresses C0~C79) ................................................................................................................. 3-1 3.1.4 Keep Relay (Addresses K0~K99) ........................................................................................................... 3-2 3.1.5 Data Addresses (Addresses D0~D1999) ................................................................................................. 3-2
3.2 Reading and Writing Static Memory .............................................................................................................. 3-2 3.3 PLC Data Table(s) .......................................................................................................................................... 3-3
Chapter 4: LadderWorks PLC Axis Control ............................................................................................................................... 4-1 4.1 PLC Axis Control Function ............................................................................................................................ 4-1 4.2 PLC Axis Signals ............................................................................................................................................ 4-4
4.2.1 PLC Axis Rapid Override Selection Signals: G_ROV1E, G_ROV2E ................................................... 4-4 4.2.2 PLC Axis Control Command Code Signals: G_CDnX0, G_CDnX7 ...................................................... 4-5 4.2.3 PLC Axis Feedrate Control Signals: G_FDnX0, G_FDnXF .................................................................. 4-5 4.2.4 PLC Axis Control Data Signals: G_DnX00, G_DnX31 ......................................................................... 4-5 4.2.5 PLC Axis Control Command Read-In Strobe Signal: G_PMCAn .......................................................... 4-6 4.2.6 PLC Axis Control Command Read-In Completed Signal: F_CNCAn ................................................... 4-6 4.2.7 PLC Axis Buffer Full Signal: F_BUFn ................................................................................................... 4-6 4.2.8 PLC Axis Reset Signal: G_RTSn ............................................................................................................ 4-6 4.2.9 PLC Axis Temporary Stop Signal: G_STPn ........................................................................................... 4-6 4.2.10 PLC Axis Block Stop Signal: G_SBKn ................................................................................................ 4-7 4.2.11 PLC Axis Block Stop Prohibited Signal: G_MSBKn ........................................................................... 4-7 4.2.12 PLC Axis Distribution End Signal: F_DENn ........................................................................................ 4-7 4.2.13 PLC Axis Counter Value Signals: F_CnP00, F_CnP31 ........................................................................ 4-7 4.2.14 PLC Axis Command Skip Signal: G_CSKPn ....................................................................................... 4-8 4.2.15 PLC Axis Encoder Counter Clear Signal: G_CTCLn – NOT AVAILABLE YET .............................. 4-8 4.2.16 PLC Axis Feedrate Override Signals: G_OVnX0, G_OVnX7 ............................................................. 4-8
LADDERWORKS PLC REFERENCE MANUAL
Contents
_____________________________________________________________________________________
iv
4.3 PLC Axes Timing Chart ................................................................................................................................. 4-9 4.4 Example Code for PLC Axis Operation........................................................................................................ 4-10
Chapter 5: MF/DEN Timing .......................................................................................................................................................... 5-1 5.1 Explanation of MF and DEN Signals Considering Smoothing Mode ............................................................ 5-1 5.2 Examples of MF/DEN Timing ........................................................................................................................ 5-2
5.2.1 Example 1: When G and M Are In Different Blocks .............................................................................. 5-2 5.2.2 Example 2: When G and M Are In The Same Block (Parameter G and M Code Order: MG)............ 5-2 5.2.3 Example 3: When G and M Are In the Same Block (Parameter G and M Code Order: Same Time) ..... 5-3 5.2.4 Example 4: When G and M Are In the Same Block (Parameter G and M Code Order: GM) ............. 5-3
5.3 History of MF/DEN Specification .................................................................................................................. 5-3 Chapter 6: Manual Absolute Mode ............................................................................................................................................. 6-1
6.1 Manual Absolute On/Off ................................................................................................................................. 6-1 6.2 Machine Path with Absolute and Incremental Commands ............................................................................. 6-2
6.2.1 The Case When Manual Absolute Is OFF, ABSN (G06.2) = 1 ............................................................... 6-2 6.2.2 The Case When Manual Absolute Is ON, ABSN(G06.2) = 0.................................................................. 6-3
6.3 Input/Output Signals ....................................................................................................................................... 6-4 6.3.1 Manual Absolute Signal ABSM (G06.2) ................................................................................................. 6-4 6.3.2 Manual Absolute Confirmation Signal MABSM (F04.2) ....................................................................... 6-4 6.3.3 Relationship of F04.2 to G06.2 ............................................................................................................... 6-4
6.4 Examples ......................................................................................................................................................... 6-5 6.4.1 Example 1: Manual Operation After the End of a Block ........................................................................ 6-5 6.4.2 Example 2: Manual Operation in the Middle of a Block ........................................................................ 6-6
Chapter 7: PLC Interrupt ............................................................................................................................................................. 7-1 7.1 PLC Interrupt .................................................................................................................................................. 7-1 7.2 Input/Output Signals ....................................................................................................................................... 7-1
7.2.1 PLC Interrupt Axis Selection Signals: PLCIA-PLCID (G041.4-G041.7) .............................................. 7-1 7.2.2 PLC Interrupt Offset Signals: PLCI00-PLCI31 (G192.0-G195.7) ......................................................... 7-1
7.3 Applying an Offset Using the PLC Interrupt .................................................................................................. 7-2 7.4 Examples ......................................................................................................................................................... 7-2
7.4.1 Example 1: Gap Control .......................................................................................................................... 7-2 Chapter 8: LadderWorks PLC Architecture ............................................................................................................................... 8-1 Index.................................................................................................................................................................................................. I
List of Tables
Table 2-1: Signal Types ............................................................................................................................................. 2-2 Table 4-1: PLC Axis Signals ..................................................................................................................................... 4-2 Table 4-2: Rapid Override Selection Signal .............................................................................................................. 4-4 Table 4-3: Axis Control Command Codes................................................................................................................. 4-5 Table 7-1: PLC G Address Map for PLC Interrupt Axis Selection ........................................................................... 7-1
LADDERWORKS PLC REFERENCE MANUAL
Contents
_____________________________________________________________________________________
v
List of Figures
Figure 1-1: First Example of a Circuit ....................................................................................................................... 1-1 Figure 1-2: Second Example of a Circuit .................................................................................................................. 1-1 Figure 1-3: Execution of Sequence Program by the LadderWorks PLC Engine ....................................................... 1-3 Figure 2-1: Addresses Related to the LadderWorks PLC Engine .............................................................................. 2-1 Figure 2-2: Internal Relay Usable Region ................................................................................................................. 2-4 Figure 2-3: Counter Addresses .................................................................................................................................. 2-5 Figure 2-4: Keep Relay and Static Memory Control Addresses ................................................................................ 2-6 Figure 2-5: Data Table Addresses ............................................................................................................................. 2-6 Figure 2-6: Timer Addresses ..................................................................................................................................... 2-7 Figure 2-7: Alarm Relay Addresses........................................................................................................................... 2-7 Figure 3-1: Example of Counter Addresses ............................................................................................................... 3-2 Figure 4-1: PLC Axis Signal Format ......................................................................................................................... 4-3 Figure 4-2: PLC Axis Timing Chart for Command Operations ................................................................................ 4-9 Figure 4-3: Axis Type Settings in Parameter Window of SMP Console Application ............................................. 4-10 Figure 6-1: Manual Absolute ON, ABSN(G06.2) = 0. [The coordinates change with manual movement.] ............ 6-1 Figure 6-2: Manual Absolute OFF, ABSN(G06.2) = 1. [The coordinates remain unchanged.] ............................... 6-1 Figure 6-3: Manual Absolute OFF, ABSN(G06.2) = 1. ............................................................................................ 6-2 Figure 6-4: Manual Absolute ON, ABSN(G06.2) = 0. .............................................................................................. 6-3 Figure 6-5: Manual Absolute Mode Example #1 ...................................................................................................... 6-5 Figure 6-6: Manual Absolute Mode Example #2 ...................................................................................................... 6-6 Figure 8-1: Architecture of the LadderWorks PLC ................................................................................................... 8-2
LADDERWORKS PLC REFERENCE MANUAL
Introduction
_____________________________________________________________________________________
vi
Introduction
This manual provides details on the operation of the LadderWorks PLC Engine, memory addresses and static
memory used by LadderWorks PLC, and PLC axis control functions. It should be used as a supplement to the
LadderWorks PLC User’s Manual.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 1: Inside the LadderWorks PLC Engine (How the LadderWorks PLC Engine Operates)
_____________________________________________________________________________________
1-1
Chapter 1: Inside the LadderWorks PLC Engine (How the LadderWorks PLC Engine Operates)
The execution of a PLC sequence program by the LadderWorks PLC Engine is different from a usual relay circuit
because it is simulated by software. Therefore, in designing a PLC sequence program, it is important that you
understand the sequence of execution.
1.1 The Sequential Processing of the Sequence Program
In a usual relay sequence circuit, all relays can work simultaneously. For example, in Figure 1-1, when the relay A
is turned on (and both B and C are turned off), both relays D and E work at the exact same time.
With the LadderWorks PLC Engine, each relay in a circuit works sequentially. For example in Figure 1-1, when
relay A is on (and both B and C are turned off), first relay D, and then relay E is activated.
Figure 1-1: First Example of a Circuit
In other words, the sequence in a PLC program follows the sequence drawn on the ladder diagram (programming
order). Though the sequence’s execution is done very rapidly, it may affect the order of execution. Therefore, in a
ladder diagram as in Figure 1-2, you can see a difference in execution between the PLC sequence and the relay
circuit sequence.
Figure 1-2: Second Example of a Circuit
In the relay circuit sequence: In Figure 1-2, both circuits (A) and (B) work simultaneously. When A (P.B) is turned
on, current runs through coils B and C, and B and C are turned on at the same time. After C is turned on (after the
relay execution), B turns off the circuit.
E
D
B
C
A
A
NOTE: “P.B” refers to a format of “position.bit” C
B
C A (P.B)
Circuit (A)
A
A (P.B)
Circuit (B)
B
C
C A
LADDERWORKS PLC REFERENCE MANUAL
Chapter 1: Inside the LadderWorks PLC Engine (How the LadderWorks PLC Engine Operates)
_____________________________________________________________________________________
1-2
In the PLC sequence: In circuit (A), as in the relay circuit, when A (P.B) is turned on, B and C are both turned on,
and after a certain period of time (1 cycle of PLC sequence), B turns the circuit off. However, in circuit (B), when A
(P.B) is turned on, C is turned on, but B is not.
1.2 Repetitive Sampling
The LadderWorks PLC Engine samples values at discrete intervals (5 msec by default, except for ServoWorks
S-100T, which is 8 msec by default), so the sequence is run until the end of the ladder diagram; the sequence is then
executed again from the beginning of the ladder diagram. The time it takes to complete the execution of a program
from beginning to end (1 cycle) is called the sequence program’s execution time. The execution time is determined
by the control level (number of steps), and the size of the Number 1 level sequence, defined later. The faster the
execution time, the more responsive the program gets.
1.3 I/O Signals
There are two kinds of input signals to the LadderWorks PLC Engine: input signals from the ServoWorks CNC
Engine/SMP Motion Engine (i.e. signals sent as a result of M functions and T functions) and input signals from the
machine (i.e. cycle start and feed/hold signals). There are also two kinds of output signals from the LadderWorks
PLC Engine: output signals to the ServoWorks CNC Engine/SMP Motion Engine (i.e. cycle start, feed/hold) and
output commands to the machine (i.e. talet rotation, spindle suspension). The input signals are fed into the input
memory in the LadderWorks PLC Engine, and the output signals are the output of the LadderWorks PLC Engine.
1.3.1 Input
1) Input Memory from the ServoWorks CNC Engine/SMP Motion Engine: The input signals from the
ServoWorks CNC Engine/SMP Motion Engine to the LadderWorks PLC Engine originate from the
numerical control (NC) input memory specified by the ServoWorks CNC Engine/SMP Motion Engine, and
are usually transferred to the LadderWorks PLC Engine in 5 ms periods (or 8 ms periods for ServoWorks
S-100T).
2) Input Signals from the Machine: These signals are transferred from the input circuit to the input signal
memory.
3) Input Signal Memory: The input signal memory holds the signals transferred from the machine to the
LadderWorks PLC Engine in 8 ms periods.
1.3.2 Output
1) Output Memory to the ServoWorks CNC Engine/SMP Motion Engine: The output signal from the
LadderWorks PLC Engine to the ServoWorks CNC Engine/SMP Motion Engine is sent to the NC output
memory specified by the ServoWorks CNC Engine/SMP Motion Engine. The LadderWorks PLC Engine
sends the data in 5 ms periods (or 8 ms periods for ServoWorks S-100T).
2) Output Signals to the Machine: The output signals to the machines are transferred from the PLC’s output
signal memory to the output circuit.
3) Output Signal Memory: Output signal memory is the memory specified by the PLC sequence program.
The signals to the output signal memory are sent to the machine in 5 ms periods by the LadderWorks PLC
Engine (or 8 ms periods for ServoWorks S-100T).
LADDERWORKS PLC REFERENCE MANUAL
Chapter 1: Inside the LadderWorks PLC Engine (How the LadderWorks PLC Engine Operates)
_____________________________________________________________________________________
1-3
1.4 PLC Code Execution
PLC code is executed one command at a time. For example, the instruction sequence “RD X0.0, AND R10.1, WRT
Y0.0” does the following:
1) On the first command (RD X0.0), the input signal at address X0.0 is inserted into the computation register.
2) On the next command (AND R10.1), it takes the internal relay value at the address R10.1, computes the
logical AND with the current computational register value, and puts it back into the computational register.
3) On the last command (WRT Y0.0), it stores the value in the computational register to the output signal at
address Y0.0.
Once you write the PLC code for a sequence program, you can use the LadderWorks PLC Control Console
application to convert it into machine language for the computer.
Figure 1-3: Execution of Sequence Program by the LadderWorks PLC Engine
Internal Relay (RAM)
Output Pathway
Input Pathway
Controls
PLC Engine (Programmable Logic Controller)
Sequence Program Memory
CPU
RD X0.0 AND R10.1 OR X6.1 AND.NOT R20.3 WRT Y0.0 · · ·
· .
R10.0 R20.3
X0.0 X6.1
Y0.0
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-1
Chapter 2: Memory Addresses
2.1 What Are Memory Addresses?
An address is the number that represents the location in memory of where I/O signals to and from the machine, I/O
signals to and from the ServoWorks CNC Engine/SMP Motion Engine, internal relays, counters, keep relays
(parameters for the PLC sequence program), and data cables reside. An address consists of an address number (each
one contains eight signals) and a bit number (0-7) to specify which of the eight. The symbol table that shows the
signal name and the respective address is created using the PLC Control Console Application.
2.2 Addresses Related to the PLC
The addresses used by the PLC’s sequence program can be divided roughly into 4 different types, as shown in the
following figure:
Figure 2-1: Addresses Related to the LadderWorks PLC Engine
Machine/Machine Tool (MT) Related Signals (X and Y addresses)
Signals Related to the ServoWorks CNC Engine or
SMP Motion Engine (NC) (F and G addresses)
LadderWorks PLC Engine
Internal Relay (R and A
addresses)
Static Memory: (1) Counter (C addresses) (2) Keep Relay (K addresses) (3) Data Table (D addresses) (4) Variable Timer (T addresses)
User Interface
Application
F
G
Y X
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-2
2.3 Address Specifications
An address consists of an address and a bit number in the following format:
The first character of the address is always a letter of the alphabet representing the type of signal as shown in the
following table. When performing byte-level addressing within a function command, use X220. The “·” and the bit
number is not necessary in this case.
SIGNAL LETTER
TYPE OF SIGNAL STORED IN:
X Input signals from the machine to the
LadderWorks PLC Engine (MT → PLC) RAM
Y Output signals (commands) from the
LadderWorks PLC Engine to the machine (PLC → MT)
RAM
F Input signals from the ServoWorks CNC
Engine/SMP Motion Engine to the LadderWorks PLC Engine (NC→ PLC)
RAM
G Output signals from the LadderWorks PLC
Engine to the ServoWorks CNC Engine/SMP Motion Engine (PLC → NC)
RAM
R Internal Relay RAM
C Counter static memory
K Keep Relay static memory
D Data Table static memory
T Variable Timer static memory
A Alarm RAM
Table 2-1: Signal Types
Bit Number (0~7)
Address Number (a capital letter and a number under four digits)
X220. 2
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-3
2.4 PLC and Machine Tool Addresses (PLC ↔ MT)
Addresses related to the machine are as follows:
a) LadderWorks PLC Engine ←MT (machine tool):
Address Range: X0~X99
b) LadderWorks PLC Engine →MT (machine tool):
Address Range: Y0~Y99
Within the byte ranges above, a maximum of 800/800 I/O signals can be declared, though they must be allocated in
one-byte increments (space for 8 signals).
For the addresses of specific signals, refer to the LadderWorks PLC I/O Mapping for SMP Products manual, the
LadderWorks PLC I/O Mapping for ServoWorks MC-Quad and the ServoWorks S-100M Series manual or the
LadderWorks PLC I/O Mapping for ServoWorks S-100T manual, which list the name and address of each specific
signal included in the ServoWorks CNC or SMP system. Input signals from the ServoWorks CNC Engine or the
SMP Motion Engine have fixed addresses.
2.5 LadderWorks PLC Engine and ServoWorks CNC Engine/SMP Motion Engine Addresses (PLC ↔ NC)
Addresses related to the ServoWorks CNC Engine or the SMP Motion Engine are as follows:
a) LadderWorks PLC Engine ←ServoWorks CNC Engine/SMP Motion Engine Signals:
Address Range: F0~F399
b) LadderWorks PLC Engine →ServoWorks CNC Engine/SMP Motion Engine Signals:
Address Range: G0~G399
For the addresses of specific signals, refer to the LadderWorks PLC I/O Mapping for SMP Products manual, the
LadderWorks PLC I/O Mapping for ServoWorks MC-Quad and the ServoWorks S-100M Series manual or the
LadderWorks PLC I/O Mapping for ServoWorks S-100T manual, which list the name and address of each specific
signal included in the LadderWorks system.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-4
2.6 Internal Relay Addresses (R)
The internal relay can use 1000 bytes, at addresses R0~R999 (see Figure 2-2). This region will be refreshed every
time the power is turned on.
The addresses R9000~R9099 can be used as input in a sequence program, but cannot be used as output because the
results of functional commands are stored in this address space.
Refer to the following figure:
Figure 2-2: Internal Relay Usable Region
7 6 5 4 3 2 1 0
Results of functional commands – can be used as input in a sequence program (100 bytes)
Internal Relay (1000 bytes)
R9099
R9000
R999
R3
R2
R1
R0
···· ···················
Address No.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-5
2.7 Counter Addresses (C)
Addresses C0~C79 (80 bytes of memory) are designated for the counters. The contents in this memory are not
erased when the power is off because this region holds static memory.
Counters do not physically exist. They are simulated counters and they can be programmed to count pulses.
Typically these counters can count up, down or both up and down.
Refer to the following figure:
Figure 2-3: Counter Addresses
7 6 5 4 3 2 1 0
C7
C6
C5
C4
C3
C2
C1
C0
Address No.
C79
C78
C77
C76
·································
················
Counter #1
Counter Register
Preset Value
Counter #2
Counter Register
Preset Value
Counter #20
Counter Register
Preset Value
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-6
2.8 Keep Relay Addresses (K)
Addresses K0~K99 (100 bytes of memory) are used to store the keep relay data and the PLC parameters. The
contents in this memory are not erased when the power is turned off. This is also static memory. Refer to the
following figure:
Figure 2-4: Keep Relay and Static Memory Control Addresses
2.9 Data Addresses (D)
Certain data is stored in static memory, so the contents in this memory are not erased when the power is turned off.
The basic data table resides at addresses D0~D1999 (2000 bytes of memory). This memory can be used for
constants, or as temporary storage for math or data manipulation. Refer to the following figure:
Figure 2-5: Data Table Addresses
7 6 5 4 3 2 1 0
K99
K98
K97
K96
K2
K1
K0
··········
Address No.
7 6 5 4 3 2 1 0
D1999
D1998
Basic Data Table (2000 bytes)
D2
D1
D0
··········
Address No.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 2: Memory Addresses
_____________________________________________________________________________________
2-7
2.10 Timer Addresses (T)
The variable timers used in TMR commands are allocated 400 bytes of static memory, at addresses T0~T399.
The addresses corresponding to each timer are shown in Figure 2-6. Since this region is static memory, the contents
are not erased when the power is turned off. Refer to the following figure:
Figure 2-6: Timer Addresses
2.11 Alarm Relay Addresses (A)
The alarm relay has 100 bytes of memory, at addresses A0~A99. Refer to the following figure:
Figure 2-7: Alarm Relay Addresses
7 6 5 4 3 2 1 0
T7
T6
T5
T4
T3
T2
T1
T0
Address No.
T399
T398
T397
T396
·····················································
··················
Timer #1
Timer #2
Timer #200
7 6 5 4 3 2 1 0
A99
A98
A97
A96
A2 A1
A0
·············
Address No.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 3: Static Memory
_____________________________________________________________________________________
3-1
Chapter 3: Static Memory
3.1 Timer, Counter, Keep Relay, Data Table
3.1.1 Overview of Static Memory
Static memory is the memory where the information contained in that memory is not erased even when the power is
off. The LadderWorks PLC Engine uses static memory for the following:
Timer
Counter
Keep Relay
Data Table
3.1.2 Timer
Static memory is used to specify the time for the timer. You can display and set the timer with the PLC Control
Console application (the T Table). You can also read and write the time using the sequence program.
3.1.3 Counter (Addresses C0~C79)
Static memory is used to store the counter preset value and the increment value. You can display and set the counter
with the PLC Control Console application (the C Table). You can also read and write into the counter using the
sequence program. For details about the counter addresses, refer back to Section 2.7: Counter Addresses (C). The
format of the data is either 2 bytes of BCD or binary with the higher digits corresponding to the higher addresses.
The address can be in BCD or binary, as specified in the PLC system parameters.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 3: Static Memory
_____________________________________________________________________________________
3-2
Example: When the PLC counter addresses are C0 and C1 and the preset value is 1578.
Figure 3-1: Example of Counter Addresses
In order to set the lower 2 digits of the value to the output of a command that outputs 1-byte data, then specify C0 as
the output address for that command.
3.1.4 Keep Relay (Addresses K0~K99)
Static memory holds parameters for the program such as the keep relay. You can read out or set the value with the
PLC Control Console application (the K Table). You can also read and write from within the sequence program.
The PLC control screen handles data as an 8-bit binary, so each digit holds the value of “0” or “1.”
3.1.5 Data Addresses (Addresses D0~D1999)
You can use a set of numeric data (a data table) for PLC sequence control. For details, refer to Section 3.3: PLC
Data Table.
3.2 Reading and Writing Static Memory
The sequence program can read and write any data in static memory (the computer’s registry). However, the
memory accessed by the sequence program is not the static memory, but an exact image of the static memory
(RAM). Therefore, data inside the image disappears when the power is off, but that data is copied again from static
memory when the power is turned on, restoring properly.
The system uses a write-through cache, where data modified in RAM by the sequence program is automatically
transferred to the static memory.
8 7
7
0
6
1
5
1
4
1
3
1
2
0
1
0
0
0 C0
BCD Format (1578)
5 1
7
0
6
0
5
0
4
1
3
0
2
1
1
0
0
1 C1
27
26
25
24
23
22
21
20
7
0
6
0
5
1
4
0
3
1
2
0
1
1
0
0 C0
Binary (1578)
215
214
213
212
211
210
29
28
7
0
6
0
5
0
4
0
3
0
2
1
1
1
0
0 C1
LADDERWORKS PLC REFERENCE MANUAL
Chapter 3: Static Memory
_____________________________________________________________________________________
3-3
Modifications of data in the image can be done at any time and at any frequency, and the data will be transferred to
static memory. Therefore, writing to static memory does not require any special handling. However, it does take
some time for the data to propagate, or be written, to static memory (about 512 ms).
3.3 PLC Data Table(s)
PLC sequential control sometimes requires a set of numeric data (henceforth called a data table). Being able to
write to and read from this data table is useful. For example, it can supply the tool number of each tool in the ATC
Magazine to the program. You can create a maximum of 50 data tables.
Within the memory constraints of a table, you can set the data table to 1-, 2-, or 4-byte length words encoded either
in binary or BCD. Therefore, you can easily make useful data structures that do not waste space.
You can access data in the data table through the static memory, which in turn is accessed by the PLC control
screen.
This data can also be accessed using functional commands in the program, such as Data Search (DSCHB) and Index
Modification Data Transfer (XMOVB).
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-1
Chapter 4: LadderWorks PLC Axis Control
4.1 PLC Axis Control Function
The LadderWorks PLC system is equipped with generic I/O control along with PLC axis control capability. PLC
axis control is independent from NC axis control. It enables each independent axis command to be controlled
directly by PLC, through the sequence program ladder logic (as opposed to CNC axes, which are controlled with
part/motion programs). PLC functions related to PLC controlled axes are as follows:
1) Rapid movement for a specified distance
2) Movement at a specified cutting feedrate a specified distance
3) Rapid movement to an absolute position setting
4) Movement at a specified cutting feedrate to an absolute position setting
PLC axes are available for ServoWorks S-120M, ServoWorks S-140M, ServoWorks
S-200M and SMP products only.
NOTE
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-2
#7 #6 #5 #4 #3 #2 #1 #0
G200 G_ROV2E G_ROV1E
G210 + N G_CTCLn G_MSBKn G_CSKPn G_PMCAn G_RTSn G_STPn G_SBKn
G211 + N G_OVnX7 G_OVnX6 G_OVnX5 G_OVnX4 G_OVnX3 G_OVnX2 G_OVnX1 G_OVnX0
G212 + N G_CDnX7 G_CDnX6 G_CDnX5 G_CDnX4 G_CDnX3 G_CDnX2 G_CDnX1 G_CDnX0
G213 + N G_FDnX7 G_FDnX6 G_FDnX5 G_FDnX4 G_FDnX3 G_FDnX2 G_FDnX1 G_FDnX0
G214 + N G_FDnXF G_FDnXE G_FDnXD G_FDnXC G_FDnXB G_FDnXA G_FDnX9 G_FDnX8
G215 + N G_DnX07 G_DnX06 G_DnX05 G_DnX04 G_DnX03 G_DnX02 G_DnX01 G_DnX00
G216 + N G_DnX15 G_DnX14 G_DnX13 G_DnX12 G_DnX11 G_DnX10 G_DnX09 G_DnX08
G217 + N G_DnX23 G_DnX22 G_DnX21 G_DnX20 G_DnX19 G_DnX18 G_DnX17 G_DnX16
G218 + N G_DnX31 G_DnX30 G_DnX29 G_DnX28 G_DnX27 G_DnX26 G_DnX25 G_DnX24
F210 + M F_CNCAn F_DENn F_BUFn
F211 + M F_CnP07 F_CnP06 F_CnP05 F_CnP04 F_CnP03 F_CnP02 F_CnP01 F_CnP00
F212 + M F_CnP15 F_CnP14 F_CnP13 F_CnP12 F_CnP11 F_CnP10 F_CnP09 F_CnP08
F213 + M F_CnP23 F_CnP22 F_CnP21 F_CnP20 F_CnP19 F_CnP18 F_CnP17 F_CnP16
F214 + M F_CnP31 F_CnP30 F_CnP29 F_CnP28 F_CnP27 F_CnP26 F_CnP25 F_CnP24
Table 4-1: PLC Axis Signals
NOTE: For a complete breakdown of PLC axes I/O mapping, see the LadderWorks PLC I/O Mapping for SMP
Products manual or the LadderWorks PLC I/O Mapping for ServoWorks MC-Quad and the ServoWorks S-100M
Series manual.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-3
Figure 4-1: PLC Axis Signal Format
N N is an offset value for axis control
1st Axis N = 0
2nd Axis N = 10
3rd
Axis N = 20
. .
. .
. .
16th
Axis N = 150
n is an axis control number
1st axis n = 0
2nd
axis n = 1
3rd
axis n = 2
. .
. .
. .
16th
axis n = 15
G_CDnX0
M M is an offset value for axis control
1st Axis M = 0
2nd Axis M = 5
3rd
Axis M = 10
. .
. .
. .
16th
Axis M = 75
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-4
4.2 PLC Axis Signals
4.2.1 PLC Axis Rapid Override Selection Signals: G_ROV1E, G_ROV2E
Category
Input signal
Function
Overrides the PLC axis’ rapid feedrate.
Operation
The following table shows the override value from 2 code signals:
RAPID OVERRIDE SELECTION SIGNAL OVERRIDE VALUE
G_ROV2E G_ROV1E
0 0 100%
0 1 50%
1 0 25%
1 1 0%
Table 4-2: Rapid Override Selection Signal
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-5
4.2.2 PLC Axis Control Command Code Signals: G_CDnX0, G_CDnX7
Category
Input signal
Function
You can command the motion of a PLC axis as shown in the following table:
AXIS CONTROL COMMAND CODE (HEXADECIMAL)
OPERATION
01h Rapidly moves to a specified absolute position
(Same performance as G90 G00)
02h Rapidly moves a specified distance (Same performance as G91 G00)
03h Moves at a specified cutting feedrate to a specified absolute
position (Same performance as G90 G01)
04h Moves at a specified cutting feedrate a specified distance
(Same performance as G91 G01)
Table 4-3: Axis Control Command Codes
The rapid feedrate is the rapid feedrate of an axis corresponding to an NC parameter. The cutting feed rate is
specified by the feedrate control signal (G_FDnX0, G_FDnX7).
4.2.3 PLC Axis Feedrate Control Signals: G_FDnX0, G_FDnXF
Category
Input signal
Function
In the case of movement at a specified cutting feedrate (03h, 04h), this signal sets the feedrate along with the axis
control command code signal. The unit for cutting feedrate is mm/min and an integer value is specified in binary
form with 16 bits.
4.2.4 PLC Axis Control Data Signals: G_DnX00, G_DnX31
Category
Input signal
Function
Specifies the distance or absolute coordinates in a binary format of 32 bits for the specified mode. The unit is the
machine unit (minimal resolution). See the Reference Manual for ServoWorks CNC Parameters and Functions for a
definition.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-6
4.2.5 PLC Axis Control Command Read-In Strobe Signal: G_PMCAn
Category
Input signal
Function
Sends a read-in axis control command from PLC to NC.
4.2.6 PLC Axis Control Command Read-In Completed Signal: F_CNCAn
Category
Output signal
Function
Signals that the read-in axis control command from PLC to NC has been completed.
4.2.7 PLC Axis Buffer Full Signal: F_BUFn
Category
Output signal
Function
Signals when the PLC control axis command is in the buffer on the NC side.
4.2.8 PLC Axis Reset Signal: G_RTSn
Category
Input signal
Function
Resets the axis that is controlled by PLC. If this signal is set to “1” in the middle of an axis movement, the axis will
slow down and stop. The buffered command will be cancelled.
Also, if this signal is set to “1”, everything will be invalid – further commands will be ignored.
4.2.9 PLC Axis Temporary Stop Signal: G_STPn
Category
Input signal
Function
If this signal is set to “1”, then the axis which is in movement will decelerate until it is stopped. If this signal is set
to “0”, movement resumes.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-7
4.2.10 PLC Axis Block Stop Signal: G_SBKn
Category
Input signal
Function
The G_SBKn signal is used to set an axis block stop. If this signal is set to “1”, then the axis which is in motion will
be suspended after the current block of movement is completed. If this signal is set to “0”, motion resumes, and the
next command in the buffer is executed.
NOTE: if the G_MSBKn signal is “1”, then the G_SBKn signal will be void – whether the G_SBKn signal is 0 or 1,
movement will be continuous, and block stop signals will be ignored.
4.2.11 PLC Axis Block Stop Prohibited Signal: G_MSBKn
Category
Input signal
Function
Normally, when the G_SBKn signal is set to “1”, the current axis in motion will be suspended after the movement is
completed. It will not move even if commanded to move. Movement will resume if this G_SBKn signal is set back
to “0”.
The G_MSBKn signal is used to void the effect of the G_SBKn signal.
If the G_MSBKn signal is “1”, then the G_SBKn signal will be void: whether the G_SBKn signal is 0 or 1,
movement will be continuous, and block stop signals will be ignored.
4.2.12 PLC Axis Distribution End Signal: F_DENn
Category
Output signal
Function
Signals that the command distribution has completed.
4.2.13 PLC Axis Counter Value Signals: F_CnP00, F_CnP31
Category
Output signal
Function
Sets PLC axis’ counter value in binary form with 32 bits.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-8
4.2.14 PLC Axis Command Skip Signal: G_CSKPn
Category
Input signal
Function
If this signal is set to “1”, an axis command for movement will be canceled and the next command will be executed.
4.2.15 PLC Axis Encoder Counter Clear Signal: G_CTCLn – NOT AVAILABLE YET
Category
Input signal
Function
If this signal is set to “1”, the encoder count will be reset to zero.
4.2.16 PLC Axis Feedrate Override Signals: G_OVnX0, G_OVnX7
Category
Input signal
Function
The feedrate override of each PLC axis when the PLC Axis Control Command Code signal is set to 03h or 04h
(cutting feedrate). The override value setting is the same as the NC control’s override value setting.
When specifying the PLC axis feedrate override, a “0” signifies that the weight is
added to the override percentage, and a “1” signifies that nothing is added to the
override percentage [which may be counterintuitive to some people.]
For a complete breakdown of signals and weights contributing to the PLC axis
feedrate override setting, see Table 4-13 in the LadderWorks PLC I/O Mapping for
ServoWorks MC-Quad and S-100M Series, or see Tables 4-12 and 4-13 in the
LadderWorks PLC I/O Mapping for SMP Products.
CAUTION !
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-9
4.3 PLC Axes Timing Chart
The following figure shows an example timing chart for the command operation:
Figure 4-2: PLC Axis Timing Chart for Command Operations
Command Block (Input)
G_PMCAn (Input)
Input Buffer
F_BUFn (Output)
Executing Buffer
[1] [2] [3]
F_CNCAn (Output)
F_DENn (Output)
[1] [2] [3]
Key to Symbols
Indicates one signal triggering
another signal
LADDERWORKS PLC REFERENCE MANUAL
Chapter 4: LadderWorks PLC Axis Control
_____________________________________________________________________________________
4-10
4.4 Example Code for PLC Axis Operation
NOTE: For the following sequence code to work, Axis 4 must be set to Axis Type = “PLC Axis” in the SMP
Console application or the ServoWorks MotionLite application (using the Parameters Window), as shown:
Figure 4-3: Axis Type Settings in Parameter Window of SMP Console Application
// PLC axis example
RD R0.0
OR.NOT R0.0
WRT G246.7 // Axis 4 position 32768 * machine unit
WRT.NOT G242.0
WRT G242.1
WRT.NOT G242.2 // Axis 4 control command 0x02 (G91 G00)
RD X16.7 // DC-155 #1 input bit 7
WRT G240.3 // Every time when this signal toggles on,
// axis 4 will move as G91 G00
LADDERWORKS PLC REFERENCE MANUAL
Chapter 5: MF/DEN Timing
_____________________________________________________________________________________
5-1
Chapter 5: MF/DEN Timing
5.1 Explanation of MF and DEN Signals Considering Smoothing Mode
Following is a timing chart detailing the timings of signals MF, DEN, MV1, and MFIN for the following code:
G90G01X50
G01X100
M20
G01X150
DEN is set high after the smoothing is finished and the motion completely stops. This means that by creating a
ladder file in which MFIN is only triggered high when a DEN is detected, an M code could ensure a complete stop if
placed between two G01 movement commands, as is done in the above figure.
x velocity
time smoothing time
MF (F7.0)
DEN (F1.3)
MV1 (F102.0)
MFIN (G5.0)
G01X50 finishes
LADDERWORKS PLC REFERENCE MANUAL
Chapter 5: MF/DEN Timing
_____________________________________________________________________________________
5-2
5.2 Examples of MF/DEN Timing
5.2.1 Example 1: When G and M Are In Different Blocks
G01X_F_
M_
G01Y_
5.2.2 Example 2: When G and M Are In The Same Block (Parameter G and M Code Order: MG)
G01X_F_
G01Y_M_
speed
time
MF and DEN MFIN
speed
time
MF DEN
MFIN (when MFIN is set high when MF is detected)
X Y
LADDERWORKS PLC REFERENCE MANUAL
Chapter 5: MF/DEN Timing
_____________________________________________________________________________________
5-3
5.2.3 Example 3: When G and M Are In the Same Block (Parameter G and M Code Order: Same Time)
G01X_F_
G01Y_M_
5.2.4 Example 4: When G and M Are In the Same Block (Parameter G and M Code Order: GM)
G01X_F_
G01Y_M_
5.3 History of MF/DEN Specification
Prior to Version 3.83 of ServoWorks CNC products or SMP products, the timing of the Block Pulse Distribution
Done (DEN) signal was set high when the block pulse distribution was finished, which is the point of the onset of
deceleration due to smoothing. In other words, DEN was set high at the point when movement would have stopped
if there was no smoothing. Now, DEN is set high after the smoothing is finished and the motion completely stops.
speed
time
MF DEN
NOTES 1) Y starts moving even if MFIN is not set high 2) It is also possible to start processing the M
code after detecting DEN
X Y
speed
time
MF DEN
X Y
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-1
Chapter 6: Manual Absolute Mode
6.1 Manual Absolute On/Off
When the machine is moved using JOG mode or the handwheel, the user may choose whether to add the moved
distance to the coordinates or not by using manual absolute mode. When manual absolute mode is ON, the manual
movement is added to the coordinates, while when manual absolute is OFF, the manual movement is not added.
Figure 6-1: Manual Absolute ON, ABSN(G06.2) = 0. [The coordinates change with manual movement.]
Figure 6-2: Manual Absolute OFF, ABSN(G06.2) = 1. [The coordinates remain unchanged.]
X axis
Y axis Manual movement
X1
Y1
Manual movement
X2
Y2
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-2
6.2 Machine Path with Absolute and Incremental Commands
6.2.1 The Case When Manual Absolute Is OFF, ABSN (G06.2) = 1
For both the end point of the block in which manual intervention occurred and for later blocks, the machine path
follows the programmed path offset by the manual movement distance, regardless of whether the movement
commands were absolute or incremental.
Figure 6-3: Manual Absolute OFF, ABSN(G06.2) = 1.
The distance moved manually is not counted in the actual position, so when the program finishes running, the actual
position will be the same as the program position. Thus, the manual movement is invisible from the actual position
reading. On the other hand, the machine position will have moved by the manual movement distance.
Regardless of whether the command was an absolute command or an incremental command, the machine path is offset by the manual movement distance compared to the programmed path.
Manual movement
the programmed path
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-3
6.2.2 The Case When Manual Absolute Is ON, ABSN(G06.2) = 0
Until the block in which manual intervention occurred finishes, the machine path follows the programmed path
offset by the manual movement distance, regardless of whether the movement commands were absolute or
incremental (A in the figure). After that block, the machine path followed is different for incremental and absolute
commands. As long as the proceeding blocks are incremental commands, the offset caused by manual movement
will be preserved. However, at the point in which an absolute command block is encountered, the machine path
returns to the originally programmed path (AA', BB', CC' in the figure).
Figure 6-4: Manual Absolute ON, ABSN(G06.2) = 0.
programmed path
Machine path during incremental commands
Machine path returns to programmed path at the point in which an absolute command block is encountered.
A
B C
A′ B′
C′
Manual movement
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-4
6.3 Input/Output Signals
6.3.1 Manual Absolute Signal ABSM (G06.2)
Classification
Input Signal
Description
Manual Absolute Signal ON/OFF
Function
0: Manual Absolute ON
1: Manual Absolute OFF
6.3.2 Manual Absolute Confirmation Signal MABSM (F04.2)
Classification
Output Signal
Description
Sends manual absolute status to PLC
Function
0: Manual Absolute Signal ABSM = 1
1: Manual Absolute Signal ABSM = 0
6.3.3 Relationship of F04.2 to G06.2
F04.2 and G06.2 are not always in sync. F04.2 only reflects the status of the motion engine, and only in AUTO or
MDI mode are F04.2 and G06.2 synchronous. In other modes, F04.2 and G06.2 are independent of each other.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-5
6.4 Examples
6.4.1 Example 1: Manual Operation After the End of a Block
N10 G90
N20 G01 X100.0 Y100.0 F1000
N30 X200.0 Y150.0
At the end of the block N20, feed hold is used and manual operation is performed (Y+100, X+20), after which the
program is resumed.
Figure 6-5: Manual Absolute Mode Example #1
(0, 0)
(100, 100)
(200, 150)
(220, 250) (120, 200)
Manual movement
X axis
Y axis
programmed machine path
Manual Absolute OFF ABSN (G06.2) = 1
Manual Absolute ON ABSN (G06.2) = 0
LADDERWORKS PLC REFERENCE MANUAL
Chapter 6: Manual Absolute Mode
_____________________________________________________________________________________
6-6
6.4.2 Example 2: Manual Operation in the Middle of a Block
N10 G90
N20 G01 X100.0 Y100.0 F1000
N30 X200.0 Y150.0
N40 X300.0 Y200.0
In the middle of executing block N20, feed hold is used and manual operation is performed (Y+75), after which the
program is resumed. Until the block N20 is finished executing, the path is the same regardless of whether manual
absolute is ON or OFF, but when manual absolute is ON, on the next block, the machine path returns to the
programmed path.
Figure 6-6: Manual Absolute Mode Example #2
(150, 125)
(200, 225)
(150, 200)
Manual movement
(300, 200)
(200, 150)
(300, 275)
(100, 100)
programmed machine path
Manual Absolute OFF ABSN (G06.2) = 1
Manual Absolute ON ABSN (G06.2) = 0
X axis
Y axis
LADDERWORKS PLC REFERENCE MANUAL
Chapter 7: PLC Interrupt
_____________________________________________________________________________________
7-1
Chapter 7: PLC Interrupt
7.1 PLC Interrupt
The PLC Interrupt function allows you to offset the positions of any of the axes in a manner similar to the Jog
Interrupt and Handwheel Interrupt functions (for more information on these functions, see Section 15.9.5: Using the
Jog Interrupt Function and Section 15.4.4: Handwheel Interrupt of the Operator’s Manual for ServoWorks S-100M,
S-120M and S-140M). When PLC Interrupt is activated, the axis specified by the PLC Interrupt Axis Selection
signal immediately starting moving the distance specified by the PLC Interrupt Offset signal. PLC Interrupt can be
used in any mode with the exception of HOME mode. It can be used during the execution of a part program in
AUTO mode.
7.2 Input/Output Signals
7.2.1 PLC Interrupt Axis Selection Signals: PLCIA-PLCID (G041.4-G041.7)
Classification
Input Signal
Function
Selects the axis to enable the PLC Interrupt function, or disables the PLC Interrupt function if no axes are selected.
The following table shows the which axis will be selected for each of the valid signal combinations:
AXIS PLCIA (G41.4)
PLCIB (G41.5)
PLCIC (G41.6)
PLCID (G41.7)
Disabled 0 0 0 0
1 1 0 0 0
2 0 1 0 0
3 1 1 0 0
4 0 0 1 0
5 1 0 1 0
6 0 1 1 0
7 1 1 1 0
8 0 0 0 1
Table 7-1: PLC G Address Map for PLC Interrupt Axis Selection
7.2.2 PLC Interrupt Offset Signals: PLCI00-PLCI31 (G192.0-G195.7)
Classification
Input Signal
LADDERWORKS PLC REFERENCE MANUAL
Chapter 7: PLC Interrupt
_____________________________________________________________________________________
7-2
Function
Sets the offset to apply to the axis selected by the PLC Interrupt Axis Selection signals. PLCI00-PLCI07 (G192.0-
G192.7) constitute the least significant byte, and PLCI24-PLCI31 (G195.0-G195.7) constitute the most significant
byte.
The entire 4-byte value is interpreted as an integer; negative numbers can be specified using the 2’s complement
notation (with G195.7 as the sign bit).
The unit of measurement for the offset distance is the value of the Machine Unit parameter.
7.3 Applying an Offset Using the PLC Interrupt
The PLC Interrupt function is enabled by selecting an axis using the PLC Interrupt Axis Selection signals. The PLC
Interrupt Axis Selection signals are set through the LadderWorks PLC ladder program. The PLC Interrupt function
can only be enabled for one axis at a time. To disable the PLC Interrupt function at any time, set all of the PLC
Interrupt Axis Selection signals to 0.
Upon selecting an axis, the distance contained in the PLC Interrupt Offset signals will be traveled by the selected
axis. The offset distance is calculated as the value of the Machine Unit parameter for the selected axis multiplied by
the value specified by the PLC Interrupt Offset signals.
Smoothing, Rapid Feedrate, and Max Feedrate parameters will be considered when calculating the motion from the
PLC Interrupt function. The movement velocity will be limited by the Rapid Feedrate or, if set, the Max Feedrate.
The smoothing for the movement will be affected by the Smoothing parameters. If the PLC Interrupt
responsiveness is too slow due to smoothing, you may want to change the Smoothing parameters. Smoothing Time
can also be changed dynamically in AUTO mode by executing the G code “G10L108” (see Section 6.3.8:
Programmable Data Input (G10) of the Part Programming Manual for ServoWorks S-100M, S-120M and S-140M).
After starting the PLC Interrupt function, the selected axis will maintain the offset contained in the PLC Interrupt
Offset signals. Any changes in the PLC Interrupt Offset signals will generate movement for the selected axis.
When the PLC Interrupt Offset is reduced, the axis will move in the negative direction to maintain the offset, and
when the PLC Interrupt Offset is increased, the axis will move in the positive direction.
Movement from the PLC Interrupt function will be reflected in the Actual Position and Machine Position displays,
but not the Program Position display.
When the PLC Interrupt function is disabled by setting the PLC Interrupt Axis Selection signals to 0, the axis will
move back to the zero offset position.
This function is entirely disabled in HOME mode. If the PLC Interrupt Offset is changed during HOME mode, the
offset will be applied the next time the operation mode is changed to something other than HOME mode.
7.4 Examples
7.4.1 Example 1: Gap Control
If proper input signals are available, the PLC Interrupt function may be used to implement a gap control function to
maintain the same distance between the tool tip and an uneven surface. By inputting into the LadderWorks PLC a
feedback signal that contains information about the distance between the tool tip and surface, the PLC can
compensate for deviations in the distance by moving the tool up or down by utilizing the PLC Interrupt function.
The offsets can dynamically be applied during the execution of a part program in AUTO mode.
LADDERWORKS PLC REFERENCE MANUAL
Chapter 8: LadderWorks PLC Architecture
_____________________________________________________________________________________
8-1
Chapter 8: LadderWorks PLC Architecture
LadderWorks™ PLC is an independent programmable logic control (PLC) package that is included with and
integrated with all of Soft Servo Systems' SMP general motion control products and all ServoWorks CNC products.
LadderWorks PLC includes:
The LadderWorks PLC Engine – a real-time soft PLC module that executes PLC sequence programs in
binary format. [NOTE: the LadderWorks PLC Engine only executes in conjunction with the soft Motion
Engine of a ServoWorks CNC product or an SMP product, because the LadderWorks PLC Engine is
seamlessly integrated with the ServoWorks CNC Engine/SMP Motion Engine into a single motion/machine
control application.] This PLC for machines and machine tools reads and executes the binary PLC sequence
program file every 5 ms (or every 8 ms for ServoWorks S-100T, or some other user-defined scan time),
decides if it needs to take any action based on these inputs or changes in these inputs, and issues commands to
the ServoWorks CNC Engine/SMP Motion Engine or the machine, if necessary.
LadderWorks Console – a Win32 application for creating, editing, monitoring, debugging and compiling PLC
ladder diagram (LD) sequence programs (see Note #3 on page 5-3 for compatibility requirements)
Four separate utility programs:
o PLC Control Screen Utility – a stand-alone application that you can use to edit and compile
your sequence programs in PLC Instruction List (IL) format into executable binary files, which
can then be understood and executed by the LadderWorks PLC Engine
o PLC Diagnose Utility – for verifying sequence programs with ladder diagrams (viewing ladder
diagrams only – you cannot edit in the ladder diagram format with this utility). [NOTE: This is
a LadderWorks PLC legacy product that will be discontinued in the future – you shouldn’t need
to use this, as LadderWorks Console has all of these functions and more. However, its use is
explained here for completeness.]
o PLC Bit Pattern Utility – real-time bit pattern display for any signal address (F, G, X or Y data)
o PLC Time Chart Utility – for showing the history of specified bit signals in any signal address,
to aid in debugging PLC sequence programs
LADDERWORKS PLC REFERENCE MANUAL
Chapter 8: LadderWorks PLC Architecture
_____________________________________________________________________________________
8-2
These LadderWorks PLC components interact with the ServoWorks CNC applications or SMP general motion
control applications, and the ServoWorks CNC or SMP Real-Time Modules as shown in the following figure:
Windows 2000 / XP / XPe PC
Host CPU
Win32 Subspace
RTOS Subspace
LadderWorks PLC Link Service
Ladder-Works
Console
SMP400, SMP450, SMP800, SMP850, SMP1600,
MC-Quad, S-100M, S-120M, S-140M, S-200M, S-100T
PLC Control Screen Utility
PLC Bit Pattern Display Utility
PLC Time Chart Utility
RealTime DLL
PLC Diagnose
Utility
Hard Drive Hard Drive
Machine
ServoWorks G-Code
Parser or SMP Motion
Parser
Ladder-Works
PLC Engine
ServoWorks CNC Engine
or SMP Motion Engine
Figure 8-1: Architecture of the LadderWorks PLC
NOTE: The LadderWorks PLC software includes the LadderWorks PLC Engine. You must run LadderWorks PLC
in conjunction with a ServoWorks CNC product or an SMP product in order to run the LadderWorks PLC Engine.
However, you can use LadderWorks Console by itself to create and edit sequence programs without running
(executing) a ServoWorks CNC product or an SMP product.
LADDERWORKS PLC REFERENCE MANUAL
Index
_____________________________________________________________________________________
I
Index
A
ABSM .................................................................... 6-4
ABSN .................................................................... 6-1
addresses .................................. See memory addresses
A0~A99 ............................................................ 2-7
C0~C79 ...................................................... 2-5, 3-1
counter ....................................................... 3-1, 3-2
D0~D1999 ................................................. 2-6, 3-2
data table ........................................................... 3-2
F0~F399 ............................................................ 2-3
G0~G399 .......................................................... 2-3
K0~K99 ..................................................... 2-6, 3-2
keep relay .......................................................... 3-2
R9000~R9099 ................................................... 2-4
T0~T399 ........................................................... 2-7
X0~X999 .......................................................... 2-3
Y0~Y999 .......................................................... 2-3
alarm relay addresses ............................................. 2-7
architecture, LadderWorks PLC ............................ 8-2
axis block stop prohibited signal ........................... 4-7
axis block stop signal ............................................. 4-7
axis buffer full signal ............................................. 4-6
axis command skip signal ...................................... 4-8
axis control command code signals ....................... 4-5
axis control command read-in completed signal ... 4-6
axis control command read-in strobe signal .......... 4-6
axis control data signals ......................................... 4-5
axis counter value signals ...................................... 4-8
axis distribution end signal .................................... 4-8
axis encoder counter clear signal ........................... 4-8
axis feedrate control signals............................ 4-5, 4-9
axis reset signal ...................................................... 4-6
axis signals............................................................. 4-4
axis temporary stop signal ..................................... 4-7
B
binary execution files ............................................. 8-1
bit pattern display .................................................. 8-1
block stop prohibited signal ................................... 4-7
block stop signal .................................................... 4-7
buffer full signal .................................................... 4-6
C
CNC Engine ........................................................... 8-1
CNC products ........................................................ 8-1
command skip signal ............................................. 4-8
compiling
sequence programs ............................................ 8-1
completed signal .................................................... 4-6
control command code signals ............................... 4-5
control command read-in completed signal ........... 4-6
control command read-in strobe signal .................. 4-6
control data signals ................................................ 4-5
counter addresses ..................................... 2-5, 3-1, 3-2
counter value signals ............................................. 4-8
D
data addresses ........................................................ 2-6
data signals ............................................................ 4-5
data table addresses ............................................... 3-2
data table(s) ........................................................... 3-3
DEN signal ............................................................ 5-1
display of bit patterns ............................................ 8-1
distribution end signal ........................................... 4-8
DSCHB .................................................................. 3-3
E
editing sequence programs .................................... 8-1
encoder counter clear signal .................................. 4-8
end signal ............................................................... 4-8
Engine, LadderWorks PLC .................................... 8-1
Engine, ServoWorks CNC ..................................... 8-1
Engine, SMP Motion ............................................. 8-1
example code ....................................................... 4-11
executable binary files ........................................... 8-1
execution of a sequence program .......................... 1-1
execution time of a sequence program .................. 1-2
F
F_BUFn ................................................................. 4-6
F_CNCAn .............................................................. 4-6
F_CnP00, F_CnP31 ............................................... 4-8
F_DENn ................................................................. 4-8
F04.2 ...................................................................... 6-4
feedrate control signals ................................... 4-5, 4-9
full signal ............................................................... 4-6
functional command results ................................... 2-4
functional commands
DSCHB ............................................................. 3-3
XMOVB ........................................................... 3-3
G
G_CDNX0, G_CDnX7 .......................................... 4-5
G_CSKPn .............................................................. 4-8
G_CTCLn .............................................................. 4-8
G_DnX00, G_DnX31 ............................................ 4-5
G_FDnX0, G_FDnXF .................................... 4-5, 4-9
G_MSBKn ............................................................. 4-7
G_ROV1E, G_ROV2E .......................................... 4-4
G_RTSn ................................................................. 4-6
G_SBKn ................................................................ 4-7
G_STPn ................................................................. 4-7
LADDERWORKS PLC REFERENCE MANUAL
Index
_____________________________________________________________________________________
II
G06.2 .............................................................. 6-1, 6-4
H
history of bit signals .............................................. 8-1
I
I/O addresses ........................... See memory addresses
I/O signals ....................................................... 1-2, 2-2
IL format ................................................................ 8-1
input signals to the LadderWorks PLC Engine ...... 1-2
input/output ...................................................... See I/O
input/output signals for manual absolute mode ..... 6-4
input/output signals for PLC interrupt ................... 7-1
Instruction List format ........................................... 8-1
instruction sequence execution .............................. 1-4
internal relay .......................................................... 2-4
K
keep relay addresses ....................................... 2-6, 3-2
L
ladder diagrams ..................................................... 8-1
LadderWorks Console application ........................ 8-1
LadderWorks PLC Engine ..................................... 8-1
input signals ...................................................... 1-2
output signals .................................................... 1-2
legacy software products ....................................... 8-1
M
MABSM ................................................................ 6-4
manual absolute mode ........................................... 6-1
memory addresses.................................................. 2-1
alarm relay ........................................................ 2-7
counter addresses .............................................. 2-5
data table ........................................................... 2-6
description ......................................................... 2-1
internal relay ..................................................... 2-4
keep relay .......................................................... 2-6
related to the machine tool ................................ 2-3
related to the ServoWorks CNC Engine/SMP
Motion Engine.............................................. 2-3
signal types ....................................................... 2-2
specifications .................................................... 2-2
timer .................................................................. 2-7
types of.............................................................. 2-1
memory,static ........................................................ 3-1
MF signal ............................................................... 5-1
MFIN signal ........................................................... 5-1
Motion Engine ....................................................... 8-1
MV1 signal ............................................................ 5-1
O
order of execution .................................................. 1-1
output signals from the LadderWorks PLC Engine 1-2
P
PLC axis block stop prohibited signal ................... 4-7
PLC axis block stop signal .................................... 4-7
PLC axis buffer full signal ..................................... 4-6
PLC axis command skip signal .............................. 4-8
PLC axis control .................................................... 4-1
PLC axis control command code signals ............... 4-5
PLC axis control command read-in completed signal
.......................................................................... 4-6
PLC axis control command read-in strobe signal .. 4-6
PLC axis control data signals ................................ 4-5
PLC axis counter value signals .............................. 4-8
PLC axis distribution end signal ............................ 4-8
PLC axis encoder counter clear signal ................... 4-8
PLC axis example code ....................................... 4-11
PLC axis feedrate control signals ................... 4-5, 4-9
PLC axis rapid override selection signals .............. 4-4
PLC axis reset signal ............................................. 4-6
PLC axis signals .................................................... 4-4
PLC axis temporary stop signal ............................. 4-7
PLC Bit Pattern utility ........................................... 8-1
PLC Control Screen utility .................................... 8-1
PLC data table(s) ................................................... 3-3
PLC Diagnose utility ............................................. 8-1
PLC Engine ........................................................... 8-1
input signals ...................................................... 1-2
output signals .................................................... 1-2
PLC instruction sequence execution ...................... 1-4
PLC interrupt ......................................................... 7-1
PLC Time Chart utility .......................................... 8-1
PLCI00-PLCI31 .................................................... 7-1
PLCIA-PLCID ....................................................... 7-1
R
rapid override selection signals ............................. 4-4
read-in completed signal ........................................ 4-6
read-in strobe signal ............................................... 4-6
real-time bit pattern display ................................... 8-1
repetitive sampling ................................................ 1-2
reset signal ............................................................. 4-6
results of functional commands ............................. 2-4
S
sampling, repetitive ............................................... 1-2
scan time ................................................................ 8-1
sequence programs
compiling .......................................................... 8-1
editing ............................................................... 8-1
example code .................................................. 4-11
execution time ................................................... 1-2
LADDERWORKS PLC REFERENCE MANUAL
Index
_____________________________________________________________________________________
III
repetitive sampling ............................................ 1-2
sequence of processing ..................................... 1-1
verifying ............................................................ 8-1
sequential processing of a sequence program ........ 1-1
ServoWorks CNC Engine ...................................... 8-1
ServoWorks CNC products ................................... 8-1
signals .................................................. See I/O signals
PLC axis block stop .......................................... 4-7
PLC axis block stop prohibited ......................... 4-7
PLC axis buffer full .......................................... 4-6
PLC axis command skip ................................... 4-8
PLC axis control command code ...................... 4-5
PLC axis control command read-in completed . 4-6
PLC axis control command read-in strobe ........ 4-6
PLC axis control data ........................................ 4-5
PLC axis counter value ..................................... 4-8
PLC axis distribution end.................................. 4-8
PLC axis encoder counter clear ........................ 4-8
PLC axis feedrate control........................... 4-5, 4-9
PLC axis reset ................................................... 4-6
PLC axis temporary stop ................................... 4-7
skip signal .............................................................. 4-8
SMP general motion control products ................... 8-1
SMP Motion Engine .............................................. 8-1
static memory ................................................. 2-5, 2-7
counter ....................................................... 3-1, 3-2
data table ........................................................... 3-2
keep relay .......................................................... 3-2
overview ........................................................... 3-1
reading and writing ........................................... 3-2
timer .................................................................. 3-1
strobe signal ........................................................... 4-6
T
temporary stop signal ............................................. 4-7
time charts ............................................................. 8-1
timer ....................................................................... 3-1
timer addresses ...................................................... 2-7
timing chart, MF/DEN ........................................... 5-1
V
verifying sequence programs ................................. 8-1
X
XMOVB ................................................................ 3-3