0% found this document useful (0 votes)
69 views

Man Applications Programming

This document provides information about parameter software and programming for an AC servo controller. It includes sections on installing and using the MONITOR parameter software to view and edit parameters. It also covers installing and using the STEUER programming software, including how to write, run and debug programs. The document describes the programming language and functions available. It provides details on various controller parameters that can be viewed and edited.

Uploaded by

Vicente Fuentes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Man Applications Programming

This document provides information about parameter software and programming for an AC servo controller. It includes sections on installing and using the MONITOR parameter software to view and edit parameters. It also covers installing and using the STEUER programming software, including how to write, run and debug programs. The document describes the programming language and functions available. It provides details on various controller parameters that can be viewed and edited.

Uploaded by

Vicente Fuentes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

AC-Servocontroller DAC deltadrive

APPLICATIONS &
PROGRAMMING

HABU C-E/ 05/2002 page 1


deltadrive AC-Servocontroler DAC

Contents

1. Security specifications ............................................................................................................... 4


2. General information .................................................................................................................... 5

2.1 The deltadrive Group ............................................................................................................. 5


2.2 Short description of the deltadrive....................................................................................... 5

3. Parameter software MONITOR ................................................................................................... 6

3.1. Installation ............................................................................................................................. 6


3.2 Screen view............................................................................................................................. 6
3.3 Function keys ......................................................................................................................... 7
3.4 Menu 1 ..................................................................................................................................... 7
3.4.1 Function Settings ............................................................................................................... 8
3.5 Menu 2 ..................................................................................................................................... 8
3.6 Parameter window (profile window) ..................................................................................... 9
3.6.1 Creating a profile window................................................................................................... 9
3.6.2 Open/Change existing profile window................................................................................ 9
3.7 Desktop ................................................................................................................................. 10
3.7.1 Creating Desktop ............................................................................................................. 10
3.7.2 Open/Change existing Desktop ....................................................................................... 10

4. Programming software STEUER .............................................................................................. 11

4.1 Installation ............................................................................................................................ 11


4.2 Screen view........................................................................................................................... 11
4.2.1 Important keys ................................................................................................................. 13
4.2.2 Writing a program ............................................................................................................. 13
4.2.3 Executing a program........................................................................................................ 14
4.2.4 Diagnostic tips.................................................................................................................. 14
4.2.5 Options on the command line .......................................................................................... 14
4.3 The programming language ................................................................................................ 15
4.3.1 Program construction....................................................................................................... 15
4.3.2 Identifiers ......................................................................................................................... 15
4.3.3 Constant declaration ........................................................................................................ 16
4.3.4 Type declaration .............................................................................................................. 17
4.3.5 Variables declaration ....................................................................................................... 18
4.3.6 Expressions ....................................................................................................................... 18
4.3.7 Statements....................................................................................................................... 19
4.3.8 Reserved words (keywords) ............................................................................................ 21
4.3.9 System types ................................................................................................................... 21
4.3.10 System variables............................................................................................................ 22
4.3.11 Screen objects ............................................................................................................... 22
4.3.12 Screen functions ............................................................................................................ 22
4.3.13 Formating fields ............................................................................................................. 24
4.3.14 Graphic functions ........................................................................................................... 25
4.3.15 File functions.................................................................................................................. 26

page 2 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.3.16 Numeric control functions .............................................................................................. 27
4.3.17 Interpreter error messages ............................................................................................ 33

5. Parameter................................................................................................................................... 34

5.1 Basic parameters ................................................................................................................. 36


5.1.1 Control unit ...................................................................................................................... 36
5.1.2 Reference switches (MUX) .............................................................................................. 37
5.1.3 In / Output Level (Option) ................................................................................................ 39
5.1.4 Encoder - settings............................................................................................................ 39
5.1.5 Network settings .............................................................................................................. 39
5.1.6 RPM - settings ................................................................................................................. 40
5.1.7 Current settings ............................................................................................................... 40
5.1.8 Position settings............................................................................................................... 40
5.1.9 System parameters.......................................................................................................... 41
5.1.10 Analog inputs settings.................................................................................................... 41
5.1.11 Analog output settings ................................................................................................... 41
5.1.12 Motor data...................................................................................................................... 42
5.1.13 Limit switch - settings..................................................................................................... 42
5.2 NC Commands / Interpreter Parameter.............................................................................. 43
5.3 Display parameters .............................................................................................................. 44
5.4 Flow charts ........................................................................................................................... 46
5.4.1 Current control loop ......................................................................................................... 46
5.4.2 Velocity control loop......................................................................................................... 47
5.4.3 Position control loop ........................................................................................................ 48
5.4.4 Digital inputs and outputs ................................................................................................ 49
5.4.5 Analog inputs and outputs ............................................................................................... 50

6. Machine coordinates and gear parameters ............................................................................ 51

6.1 Standardized speed and acceleration................................................................................ 51


6.2 Calculation of the gear parameters .................................................................................... 51

Copyright © STA STATE OF THE ART ENGINEERING AG 2001. All rights reserved.
Reproduction, transfer, distribution or storage of part or all of the contents in this document in any form
(printed, photocopied, microfilm or in any other process), or processed or reproduced by use of any
electronic system, without the specific prior written permission of STA STATE OF THE ART
ENGINEERING AG is strictly prohibited.

STA STATE OF THE ART ENGINEERING AG, operating under the deltadrive Group other product and
company names mentioned (R&D Deltadrive Phils Inc., Otto Bartholdi AG Motoren) herein might be
trademarks or tradenames of their respective owners.

STA STATE OF THE ART ENGINEERING AG operates a policy of continuous development. STA
STATE OF THE ART ENGINEERING AG; reserves the right to make any changes and improvements to
any of the products described in this document without prior notice.

The contents of this document are provided “ as is”. Except as required by applicable law, no warranties of
any kind, either express or implied, including, but not limited to, the implied warranties of merchantability or
contents of this document.
STA STATE OF THE ART ENGINEERING AG reserves the right to revise this document or withdraw it any time
without prior notice.

HABU C-E/ 05/2002 page 3


deltadrive AC-Servocontroler DAC

1. Security specifications

deltadrive is constructed in accordance with the latest security specifications and with a high
degree of protection against accidental contact.
Appropriate use of the deltadrive:
• deltadrive is to be used as a control device for synchronous and asynchronous machines.

The following security specifications and manipulation limitations are for the
personal safety of individuals and of equipment and are to be strictly observed.
• The user is therefore responsible for proper installation and connections of motor,
deltadrive and additional equipment in accordance with the recognized technical
regulations and guidelines applicable in the country and region of its destination and use.
• Thus it is important to be aware of (and employ) correct cable dimensions, shielding,
grounding, switch-offs, separation and over-current protection.
• All local specifications and regulations must be observed without fail.
• Any operation on the device can only be undertaken by experts trained for this purpose.
• Any operation on the device can only be performed using appropriate tools.
• Any operation on the deltadrive is to be undertaken only in a voltageless condition, i.e.,
neither the power source nor any potential auxiliary supply nor the rating voltage of another
connected device can be switched on. Take care to have a secure isolation braker. For
additional security employ the appropriate warning signs, physical barriers, etc.
• As a result of the device-internal electrical charge, high voltage can exist for a lengthy
period even after the main's voltage has been switched off. Before electrical contact is
made, take care to insure that the voltage between the power clamps A+ and D- is less
than 40V. Failure to follow this advice can lead to serious injury or even death.
• No additional cards, ICs, plugs, etc. can be inserted or removed under voltage.
• Only use replacement parts recommended by the manufacturer.
• Changes may not be made to the deltadrive without the permission of the manufacturer.

If these security specifications and operation limits are not strictly observed, the
risk of danger exists via:
• Accident - from uncontrolled movement of parts, motors or machines.
• Destruction of the device or parts thereof!
• Destruction of additional components such as motor, machine, etc. !
• Electrical shock to the human body !

page 4 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

2. General information

2.1 The deltadrive Group


Various companies have joined together under the name “The deltadrive Group” for the
purpose of developing, producing and marketing state-of-the-art digital AC drives.

2.2 Short description of the deltadrive


The deltadrive 3-phase converter offers a modular drive concept for servo motors with sine-
wave conduction and encoder feedback.
deltadrive can be utilized as a control device for synchronous machines with sine-wave
commutation and for asynchronous machines with field-oriented vector control. The customer’s
application determines the choice of motor. The fully digitized 3-phase control device enables
direct connection to the 230VAC mains. We recommend the use of interference suppression
filters.
The basic model of the deltadrive is equipped with encoder feedback. This allows the use of
synchronous and asynchronous motors. A digital input allows you to switch from automatic
speed control to position control and vice versa. This allows, e.g. the use of the drive as the
main drive with spindle positioning.
Up to 32 devices can be networked together (without repeater) over the RS485 interface. (With
repeater = 62 devices)
The device is equipped with 8 digital inputs and 8 digital outputs as well as 4 analog inputs and
2 analog outputs. Numerous applications can be implemented by insertion of the FB 100
optional card (functional board) equipped with an additional 4 digital inputs and 8 digital power
outputs (2A), encoder analysis and the RS 232 interface. Inputs and outputs can be
programmed with the help of application software.
Configuration, start-up and diagnoses take place with the help of a PC user interface via the
standard RS-232 interface.
Operating condition and errors are displayed on LED’s located on the front of the device.
Analog signals such as programmed speed, power and actual speed are digitized and
processed by the microprocessor.
An adaptive control algorithm ensures on line that the deltadrive is constantly being adjusted
for any temperature dependent parameters.
A real-time multitasking operating system and the high resolution of speed signals enable a
considerable degree of control exactitude and dynamic. This in turn enables good speed
stability and torque linearity. This ensures reliable use in high-precision applications.
Additional applications - such as spindle positioning, indexing, winder with tension control,
electronic gearing and integration of entire customer applications in the drive - are in wide use.

HABU C-E/ 05/2002 page 5


deltadrive AC-Servocontroler DAC

3. Parameter software MONITOR


The MONITOR software allows you to display the parameters of the deltadrive - servo
regulator and to change them. This gives you a useful and effective tool for setting and
adjusting your drives, for loading other parameter data for the servoregulator, and for simple
initial set-up operations. You can select the parameter type and order on the screen as you
choose.

3.1. Installation
The entire software package is on the diskette sent to you with Handbook B. If you haven’t
already done so, you can install it on your PC using the command a:install.
Connect your PC and the deltadrive using the link cable RS232.

3.2 Screen view


Working at the MS-DOS command level, keyboard the command MONITOR and then enter.
The program MONITOR.EXE will be executed after which the following user interface will
appear on your screen:

active parameter window (profile window)

profile box contains 1 parameter

diagram 1

page 6 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

3.3 Function keys


The keys F1 to F10 are correlate the follow functions:
Key Meaning
F1 Help window
F3 Move profile window / change size
use cursor to move
use CTRL + cursor for sizing
F5 Fill whole screen / return to original size
F6 Next profile window
F7 Cascade all profile windows
F8 Show all windows next to each other - miniaturized
F10 Menu 1 (empty screen) otherwise menu 2
ALT + F10 = menu 1

3.4 Menu 1
 empty
 click the right mouse button
keyboard function = ALT + F10
or F10 for empty screen
Key Menu-Function Meaning
Parameter Window profile window: open, load, change
Trace Window not implemented
Load Desktop load desktop window (profile)
Store Desktop store desktop window (profile)
Clear delete desktop window (profile)
Network settings for network operation
Settings settings for monitor, interface and monitor start
Symbols not implemented
Info display INFO BOX
Exit exit - return to DOS

 select using left mouse button or cursor up/down + °

Key to symbols:
 screen display
 mouse; keyboard functions are also
possible
° enter or return

HABU C-E/ 05/2002 page 7


deltadrive AC-Servocontroler DAC

3.4.1 Function Settings


Settings for monitor, interface and monitor start
 click left mouse button on the Setting field
 MONITOR SETTINGS
• COLOR PALETTE: set monitor type
• BOARD INSTALLED ON: PC-interface (normal=default corresponds to setting in
config.sys)
• AUTO-LOAD/SAVE: set Yes: starting the Monitor program results in the automatic
load of the file ____.DSK (entered in the field DESKTOP-
FILE)
• SAVE SETTINGS: stores your selected settings
end with OK or ° to save Monitor settings or Save Settings.

3.5 Menu 2

 in Menu 1, click with the left mouse button on Parameter Window or


 click the right mouse button in the profile window or keyboard with F10

Key Menu function Meaning


ALT + N New Box opens a new profile box in the profile window
ALT + C Copy Box copies profile box to profile window
ALT + D Delete Box deletes profile box in profile window
ALT + M Move/Resize Box moves or changes size of profile box (without mouse)
ALT + I Interior enter for values in profile box
CTRL + Enter Burn Parameter burn parameter in deltadrive (Flash)
Save Profile saves the profile window
Load Profile loads the profile window
Parameter Upload transfers parameters from deltadrive to PC
Parameter Download transfers parameters from PC to deltadrive
Default Station station address (= 3 on delivery)
ALT + X Close Window close profile window

 select using left mouse button or direct selection with cursor up/down + °
- see table above

page 8 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

3.6 Parameter window (profile window)


A parameter window is a profile window composed of various profile boxes where individual
parameters can be displayed and changed as desired.
You have the capability to generate your own profile window or a Desktop composed of
numerous profile windows.

3.6.1 Creating a profile window


 click left mouse button on the Parameter Window field in Menu 1
 Drive: _ Profile: (none) new window with 10 empty profile boxes
Each marked profile box can be changed by clicking the left
mouse button.
Click in the middle and drag to move box;
click at the edge and drag to enlarge/reduce box.
 click the right mouse button or F10
 Menu 2  Click left mouse button, undo with ESC:
• New Box: new profile box
enter with right mouse button or °
• Copy Box: copy marked profile box
enter with right mouse button or °
• Delete Box: delete profile box,
enter with right mouse button or °
• Interior input for profile box
Text: (max 15 characters)
Address: IP(..) or numeric expression
Station ID: Input = 0, station number according to drive
Default Station input from profile window.
(value on delivery = 3)
RAM/Flash: Select RAM for display parameters,
Flash for display/input of the initial burned values.
Help-Text: Key word for automatic jump to Help.
Enter with OK or °
• Save Profile stores the new profile window
enter file name: ____.PRO
store with OK or °

3.6.2 Open/Change existing profile window


 click left mouse button on the Parameter Window field in Menu 1
 Drive: _ Profile: (none) new window with 10 empty profile boxes
Each marked profile box can be changed by clicking the left
mouse button.
Click in the middle and drag to move box;
click at the edge and drag to enlarge/reduce box.
 click the right mouse button
 Menu 2  Click left mouse button, undo with ESC:
• Load Profile: load the existing profile window,
enter file name and OK or °
• Follow the procedures for changes as described in 3.6.1.

HABU C-E/ 05/2002 page 9


deltadrive AC-Servocontroler DAC

3.7 Desktop
You can use Desktop when you want to display more than one open parameter window on the
monitor at the same time. This can be helpful, for example, where you are checking or
adjusting only the necessary parameter, and wish to have all other parameters available in the
background.

3.7.1 Creating Desktop


Creating new user-defined Desktop:
 click left mouse button on the Parameter Window field
 Drive: _ Profile: (none) new window with 10 empty windows
 click the right mouse button
 Menu 2  Click left mouse button, undo with ESC:
• Load Profile: load existing profile window,
enter file name and OK or °
 Parameter window will be displayed and can
be changed by clicking the left mouse button.
Click in the middle and drag to move box;
click at the edge and drag to enlarge/reduce box

• Load additional profile windows as above. You should take care that the cursor is NOT on
any already-displayed profile window when placing additional profile windows because if it
is, and you then click the right mouse button Menu 2 will appear instead of Menu 1.
• Arrange your various profile windows on the monitor. (Don’t fill the monitor completely as
you will need room for the cursor to select Menu 1.)
• Store Desktop: store the new Desktop:
enter file name: ____.DSK
store with OK or °
This file can also be entered in Settings and will be
automatically loaded every time the MONITOR program is started
up. (See AUTO-LOAD/SAVE : Section 3.4.1)

• Clear Desktop: blank-out present Desktop

3.7.2 Open/Change existing Desktop


 click left mouse button on the Load Desktop field
 Load Desktop: load an existing Desktop:
enter file name: ____.DSK
and OK or °

• Follow the procedure for changes as explained in 3.7.1.

page 10 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

4. Programming software STEUER


The programming software STEUER is a command interpreter like PASCAL. It offers a
complete development environment for the creation of complex machine programs for your
deltadrive.
This presents the programmer with a powerful tool that can be employed to define a wide
variety of unique and flexible solutions for any motion control task. All drive tasks can be
programmed using practical, effective commands - from simple motion instructions for a drive,
to positioning statements, to handling complex multi-axis cam operations. In order to enable
service personal to make full use of the many advantages of the deltadrive, a Windows-like
graphic user interface can be created using powerful screen commands.

4.1 Installation
You will find all service software on the diskette delivered with Handbook B. This can be
installed on your PC with the command a:install - if this has not already been done.
Connect your PC with the deltadrive using the link cable RS232.
The deltadrive was configured in the factory to ensure error-free communication. Drive-
specific adjustments must be made according to the application.

4.2 Screen view


Enter the command STEUER under MS-DOS followed by the enter key. The screen will look
as follows after the execution of the interpreter program STEUER.EXE:

active edition window (light script, dark


menu bar)
F6 = switch between windows

text area in program window. A


program can be written directly.

message window to display any


error messages

diagram 2

The program window enables you to create or change a program at any time. Any error
messages occuring during the course of the procedure will appear in the message window.

HABU C-E/ 05/2002 page 11


deltadrive AC-Servocontroler DAC

page 12 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.2.1 Important keys
Key Function
F4 Change the position/size of the active window. You can adjust
using <cursor key> and <Ctrl><cursor key> and then <Enter> to
close.
F5 Enlarge/Reduce the active window
F6 Switch between windows
F7 Cascade windows
F8 Arrange windows next to each other
Alt F3 Delete window
ESC Abort
<shift><cursor> Mark area
<shift><del> Delete marked area, write to the buffer
<shift><ins> Insert buffer to cursor point
<ctrl><ins> Copy marked area to buffer (without deleting)
<alt>L Load file
<alt>W Store file
<alt>T Execute program in individual steps
<alt>R Execute program
<Home> Beginning of line
<End> End of line
<PgUp> Previous page
<PgDn> Next page
<Ctrl><PgUp> Top
<Ctrl><PgDn> Bottom
<Del> Delete letter
<Ins> Switch from overwrite to insert modes
<TAB> Move from entry field to next (dialogue)

4.2.2 Writing a program


Write your new program directly in the editor window, or load an existing program and change
it accordingly.
You can load a program with the key combination Alt-L. You can load the file you want using
the file menu.
Cutting and pasting (inserting) allows you to move and copy entire sections of text.
Store the program using the Alt-W key combination.
All functions can also be performed by clicking on the menu bar with the mouse
as in diagram 3.

HABU C-E/ 05/2002 page 13


deltadrive AC-Servocontroler DAC

open file (Alt-L keys)


store file (Alt-W keys)
execute program in steps (Alt-T keys)
execute program (Alt-R keys)
check variable values (Alt-E keys)
Ileave interpreter (Alt-X keys)
abort (ESC key)

program status -stop and edit modes

insert text mark switch whole screen (F5 key)

text editor area position button

diagram 3

4.2.3 Executing a program


A program will be executed on keying in the Alt-R combination. The window program header
will show the message “running“.
Should an error occur, the header will contain a message indicating the type of error and the
line and column where the error has been located by the interpreter.The insertion marker is
thus positioned to the corresponding spot. ESC will put you back into edit mode and you can
correct the error. The error is also logged in the message window.
If you’ve opened more than one window, these other windows might cover the program
window. You can switch to the program window with F6.
A program can be executed in steps using the key combination Alt-T.
The ESC button will abort the present program.

4.2.4 Diagnostic tips


Entering the statement repeat until 0: can freeze a program at a specific spot until you
overwrite the 0 with a 1.
Set the commentary brackets {} for error tracing for the function now running to skip
unnecessary program sections.
You can find out the present status of variables at any time via the display fields that you set to
variables. Another possibility of monitoring variables is the Eval (Alt-L) button - this requires
that the program is active.

4.2.5 Options on the command line


The name of the program to be loaded can be given to the start-up program STEUER.EXE in
the MS-DOS command line. This will be executed immediately with the button /R. The /A
button switches the network to “Active Station“; this means that only the PC can then transmit
commands (Supervisor mode).
Example: STEUER [file name] [/R] [/A]

page 14 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

4.3 The programming language


4.3.1 Program construction
Each program is segmented into declaration sections and the body of the program
The declaration sections consist of a constants declaration, types declaration, variables
declaration and procedures declaration.
{program example
switches on 4 axles, drives to the coordinates 0,0,0,0 and switches the axles off}

const
commentary
Caxis = 3; Xaxis = 4; Yaxis = 5; Zaxis = 6;
everything between the brackets is
DriveOn = 6; DriveHalt :=$FF06; DriveOff = 5;
skipped.
type
table = array[Caxis .. Zaxis] of longint; constant declaration
Caxis can now be used instead of 3.
var
Allaxis: bitset; Type declaration
speed: integer; table gives a table with 4 entries, each entry is of
acceleration: integer; the longint type
position: table;
Var declaration
procedure start;
disk space is declared for addressing by the
begin
selected names
DriveExc(Allaxis, DriveOn);
end ;
Procedure declaration
procedure stop; the instructions between begin and end are executed if
begin called from start (all axles turned on here).
DriveCmd(Allaxis, DriveOff);
end; main program
this begin starts the program and
begin executes all instructions in steps until
Allaxis := [Caxis, Xaxis, Yaxis, Zaxis]; reaching end
start;
coord(Allaxis, 0, 0, 0, 0, speed, acceleration, acceleration);
stop;
end.

4.3.2 Identifiers
Identifiers are freely selected names that are declared in the declarations part and can then be
referred to in the following program portion.
Identifiers are composed of the letters A -Z, the underline _ and the numerals 0 -9.
You must begin using a letter
or an underline. Case Identifier
(upper, lower) is of no
significance.
A .. Z, _ A .. Z, _ 0 .. 9

Example:
Caxis DriveHalt Pos_0 x1

HABU C-E/ 05/2002 page 15


deltadrive AC-Servocontroler DAC

4.3.3 Constant declaration


A constant declaration begins with the keyword const. Then identifiers are defined and
allocated to a constant term or expression. This declaration can also contain expressions that
must be evaluated
before the definition constant declaration
phase.
Example: const identifier = constant expression ;

const
Caxis=3; Xaxis=Caxis + 1; message=‘Hello’; Xchar=‘X’; MaxInt=$7FFF;

Numbers
Decimal numbers are composed of 0 - 9. Hexadecimal numbers are composed of 0 - 9 and A -
F with a leading dollar sign.
Example:
0 12 1000123 $100A $FFFFFE

Sets
The corresponding basic constants of the set
appear in square bracket separated by commas. set constant
Example:
[ constant ]
The set contains the constants 1,4 und 5
[1,4,5] ,

Strings
String constants are delimited with single
quotation marks. They must be defined on one strings ’’
line and can contain a maximum of 255
alphabetic characters (letters). ’ ’
If a quotation mark is contained in the string, this alphabetics
must be a double quotation mark.
String constants can be shown like arrays. The index 0 contains the length of a string.
Example:
‘Hello’
‘This is a somewhat longer string.’ This text contains single quotation marks.’
‘C’ ‘’ {a string of length 0}

page 16 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.3.4 Type declaration
In the type declaration additional
type declaration
types are declared that derive
from the already known types. A
type declaration begins with the type identifier = types ;
keyword type. The new
identifiers follow on.

Simple types are


types
system types
POINTER, set of simple type
LONGINT,
INTEGER, BYTE,
CHAR and the array [ simple type ] of types
subranges derived
from these: ,

simple type

Example:
type
smallnumbers = 0 ... 7;
driverange = Caxis .. Zaxis;

In general, types are composed of all simple types as well as the structured types array for
table definitions, and the set type set of.
The pre-defined system type STRING can be considered as an array [0 .. 255] of characters.
The element with the index 0 contains the present length of the STRING.
The predefined system type BITSET can be considered as a set of 0 .....15.
The elements of a table (array) are stored in the order of their declaration.

type
messagetable = array [smallnumbers] of string;
messageset = set of smallnumbers;
vector = array [Caxis .. Caxis+3] of longint;
axset = 1 .. 15;

The maximum permitted array size is limited by the system storage (presently around 8000
bytes).
A set can only contain elements of the ordinal numbers 0 ...15.
Types are used in other declarations. A type declaration is a formal declaration and never
reserves storage memory.
To some extent type definitions can be used as functions in expressions. No code is
generated.
var
b: byte;
begin
b:=byte(‘X’); {allocated to byte b of the ASCII value of the letter X}
end;

HABU C-E/ 05/2002 page 17


deltadrive AC-Servocontroler DAC

4.3.5 Variables declaration


A variable begins with the
var declaration
keyword var. Following that the
identifiers are defined and
allocated to the desired types. var identifier : types ;
This declaration then directly
reserves storage capacity.
,
Example:

var
i,j,k: integer;
vector0: vector;
vector1: array[x .. z] of longint;
axis: bitset;
hilfetext: string;

4.3.6 Expressions
Algebraic notation
Algebraic notation is used. This means that the operator NOT is the strongest link and is thus
executed before AND or any multiplication operations. AND is stronger than +. Relational
operations have the weakest linkages.
Example:
i:= 1;
j:= 2;
k:= 3;
x:= i > k - j; {x is 0}
x:= i and j or i and not 1; {x is 0}
x:= i * j + j * k; {x is 8}

The following table gives an overview of operators including their linkage strengths
(1 = the strongest):

Operator Description Bindung


NOT bit inversion 1
() bracketing of expressions
[] 3
* multiplication of numerics 2
/ division of numerics
MOD remainder from a division (modulo)
AND bit and
XOR bit either or
+ addition of numerics, connection for character chain 3
- expressions

OR subtraction of numerics
bit or
> greater than 4
>= greater or equal
<= less than or equal
< less than
= equal
<> unequal

page 18 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
Logical expressions:
Example:
(i > 1) and (j < 0) (position <> target) or (speed >= 0)
input and $100 or not input and $200 ip([Cax], 0) xor 1

Algebraic expressions:
Example:
(k * 1000 - 1) mod 16 30000 / j + 20

Type conversion
Type conversion from scalar types is possible. Thus the desired type name is written followed
by the bracketed expression:
var
i: integer; b: byte; s: string;
begin
b:= byte(‘X’); {ordinal number of the letter X}
i:= byte(s[1]); {string length assigned to a number}
write(integer(b)); {write as signed number}

Help operators
; semicolon - concludes an statement; can be omitted before END and UNTIL
.. subrange definition, e.g. 1 .. 10
, separation of individual identifiers / expressions in enumeration types and
parameter transfers
{} commentary brackets
:= equivalencies, e.g. i:= 1; (i is equivalent to 1)
: formatting instruction follows (with screen variables) e.g.: i:H (display hexadecimal)

4.3.7 Statements
The executable program consists of statements bracketed between begin und end. A
distinction is made between assignments which are processed sequentially, procedure calls
and skip functions.
Assignement
assignement
An expression is assigned to a
variable. The variable is on the left of
the assignment operator :=, and the identifier := expression ;
expression to the right.

HABU C-E/ 05/2002 page 19


deltadrive AC-Servocontroler DAC

Compound statement
A compound statement is a summary
compound statement
of individual statements bracketed by
begin end.
begin statement end

Example:
if k > 1 then begin
j:= 4;
k:= -1
end
else begin
j:= j + 1;
k:= k + 1;
end;

IF - ELSE - Statement
Conditionally execute if the
expression is true, otherwise. ifstatement

if expression then statement

else statement
Example:
if k > 1 then j:= 4;
if j = 5 then
if k = 6 then j:= 1
else j:= j + 1
else k:= 1;

REPEAT-UNTIL loop
Conditional repeat loop
to be run at least once. reapeatstatement

repeat statement until expression

Example: ;

repeat
k:= k + 1;
until k > 10;

page 20 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
WHILE-DO loop
Conditional loop to be
whilestatement
tested before initial entry.

while expression do statement


Example:
while k > 0 do
k:= k - 1;
while i <> 0 begin
k:= k + 1;
i:= i - 1
end;

4.3.8 Reserved words (keywords)


AND ARRAY BEGIN CASE
CONST DO ELSE END
FOR FUNCTION IF IN
MOD NOT OF OR
PROCEDURE RECORD REPEAT SET
THEN TYPE UNTIL VAR
WHILE XOR

4.3.9 System types


POINTER Points to the screen object. Cannot be calculated 32 bit, 4 bytes
p:=0 corresponds to an unused pointer.
LONGINT Number, used for axis position. 1 bit + sign
The range includes -2,147,483,647 ... +2,147,483,647 4 bytes
INTEGER Number used for speed, accelerations. Range: 15 bit + Vorz.
-32768 ... 32767 2 bytes
BYTE Number. Range: 0 .. 255 8 bit, 1 byte
CHAR ASCII alphabetics 8 bit, 1 byte
STRING Character chain, ARRAY[BYTE] OF CHAR, maximum 256 bytes
number of characters = 255. Index 0 contains the present
character count.

BITSET Number of numerics 0 .. 15 used for axis masks 2 bytes

HABU C-E/ 05/2002 page 21


deltadrive AC-Servocontroler DAC

4.3.10 System variables


IORESULT Contains the operating system-dependent error code 0 = no error
of the most recent file operation
(RESET, READ ...).
SCREENUPDATE Influences the relation between executing 0 = refresh
program steps and refreshing screen variables. after each
program step
50 = refresh
seldom

BUTTONCMD Contains the code of the most recently clicked button.


Can be restored after readout by the program.

4.3.11 Screen objects


WINDOW Used with the NEW function to produce a window
TEXT Used with the NEW function to enter text on the screen.
BUTTON Used with the NEW function to set up a user-defined operator button.
VARS Used with the NEW function to set up a display / input variable.
DISPVARS Used with the NEW function to set up a display variable.

4.3.12 Screen functions


NEW(WINDOW, window name: string; x, y, w, h: integer): pointer;
Opens a new user window at theposition x, y with the dimensions w, h. A pointer is
returned. See also SELECT.
NEW(TEXT, message: string; x, y, w, h, font: integer): pointer;
Writes a message at the position x, y; with the dimensions w, h and the typeface
“font”. A pointer is returned.

NEW(BUTTON, message: string; x, y, w, h, code: integer; command): pointer;


Constructs a switch button at the position x, y with the dimensions w, h. “code“ is
the button code triggered by the button. “Command” is the response to triggering
BUTTONCMD. A pointer is returned.

Table of the most Key Code Key Code Key Code


important key codes: F1 $3B00 F8 ESC $011B
F2 $3C00 F9 Enter $1C0D
F3 $3D00 F10 PgUp $49E0
F4 F11 PgDn $51E0
F5 F12
F6
F7

NEW(VARS, Message: string; x, y, w, h: integer; var variable): pointer;


Build a display/input window for a program variable or a parameter at the position
x, y with the dimensions w, h. A pointer is returned.
DISPOSE(pointer);
Removes from the screen the object designated by the pointer.

page 22 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
SELECT(pointer);
Selects the screen object designated by the pointer. 0 = background.
MODAL(pointer);
Assigns all input to the screen object designated by the pointer.
(except Alt-T). Modal(0) = background of the whole Desktop. This function
serves to protect the program against erroneous input.

Example:
var a: array[1,1..3] of integer;
win: pointer;
begin
color:= 11; {blue is selected for the following window}
win:= new(Window, ‘screen function’,10,10,400,200); {a new window is defined}
select(win); {selects the newly defined window}
modal(win); {input is only possible in this window}
new(Text,’Schrift 2’,170,40,160,25,2); {writes the text using script No.2}
new(Text,’Schrift 3’,170,70,160,25,3); {writes the text using script No.3}
color:= 0; {selects the color grey for the next operating button}
new(Button,’^B~R~eference move’,10,30,150,30,byte(‘R’),2000); {a new button is defined}
new(Button,’~P~arameter set’,10,60,150,30,byte(‘P’),2001);
new(Button,’~S~top’,10,90,150,30,byte(‘S’),2002);
new(Button,’’,10,90,1,1,$011B,2002); {an invisible button is set up “behind” the stop button in
order to be able to leave the program with the ESC button}
color:= 11;
new(Text,’Please enter the values:’,160,125,170,10,0);
color:= 15;
new(Vars,’value 1:’, 160,140,100,15, a[1,1]); {new input variables are defined}
new(Vars,’value 2:’, 160,155,100,15, a[1,2]);
new(Vars,’value 3:’, 160,170,100,15, a[1,3]);
new(Dispvars,’value 1:’, 260,140,100,15, a[1,1]); {new display variables are defined}
new(Dispvars,’value 2:’, 260,155,100,15, a[1,2]);
new(Dispvars,’value 3:’, 260,170,100,15, a[1,3]);
repeat until buttoncmd = 2002;
buttoncmd:= 1000;
dispose(win); {the window is deleted from the screen}
end;

HABU C-E/ 05/2002 page 23


deltadrive AC-Servocontroler DAC

4.3.13 Formating fields


• Where a VARS- or DISPVARS screen object variable is followed by :H the value is given in
hexadecimal.
• Letters bracketed by tildes within a message are written in bright red. (e.g. ‘E~X~IT’).
• Text fields can be written using 8
different fonts. The selected script
number is transferred as the
parameter “font”. Where this
parameter is omitted, font 0 is
selected.

Script File name of


number font
0 STA1.CHR
1 GOTH.CHR
2 TSCR.CHR
3 SIMP.CHR
4 EURO.CHR
5 SCRI.CHR
6 TRIP.CHR
7 SANS.CHR

• Display texts can contain the diagram 4


following invisible codes:
^B set in bold Example: ‘normal ^Bfett ^Ischräg ^Nnomal’
^I set italic Ergebnis: normal bold italic normal
^N set normal

• Every window can be assigned a color:


color:= integer; (applies to the selected window)
Color Value Color Value
grey (default) 0-10 crimson red 14
blue 11 light blue 15
yellow 12 grey 16
light green 13

page 24 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.3.14 Graphic functions
FIELD:= NEW(Text, ‘’, x, y, w, h: integer);
Before the graphic function can be used, a graphic field must be defined at position
x, y with the dimensions w, h.
GRAFIC(MOVETO, field, u, v: integer): pointer;
Sets the graphic pointer to position u, v in the graphic field “field”.
GRAFIC(DRAWTO, field, u, v: integer): pointer;
Drags lines from the present position to position u,v in the “field“.
GRAFIC(TEXTOUT, field, message: string): pointer;
Writes text to the present position in the “field“.
GRAFIC(SETSTYLE, field, style): pointer;
Specifies the type of line to be drawn in the “field“. Without options an
unbroken line will be drawn. style:= $FFFF = unbroken line,
style:= $7E7E = broken line.
GRAFIC(XPOLY, field, , , , ): pointer;
Draws a polygonal line defined by multiple points in the horizontal axis....
GRAFIC(YPOLY, field, , , , ): pointer;
Draws a polygonal line defined by multiple points in the vertical axis...
GRAFIC(XYPOLY, field, , , , ): pointer;
Draws a polygonal line...
GRAFIC(REFTEXT, field, message: string): pointer;
Writes “message“ to the present position and assigns it to the “field“.
If “message“ has changed, this will appear the next time the graphic field is
refreshed.
GRAFIC(SETCOLOR, field, color: integer): pointer;
Sets color in the “field“ for upcoming text, lines or polygon.
(DOS colors)
GRAFIC(REDRAW, field): pointer;
The graphic “field“ is refreshed on the screen. This command must be executed in
order for all other commands on the screen to be made visible.
GRAFIC(CLEAR, field): pointer;
Contents of the graphic “field“ are deleted.
GRAFIC(PUSH, )
GRAFIC(POP, )

Example:

HABU C-E/ 05/2002 page 25


deltadrive AC-Servocontroler DAC

4.3.15 File functions


GETFILENAME (Menu name, defaultfile, commentary: string): string;
Displays a user menu for selecting a file. If you choose a valid file the valid file
name will be returned. Otherwise it will be an empty string.
The menu window will be displayed in the middle of the screen.
RESET(filename: string);
Opens a file for reading.
REWRITE(filename: string);
Produces a new file called “filename” and opens it for input.
CLOSE;
Closes the most recently opened file.
READ(var numeric);
Reads a numeric from the file.
WRITE(numeric_or_text);
Writes a numeric or a string to the file.
WRITELN;
Writes a line feed to the file.

Example:
var
name: string;
i: integer;
table: array[1..10] of integer;

begin
name:= Getfilename(‘read file’,’*.txt’,’select a file’);
if name[0] > 0 then begin
reset(name);
i:= 0;
if ioresolt = 0 then
repeat
read(table[i]);
i:= i + 1;
until i > 10
else {open error file};
close;
end
else {no file selected}
end.

page 26 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.3.16 Numeric control functions
Overview of all drive functions:
Drive-specific parameters can be read Parameter IP(DriveMask, Parameternumber)
out or written via the parameter functions
functions LONGIP(DriveMask, Parameternumber)

CNC - Interpreter: Motion VEL(DriveMask, velocity, acceleration, deceleration,


These functions are transmitted to the functions Inputcondition)
drive and stored in a wait queue until
execution. Numerous drives are thus POSABS(DriveMask, position, velocity, acceleration,
synchronized without any intervention deceleration)
from the control program. The POSREL(DriveMask, position, velocity, acceleration,
following categories are available: deceleration)
COORD(DriveMask, pos1,..,posn, velocity,
acceleration, deceleration)
Encoder POSENC(Drive Mask, Refstart, GearA, Gear,B)
control
functions INTERPENC(DriveMask, Refstart, GearA,GearB,
Yscale, Yoffset)
Control DRIVECMD(DriveMask, Command)
functions
DRIVEEXC(DriveMask, Exception)
WAITINPUT(DriveMask, Inputcondition)
The drive specific storage is read or Storage DUMPDRIVE(DriveMask, DriveAddress, Size, Data)
written directly functions
ENTERDRIVE(DriveMask, DriveAddress, Size, Data)
Real-time buffer: Real-time RTBYTE(Drivenumber, Rtbufferoffset)
In the CNC operation, each drive is functions
constantly transmitting real-time RTWORD(Drivenumber, Rtbufferoffset)
information. This means the real-time RTLONG(Drivenumber, RTbufferoffset)
buffer is always being refreshed. //
This is being constantly refreshed in
the real-time buffer. This buffer is
reserved for drives with station
numbers 1 to 16; each drive having 16
bytes each. This memory is
accessible (can be read out) with the
functions RTBYTE, RTWORD and
RTLONG.

The individual commands can be described as follows:


IP(DriveMask, Parameternumber);
Read or write a word parameter (IP). “Drive Mask“ contains the drive numbers of
every drive that is to execute this command at the same time, or which should
execute this command on reading this command.
LONGIP(DriveMask, Parameternumber);
Read or write a long parameter (IP). “Drive Mask“ contains the drive numbers of
every drive that is to execute this command simultaneously, or which should
execute this command on reading this command.
VEL(DriveMask, velocity, acceleration, deceleration, Inputcondition);
Speed commands. Accelerate with “acceleration“ until reaching the speed specified
by “velocity“ and move until (INPUT AND input condition) are unequal to 0,
then slow with “deceleration“ until speed equals = 0.
If input condition is omitted, move until the next step is loaded for the drive.
“Drive Mask“ contains the drive number of all drives that are to execute this
command simultaneously.

HABU C-E/ 05/2002 page 27


deltadrive AC-Servocontroler DAC

POSABS(DriveMask, position, velocity, acceleration, deceleration);


Command for absolute positioning. “Position“ is the target position of the axis,
“velocitiy“ the maximum speed; “acceleration“ and “deceleration“ are self-
explanatory.
“Drive Mask“ contains the drive numbers for all drives that are to execute this
command simultaneously.
POSREL(DriveMask, position, velocity, acceleration, deceleration);
Command for relative positioning. “Position“ is the relative displacement of the axis;
“velocity“ the maximum speed; “acceleration“ the acceleration and “deceleration“
the braking rate.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
COORD(DriveMask, pos1, .., posn, velocity, acceleration, deceleration);
Command for the synchronous positioning of numerous axes. “Pos1 .. posn“ are
the individual target points of each axis. Their number must correspond to the
number of drive numbers in the “DriveMask. Where the initial bit of the target point
is set, this means a relative displacement.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
POSENC(DriveMask, Refstart, GearA, GearB);
Command for positioning dependent on a master encoder. Follow the master
encoder in the ratio “GearA“/“GearB“, until another step is programmed in the drive.
“Refstart“ corresponds to the start position of the master encoder.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
INTERPENC(DriveMask, Refstart, GearA, GearB, Yscale, Yoffset);
Command for positioning dependent on a master encoder, a table with position
values and sinusoidal interpolation. Follow the master encoder in the
ratio “GearA“/“GearB“ until another step is programmed in the drive.
Take the 16 bit results of the gear calculation as an angle in the Xtabelle and
compute a sinus interpolation according to the Ytabelle, scale this interpolation
further with “Yscale“ and include “Yoffset“. The result is the machine position of the
axis. “Refstart“ corresponds to the start position of the master encoders. Before
execution of this command the number of entries in the Xtabelle and theYtabelle
must be set and both tables loaded with defining points using the “ENTERDRIVE”
command.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
Example: (See also the example program)
XTABELLE YTABELLE
(2 0 0 0 ,1 0 0 0 )
0 0
2000 1000
4000 -2000
(0 ,0 ) (0 ,0 )

(4 0 0 0 ,-2 0 0 0 )
1 Z yklu s = 6 5 5 3 6

page 28 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
DRIVECMD(DriveMask, Command);
Instruction to execute a drive command. You will find the meanings of the various
commands in the table below. As with all other commands, this one is stored and
processed FIFO.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
DRIVEEXC(DriveMask, Command);
This command is similar to DRIVECMD except that it is not loaded FIFO to the
drive but interrupts the executing command line and is executed immediately.
You will find the meanings of the various commands in the table below. As with all
other commands, this one is stored and processed FIFO.
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.

„Command“ - Table:
Command Description
SETREF = 2 Pick up a machine reference (Parameter MSHIFT)
DRVSTOPOFF = 4 Run deceleration ramp and stop drive
DRVOFF = 5 Drive off
DRVON = 6 Drive on
DRVHALT = $FF06 Stop drive now
DRVSTEP = 6 + 256 * x Run x steps on drive
CLRFIFO = 7 Delete all steps in instruction buffer
CLRCOUNT = 8 Set present position to zero
CLRPRG = 9 Delete all steps following the present step
VRED_ON = 10 + $100 Activate RPM decrease
VRED_OFF = 10 Deactivate RPM decrease
LOCKON = 11 + $100 Lock axis (index)
LOCKOFF = 11 Unlock axis
CLEAROUTPUT = 12 + 256 * M Delete digital outputs (M = output bit mask)
SETOUTPUT = 13 + 256 * M Set digital outputs (M = output bit mask)

WAITINPUT(DriveMask, Inputcondition);
Command to wait until (INPUT AND “Inputcondition“) in the drive are unequal to 0.
The initial bit in “Inputcondition“ defines the level (0 oder 1).
e.g. wait until input bit 3 =1: WAITINPUT([axis],$8008; or
wait until input bit 3 = 0: WAITINPUT([axis],$0008;
“Drive Mask“ contains the drive numbers of all drives that are to execute this
command simultaneously.
DUMPDRIVE(DriveMask, DriveAddress, Size, Data);
Command for the direct readout of the drive memory (RAM) from the address
“DriveAddress“ with the dimension “Size“. The data read are kept in “Data“.
“DriveMask“ contains the drive number of the drive that is supposed to execute this
command.
ENTERDRIVE(DriveMask, DriveAddress, Size, Data);
Command to write the drive memory (RAM) directly from the address
“DriveAdress“ with the dimension “Size“. The data to be written is kept in “Data“.

HABU C-E/ 05/2002 page 29


deltadrive AC-Servocontroler DAC

“Drive Mask“ contains the drive number of all drives that are to execute this
command simultaneously.

page 30 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
RTBYTE(Drivenumber, RTbufferoffset);
Reads a byte from the real time buffer of the drive with “Drivenumber“ to the
position “RTbufferoffset“. You can find the meaning of the results in the
“Rtbufferoffset“ table below.
RTWORD(Drivenumber, RTbufferoffset);
Reads a word from the real time buffer of the drive with “Drivenumber“ to the
position “RTbufferoffset“. You can find the meaning of the results in the
“Rtbufferoffset“ table below.
RTLONG(Drivenumber, RTbufferoffset);
Reads a long word from the real time buffer of the drive with “Drivenumber“ to the
position “RTbufferoffset“. You can find the meaning of the results in the
“Rtbufferoffset“ table below.

“RTbufferoffset“ Table
RTbuffer- Size Name Description
offset
0 word NETid Actual step in process
2 word NETstatus Actual drive interpreter status (see “NET” status table)
4 long NETpositio Actual drive positiion
n
8 word NETspeed Actual drive speed
10 long NETnext Drive target position (if known)

“NETstatus“ - Tabelle:
Bit No. Value (hex) Name Description
0 $0001 fifoempty No other step was loaded
1 $0002 fifofull No other step can be loaded
2 $0004 pctlenable Drive is running on a closed control loop
3 $0008 pctlstop Drive has been interrupted by the raphalt stop or stop command
(positioned)
4 $0010 nnull RPM is 0
5 $0020 dpnull Desired position = actual position
6 $0040 dnnull Desired RPM = Iactual RPM
7 $0080 islocked Drive ready to execute step but locked out for external input
8 $0100 execute Drive executing a step
9 $0200 driveerror Drive in error status (turned off)
10 $0400 endmin Drive is at limit switch minus side
11 $0800 endmax Drive is at limit switch plus side
12 $1000 refdone Drive has executed reference move, software limits are active
13 $2000 waitsynch Drive is waiting for same step number on another drive
14 $4000 excproc Drive is executing DRIVEEXC
15 $8000 ipactiv Drive CNC functions are activated

HABU C-E/ 05/2002 page 31


deltadrive AC-Servocontroler DAC

Example:

page 32 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive
4.3.17 Interpreter error messages

Error No. Name & meaning Additional comment if necessary


101 Unknown Identifier
102 ) expected
102 Expression out of range
105 ] expected
106 ; expected
107 Identifier declared twice
108 = expected
109 Type must be subrange
110 OF expected
111 [ expected
112 Illegal type declaration
113 Low bound exceeds high bound
114 Identifier expected
115 : expected
116 END expected
117 BEGIN expected
118 Invalid number
119 Unexpected end of source
120 Invalid symbol
121 Illegal assignment to constant
122 Constant can not be formal parameter Transfer of constant not allowed
123 Invalid type casting Invalid type conversion
124 ( expected
125 Assignement type is not compatible
126 := expected
127 Invalid procedure reference
128 Variable expected
129 Type is not campatible
130 Too many parameters
131 Factor expected
132 Error in statement
133 THEN expected
134 UNTIL expected
135 Parameter expected
136 Error in string constant
137 Index range out of bounds
138 Illegal index subscript
198 Code overflow Program too long
199 Stop by user
201 Division by 0
202 String conversion error
203 Data area overflow Too little memory for data

HABU C-E/ 05/2002 page 33


deltadrive AC-Servocontroler DAC

5. Parameter
Overview of all available parameters:
IP No. Name 60 BASEFLUX 162 GEAR_FACTOR
0 UP_STATUS 61 BASEROTRES 200 IU_VAL
1 UP_ERRORS IP No. Name 201 IV_VAL
2 PREFMUX 62 POLESHIFT 202 BUS_VAL+1
3 PACTMUX 65 BUS_MIN IP No. Name
4 NREFMUX 66 BUS_MAX 203 A1_VALUE
5 NFFDMUX 67 N_EPS 204 A2_VALUE
6 NACTMUX 68 NMINLIMIT 205 A3_VALUE
7 IAREFMUX 69 NMAXLIMIT 206 AH1_VAL
8 IAFFDMUX 74 ENDSOFTMIN 207 AH2_VAL
9 IFREFMUX 75 ENDSOFTMAX 208 PTC_VAL
10 INPUTLEVEL 76 ENDMINSPEED 209 ENC_SPEED
11 OUTPUTLEVEL 77 ENDMAXSPEED 210 ENC_ANGLE
12 SPECIALINPUT 78 ENDMINMASK 211 ENC_COUNT
13 SPECIALOUTPUT 79 ENDMAXMASK 212 PHI
15 BASE_SPEED 82 PGAIN 213 PHIOFFSET
16 ENC_IPR 83 PGAINEXP 214 INPUT
17 XENC_IPR 85 PINTERN 215 OUTPUT
18 MYSTAD 86 P_EPSOFF 216 IFACT
19 GATESTAD 87 P_EPS 217 IAACT
20 NMIN 100 IPEXC 218 NERR
21 NMAX 101 IPCMD 219 NOUT
22 NGAIN 102 LOCKIN 220 IFERR
23 NGAINEXP 103 LOCKOUT 221 IAERR
24 NALFA 105 VREDUCE 222 IFOUT
25 NINTERN 110 IPFLAGS 223 IAOUT
27 I_NOM 111 NETMASTER 224 PHASE_U
28 I_MAX 113 MSHIFT 225 PHASE_V
29 ALFA_MOT 114 POSITION 226 PHASE_W
30 I_SQRMOT 115 SPEED 227 PHASE_F
31 I_MAXBASE 116 LEITPOS1 228 NREF
32 IGAIN 117 LEITSPEED1 229 NACT
34 IALFA 118 POSGA 230 WG_PROTECT
35 IINTERN 119 POSGB 231 POUTMAX
36 ILIMITTIME 120 MAXSTEIGUNG 232 PERR
37 I_ABGLEICH 121 XTABLE 233 POUT
38 IU_OFFSET 122 MAXX 234 IMAX
39 IV_OFFSET 123 YTABLE 235 FLUX
40 A1_SCALE 124 MAXYY 236 ROTRES
41 A1_OFFSET 125 MAXZY 239 XENC_SPEED
42 A2_SCALE 126 YCYCLE 240 XENC_ANGLE
43 A2_OFFSET 127 YCOUNT 241 XENC_COUNT
44 A3_SCALE 130 POSOFFSET 242 CAPSTATUS
45 A3_OFFSET 131 POSBACKUP 243 MACHINEREF
46 AH1_SCALE 150 WAITINPUT 244 EXTNULLPULSE
47 AH1_OFFSET 151 POSABS 245 NULLPULSE
48 AH2_SCALE 152 POSREL 246 PRINTMARK
49 AH2_OFFSET 153 COORD 251 SETUP
50 DAC1MUX 154 252 LAST_UPERRORS
51 DAC1OFFSET 155 POSENC 253 TASK
52 DAC1SCALE 156 INTERPENC 254 VERSION
53 DAC2MUX 157 VEL
54 DAC2OFFSET 158
55 DAC2SCALE 160 RED_FACTOR
56 OSCPERIODE 161 RED_ANGLE

page 34 HABU C-E / 05/2002


AC-Servocontroller DAC deltadrive

HABU C-E/ 05/2002 page 35


5.1 Basic parameters
5.1.1 Control unit
IP No. Name Unit Value Description
0 UP_STATUS hex deltadrive status display
$108 if drive out
other see table
1 UP_ERRORS hex Display of errors
$0 No errors
other see table
251 SETUP hex Selection of types deltadrive
$00 DAC03, DAC05, DAC08
$10 DAC016
$20 DAC030
252 TASK hex $28 Various messages
bit 0 reserved
bit 1 reserved
bit 2 reserved
bit 3 Interpreter application
bit 4 automatic adjustment
bit 5 analog converter 1 aktive (a1, a2, a3) scaling & offset
bit 6 historic log active
bit 7 display all parameters in internal values

Table of the UP_STATUS register (IP0):


Each of the register’s 16 bits is assigned to one drive status statement. The register is
presented in hexadecimal. The most important statuses are displayed in the LEDs on the front
(see Handbook A, sect.3.1.4 p.8).
Bit No. Name Value (hex) LED No. Description
0 RFON $0001 7 Regulator is active (IGBT = on)
1 DRIVEERR $0002 6 Error
2 RFSYNCH $0004 Encoder commutation known absolutely (influenced by IP 56)
3 NZERO $0008 2 RPM = 0 (influenced by IP 67)
4 ILIMIT $0010 5 Current limit reached
5 NEQU $0020 Desired = actual RPM (influenced by IP 67)
6 PEQU $0040 Desired = actual position (influenced by IP 87)
7 BRAKON $0080 1 Braking
8 NPLUS $0100 RPM positive
9 FB104BIT $0200 FB 104 card detected
10 VLIMIT $0400 Voltage limit reached
11 STOPDRIVE $0800 Run at 0 RPM and stop
12 ENASYNCH $1000 Incremental feedback
13 DRIVEON $2000 Regulator release, controlled via inputs or software
14 RESETERR $4000 Reset drive (error knowledgement), controlled via inputs or software
15 RAPHALT $8000 4 Raphalt signal, controlled via inputs or software

hex binary hex binary To determine which bits (=1) are set according to the hexidecimal number, this
0 0000 8 1000 number will have to be converted to binary. Each hex number yields a (binary)
1 0001 9 1001
group of 4 as you can see below. The conversion table below is of help.
2 0010 A 1010 Example:
3 0011 B 1011 $2105 $0108
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
0010 0001 0000 0101 0000 0001 0000 1000
7 0111 F 1111
bits set - No.: 0, 2, 8, 13 bits set - No.: 3, 8

a product of the deltadrive Group


AC-Servocontroller DAC deltadrive
Table of UP_ERRORS Register (IP1):
The appropriate bit is set in this register in case of error, and displayed blinking in the LED on
the front side. (See Handbook A, sect. 3.2.4, p.8.) If more than one error occurs at the same
time, the initial error is displayed and remains stored until reset. Every error will stop the drive.
Bit No. Name Value (hex) LED No. Description
0 $0001 not used (always 0)
1 $0002 0
2 STARTUP $0004 1 Computer initializing, error in program, drive blocked
3 $0008 0,1
4 $0010 4
5 $0020 0,4
6 IO_ERR $0040 1,4
7 APPL_ERR $0080 0,1,4 Application error (FIFO overrun or invalid parameter)
8 PERR_FAIL $0100 5 Contouring error (influenced by IP 86)
9 ILIMIT_FAIL $0200 0,5 Regulator at current limit too long (influenced by IP 36)
10 PROCESS_FAIL $0400 1,5 Error on starting processor, software wrong
11 UNDER_VOLT $0800 0,1,5 DC intermediate circuit voltage too low or missing (IP 65)
12 OVER_SPEED $1000 4,5 RPM too high (influenced by IP 68 and IP 69)
13 ENC_ERR $2000 0,4,5 Encoder error, check cable
14 OVER_VOLT $4000 1,4,5 DC intermediate circuit voltage too high (influenced by IP 66)
15 IGBT_ERR $8000 0,1,4,5 IGBT error (error in power stage)

5.1.2 Reference switches (MUX)


IP No. Name Unit Value Description
2 PREFMUX Reference position switch
$6 Standard: PINTERN internal position default
3 PACTMUX Present position switch
$B Standard: ENC_ANGLE encoder angle
4 NREFMUX Reference RPM switch
$7 Standard: NINTERN internal RPM default
5 NFFDMUX Forward feed switch
$0 Standard: no assignment
6 NACTMUX Present RPM switch
$C Standard: ENC_SPEED Encoder speed
7 IAREFMUX Armature power switch
$A Standard: NOUT RPM drive output
8 IAFFDMUX Armature power forward feed switch
$0 Standard: no assignment
9 IFREFMUX Field current reference switch
$D Standard: FLUX flow feed

One of the variables on the following table can be assigned to each of the reference switches
(MUX). This allows, e.g. the definition of different kinds of drives, depending on the application
(RPM regulator, power regulator, position regulator, etc.)
Example:
const PREFMUX=2; PINTERN=6; begin IP(3,PREFMUX):= PINTERN; end

page 37
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

Table of variables for the reference switches (MUX):


Var.No. Var.No. Name Description
(dec.) (hex)
0 $0 0
1 $1 A1_VAL Analog input 1
2 $2 A2_VAL Analog input 2
3 $3 A3_VAL Analog input 3
4 $4 AH1_VAL Analog input 1 high resolution
5 $5 AH2_VAL Analog input 2 high resolution
6 $6 PINTERN Internal position default
7 $7 NINTERN Internal RPM default
8 $8 IINTERN Internal current default
9 $9 POUT Position regulator output
10 $A NOUT RPM regulator output
11 $B ENC_ANGLE Encoder angle (1 revolution = 65536)
12 $C ENC_SPEED Encoder speed
13 $D FLUX Flow default
14 $E PHI Electric angle
15 $F PTC_VAL PTC Motor
16 $10 XENC_ANGLE External encoder angle (1 revolution = 65536)
17 $11 XENC_SPEED External encoder speed
18 $12 0
19 $13 NFFD RPM default from Interpreter
20 $14 POUTMAX Positionloop output maximum
21 $15 PERR Position loop error
22 $16 NREF RPM default
23 $17 NACT Present RPM
24 $18 NERR RPM error
25 $19 IFACT Present Field Current
26 $1A IFERR Error Field Current
27 $1B IAACT Present armature current
28 $1C IAERR Error armature current
29 $1D IFOUT Output Field Current
30 $1E IAOUT Output armature current
31 $1F IU_VAL Current measurement Phase U
32 $20 IV_VAL Current measurement Phase V
33 $21 PHASE_U Tension Phase U
34 $22 PHASE_V Tension Phase V
35 $23 PHASE_W Tension Phase W
36 $24 BUS_VAL DC link voltage (DC)
37 $25 PHASE_F Phase voltage brakes
38 $26 IMAX Maximum Current for Motor
39 $27 MASCHREF Machine reference (MR)
40 $28 EXTNULLPULS External index pulse (EXT NP)
41 $29 NULLPULS Index pulse (NP)
42 $2A PRINTMARK Print mark (PM)

page 38
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive
5.1.3 In / Output Level (Option)
IP No. Name Unit Value Description
10 INPUTLEVEL hex $0000 Level inputs
One or more inputs can be inverted by setting the
appropriate bits.
$0008 Input E3 will be inverted
11 OUTPUTLEVEL hex $0000 Level outputs
One or more outputs can be inverted by setting the
appropriate bits
$0048 Output 03 and 06 will be inverted
12 SPECIALINPUT hex Assign special inputs
$0007 The inputs E0 = drive on, E1 = Reset, E2 = Raphalt are
assigned.
$0000 The inputs E0, E1, E2 can be used as desired
13 SPECIALOUTPUT hex Assign special outputs
$0003 The outputs O0 = operation, O1 = ready are assigned
$0000 The outputs O0, O1 can be used as desired

5.1.4 Encoder - settings


IP No. Name Unit Value Description
16 ENC_IPR I/U*4 Encoder pulse setting
0 off
4000 (1000 ppr wheel)
8192 (2048 ppr wheel)
17 XENC_IPR I/U*4 External encoder pulse setting (extra encoder)
0 off
4000 (1000 ppr wheel)
8192 (2048 ppr wheel)
56 OSCPERODE int Oscillator Period for rotor orientation adjustment
-1 = for encoder with comutating tracks
0 = off (e.g. for asynchronous motor)
1 = high frequency for automatic adjustment
3 = low frequency, etc.

5.1.5 Network settings


IP No. Name Unit Value Description
18 MYSTAD Regulator station address
1 - 63 depending on the station
3 on delivery
19 GATESTAD Special station in a network operation
50 (32H) Standard value (this station is queried frequently)

page 39
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.1.6 RPM - settings


IP No. Name Unit Value Description
20 NMIN U/min Maximum RPM negative
according to application
21 NMAX U/min Maximum RPM positive
according to application
22 NGAIN int RPM drive gain
-127 .. PI - regulator (Warning: negative = positive feedback)
+127 inertial specific
23 NGAINEXP int Exponent RPM control loop gain
12 PI - regulator (Ptot = NGAIN * 2NGAINEXP)
24 NALFA ms Integral action time RPM regulator
10 inertial and friction specific
25 NINTERN U/min 1000 Internal RPM default
67 N_EPS U/min RPM - Null range
10 message tolerance
68 NMINLIMIT U/min RPM limits for negative rotation direction
3500 disconnect
69 NMAXLIMIT U/min RPM limits for positive rotation direction
3500 disconnect

5.1.7 Current settings


IP No. Name Unit Value Description
27 I_NOM 10mA Nominal current of the corresponding deltadrive
300 3A for DAC 03
800 8A for DAC 08 etc.
28 I_MAX 10mA Maximum permissible current for application
100 e.g. 1A
32 IGAIN Current control loop - gain
-30000 .. PI - regulator (Warning: negative = positive feedback)
+30000 motor-specific, don’t set greater than 32000
34 IALFA ms Integral action time current regulator
PI - regulator
7 motor-specific e.g. 7ms
35 IINTERN 10mA Internal current default
0 Standard value
30 corresponds to 300mA

5.1.8 Position settings


IP No. Name Unit Value Description
82 PGAIN -127..127 Position drive gain
30 depending on motor (Warning: negative = positive feedback)
83 PGAINEXP Position drive gain exponent
6 depending on motor (Ptot = PGAIN * 2PGAINEXP)
85 PINTERN int 4346 Internal position
86 P_EPSOFF longint Contouring error monitoring
65000 1 motor revolution
negativ disconnected
87 P_EPS int 25 Position tolerance

page 40
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive
5.1.9 System parameters
IP No. Name Unit Value Description
37 I_ABGLEICH hex Rotor position calibration current
~$100 automatic adjustment
38 IU_OFFSET hex Current adjustment in drive phase U
~$4000 automatic adjustment
39 IV_OFFSET hex Current adjustment in drive phase V
~$4000 automatic adjustment
65 BUS_MIN V Minimal DC- link voltage
62 enabling correct operation
66 BUS_MAX V Maximum DC- link voltage
368 disconnection if this value is exceeded

5.1.10 Analog inputs settings


IP No. Name Unit Value Description
40 A1_SCALE int ±3000 Scaling of analog input 1
41 A1_OFFSET ±3000 Offset of analog input 1
42 A2_SCALE int ±3000 Scaling of analog input 2
43 A2_OFFSET ±3000 Offset of analog input 2
44 A3_SCALE int ±3000 Scaling of analog input 3
45 A3_OFFSET ±3000 Offset of analog input 3
46 AH1_SCALE int ±3000 Scaling of analog input 1 high resolution
47 AH1_OFFSET ±3000 Offset of analog input 1 high resolution
48 AH2_SCALE int ±3000 Scaling of analog input 2 high resolution
49 AH2_OFFSET ±3000 Offset of analog input 2 high resolution

5.1.11 Analog output settings


IP No. Name Unit Value Description
50 DAC1MUX hex $0007 Switch to analog output 1
51 DAC1OFFSET int 0 Offset for analog output 1 setting by measurement
52 DAC1SCALE int 100 Scaling analog output 1 setting by measurement
53 DAC2MUX hex $0008 Switch to analog output 2
54 DAC2OFFSET int 0 Offset for analog output 2 setting by measurement
55 DAC2SCALE int 100 Scaling analog output 2 setting by measurement

page 41
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.1.12 Motor data


IP.No. Name Unit Value Description
15 BASE_SPEED U/min Base speed
asynchronous motor depending on motor type
29 ALFA_MOT s Thermic motor time constant
15 e.g. 15 Secunds (1/3 set from motor-datasheet)
30 I_SQRMOT 10mA Nominal current of motor
100 e.g. 1A
31 I_MAXMOT 10mA Maximal current of motor
300 e.g. 3A
36 ILIMITTIME ms Permissable motor overload time
application dependent
0 disconnected (infinite)
10 e.g. 10ms
60 BASE_FLUX 10mA Field current for asynchronous motors
depending on motor type
0 for synchronous motors
61 BASE_ROTRES Rotor resistance for asynchronous motors
depending on motor type
0 for synchronous motors
62 POLESHIFT Motor pole pair
2 depending on motor type (2 to 4)

5.1.13 Limit switch - settings


These parameters are only active when the CNC interpreter is active
IP No. Name Unit Value Description
74 SOFTW_ENDMIN appl. Software limit switch minimum
e.g.µm according to operation
if (IP74 = IP75) -> inactive
75 SOFTW_ENDMAX appl. Software limit switch maximum
e.g.µm according to application
if (IP74 = IP75) -> inactive
76 ENDMINSPEED Speed within limit switch range
0 according to application
77 ENDMAXSPEED Speed within limit switch range
0 according to application
78 ENDMINMASK hex input mask limit switch input
according to application
79 ENDMAXMASK hex input mask limit switch input
according to application

page 42
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive

5.2 NC Commands / Interpreter Parameter

IP.No. Name Unit Value Description


100 IPEXC Interpreter
101 IPCMD Interpreter
102 LOCKIN Bit mask for acknowledgment - inputs locked
103 LOCKOUT Bit mask for outputs locked
105 VREDUCE Reduce RPM (security)
110 IPFLAGS hex Status display command language
$8011 Example
111 NETMASTER
0
113 MSHIFT appl. Transfer command reference
e.g.µm Machine reference point set is transferred
1000 e.g. 1000µm
114 POSITION appl. Machine coordinates
e.g.µm
115 SPEED Interpreter Machines
116 LEITPOS1 appl. Display desired position
e.g.µm
117 LEITSPEED1 Display desired RPM
118 Gear [A/B] thread pitch
119 calculated in motor revolutions (installation-specific)
e.g. 1 motor revolution 5mm, desired Default in µm
POSGA longint 65536 1 motor revolution (IP210)
POSGB integer 5000 gives 5000µm
120 MAXSTEIGUNG Maximum pitch
121 XTABLE Storage address for XTabelle
122 MAXX Number of entries in XTabelle
123 YTABLE Storage address for YTabelle
124 MAXYY Number of entries in YTabelle

page 43
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.3 Display parameters

IP.No. Name Unit Value Description


200 IU_VAL 10mA Current measurement of Phase U
201 IV_VAL 10mA Current measurement of Phase V
202 BUS_VAL V DC-link voltage DC
203 A1_VAL Analog channel 1 (internally 10 bit)
204 A2_VAL Analog channel 2 (internally 10 bit)
205 A3_VAL Analog channel 3 (internally 10 bit)
206 AH1_VAL Analog channel 1 high resolution (Option 14 bit)
207 AH2_VAL Analog channel 2 high resolution (Option 14 bit)
208 PTC_VAL PTC Motor
209 ENC_SPEED U/min Encoder speed
16
210 ENC_ANGLE z Encoder angle (1 revolution = 65536)
211 ENC_COUNT Encoder pulse counter
212 PHI Electric angle
213 PHIOFFSET Synchronous adjustment on use of index pulse or
commutation tracks
214 INPUT Display input (digital inputs)
215 OUTPUT Display output (digital outputs)
216 IFACT 10mA Present field current
217 IAACT 10mA Present armature current
218 NERR U/min RPM error
219 NOUT 10mA RPM drive output
220 IFERR 10mA Loop error field current (Soll - Ist)
221 IAERR 10mA Loop error armature current (Soll - Ist)
222 IFOUT internally Current regulator output feld
223 IAOUT internally Current regulator output armature
224 PHASE_U internally Tension Phase U
225 PHASE_V internally Tension Phase V
226 PHASE_W internally Tension Phase W
227 PHASE_F internally Phase voltage Brakes
228 NREF U/min RPM desired value
229 NACT U/min Present RPM (actual value)
230 WG_PROTECT Processor diagnostics
231 POUTMAX U/min Maximum position drive - output
232 PERR Position regulator error
233 POUT Output position regulator drive
234 IMAX 10mA Display current limits calculated with all current limitations
235 FLUX 10mA Display Field Current
236 ROTRES Display rotor resistance
239 XENC_SPEED U/min Speed external encoder
240 XENC_ANGLE External encoder angle
241 XENC_COUNT Counter external encoder

page 44
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive

IP.No. Name Unit Value Description


253 LASTUPERRORS Last occurring error - stored for analysis
254 HW_VERSION Current version of the deltadrive

page 45
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.4 Flow charts


5.4.1 Current control loop

NOUT 219 IAREFMUX 7 IAFFDMUX 8


0 0 0 0
A1_VALUE 1 A1_VALUE 1
IINTERN 8 IINTERN 8
IINTERN 35
NOUT 10 NOUT 10

min(x1..xn)

I_MAX 28 IAACT 217


IMAX 234

Current limits
I_SQRMOT 30
ALFA_MOT 29 IAERR 221
I_MAXBASE 31
ILIMITTIME 36 Current Loop
I_NOM 27 IGAIN 32
IALFA 34

UP_ERRORS 1

IALIMIT (kein IP)


IFREFMUX 9
0 0 IAOUT 223
A1_VALUE 1
IINTERN 8
FLUX 13 Rotation
POLESHIFT 62
BASEROTRES 61

FLUX 235
IFACT 216

IFERR 220
field weakness
BASE_SPEED 15 Current Loop
BASEFLUX 60
IGAIN 32
IALFA 34 IFOUT 222

UP_STATUS 0 IFLIMIT

diagram 5

page 46
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive
5.4.2 Velocity control loop

POUT 233 ENC_SPEED 209


NREFMUX 4
A1_VALUE 1
POUT 9
NINTERN 7
NINTERN 25 XENC_SPEED 17
NFFD 19

A1_VALUE 203
NFFDMUX 5 NACTMUX 6
A1_VALUE 1 NINTERN 7
POUT 9 ENC_SPEED 12
NINTERN 7 XENC_SPEED 17
XENC_SPEED 17
NFFD 19
NFFD

NMIN 20 NMAX 21

NACT 229
NREF 228
NERR 218

Velocity Loop
NGAIN 22
NGAINEXP 23
NALFA 24 >-NMINLIMIT 68

< N_EPS 67
< NMAXLIMIT 69

IMAX 234
< N_EPS 67

UP_ERRORS 1

UP_STATUS 0
NOUT 219

diagram 6

page 47
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.4.3 Position control loop

ENC_ANGLE 210

PREFMUX 2 PACTMUX 3
PINTERN 85 PINTERN 6 PINTERN 6
ENC_ANGLE 11 ENC_ANGLE 11
XENC_ANGLE 16 XENC_ANGLE 16

PERR 232

> P_EPSOFF 86 Position Loop


PGAIN 82
PGAINEXP 83

< P_EPS 87

UP_ERRORS 1 POUTMAX 231

POUT 233

UP_STATUS 0

diagram 7

page 48
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive
5.4.4 Digital inputs and outputs

X5 X7 bit
E0 4 6 INPUT UP_STATUS
0
E1 5 7 IP 214 IP 0
1
E2 6 8
2
E3 9
3
E4 10
4
E5 11
5
E6 12
6
E7 13
7

Digital inputs

INPUTLEVEL SPECIAL-
IP 10 INPUT
IP 12

diagram 8

bit X5 X7
UP_STATUS OUTPUT 0 O0 8 21
IP 0 IP 215 O1 9 22
1
O2 23
2
O3 24
3
O4 25
4
O5 26
5
O6 27
6
O7 28
7

Digital outputs

SPECIAL- OUTPUT-
OUTPUT LEVEL
IP 13 IP 11

diagram 9

page 49
HABU C-E/ 05/2002
deltadrive AC-Servocontroler DAC

5.4.5 Analog inputs and outputs

X5 X7
AD1 1/2 1/16 AD-converter
AD2 2/17 xxxMUX
10 bit
AD3 3/18
PTC 13/14 4/19 Axx_SCALE
oder 256
AH1 1/16 1/2 AD-converter
AH2 2/17 12 14 bit

Analog inputs

Axx_OFFSET

diagram 10

X7
DA1 14
DACxMUX DA2 15
DA-converter
DACxSCALE 8 bit
256

Analoge outputs

DACxOFFSET

diagram 11

page 50
HABU C-E / 05/2002
AC-Servocontroller DAC deltadrive

6. Machine coordinates and gear parameters


Travel distances in CNC functions refer to the machine coordinates system. As speed and
acceleration are directly derived from the travel distances, these also refer to the machine
coordinates system and thus are not on hand as physical units.

6.1 Standardized speed and acceleration

Formulas Example C - axis (rotary shaft) Example Z - axis (linear axis)


Scanning time dt = 1.008ms
standardized displacement units (s, C - axis 1/1000 turns Z - axis in micrometer
ds)
32 bit incl. sign bit
(-2100E6 .. 2100E6)
standardized speed //velocity (v, dv) 60∗ Wdg μm
dv = = 0.93U / min dv = = 15.5 μm / sec
16 bit incl. algebraic sign 64∗1000∗1008
. ms 64∗1008
. ms
(-32767 .. 32767) Wdg = turns
6
v = 2 * ds/dt = 64 * ds/dt
maximum speed //velocity vmax = 32767 * dv = 30475 U/min vmax = 32767 * dv = 507 mm/sec
standardized acceleration (a, da) 0.93U / min 15.5 μm / sec
da = = 14.53U / min/ sec da = = 240.3 μm / sec 2
16 bit incl. sign bit 64∗1008
. ms 64∗1008
. ms
(-32767 .. 32767)
a = 26 * dv/dt = 64 * dv/dt
minimmum time to vmax 1/da = 0.069 sec 1/da = 4.16 msec
maximum time to vmax 32767/da = 37 min 32767/da = 136 sec

Conversion from machine coordinates to motor revolutions takes place in the setting of the
gear parameters POSGA (=IP(118)) and POSGB (=IP(119)).
All CNC parameters are calculated and presented in 1/1000 revolutions or micrometer steps.
If you want the velocity to be in U/min, then this conversion should be applied to the machine-
related parameters in the service program.
This will allow a global routine to be installed that undertakes the appropriate conversions after
reading the drive-specific gear parameters.

6.2 Calculation of the gear parameters


In the machine coordinates system (as a continuation of the above example) 4 spindle
revolutions = 1 spindle motor revolution and in the Z axis, 5 mm positive forward feed = 1
negative motor revolution.
The base regulator resolves one revolution in in 2-16 steps = 1/65536. The gear must be set as
follows:

Ratio/Parameter Example C - axis (rotary shaft) Example Z - axis (linear axis)


POSGA 65536 −65536
POSGB 4∗1000 5∗1000 μm

POSGA IP(118) 65536 -65536


POSGB IP(119) 4000 5000

page 51
HABU C-E/ 05/2002

You might also like