Sie sind auf Seite 1von 350

MAC-8

user manual
ECL – Programming System

Contents

1 ECL – Programming System............................................................................ 4


1.1 General..................................................................................................... 4
1.2 Installation and hardware requirements.................................................... 5
1.3 Installing a new version ............................................................................ 6
1.4 The Compiler ............................................................................................ 6
1.5 The ECL Win-Programming System......................................................... 8
1.5.1 Screen fields ...................................................................................... 8
1.5.1.1 Project – tree............................................................................... 9
1.5.1.2 View Window .............................................................................. 10
1.5.1.3 Trace Window ............................................................................. 11
1.5.1.4 Variable Window ......................................................................... 12
1.5.1.5 Menu line and pushbutton.......................................................... 12
1.5.1.6 Function menu with right mouse button ...................................... 13
1.5.2 Menu line ........................................................................................... 14
1.5.2.1 Project......................................................................................... 14
1.5.2.1.1 New... ................................................................................... 14
1.5.2.1.2 Open... .................................................................................. 16
1.5.2.1.3 Save as................................................................................. 16
1.5.2.1.4 Close .................................................................................... 16
1.5.2.1.5 Compile ................................................................................ 17
1.5.2.1.6 Send ..................................................................................... 17
1.5.2.1.7 Send All ................................................................................ 17
1.5.2.1.8 Program History.................................................................... 18
1.5.2.1.9 Exit........................................................................................ 18
1.5.2.2 File .............................................................................................. 18
1.5.2.2.1 New ...................................................................................... 18
1.5.2.2.2 Open... .................................................................................. 19
1.5.2.2.3 Save ..................................................................................... 19
1.5.2.2.4 Save as................................................................................. 19
1.5.2.2.5 Close .................................................................................... 19
1.5.2.2.6 Find....................................................................................... 20
1.5.2.2.7 Replace................................................................................. 20
1.5.2.2.8 Repeat .................................................................................. 21
1.5.2.2.9 Print…................................................................................... 21
1.5.2.3 Variables ..................................................................................... 21
1.5.2.3.1 V-Variables ........................................................................... 22
1.5.2.3.1.1 Functions with right mouse button................................. 23
1.5.2.3.2 P-Variables ........................................................................... 25
1.5.2.3.2.1 Functions with right mouse button................................. 26
1.5.2.3.3 R-Variables ........................................................................... 27
1.5.2.3.3.1 Functions with the right mouse button ........................... 28
1.5.2.3.4 A-Fields................................................................................. 30
1.5.2.3.4.1 Functions with the right mouse button ........................... 31

mac-8 RE30156-01 1
ECL – Programming System

1.5.2.3.5 N - System variables............................................................. 38


1.5.2.3.5.1 Functions with right mouse button................................. 39
1.5.2.3.6 F – Axes Flags...................................................................... 40
1.5.2.3.6.1 Functions with right mouse button................................. 41
1.5.2.3.7 S - System Parameters......................................................... 42
1.5.2.3.7.1 Change axis data and the take over .............................. 44
1.5.2.3.7.2 Take over axis data direct ............................................. 44
1.5.2.3.7.3 Functions with the right mouse button ........................... 44
1.5.2.3.8 I-Inputs.................................................................................. 46
1.5.2.3.8.1 Functions with the right mouse button ........................... 48
1.5.2.3.9 Outputs ................................................................................. 48
1.5.2.3.9.1 Functions with the right mouse button ........................... 49
1.5.2.3.10 MIX – variables ..................................................................... 50
1.5.2.3.10.1 Functions with the right mouse button ......................... 52
1.5.2.3.11 Add MIX ................................................................................ 56
1.5.2.3.12 Delete MIX ............................................................................ 57
1.5.2.3.13 OPC – variables export......................................................... 58
1.5.2.4 Curves recording of the process data ......................................... 59
1.5.2.4.1 DTRACE – settings............................................................... 59
1.5.2.4.1.1 Functions with the right mouse button ........................... 66
1.5.2.4.2 Example for DTRACE: Trigger at error situations ................. 68
1.5.2.4.3 User Channels… .................................................................. 70
1.5.2.4.3.1 Structure of the curve field (array) ................................. 71
1.5.2.4.4 Start WINVIEW ..................................................................... 71
1.5.2.5 Debug ......................................................................................... 72
1.5.2.5.1 Axes Error Quit ..................................................................... 72
1.5.2.5.2 Axes Initialize........................................................................ 72
1.5.2.5.3 Take over S-Parameters....................................................... 72
1.5.2.5.4 Save S-Parameters .............................................................. 72
1.5.2.5.5 Send S-Parameters .............................................................. 73
1.5.2.5.6 Save memory dump.............................................................. 74
1.5.2.5.7 Send memory dump... .......................................................... 75
1.5.2.5.8 Debug on / off ....................................................................... 75
1.5.2.5.9 Change debug mask............................................................. 75
1.5.2.5.10 Show breakpoints... .............................................................. 78
1.5.2.5.11 Select slot... (Select Slot Number) ........................................ 79
1.5.2.5.12 Delete program ..................................................................... 79
1.5.2.5.13 Reset MAC-8 ........................................................................ 79
1.5.2.6 Options........................................................................................ 80
1.5.2.6.1 Settings... (Options…) .......................................................... 80
1.5.2.6.1.1 Settings for system ........................................................ 80
1.5.2.6.1.2 Settings for source ........................................................ 82
1.5.2.6.1.3 Setting for projects ........................................................ 84
1.5.2.6.1.4 DTRACE Settings.......................................................... 86
1.5.2.6.2 COM - settings...................................................................... 90

mac-8 RE30156-01 2
ECL – Programming System

1.5.2.6.2.1 Serial interface active .................................................... 90


1.5.2.6.2.2 Button Info ..................................................................... 91
1.5.2.6.2.3 Selection of the serial interface ..................................... 91
1.5.2.6.2.4 Setting baud rate ........................................................... 92
1.5.2.6.2.5 Terminal – mode ........................................................... 93
1.5.2.6.3 COM - reset... ....................................................................... 95
1.5.2.6.4 Switch offline ........................................................................ 95
1.5.2.7 Window ....................................................................................... 95
1.5.2.7.1 ECL Debug Window ............................................................. 96
1.5.2.7.2 Set Standard......................................................................... 96
1.5.2.7.3 Arrange windows .................................................................. 96
1.5.2.7.4 Close window........................................................................ 96
1.5.2.7.5 Close all windows ................................................................. 96
1.5.2.7.6 List of the opened windows................................................... 97
1.5.2.8 Help............................................................................................. 97
1.5.2.8.1 Manual... ............................................................................... 97
1.5.2.8.2 Info........................................................................................ 97
1.5.3 Icon bars ............................................................................................ 98
1.5.3.1 Project......................................................................................... 98
1.5.3.2 File .............................................................................................. 98
1.5.3.3 Options and help ......................................................................... 99
1.5.3.4 Variables ..................................................................................... 99
1.5.3.5 Curves – recording of the process data ...................................... 101
1.5.3.6 Debug ......................................................................................... 103
1.5.3.7 Save of the window settings........................................................ 104
1.5.3.8 Trend Monitoring ......................................................................... 105
1.5.3.8.1 Functions with right mouse button ........................................ 113
1.5.3.8.2 Error messages .................................................................... 116
1.5.4 Program editor ................................................................................... 117
1.5.4.1 General ....................................................................................... 117
1.5.4.2 General handling of the editor ..................................................... 118
1.5.4.3 Functions of the editor with right mouse button........................... 120
1.6 Design an ECL program ........................................................................... 132
1.6.1 Create new project............................................................................. 132
1.6.2 Compiling project and transfer of code file to MAC-8 control ............. 132
1.6.3 Create new project modules .............................................................. 134
1.6.4 Example for the creation of a new module: automatic mode ............. 134
1.6.5 Application shared out to several Slots .............................................. 138
1.6.5.1 Arrangement of projects to the slots............................................ 138
1.6.5.2 Characteristics for ECL – programs on slave cards .................... 142
1.7 Debug ....................................................................................................... 144
1.8 Appendix................................................................................................... 145
1.8.1 Problem help...................................................................................... 145
1.8.2 Compiler Options ............................................................................... 146
1.8.3 Serial Interface................................................................................... 146

mac-8 RE30156-01 3
ECL – Programming System

1 ECL – Programming System

1.1 General

The ECL- Programming System represents the development environment for pro-
gramming MAC-8. With it you can create and compile ECL – programs, which are also
sent to the MAC-8 control and tested. Inputs can be easily checked with the variable
display. Setting outputs directly from the debugger, independent from any ECL- pro-
grams, is possible as well.
Searching for errors is simplified through the Source- Level- Debugger, since the cur-
rently processed program line is shown in the clear text. In addition the debugger offers
breakpoints and single step, as well as a variable display. There is an oscilloscope
function available for testing and setting the control parameter. It is possible to record
and graphically display up to 12 channels at the same time standard. Up to 32 chan-
nels can be recorded with the NC-Program

The programming and test environment is divided into the following parts:
ECL-Compiler
It can be called directly or with the programming system. It checks the pro-
gram syntax and creates a code file(*.CDE). If there were any faults in the
program, the compiler will note the errors in an error file(*.ERR).
ECL-Debugger
The debugger represents the surface area for parameterizing MAC-8, pro-
gramming and testing the program.
Trace-Display
The curves which have been recorded by theMAC-8 are displayed by means
of the supplied WINVIEW program. Printing the curves is possible with the
hardcopy- function.

mac-8 RE30156-01 4
ECL – Programming System

1.2 Installation and hardware requirements

The ECL debugger operates on IBM and 100%-compatible computers with at least
32MByte RAM and 50 Mbytes free hard disk memory. A computer with a 300 MHz or
even more is recommended.
Windows NT, Windows 2000 or Windows XP are required as operating system.
The installation takes place per CD (SYS-MAC-8-D/E with MatNr. R900881129)
through the Setup call under \MAC-8_CD\English\Program Files\MAC-
8Tools_V1.xxx and carries out all standard installations and registries with the dialog.
Possible additional installations can be found at .
The following directory structure is being established by means of the ECL Win-
installation, whereas the directory name MAC-8Tools is representing the suggested la-
beling for the name of the installation:

The three executable programs in the root directory serve the start of the individual
components of the programming system. Use to start the programming
system itself. At the installation, a duplicate of it will be copied onto the desktop. The
variable server is automatically activated when starting the programming
system. The variable server is responsible for the communication between operator
program and sequence program on the MAC-8 control. It will be specially explained at

mac-8 RE30156-01 5
ECL – Programming System

an appropriate site. By calling the signal curves, which were recorded by


means of Trace are being displayed. Usually the program is called up by the program-
ming system, but it can also be independently used for viewing saved curves.
The individual projects are to be set up under the root directory (MAC-8Tools) as fol-
lows:

At the installation, the subdirectory Master is automatically generated with a master


project.

1.3 Installing a new version

At the installation of the programming environment the old version must be uninstalled.
If necessary you can deposit the old version in another directory. (Influences on
WINVIEW and variable server can arise at use of the old protected version. Therefore
the old version only should be kept up till the new runs!)
The uninstallation takes place in the system control under software add/remove.

1.4 The Compiler

The creation and editing of the NC-program takes place with an integrated text editor.
After writing or changing an ECL – program it can be translated with the Compiler.
Start or call the compiler in the ECL- programming environment with the pushbutton
or over the menu.

If no compiling takes place after changing a source file till


leaving the programming system, a compiling will be re-
quested by the operating guidance at restarting. The
program will be translated as well after acknowledging.

Start compiling over the menu

The compiler reads in the source program project.ecl and creates the files proj-
ect.cde and project.bug. If the program was faulty, the file project.err will be created
which contains the compiler’s error messages. If the ECL- program includes additional

mac-8 RE30156-01 6
ECL – Programming System

files over "#include", these must be archived under the same pathname. Use key ESC
to cancel the compiling process.

The file endings have the following meaning:


*.ERR Error file created by the compiler
*.CDE Code file which can be sent to MAC-8
*.ECL Source file of the ECL-Program
*.BUG Debug file which contains additional information on the ECL-
Program. These information are interpreted by the ECL – pro-
gramming system.
*.TEX Information about a text substitute
*.INC Information on incremental compiling
*.INI Initializing information for ECLWIN
*.MIX User-Variable window. (stored variable lists)

The operating guidance asks for an automatic sending of the project to the control after
compiling. After the acknowledgement the code file presse.cde is sent to the control.
The sending progress is being displayed on two sites of the screen view.
The program is available in the MAC-8 after the transmission. If the project is not in
debug mode( ), the program will be automatically started.
After, the new program is available in the MAC-8. If the debug mode is switched
on( ), the program must be first started with the corresponding pushbutton ( ) or
the with F1. After reset the control this takes place automatically.

mac-8 RE30156-01 7
ECL – Programming System

1.5 The ECL Win-Programming System

With the ECL programming environment it is possible to carry out editing, compiling,
sending and debugging of ECL- programs menu – by menu-driven.
After the start the program tries connecting to the MAC-8. In case of failure a suitable
message is released and the operation goes OFFLINE. In case of success the pro-
gram information is demanded from the MAC-8, and displayed under PROJECT-INFO
- MAC-8. The last loaded project is loaded from the hard disk and displayed under
PROJEKT-INFO - BUG. For the case the date of the BUG-file and the date of the cur-
rent program don’t match, the PROJEKT-INFO pops up in red as a warning. If the pro-
cess is bug- free, the operating surface appears and displays the MAC-8 program
status in the program status area.

1.5.1 Screen fields

After starting the ECL- programming system the following screen appears.

menu line button keys

view window trace window command state


project tree

variable window

program state

mac-8 RE30156-01 8
ECL – Programming System

1.5.1.1 Project – tree

The project – tree contains all information on


the project that are saved on the PC and in
the control. The structure is divided into sev-
eral branches ( which are here named
DIRECTORY).
The top directory PROJECT – INFO contains
whatever is currently situated in the control
and on the PC.
BUG denotes the information on the PC and
points hereby the corresponding code file(
here EXERCISE1.CDE) with its last creation
date.
The same is to be found for the code file un-
der MAC-8 on the control. If both files are dif-
ferent, this is being displayed in red and with
different dates. If there is no program available
on the control, this is as well being displayed
in red script.
(A possible project - tree)

The SYSTEM STATE indicates the project’s status, the program processing method as
well as the firmware version used for the EPROM on the addressed card. In offline-
operation the last recognized status is often marked with a question mark, since the
information is not certain anymore.
The first information represents the Slot – number which has just been adjusted for the
debugger. After restarting the debugger, SLOT 1 is always selected (therefore slot 1
for the master card) and accordingly shown.

The next information denounces the status of the currently running NC program. This
is shown in DEBUG Mode , otherwise RUN Mode will be displayed, which means the
debug mode was switched off. Therefore the corresponding debug tools are not avail-
able( No single step pass, no breakpoints possible and so on).

The third information displays if the program is stored on the battery buffered RAM
(mode) or on the EPROM (mode). Both storages are possible. RAM has the advan-
tage that the program is changeable at any time with the programming system. But
when switching off electricity or in case of a empty battery the program gets lost
(within 3 minutes) and has to be reloaded onto the MAC-8 with the programming sys-
tem.

EPROM mode is not transient but does not allow any direct program changes. Most
projects work in RAM mode.

mac-8 RE30156-01 9
ECL – Programming System

The last information shows the Firmware Version(here V6.060 ) on the both two
EPROM’s of the axis card of the currently displayed slots. It is required to use the
same EPROM version on all cards of a project. Using the double click on these infor-
mation or simply clicking the + sign, the subinformation of the subdirectory are opened
as in windows file explorer. Doing that will reflect every single task version status.
However, this is mostly only of note for Bosch Rexroth system specialists and does not
require any knowledge from the ordinary user.

Under nodes of the SOURCE FILES the individual modules (EXERCISE1,


MANUAL.ECL,...) are carried out, which are announced to the project in the main
module with the command #module and are consequently known for the project.
Thereby the main module is always the first entered file.

Under the sub nodes for modules there are still the definition files which have been
bound with the #include command. In this case there is a + in front of the module direc-
tory. Point- and- click the module name in order to insert the clicked module or the de-
finition file into the View window’s registry and to display it there on top. The MIX-
FILES have not been shown in the model project – tree , but they do follow the source
files in the tree structure and show all created tables with mixed variables. With a
mouse click on the corresponding entry a window MIX-Variables is opened along with
the corresponding MIX- file( also see: Description of Mix files in the attachment). Under
Programs the status of all actively parallel running programs in the project is dis-
played. The first entry is always the main program Prog 0. It must be running continu-
ously. Other programs are only temporarily active. As long as they are running, before
the entry of a parallel program (e.g. Prog. 2), you can see this sign. When they are
inactive a minus sign appears. When clicking on a program its Trace Window is
opened. By doing so the function currently taking place is being displayed with its
name and the actual program line.

1.5.1.2 View Window

The View Window displays all source files. It is possible to process them by means of
the editor that was provided by the programming system. Once clicked, a source file is
mac-8 RE30156-01 10
ECL – Programming System

entered into the register of the window and displayed there. The following switching in
the foreground can be carried out over register or as for the first time over the source
file tree. The actual selected source file is displayed with its complete path on the title
bar. The program lines on the left side refer either to the module or to the compiled pro-
ject. Choose this option with the menu “ Options- Preferences s- Source”.

1.5.1.3 Trace Window

Here the last selected parallel program under Programs is being displayed. The yellow
highlighted bar indicates the currently valid line, respectively the currently valid action
of the parallel program. The line numbers on the left always refer to the last compiled
project. The title bar contains the entire path of the module referring to the action.
All the information from the yellow highlighted line are located below. E. g.: Program
number (PROG 0 – PROG 31: here PROG 1), Function name ( lift cylinder) and
Command status (see chapter Commissioning and Diagnosis).

mac-8 RE30156-01 11
ECL – Programming System

1.5.1.4 Variable Window

Here the values of a variable type are displayed. It is possible to open an independent
window for each type at the same time. The values of the N-variable for the X0 axis are
displayed in the picture.

If the variables are axes-based variables(N, F, S), a change over of all axes- based
windows to the same axis will be enforced with the check box Same Axis. The values
can be displayed in bit mode, hexadecimal mode, with a comma( fixed – point) or with-
out decimals depending on the type of variable. These options ( and others) are ad-
justable in the lower part of the window frame.

1.5.1.5 Menu line and pushbutton

The MAC-8 Programming System is basically operated with the menu line and the
pushbuttons. Moreover, there are a few additional functions available with the function
keys and shortcuts. The latter can be lead back to the parent programming system un-
der MS DOS. A description of how to operate these tools is given in the following chap-
ters.

mac-8 RE30156-01 12
ECL – Programming System

1.5.1.6 Function menu with right mouse button

Independent function menus are available in almost every window and its fields. These
function menus are opened with the right mouse button.

Here a part of the menu of the project


tree is shown. The cut – out refers to
the project info.
The description takes place at the
subdirectories or in the appendix.

mac-8 RE30156-01 13
ECL – Programming System

1.5.2 Menu line

The menu line is divided into 8 main menu points, which will be explained after this in a
subchapter.

1.5.2.1 Project

All functions referring to the project are integrated in the menu point Project.

1.5.2.1.1 New...

Creating a new project. The master project becomes a new project using the menu
point options- options- projects- template project.

(Example: Demo.bug as project template

mac-8 RE30156-01 14
ECL – Programming System

After start of the function it will


ask for the new project name .
(in example the suggested name will
be replaced by Demo_2) After set
of the project name and take-
over with OK the Project will be
generated (compiled). Then the
system asks for Send to the
control system.

The new project is completely setup after transmission to the control system.(see be-
low.)

mac-8 RE30156-01 15
ECL – Programming System

1.5.2.1.2 Open...

Opening an existing project. Us-


ing the menu point project -
open to display the “file select
box”. You can now select the
desired project out of the “file se-
lect box”. Doing so requires to
always load the corresponding
BUG File. (Recommendation of
the system. It can be overwritten
by the user). You can also open it via menu File -> List “last open files” in the actual
menu column (History).

1.5.2.1.3 Save as...

The current project can be saved under a new name.

After entering the new name, the new project path is created, the valid project is com-
piled and is ready for being sent to the control (automatic process in dialog with user!).

1.5.2.1.4 Close

When closing the current project, it will be removed from the title bar. Consequently
there is no more valid project existent on the PC.
After doing so no program information is available on the control. Merely standard vari-
ables can be displayed. It is possible to load another project or file and compile them
which would cause the creation of a new BUG file.
That way a quick realization of testing routines is enabled.
Closing is especially reasonable for the following example:
Your are working on a project in the office. Later – in case of service jobs or commis-
sioning - you have to work with a different project on a machine. In this case it is pos-
sible to overwrite your own program (on the MAC-8) with the other program by mistake.
If you have removed your last project from the PC by closing, it is necessary to load the
valid source project after starting the programming system. That is a sure method.

mac-8 RE30156-01 16
ECL – Programming System

1.5.2.1.5 Compile

The currently loaded project ( also see: Project info- BUG file) is compiled.
Hereby a window with all status - displays of the compiling process is activated.
The compiling is started at the
main module . All integrated
modules are sequentially com-
piled and linked to the code file
(project.cde) in case of an error
free process. Afterwards the sys-
tems automatically request a
sending to the control.

In this display incremental translation is used, that means only the modified subpro-
grams are compiled. That way you can save plenty of time for the compilation and
even more for the following transmission to the MAC-8.
(You can parameterize this under Options- options - projects)
If the system loses its information on incremental compiling for inexplicable reasons,
the project is compiled and afterwards transmitted to the control system to be on safe
side.

1.5.2.1.6 Send

The currently valid code file is sent to the control after callback from the system.
This is usually an incremental
transmission.(see settings under
Options – options – project).
While sending a status window is
displayed which informs about
the transmission progress.

(see Send All). At incremental transmission the number of the functions which are to be
transmitted is displayed, and depend on all function to be transmitted. Otherwise the
transmission progress will be displayed in percent.

1.5.2.1.7 Send All

The currently valid code file is completely sent to the MAC-8 - independent from other
settings- after callback from the programming system. The transmission progress is
displayed in percent.

mac-8 RE30156-01 17
ECL – Programming System

1.5.2.1.8 Program History

It is possible to directly load an existing


project with the program history.

1.5.2.1.9 Exit

The programming system is closed and left.

1.5.2.2 File

Under this menu point the all functions which refer to file operations will be summa-
rized

1.5.2.2.1 New

Make a new program file. This (Datei1)


will be displayed after Open in a View
window and write down in his register
line. This file can be a new program
module or a new definition file. It de-
pends on subsequent linking to the
project (see Manual ECL command
set).

The contents of the file should be meaningful in reference to later linking to the project .
The file should be saved under Save as .... after creation.
mac-8 RE30156-01 18
ECL – Programming System

1.5.2.2.2 Open...

Open an available file. It will be dis-


played (after Open) in View window
and written down in its register line.

1.5.2.2.3 Save

Save the file that is just in View Mode. If the file had been changed before and not yet
compiled, the corresponding entry(under Project tree – Source files )is represented
in red font.

1.5.2.2.4 Save as...

Save the file that is just in View Mode


under a new name.

1.5.2.2.5 Close

Save the file that is just in View Mode. Therewith the window’s register entry is deleted.

mac-8 RE30156-01 19
ECL – Programming System

1.5.2.2.6 Find...

Search a character string in one


or several source files of the ac-
tual project. The window repre-
sented above will be opened after
call search function and shows all
search options in the setup mode.

1.5.2.2.7 Replace...

Replace a character string in one


or several source files of the ac-
tual project. The window repre-
sented above will be opened after
call search function and shows all
search options in the setup mode.
This functionality is also possible
through Search Function.

Remark to Search and Replace functions:


If you carry out a Search/Replace function in a file, that is not yet linked into the project,
a query will be shown for execution this function.

After confirmation of the query with yes , the search starts in a file. Before program
version 1.502 a search in project external files was impossible (as here in example file1)

mac-8 RE30156-01 20
ECL – Programming System

1.5.2.2.8 Repeat

With this function the actual search/replace function will be carried out once more.

1.5.2.2.9 Print…

The actual represented file in View window will be printed after confirmation of the dia-
log box. In a print window the usual set up options for print under OS Window can be
carried out. With color printers we get the same representation in color like at the moni-
tor!

1.5.2.3 Variables

Under menu point variables all functions referring to processing of the MAC-8 vari-
ables will be combined.

mac-8 RE30156-01 21
ECL – Programming System

1.5.2.3.1 V-Variables

With this function the global numeric so called V-variables will be displayed on the
monitor as own windows.

In the left column the name of the variable of the corresponding line will be always
shown. In the topmost line the addressing of the variable is displayed relatively to the
first variable of the line for the corresponding column.
(example for line 2: 1.var. = V005, 2.var. = V006, 3.var. = V007, 4.var. = V008, 5.var.
= V009) In lower frame of the window the display format of the variable can be deter-
mined. Originally the variables in their capacity will be displayed as long integer deci-
mal.

Through the selection hexadecimal (see above).)and coded display respectively (see
below), the variables are accordingly displayed. A line break causes vertical direction
on actual window.

By selecting “bit coded display” the values can be represented as bits as shown above.
The bits can be represented in the sequence (revolved) respectable as symbols (see
below).

mac-8 RE30156-01 22
ECL – Programming System

1.5.2.3.1.1 Functions with right mouse button

Through click of the right mouse button in the


window for V-variables the left shown menu win-
dow opens. With <Close window> the active win-
dow will be closed, with <new window> an an-
other window will be opened.

Save values…
With Values save..., the V-variables can be
safeguarded in a file. Here you can save the
variable initial variable from the values with
the number values.
In the left example <save> is carried out for
all V-variables.

(Save the V-variables as V000.ARR – file name is suggestion)

Load values

mac-8 RE30156-01 23
ECL – Programming System

With Load values the window displayed above is opened with the selection saved vari-
ables – arrays. In the selection we have all safeguarded variables independent from
type. The user himself should take care for archival. If a false type is selected by mis-
take, the corresponding error message is displayed.

By correct selection the V-variables will be overwritten with safeguarded values.

(V000.ARR will be loaded (file contents) in the V-variables)

Initialize values

With Initialize values..., the v-


variables can be overwritten from
Initial variable for number V-
variables with initial value.

(V-variables before the initialize)

After activating the initialization, it will be carried out and the process will be displayed
on the monitor as progress bar.

mac-8 RE30156-01 24
ECL – Programming System

(V-variables after initialization)

Copy and paste values


A highlighted V-variable can be saved in the clipboard by means of function Copy (or
as well with the key combination <Ctrl> +<C>) and at the corresponding newly high-
lighted position through function Paste again inserted into the V-variables window.

Add to actual mixed variable array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> + <Z>) the
highlighted V-variable will be inserted in the actual Mix file.

1.5.2.3.2 P-Variables

With this function the local numeric so called P-variables will be displayed on monitor in
own window.

Therefore a set of 16 variables exists for any parallel program. As represented before
several sets can be shown simultaneously. There are several possibilities to do so.
Standard you select with the menu, where the P-variables will be shown in the vari-
ables window. These variables are available after starting the programming system
and concern parallel program 0 (PROG 0). Click on program in the project tree and an-
other program number and select the P-variable. Thereby the additional P-variable

mac-8 RE30156-01 25
ECL – Programming System

window for this parallel program is opened. The possibility for the second window
works by clicking with the right mouse button . At calling via the push button for P-
Variables (see there) the window for parallel program 0 will be opened generally.

1.5.2.3.2.1 Functions with right mouse button

Through clicking the right mouse button in


the window P-variables in the menu window
on the left is opened. With Close window
the active window will be closed, with New
window another window of the P-variables
will be opened.

Initialization of the values

With Initialization of the values the


P-variables can be overwritten from
`start variable for number of P-
variables´ with Initialization value .

(P-variables before Initialization)


After carrying out the initialization, the process will be displayed as progress bar on the
monitor.

(P-variables after initialization)

mac-8 RE30156-01 26
ECL – Programming System

Next program
With this function you switch to view the P – variables of the following (Prog 0 ⇒ Prog
1). You can also use the key combination <Ctrl> + <PageUp> to switch. (For this pur-
pose the View should be active i.e. blue title bar.)

Previous program
With this function you switch to view the P- variables of the previous program (Prog 1
⇒ Prog 0). You can also use the key combination <Ctrl> + <PageDown>. (For this
purpose the View should be active i.e. blue title bar.)

Copy and paste values


A highlighted P-variable can be saved by means of the function Copy (or key combina-
tion <Ctrl> + <C>), copied in the clipboard, and can be again added into the P-
variables window, at the newly highlighted place, through the function Insert.

Add to actual Mixed variables array


With the function Add to Mix ( or with key combination <Ctrl>+<Alt>+<Z>) the high-
lighted P-variable will be put in the actual Mix file. Besides the variable number, a pro-
gram identification will be inserted into the mixed variable array.

1.5.2.3.3 R-Variables

With this function the Real variables will be displayed on the monitor.

There are 32 variables (global) for real operations, e. g. root or trigonometric functions.

mac-8 RE30156-01 27
ECL – Programming System

1.5.2.3.3.1 Functions with the right mouse button

Through clicking the right mouse button in


the R-variables window, the menu window
shown on the left will be opened. With close
window the active window will be closed,
with new window an another window of V-
variables will be opened.

Save values

With Save values..., the R-variables can


be safeguarded in a file. Here the initial
variable indicates the value that has to be
saved first. At the left example <save> is
carried out for all R-variables.

(Save of the R-variables as R000.ARR – file name is suggestion)

Load values

mac-8 RE30156-01 28
ECL – Programming System

With Load values the window displayed above is opened with the selection saved vari-
able – arrays. In the selection we have all safeguarded variables independent from
type. The user himself should take care for archival. If the false type is loaded by mis-
take, the a corresponding error message will be displayed.

In case of correct selection, the R–variables will be overwritten with values saved
afore.

(R000.ARR (contents of the file ) will be loaded in the R-variables)

Init values

With Initialization of the values the


R-variables can be overwritten from
start variable and count variable for
number of R-variables with Initiali-
zation value .

(R-variables before initialization.)

mac-8 RE30156-01 29
ECL – Programming System

After having carried out the initialization, the process will be displayed as progress bar
on the monitor.

(R-variables after initialization)

add to actual Mixed variables array


Through function add to MIX (or key combination <CTRL> + <Alt> + <Z>) the high-
lighted R-variable will be inserted into the actual Mix file.

1.5.2.3.4 A-Fields

With this function the numeric values of arrays, dimensioned at run-time, will be dis-
played on the monitor as an independent window.

mac-8 RE30156-01 30
ECL – Programming System

Like in the case of the P-Variables, a simultaneous creation of several windows is pos-
sible through the menu. At call the first available array will be shown (normally A000- a
difference is however possible). The desired array number can be determined with the
lower select box on the left. In the upper window array A001 is represented in decimal
display, the lower window array A010 is represented in hexadecimal display.

1.5.2.3.4.1 Functions with the right mouse button

Through the right mouse key in the vari-


ables window a new window for A-array
variables will be created ( with function new
window ) . In doing so it will be asked for
the desired array number. At call through A-
array (see there) generally only one window
will be opened for A-array. This does not
disturb the function with the right mouse
button!. With Close window the active A
variables window will be closed.

Save values
With Save values..., the A-
variables can be safeguarded in a
file. Here the initial variable indi-
cates the value that has to be
saved first. In the example on the
left the command <save> is car-
ried out for all elements of this A -
array.

(Save A-variables as A100.ARR – file name is suggestion)

mac-8 RE30156-01 31
ECL – Programming System

After pressing the key Save the values of the A-array will be saved. With the File func-
tions the saved file can be viewed.

(above it is seen the save A-array A115 in an abridged version)

It is possible to save values beyond the predefined limits(DIM) of the A-array.


Here you will find the same A-
array like at the beginning of the
section. 5010elements are de-
manded for saving instead of the
defined quantity of 5004.
After, a warning follows checking
whether the accordant procedure
is wanted or not.

Replying the warning with NO, causes the A-array A100 and the first six elements of
the next available A- array ( i.e. DIM defines) to be saved completely. The user should
not address beyond the lastly defined A-array and is solely responsible for his action.
Contravention leads to system crash.
mac-8 RE30156-01 32
ECL – Programming System

(In View mode you can see the end of the backup file A100.ARR, as well as the end of
the saved array A100 and the beginning of the following array A101, from which 6 ele-
ments in A100.ARR are saved, too.)

Load values

With Load values the window displayed above is opened with the selection of saved
variables – arrays. The selection contains all safeguarded variables independent from
type. The user himself should take care for the archival. If the false type is loaded by
mistake, the corresponding error message is displayed.

mac-8 RE30156-01 33
ECL – Programming System

In case of correct selection, the A-array will be overwritten with values saved afore.

(A100.ARR will be loaded in array A100 )

If a backup file, which exceeded the array limits before, is loaded a warning is served
at loading.

Overwrite a complete A-array with the contents an another one


With the functions Save values...and load values ... it is possible to overwrite an A ar-
ray with the content of another array online in the <Programming system> .

A array A100 will be completely


saved (as in previous example by
Load values ... under A100.ARR)

After, the view of the A-field that should be overwritten with the backup file (here
A100.ARR for the contents of A100) is highlighted.

mac-8 RE30156-01 34
ECL – Programming System

For this, window of the A-array should be switched to target A –array before, or a new
A-array window has to be opened for the target A – array via the command menu . In
this example A - array A101 should be the target A - array. With the command Load
values... and the selection of the A100.ARR the action is started.

The system is waiting for a positive con-


firmation of the action : Yes.
The user himself is solely responsible for
accordingly necessary array limits

At exceeding the limits another confirmation will be requested:

Initialization of the values


With Initialization of the values the A-
variables can be pre set with a certain
value
The start variable and the number of the A
Array elements serve to define what values
must be over written.
The Initialization value assigns the value
taken for pre setting the array elements.
The actual A – Array from index 0 (first
element) is always provided.

mac-8 RE30156-01 35
ECL – Programming System

(A-array A100 before initialization. )


After having carried out the initialization, the process will be displayed as progress bar
on the monitor.

(A-array A100 after Initialization)

At initialization of the A-array it is possible


to do so beyond the limits of the array
definition (DIM - command). In this case a
corresponding warning will be generated.

With No you decide to initialize the defined limits of the A –array A100. In this case ex-
actly two arrays will be initialized with 0 for our example project (A100 and A101 with re-
spectively 5004 elements)

(Initialization takes place in this moment)

mac-8 RE30156-01 36
ECL – Programming System

(A arrays A100 and A101 after initialization)


With the instrument ‘initialization over array limits’ it is possible to initialize all A-array
elements at the same time. The user has to take care that the defined limits of all A-
arrays are not exceeded. Contravention leads to system crash!

Next Field
This function switches to selected view of the A-variables for the next array (A100
ÎA101). It also works with the key combination <Ctrl> + <PageUp>. (For this purpose
the View should be active, i.e. blue title bar.)

Previous Field
This function switches to selected view of the A-variables for the next array (A100
ÎA101). It also works with the key combination <Ctrl> + <PageDown>. (For this pur-
pose the View should be active, i.e. blue title bar.)

Copy and paste values


A highlighted A- array element can be saved in the clipboard by means of function
Copy (or as well the key combination <Ctrl> + <C>) and can be again inserted into A-
array window, at the corresponding newly highlighted position, through function Paste.

Add to actual mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> + <Z>) the
highlighted A array element will be inserted into the actual Mix file.

mac-8 RE30156-01 37
ECL – Programming System

1.5.2.3.5 N - System variables

With this function the numeric system variable of the axis 0 will be displayed.

As all previously listed reusable windows (parallel programs, arrays), here several win-
dows of the N variables are possible with the function. Each axis (drive) has its own N
variable set. In the picture above the standard display of the windows is displayed for
the axis 0 .

In this image the representation is hexadecimal.


Through the selection of the axis coupling all windows will be changed over to this
axis.(Applies for all windows for which axis selection is set and further switching over
of the windows to the next axis is being done.) The further switching over can be car-
ried out through the lower selection box on the left or by zooming in the window (i.e.
window was clicked sometime ago and is active) with the key combination <Ctrl> +
<Page↑> respectively <Ctrl> + <Page↓> is used. This concerns all windows for axis
variables (N, F, S) The key combinations could also be <Ctrll>+ <PgDn> respectively
<Ctrll> + <PgDn> for other keyboards.

Through the selection point the decimal value (normally integer) is in true units, here
actual position is displayed in mm .
mac-8 RE30156-01 38
ECL – Programming System

Hints

If the mouse cursor is moved to a variable, text substitute for variable, or here names
(meaning) of a numerical system variable, you usually receive a help. In this case the
set point velocity (Nx.7) is shortly explained.

1.5.2.3.5.1 Functions with right mouse button

Through clicking the right mouse button in


the window for N-variables the menu win-
dow shown on the left opens. With <Close
window> the active window will be closed,
with <new window> another window of the
N variables will be opened.

Next axis
This function switches to the view of the N-variables for the next available axis (X0
ÎX1) . This is also possible with the key combination <Ctrl> + <PageUp>. (For this
purpose the View should be active i.e. blue title bar.)
Available software axes are highlighted through
an asterisk * as shown on the left hand side.

mac-8 RE30156-01 39
ECL – Programming System

Previous axis
This function switches to the view of the N-variables for the next available axis (X1
ÎX0) . This is also possible with the key combination <Ctrl> + <PageDown>. (For this
purpose the View should be active i.e. blue title bar.)

Copy and paste values


A marked N-variable value can be saved in the clipboard by means of function Copy
(or as well key combination <Ctrl>+<C>) and can be again inserted into the N-
variables window, at the corresponding newly highlighted position, through function
Paste.

Add to mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> + <Z>) the
highlighted N-variable will be inserted in the actual Mix file.

1.5.2.3.6 F – Axes Flags

With this function the logical system variable of the axis 0 will be displayed. (axis state)

As all previously listed reusable windows (parallel programs, arrays), here several win-
dows of the F variables are possible with the function. Each axis (drive) has its own F
variables set. In the picture above the standard display of the windows is displayed for
the axis 0 .

Through the selection of the axis coupling all windows will be changed over to this
axis.(Applies for all windows for which axis selection is set and further switching over
of the windows to the next axis is being done.) The further switching over can be car-
ried out through the lower selection box on the left or by zooming in the window (i.e.
window was clicked sometime ago and is active) with the key combination <Ctrl> +
<Page↑> respectively <Ctrl> + <Page↓> is used. This concerns all windows for axis
mac-8 RE30156-01 40
ECL – Programming System

variables (N, F, S) The key combinations could also be <Ctrll>+ <PgDn> respectively
<Ctrll> + <PgDn> for other keyboards.

Hints

If the mouse cursor is moved to a variable, text substitute for variable, or here names
(meaning) of a numerical system variable, you usually receive a help. In this case the
channel break monitoring off (Nx.14) is shortly explained.

1.5.2.3.6.1 Functions with right mouse button

Through click of the right mouse button in


the window for F-variables the menu win-
dow on the left opens. With <Close win-
dow> the active window will be closed, with
<new window> another window of the F
variables will be opened.

Next axis
With this function you switch to view of the F-variables for the next available axis (X0
ÎX1) . This is also possible with the key combination <Ctrl> + <PageUp>. (For this
purpose the View should be active, i.e. blue title bar.)
Available software axes are highlighted through
an asterisk * as shown on the left hand side.

mac-8 RE30156-01 41
ECL – Programming System

Previous
With this function you switch to the view of the F-variables for the next available axis
(X1 ÎX0) . This is also possible with the key combination <Ctrl> + <PageDown. (For
this purpose the View should be active, i.e. blue title bar.)

Copy and paste values


A marked F-variable value can be saved in the clipboard by means of the function
Copy (or as well key combination <Ctrl> + <C>) and through function Paste again in-
serted into the corresponding newly highlighted position in F-variables window

Add to actual mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> +<Z>) the
marked F-variable will be inserted in the actual Mix file.

1.5.2.3.7 S - System Parameters

With this function the system parameter of the axis 0 (respectively the first available
software axis) will be displayed. These parameters describe the settings of the sen-
sors, the output devices and the settings of the controller. The settings for controller
concern the set-up of the controller requirements (see manual for <Parameter of the
axis>!).

After the call, the controller select help will be always displayed in newly opened win-
dow. Here you can view the complete structure of the controller tool with his various
possibilities at a glance. Through click on the function block the corresponding parame-
ter set will be displayed in a window and can be edited. For this purpose the window
controller select should be moved or closed.

mac-8 RE30156-01 42
ECL – Programming System

Now the system settings can be parameterized. With selection point the parameter will
be represented in units. Without this setting the value 1000 applies for 1 mm (all units
will be processed internal in 1/1000). Through the selection hexadecimal the values are
represented as hexadecimal digits. With push button , the window for controller se-
lection will be again displayed.
As all previously listed reusable windows (parallel programs, arrays), here several win-
dows of the S parameter are possible with this function. Each axis (drive) has its own S
parameter set. In the picture above the standard display of the windows is displayed for
the axis 0 .
Through the selection of the axis coupling all windows will be changed over to this
axis.(Applies for all windows for which axis selection is set and further switching over
of the windows to the next axis is being done.) The further switching over can be car-
ried out through the lower selection box on the left or by zooming in the window (i.e.
window was clicked sometime ago and is active) with the key combination <Ctrl> +
<Page↑> respectively <Ctrl> + <Page↓> is used. This concerns all windows for axis
variables (N, F, S) The key combinations could also be <Ctrll>+ <PgDn> respectively
<Ctrll> + <PgDn> for other keyboards.

Hints

mac-8 RE30156-01 43
ECL – Programming System

If the mouse cursor is moved to a variable, text substitute for variable, or here names
(meaning) of a numerical system variable, you usually receive a help. In this case the
gain Kv (Sx.[3] is shortly explained.

1.5.2.3.7.1 Change axis data and the take over

In window for the S parameter all settings will be carried out . After the changes were
performed , they only exist in the input display of the window and should be normally
taken over. This works with the functions of the right mouse button. (see below), or in
menu chapter 5.2.5 Debug (see there).

1.5.2.3.7.2 Take over axis data direct

A number of S parameters can be directly overwritten in the input window (!), i.e. valid
without additional taking over if Options – Settings – Projects – Direct S Parameter
take over is selected in menu 5.2.6. Here it concerns the parameter which are valid on
the axis after the function Take over axis data (Menu or right mouse button ). All
other parameter need additional Init axis data (Menu or right mouse button).

1.5.2.3.7.3 Functions with the right mouse button

Through click of the right mouse button in


the window for S-variables the menu win-
dow on the left opens. With <Close win-
dow> the active window will be closed,
with <new window> another window of the
S variables will be opened.

mac-8 RE30156-01 44
ECL – Programming System

Display controller structure


With this function the select window for the controller structure will be displayed ( see
as well the first page of this chapter)

Taking over of the axis data


With this function the recently typed in axis parameter will be taken over directly in the
axis (meaningful only after changes or loading of new settings for the axis from a file –
more details under menu point Debug - Taking over axis data ).
Save axis data
With this function the recently typed in axis parameter from axes will be saved in a file
(more details under menu point Debug - Save axis data).

Load axis data


With this function a file with all axis parameter will be loaded in the input area, but
these values are not automatically valid on the axes (more details under menu point
Debug, Load axis data).

Copy axis data


This function enables to copy an axis
parameter array to one or several target
axes. There the target axis is the first
axis and at Number of the axes > 1
the following axis (axes) on which the
axis parameter of the recently selected
axis will be copied. There you will not
distinguish whether the axis is available
(*) or not yet set up.

After activation with OK, the axis data will be copied.

The copied axis data will not be active until next axis data initialization respectively tak-
ing over axis data (see chapter 5.2.5 Debug).

mac-8 RE30156-01 45
ECL – Programming System

Next axis
With this function you switch to the view of the S-variables for the next available axis
(X0 ÎX1) . This is also possible with key combination <Ctrl> + <PageUp>. (For this
purpose the View should be active, i.e. blue title bar.)
Available software axes are highlighted through
an asterisk * as shown on the left hand side.

Previous axis
With this function you switch to the view of the S-variables for the next available axis
(X1 ÎX0) . This also possible with key combination <Ctrl> + <PageDown>. (For this
purpose the View should be active i.e. blue title bar.)

Copy and paste values


A highlighted S-variable can be saved in the clipboard by means of function Copy (or
as well key combination <Ctrl> + <C>) and through function Paste again inserted into
the corresponding newly selected position in the S-variables window.

Add to actual mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> + <Z>) the
selected S-variable will be inserted in the actual Mix file.

1.5.2.3.8 I-Inputs

With this function the inputs of the all digital In/Output cards (DEAB) will be displayed.

There are maximum 8 In- / Output cards possible. The physical available card will be
provided with * . The representation can be set up as a symbol for each input (see
above picture) or as bit value coded (see below picture) with selection of the Show
Symbols .
mac-8 RE30156-01 46
ECL – Programming System

The representation of the Inputs can be displayed too in reversed order . Then input 32
is displayed as first . This is carried out with selection Turn bits

Simulation of the inputs


Inputs can be simulated, i.e. an input for test set , although in reality it does not exist.

(Inputs simulate is only in debug modus possible.)

To simulate inputs the corresponding input will be set in the simulation state by means
of the <Shift> + <Enter> keys at the debug mode switched on. (see picture below bit 7
of the In/Out – card 0). The simulated input will be set or reset by means of double click
with the mouse. Inputs of physically non available cards can not be simulated unlike
outputs and don’t make sense either. Pure test flags are to be handled through V-
variables!

Representation of simulated inputs actively on respectively simulated off. In the picture


above the inputs are 1, 2, and 5 physically set , input 7 simulates off and input 8 simu-
lates on. The simulated inputs can be recognized through the red frame.

mac-8 RE30156-01 47
ECL – Programming System

If the debug mode is switched off, all simulated inputs available I/O cards (*) are inva-
lid, independent from their previous state. At switched off debug mode the simulation in
not effective. At again switching on debug mode the inputs are again in simulation ,
however not “set”(High) in the state.

1.5.2.3.8.1 Functions with the right mouse button

Through click of the right mouse button in


the window for Inputs the left shown menu
window on the left opens. With <Close
window> the active window will be closed,
with <new window> another window of
the inputs will be opened (the same win-
dow)

Copy and paste values


A highlighted input can be saved in the clipboard by means of function Copy (or as
well key combination <Ctrl> + <C>) and through function Paste Copy (or as well key
combination <Ctrl> + <V>) again inserted to the corresponding newly highlighted posi-
tion into the inputs window , provided that the axes are switched in debug mode simu-
lation. Generally these functions are not recommended for inputs.

Add to actual mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt>+ <Z>) the
selected input-variable will be inserted in the actual Mix file.

1.5.2.3.9 Outputs

With this function the inputs of the all digital In/Output cards (DEAB) will be displayed.

There are maximum 8 In- / Output cards possible. The physically available card will be

mac-8 RE30156-01 48
ECL – Programming System

provided with * . The representation can be set up as a symbol for each input (see
above picture) or as bit value coded (see below picture) with selection of the symbol
representation .

The representation of the outputs can be also displayed in reversed order . Then out-
put 32 is displayed as first . This is carried out with selection Turn bits

Simulation of the outputs


Outputs can be always simulated respectively set. Debug mode is not required. Out-
puts not available axes can be as well set (see picture above).
Outputs will be set or reset through double click with the mouse.

1.5.2.3.9.1 Functions with the right mouse button

Through click of the right mouse button in


the window for Outputs the menu window
on the left opens. With <Close window> the
active window will be closed, <with new>
window another window of the outputs will
be opened (the same window)

Copy and paste values


A highlighted output can be saved in the clipboard by means of function Copy (or as
well key combination <Ctrl> + <C>) ) and through function Paste again inserted to the
corresponding newly highlighted position into the outputs window , provided that the
axes are switched in debug mode simulation. Generally these functions are not rec-
ommended for outputs.

mac-8 RE30156-01 49
ECL – Programming System

Add to actual mixed variables array


Through function <Add to Mix> ( or as well key combination <Ctrl> + <Alt> + <Z> ) the
highlighted output-variable will be inserted in the actual Mix file.

1.5.2.3.10 MIX – variables

With this function the window will be displayed for the actual selected mixed file. A
mixed file is a mix (composition) from all variables type in a specific format display.
This tool provides the possibility to create user specific windows for test respectively
monitoring purposes. The individual columns in the window can be edited afterwards.
This is particularly relevant for columns <type> and <meaning> . For the case that
there no mixed file has been opened yet, the standard Mixed file will be opened.(see
below). This file should be always kept as MIX file without entry (empty) for generating
user specific mixed files.

If a MIX file was already opened in the actual session, it appears in the actual window.
Only one mixed file can be open at a time.

(example for a mixed file)

mac-8 RE30156-01 50
ECL – Programming System

Structure of the mix variables views


From version 1.5.0, it is possible to structure the mixed variable views. In the view be-
low an example window is represented in unstructured form.

The structured form of the window displayed above gives a better overview immedi-
ately.
To create these section headlines in the first free line of the window a comment (; Text)
mac-8 RE30156-01 51
ECL – Programming System

should be typed in under Name. The line can be moved to the desired place via click-
ing the left mouse button ( hold on to it!) at the column Variable (of the new line).

1.5.2.3.10.1 Functions with the right mouse button

Through click of the right mouse button in


the window for MIX variables the menu
window on the left opens. With <Close
window> the active window will be
closed, with <New> a new empty win-
dow of the mix variables will be opened
(same window)

Copy and paste values


A selected (one or several lines) of the mix variable can be saved in the clipboard by
means of function Copy (or as well key combination <Ctrl> + <C>) and through func-
tion Paste or as well key combination (<Ctrl> + <V>) again inserted to the correspond-
ing newly selected position into the mix variables window. There the marked area can
be inserted as well in the other mix file or source file.

Mark several lines and copy in the clipboard


The first line in the MIX window will be marked through clicking the line in the column
VARIABLE(see below).

Then the last line will be clicked in the same manner with simultaneous pressing of the
of the shift key. The area is now marked or selected.

mac-8 RE30156-01 52
ECL – Programming System

Now you can copy with the right mouse button Copy, or with key combination

<Ctrl> + <C> the marked area in the clipboard

Insert from clipboard in a new mix window

This step is a possible continuation of the previous described paragraph (mark and
copy in the clipboard).

First a new empty mix window will be cre-


ated by means of the right mouse button in
mix variables window with New variable
list.

mac-8 RE30156-01 53
ECL – Programming System

Now, Insertion will be made in the actual


MIX window. This will be carried out
through right mouse button
Insert as well as key combination <Ctrl>
+ <V>.

Insert from clipboard in a source file


This step is the second possible continuation of the previously described paragraph
(mark and copy in the clipboard).
Now, Insertion will be made
in the actual source file.
This will be carried out
through right mouse button
Insert or key combination
<Ctrl> + <V> in the view
window

It is not sure whether this possibility will ever be implementable or not.

mac-8 RE30156-01 54
ECL – Programming System

Moving sectors of entries in the mix variables window.


The previous example is rather an exception but the moving of selected entries in the
MIX variables window is even more often applied. The marked area can be moved to
required place. For this click to column Variable (one of the marked lines) with left
mouse button (hold) and then move to target position. (See as well previous chapter
Structure of the Mix Variables Views)

MIX delete
The marked or selected entry will be deleted from the window with this function (or as
well with key combination <Ctrl> + <Alt> + <Y> ).

New variables list


Through this function a new empty MIX window will be created.

Afterwards the entries can be carried out in this window. If needed this window can be
saved with function save MIX variables list . (see below).

Load variables list...


With this function an existing MIX file is loaded from the choice.

Load can be carried out through click on the


corresponding file in the project tree under
MIX files.

mac-8 RE30156-01 55
ECL – Programming System

Save variables list...


Through this function the actual valid MIX file will be saved.

If the file is an existing file which should be saved, the actual name will be automati-
cally offered under File name (“Dateiname”). With Save (“Speichern”) you addition-
ally ask for overwriting the existent file. At new entry the new file name will be ex-
pected.

1.5.2.3.11 Add MIX

With this function the window for actual mixed file will be extended by a new entry
(line).

Without further reference (see picture above) the empty line will be simply inserted.
This empty entry can be manually edited. But this is not common. Normally a variable
definition is selected in another variable window or in a source file and through execu-
tion of the function Add Mix you get the new entry in mix file.

mac-8 RE30156-01 56
ECL – Programming System

Example for add from variables window

The N - variable N0.2 actual position, will be inserted in existing mixed variables array
axis0.mix . For this the variable was first marked in window N00 and afterwards the
function carried out via the menu line.

Example for add from source file

The V-variable V0.1 iUp_Start, will be inserted in the existing mixed variable array
axis0.mix . For this the variable was first marked in the window for source file DEF.ECL
(definition file for the project) and afterwards the function carried out via the menu line.
If the marking is only made of setting the cursor in front of the text substitute of the
definition (see above), the comment of the corresponding line will be taken over from
source file in the column MEANING of the mixed file. At a real marking nothing
changes and the entry for Meaning remains empty

1.5.2.3.12 Delete MIX

With this function the actual marked entry of the mixed file will be deleted.

mac-8 RE30156-01 57
ECL – Programming System

1.5.2.3.13 OPC – variables export

With this function an OPC project file will be created. It can be saved via the button
Save under project name and serves for coupling between visualization and control
device.

The handling of the OPC is described in the OPC Documentation.

mac-8 RE30156-01 58
ECL – Programming System

1.5.2.4 Curves recording of the process data

Under menu point curves, the functions for oscilloscope function DTRACE are avail-
able. The handling of this function is carried out via the designated button keys (see
there).

1.5.2.4.1 DTRACE – settings

DTRACE is a 12 channel oscilloscope that records signals on the control which are
sent to the PC afterwards. By default 250 measurings in times steps are possible till
minimum axis sampling per channel. The measuring quantity can be increased for
special application cases. The recording takes place in two change buffers (P1 and
P2), which enables a long recording; i.e. when one buffer is recorded, the other one
can be loaded on PC. Before the first recording, the recording responsible curves set-
tings should be made.

mac-8 RE30156-01 59
ECL – Programming System

At call of the function via menu line or button , the display above appears only in a view
for 8 channel. It is however possible to extend it by putting the mouse on the
frame.(see picture above).

Measuring time [ms]:


The measuring time describes the recording time in milliseconds.

Sampling time [ms]:


Sampling time means the time between 2 measurings in milliseconds. It automatically
results from internal determination of the number measuring and measuring time which
will be limited to the internal axis sampling rate of the axis.

Status of the recording:


The message in top right text field describes the status of the DTRACE program run.
the picture above says P2 stopped, i.e. the last recording was carried out at buffer 2
and is completed.
Channel _:
The line for channel 1 till 12 describes the signal that should be recorded.
The first entry defines the variable type.

Variables, which 32 bit dimension represents, can be later displayed as several


curves, represented in different formats ( in bit mode), with the so called WINVIEW
curves evaluation program.
The second entry describes the axis.

Axes number with * mark physical available axes.

mac-8 RE30156-01 60
ECL – Programming System

The special signal is marked with the NR in the third entry:

Trigger settings:
At the trigger settings you distinguish between settings for start or break conditions of
the recording.

The picture shown here doesn’t contain any settings for triggers.

Trigger settings for start condition:


The first entry defines the start condition.:

The following possibilities exists:

OFF No start trigger


A = B A reaches value of B
A <> B A unequal value of B
A > B A bigger as value of B
A < B A smaller as value of B
A >> B A exceeds value of B
A << B A exceeds value of B

After specification of the trigger condition the start trigger can be completely set.

mac-8 RE30156-01 61
ECL – Programming System

(Recording or trace starts if A value exceeds value of B !)

Entry for variable A can be selected from following variable types:

Selection of the axis or variables number for variable A:

Entry for variable B can be selected from following possibilities:

The comparison value B of the trigger condition for starting the recording can be a
value or the content of a V variable .
Therefore value B is numerical or a number of a v variable.

Remark for setting parameters for trigger conditions A >> B and A << B:
At triggers with positive (>>) or negative (<<) signal transitions the entry Value must
equate the condition before the event. the value 0 applies at >> and at << value 1! At I
-, O -, F -, or V – variables signal transitions are only possible bit by bit!
mac-8 RE30156-01 62
ECL – Programming System

Trigger settings for stop condition:

The first entry defines the stop condition.:

Following possibilities exists:


OFF No start trigger
A = B A reaches value of B
A <> B A unequal value of B
A > B A bigger as value of B
A < B A smaller as value of B
A >> B A exceeds value of B
A << B A exceeds value of B

The stop trigger can be completely set, after selecting the trigger condition.

(Recording or DTRACE stops if A reaches value of B!)

Entry for variable A can be selected from following variables types.:

mac-8 RE30156-01 63
ECL – Programming System

Selection of the axis or variable number for variable A:

Entry for variable B works just like for the stop condition at the start trigger . Since in
the picture above value A is a logical variable, only VALUE with logical state (0 or 1)
can be chosen for B.

Remark for setting parameters for triggerconditions A >> B and A << B:


At triggers with positive (>>) or negative (<<) signal transitions the entry Value must
equate the condition before the event. At >> value 0 and at << value 1! At I -, O -, F -,
or V – variables signal transitions are only possible bit by bit!

Time specifications are not ever necessary by using of start or stop trigger :
If a start and stop trigger is used, the measuring time can be possibly left out. In this
case the lastly used sampling time is used.

E.G.: DTRACE with 5000 measuring points, 10000 ms measuring time and trigger off.

mac-8 RE30156-01 64
ECL – Programming System

The trigger here has the following meaning:


START Trigger is the button for an upward movement
STOP Trigger at exceeded of the position 0,5 mm at backwards movement
A delay time of 100ms is set for the STOP trigger; i.e.100ms after reaching the Stop
event the recording is stopped and loaded to the PC via MAC-8.

(Recording with settings of the example.)

mac-8 RE30156-01 65
ECL – Programming System

Button for recording settings

(View all available buttons – channel settings small push)

Functions of the buttons:

View for trigger settings will be minimized.

View for trigger settings will be maximized.

The parameter settings will be carried out (take


over) and the window for DTRACE settings will
be closed.

The parameter settings will be rejected out and


the window for DTRACE settings will be closed.

1.5.2.4.1.1 Functions with the right mouse button

Through click of the right mouse button in the win-


dow for DTRACE curves settings menu window on
the left opens.

Save settings...
The actual DTRACE curves setting can be saved under its own name. It is advisable to
save the settings in its own directory ( under ECL-Project create) and to use a mean-
ingful name.

mac-8 RE30156-01 66
ECL – Programming System

Load settings...
A saved DTRACE curves settings can be loaded.

Initialization
Initialization of the channel settings. There, only the settings for the first two channels
will be carried out. Useful before first time parameterizing of the channel settings (see
picture below)

(Initialization of the curves settings)

mac-8 RE30156-01 67
ECL – Programming System

1.5.2.4.2 Example for DTRACE: Trigger at error situations

In practice it is not easy to find and diagnose errors which appear sporadically.
DTRACE offers you an easy possibility to handle this problem.
Here we have a four axes synchronism. Sometimes a synchronism error occurs.
The picture below displays a possible setting for DTRACE.
In case of error the display shows:
4 actual value positions with the axes (channel 1-4)
Synchronism difference of the error susceptible axis 2 ( channel 5)
Analogue output to masteraxis valve ( channel 6 )
Axes Status for synchronism active of master axis ( channel 7)
Only one stop trigger was defined. The event stops at arrival of intern error for syn-
chronism (V001.03) when condition (A>>B) takes effect. ( increasing edge)
The trace is stopped and loaded 5000 ms after the occurrence of the error (Delay)

(View of curve settings at started DTrace)

A trace of 15000 ms before and 5000 ms after the trigger event results from a meas-
urement period of 20000 ms in total. (also see trace below).

mac-8 RE30156-01 68
ECL – Programming System

The Trace is started as a continuous recording (see above). That way the control is
traced permanently. Only at the arrival of the trigger event the actual recording is
loaded to the connected PC. DTrace is now waiting for the next error event.

This ERROR CONTROL ( i.e. continuous recording) must not run all the time, but
only till the error is recognized and analyzed.
Otherwise the continuous trace would unnecessarily use up control resources, which
are supplied for control tasks of machine actions. These needs are however project
dependent.

IN the lower trace window the abort of the synchronism is recognizable by means of
the internal axis flag ‘synchronism active’(F00.23: synch active) at error arrival.
Contemplating the big upper display makes clear that axis 2 got stuck ( e.g. crashed
into obstacle) ( here S32[53] synchronism error 1)which resulted in immediately stop-
ping all axes movements.

mac-8 RE30156-01 69
ECL – Programming System

1.5.2.4.3 User Channels…

This menu function offers the selection of the recording channels of the DTRACE func-
tion, the uploading of the necessary buffer contents (A – Fields) , and the graphical
representation of these curves with WINVIEW program.

Through the selection box the channels can be selected. Right next to the channel
name you can find the corresponding number of the A fields. The recording information
is saved there. The right column of the window indicates the state of the channel.

There are the following states ( see as well structure of the curves field)

A – field is filled with apparent (OK) val-


ready
ues, curves display is possible.

In A – field is the value for number of


points equal zero, it means that the re-
active
cording is not finished or has not taken
place yet.
The value for time base or the curve type
invalid is false. Therefore the recording is not
valid.

mac-8 RE30156-01 70
ECL – Programming System

1.5.2.4.3.1 Structure of the curve field (array)

The curve information’s respectively recording about DTRACE function are put down in
A arrays. For this purpose the Array A100 till A111 and A116 till A127 are reserved.
They have all the following format as A116
Element 0 contains the curve type. Value
is always 0.
Element 1 contains the number curve val-
ues in this case 140 measuring.
Element 2 contains the time base in ms –
here 4 ms.
Element 3 contains event – not used.
From element 4 all measuring are in the
sequence beginning with the first.

Functions of the buttons:


The selected channels will be uploaded from
MAC-8 in the main memory of the PC and repre-
sented as curve in the program WINVIEW.

The window will be closed.

1.5.2.4.4 Start WINVIEW

This menu function starts the so called WINVIEW program for graphical representation
of the recordings. The handling of this program is explained in the online help or in the
present application chapter.

mac-8 RE30156-01 71
ECL – Programming System

1.5.2.5 Debug

1.5.2.5.1 Axes Error Quit

After an axes error in the NC program the corresponding axis is cancelled and locked
by setting specific error flags at its F – variable. To unlock the axes again the error has
to be acknowledged (Error Quit). This works on all axes with this function.

1.5.2.5.2 Axes Initialize

The first takeover of the system parameter for corresponding axes must be carried out
via the so called AXINIT function. Divers changes demand the same kind of process.
Any axis function is cancelled when axes data are initialized. Therefore you must pay
attention to not mistime this function!

1.5.2.5.3 Take over S-Parameters

After changing of the system data (S parameter) these should be taken over from this
axis.

1.5.2.5.4 Save S-Parameters

Axis data are normally saved in battery (secured RAM). For safety reasons the so
called Spar file will be created with the axis assignment (for the project). At each new
start of the NC program the axes will be initialized with these assignments. The SPAR
has the following structure:

mac-8 RE30156-01 72
ECL – Programming System

After activation of the save function the next window, in which the path of the system
parameter is defined, will be opened. Usually it takes place in the directory of the cor-
responding project:

At project using SPAR files the axes are initialized by means of these files. If any
changes of system parameter ( S variables) take place, you have to save these per-
manently in SPAR file. Afterwards the compilation and transition to the control device
must be carried out. If this is disregarded, the axis data will be overwritten with data
from SPAR file at a new start and changes will get lost. Merely saving is not useful be-
cause the SPAR data are bound to the code file. This takes place only through compi-
lation.

1.5.2.5.5 Send S-Parameters

It is also possible to load the system parameter settings from hard disk into the main
memory, which means you send them to the control device.

mac-8 RE30156-01 73
ECL – Programming System

After opening, (button) the data is loaded from disk and sent to the control device for
each linked axis as well general settings

Attention: After completion of the function the data have reached the axes, but are
not yet taken over. Initialization of axes date is obligatory afterwards.

1.5.2.5.6 Save memory dump...

With this function (from EPROM version 6.200) the memory dump of the memory con-
tents (significant contents of the RAM) will be uploaded and saved as binary file on the
hard disk under free selectable name . It concerns the code file of the sequence pro-
gram, all A fields, V, S and R variables.
This offers the possibility to save a project, whose source files on a data carrier are
lost, on the PC. For safety reason use this so called Upload before battery change of
the controller card!

After taking over of the file name with the button Save the save action will be started.

The function should require a few minutes. The progress will be displayed (in percent)
as own window (see above).

mac-8 RE30156-01 74
ECL – Programming System

1.5.2.5.7 Send memory dump...

With this function (from EPROM version 6.200),you can load the saved content to the
control device.
This offers you the possibility to quickly restore the system state after a complete con-
trol hardware crash.

After taking over of the file name with the button Open the send action will be started

The function should require a few minutes. The progress of the function will be dis-
played (in percent) as own window (see above).

1.5.2.5.8 Debug on / off

With this function the debug mode will be switched on /off.


Debug mode enables to “debug” a program. Thereby breakpoints are set to run the
program in “single step” in order to diagnose possible errors.

1.5.2.5.9 Change debug mask...

Through this function the parallel programs can be removed from debug mode after se-
lection.
Switching on the debug mode (see description of the button) usually affects all parallel
programs of the project. This means at the pass of the program in single step mode
each parallel program is switched over one line.
mac-8 RE30156-01 75
ECL – Programming System

This concerns as well the parallel programs for recordings and communication with
PROFIBUS. This is however unfavorable unless exactly this program branch needs to
be check. Therefore only the parallel programs which ought to be checked should be
switched in Debug mode. The rest has to be excluded.

After starting the function the window above is opened. There all parallel programs are
bound in debug mode at first. At the check boxes you can select/deselect (one by one)
all possible 32 programs. Through ( window standard )marking the selection can be
carried out via several programs.

(Five parallel programs are marked)

In the following descriptions of the buttons the sequence is intentionally out of order.

Functions of the buttons for changing the debug mask:

The marked parallel programs will be removed


from debug mode. Afterwards all debug actions
have no more effect on these.

mac-8 RE30156-01 76
ECL – Programming System

(For marked parallel programs is now debug mode switched off.)

The actual setting in window is used and saved


as default and valid for activated debug mode.

The debug mask will be set to (as default) last


saved settings.(see As Default)

For all marked parallel programs the debug


mode will be switched on.

The actual set value of the debug mask for


marked parallel program will be inverted.

The window will be closed.

Attention: These settings only work after switching to debug mode:

mac-8 RE30156-01 77
ECL – Programming System

1.5.2.5.10 Show breakpoints...

At session with the debugger up to five break points can be set. These can be man-
aged with this function.

The second column displays the program line project and third column displays the
function name of the sub routine. With the buttons the desired operations can be car-
ried out.

Functions of the buttons:

This function effects a jump in the source file to


the line with the marked break point.

This function deletes the marked break point.

The window will be closed

mac-8 RE30156-01 78
ECL – Programming System

1.5.2.5.11 Select slot... (Select Slot Number)

With this function you select another slot

Here you differentiate whether the project was loaded with Project.BUG or Proj-
ect.GRP. At loading with Project.BUG an immediate switching to slot 2 is carried out
(where available – if not, error message – see below). The set project assignment re-
mains and should be changed manually via Load project if required.
At loading with Project.GRP it is switched also to slot ( as described above). But a
automatically switching to project assignment is done which it is in the group informa-
tion defined.

(error, because Slot 2 is not used)

1.5.2.5.12 Delete program

The program on the selected slot of the control device will be deleted after confirmation
of an inquiry. (see below)

1.5.2.5.13 Reset MAC-8

The control device is reset after confirming an inquiry (see below).

mac-8 RE30156-01 79
ECL – Programming System

1.5.2.6 Options

1.5.2.6.1 Settings... (Options…)

All settings for handling the ECL – Programming system are done here.

1.5.2.6.1.1 Settings for system

There are settings groups as represented above.

Show product start picture Only at selection the start image will be
displayed.

mac-8 RE30156-01 80
ECL – Programming System

Debug symbols with text Only at selection the buttons of the ECL
sequence control (Operating of the debug
mode) will be displayed, including the
specification of the corresponding function
button

Use variables server channel C2 The selection effects the operation of the
variables server for the ECL Programming
system over channel C2. This is of use if a
visualization on PC is connected over
OPC or ActiveX. There C1 is the channel
for visualization. With setting to C2 for the
ECL Programming system both applica-
tions can run trouble-free.
Here you need a second interface on the
PC.
Diagnosis with modem This selection effects an improvement of
the working speed via Modem.

After selecting Remote diagnose over modem, the time can be set in milliseconds in
the entry field refresh cycle. This time determines all cyclical data requests coming
from the programming system .1500 ms are standard value. After taking over with Ok,
all changes like “pass in Trace window , refreshing of the variables “and so on will be
delayed on the desktop. – This allows a faster respectively more efficient access to the
system per remote control!
After the modem operation the selection should be cancelled .
With the Language selection it is possible to switch between German and English.

mac-8 RE30156-01 81
ECL – Programming System

The language switching over takes effect after next program start

1.5.2.6.1.2 Settings for source

Here all settings will be carried out for the handling of the source files.

Convert MSDOS source files This selection makes character set conversion.
Consequently each of the old MSDOS versions
can be read under windows without restriction.

mac-8 RE30156-01 82
ECL – Programming System

ECL syntax help function With this selection the syntax help function is
activated. It supports the programmer at creat-
ing syntactically correct “command lines” di-
rectly at the input. You can find Examples in
chapter Program editor – General handling of
the editor and Functions with right mouse but-
ton.

Project line numbers With this selection the numbered lines of the
source file always refers to the project and not
to the file. After compilation a code file will be
created from all sources that were bound in pro-
ject. This file is numbered line by line. Conse-
quently a direct reference between sequence of
line number and source file line number is cre-
ated .

Insert mode Editing the source files is carried out in insert


mode. Otherwise it would be carried out in
overwrite mode. By pressing the button Insert
(keyboard) the mode will be changed temporar-
ily!

Wrap cursor at the line ending With the key cursor right (→) at the end of line
you jump to the beginning of the next line.
With the key cursor left(←) at the beginning of
the line you jump to the end of the previous line.

Confirm file save at compiling At deselecting this setting each changed source
file is saved when starting the compilation, and
the project will be translated.
Otherwise at each changed file the system asks
if saving is required, and then translates the
saved source files.
Changed and not saved files remain red high-
lighted in the line numbers after compilation.

mac-8 RE30156-01 83
ECL – Programming System

Close files at project change With this setting all source files of the project
will be closed at project change without query .
If this option is not selected each changed file
will be individually asked.

Show global includes This setting handles the display of the global
Includes in the project tree at all source files.

With the other settings the tab stop position and font size can be set.

1.5.2.6.1.3 Setting for projects

Here all settings for the handling of the projects will be carried out.

Incremental compiling active With this setting only changed sub-


routines are translated and sent to MAC-
8 later. This is a time saving method for
the program compilation and any other
changes.

Show compiler warnings At compiling Compiler warnings are also


shown on the fault list.

Test the debug mask with saved de- At each engaging on debug mode, the
fault settings system asks for the secured setting,
saved as default, in the debug mask. In
case of possible differences, the correct-
ness of the action is called into question
(See also chapter 5.2.5 Change debug
mask...)
mac-8 RE30156-01 84
ECL – Programming System

Direct S-Parameter take over All parameter marked with ! in S parame-


ter window can be directly taken over in
the axis parameter („take over axis data“
is not necessary for these parameter)
Entries with such conditions should be
handled with care!

(System - parameter axis X0 - min- / max values)

Compiler options
There are different compiler options . Normally this field is empty . Only in exceptional
cases at instructions from system specialists from Bosch Rexroth the field should be
overwritten with corresponding entries.

Project standard path


This path entry will be set automatically with the installation of the ECL programming
system . The projects are always to be found under .../PROJECTS after convention
(see features for “settings of projects”). You can also put down the projects at different
places, however you would have to change the path then. The user himself must de-
cide whether changing the standard project path is useful or not. Following suggested
conventions is always advantageous due to general validity and compatible for differ-
ent users!

mac-8 RE30156-01 85
ECL – Programming System

Template project
Under project template you find the path for the project template, which serves as
source file template after building a new project.(with menu Project – New). It serves
as model program. This setting matches the setting after the installation. if the new pro-
ject is very similar, it could as well be a concrete existing project. In this case, the path
should be set to corresponding Project.bug file before creating a new project.

1.5.2.6.1.4 DTRACE Settings

Here all settings for handling of the oscilloscope function DTRACE will be carried out.

Curve history (each...) This selection only influences continu-


ously running DTRACE which was
started with . After selection each
curve is saved as single recording at
RAM. The number of possible record-
ings is fixed at the options of the
WINVIEW program (see at its docu-
mentation!). 9 recordings are default.
When reaching the limit next recording
overwrites the first one.
At deselecting only one recording is
stored at RAM of PC. Each new record-
ing overwrites the last one.
Single recordings are always saved as
one picture in the context of fixed num-
bers (see above)

mac-8 RE30156-01 86
ECL – Programming System

Automatic loading after single start If you select this option, the curve will
be directly displayed on screen at indi-
vidual recording after uploading from
MAC-8 to PC.

Trace – settings update at curve display This option enables a correct represen-
tation of the recording (Legend for the
curves), if the parameter setting of the
DTRACE – curves was done via the
ECL program and not at the program-
ming system :

Example: In the following example contains a setting with ECL Programming System
for the recording. It will be changed per program, i.e. through direct overwriting of the A
field for this parameter. Afterwards the recording will be started per program. After Up-
loading of the curves the setting should be refreshed. The first sequence works without
setting the option „Settings refresh at curve display“ – the second one with setting of
the option:

(original curve setting)

A – field A115 contains all settings for the recordings with the DTRACE. A115[71] is
represented by value 3, i.e. for channel 2 „set point position“ (see picture above).

Now A115[71] will be set to 2 in ECL program – equal setting as for channel 1 (see
original curve settings above).

A115[71]: value changed through ECL program.

Now the recording will be started.

mac-8 RE30156-01 87
ECL – Programming System

Original curve setting is not affected from changing.

Although the representation of the recorded curve contains the signals as they were
set before in A115 , the legend still displays N00.02 and N00.03 falsely.

Now after setting the option „Trace – settings, at curve display refresh settings“:

Option was set

mac-8 RE30156-01 88
ECL – Programming System

Restart recording

Now the legend was refreshed.

The curve settings will be refreshed in <programming system.>

Selection of this option shows the prog-


ress display with an extra bar for up-
loading the curves. This information is
useful because the uploading takes
Progress display at trace curve display some time and during this action no ac-
tivities will be displayed (there is a big
amount of data, numerous channels
and big number measuring values per
channel).

mac-8 RE30156-01 89
ECL – Programming System

1.5.2.6.2 COM - settings...

With the COM – settings all settings can be set respectively checked for connection
communication between MAC-8 and PC (programming system).
The program module for communication is de-
scribed as , MAC-8 variables server . After call
of the menu function the window for variables
server appears. Starting the ECL Programming
System activates the variables server. The icon
for this will be displayed in the task bar left . A
double click results in opening a window for the
variables server.
The views Job status and Serial port state
supply information on the state of the actual
transmission.
The single functions follow below:

1.5.2.6.2.1 Serial interface active

With the selection Serial interface active , the connection building will be activated re-
spectively Inactivated. If the selection is made and the communication is offline (MAC-
8 off, or connection cable taken off respectively faulty ),a permanent communication
building will be created. As soon as the communication building is again OK respec-
tively MAC-8 again switched on, the transmission will be created. If the selection was
not carried out, no communication will be established !

mac-8 RE30156-01 90
ECL – Programming System

1.5.2.6.2.2 Button Info

With the button the version information will be displayed for MAC-8 variables server.
The Main Version (1.5) should always be concordant with the number of the ECL De-
veloping System (program version).

1.5.2.6.2.3 Selection of the serial interface

You can select between serial interface


COM1 till COM4 of the PC. Settings are
only useful for serial interfaces which are
available on the PC.

mac-8 RE30156-01 91
ECL – Programming System

1.5.2.6.2.4 Setting baud rate

You can select between 9600 and 19200


baud . A changing will be taken over di-
rectly at running communication. If the
communication (at present connexion)is
manually switched to offline (at selection
“Serial Port Active”) the identifier “Baud
rate” is shown in red and will be taken
over after reactivating the interface (at se-
lection “Serial Port Active”).

Button messages

After pressing the button, a window for messages that concern the connection of the
PC to the MAC-8 will be opened. This includes all messages concerning communica-
tion error. The example above displays a try to open a non existent serial interface
COM2.

Button Dump

All data transfer actions will be logged in active mode as well as in offline mode. With-
out selecting ASCII protocol, a simple hexadecimal protocol will be displayed (see

mac-8 RE30156-01 92
ECL – Programming System

above).

(ASCII – protocol)

The recordings can be stopped (restart is as well possible) or deleted.

(recording stopped, restart possible) (recording deleted, restart possible)

1.5.2.6.2.5 Terminal – mode

Through selection Terminal - mode, the vari-


ables server will be switched in terminal mode.
For this the debugger is switched offline.
Communication with the control device is only
possible via Terminal window ( see picture be-
low), which can be activated through button
Terminal.

Under circumstances the window is not empty.

mac-8 RE30156-01 93
ECL – Programming System

Repeated pressing of the enter key


till prompt(>) appears, results in
activating the terminal program.

The operation with the terminal program should only be carried out after consultation
with MAC-8 specialists from Bosch Rexroth.!

After input of the help, the so called COP commands will be listed. The conventional
user only needs the err(task) – command to read out the last occurred system error.
Save the output as screen hardcopy (<ALT> + <Print> – key → clipboard → insert in
MS Word file with <Shift> + <Ins> - key → save under any name) and send an e-mail
to Bosch Rexroth with corresponding information.

( system error possible display)

mac-8 RE30156-01 94
ECL – Programming System

1.5.2.6.3 COM - reset...

With this function the communication will be shortly reset. This means that at the be-
ginning of the event you can recognize the deactivated interface which is reactivated
afterwards ( see picture below) . Normally the user won’t take any notice. The function
is needed to cancel requests via the variables server ( e.g. Send program to control
device), or to cancel DTRACE recordings.

(Button activated) (serial interface deactivated)

1.5.2.6.4 Switch offline ...

With this function the connection between MAC-8 and PC will be switched offline. Af-
terwards the function Switch online... will be offered. With COM – Reset..., the con-
nection can be rebuilt (Switch online).

1.5.2.7 Window

The handling of this menu corresponds the standard handling of all windows applica-
tions regarding the window technique.

mac-8 RE30156-01 95
ECL – Programming System

1.5.2.7.1 ECL Debug Window

If you click this menu you will receive the sequence control for debugging as individual
window in bigger size format. It is only visible when the debug mode is switched on.
Otherwise ( debug mode off) the window is represented inverse.

The window of the sequence control can be moved to its original place under the but-
tons, where is can be automatically minimized to its original size. the window will be
closed with pressing . In the menu window the view can be reactivated with Se-
quence control as window.

1.5.2.7.2 Set Standard

All windows of the Programming System are closed and set back to standard settings
for all windows (Condition after installation). The saved window settings are still call-
able with icon bars for Save of the window settings.

1.5.2.7.3 Arrange windows

After opening the different windows when working with


the programming system, these will be arranged one of
top the other. With the selection ‘arrange under win-
dow’, all opened windows can be placed on the screen
in different order.

1.5.2.7.4 Close window

This command closes the actual window of the project.

1.5.2.7.5 Close all windows

This command closes all windows of the project.

mac-8 RE30156-01 96
ECL – Programming System

1.5.2.7.6 List of the opened windows

The last area of the menu Window shows a list of the currently opened windows. The
front window respectively the Window that is just processed is marked with a check
mark. Clicking on a different one provides access, puts it in front and provides the
check mark in the list

1.5.2.8 Help

1.5.2.8.1 Manual...

Under manual the main window for selecting the different chapters will be opened. The
handling is done according to windows standard.

1.5.2.8.2 Info...

Here you receive the information concerning the version.

mac-8 RE30156-01 97
ECL – Programming System

1.5.3 Icon bars

With the icon bar the most important functions can be directly started here. Usually the
functions are operated via the menu.
The icons are:

1.5.3.1 Project

Icon for the <project new>. Details can be found under


5.2.1 Project – open.

Icon for <Refresh data>. This function should be used to


refresh all data and settings at constant project or slot
switching over.

Icon for <Project compilation>. Details can be found under


5.2.1 Project – compilation.

Icon for <Project send to MAC-8>. Details can be found un-


der 5.2.1 Project – Send.

1.5.3.2 File

Icon for <File new>. Details are under 5.2.2 File – New.

Icon for <Open file>. Details are under 5.2.2 Open – File.

Icon for <Close file> Details are under 5.2.2 Close – File

mac-8 RE30156-01 98
ECL – Programming System

Icon for <Save actual file> Details can be found under 5.2.2
Save actual file

Icon for <Search in source text for the marked string> re-
spectively search- replace. Details can be found under
5.2.2 File – Search.

Icon for repeat search respectively repeat search and re-


place. The search always refers to previous one. Details
can be found under 5.2.2 File – repeat search.

Icon for <Actual file print>. Details can be found under 5.2.2
File – print.

1.5.3.3 Options and help

Icon for <Open window Settings for options for operating of


the ECL – Programming System>. Details can be found un-
der 5.2.6 Options – settings.

Icon for <Open window with MAC-8 manual>. Details can


be found under 5.2.8 Help – manual.

Icon for <Open window with index help for MAC-8 manual>.
Details can be found under 5.2.8 Help – manual.

Icon for <COM settings of the variables server>. Details can


be found under 5.2.6 Options – COM settings.

Icon for <Reset of the transmission MAC-8 – PC> Details


can be found under 5.2.6 Options – COM – Reset n.

1.5.3.4 Variables

Different from the functions via menu, at variable windows no additional windows for
the same variable type is opened. If several windows of the same variable type were
already opened, the next one is always put in front one after the other using the button.

mac-8 RE30156-01 99
ECL – Programming System

Icon for <Open of the window for V variables>. Details can


be found under Variables V - variables.

Icon for <Open of the window for A fields variables>. Details


can be found under Variables A - fields.

Icon for <Open of the window for P variables>. Details can


be found under Variables P - Variables.

Icon for <Open of the window for R variables>. Details can


be found under Variables R - Variables.

Icon for <Open of the window for N variables>. . Details can


be found under N - system variables.

Icon for <Open of the window for F axis flags>.Details can


be found under 5.2.3.6 F – axis flags.

Icon for <Open of the window for system parameter>. De-


tails can be found under 5.2.3.7 S – system parameter
variables

Icon for <Open of the window for I input variables> Details


can be found under 5.2.3.8 I – input variables.

Icon for <Open of the window for O output variables> De-


tails can be found under 5.2.3.9 O – output variables.

Icon for <Open of the window for mixed variables> Details


can be found under 5.2.3.10 MIX - variables.

Icon for <Add marked variables in the actual mixed vari-


ables file Details can be found under 5.2.3.11 Add MIX
variables.

Icon for <Delete marked variables from the actual mixed


variables file> Details can be found under 5.2.3.12 Delete
MIX variables.

mac-8 RE30156-01 100


ECL – Programming System

1.5.3.5 Curves – recording of the process data

Icon to start the program WINVIEW for visualization of the


signal curves, which were previously recorded by means of
the DTRACE ELC mode and uploaded to the control de-
vice. Details of functions/display are to be found under
Curves recording of the process data - start WINVIEW.
Icon to open the window for parameter setting of the curves
recording Details of functions/display are to be found under
5.2.4 Curves recording of the process data – DTRACE set-
tings.
Icon to start a single recording. The temporal start point of
the recording immediately begins after trigger event. The
recording conditions will be defined in the parameter setting
of the curves recording (see Button ).
A possibly running recording is stopped and rejected before
the next recording is started!

After pressing the button and starting the recording the following situation results:

The start was triggered and the recording waits for trigger event.

The recording will be started when the trigger event arrives:

After completion of the recording (ready or stop per button ), the curves are up-
loaded other than this is cancelled under options for DTRACE (see 5.2.6 Options). If
the WINVIEW program was not started yet, it will be activated for curve representation.

mac-8 RE30156-01 101


ECL – Programming System

The representation of the recording diagram appears in WINVIEW. Further editing of


the recording in WINVIEW program can be read in the manual.

Icon to start a long recording in change buffer mode. The


temporal start point of the recording takes place immedi-
ately the after trigger event. The conditions of the recording
are defined in the parameter setting of the curve recording
(see Button ).
At setting for automatic display the curves will be uploaded and displayed after each
recording

The amount of recordings held in the main memory of the PC are determined In
WINVIEW. After exceeding this limit the oldest recording will be overwritten. Whether
this takes place automatically or only after acknowledgement is determined as well un-
der options Save query by close. You will find more details under WINVIEW docu-
mentation.

This icon allows the user to stop a recording. After pressing


this button at an active recording the present recording will
be uploaded.

This icon serves the manual upload of the last recording.


Furthermore this button is shown as active at a Single start
. After Auto Start it appears as if it was active .

mac-8 RE30156-01 102


ECL – Programming System

1.5.3.6 Debug

This icon serves for switching on ( )debug mode. In De-


bug Mode you can set Break Points and operate the pro-
gram in single step in order to find possible errors. You can
find further information on the handling of the debug mode
under Debug on/off.
With this icon the window for changing of the debug mask
will be opened. Detailed information are to be found under
Debug – change debug mask . Although this function is ac-
tive when the debug mode is off, it will only be effective at
an activated debug mode.

This function serves to switch over the break points.

The first illustration shows the source code of a program before setting the break
points. The second image displays the same module at reaching the break point in the
view window:

Break points are not effective until the debug mode is switched on.

This icon opens the window for the organization of break


points. Details of functions/display are to be found under
Debug – Show breakpoints .
This button serves for slot switching over. At start of the
ECL – Programming System you are always located on the
master card i.e. slot 1. In order to reach the other cards
you can use the button. More details of functions/display
are to be found under Debug select slot

The following 5 buttons serve the real debugging and are only effective with the debug
mode switched on. If this mode is switched off the buttons appear inverse.

mac-8 RE30156-01 103


ECL – Programming System

This icon serves the new start of the ECL program. After
downloading the machine code (project name.cde) the pro-
gram should be restarted with this button. If the debug
mode is switched off this happens automatically. This func-
tion can carried out with key combination <Ctrl> + <F1>

Through inattention at restarting the program you


can damage the machine!

Icon for stopping all parallel programs which are in debug


mode. Afterwards the programs can run in single step
mode. This function can be as well carried out with the key
<F2>

Icon for continuation of the previously stopped program


running. This function can be as well carried out with key
<F3>

Icon for single step mode all in debug programs. It doesn’t


matter whether the program was stopped before or not.
Single step means that all parallel programs in debug mode
are switched one command line onward. This function can
also be carried out with key <F4>
Icon for skipping the ‘function calls’ during single step. Ba-
sically the button works just like the one before, except for
at nested subroutine calls they are carried out in one step .
This function can also be carried out with key <F5>

1.5.3.7 Save of the window settings

It is possible to save the settings of the desktop


in the ECL Programming System from version
1.500. Here the select windows is shown for
different saved arrangement of the windows.

This icon effects the saving of the actual arrangement of the


windows of the desktop under the actual name of the selec-
tion of saved settings.

mac-8 RE30156-01 104


ECL – Programming System

With this icon the actual setting of the window arrangement


on the desktop is saved under new name.

For this purpose+ a window for


putting in the name is opened.

1.5.3.8 Trend Monitoring

From Version WV1.600 it is possible to carry out tendentious recordings of process


values with automatic saving on hard disk of the PC. This is called ‘Trend’. The Trend
monitoring works nearly like the oscilloscope function DTRACE and you use the but-
tons listed below for operation. The Trend is not working directly on the controller but is
only a display of requested signals from the controller with the variable server. The re-
quests depend on the Trend settings in the ECL – Programming System. That means
Trend monitoring is stopped when leaving the ECL – Programming System. Generally
all process values are requested from the ECL – Programming System. Therefore in
contrast to the DTRACE (only 12 channels possible) it is theoretically possible to rec-
ord as many variables of the MAC-8 system variables as you want. However do not
exaggerate in order not to loose the overview over the originally wanted recordings!

Button to call up the window for the Trend view. After start-
ing a Trend recording with the button WINVIEW window
opens automatically.

(WINVIEW after opening with button without started Trend)


mac-8 RE30156-01 105
ECL – Programming System

Apart from general settings you can additionally carry out settings for the trend at
WINVIEW application.

Settings for Trend monitoring at WINVIEW program

Parameter settings for automati-


cally savings of Trend curves can
be made at the menu command
line Options – General settings.

Display duration Fixes the display range of the WINVIEW win-


dow
The time is not freely selectable. You have to
take them out of the selection box.

For the example shown on the left


the display duration is 10 minutes.
changing the Display duration is not
active until reopening of the
WINVIEW window! (that means:
stopping Trend – close window –
restart Trend.)

mac-8 RE30156-01 106


ECL – Programming System

Max. numbers of tables This value determines how many files are cre-
ated for the Trend. If the last Trend (here the
10th) is full, subsequently the 1st one ( then the
2nd one, 3rd one, etc.) is overwritten. The cor-
responding size is determined through the fol-
lowing parameters. Stops and restarts of
Trends result in creating a new Trend file.
Consequently the maximal table number can
be reached earlier as assumed and should
considered at determining the number!

Create new table, if ... (Settings are optional „Checkbox“)


new day starts Each new day (0:00) a new Trend file will be
created.

max. size of file is exceeded After reaching the maximal size of file in
Kbytes (here 1000) a new Trend file will also
be created.

max. period of time is exceeded This Check Box enables the selection of the
max. period of time from select list (see left
hand side).

Button for setup of the Trend function. After activating the button, the
window for setup opens.

Here the recording channels are set up. Taking over new channels into the parameter
mac-8 RE30156-01 107
ECL – Programming System

list is not possible. The Trend monitoring has to be stopped before making changes.
After the takeover (OK) the Trend can be immediately restarted with the corresponding
button. (More description: see button for starting Trend.)
Theoretically it is possible to put in as many curves as you want. Putting in too many
channels would however be too complex, and the adjusted time sampling rate wouldn’t
work anymore.

Settings Trigger for Trend

Condition: The trigger settings, shown on the left, can


have different conditions.

TIME With the condition time you setup the sampling


time for Trend recording. Compliance with the
sampling time is not assured in case of too
many trend channels respectively too short
time input. If time equidistant recordings are
necessary, you have to use the DTRACE func-
tion!
A=B Condition value variable A equal value variable
B

A <> B Condition value variable A not equal value


variable B

A>B Condition value variable A bigger than value


variable B

A<B Condition value variable A lower than value


variable B

A >> B Condition value variable A exceeding value


variable B. The recording doesn’t start until a
transition succeeded. This means that the re-
cording is not started if at the time of activation
of the recording(pressing button ), value A
is already bigger than value B.

mac-8 RE30156-01 108


ECL – Programming System

A << B Condition value variable A falls below value


variable B. The recording doesn’t start until a
transition succeeded! This means that the re-
cording is not started if value of variable A was
smaller than value of variable B at time of acti-
vating the function (pressing button ). A has
to exceed B first and the recording starts at
next undershooting of B.

Sample time [ms]: With trigger condition TIME you setup the
sampling rate of time for the Trend in millisec-
onds. The system tries to stick to it all the time
but is not able to do so. In case of too many
Trend channels the system cannot stick to the
sampling rate at all. If time equidistant line re-
cordings are necessary, you have to use the
DTRACE function!

Variable A: Here you select the trigger variable A. You


select the variable out of the list of defines
(see at left hand side) or you fix it by directly
entering a MAC-8 –variable. In contrast to
DTRACE it is also possible to use A, S, P or R
variables for the Trend. At P – variables you
have to give the corresponding number of the
program in brackets. (P000(1) – P-variable 0
of parallel program 1).

Variable B: Here you select the trigger variable B. You


select the variable out of the list of defines
(see at left hand side) or you fix it by directly
entering a MAC-8 –variable. In contrast to
DTRACE it is also possible to use A, S, P or R
variables for the Trend. At P – variables you
have to give the corresponding number of the
program in brackets. (P000(1) – P-variable 0
of parallel program 1).

The last member of setup window for the Trend is a text array Description, in which
remarks to the actual Trend are possible.

mac-8 RE30156-01 109


ECL – Programming System

Button to add a new entry to the actual table of monitoring


channels. Selection of this function is only possible when
Trend is not started. This concerns also the following ex-
ample for a direct overwriting of a new monitoring channel !

Add a new entry: selecting a variable in source or variable window by marking or sim-
ple mouse click (setting cursor) and afterwards switching of the button .
A new channel entry can also be created
with double click in the next free line (column
NAME) of the setup window and then select-
ing a signal of the define-list.
A manual entry is also possible. Write di-
rectly a MAC-8 variable name to the column
NAME.

Button to delete a Trend channel. The function is only pos-


sible when the Trend function is not started!

After pushing the button the actual selected Trend is started


and the Trend window is opened.

mac-8 RE30156-01 110


ECL – Programming System

At the picture above we can see the beginning of one Trend recording with a duration
time of one minute. The resolution of the signals is not ideal. By pushing the function
(double lasso) the view should improve.

Here the recording is already more meaningful than before. With the help of correspond-
ing zooming of the view it’s possible to see all monitored measuring points (optimized
view).

mac-8 RE30156-01 111


ECL – Programming System

With the button the view of the window is up in front all the time. This applies for any
current windows application!

With the button the legend of the trend can be shown (see following picture) or
switched off:

Trend with switched on legend. The legend shows any recorded Trend channel with its
actual process values. Moreover you can switch a channel on or off with the checkbox.
After such an action you can again switch the legend off in order to get a bigger view of
the Trend .
mac-8 RE30156-01 112
ECL – Programming System

You save the current Trend with: Settings for Trend monitoring at WINVIEW pro-
gram.

For each setting the saving takes place (here Exercise1) in an own directory with the
name of the setup file (here Exercise1).

After pushing the button the currently running Trend record-


ing will be stopped.

1.5.3.8.1 Functions with right mouse button

The left shown menu window opens by


clicking the right mouse button in the
setup window of Trend. With close the
active window will be closed, New win-
dow is not possible, because only one
actual Trend is allowed!

Windows Standard Settings


Display of window for setup for Trend will be set to its standard settings. Changing of
column dimensions can be carried out like for all MS Windows applications (EXCEL;
ACCESS, WORD tables etc.) by drawing the limit lines with the mouse. Further dele-
tion or addition of columns is possible. All these changes can be canceled with the
function Windows Standard Settings.
mac-8 RE30156-01 113
ECL – Programming System

Select Columns

With this function it’s possi-


ble to define the displayed
table of the Trend setting
variable from a defined stock
of columns (see left hand
side). Useful design of the
display is at responsibility of
the user!

Copy and paste values


One or more selected lines from the Trend setup can be copied to clipboard with func-
tion Copy (or also key combination <Ctrl> + <C>) and inserted to newly selected posi-
tion in the Trend setup or at window of Mix variables with function Paste (or also key
combination <Ctrl> + <V>). It’s also possible to insert the copied lines into a source
file. However this is less useful (see also same function at Functions with the right
mouse button of MIX-variables).

Delete From Trend


This function deletes an entry at Trend setup window (or also key combination <Ctrl> +
<Alt> + <Y> or button ).

New Trend Variable List


This function creates a new empty setup list for the Trend.

mac-8 RE30156-01 114


ECL – Programming System

Load Trend Variable List...


One member can be loaded from the list of saved Trend setups

Save Trend Variable List...


Saving actual setup window for Trend under a filename. Standard directory ../Trend will
be created and saved as project subdirectory. Use a meaningful file name for the
Trend setup at all times.

Remark for using menu with right mouse button


At running Trend recording not all
functions are usable (see left hand
side).

mac-8 RE30156-01 115


ECL – Programming System

1.5.3.8.2 Error messages

Trend was broken off


Trend monitoring was cancelled due to an
incorrect assignment. This happens when
you close WINVIEW at a running Trend re-
cording.
Always stop theTrend first, before closing the
WINVIEW window.

mac-8 RE30156-01 116


ECL – Programming System

1.5.4 Program editor

1.5.4.1 General

ECL – Programming System has its own editor with syntax highlighting in the so called
„View“ – window (highlight switching at checkbox in menu Options – Options – Source)

(View of editor window – all source files are placed in register except DTRACE.ECL –
actual view is main program module EXERCISE1.ECL)

After starting Programming System: Source file of main module of current program and
corresponding path is displayed in register’s title bar of the program. Other entries to
editor register will be carried out with mouse click at source files in the project tree.
Through switching the register the corresponding file will come to the fore to be edited
The paths in the title bar will change accordingly.

mac-8 RE30156-01 117


ECL – Programming System

(line numbers related to shown module)


Program lines at left margin are related to its module (see above) or to the translated
project (see below). These options are selectable at menu: „Options – Options –
Source“.

(line numbers related to full project)

Editor is in insert mode per default. All settings at menu: „Options – Options –
Source“ (see manual capture 5.2.6.1.2). After finishing changes at the source files the
project must be compiled again with the icon bar or at the menu line „project“. Only
the changed functions will be re-compiled after selection at menu „Options – Options
– Projects – incremental compiling active“. Otherwise the whole project would be
compiled. Afterwards the system asks to transfer the code file to MAC-8. Data transfer
takes place incrementally only for the changed parts or for all parts if the option was
not selected. independent from these settings it is possible to transfer all programs via
- Project .

1.5.4.2 General handling of the editor

The line numbers of the file are marked red as soon as there were any changes in a
module. With the UNDO function you can cancel everything until the last saving.

mac-8 RE30156-01 118


ECL – Programming System

The file entry under SOURCE FILES appears red in the project tree as long as it was
not yet compiled

If you don’t carry out a compiling in the current project of this file, you will be asked to
do so at the next program start. The entry remains red if you don’t accomplish the re-
quest.
Ordinary operating editor possibili-
ties like ‘marking, copying, delete
and insert ‘ match the general
handling of MS Windows and shall
not be described in detail here.

All other striking operating features of this editor are executed with the right mouse but-
ton and are described in the following chapter.

Show ECL syntax help function


After first input of any sign, ‘syntax help function window’ opens if selected at menu line
Options – Options – Settings for source (see description there). This is also possible
with functions with right mouse button Show syntax help (see description there) or also
with key combination <Ctrl> + <space>.

mac-8 RE30156-01 119


ECL – Programming System

Syntax help only delivers suggestions for syntactic right notations of the command line
if a command key word was inserted. In the example it is FORCE for ‘force or pres-
sure regulation’.

The rest of the editor’s operation features are carried out via the right mouse button.
They are described in detail in the following chapter.

1.5.4.3 Functions of the editor with right mouse button

On the left you see the menu win-


dow for functions with right mouse
button. They serve the editor func-
tions but can also be used for de-
bugging the project.
All items are described in detail
here:

Close window
Close the whole editor window (View) with all currently opened source files.

Show trace
Function opens TRACE window of last selected running program under
PROGRAMMS at project tree. This also happens when the program is not
running anymore. Switching from View to Trace mode also works with key
combination <Ctrl> + <Enter>. However, switching from Trace to View mode
with right mouse button „Show VIEW“ is always related to its program mod-
ule.

mac-8 RE30156-01 120


ECL – Programming System

Open file...
Open new file (see also 5.2.2.2). Key combination <Ctrl> + <D> has same
effect.

Close file
Close actual active file (see also 5.2.2.5). Key combination <Ctrl> + <S> has
same effect.

Cut
Cutting the selected text from active source file to clipboard. To reach this:
mark the text (lines or sector) – move mouse pointer – then click right mouse
button to selected text and start function Cut (mouse click). Key combination
<Ctrl> + <X> has same effect

Copy
Copy selected text from source file to clipboard. Key combination <Ctrl> +
<C> has same effect.

Paste
Insert contents from clipboard to selected place at source file. Key combina-
tion <Ctrl> + <v> has same effect.

Convert font
Function converts currently opened file to MS Windows font. This is neces-
sary at files with misrepresented German vowel mutation (e.g. MS DOS for-
matted). Avoid to repeat the functio! At the command menu Options „Op-
tions – Source –Convert MSDOS source file“ has to be deselected before!

Format Source
This function is formatting the whole selected file or a highlighted area into a
clearly arranged view according to a preset model. For setting the format op-
tions a new window is opened after activating the format function. The format
function is a help in order to eliminate differences in the structure of the
source files.

mac-8 RE30156-01 121


ECL – Programming System

Source format settings

Indent commands If this item is selected each new level will be


indented by n signs to the previous one ( in
the example: 2). The indent is fixed at input
box Level tab.

(Example for indent for different command levels)

Indent block parenthesis If this item is selected the block brackets or


parenthesis is set to the column for indenting
the level (see following ex.) Otherwise to the
column for indenting the leading command
level (see ex. above).

(Example for indent brackets belongs to column of the block)

mac-8 RE30156-01 122


ECL – Programming System

Indent comments With this selection the comments will be


aligned according to the three attitude crite-
ria at the formatting function ( see left at
comment window):
Standard column determines the alignment
of the comments, if possible (here at column
40).
Standard end determines the column, from
which a comment should be ready.
Comment tab determines the number of
space from which the tab button switches in
the editor field.
Procedure of the comment alignment
The alignment of the previous comment is regarded as first order criterion.
If this is impossible (ex. command longer than start column of comment be-
fore), it is directed to Standard column, as long as the comment does not
exceed Standard end. If this is not possible either, it is directed to the next
Tab position after command line end. First, it will be tried to direct the first
comment of the source file part, which should be formatted (first in file, or
first in highlighted part of file),to the Standard column (see also description
before).

Format command case With this selection the notation of command


lines of ECL will be formatted. Various com-
mands like include or module are only pos-
sible in small letters. Following settings are
possible for formatting:
Standard changes all possible commands to
capital letters. Functions for real-operations
(sin, cos, sqrt,...) and parameters of table
functions (f/t, s/x, ...) are always written in
small letters.
Lower case changes all possible commands
to small letters (all of them therefore).
Upper case changes all possible commands
to capital letters (unless include, module, ...
– which are written small under the standard
mentioned, however also in capital letters).

Format variable names These selection is formatting the notation of


MAC-8 standard variables (V, N, A, S,....).
The variable type is always written in capital
letters and numbers are filled up with zeros.

mac-8 RE30156-01 123


ECL – Programming System

Examples:
before:
afterward:

a0[1]
A000[1]

v0.1
V000.01

n3.2
n03.02

Delete multiple spaces Syntactically not required blanks are deleted


in command lines. If you manually aligned
the equal sign in columns of set command
lines this cognizant alignment will get lost!

Set block comment


For all selected lines from the source file a block comment is set. At the lower
picture lines 4 to 6 are chosen as an example for a block comment.

To reach that: select lines – move mouse pointer to marking – use right
mouse button and select function Set block comment there.

Cancel block comment


Bring all selected block comment lines back to command lines. Cancel the
„;!“ command for comment. At the lower picture lines 4 to 6 are chosen as an
example for a block comment

mac-8 RE30156-01 124


ECL – Programming System

To reach that: select lines – move mouse pointer to marking – use right
mouse button and select function Delete block comment there.

Syntax selection
With this function, or key combination <Ctrl> + <Page↓>, you can use syntax
assistance during program creation at the editor. This is explain in the follow-
ing example:
Example:

After line break at line 22 empty line 23 was created. Afterwards function
Syntax selection was activated and the selection window was opened with
first entry (on top of list). Input command of the editor is now switched on
window for syntax selection (first entry). With the right scroll bar (not shown
in view before) it is possible to move the selection downward until reaching
the designated command (see next picture).

mac-8 RE30156-01 125


ECL – Programming System

Here force command FORCE is used with increasing force by means of time
ramp TIME. With double click or enter button (↲ ) the command structure will
be taken over into empty line:

The Command in line (line23) (shown in picture above) has to be fulfilled


concerning <axis>, <num. Term> for the force value and <num. Term> the
time ramp. This was done in the following picture:

mac-8 RE30156-01 126


ECL – Programming System

This provides beneficial hints on the syntax to an inexperienced programmer.

Show syntax help


With this function or the key combination <Ctrl> + <Space> the syntax help
is shown. After selecting ECL-syntax help function by menu command op-
tions – options… – source, the function is not longer possible with functions
with right mouse button at the editor, but directly shown during editing (see
also capital General handling of the editor respectively menu line – Options –
Options… – Source options).

Example:

IN this example the FORCE command is inserted by the programmer at line


21. He possibly can not remember the correct syntax or wants to check pos-
sible commands.

mac-8 RE30156-01 127


ECL – Programming System

By activating the function Show syntax help the yellow window opens, in-
cluding all variants, at the position of the FORCE command. If calling this
function at an empty line or a line with undefined contents, the window opens
at the beginning of the help list. With the right scroll bar it is possible to move
through the whole list (Scroll bar is not shown in the view of the example).

UNDO
With the UNDO function or the key functions <Ctrl> + <Z> all changes can
be cancelled step by step until the last saved state of the file. As long as last
done changes are valid the line number are displayed in red color.
(also see General functions of the editor (see above)).

REDO
This function or the key function <Shift> + <Ctrl> + <Z> can restore the can-
celled(UNDO) function. Each step REDO cancels one UNDO step.

Find...
General search function. Described at menu commands ( see capture
5.2.2.6) and button keys (see capture 5.3.2). Key combination <Ctrl> + <F>
has same effect.

Replace...
General search and replace function. Described at menu commands ( see
capture 5.2.2.7) and button keys (see capture 5.3.2). Key combination <Ctrl>
+ <H> has same effect.

Repeat
Repeat search and replace function. Described at menu commands ( see
capture 5.2.2.8) and button keys (see capture 5.3.2). Key combination <Ctrl>
+ <R> has same effect.

Match Parenthesis
Function makes it possible to match parenthesis. It can be applied in differ-
ent ways. Key combination <Ctrl> + <K> has same effect.
Starting the function in a source file anywhere located (see picture below):

mac-8 RE30156-01 128


ECL – Programming System

Cursor jumps to the first (upper) bracket and marks it (see picture below). If
the cursor was not located in a command block, there is no match (mostly at-
tached with an acoustically signal).

At the next ‘function call’ the mark jumps to the end of command block ( see
following page).

Toggle Bookmark
This function toggles a bookmark anywhere at the open source file. Key
combination <Shift> + <Ctrl> + <0..9> has same effect. (see below).

mac-8 RE30156-01 129


ECL – Programming System

Bookmarks serve for a better program overview and allow a targeted jumping
to the marked line later. Put one used bookmark (number) to another line
simply moves the mark. The new mark is now valid and the old mark location
is canceled.

Deletion of an existing bookmark is carried out through repeated setting into


the corresponding line!

Show Bookmark
With this function you jump to program line of the currently open source file
with the corresponding bookmark. Key combination <Ctrl> + <0..9> has
same effect (see below).

mac-8 RE30156-01 130


ECL – Programming System

Change Debugmask..
This debug function is usable for changes of debug mask as described at
capital menu line Debug (5.2.5.7) and button keys (5.3.6). Key combination
<Ctrl> + <D> has same effect.

Add to MIX
Adds marked variable to currently open or active MIX view as described at
menu line Variables – Add to MIX (5.2.3.11) and button keys (5.3.4). Key
combination <Ctrl> + <Alt> + <Z> has same effect.

mac-8 RE30156-01 131


ECL – Programming System

1.6 Design an ECL program

1.6.1 Create new project

After calling up the ECL Developing System it is possible to create a new


project at menu line Project – New. Therefore system takes a duplicate from
the defined project template as a basis for the new project. The proper han-
dling is described in the capital menu line Project – New (5.2.1.1).
If you use a project assistant (not yet officially available) for creating the ba-
sis program, a project template is used here as well.
Be sure to have an usable template for your project!

1.6.2 Compiling project and transfer of code file to MAC-8 control

After creating this basic program frame it should compiled and transferred to
the MAC-8 control. Usually this takes place automatically at the take-over of
the new project into ECL respectively at the first program generation in the
project assistant. Project specific program design follows now.

If any kind of error occurs, an error file opens automatically.

(Errors after compiling, error at MANUAL.ECL – red name source files)

mac-8 RE30156-01 132


ECL – Programming System

After confirmation of the compiler window above, the error file is displayed.

(Error file with one error at file Manual.ecl and one warning at file Pos_Check.ECL)
Line numbers shown in the error file always refer to the Module line ( not to
the project line). With double mouse click on the corresponding entry the cur-
sor automatically jumps referring line. Then a ( ) appears as a warning or
error indicator on the left, instead of a line number.

mac-8 RE30156-01 133


ECL – Programming System
(see jump to warning at Manual.ECL– see also difference between project and module line!)
A warning is not an error, but represents discrepancies like shown in the last
example – in which a function was declared but never used.

1.6.3 Create new project modules

Depending on the project template, new project modules for operating


modes or other interrelated jobs have to be created by the customers them-
selves. In general you don’t have to create more than one module for a proj-
ect. However it would be useful to partition the project into several modules
for a better overview and therefore a better understanding of the program
structure.
Therefore you create a module for the main program containing logical ap-
pending sub functions. Usually you name it after the project. (in example:
Exercise1.ECL). Each operating mode should have its own modules like
automatic, manual and emergency mode. Also one module for DTRACE (in-
tegrated oscilloscope function), one for PROFIBUS handling, one for error
monitoring (mostly Check.ECL) and maybe several matching independent
program parts (depending on application been different).
Normally all modules for the project template already exist as frame pro-
grams, although you will possibly have to create modules manually.
Therefore you have to produce a new program file at menu line File – New
(see capture 5.2.2.1). After creating the file and the first meaningful, append-
ing and executable program parts for this module , you have to save it under
its new at menu line File – Save as (see capital 5.2.2.4).
Now the module has to be linked to the main module with ECL command
#MODULE <filename> in the source of the main module. Read the guidance
in the "ECL-Command Set" manual!
At last you have to compile the project. You can find the new module as a
new entry at project tree under SOURCEFILES.

1.6.4 Example for the creation of a new module: automatic mode

Create new file


Open a new file with button key or menu File – New.

mac-8 RE30156-01 134


ECL – Programming System

(File1 with frame program for mode automatic)

Programming code for new module (only frame program)


At the picture above the newly created file (File1) is displayed with one pos-
sible frame for the automatic operation mode that is to be created. You
should always create such a frame first, then integrate the module to the pro-
ject and compile it at last. Thereby you can find out whether the module is
correctly bound into the project.

Save module under corresponding name


The module is saved as file Auto.ECL:

mac-8 RE30156-01 135


ECL – Programming System

After saving syntax highlighting is active but the source file is not yet bound
into the project.

Link module to project


New module has to be bound into project with command #module and sub-
routine call (see Step 2). Necessary flags and inputs of the new module have
to be declared (define) with valid instructions before! The syntactic procedure
has to be looked up in the manual "ECL command set"!

Step 1: declare variables at global definition file DEF.ECL:

Step 2: create program sequences for module bonding to project:

mac-8 RE30156-01 136


ECL – Programming System

Module Auto.ecl is bound into project at line 4, call up of parallel subroutine


of process mode automatic starting at line 24 and termination of the parallel
program in case of new process mode or fault situation at line 32.

Compile project and send to MAC-8


Now project has to be compiled and afterward transferred to MAC-8.

The new module has now an entry at SOURCE FILES in sequence of decla-
rations (see sequence of #module commands in main module!).

mac-8 RE30156-01 137


ECL – Programming System

1.6.5 Application shared out to several Slots

It’s possible to share the running program to several slots. Normally each slot
program has its own independent job. On principle each slot has an own pro-
ject. By switching over slots ( see captures Menu line – Debug – Select
slot… or Icon bar – Debug ) the operator is responsible to select the correct
*.bug file for the project.

1.6.5.1 Arrangement of projects to the slots

At the following example slot 1 owns project Main_Slot1 and slot 3 project
Main_Slot3. First it is shown without group:

(Project tree of slot 1) (Project tree of slot 3)

At switching over slot number there is no automatic loading of the accessory


BUG file. Correct accessory BUG file must be done by users himself. See
what’s happening at drawing next page:

mac-8 RE30156-01 138


ECL – Programming System

Although after switching over slots it


is clearly displayed which project is
on slot 3, the corresponding Bug File
for the PC is not assigned. Automatic
switch over to correct slot project is
only possible by creating a project
group!

After creating a project group, the correct assignment of project on the con-
troller to source files on the PC will be done automatically, like mentioned be-
fore. Therefore single projects from the example (above) have to be summa-
rized to one group like follows:

Creating a project group


This functionality is possible from version 1.404 of ECL – Programming Sys-
tem.

With right mouse button at project tree in


PROJECT INFO and selection New project
group… the creation of a project group starts.

mac-8 RE30156-01 139


ECL – Programming System

At window above the project group will be created with file name “Datei-
name” (here Exercise1) and afterwards press button Speichern” for saving “.

Now PROJECT GROUP has only


created one member with slot 1
for group Exercise1 !
Now all other slots with running
ECL programs have to be added.
(In our example only one for slot
3)

(Project group after creation at slot1)

Edit project group – add projects to existing group


This takes place by right mouse click
at project tree in the sector PROJECT
INFO

mac-8 RE30156-01 140


ECL – Programming System

At the window Edit project


group it’s possible to add
new projects to the corre-
sponding slots. For our ex-
ample it has to be an entry
to slot 3

Therefore mark line slot 3 and switch button New.

Enter corresponding BUG – file at window before (here BUG for slot 3) and
press button Öffnen.
Afterward window for Edit project group will be shown (see picture below)
with the new entry and taken over with button Ok.

mac-8 RE30156-01 141


ECL – Programming System

After taking over for slot 3 the


members for the single slots are
shown in the project tree. The
entry for the actual selected slot
is placed in bold letters at
PROJECT GROUP.

(project tree for selected slot1)

If slot is switched over now , load-


ing of the corresponding BUG file
takes place automatically!

(project tree for selected tree 3)

1.6.5.2 Characteristics for ECL – programs on slave cards

Actually this chapter is a member of manual ECL programming language but


shall being mentioned briefly under chapter Application shared out to several
Slots.
Division of the NC application requires funded system knowledge for MAC-8
and was so far only carried out by Bosch Rexroth specialists.
If an application on slave cards is necessary, please consult a MAC-8 spe-
cialist from Bosch Rexroth.
Existing applications, which are apportioned to several slots and have not yet
gotten together as a project group, are excluded from the former rules. This

mac-8 RE30156-01 142


ECL – Programming System

is valid from version 1.404 of ECL – Programming System. Without grouping


a debugging of projects on several slots is quite complex.
The different treatment of ECL programs on master and slave cards is
founded in different access to the system areas with both types of processing
cards. Only master has full access to all system variables. All other variables
have to copy from or to the corresponding slot. This is only a short remark to
this theme!

mac-8 RE30156-01 143


ECL – Programming System

1.7 Debug

To test ECL program you can run it step by step. Therefore use key <F4>, or button
key only at switched on debug mode ( ).
In bigger programs it is advisable to set a break point before the supposed error. It is
possible to set breakpoints at view and at trace window of the source code. Locate the
target line by mouse or keyboard buttons <PageUP>, <PageDown>.
To set the breakpoint use mouse double-click at line number (left margin), or use key
combination <CTRLL> + <b>, or at button key "Show or delete breakpoints" ( ).
Breakpoint ' ' - ' ' shown instead of line number. Deletion of a breakpoint works as
setting one (toggeling switch).
Stopping all parallel programs with status debug as soon as NC interpreter has to exe-
cute line with breakpoint entry.
Now its possible to work on program in single step run by clicking on button key , or
pressing key <F4>. NC interpreter executes one line at each of the parallel running
programs and waits for the next step forward.
If the actual execution line contains a subroutine call it is possible to jump over the
subroutine ( execute function in one step) with key , or key <F5>.
This functionality prevents from unnecessary running through iteration steps of any
subroutines at single step run.
If any program is not stopped at debugging, it is possible to do so with the debug mask.
After choosing the menu Debug – change Debugmask or button key you can de-
liberately exclude any parallel working programs from debug mode. This selection has
to be done before switching on debug mode. Anew selection will reactivate debug
mode.
Attention:
Breakpoints are managed at MAC-8. Breakpoint are still active after restart of the ECL
developing program. Reset of MAC-8 or new program transfer to MAC-8 cancels all
breakpoints.
The ECL program starts from its beginning with key combination <CTRLL> + <F1>
(starting ECL program). Existing breakpoints are still active!
To set breakpoints is only possible at ECL command lines which are executed from NC
interpreter. It’s not possible to set blank lines, comment lines, multi-lines (only at the
first line of such commands) or lines of compiler instructions.
All functions of the Debug Mode are described more detailed at chapter menu line –
Debug or at capture Button Keys – Debug.

mac-8 RE30156-01 144


ECL – Programming System

1.8 Appendix

1.8.1 Problem help

Program can not be started by button key or. key combination <Ctrl> + <F1>
The Debug mode is turned off.
Parallel program not in mode Debug

Program doesn't break at the breakpoint


Parallel program not in mode Debug
Command line not suitable for breakpoints

It’s not possible to set breakpoints.


The Debug mode is turned off.
Parallel program not in mode Debug
Command line not suitable for breakpoints

It’s not possible to show any variable windows


ECL Developing System operating OFFLINE
ECL program was not started yet

It’s not possible to turn ECL Developing System ONLINE


Connection's PC <->MAX 8 disturbed
Wrong PC interface selected (COM1 ... COM4)
MAC-8 not running (turned off)
MAC-8 at system error (red LED TEST)
A wrong baud rate was adjusted

System shows message "The system cannot find the given file" at Open Project
Notified source files was renamed or deleted and should be still an element
of the project. Then search for the lost source file and bring it back to neces-
sary project directory and try to load the project again. If the source file was
renamed, check the #module command for that file at main module (Names
must be identical!) change names if necessary and compile the project
again.

mac-8 RE30156-01 145


ECL – Programming System

Notified source file was consciously deleted at the project. Then check
#module command for that file at main module (entry should also deleted
here!) and compile project again.

1.8.2 Compiler Options

Call: EC <ECL-Filename>[<Options>]

Options:

/#<file> Detail definition file (default EC_V6X.DEF),


/!<file> Producing definition profile newly,
/n create new definition pro file,
/i incremental compile,
/s only syntax check,
/w show warnings,
/e Producing failure history file,
/f Writing down error messages on Source,
/l Producing list file,
/r Producing reference file,
/p Producing buffer file,
/t Producing text substitute file,
/z create debug note file (not at /s),
/m Producing Source- Code- Mix file (not at /s).

1.8.3 Serial Interface

A RS232 interface is put on the Board of the MAC 8 on each regulating card. A special
cable is necessary for connection.
There is one serial RS485 interface for 2 axes versions accessible at the front panel.
(X*.11A for slave or master card without PROFIBUS or X*.11C for master card with
PROFIBUS). For 4 axes versions there are two RS485 interfaces accessible (X*11A
and X*11C).

Interface parameters for data transfer are:

Baudrate: 9600 (recommended)


Transmission 8 bit
Parity none
Stop bits 1

mac-8 RE30156-01 146


ECL - Command set

Contents
2 ECL command set............................................................................................ 3
2.1 Notes ........................................................................................................ 3
2.1.1 Notes about the software version ...................................................... 3
2.1.2 Notes on reading the syntax description ............................................ 3
2.2 The data organization of the MAC-8......................................................... 4
2.2.1 The boards arrangement ................................................................... 4
2.2.2 Numeric constants and variables ....................................................... 4
2.2.3 Fields ................................................................................................. 5
2.2.4 REAL constants and variables ........................................................... 6
2.2.5 Logical constants and variables ......................................................... 6
2.2.6 Sign and operators............................................................................. 7
2.2.7 Identifiers used in the command description...................................... 8
2.3 Compiler instructions ................................................................................ 9
2.3.1 ";" <text> ............................................................................................ 10
2.3.2 "#include" <filename> ....................................................................... 10
2.3.3 "#modul" <filename>......................................................................... 10
2.3.4 "#define" <name> <text> ................................................................. 10
2.4 Program run control.................................................................................. 11
2.4.1 IF ELSE instruction ............................................................................ 11
2.4.2 WHILE loop........................................................................................ 11
2.4.3 {..} instruction block.......................................................................... 12
2.4.4 [..] command bundle ....................................................................... 12
2.4.5 BEGIN END program definition.......................................................... 13
2.4.6 Jump / Label ...................................................................................... 13
2.4.7 EXIT................................................................................................... 14
2.4.8 START/STOP PROG......................................................................... 15
2.4.9 BREAK/CONT PROG ........................................................................ 15
2.4.10 WAIT wait instruction ......................................................................... 16
2.5 Data manipulation..................................................................................... 17
2.5.1 DIM field declaration .......................................................................... 17
2.5.2 COPY copy function for fields ............................................................ 18
2.5.3 SET assign variable ........................................................................... 18
2.5.4 MSET assignment.............................................................................. 20
2.5.5 PSET assign local variable ................................................................ 20
2.5.6 EXCHANGE date exchange .............................................................. 20
2.5.7 SAVE STATUS save status ............................................................... 21
2.5.8 MAXCODE extension of the program range ...................................... 21
2.6 Axis/process functions: ............................................................................. 23
2.6.1 AXINIT initialize axes (command) ...................................................... 23
2.6.2 AXSET taking over axis data (command) .......................................... 23
2.6.3 LOCK axis servo control (system flag)............................................... 23
2.6.4 UNLOCK enable axis servo control (system flag) .............................. 24
2.6.5 EQUIT acknowledge axis error .......................................................... 24
mac-8 RE30156-02 1
ECL - Command set

2.6.6 STOP interrupt axis movement (system flag) .................................... 24


2.6.7 HALT interrupt axis motion (system flag) ........................................... 25
2.6.8 POS HAL interrupt axis motion (system flag)..................................... 25
2.6.9 BREAK interrupt axis motion (system flag) ........................................ 25
2.6.10 CONT continue axis motion (system flag).......................................... 26
2.6.11 ACC define axis acceleration ............................................................. 26
2.6.12 VEL define axis velocity ..................................................................... 26
2.6.13 OVER define axis override................................................................. 27
2.6.14 POS move axis to position (command).............................................. 27
2.6.15 Drive axis by directly overwriting the set point values ........................ 40
2.6.16 FREEZE Velocity of the axis movement freeze up ............................ 44
2.6.17 LIN linear interpolation (command) .................................................... 47
2.6.18 TABLE DIM (command)..................................................................... 48
2.6.19 TABLE (command) ............................................................................ 48
2.6.20 POS TABLE table function (command).............................................. 51
2.6.21 FORCE control (command) ............................................................... 51
2.6.22 VIRTUAL axis (command) ................................................................. 53
2.6.23 DAC voltage output (command)......................................................... 55
2.6.24 SYNCH Synchro mode (command) ................................................... 56
2.6.25 FUNC axis function (command) ......................................................... 65
2.6.26 SIMU simulation (command).............................................................. 66
2.6.27 HOME travel to reference point (command) ...................................... 66
2.6.28 START REGLER controller function (command) ............................... 67
2.7 Measured value acquisition ...................................................................... 69
2.7.1 TIMER time counter ........................................................................... 69
2.7.2 TRACE oscilloscope function............................................................. 69
2.8 Dialog commands ..................................................................................... 72
2.8.1 DIALOG ............................................................................................. 72
2.8.2 WINDOW ........................................................................................... 73
2.8.3 DISPLAY............................................................................................ 74
2.8.4 INPUT ................................................................................................ 75
2.8.5 LEVEL................................................................................................ 75
2.8.6 READ_KEY........................................................................................ 76
2.8.7 SSET ................................................................................................. 76
2.9 Special commands ................................................................................... 77
2.9.1 CALL Address.................................................................................... 77
2.9.2 START/STOP TASK .......................................................................... 77
2.10 Hints ......................................................................................................... 78
2.11 List of N variables ..................................................................................... 79
2.12 Description of the N variables................................................................... 82
2.13 Nx.43 : Switch for controller configuration ................................................ 87
2.14 List of axis status flags.............................................................................. 89
2.15 Description of the axis status flags ........................................................... 90
2.16 Key code list for BB3 ................................................................................ 93
2.17 Key code list for BE1 ................................................................................ 94

mac-8 RE30156-02 2
ECL - Command set

1 ECL command set

1.1 Notes

1.1.1 Notes about the software version

Validity of the ECL command from


Debugger Version 5.xx wherexx.x the
version number
Validity of the ECL command from
Windows-Debugger Version
1.xx.x where xx the version number.
Validity of the ECL command from
Eprom Version 5.xxwhere xx
the version number

1.1.2 Notes on reading the syntax description

" " Characters specified between inverted commas are required


syntactically. Both lower case and upper case characters can
be used.
< > Numerical ranges or space holders are specified between
pointed brackets.
{ } Character chains or parameters enclosed by curly brackets
represent a selection. The individual selection elements are
separated by "|".
{ }x The parenthesized selection can be repeated arbitrarily
often.
[ ] Character chains or parameters enclosed in straight brackets
are optional selections.
[ ]x The parenthesized optional selection can be repeated
arbitrarily often.

mac-8 RE30156-02 3
ECL - Command set

1.2 The data organization of the MAC-8

1.2.1 The boards arrangement

The MAC-8 includes different types of variables. These variables are located partly on
master card and partly on slave cards. The variables are always addressed by their
character code followed by board number or variable number. The precise bit or field
element is then specified behind a point. All variables have a width of 32 bits.

Axes: Nr.0-31
In/Out Cards Nr.0-7

Example:

I0.9 addresses input No. 9 on In/Out Card 0.


N3.2 addresses the system variable 2 on axis 3 (actual
position)
V010 addresses the V-variable No. 10
V1.2 addresses the 2.Bit of the V-variable 1an
F3.1 addresses the 1.flag of the axis No.3

See the list of the N-variables in appendix.

1.2.2 Numeric constants and variables

<pos. constant> {"0X" <hex: 0-FFFFFFFF>|<dec: 0-4294967295>}


Constants can be specified in either decimal or
hexadecimal form.
<axis> X" <dec: 0-31>
Predefined constants for axis identification in axis
commands.
<standard variable> "V"<dec: 0-255>
Variables that are known globally in the ECL program
can be
used generally.
"V" "[" <num. Term> "]"
Variables that are known globally in the ECL program
mac-8 RE30156-02 4
ECL - Command set

can be
used generally.
<local variable> "P" <dec: 0-15>
Variables that are available locally in every parallel
ECL program.
<log.Variable> "F" <dec: 0-31>
"O" <dec: 0-7>
"I" <dec: 0-7>
"F" "[" <num. Term> "]"
"O" "[" <num. Term> "]"
"I" "[" <num. Term> "]"
All flags at a time (axis status flags, outputs or inputs)
of the axis or card are addressed as 32 Bit word.
<log.variable> "F." <dec: 1-32>
"O." <dec: 1-32>
"I." <dec: 1-32>
One flag on all boards is addressed in parallel.
<systemvariable> "N" <dec: 0-31> "." <dec: 1-48>
"N" "[" <num. Term> "]" "." <dec: 1-48>
"N" "[" <num. Term> "]" "." "[" <num. Term> "]"
The process data of the axis can be addressed with
the <system
variables> of axis 0-31. (see list of N-variables in the
appendix).
"N" <dec: 0-31> ":" <dez: 1-48>
"N""[" <num. Term> "]" ":" <dec: 1-48>
"N" "[" <num. Term> "]" ":" "[" <num. Term> "]"
Colon ":" means the process value is accessed
without conversion ( internal display). This is only
used in connection with allocations of identical types,
since the computing time is omitted.

1.2.3 Fields

<data field> "A" <dec: 0-127> "[" <num. term> "]"


A limited number of data field elements is available on
the Master/Slave Unit and can be apportioned with
the DIM instruction (see command DIM).The first field
element has the index zero.
"A" "[" <num. Term> "]""[" <num. Term> "]"
<system> "S" <dec: 0-32> "[" <num. Term> "]"
parameter> Field with the initialization values of the axis. The
fields each have a size of 100 elements. The digits 0-
31 represent the axis number. Spanning system data
are stored in the field with number 32 (see chapter 5).
mac-8 RE30156-02 5
ECL - Command set

The first field element has the index zero


"S""[" <num. Term> "]""[" <num. Term> "]"

A term can be specified as index for all field accesses. The index always
counts from zero. The index limits are not checked!

1.2.4 REAL constants and variables

<REAL-constant> { ±1.7 • 10 308 }


REAL constants must be written with decimal point or
in exponential form. However, there are some
restrictions for applying them.
<REAL-variable> "R" <dec: 0-31>
32 real variables can be used in the ECL-Program.
However, there are some restrictions for applying
them.

When carrying out calculations you can use either only real variables or only
integer variables on the right side of the equal sign. At assignments of an
integer variable to real variable and reverse a conversion is carried out
automatically. Using real variables within commends not possible.
At the conversion of real variables into integer variables the decimal point
places are cut off.
Additionally to the four basic calculation types there are the following
functions available for ‘Real calculations’:

angular calculation: SIN, COS, TAN, ASIN, ACOS, ATAN with radians as
angular measurement (RAD)
square root: SQRT

example:

SET R01 = 625


SET R02 = 3.141592654 / 4. ; value in R02 is 0,7854
SET R03 = SQRT(R01) * ; value in R03 is 17,6777
SIN(R02) ; value in V01 is 17
SET V01 = R03

1.2.5 Logical constants and variables

<log. state> { "H" | "L" }

mac-8 RE30156-02 6
ECL - Command set

<log. transition> { "HL" | "LH" }


<log. flag> "V" <dez: 0-255> "." <dec: 1-32>
"V" "[" <num. Term> "]"." <dec: 1-32>
"V" "[" <num. Term> "]" "." "[" <num. Term> "]"
<log. axis flag> "F" <dec: 0-31> "." <dec: 1-32>
"F" "[" <num. Term> "]"." <dec: 1-32>
"F" "[" <num. Term> "]" "." "[" <num. Term> "]"
<log. output> "O" <dec: 0-7> "." <dec: 1-32>
"O" "[" <num. Term> "]"." <dec: 1-32>
"O" "[" <num. Term> "]" "." "[" <num. Term> "]"
<log. input> "I" <dec: 0-7> "." <dec: 1-32>
"I" "[" <num. Term> "]"." <dec: 1-32>
"I" "[" <num. Term> "]" "." "[" <num. Term> "]"

The 1st number identifies the board and the 2nd number identifies the output
or input.

1.2.6 Sign and operators

<num. sign> { "-" | "!" | "#" }


means:
"-" negation,
"!" NOT bit-mode,
"#" absolute value.
<log. sign> "!"
means logical NOT.
<num. Operator> { "*" | "/" | "+" | "-" | "<<"| ">>" | "&" | "|" | "^" }
means:
"*" multiplication,
"/" division
"+" addition,
"-" subtraction,
"<<" arithmetic shift left,
">>" arithmetic shift right,
"|" bit-serial OR,
"&" bit-serial AND,
"^" bit-serial EXOR.
{"<<<" | ">>>"}
"<<<" logical shift left
">>>" logical shift right
<log. operator>> { "&" | "|" | "^" }
means:
"|" logical OR,,
"&" logical AND,

mac-8 RE30156-02 7
ECL - Command set

"^" logical EXOR.


<num. comp. { "<=" | ">=" | "<>" | "<" | ">" | "=" }
operator> means::
"<=" less than or equal to,
">=" greater than or equal to,
"<>" not equal,
"<" less than,
">" greater than,
"=" equals.
<log. comp. { "<>" | "=" }
operator> means::
"<>" not equal to,
"=" equals..
<term logic { "&&" | "||" }
operator> means
"&&" terms logical AND,
"||"terms logical OR.
The following order "()", "*", "/","+", "-", "<<", ">>", "&", "|", "^",
of ranking applies "&&" ,"||".
for the operators:

1.2.7 Identifiers used in the command description

<field> {<data field> | <system parameter>}


<num. variable> {<standard variable> | <local variable> | <num.
log. variable> | <system variable> | <data field> |
<system parameter>}
<log. variable> {<log. flag> | <log. output> | <log. input>}
<num. term> [<num. sign>] {<pos. constant> | <num. variable>}
[<num. operator> [<num. sign>] {<pos. constant> |
<num.variable>}]x
<log. term> [<log. sign>] {<log. variable> | <log. state>} [<log.
operator> [<log. sign>] {<log. variable> | <log.
state>}]x
<num. term <num. term> <num. comp.operator> <num. term>
compare>
<log. term <log.term> <log. comp.operator> <log.term>
compare>
<term compare> {<num. term compare> | <log.term compare>}
[<term logic operator> {<num. term compare> |
<log. term compare>}]x
<par.prog.no.> <dec: 1-15>

mac-8 RE30156-02 8
ECL - Command set

<dec: 1-31>
<field size> <dec: 1-32767>
<define time> <dec: 0-65535>
<trace number> <dec:0-1>
<reference mode> <see HOME-commandl>
<channel number> <dec: 0-31>
The channel number can also be specified as
num. Terme Except for the DIM command.
<trigger point> <dec:1-10>
<output number> <dec:1-32>
<function number> <dec: 1-99>
<axis> { <axis> | <num. term> }
The transferred value specifies the desired axis in
bit code. Only one bit may be set for an axis. The
bit number of the set bit corresponds to the axis
number.
<axis sequence> { "ALL" | <axis> | <num. term> }
The transferred value specifies the desired axes in
bit code.
<interface> <dec: 1-3>
<window> <dec: 0-31>
<line> <dec: 1-65535>
<column> <dec: 1-65535>
<string> """ <text to be output> """
<V> <dec: 1-256>
<N> <dec: 1-256>
<F> <dec: 1-256>
<format> { <V>"."<N>"."<F> [R] | "X"<V> [R] | "D"<V> [R] |
"S"<V> [R] | "*"<V> | "B" }
- "X" = hex., "D" = binary, otherwise decimal
- <V> = integer/integral places - display
- <N> = decimal parts - display
- <F> = value of decimal parts
- "R" = auto refresh
- "S" = output string from data field
- "*" = concealed input for key code
- "B" = flashing ON/OFF depending on the term
<input variable> { <standard variable>|<local variable>|<data field>
|<system parameter>}

1.3 Compiler instructions

mac-8 RE30156-02 9
ECL - Command set

1.3.1 ";" <text>

Comments are designated by ";". The comments may be inserted anywhere


and always go to the end of a line.
Example:

BEGIN MP_Test ; this is a comment


; this is also a comment
END MP_Testt

1.3.2 "#include" <filename>

The specified file is inserted in the program at this point. Caution: All error
messages that have occurred in the include file receive the line number of
the include instruction!

1.3.3 "#modul" <filename>

An ECL-Program can extend over several files. The accompanying files are
made public over #modul instruction. Each #include file is known only in the
module in which it was specified. If A-fields are used in a module, they have
to be defined before the main program (BEGIN MP_name).

1.3.4 "#define" <name> <text>

In the program which follows up to the end of the module <name> is


replaced by <text>. Pay attention to upper and lower case characters in
<name>. No text can be replaced in the "#define" instructions themselves.

mac-8 RE30156-02 10
ECL - Command set

1.4 Program run control

1.4.1 IF ELSE instruction

Syntax:

"IF" <term comparison>


<command>
["ELSE"
<command>]

If the expression <term comparison> is true, the command or the command


block beneath is executed, otherwise not. The ELSE branch is optional and
is only executed if the expression <term comparison> is false.

Example:

IF V01=1 ; if variable V01 is equal to 1


SET V02=2 ; then V02 is set
ELSE ; otherwise
SET V02=3 ; V02 is set to 3

A command block is also possible instead of a single command.

1.4.2 WHILE loop

Syntax:

"WHILE" <term comparison>


<command>

As long as the expression <term comparison> is true, the command beneath


is executed. Each time the command is executed, the condition is checked
again and the command is executed once more. Only when the expression
<term comparison> is false, the instructions that follow behind are going to
be processed.

mac-8 RE30156-02 11
ECL - Command set

Example:
WHILE V01 < 10 ; as long as V01 is less than 10
SET V01 = V01 + 1 ; then V02 is set

A test always takes place before the command is executed. A command


block is also possible instead of a single command.

1.4.3 {..} instruction block

Syntax:

"{"
<commands>
"}"

Definition of command blocks. Command blocks can be used wherever


usually only one command is expected (e.g. "IF" or "WHILE" instruction.)

1.4.4 [..] command bundle

Syntax:

"["
<commands>
"]"

The MAC-8 can work with 16 parallel NC programs. After every instruction,
the NC interpreter switches over to the next parallel NC program and
continues to work there. If it is required that certain instructions are to be
executed without interruption by parallel programs, these can be defined as
command bundles. Neither jump commands nor commands that wait for
events may be used here. The use of such commands does not generate an
error but, in order to prevent blocking the system, the NC interpreter switches
over to parallel programs.

mac-8 RE30156-02 12
ECL - Command set

1.4.5 BEGIN END program definition

Syntax:

"BEGIN" "MP"<main program name>


Begin instruction main program. At the beginning of the ECL program the
main program must be situated before all subroutines and is started as
parallel program 0.
"END" [ "MP"<main program name> ]
End instruction main program. The specification of the name is optional.
The possibly running programs will be not affected by it.
"BEGIN" "SP"<subprogram name>
Begin instruction subroutine.
"END" [ "SP"<subprogram name> ]
End instruction subroutine. The specification of the name is optional.
The names can have a length of up to 15 characters (without "SP_"). If they
are longer, only the leading 15 characters are distinguished.
The names can have a length of up to 50 characters (without SP_") If they
are longer, only the leading 50 characters are distinguished.

Example
BEGIN MP_TEST
; instructions
END MP_TEST

BEGIN SP_Subprog1
; instructions
END

1.4.6 Jump / Label

Definition:

"L"<label name> [<command>]


Label specification for local jump. The allocated label names are only locally
known in the respective main program or subprogram. The names can have
a length of up to 11 characters (incl. "L"). If they are longer, only the leading
11 characters are distinguished.
The names can have a length of up to 50 character (without "L") If they are
longer, only the leading 50 characters are distinguished.

mac-8 RE30156-02 13
ECL - Command set

Call:
"JUMP" "L"<label name>
Local jump to <label name>.
"JUMP" "SP"<subprogram name>
Subprogram call from <subprogram name>.

Example:
BEGIN MPmain
Lbegin SET V01 = 1
Ltest IF V01 >= 10
JUMP SP_test ; subprogram call
SET V01 = V01 + 1
JUMP Ltest ; local jump to Ltest
END

BEGIN SP_test
SET V01 = 0
END Sptest

1.4.7 EXIT

Syntax:
"EXIT"

Ahead of time quitting of a sub- or parallel program. This command is usually


used with nested "if" or "while" commands for quitting a sub-program in case
of "EXIT" criteria (at a loop execution).

Example:
BEGIN SP_Fahre
set p0 = 10
while p0 > 0
{
if f0.inpos = L

exit
pos i x0 = 10000
}
::::::::::::::::
END

mac-8 RE30156-02 14
ECL - Command set

1.4.8 START/STOP PROG

Syntax:

"START" "PROG" {<par.prog.no.> | <normal variable>} "SP"<subprogram


name> ["EACH" <time> | "AFTER" <time>]
Start parallel program. Up to 15 programs can be started in parallel to the
main program. At "EACH" the program is started cyclically. If "AFTER" is
specified, the program is started delayed. The time is defined in the 10
millisecond grid.
If a variable is used in place of a program number, the NC interpreter
automatically selects the program number. The variable then includes the
program number and may no longer be overwritten, otherwise it would no
longer be possible to deliberately stop the program.
If all programs are already occupied, the NC-interpreter is delayed by this
command.
"STOP" "PROG" {<par.prog.no.> | <normal variable>}
Stop parallel program. The processing
It is possible to start up to 31 programs in parallel to the main program.

1.4.9 BREAK/CONT PROG

Syntax:

"BREAK" "PROG" {<Par.Prog.Nr.> | <normal variable>}


Parallel program is interrupted. The parallel programs 1-15 can be
interrupted.
The processing will be frozen in the actually program line
"CONT" "PROG" {<Par.Prog.Nr.> | <normal variable>}
Continue to execute parallel program. The parallel programs 1-15, which
were interrupted by BREAK PROG, can continue processing at the
interrupted line.
It is possible to start up to 31 program in parallel to main program.

mac-8 RE30156-02 15
ECL - Command set

1.4.10 WAIT wait instruction

Syntax:

"WAIT" "TIME" <num. term>


Delay instruction with time specification in milliseconds.
"WAIT" <term compare>
Delay instruction with condition testing.
"WAIT" <log. term> "=" <log. transition>
Delay instruction with condition testing. This syntax is only binding at asking
for a logical transition.

Example:

WAIT TIME 1000 ; wait 1 sec


WAIT V01 < A02[17] ; wait until V01 is less than A02[17]
WAIT I0.8 = LH ; wait for pos. edge from input 8 board 0

mac-8 RE30156-02 16
ECL - Command set

1.5 Data manipulation

1.5.1 DIM field declaration

Syntax:

"DIM" ["P"] <data field name> "[" <field size> "]" ["CHANNEL" <channel
number>]

The A fields are dimensioned with the DIM instruction. This instruction must
be specified outside of the programs (before BEGIN instruction). By means
of options, it is possible to control where the data fields are to be located.
Fields A00-A127 can be used, whereas the sum of the elements defined on
a storage area must not exceed the size of the storage area. The sequence
of fields and use of the storage areas is optional. Each field can be defined
with a maximum of 32767 elements.

The storage areas have the following size:

in RAM (standard) 131072 elements


in EPROM 131072 elements

Options

P the data are located in the EPROM (only reading


pos.).
CHANNEL the field is used for the TRACE (option P not
possible).
<channel number> from 0-31 possible for TRACE.

Example:

DIM A00[100]
Begin SP_name
;Instructions
END
defines the A-field A00 with 100 elements on Master card.

mac-8 RE30156-02 17
ECL - Command set

1.5.2 COPY copy function for fields

Syntax:

"COPY" <field> <field> <num. term>


The specified number of field elements are copied from the 1st field into the
2nd field. This function can be used for A, and S fields.

Example:
COPY A00[1] TO A01[101] 100 ;copies 100 elements from A00[1] to
A01[101]

"COPY" <field> {"TO" | "TO SLOT" <slot number> | "FROM SLOT" <slot
number>} <field> <num. Term>

Fields will be copied dependent on the slot number. This possibility is


however reserved to Master and it assumes, that the corresponding field on
the slave card has already been properly dimensioned. For this you need an
ECL program on the card with the number <slot number>.

Example:

COPY A10[0] TO SLOT 3 A00[1] 100; copy 100 elements from A10[0] to slot
3 A00[1]
COPY A10[0] FROM SLOT 3 A00[1] 100;copy 100 elements from slot 3
A00[1] to slot 1 A10[0]

1.5.3 SET assign variable

Syntax:

"SET" <num. variable> "=" {<num. term>|<real-term>}

With this command all numeric variables and fields can be set.
In case a real-term will be assigned, an automatic conversion into integer
format takes place.

"SET" < input variable > "=" BATTERY

mac-8 RE30156-02 18
ECL - Command set

With this command the battery status of all cards in the system can be
tested. The status of the individual card is binary saved in ascending order in
the input variable. If the status of the axis card is high, the battery is okay. If it
concerns a DEAB card, the status of the external power supply will be
displayed. If the result of the assignment e.g. equals 0x3, this means that the
battery on the card in slot 1 and 2 is okay.

"SET" <real. variable> "=" {<num. term>|<real-term>}

With this command real variables can be set. In case of assigning an integer-
term, an automatic conversion takes place in real format.

"SET" <log. variable> "=" <log. term>

Set logical variable. It is not possible to set inputs!

"." <num. variable> "=" <num. term>

Following "SET" instruction. This assignment is executed together with the


previous "SET" in an interpreter call. All types of "SET" instruction can also
be used as following instruction.

Example:

SET V01 = 1234 ;set V01 with the value 1234


SET O0.1 = H ;set output 1 of board 0
SET V01 = 1
. V02 = 2
. V03 = 3 ;following SET instructions are executed
concurrently
SET A0[0]=4 ;first element of the field A
SET V10=BATTERY ;Assignment of the battery status all axes and
;DEAB cards that are available in the system.

mac-8 RE30156-02 19
ECL - Command set

1.5.4 MSET assignment

Syntax:

"MSET" <field> "=" <num. term> ["," <num. term>]x


Multiple SET function. This allows several sequential values of a field to be
assigned to a field in one instruction.

"MSET" <standard variable> "=" <num. term> ["," <num. term>]x


Multiple SET function. The same function as in fields, however now for
<standard variable> as well.

Example:

MSET A01[1] = 10, 20, 30, 40, ; sets the field elements A01[1]=10,
50 ;A01[2]=20
;A01[3]=30 , A01[4] = 40, A01[5]=50.
MSET A02[0] = 10, 20, \
30, 40, 50 ; in very long lines a back slash „\“ can
cause a word-wrap/ change of line.

1.5.5 PSET assign local variable

Syntax:

"PSET" "PROG" {<par.prog.no.> | <normal variable>} <local variable> "="


<num. term>
Command for setting local variables in parallel programs.

1.5.6 EXCHANGE date exchange

Syntax:

"EXCHANGE" {<num.Variable> “=”{ <num.term>|<real term>}


This command cyclically exchanges data. The exchange takes place in the
sampling grid of the axis, after the axis has finished its calculations. The
assignment equals the SET command and it can be provided with series of
instructions. The command has to be called once to activate the data
exchange. Each new EXCHANGE command replaces the previous
EXCHANGE command.

mac-8 RE30156-02 20
ECL - Command set

“EXCHANGE” “OFF”

terminates the data exchange.

1.5.7 SAVE STATUS save status

Syntax:

"SAVE STATUS" {<field> <axis sequence>


This command saves the current state of:
- all parallel programs
– in/out variables
– command status
– system flags and numeric variables of specified axes
– S parameter 0 – 7 in field 32
A condition for this command is that the A field was defined with minimum
130 elements.

-version number of the system


- all V-variables
- all P-variables
- all R-variables
function level (max.5)

A condition for this command is that the A field was defined with minimum
1200 elements.
If the A field does not provide enough memory for use, the recording of the
system flags and N variables will be limited to the size of the field.
Afterwards this state can be illustrated with a function of the ECL Debugger.

1.5.8 MAXCODE extension of the program range

Syntax:

!EV 6.00

"MAXCODE" <pos.constant>

mac-8 RE30156-02 21
ECL - Command set

This command specifies the size of the ECL-program’s range in bytes.


The declaration should be made on the beginning of the program (before the
BEGIN declaration). Without this declaration 128 kB are available for ECL
program code. The necessary memory is recognizable by means of the size
“*.CDE” file.
If the profibus connection is used, after a change of the ECL program range
the reset is to be carried out on MAC-8

mac-8 RE30156-02 22
ECL - Command set

1.6 Axis/process functions:

Axis/process- functions will be passed over to axis as command or signaled


with a system flag.
At functions which use a system flag it must be kept in mind that this function
will be carried out first in the next sampling time of the axis.

1.6.1 AXINIT initialize axes (command)

Syntax:

"AXINIT"

All axes are reset and initialized.

1.6.2 AXSET taking over axis data (command)

Syntax:

"AXSET" <axis sequence> [<0 - 99>]

The axis parameters (S variables) are transferred as new in the specified


axis. A Complete initialization does not take place. Optionally a number for
the specially marked parameter in the S parameter can be specified. Then
only the corresponding S field element will be passed to the axis.

1.6.3 LOCK axis servo control (system flag)

Syntax:

"LOCK" <axis sequence>

Lock axis servo control. 0 volt is output on the DAC. The flag „drive enable“ is
set to low. Besides a HALT is implicitly carried out on the axis. Any motion
taking place is considered as finished.

mac-8 RE30156-02 23
ECL - Command set

1.6.4 UNLOCK enable axis servo control (system flag)

Syntax:

"UNLOCK" <axis sequence>

The position controller of the axis is activated, the flag "in control loop" is set
to high. Condition, no error has occurred.

1.6.5 EQUIT acknowledge axis error

Syntax:

"EQUIT" <axis sequence>

If an error has occurred in an axis (e.g. control loop deviation too large), an
error handling is performed. The control loop enable is cancelled and the axis
can no longer be moved. The resulting error can be acknowledged with
EQUIT. The axis then switches back to servo control. An active motion is
considered as finished.

1.6.6 STOP interrupt axis movement (system flag)

Syntax:

"STOP" <axis sequence>

The axes are slowed down at the currently valid ACC deceleration rate and
are controlled at the then reached position. A current motion is considered as
terminated.
The force controller is not affected by this. If the force controller is active,
then dependent on parameter Sx[30], a back calculation of the force
controller actual value for the set point position will be carried out. The back
calculation is also done if no positioning is carried out. If a STOP is carried
out on any axes participating in synchro drive mode, the motion is terminated
as described above. The NC interpreter does not wait for a command quit
from the axis.

mac-8 RE30156-02 24
ECL - Command set

1.6.7 HALT interrupt axis motion (system flag)

Syntax:

"HALT" <axis sequence>

The axes halt immediately. The axis is stopped immediately and without
delay. The position set point is set to the current actual position value and
then servo-controlled to this position. Any motion currently taking place is
considered as terminated. The force controller is as well interrupted. If a
HALT is carried out on any axes participating in synchro drive mode, the
motion is terminated as described above. The synchro drive mode stays
however active. The NC interpreter does not wait for a command quit from
an axis.

1.6.8 POS HAL interrupt axis motion (system flag)

Syntax:

!EV 5.44

"POS" <axis sequence> “HALT”

This command works as “HALT”, the force controller however is not stopped.

1.6.9 BREAK interrupt axis motion (system flag)

Syntax:

"BREAK" <axis sequence>

Interrupt axis motion. The axis slows down at the current ACC deceleration
rate and stops under position servo control. The current motion is not
considered as terminated. It can be restarted with CONT. If a STOP or HALT
command follows after BREAK, the motion is terminated. It can then no
longer be continued. At synchro drive mode BREAK is only allowable at
MASTER.
The synchro drive mode remains active.

mac-8 RE30156-02 25
ECL - Command set

1.6.10 CONT continue axis motion (system flag)

Syntax:

"CONT" <axis sequence>

If an axis motion is interrupted with BREAK it can be continued with this


command.

1.6.11 ACC define axis acceleration

Syntax:

"ACC" <axis sequence> "=" <num. term> ["%"]

Define the axis acceleration. This can be specified as an absolute value or in


%. The percentage value refers to the specified maximum acceleration in the
S parameters. If no ACC instruction is given, the default value of 10% of the
maximum acceleration is used. The set acceleration applies for all following
positionings.

Example:
ACC X0 = 1000000
The acceleration for axis 0 is set to 1000 mm/s2 for the time being.
ACC X1 = 50%
The acceleration for axis 1 is set to 50% of the maximum value.
ACC X1 = -50%
The deceleration for axis 1 is set to 50% of the maximum value.

1.6.12 VEL define axis velocity

Syntax:

"VEL" <axis sequence> "=" <num. term> ["%"]

Definition of axis velocity. This can be stated either as an absolute value or in


%. The percentage refers to the specified maximum velocity in the S
parameters. If no VEL instruction is given, the default value of 10% of the
mac-8 RE30156-02 26
ECL - Command set

maximum velocity is used. The smallest percent value is 1%. If the required
velocities are smaller than 1% of the maximum value, then these have to be
specified as absolute values. The set velocity applies for all following
positioning.

Example:
VEL X0 = 100000
The velocity for axis 0 is set at 100 mm/s for the time being.
VEL X1 | X3 | X5 = 10 %
For axes X1, X3, X5, 10 % of their respective maximum velocities are valid.

1.6.13 OVER define axis override

Syntax:

"OVER" <axis sequence> "=" <num. term> "%"

The override instruction influences the velocity of a positioning operation


currently taking place within a range of 0 - 200 per cent. The velocity
maximum (parameter Sx[73]) is not exceeded.

Override has effect on virtual axes.

1.6.14 POS move axis to position (command)

Foreword:
From version 6.04 the POS-command has a fundamental modification and
enlargement. The following description is valid from this version. Restrictions
through old versions will be noted on corresponding places.

General syntax:

"POS" ["L" | "C"] {"A" | "I"} <axis> "=" <num. term> [ "VREST" <num.
term> ["%"]]

This instruction makes it easy to give a positioning command to the axis.


Various options allow this command to be used universally. In the following
the command will be explained with various options corresponding to
required behavior.
For all variants is valid:

mac-8 RE30156-02 27
ECL - Command set

A - absolute mode. The axis moves to the specified absolute position.


I - incremental mode. The axis moves by the specified amount (positive or
negative) Direction related to the last target position

1.6.14.1 Simple positioning

Syntax:

"POS" ["C"] {"A" | "I"} <axis> "=" < num. term >

The axis <axis> moves to required target position < num. term >.
< num. term > can be a constant, variable or an expression. The value will be
processed as unit * 1000.
A – Absolute Mode target = < num. term >
I – Incremental Mode target = last target + < num. term >
conditions:
The axis should be "in close loop" and "in position" .
The axis should not be in status "Interpolation active" (see "axis status flags")
Advance conditions:
The command is completed if the position set point value has reached the
target and position actual value is in target window (see "Parameter of the
axis", "target window")
C - Continue-Mode (optional) The command is completed if the axis has
taken over the command. The NC-interpreter does not wait till the target was
reached. Please note that the axis does not accept further positioning
commands till this positioning is finished.

examples:

v[mm/s]
target
100

VEL X0 = 100000 command and


POS A X0 = 100000 positioning
carried out

0 100 s[mm]

mac-8 RE30156-02 28
ECL - Command set

VEL X0 = 100000
POS C A X0 = 100000

VEL X1 = 100000
POS A X1 = 100000
VEL X1 = 50000
POS I X1 = 20000

VEL X0 = 100000
POS C A X0 = 100000 v[mm/s]
1.command carried 2.command carried
POS C A X0 = 200000 100 out out
2.command waits
till 1.positioning
completed
0 100 200 s[mm]

mac-8 RE30156-02 29
ECL - Command set

1.6.14.2 Simple linked positioning

Syntax:

"POS" "L" {"A" | "I"} <axis> "=" < num. term >

The axis <axis> moves to required target position < num. term >.
< num. term > can be a constant, variable or an expression. The value will be
processed as unit * 1000.
"L" means Linked movement, e.g. the axis does not stop at the specified
position but superimposes the velocity on the next move command. With
multiple linked commands you can create a movement profile. The axis can
buffer up to 10 linked commands. A linked motion is (accordingly) completed
with a POS command without L option.

Note: If the next positioning command takes place too late the axis brakes at
intermediate target position.

(only valid for controller settings NLF) As long as the axis has not braked to
standstill yet, a change-over to next position without intermediate stop is
possible. If it comes to standstill, the movement is completed. A "series
positioning" will be interpreted as new movement.

A change-over to next series positioning is not possible when the brake ramp
of the actual movement was initiated.
The series positioning will be carried out not until standstill of the axis.
The option L is as well used for oscillating movements. But here the
combination with option VREST is forbidden.
A - Absolute-Mode target = < num. term >
I - Incremental-Mode target = last target + < num. term >
Conditions:

The axis should have status "in closed loop" .


The axis may not have status "Interpolation active" (see "Axis status flags")
The positioning buffer must not be full.

advance conditions:
The command is completed when axis has taken over the positioning
command in the buffer.
examples:

basic principle

mac-8 RE30156-02 30
ECL - Command set

v[mm/s] commad carried out


following command
100
VEL X0 = 100000 following command
comes to late
POS L A X0 = 100000
following command
does not come

0 target 100 s[mm]

Positioning with option L for velocity profile

v[%]
VEL X0 = 10% POS-1 POS-2 POS-3
POS LA X0 = 10000 30
VEL X0 = 30%
POS LA X0 = 20000 20
VEL X0 = 10%
POS A X0 = 40000
10

0 10 20 30 40 s[mm]

The axis does not stop at intermediate targets, but the velocity varies and moves to last
target position.

Positioning with option L for oscillated movements

POS A X0 = 10000 v[...]


SET V1 = 1
WHILE V1 <= 20
{
POS LA X0 = 30000 0
POS LA X0 = 10000 10 30 s[mm]
SET V1 = V1 + 1
}

The instructions carry out 20 oscillating movements. The option L causes here the
POS-commands on the one hand to be pre processed and buffered, on the other hand
the axis is changed set point dependent in the turn points(no target window inquiry
takes place).

Positioning, which intermediate target was absorbed.

mac-8 RE30156-02 31
ECL - Command set

ACC X0 = 1000000
ACC X0 = -1000000 v[mm/s] POS-1 POS-2 POS-3
VEL X0 = 400000 500
POS LA X0 = 100000
400
VEL X0 = 500000
POS LA X0 = 150000 300
VEL X0 = 100000 200
POS A X0 = 200000 100

0 50 100 150 200 s[mm]

At second POS-command the prescribed move velocity of 500 mm/s is not accessible
because of the short move distance.

Following command does not come

VEL X0 = 100000
POS LA X0 = 100000 v[mm/s]
WAIT i_Start_2 = LH 100
;condition is not meet !
POS A X0 = 150000

brake point = target

0 100 s[mm]

mac-8 RE30156-02 32
ECL - Command set

1.6.14.3 Positioning with residual velocity (without link)

Syntax:

"POS" ["C"] {"A" | "I"} <axis> "=" <num. term 1> "VREST" <num. term 2>
["%"]

The axis <axis> moves to required target position <num. term 1> and
reaches there the residual velocity <num. term 2>.
< num. term 1> and < num. term 2> can be a constant, variable or an
expression. The values will be work as units * 1000 . If < num. term 2> is
used in connection with a optional "%" , the value of 1 to 100 is expected.

The velocity specified in VREST also works as new set point velocity till next
VEL-instruction or VREST- declaration.
VREST at controller settings NLF:
NLF means Follow-up controller . It means a continuos set point value is
calculated [by means of velocity profiles] and from the difference to actual
value an equivalent voltage signal will be output. The drive follows up the set
point value as it was led through a rubber tape.
The residual velocity is velocity that has the axis at reaching the target
position (axis has broken). The axis moves with the residual velocity further
till min./max. Position range limit (see "Parameter of the axis"). This option is
useful for "move to stop position" or in connection with the Freeze-instruction
for "flying change" to a new position.
VREST at controller settings WAB:
WAB means velocity controlled movement with Distance Depending Brake
(Weg Abhängigem Bremsen). It means the velocity is converted in an
equivalent voltage signal. For the target precise braking the distance
difference to target position is converted into a voltage signal and then
output.
The residual velocity is the velocity that the axis has slowed down to at
reaching the target position. This value will be retained till the axis has
reached the target window. After, the set point velocity is set to zero and the
position controller is activated. At this point the residual velocity corresponds
to a voltage for a leap over a positive valve overlap. If the residual velocity is
set too small, the target window will possibly be not reached!
A - absolute-mode target = < num. term >
I - incremental-mode target = last target + < num. term >

conditions:
the axis must be "in closed loop" and "in position" .
the axis must not be "Interpolation active" (see "axis status flags")
advanced conditions:

mac-8 RE30156-02 33
ECL - Command set

WAB : the command is completed if the set point velocity is zero and actual
position value is in target window (see "Parameter of the axis", "target
window").
NLF : the command is completed if the set point position has reached the
switch limit and the actual position is in target window (see "Parameter of the
axis", "target window")

C - Continue-Mode (optional) : The command is completed if the axis


has taken over the command. The NC-interpreter does not wait till the target
was reached. In this connection please note that the axis does not accept
any more position commands till the positioning was finished.

examples:

NLF : move to limit switch with VREST

VEL X0 = 100000
POS A X0 = 100000 \ v[mm/
s] target Limit
VREST 10000 10
it h
0
Command carried out
out
10

0 s[mm]
100
]

WAB : move to target with VREST

VEL X0 = 100000
POS CA X0 = 100000 \ v[mm/s] Command carried
VREST 10000 out
100
target
target
window

10

0 100 s[mm]

mac-8 RE30156-02 34
ECL - Command set

NLF : move to target, with VREST further till force control loop

VEL X0 = 100000
POS CA X0 = 100000 \
VREST 10000
FORCE X0 = 20000

1.6.14.4 Linked positioning with residual velocity

Syntax:

"POS" "L" {"A" | "I"} <axis> "=" <num. term 1> "VREST" <num. term 2>
["%"]

The axis <axis> moves to required target <num. term 1> and reaches there
the residual velocity <num. term 2>.
< num. term 1> and < num. term 2> can be a constant, variable or an
expression. The value will be processed as units * 1000. If the
< num. term 2> is used with an optional "%", a number from 1 to 100 will be
expected.
The velocity in VREST specified also works as a new set point velocity till
next VEL-instruction or VREST- declaration.
The residual velocity here is usually used to reach the reduced work velocity
at the defined position(while slowing down).
"L" means Linked movement. With several linked position commands you
can create a move profile. The axis can buffer up to 10 linked position
commands. One linked movement is properly completed with a POS-
command without the option L.
Feature at controller settings WAB:
The residual velocity can not be higher as actual set velocity and is limited to
this value. Slowing down to residual velocity always takes place distance
dependent. Advanced condition to the next buffer element of a linked
movement is the predefined target window.

A - absolute-mode target = < num. term >


I - incremental-mode target = last targetl + < num. term >

mac-8 RE30156-02 35
ECL - Command set

conditions:
The axis must be "in closed loop" .
The axis must not be "Interpolation active" (see "axis status flags")
The position buffer must not be full.

advanced conditions:
The command is considered as terminated when the axis has taken over the
position command in the buffer

Examples:

Basic Principle

VEL X0 = 100000
v[mm/s]
POS L A X0 = 100000 \ command carried
VREST 50000 out following command
100
following command
comes to late
50
following command
do not come

0 target 100 s[mm]

Rapid motion to approach a workpiece, slowing down to work velocity (VREST) shortly
before reaching the workpiece.

v[mm/s] POS-1 POS-2


VEL X0 = 100000
POS L A X0 = 100000 \ 100
VREST 20000
POS A X0= 150000 rapid working
traverse stroke

20

0 100 150 s[mm]

mac-8 RE30156-02 36
ECL - Command set

Move to intermediate target, with VREST further till force closed loop or end target if
force reduction does not take place.

VEL X0 = 100000
POS L A X0 = 100000 \
VREST 10000
POS C A X0= 160000
FORCE X0 = 20000

1.6.14.5 Features of the positioning, if the pressure/force controller is active

Positioning can be set down in direction of smaller force values under the
following circumstances:
The previous positioning is terminated
( according to: set point velocity = 0)
The previous positioning was linked (L-Mode).

If the set point has not reached the target yet, NC-interpreter normally waits.
To avoid this "waiting" and to be able to set a new positioning “from force
closed loop“, the parameter Sx[30] (mode set point generator) offers the
options 2 and 12 (jump). At this mode the set point will be set (immediately)
to target position of the position instruction after taking over of the force
control. This also prevents from an unintended change back to force control.
Depending on target of the positioning the change over in force control can
take varyingly long till the axis returns to position control. Here it is
recommended to set a STOP command before. This causes the set point
position to be set to actual value plus correction value, so that the position
controller generates the same voltage.

mac-8 RE30156-02 37
ECL - Command set

1.6.14.6 Examples for command combinations

Simple linked positioning

VEL X0 = 100000 v[mm/s] POS-1 POS-2


POS A X0 = 100000
POS I X0 = 50000 100

0 100 150 s[mm]

The axis moves first to absolute target position 100 mm, here the NC-interpreter waits
till the target window (Par. Sx[0]) will be reached. The driving direction depends on
actual start position of the axis. At second command it (axis) moves in the same
direction further about 50 mm.

Positioning with option C

VEL X1 = 100000 v[mm/s]


POS CA X1 = 300000 stop target
WAIT i_Stop = H 100
STOP X1
H
L

0 300 s[mm]

The axis X1 should move to position 300 mm. The NC-interpreter carries out
immediately a succession instruction in which a "Stop" – input is expected. When the
input arrives, the axis will be stopped.

mac-8 RE30156-02 38
ECL - Command set

Positioning with Option L, with and without VREST for driving profile

VEL X0 = 10% v[%]


POS LA X0 = 10000
VEL X0 = 30% 30
POS LA X0 = 30000 \
VREST = 10% 20
POS A X0 = 40000
10

0 10 20 30 40 s[mm]

The symmetric move profile will be achieved by first working without and then with the
option VREST .

Positioning, that move velocity will not be reached.

ACC X0 = 1000000 v[mm/s]


ACC X0 = -1000000
VEL X0 = 500000 500
POS A X0 = 160000 400

0 80 160 s[mm]

The prescribed velocity of 500 mm/s can not be reached, because the distance is too
short.

mac-8 RE30156-02 39
ECL - Command set

1.6.15 Drive axis by directly overwriting the set point values

Other than those mentioned in the former chapters , MAC-8 offers more possibilities for
axis motion and positioning. These new motion possibilities are feasible by directly
overwriting the position set point value, the position target value and the velocity set
point value.

Doing so the flag Fx.13 (position set point external) has to be set first.

General conditions:
Axis in close loop control.
Controller :Type NLF, not WAB!
Axis in linear interpolation.
Flag 13 of axis (Fx.13 = position set point external) is set.

General effects: (Fx13=H)


POS command is locked.
POS BREAK command is ignored.
Controller monitoring stays active if it was not switched off.
When (controller) monitoring intervenes Fx.13 remains set.
At error handling flag Fx.13 should be set back.

Option 1 : set point value position Nx.3 is overwritten directly:


Conditions :non0
effects :
The axis only moves due to the close loop control of difference between set point
and actual status.
The velocity set point value (Nx.7) is built.
v_set = ( s_set k - s_set k-1 ) / T Samble
This is only reasonable if the set point position is as well described continuously during
the axis sampling time.

Flag in_pos (Fx.18) and in_target (Fx.19) do not change..

Example :

Pos x0 = 0 ;move to start position

mac-8 RE30156-02 40
ECL - Command set

Set F0.13 = H ;note conditions


Wait time 10 ;for transfer
Exchange n0.3 = n0.3 ;new position at 1 mm / Ta
+ 1000
Wait n0.3 => 1000000 ;at position 1000 mm
Exchange off ;stop changing
Set F0.13 = L ;option end
Option 2 : Velocity set point value Nx.7 is directly overwritten
Description :
- Axis motion is started from halt (Flag in_pos=H) after taking over the set point value
velocity.
- After starting the movement, the flags in_pos and in_target have to be set back.
- The axis accelerates with the specified acceleration. After having reached the
velocity set point value, the axis keeps on moving without considering any driving
limits. The direction of motion equals the algebraic sign of the given velocity set point
value.
- While moving, a new set point value velocity can be specified. Consequently the axis
changes its velocity.
- Likewise, you can again specify the acceleration. This change will have an effect on
the next velocity change .
- If the new velocity set point value equals zero or the algebraic sign was changed, the
axis slows down. The in_pos flag is set again in halt position. The movement is
finished.
- A new movement can be started.
Conditions :
- velocity Set point value Nx.10 has to be overwritten once after the activation (set
Fx.13 = H)
Effects :
A special set point value - generator continuously produces new position
set point values according to prescribed acceleration and velocity.
- The movement can be stopped by setting the set point velocity to zero or by the
commands STOP, HALT and POS HALT.
- The in_target flag is only deleted but not set again.
A direct shift in direction by entering a new velocity set point value with converse
algebraic sign is impossible. Entering a new velocity set point value with converse
algebraic sign causes, as in case of velocity zero, a halt of the motion. Not until the
movement is finished, respectively the axis comes to a halt, a new movement with an
arbitrary direction can be started.

Example :

Pos x0 = 0 : move to start position

mac-8 RE30156-02 41
ECL - Command set

Set F0.13 = H ;note conditions


Wait time 10 ;for taking over
Set N0.10 = 500000 ;acceleration 500 mm/s2
Set N0.7 = 400000 ;drive with velocity 400 mm/s
Wait N0.3 => 100000 ;bei Position 100 mm
Set N0.7 = 500000 ;neue Geschw. 500 mm/s
Wait N0.3 => 600000 ;at position 600 mm
Set N0.10 = 1000000 ;new acceleration 1 m/s2
Set N0.7 = 0 ;slow down to zero
Wait F0.18 = H ;wait till halt
Set N0.7 = -500000 ;move back at 500 mm/s
Wait i0.1 = H ;e.g. limit switch signal
Set N0.7 = 0 ;velocity zerol
Wait F0.18 = H ;wait till haltd
Set F0.13 = L ;option end

Ab EV 6.15

Option 3 : Target position Nx.4 and set point value velocity Nx.7 are overwritten
directly
Description :
- The axis movement is started from halt (Flag in_pos=H), after taking over the set
point values in the following order:
- describe Nx.4 target position
- describe Nx.7 velocity set point value
- After starting the axis movement the flags in_pos and in_target are set back.
The axis positions to target value with the specified parameters (acceleration and
velocity as used in POS command).
A movement is finished if the axis has reached its target. The flags in_pos and
in_target are set.
- A new movement can be started.
Conditions :
- Velocity set point value Nx.10 has to be overwritten once, after activating (set
Fx.13=H).
Effects :
- Axis moves as by POS command without any options.
- The movement ca be stopped by STOP, HALT and POS HALT commands.
- The Flags in_pos and im_ziel will be treated as by POS command.

Example :
Pos x0 = 0 ; move to start position

mac-8 RE30156-02 42
ECL - Command set

Set F0.13 = H ;note conditions


Wait time 10 ;for taking over
Set N0.10 = 500000 ;acceleration 500 mm/s2
Set N0.4 = 400000 ;target position 400 mm
Set N0.7 = 400000 ;move with velocity 400 mm/s
Wait F0.18 = H ;wait till position is reached
Set N0.4 = 600000 ;new target position600 mm
Set N0.7 = 300000 ;new velocity 300 mm/s
Wait F0.18 = H ;wait till position is reached
Set N0.10 = 300000 ;new accel. 300 mm/s2
Set N0.4 = 0 ;new target = start position
Set N0.7 = 500000 ;move with velocity 400. 400 mm/s
Wait F0.18 = H ;wait till position is reached
Set F0.13 = L ;option end

General notes :
- Option 1 superimposes option 2 or 3.
- Option 2 can be carried out alternately with Option 3. Pay attention that you
have to wait until the flag is set to: in_pos .(Former movement is finished).
After, you can specify new set point values.

Example for option 2 and 3 in succession :


Pos x0 = 0 ;move to start position
Set F0.13 = H ;set option
Wait time 10 ;for taking over
Set N0.10 = 500000 ;acceleration 500 mm/s2
Set N0.7 = 400000 ;move with velocity 400 mm/s
Wait i0.1 = H ;wait for Stop signal
Set N0.7 = 0 ;velocity 0
Wait F0.18 = H ;wait till Halt
Set N0.4 = 0 ;target = start position
Set N0.7 = 500000 ; move with velocity 400 mm/s
Wait time 10 ;wait for F0.18 = L
Wait F0.18 = H ....................... ;wait till target position is reached
Set F0.13 = L......................... ;option end

mac-8 RE30156-02 43
ECL - Command set

1.6.16 FREEZE Velocity of the axis movement freeze up

Syntax:

Since EV 6.04

"POS" <axis> "FREEZE"

The axis movement will be continued till minimum/maximum position range


limit with actual (frozen) set point velocity. The command is independent of
movement phase in which the axis is situated.
All parameter inputs of the POS - instruction (as well as in buffer registered
linked instructions) lose their validity after this command. The movement is in
so called freeze state and is not completed until the position range limit has
been reached. This command is usually used for event-driven switchings of
one positioning to another, without any intermediate stops. This is only
reasonable for switching at positioning in the same direction.
The movement will be stopped and the Freeze-state cancelled if STOP- or
HALT – commands follow after FREEZE.
Case study difference for the sequence positioning after a FREEZE -
command:

Axis moves in positive directions


Link VREST act. Set point pos. < act. Set point pos. <
target target
(same direction) (opposite direction)

- - axis change over to new axis stops and moves in


velocity and moves to negative direction
target. towards the target.
L - axis change over to new axis gives up the actual
velocity and moves to position command and
intermediate target. If reads the next command
there is no further from buffer. If there is no
command in buffer, axis command in buffer, the
stops till target. axis stops.
- VREST axis change over to new axis brakes till residual
velocity, brakes to velocity and moves
residual velocity(till further till limit switch.
target pos.) and moves
on till limit switch.
L VREST axis change over to new axis gives up the actual
velocity and moves to position command and
intermediate target. If reads the next command
there is no further from buffer. If there is no
command in buffer, axis further command in
stops till target. buffer, the axis stops..
Axis moves in negative direction
mac-8 RE30156-02 44
ECL - Command set

Link VREST act. set point. pos. > act. Set point pos. <=
target target
(same direction) (opposite direction)

The same rules as above apply


Restrictions:
At synchro mode the FREEZE is only allowed at. The synchro mode remains
active.
At "POS TABLE" the FREEZE is ignored.
At controller settings "WAB" the FREEZE is ignored.

Examples:

simple Freeze-command

VEL X0 = 100000 v[mm/s]


POS CA X0 = 100000 95
100
WAIT N0.Istpos > 95000 Freeze
POS X0 FREEZE

0 100Limit switch s[mm]

Axis moves from position 95 mm with the actual set point velocity further till limit switch

Freeze command with renewed positioning

VEL X0 = 100000 v[mm/s]


Freeze
POS CA X0 = 100000 100
WAIT N0.Istpos > 50000
POS X0 FREEZE
VEL X0 = 50000 50
POS A X0 = 100000 \
VREST = 10000 10

0 50 100 Limit switch s[mm]

A not linked POS-instruction is interrupted through FREEZE-command and is


continued as new POS-instruction with changed set point velocity and residual velocity.

mac-8 RE30156-02 45
ECL - Command set

Freeze-command with change to linked positioning

VEL X0 = 100000 v[mm/s]


POS CA X0 = 300000 Freeze
WAIT i_change = H 100
POS X0 FREEZE POS 3 POS 4
VEL X0 = 70000 50
POS L A X0 =50000
VEL X0 = 50000 10
POS L A X0 = 200000 \
0 50 100 200 280 300 s[mm]
VREST = 10000
POS A X0 = 280000 POS 2 POS 1

A not linked POS-instruction is interrupted through FREEZE-command and with newly


linked POS-sequence continued. The second POS-instruction will be discarded,
because it would be produce an inadmissible inversion of the direction.

mac-8 RE30156-02 46
ECL - Command set

1.6.17 LIN linear interpolation (command)

Syntax:

"LIN" ["S" | "L" | "C"] {"A" | "I"} <Achsangabe> "=" <num. Term>

"LIN" ["S" | "L" | "C"] {"A" | "I"} <axis> "=" <num. term>
The LIN positioning instruction causes the axes to traverse with linear
interpolation. A LIN instruction, or one with several succession instructions, is
specified for this purpose. The axes are started simultaneously and they
reach their target positions simultaneously (contour controlled). The axis
(master axis) used in the LIN instruction determines the velocity of the other
axes to be interpolated. That way it is ensured that the maximum velocity is
not exceeded.

Options:
S = Sample: This parameter causes all LIN and succession instructions to be
preprocessed and then buffered. The NC interpreter resumes its work with
the next command (as at the Continue option). The motion is not initiated
until the buffer is full or a LIN instruction occurs without Sample option.
Sample is mainly used when the distance between positions are very short
which results in intermediate stops during the motion sequence.

L = Linked: The travel command is linked with the next travel command. This
means that the axis is not slowed down to the target position but is
connected to the velocity and direction of the next travel block.

C = Continue: The NC interpreter resumes its work with the next command
and does not wait until the axis has reached its target window.
A = absolute specification of position
I = incremental (relative) specification of position
LIN following instruction
"." {"A" | "I"} <axis> "=" <num. term>
The following instruction for the linear interpolation.

Example:
VEL X0 = 150000
LIN A X0 = 100000
A X1 = 50000
A X2 = 10000

mac-8 RE30156-02 47
ECL - Command set

Axes X0, X1 and X2 move from their present position to their specified
positions. Axis 0 traverses at 150 mm/s, while the other velocities are
adjusted so that the axes start and reach their respective target
simultaneously.

1.6.18 TABLE DIM (command)

Syntax:

"TABLE DIM" <table name> "[" <table size> "]" <axis.num.>

With the TABLE DIM instruction the tables(curves) are dimensioned in a form
of A-fields on the axis (see below).It’s possible to dimension up to 16 tables
for each axis. The size of the table determines here the number of possible
points of the curve.
This declaration has to be inside of the programs (between BEGIN and END
instruction) and after the AXINIT instruction.

Example:
BEGIN SP_name
AXINIT
; Instructions
TABLE DIM t10[100] X2

END SP_name

The example above defines table t10 with 100 curve points for axis 2.

1.6.19 TABLE (command)

Syntax:

"TABLE "<table name><axis number> = <data field name > "MODE“


<curve type>

With the TABLE instruction the force curves, which are saved in data field
name, are converted corresponding to curve type and sent to the table of the
axis. From this point of time the curve

mac-8 RE30156-02 48
ECL - Command set

of the axis is available.

The type of the curve:

F/t :the data field contains F/t points of the


curve
F/s :the data field contains F/s points of the
curve
F/x :the data field contains F/x points of the
curve.
x is an external input value (N-variable 30)

↑ EV 5.45

s/x :the data field contains s/x points of the


curve
s/x+ :the data field contains s/x points of the
curve.
s/x- :the data field contains s/x points of the
curve.
x is an external input value (N-variable 53)

↑ EV 6.101

v/s the data field contains v/s points of the curve

where:
F units*1000
t in msec
S in units*1000
x without dimension

The data field must have the following header:

AN[0] ; type : 1 = all x values / all y values


; type : 2 = x/y values
AN[1] ; number of the points of the curve
AN[2] to AN[1 + 2*number] ; the points of the curve
;X = s respectively t, Y = F

;X = s respectively t, Y = F

mac-8 RE30156-02 49
ECL - Command set

Feature of the F/t mode

The curve should begin with the time value 0. At least 2 points must be
specified in order to set the system flag Nx.21 (pressure controller ready)
after ending the table. When activation the table, the current force set point
value will be faded onto the second force set point value of the curve.
Unusual feature at v/s mode:
It is possible to provide positive and negative velocities. Before the activation
of the Table Command the acceleration should be preset for synchronization.

For clarification the following v/s curve should be entered :

v [mm/s]
100

50

0
5 80 100 180 200 s [mm]

For this, the values in data field of the table are to be set as follows :

Index 0 1 2 3 4 5
Value 2 5 0 100000 80000 100000

Index 6 7 8 9 10 11
Value 100000 50000 180000 50000 200000 0

For activating the table the following steps are necessary:


TABLE DIM t10[100] X2 ; create table (at beginning of program)
TABLE t10 X2=A5 MODE v/s ; define type of the table
ACC X2 = 250000 ; acceleration for synchronization
POS A X2 = t10 ; table activation

The following diagram displays the course of the start point s = 5 mm. After
activating the table by means of POS command, the pre- programmed

mac-8 RE30156-02 50
ECL - Command set

acceleration (in example above 250 mm/s^2) is used to synchronize onto the
curve. The end point of the movement is s = 200 mm.

v [mm/s]
100

50
synchronization

0 5 25 80 100 180 200 s [mm]


end point

1.6.20 POS TABLE table function (command)

Syntax:

↑ EV 5.44

“POS” [“C”] {“A”|”I”} <axis> = <table name>

Activation of a position curve.


If the curve given in the <table name> is of type s/x, s/x+ or s/x- , an input
value x is expected in the N variable 53. For type s/x+ only increasing values
will be evaluated and for type s/x- only decreasing values. Corresponding to
the programmed curve a position set point value is output. If the table
function was incrementally started, then the actual position set point and the
actual x value in N variable 53 are the new zero point of the table. The set
point is set up relatively to this zero point.
The table function can be interrupted with a STOP/HALT command. At STOP
command the last set point is retained, the velocity set point is set up to zero.
A “BREAK” has no effects on this function.

1.6.21 FORCE control (command)

Syntax:
"FORCE" ["C"] <axis> "=" <num. term> ["TIME" <num. term> | "RATE"
<num. term>] ["MODE" {"ON" | "DECOMP"}]

The servo force control is activated. The NC interpreter waits until set point
force reaches its target. Then the program sequence will be continued

mac-8 RE30156-02 51
ECL - Command set

C Continue mode. The NC interpreter does not


wait till the value is reached
TIME Time in which the force is to be reached
RATE Rate at which force increase
MODE ON The force close loop starts immediatelyt
MODE DECOMP The axis is in close loop. An incoming force
will be decompressed with RATE or TIME
No MODE specified The servo-force control is activated. The force
controller takes over the control loop if the
actual force has reached the force set point
value

The specifications TIME and RATE will be always carried out, even if the
force controller has not taken over yet. The ramp runs from present set point
value to the passed target value. The system flag Nx.21 (the pressure
controller curve completed) is cleared at carrying out the FORCE
TIME/RATE and again set at reaching the force target value.
As long as the ramp runs (the system flag "pressure controller curve
completed" has not been set), it is not possible to carry out a new command
FORCE and the NC interpreter will be delayed.

1.6.21.1 FORCE TABLE

Activate a force curve


Syntax:
The instruction below is as additional variant.

"FORCE" ["C"] <axis> "=" <table name>

If the curve in table name is specified as type F/t, it is not started until the first
force set point of the curve has been reached and the force controller is
taking over.
The system flag Nx21 (pressure controller curve ready) is cleared at all curve
types.

mac-8 RE30156-02 52
ECL - Command set

1.6.21.2 FORCE STOP HALT BREAK

"FORCE" <axis> {"STOP" | "HALT" | “BREAK”}

End or stop of the force control loop, respectively stop of the force set point
curve. The NC-interpreter waits for the command quit of the axis and will be
delayed if it is not in close loop.

STOP The force controller is deactivated. The position


controller does not take over until its output
value is smaller than the output value of the
force controller.
If 0 till 2 is entered in the parameter Sx[30]
(mode set point generator, see parameter of the
axis), a possibly current motion will be
terminated and the actual value of the p/F
controllers is calculated back to position set
point value. After taking over the position
controller, the system flag Nx.21 is set (pressure
controller curve ready).
HALT The position controller takes over immediately. If
the p/F controller is active to the time of the
FORCE HALT, a HALT is also carried out on a
possibly running motion. The system flag Nx.21
(pressure controller curve completed) is set.
BREAK The force controller is still active. A running force
set point curve, e.g. F/t, F/s or F/x is cancelled
and the last passed force set point value is still
used. The system flag Nx.21 (pressure controller
curve completed) is set

1.6.22 VIRTUAL axis (command)

VIRTUAL and REAL. With this the axis motions are realized as geometric
dependencies.

VIRTUAL define transformation matrix


Syntax:

"VIRTUAL" <axis number>{"."{<num.variable> | <real.variable>} = {<num-


term> | <real-term> }}x

mac-8 RE30156-02 53
ECL - Command set

The transformation matrix for conversion from virtual in real coordinates is


determined here. For conversion, the R-variables have to be addressed with
the number of the accompanying axis. The virtual axis X16 is addressed by
means of the R16 variable. These R variables are required during virtually
LIN positioning and that is why they may not be changed through the ECL
program. The same conditions as for SET instruction apply for assignments.
Further the transformation matrix may not use the P-variable.
"VIRTUAL OFF"
Switching off the virtual axes causes an implicit „HALT“ instruction on all
involved axes.

REAL define back transformation


Syntax:

"REAL" <axis number>{"."{<num.variable> | <real.variable>} = {<num-term>


| <real-term>}}x

Because of this, the transformation matrix for back conversion from real in
virtual coordinates is determined here. This is only carried out at starting LIN
positioning. For SET instructions apply the same conditions as for VIRTUAL
order.

Example: Circular motion by means of 2 axes.

VIRTUAL X16
.R0 = 100000.*cos(R16/10000.)
.R1 = 100000.*sin(R16/10000.)

REAL X0 | X1
.R16 = acos(R0/100000.) ; the positioning of the virtual axis takes
; place now in 0,1 RAD.
POS A X0 = 100000 ; axes motion on defined circular position
POS A X1 = 0
; Settings for velocity and acceleration of the virtual
;axes should take place ;after VIRTUAL command
vel x16=1000 ;velocity for virtual axis 0.1 rad/sec
acc x16=10%
acc x16=-10%
LIN A X16=15708 ;the virtual axis makes position 1,5708
;RAD(=90 0), X0 on position 0 mm and X1 on
;position 100 mm.

Specific feature:

mac-8 RE30156-02 54
ECL - Command set

The virtual axes may not already exist as real axes. For the virtual axes the S
parameter for maximum velocity, max acceleration, encoder resolution, min and
maximum position must be defined. The transfer of these values takes place with
VIRTUAL command. An AXSET on virtual axes is only possible after VIRTUAL
command. The settings for velocity and acceleration of the virtual axes must take place
after the VIRTUAL command.
For the virtual axes the actual position are not updated in the N variables, but the
OVERRIDE command can be applied. At virtual positioning only the following axis
status flags can be applied:

BREAK, HALT, STOP, Interpolation active.

1.6.23 DAC voltage output (command)

Syntax:

"DAC" [“C“]<axis> "=" <num.term> ["RATE" <num. term> | "TIME"<num.


term>]

On analogue output of the axis a voltage value or voltage ramp can be


output. The NC interpreter waits until DAC set point value reaches its target.
After the program sequence will be continued.

C - Continue mode, the NC interpreter does not wait


RATE - Voltage change in Volt/sec * 1000
TIME - Time for voltage change in sec * 1000

A possibly running positioning is cancelled and the controller is deactivated.


The system flag Nx.32 (DAC ramp completed) is cleared and after reaching
the target value set again. A running ramp can be cancelled through the DAC
command without RATE/TIME declaration.

A change of the system parameter „Voltage direction invert“ (Sx[69]) has no


effect together with this command.

The setting of the "voltage output channel Sx[86] " takes effect.

Example:

DAC X0 = 10000 TIME 10000 ;voltage in 10 sec increase to 10V


DAC X1 = 5000 RATE 1000 ;voltage to 5V with fade 1 V/sec

"DAC" <axis> "=" {"ON" | "OFF"}

mac-8 RE30156-02 55
ECL - Command set

Analogue output on/off


MODE "ON" the current voltage value will be entered, a possibly
running positioning is cancelled and the controller is
deactivated.
MODE "OFF" a switch on position servo control takes place

1.6.24 SYNCH Synchro mode (command)

Syntax:

"SYNCH" <axis master> "ON" <axis sequence slave>

The specified axes will be switched in synchro drive. To carry out a


movement the master axis to be proceeded with a POS command and the
slave axes will follow it. Further, the aster axis can belong to a group of axes
which are proceeded with linear interpolation.
In this case please note that the parameter for the ‘break distance’ (S32[54]
and S32[58]) has no effect.(Value=0)
Attention: Connection with p/F controller
If the synchro drive is used in connection with the force control loop note that
at the settings of the system parameter for the p/F controller the parameter
"mode for the set point generator after taking over of the p/F controller"
(Sx[30] -> see Manual Parameter of the axis, 4.5 Force controller) can only be set on
Continue-mode, e.g. value 0 ( with the back calculation for position set point)
or value 10 (without the calculation).
Another problem exists for Mode 0 (Sx[30] ) at a STOP command and
activated p/F controller. The position set point value of the masters jumps to
its position actual value at STOP command and consequently the slave axes
jump, too! For this reason , if possible you should do without mode 0 (Sx[30])
and only use mode 10 (Sx[30])!

↑EV 5.11:

Slave axes can be also added in the synchro drive mode while positioning
the master. In doing so the slaves can be in standstill or be in positioning
themselves.

↑EV 5.30:

"SYNCH" ["SET 1" | "SET 2"]<axis master> "ON" <axis sequence slave>

It can be optionally distinguished between two global synchro groups SET 1


respectively SET 2. The global axis parameter S32[52] to S32[54] (see
Manual Parameter of the axis 4.6.2 Global settings) are for SET 1 and the
global axis parameter S32[56] till S32[58] ) are valid for SET 2. If no
specification is made, SET 1 is used automatically.

mac-8 RE30156-02 56
ECL - Command set

The set is taken over with each SYNCH ON. It means that with the activation
of the synchro the global controller parameter of the corresponding set will be
copied to the corresponding N variables (see below) of the master. The
values of the these N variables are substantial for the synchro close loop.
The axis related to synchro mode (S parameter) will only be taken over with
axinit. Various resolutions of the axes which take part in synchro drive will be
considered.

"SYNCH" ["1" | "2"] <axis master> "ON" <axis sequence slave>

The command supplement SET 1 and SET 2 will be replaced by 1 and 2 .


The meaning stays the same.

Important: On master card (slot 1) there are two synchro drive groups
possible, that the axes utilize, which are installed on the different cards
(global). However if the used axes (in SYNCH command) lie on the same
card (local), the synchro drive is carried out on this card and does not
occupy any of the two global synchro drive groups. Maximum two local
synchro drive groups can be built per card. The parameter transfer at the
activation of the synchro mode is identical for local and global synchro drive
as is described in the chapter before. A synchro drive group identifies itself
through the specified master card in SYNCH command. The management of
the synchro drive groups takes place automatically.
If it is not possible to set the SYNCH command because of double
reservation of a axis or missing free synchro drive group, it will be delayed till
the condition for the command is fulfilled. If no specification is made for the
slave axis in SYNCH command, this command will be ignored and the NC
interpret will not be delayed.
"SYNCH" <axis master> "OFF"
The synchro drive will be deactivated. If this takes place during a motion, the
slave axes will be stopped, the master goes through with the movement. If
the force controller has been in operation, it will not be deactivated.

General function of the synchro mode:

To the time in which the command SYNCH is carried out, all current
OFFSETS of all slaves are saved and kept to the master. The movements
are carried out relatively to this start position.

The offset should be not changed by the ECL program. For dynamic
changing the synchro correction ↑EV 6.05 is available. At the SYNCH ON the
actual offset is entered into the N variable 49. If the offset of the master is
set unequal zero, then at HALT, POS HALT or STOP it will be set to zero
and transferred to the slaves.
The synchro correction can be changed dynamically during synchro mode by
overwriting the N variable Nx.55. At SYNCH ON the actual correction is not
changed.
mac-8 RE30156-02 57
ECL - Command set

The set point of the synchro axes is limited to minimal travel area
respectively maximal travel area (Sx[71] and Sx[72]). At reaching the limit
value no error will not be created. The different travel areas can cause
individual axes to remain at their limit (without set point ramp) and to run
again when the “not limited axes” return. If a program is interrupted while
carrying out a SYNCH command or cancelled during a synchro movement
through an error( synchro error, close loop error) a "SYNCH OFF" command
must be then carried out for ensuring a proper synchro drive. This can also
take place as a prevention before the ”SYNCH ON”.

The functional block diagram over the function of the synchro mode is
described in chapter “Parameter of the axis”. There are several modes of
the synchro available. (see manual “Parameter of the axis “ Chapter 4.6)

mac-8 RE30156-02 58
ECL - Command set

Explanations for understanding of the synchro mode


To understand the principle of the synchro mode the internal sequences respectively
some formulas will be shown:

s yn c h ro -
pos. - com m and p r in c ip le fo rc e - c o m m a n d

p o s .- p re s s u re -
s e t p o in t- s e t p o in t-
g e n e r a to r g e n e r a to r

I- P I-
c o n tr o lle r c o n tr o lle r

+ +

p o s .- p re s s u re -
c o n tr o lle r c o n tr o lle r

s w itc h o n - lo g ic
a c tiv e - > p a s s iv e

Concept explanations:

Master axis is the command axis of the synchro mode in the program line of
the SYNCH call. Only this axis can accept position commands on behalf of
all synchro axes. Leading axis (value) is the axis, that according to synchro
principle provides the reference value. During the axis movements the
leading property can be changed over to other axis depending on synchro
mode S32[52] (SET 1) or S32[56] (SET 2). This new internal synchro master
axis will be here named leading axis or actual master axis.

Ref_PosInt: internal synchro set point position of the slave


axis
synchro reference (set point position of the
Gl_Ref_Pos:
leading axis) (Nx.36)
Gl_Start_Pos: synchro start position , reference position at
time of the SYNCH ON commands (Nx.58)
Gl_Verh: synchro ratio to master axis (Sx[84])

mac-8 RE30156-02 59
ECL - Command set

Gl_offs: synchro offset to master axis , will be set and


used by controller at SYNCH ON (Nx.49)
Gl_Korr: freely used synchro correction of the slave
axis (Nx.55)
I_Ant: I – part of the synchro (Nx.37)
IstPosIntMaste actual position (Nx.2) of the current leading
axis (internal master axis)..
IstPosSlave actual position (Nx.2) of the slave axis..

Formulas for synchro movement:

Internal synchro set point position for all axes:

Soll_PosInt = ( Gl_Ref_Pos - Gl_Start_Pos ) ∗ Gl_Verh + Gl_Start_Pos - Gl_offs - Gl_Korr

For the master axis is valid for time of the SYNCH ON:
Gl_offs = 0
Gl_Verh = 1
Gl_Ref_Pos = Gl_Start_Pos
Set point position for the slave axes:
Soll_Pos = Soll_PosInt + I_Ant

Synchro error of the slave axes:


Gl_Fehler = IstPosIntMaster + IstPosSlave

At the determination of the synchro error the synchro ratio, synchro offset
and synchro correction are automatically considered

Outlines for the effect of the I-part

The I part increases in the integration time to the synchro error, but it can not exceed
mac-8 RE30156-02 60
ECL - Command set

the maximum I part (Sx[89]])!

Meaning for the synchro used N-variables

Nx.36 Synchro position reference


This value is the absolute set point position of the master axis at set point
value generator output. (At this position all slave axes without influence
through offset, I-part or factor should be even, too).

Nx.37 Synchro I-part

mac-8 RE30156-02 61
ECL - Command set

The I-part results from the synchro error (Nx.52) and the integration time
(Sx[82]). It will be limited by the maximal I-part (Sx[85]). In both outlines on
the previous page the creation of the I-part is illustrated.
Nx.40 Synchro difference
This value is the actual value difference to current master axis, taking in to
consideration the synchro offsets, the synchro correction and the synchro
ratio.
Nx.49 Synchro offset
The synchro offset will be calculated when the SYNCH command will be
executed. At processing the SYNCH command this value is zero for the
master, and for the slave axes = set point difference – synchro correction
(Nx.55).
Nx.50 Synchro BREAK
This value is the actual valid Break distance. It will be overwritten by the
global Break Distance (S32[54] SET1 respectively S32[58] SET2) during
start of SYNCH ON. During run time is this variable alterable.
Nx.51 Synchro error
This value is actual maximum valid error distance. It will be overwritten by the
global error (S32[53] SET1 respectively S32[57] SET2) during start of
SYNCH ON . During run time this variable is alterable..

Nx.52 Synchro weighting


This value describes the weighting of the synchro principle in 0 to 100% and
has only one meaning at the mean value principle. The virtual leading value
complies more to the axis with the smallest actual value at a weighting below
50%, and more to the axis with the biggest actual value by a weighting over
50%.
Nx.54 Maximal synchro difference
This value shows the absolute biggest actual difference between the biggest
and the smallest actual value of all axes which are bound with this axis in
synchro mode. By the analysis this value it must be considered synchro
offset, correction and ratio.!

Nx.55 Synchro correction


This value is already effective at SYNCH command and it is not set to zero
with the activation of the synchro mode. The total synchro offset results from
the sum Nx.49 + Nx.55. The correction is only effective for the considered
axis.

Nx.56 Leading axis

mac-8 RE30156-02 62
ECL - Command set

This value shows the number of the Internal Master Axis (leading axis) by
the N-variables of the master axis. Depending on synchro mode the address
of the master can be changed during a movement. Axis X0 has the value 32,
the others the value corresponding to axis number (e.g. 11 for X11) provided
with the sign of the synchro ratio (e.g.. –2 for X2, if a negative ratio exists
here).
Nx.57 current actual position of the leading axis
This value shows the actual value of the internal master axis (leading axis )
Nx.58 Synchro start position
Set point position of the master axis in time of SYNCH ON . It will be used as
start value (reference value).

Examples for typical synchro movement sequences:

X0: act. master

course X1

course X2

X1: act. master

synchro with offset 100 mm.

mac-8 RE30156-02 63
ECL - Command set

X0 master

course X1

course X0

X1 master

synchro with offset 100 and ratio +0,5.

X0 master

course X1

course X0

X1 master

synchro with offset 100 and ratio –0,5.

mac-8 RE30156-02 64
ECL - Command set

1.6.25 FUNC axis function (command)

Syntax:
"FUNC" <function number> <axis> [<num. term]x

Carrying out of the axis functions.

num. term1: specification of the position [units], from which the force
should arise.
num. term2: specification of the slope [*1000], with which the force
dependent on the position should arise. The sign gives the
direction in which the force arises.

Function number 1: force simulation switch on

Example:
FUNC 1 X0 100000 1000 ;the force rise takes place from the position
100mm ;in positive direction with factor 1.

↑EV 5.24

Function number 4: encoder-number change over


num. Term 1:see manual "Parameter of the axis", parameter 85.

Example:
FUNC 4 X0 2 ;the encoder's actual value of the hardware axis 2 of the
card is read in.

↑EV 5.33

Function number 5: voltage output channel adjust


num. Term 1: see manual "Parameter of the axis", parameter 86

Example:
FUNC 5 X0 12 ;The DAC value of the axis 0 is to be output on ;hardware
axis 0 and 1 ;of the card.

mac-8 RE30156-02 65
ECL - Command set

1.6.26 SIMU simulation (command)

Syntax:

"SIMU" ["FORCE"] {"ON" | "OFF"}x

The specified axis is switched to simulation. All positioning instructions are


executed correctly, but 0 V is always output on the DAC. This allows axis
motions to be tested, although no drive is available.
without specific. -All position instruction will be carried out properly, but on
the DAC there will always be output 0 volt. Because of that the axis motions
can be tested, although no drive is available.
The position actual value is set on the position set point value, thus the axis
parameter as encoder offset, actual value invert and so on do not take effect.
↑EV 5.32

The command HOME mode 0 takes as well effect at simulated axis.

FORCE
The specified axis is switched over to force simulation. The N variable for
the force actual value can now be written external.

Example:
SIMU X0 ON ; Simulation of the position actual value for axis 0 on.
SIMU FORCE X0 ON; Simulation of the force actual value for axis 0 on.

1.6.27 HOME travel to reference point (command)

Syntax:

"HOME" <axis> <reference mode>

Travel to reference points activate.(only for incremental encoder)


The following modes are available:
0: Actual value is set directly to the value of the zero point correction.

IIf encoder is on simulation mode then the position set point and
consequently the actual value is set on zero.

1: The zero pulse signal is activated. After crossing the zero mark, the
position actual value is initialized and after that the zero pulse is again
locked.

mac-8 RE30156-02 66
ECL - Command set

2: The zero pulse signal is activated. After crossing the zero mark, the
position actual value is initialized. The zero pulse remains active.

1.6.28 START REGLER controller function (command)

Syntax:

“START” “REGLER” “SP”<subprograms> <axis>

The ECL function is entered for a given axis. To activate this ECL function
the switch in N variable 43 must be set respectively cleared to deactivate this
function. At AXINIT/AXSET the switch is automatically cleared. The axis and
ECL function must be located on the same card.
The allowable commands are:

SET
MSET
IF ELSE
JUMP LABEL
JUMP SP
WHILE
OVER

With the MSET instruction the all variables are available. The local
P variables of the controller function can not be displayed. They are referred
to axis and therefore they can be addressed only within this controller
function.
The ECL controller function is called from axis controller on appropriate
position (see Controller structure Chapter 4). Not permissible commands
within this controller function lead to interruption of the function, the following
commands will be not carried out, the controller outputs 0 volt. If the ECL
controller function is active, the N variable 41 serves as input value that has
the calculated actual value of the controller. The N variable 42 serves as
output variable and must be overwritten by the ECL function.
The ECL controller function is as well processed if the axis is not in the close
loop mode.

Example:
BEGIN MP_TEST
axinit
unlock X0

START REGLER ;controller function located on axis 0

mac-8 RE30156-02 67
ECL - Command set

SP_REGLER X0 ;on the same card.

SET N0.43 = N0.43 | ;switch on ECL controller function


0x10000000

wait i0.1 = L
SET N0.43 = N0.43 ;switch off ECL controller function
!0x10000000
END

BEGIN SP_REGLER ;ECL controller function


if N0.2 > 100000 ;if act. pos > 100 mm
SET N0.42 = 1000 ;1 volt output
ELSE
SET N0.42 = N0.41 ;otherwise pass on controller value
END

mac-8 RE30156-02 68
ECL - Command set

1.7 Measured value acquisition

1.7.1 TIMER time counter

Syntax:

"TIMER" <standard variable> {"ON" | "OFF" | "UP" | "DOWN"}

TIMER" <input variable> {"ON" | "OFF" | "UP" | "DOWN"}

Start counter. The <standard variable> is incremented in steps of 10 in the


10 ms grid. This allows a time to be directly specified in milliseconds. By
means of the option UP and DOWN can be selected between
increment/decrement. With the option DOWN the variable is decremented
from current value to zero. Maximum 16 timer can be activate at the same
time. The meaning of „ON“ equals „DOWN“

Example:
TIMER V0 = 1000 ; time is 1sec
TIMER V0 DOWN ;timer start
WAIT V0 <= 0 ; wait until time variable has counted down to ; zero

1.7.2 TRACE oscilloscope function

Syntax:

"TRACE" <trace number> "CHANNEL" <channel number> "=" {<num.


term> | <log. term>}

Assign channel and recording variable (as well term) to the oscilloscope
function. The channels must always be declared via "DIM".
The trace number 0: maximum recording rate is 10msec.
The trace number 1: maximum recording rate is the sample time of the close
loop controller.
Channel number = 1 - 31.

mac-8 RE30156-02 69
ECL - Command set

"FTRACE" <Trace number> "CHANNEL" <channel number> "=" " VTYP


" <num. Term> " INDEX1 " <num. Term> [" INDEX2 " <num. Term> ["
INDEX3 " <num. Term> ] ]

This command for assigning the channel and recording variable to the
oscilloscope function differs from the former command. The differentiation is
characterized by the type of variable and its indices , which are clearly
defined at the time of the assignment. This means they don’t have to be
determined anymore during the recording. The channels must be declared
via "DIM".

0 minimal recording rate is 10msec


Tracenumber = 1 minimal recording rate equals controller
sampling time
0 no recording
1 N-Variable with standard 3- decimal places
2 F-Variable
3 I-Variable
4 O-Variable.
5 V-Variable
6 F-Flag
7 I-Flag
V type =
8 O-Flag
9 V-Flag
10 dummy
11 N-Variable with 1-decimal place
12 N-Variable with 2-decimal places
13 A-Variable.
14 A-Flag.
15 N-Flag

0 - 31 for Axis- nr. of N- and F-variables


0 -7 for software I/O-card- nr of I- and O-variable
Index 1
0 – 255 for variable-nr. of V-variables.
0 - ... for A-Field- nr. of A-variables (*)

1 – 64 for Variable-nr. of N-variables


1 – 32 for Flag-nr. of F-, I-, O- and V-variables
Index 2
for Element-nr. of A-variables (*)
0 – ...
Is omitted at type F-, I-, O- and v-variables

mac-8 RE30156-02 70
ECL - Command set

for flag-nr. of N- and A-variables


Index 3 1 - 32
Is omitted at the other types

"TRACE" <trace number> "CHANNEL" <channel number> "=" "OFF"

Deactivate the oscilloscope function in the given channel.

"TRACE" <trace number> "TIME" <num. term>

Define sampling time in milliseconds.

"TRACE" <trace number> "DELAY" <num. term>

Define oscilloscope time delay. When the start or stop trigger condition has
been satisfied, the delay time runs until the recording is started or stopped
respectively.

"TRACE" <trace number> "START"

Start oscilloscope function. The buffer is read full once. The function
terminates on its own.

"TRACE" <trace number> "START" "IF" <term compare>

Oscilloscope function with start trigger condition. As soon as the trigger


condition has been satisfied, the buffer is read full once. The function
terminates on its own.

"TRACE" <trace number> "START" "IF" <log. term> "=" <log. transition>

Oscilloscope function with start trigger condition. This syntax applies only
when test is carried out for a logical transition.

"TRACE" <trace number> "START" "UNTIL" <term compare>

Oscilloscope function with stop trigger condition is started. The buffer is used
as ring buffer. As soon as the trigger condition is satisfied, the TRACE is
stopped.

"TRACE" <trace number> "START" "UNTIL" <log. term> "=" <log.


transition>
mac-8 RE30156-02 71
ECL - Command set

Start oscilloscope function with stop trigger condition. This syntax applies
only when test is carried out for a logical transition.

"TRACE" <trace number> "START" "CONT"

Start oscilloscope function. The data are read in continuously. The function
must be terminated by means of "TRACE" "STOP".

"TRACE" <trace number> "STOP"

Stop oscilloscope function.

1.8 Dialog commands

A hand-held operator control unit or a terminal can be linked to the MAC-8


The inputs and outputs as well as the complete menu structure can be
defined by means of the ECL commands.

1.8.1 DIALOG

Syntax:

"TRACE" <trace number> "STOP"

This command initializes and permits the ECL dialog. In addition, with this
instruction the standard communication protocol of the selected MAC-8
interface is replaced by the dialog communications protocol to the operator
control section. The ECL command "START DIALOG" must be called up
before all other dialog commands.

"START" "DIALOG" <device> <interface> [SLOT <slot number>]

BE1 hand-held operator control unit


device 1 – 32 hand-held operator control unit
VT100 terminal oder PC

mac-8 RE30156-02 72
ECL - Command set

Handbediengerät, muß im Setup auf 19200 Baud


MBDT
eingestellt werden
S3964 Siemens 3964R protocol for PLC
S3964N Siemens 3964R protocol for PLC without parity check
S3964- Siemens 3964R protocol for PLC with 19200 Baud
19200
S3964N- Siemens 3964R protocol for PLC without parity check
19200" with 19200 Baud
Output of the characters without the control code for the
ASCII position. Special character `\n`and `\r`are allowed within
the character string.
USERBUS Profibus DP / INTERBUS S, only on interface 2
"BUS Profibus DP / INTERBUS S, only on interface 2

1 -RS232 interface on a board


Interface 2 -RS485 interface or bus (plug X*.11A)
3 -RS485 interface (plug X*.11C)

If as device a BUS or a USERBUS is specified , the specification of the


interface number has the meaning of the participant number that should be in
the range from 3 to 124.
For the Interbus S-module this specification is without meaning

Slot number 2 to 8 card number on which the interface lies

If no specification is made, the interface is used on slot 1. The specifications


is neither for Siemens protocol nor for Profibus DP connection possible and it
may only be used in ECL program on a MASTER card!
If a non existent interface is specified, the NC interpret is delayed.
Example:

START DIALOG VT100 3 ;starts the dialog for a VT100-


;terminal on the RS485 interface 3
;(plug X*.11C)

START DIALOG BB3 2 SLOT 4 ;starts the dialog for a BB3-terminal


;on the RS485 interface 2 (plug
;X*.11A) Slot 4

1.8.2 WINDOW

Syntax:

mac-8 RE30156-02 73
ECL - Command set

"WINDOW" <window> "ZA" <line> "ZE" <line> "SA" <column> "SE"


<column>

"WINDOW" defines an input/output area from initial line "ZA" to end line "ZE"
and initial column "SA" to end column "SE". It is possible to define up to 32
windows.

"WINDOW" <window> "DISPLAY"

The selected window is activated in the scroll mode (scroll keys active,
cursor inactive).

"WINDOW" <window> "INPUT"

The selected window is activated for the input (scroll keys active, cursor
active).

"WINDOW" <window> "OFF"

The selected window is deactivated (data are retained, cursor is inactive).

"WINDOW" <window> "CLEAR"

The window and all input/output requests are cleared.

1.8.3 DISPLAY

Syntax:

"DISPLAY" <window> ["," <line> "," <column>] <string>

Output of a text at the specified location. The output location within the
window is specified by <line> and <column>. The line and column
specifications are relative values with respect to the window. If no output
position is specified, the default value zero is assumed. The line number can
be selected to be greater than the specified window area. The line would
then be in the "invisible" area of the window and can be fetched into the
window by pressing the scroll keys. Large input/output lists can be handled
easily in this way.

mac-8 RE30156-02 74
ECL - Command set

"DISPLAY" <window> [","<line> ","<column>] {<string> | <num. term>


"%"<format>"%"}x

Output of texts and variables starting at the specified location. The format
specification determines the form of representation of the variable.

1.8.4 INPUT

Syntax:

"INPUT" <window> ["," <line> "," <column>] {<string> | <standard


variable> "%"<format>"%" ["MIN"<num. term> "MAX"<num. term>]}x

This instruction permits input to a variable in a specified format and the


min./max. values can optionally be checked. Input is only possible, however,
if the current authorization value is greater than or equal to the authorization
level.

1.8.5 LEVEL

Syntax:

"LEVEL" <window> <num. term>

The authorization level for the input within a window can be set with this
command. This level is valid till it is changed by the next LEVEL instruction.
Any number of levels can be used.

"LEVEL" <num. term> "ON"

The required authorization value can be set after a code check procedure
has been successfully completed. The code check is carried out using the
INPUT and IF commands.

mac-8 RE30156-02 75
ECL - Command set

1.8.6 READ_KEY

Syntax:

"READ_KEY" <standard variable>

This command reads in the key that was last pressed and stores the relevant
code in the specified variable. If no key has been pressed, a zero is stored.
The device-specific control sequences and key codes are defined as #define.

1.8.7 SSET

Syntax:

"SSET" <data field> "=" <string>

The string is assigned to the data field element.

mac-8 RE30156-02 76
ECL - Command set

1.9 Special commands

The commands listed here require the depth system knowledge of the MAC-
8. There are many requirements for the program which works as task, that
have to be fulfilled, but that are not explained in further detail here. These
functions should therefore not be used.

1.9.1 CALL Address

Syntax:

"CALL" <address> <variable>

The address specified in hexadecimal form is jumped to directly from the


processor and the program located there is executed. This allows special
functions to be implemented. The program must satisfy the system
requirements. The V, F, P, A, S and R variables serve as parameters.
The address of the specified variables is then located on the stack.

1.9.2 START/STOP TASK

Syntax:

"START" "TASK" "name" <address> <type> <priority> <stack>

A new task is logged-in and started. The program must satisfy the
requirements of the system.

name The name of the task must have a length of 4 characters. The
capitalization is distinguished
address The address of the program is specified in hexadecimal form.
0 task with high priority
type
1 task with low priority
priority The value of the priority is between 1% and 100%
stack In bytes ( up to 65535 Bytes )

"STOP" "TASK" "Name"


The task is stopped and logged-out again.

mac-8 RE30156-02 77
ECL - Command set

1.10 Hints

* When a command is evaluated, no distinction is made between upper and


lower case characters (exceptions: "#define" and "#include").
* With "\", line breaks are possible in every command line (exceptions:
"#define" and "#include").
* When evaluating numerical and logical terms, priority rules are to be
noticed.
A storage area of up to 128 KByte is available to the ECL program.

mac-8 RE30156-02 78
ECL - Command set

1.11 List of N variables

xx = axis number 0-31

Variable Ident. Meaning Normalization


Nxx.1 state axis status/error number
Nxx.2 s(act.val) actual value position units * 1000
Nxx.3 s(set point) set point value position units * 1000
Nxx.4 s(target) target position units * 1000
Nxx.5 s(diff) control deviation s(set point)- units * 1000
s(act.val)
Nxx.6 v(act.val) actual value velocity units * 1000
Nxx.7 v(set point) set point value velocity units * 1000
Nxx.8 override override value 0..200%
Nxx.9 a(act.val) actual value acceleration
Nxx.10 a(set point) set point value acceleration
Nxx.11 p(act.val) actual value pressure
Nxx.12 p(set point) set point value pressure
Nxx.13 DAC analogue output -10000..10000
= -10..10V
Nxx.14 correction voltage correction
Nxx.15 ADC A analogue input A -10000..10000
= -10..10V
Nxx.16 ADC B analogue input B -10000..10000
= -10..10V
Nxx.17 ADC (A)f filtered value from analogue -10000..10000
input A = -10..10V
Nxx.18 ADC (B)f filtered value from analogue -10000..10000
input B = -10..10V
Nxx.19 s(controller) controller (position part) -10000..10000
= -10..10V
Nxx.20 i(controller) controller (I-part) -10000..10000
= -10..10V
Nxx.21 v(controller) controller (velocity part) -10000..10000
= -10..10V
Nxx.22 a(controller controller (acceleration part) -10000..10000
) = -10..10V
Nxx.23 s(CTR)out output position controller -10000..10000
= -10..10V
Nxx.24 p(CTR)out output pressure controller -10000..10000
= -10..10V

mac-8 RE30156-02 79
ECL - Command set

Nxx.25 p(P/F-CTR) p/f-controller (p-part) -10000..10000


= -10..10V
Nxx.26 i(P/F-CTR) p/f-controller (i-part) -10000..10000
= -10..10V
Nxx.27 v(P/F-CTR) p/f-controller (v-part) -10000..10000
= -10..10V
Nxx.28 s(diff)real control deviation real
Nxx.29 v(act)org not filtered actual value
velocity
Nxx.30 x(TABLE) input value table external
Nxx.31 v(P/F)ext p/f-controller external v-added -10000..10000
value = -10..10V
Nxx.32 s(set set point position delayed
point)vz
Nxx.33 v(set set point velocity delayed
point)vz
Nxx.34 s(set point)- set point position from
1 sampling -1
Nxx.35 v(set point)- set point velocity from units * 1000
1 sampling -1
Nxx.36 r(SYNCH) synchro drive mode position units * 1000
reference
Nxx.37 I(SYNCH) synchro drive mode (I part) units * 1000
↑ EV 5.20
Nxx.38 +s(REG)ext pos. controller added value -10000..10000
(external) = -10.. 10V
↑ EV 5.20
Nxx.39 stat(SSI) SSI encoder status
↑ EV 5.30
Nxx.40 s(synchro) synchro drive mode difference units * 1000
Nxx.41 IN(ECLCT ECL controller IN
R)
Nxx.42 OUT(ECLC ECL controller out
TR)
Nxx.43 switch controller switch
Nxx.44 <USER <USER 44>
44>
Nxx.45 <USER <USER 45>
45>
Nxx.46 <USER <USER 46>
46>
Nxx.47 <USER <USER 47>
47>
Nxx.48 <USER <USER 48>
48>
↑ EV 5.44
Nxx.49 o(SYNCH) synchro offset units * 1000

mac-8 RE30156-02 80
ECL - Command set
↑ EV 5.44
Nxx.50 b(SYNCH) synchro break units * 1000
↑ EV 5.44
Nxx.51 f(SYNCH) synchro error units * 1000
Nxx.52 g(SYNCH) synchro weighting 0 – 100%
↑ EV 5.45
Nxx.53 x(sTABLE) input value POS table external
Nxx.54 f(SYNCH)m Max.synchro difference
ax
Nxx.55 corr(SYNC Synchro correction
H)
Nxx.56 Xn(SYNCH Synchro leading axis
)
Nxx.57 s(SYNCH) Actual position leading axis
Xn
Nxx.58 s(SYNCH)s Synchro start position
tart
Nxx.59 p(set negative set point pressure
point)neg
Nxx.60 <dummy <dummy 60>
60>
Nxx.61 <dummy <dummy 61>
61>
Nxx.62 <dummy <dummy 62>
62>
Nxx.63 <dummy <dummy 63>
63>
Nxx.64 <dummy <dummy 64>
64>

mac-8 RE30156-02 81
ECL - Command set

1.12 Description of the N variables

Variabl Meaning Help Text


e
Nxx.1 axis status/error 0 no release control loop
number 1 axis stands in position closed loop
2 positioning active
3 interpolation active
4 pressure controller active
-20 encoder defect
-23 positions missing from interpolator
-30 lag error
-31 position time out (closed loop)
Nxx.2 actual value Actual position of the axis
position
Nxx.3 set point value Actual set point position of the axis:
position external writable when axis in closed loop and Flag
Fxx.13 = H. Positioning takes place through controller
over control deviation.
Nxx.4 target position Actual target position of the axis:
external writable when the axis in closed loop and Flag
Fxx.13 = H. Positioning only in combination with setting
of the set point velocity Nxx.7.
Nxx.5 control deviation Control deviation = set point position Nxx.3 - actual
s(set point)- position Nxx.2
s(act.val
Nxx.6 actual value Actual velocity:
velocity is formed considering the measure buffer size Sxx[77]
and calculation mode Sxx[78].
Nxx.7 set point value Set point velocity:
velocity external writable when the axis in closed loop and Flag
Fxx.13 = H as set point velocity
a) at setting of the target position Nxx.7
b) at setting of the set point acceleration Nxx.
Nxx.8 override value Override set the position velocity on percentage of the
set point velocity (limited through the maximum velocity
Sxx[73]).
Nxx.9 actual value Actual acceleration of the axis
acceleration
Nxx.10 set point value Actual set point acceleration of the axis:
acceleration external writable when the axis in closed loop over set
point velocity Nxx.7 should be processed.

mac-8 RE30156-02 82
ECL - Command set

Nxx.11 actual value Actual pressure value of the axis


pressure
Nxx.12 set point value Actual set point pressure of the axis
pressure
Nxx.13 analogue output Analogue DAC - output voltage of the axis
(at current output: +-10V = +-23mA)
Nxx.14 voltage correction Voltage correction:
The correction has effect only when the axis is in
closed loop.
Nxx.15 analogue input A Analogue input A (not filtered)
Nxx.16 analogue input B Analogue input B (not filtered)
Nxx.17 filtered value from Analogue input A (filtered, see filter constant Sxx[44])
analogue input A
Nxx.18 filtered value from Analogue input B (filtered, see filter constant Sxx[45])
analogue input B
Nxx.19 controller (position Controller position part (see manual: controller block
part) diagram)
Nxx.20 controller (I-part) Controller position - I-part (see manual: controller
block diagram)
Nxx.21 controller (velocity Controller velocity part (see manual : controller block
part) diagram)
Nxx.22 controller Controller acceleration part (see manual : controller
(acceleration part) block diagram)
Nxx.23 output position Output voltage position controller (see manual :
controller controller block diagram)
Nxx.24 output pressure Output voltage pressure controller (see manual :
controller controller block diagram)
Nxx.25 p/f -controller (p- p/f-controller p-part (see manual : controller block
part) diagram)
Nxx.26 p/f -controller (i- p/f-controller i-part (see manual : controller block
part) diagram)
Nxx.27 p/f -controller (v- p/f-controller v-part (see manual : controller block
part) diagram)
Nxx.28 control deviation Control deviation real = set point position (from
real sampling -1) - actual position
Nxx.29 not filtered actual Not filtered actual velocity
value velocity
Nxx.30 input value table Input value table external:
external in combination with FORCE - command and table F/x,
the set point of the pressure is determined with the
value from Nxx.30.
Nxx.31 p/f-controller p/f-controller v -added value (external):
external v-added only in connection with switch 'Mode for V-added
value value' Sxx[40] = 3
mac-8 RE30156-02 83
ECL - Command set

Nxx.32 set point position Set point position delayed (after dead time Sxx[2])
delayed
Nxx.33 set point velocity Set point velocity delayed (after dead time Sxx[15])
delayed
Nxx.34 set point position Set point position (from sampling time -1)
from sampling -1
Nxx.35 set point velocity Set point velocity (from sampling time -1)
from sampling -1
Nxx.36 synchro drive Synchro (SYNCH) position reference:
mode position Value of the set point generator after POS - command
reference
Nxx.37 synchro drive Synchro (SYNCH) I-part
mode (I part)
Nxx.38 pos. controller Positions controller, added value (external):
added value only in connection with switch 'external Pos. added
(external) value' Sxx[90]
Nxx.39 SSI -encoder SSI - encoder status:
status Bit pattern encoder signal above data bits (sign resp.
Error status).
Nxx.40 Synchro - Synchro (SYNCH) difference = position reference
difference Nxx.36 - actual position Nxx.2
Nxx.41 ECL -controller IN ECL - controller IN:
Output value of the internal controller. Value can be
used as input value of the ECL-controller (see ECL-
command: START REGLER).
Nxx.42 Nxx.1 ECL - controller OUT:
only at activated ECL - user controller, it reolaces the
output value of the internal controller (see ECL-
command: START REGLER).
Nxx.43 controller switch Controller - switch:
Bit 32 serves to On respectively Off of the ECL - user
controller (see ECL-command: START REGLER).
Nxx.44 USER USER - variables:
a) for communication at processes on different slots
b) at special - controller configurations
Nxx.45 USER USER - variables:
a) for communication at processes on different slots
b) at special - controller configurations
Nxx.46 USER USER - variables:
a) for communication at processes on different slots
b) at special - controller configurations
Nxx.47 USER USER - variables:
a) for communication at processes on different slots

mac-8 RE30156-02 84
ECL - Command set

b) at special - controller configurations


Nxx.48 USER USER - variables:
a) for communication at processes on different slots
b) at special - controller configurations
Nxx.49 Synchro - offset Synchro (SYNCH) Offset:
at SYNCH ON the actual offset is specified as master
Nxx.49. The value of these variables and thus the
offset can be dynamically changed during the synchro
movement.
Nxx.50 Synchro- BREAK Synchro (SYNCH) Break:
at SYNCH ON the actual break-distance is taken over
from parameter Sxx[54] respectively Sxx[58]. The
value can be changed during synchro movement (only
valid for synchro master).
Nxx.51 Synchro- ERROR Synchro (SYNCH) Error:
at SYNCH ON the actual error difference is taken over
from parameter Sxx[53] respectively Sxx[57]. The
value can be changed during synchro movement (only
valid for synchro master).
Nxx.52 Synchro- weighting Synchro (SYNCH) weighting:
Weighting for synchro mode 4 after "weighting
average principle" (only valid for synchro master).
Nxx.53 Input value POS- Input value POS - table external:
Table external In connection with POS -command and table s/x the
set point of the position is determined with the value of
Nxx.53.
Nxx.54 Max. synchro- Max. synchro (SYNCH) difference (only is displayed at
difference synchro master) :
is the maximum synchro difference Nxx.40 from all
involved axes of a synchro group.
Nxx.55 Synchro correction Freely available synchro correction, it can be
dynamically changed during synchro movement. Actual
axis number of the synchro master.
Nxx.56 Leading axis Number of the internal synchro master axis (depending
of the synchro mode).
1 means X1 is internal master axis, 31 means X31, 32
means X0
Nxx.57 Actual position of Actual position of the internal synchro master axis (only
the leading axis valid for synchro master)
Nxx.58 Synchro start Synchro position reference of the master axis in time of
position SYNCH ON (only valid for synchro master)
Nxx.59 Negative set point It is only effective if pressure controller is activated for
pressure positive and negative direction (Controller switch Nx43
bit 18 = H)
Nxx.60 Nr. act. curve Number of the act curve section in the F/t-, F/s or F/x-
mac-8 RE30156-02 85
ECL - Command set

section curve with m points.


Nxx.60 = 0 : no ^pressure closed lopp control with F-
curve resp. Before first point
= n < m : from interdot n
= m : after last point m
(Force-command with option [TIME|RATE] is a F/t-
curve with two points)
Nxx.61 PressureSetpoint_ Correction resp.offset for pressure set point by v-added
Correktion valueof the pressure controller.
i.e. Nxx.61 will be only considered if Sxx[40] <> 0 and
Sxx[39] <> 0
Unit: as pressure setpoint Nxx.12. value range :
arbitrary
v_added value part = function( p_soll + p_soll_korr, ...)

mac-8 RE30156-02 86
ECL - Command set

1.13 Nx.43 : Switch for controller configuration

Name Hex value Corresponding S- S Parameter

Bit No.
parameter number,
value

S_TOTZEIT S1 0X000000 dead time s_soll Sx[01]=1


01
VZ1 S2 0X000000 T1 controller output Sx[05]=1
02
I_ANT_EIN S3 0X000000 I-part always ON Sx[12]=1
04
I_ANT_AUS S4 0X000000 I-part always OFF Sx[13]=1
08
V_TOTZEIT S5 0X000000 dead time v_soll Sx[14]=1
10
V_SOLL_EIN S6 0X000000 v-soll-added value Sx[16]=1
20
V_IST_EIN S7 0X000000 v-ist –feed back Sx[18]=1
40
A_SOLL_EIN S8 0X000000 a-soll-added value Sx[20]=1
80
A_IST_EIN S9 0X000001 a-ist –feed back Sx[23]=1
00
P_IST_EIN S10 0X000002 p-ist –feed back Sx[25]=1
00
KENNLINIE S11 0X000004 Valve characteristic Sx[49]=1
00
SPG_INV S12 0X000008 DAC sign invert Sx[69]=1
00
S_IST_INV S13 0X000010 s_ist sign Sx[68]=1
00
IST_MITTELW S14 0X000020 V_Ist filter Sx[78]=1
00
POS_REGL_EXT S15 0X000040 ext. set point added value. Sx[90]=1
00
F_AUTO_ABFRAGE S18 0X000200 Pr.rise with +/- sign Nx.43.18=H
00
F_NEG_ABFRAGE S19 0X000400 Pr.rise with neg. sign Nx.43.19=H
00
UMSCHALTMODE S20 0X000800 switch-mode 1 POS => PR Sx[28]=1
00
UMSCHALTMODE2 S21 0X001000 switch-mode 2 POS => PR Sx[28]=2
00

mac-8 RE30156-02 87
ECL - Command set

RUECKSCHALTMODE S22 0X002000 Switch back-mode 1 PR => Sx[29]=1


00 POS
SSOLL_STOP S23 0X004000 SPG-mode PR-controller Sx[30]=1
00
F_WIRKRICHTUNG S24 0X008000 Pr. effects in neg direction. Sx[27]=1
00
SSOLL_ZIEL S25 0X010000 SWG-mode DR-Regler Sx[30]=2
00
F_VAUFSCHALT S26 0X020000 v-..added value pressure. Sx[39]=0,
00 Sx[40]
F_STOP_OHNE S27 0X040000 SPG-m. PR. without. Sx[30]>10
00 feedback.
S_SSI_VORZ S28 0X080000 SSI-encoder with sign Sx[65]=1xxyy
00
ECL_REGL_FKT S29 0X100000 ext. ECL-controller Nx.43.29=H
00
F_VAUFSCH_EIN S30 0X200000 v-added. active pressure. Sx[40]>0
00

mac-8 RE30156-02 88
ECL - Command set

1.14 List of axis status flags

xx = axis number 0-31

Variable Meaning A access / R read


W write
Fxx.1 POS-BREAK R/W
Fxx.2 POS-STOP R/W
Fxx.3 HALT R/W
Fxx.4 UNLOCK R/W
Fxx.5 interpolator axis request R
Fxx.6 interpolator START R
Fxx.7 interpolator STOP R
Fxx.8 TIPP + R/W
Fxx.9 TIPP - R/W
Fxx.10 limit switch off R/W
Fxx.11 control loop monitoring off R/W
Fxx.12 force controller on R/W
Fxx.13 position set point external R/W
Fxx.14 cable break monitoring off R/W
Fxx.15 synchro drive break R
↑ EV 5.44
Fxx.16 POS-HALT R/W
Fxx.17 in control loop R
Fxx.18 in position R
Fxx.19 in target R
Fxx.20 force controller active R
Fxx.21 force controller ready R
Fxx.22 reference point found R
Fxx.23 synchro active R
Fxx.24 interpolator active R
Fxx.25 encoder error R
Fxx.26 control deviation error R
Fxx.27 position time out R
Fxx.28 interpolator error R
Fxx.29 synchro drive error R
Fxx.30 min. position exceeded ↑ EV 5.14
R
Fxx.31 max. position exceeded ↑ EV 5.14
R
Fxx.32 DAC ramp ready R

mac-8 RE30156-02 89
ECL - Command set

1.15 Description of the axis status flags

Nr. Meaning Help text


Fxx.01 POS- A running movement is interrupted with specified delay
BREAK (command).
By clearing this flag the movement is again started.
Fxx.02 POS- A running movement is interrupted with specified delay
STOP (command).
Fxx.03 HALT A running movement is stopped at once without
delay.(command).
A possibly running pressure/force closed loop is as well
interrupted and
Switches to the position closed loop.
Fxx.04 UNLOC It takes the axis in respectively out of closed loop control
(command)
Fxx.05 interpolato Display, that for the axis an interpolator request was set
r axis down.
request
Fxx.06 interpolato Display, that for the axis the interpolator was started.
r START
Fxx.07 interpolato Display, that for the axis the interpolator was stopped.
r STOP
Fxx.08 TIPP + Axis flag for controlled movement forwards in direction
positive limit
Switch Sxx[72] with velocity Sxx[75].
Fxx.09 TIPP - Axis flag for controlled movement backwards in direction
negative limit switch
Sx[71] with velocity Sxx[76]
Fxx.10 limit By setting this axis status flag the software limit monitoring
switch off (Sx[71]
Respectively Sx[72]) is switched off.
Fxx.11 control By setting this axis status flag no halt is carried out
loop anymore on axis at axis error.
monitoring Setting down this flag should be dealt with care.
off
Fxx.12 force This axis flag serves to external switch on of the pressure-
controller respectively force
on Controller (in Debugger or NC-Program) of the
corresponding axis.
The axis should be in closed loop control before.
Fxx13 Set point After setting this axis status flag, the position set point can
position be external written and the drive travels to this value. The
axis should be before in closed loop control

mac-8 RE30156-02 90
ECL - Command set

Fxx.14 cable By setting this axis status flag no halt more is carried out
break on axis. This does not cause an already existing encoder
monitoring error to be cancelled .
off
Fxx.15 synchro If deviation error (lag error) of the axis corresponds to
break Synchro Break Distance (S32[54] respectively S32[58]) ,
then this axis status flag will be set. Afterwards the set
point of the axis is frozen till the deviation error is reduced
again below of the specification
Fxx.16 POS- a running movement is stopped at once without
HALT delay.(command). A possibly running pressure/force
closed loop is not interrupted.
Fxx.17 in control Display that the axis is in closed loop control.
loop
Fxx.18 in position Display that the axis stops, is in position (as well at break).
Fxx.19 in target Display that the axis is in target. (positioning command
terminated!)
Fxx.20 force
Display that pressure respectively force controller is
controller
active.
active
Fxx.21 force
controller Display that the pressure curve was completed.
ready
Fxx.22 reference
Reference found (only for incremental encoder
point
significant).
found
Fxx.23 synchro Axis is in synchro mode.(SYNCH active)
active
Fxx.24 interpolato
Axis software use an interpolator.(LIN active)
r active
Fxx.25 encoder Display an encoder error. The movement is interrupted
error and the axis
is taken away from closed loop control.(unless "cable
break monitoring off" ).
Fxx.26 control Display a lag error(control deviation is bigger as the in
deviation Sxx[79] and Sxx[80] specified tolerance. The movement is
error interrupted and the axis is taken away from closed loop
control.(unless "axis error monitoring off" ).
Fxx.27 position Display positioning time out (actual position is not yet
time out followed the set point to target (according to in Sxx[81]
specified time). The movement is interrupted and the axis
is taken away from closed loop control.(unless "axis error
monitoring off" ).
Fxx.28 interpolato Display an interpolator error.(the transfer buffer between
r error interpolator and axis has no more data. The movement is
interrupted and the axis is taken away from closed loop

mac-8 RE30156-02 91
ECL - Command set

control.(unless "axis error monitoring off" ).


Fxx.29 synchro Display a synchro error.(synchro inaccuracy (Nx[54] is
drive error bigger as the specified tolerance in (S32[53] respectively
S32[57]). The movement is interrupted and the axis is
taken away from closed loop control.(unless "axis error
monitoring off" ).
Fxx.30 min. Display, that a positioning should set down below
position minimum position
exceeded (axis parameter Sxx[71]. The position command is not
carried out.
(unless "limit switch off").
Fxx.31 max. Display, that a positioning should set down above
position maximum position
exceeded (axis parameter Sxx[72]. The position command is not
carried out.
(unless "limit switch off").
Fxx.32 DAC ramp Display, that DAC-set point has reached his target (at
ready DAC RATE / TIME).

mac-8 RE30156-02 92
ECL - Command set

1.16 Key code list for BB3

Key key code ALT + key-code


(hex) key (hex)
0 30 0 3D
1 31 1 21
2 32 2 22
3 33 3 15
4 34 4 24
5 35 5 25
6 36 6 26
7 37 7 2F
8 38 8 28
9 39 9 29
. 2E . 3A
- 2D - 5F
CLEAR 08 CLEAR 03
ENTER 0C ENTER 0A
MENU 61 MENU 41
TEACH 62 TEACH 42
PROC 63 PROC 43
F1 64 F1 44
F2 65 F2 45
↑ 66 ↑ 46
↓ 67 ↓ 47
← 68 ← 48
→ 69 → 49

mac-8 RE30156-02 93
ECL - Command set

1.17 Key code list for BE1

For the membrane keyboard the following codes (hexadecimal) are assigned to
individual keys

37 38 39

34 35 36

31 32 33

40/50 41/51 42/52 43/53 44/54 45/55 46/56 47/57 30 2E 2B

48/58 49/59 4A/5A 4B/5B 4C/5C 4D/5D 4E 4F 63 64 65

Special feature for the membrane keyboard function:

The keys with the codes 4Eh and 4Fh have an auto repeat function. This means that at
long press of the key, the key code will be sent several times.

The keys with the codes 40H till 47H and 48H to 4DH have a push button switch
function. At pressing of the key, the code is once output to the serial interface. If the
key is released (afterward), the other code is output to the interface.

All other keys send (as well at long press) the key code only once to the interface.

MAC-8 RE 30 145 - 02 - B 94
Parameter of the axis

Contents

3 Parameter of the axis ....................................................................................... 4


3.1 Structure of the axis.................................................................................. 4
3.1.1 Overview............................................................................................ 4
3.1.2 Actual data acquisition ....................................................................... Fehler!
Textmarke nicht definiert.
3.1.3 Structure of the controller................................................................... Fehler!
Textmarke nicht definiert.
3.1.4 Structure of the synchronization controller......................................... Fehler!
Textmarke nicht definiert.
3.2 Overview of the parameters of the Axis S0[x] to S31[x] (Type A) ............. 5
3.3 Overview of the parameters of the Axis S0[x] to S31[x] (Type B) ............. 9
3.3.1 General .............................................................................................. 9
3.3.1.1 Limit and monitoring values ........................................................ 9
3.3.1.2 Analogue inputs .......................................................................... 9
3.3.1.3 Encoder data, data acquisition .................................................... 10
3.3.2 Line adaptation .................................................................................. 11
3.3.2.1 General settings .......................................................................... 11
3.3.2.2 Characteristics correction............................................................ 11
3.3.3 Position controller PI .......................................................................... 12
3.3.3.1 General settings .......................................................................... 12
3.3.3.2 Extended settings........................................................................ 12
3.3.4 State controller................................................................................... 12
3.3.4.1 Velocity feedback ........................................................................ 12
3.3.4.2 Acceleration feedback................................................................. 13
3.3.4.3 Pressure feedback ...................................................................... 13
3.3.4.4 External added value .................................................................. 13
3.3.5 Pressure controller............................................................................. 13
3.3.6 Synchronous drive ............................................................................. 14
3.4 Description of the parameters................................................................... 15
3.4.1 General .............................................................................................. 15
3.4.1.1 Limit and monitoring values ........................................................ 15
3.4.1.2 Analogue inputs .......................................................................... 16
3.4.1.3 Encoder data, data acquisition .................................................... 18
3.4.1.4 Global Settings (S32) .................................................................. 20
3.4.2 Adaptation line ................................................................................... 20
3.4.2.1 General settings .......................................................................... 20
3.4.2.2 Characteristics correction............................................................ 22
3.4.3 Position Controller PI ......................................................................... 24
3.4.3.1 General settings .......................................................................... 24
3.4.3.2 Extended settings........................................................................ 24
3.4.4 State controller................................................................................... 26
3.4.4.1 Velocity feedback ........................................................................ 26
mac-8 RE30156-03 2
Parameter of the axis

3.4.4.2 Acceleration feedback................................................................. 27


3.4.4.3 Pressure feedback ...................................................................... 28
3.4.4.4 External added value .................................................................. 28
3.4.5 Pressure controller............................................................................. 28
3.4.5.1 Settings pressure controller ........................................................ 28
3.4.5.2 Velocity added value (feed forward)............................................ 32
3.4.6 Synchronous drive ............................................................................. 33
3.4.6.1 Settings for synchronous movement ........................................... 33
3.4.6.2 Global settings (S32)................................................................... 34
3.5 Overview of the general parameters S32[x].............................................. 40
3.6 Description of the general parameters S32[x]........................................... 42

mac-8 RE30156-03 3
Parameter of the axis

1 Parameter of the axis

1.1 Structure of the axis

1.1.1 Overview

Software - Konzept

Windows NT / 2000 / XP Betriebssystem NUCLEUS

Systemparameter Anlog Ausgänge

ECLWIN Regler Messwerte


Quell Programmier- Var. NC- Sollwert-
Dateien und Server Interpreter Generator
Debugger- Programm
Software Code

Compiler
Fehlerüberwachung

Digital I / O Puffer
BRI-IC/AWT2
© Alle Rechte bei Bosch Rexroth AG, auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

A parameter set is defined for each axis, including all information that is important for
handling and controlling the drive.

This parameter set includes:


- description of the position sensing system
- machine-typical limit values (positions and velocities)
- type and structure of the position and state controller
- type and structure of the force controller
- data for controller monitoring

These general data are required in order to describe hydraulic or electric drives and
offer numerous possibilities for moving the axis as required.

mac-8 RE30156-03 4
Parameter of the axis

1.2 Overview of the parameters of the Axis S0[x] to S31[x] (Type A)

(arranged by item)
Meaning

decimal

Default
places

values
Value
No.

0 position window units 3 200


g1
1 switch for dead time element 0: inactive 0 0
of the set-point position 1: active
2 dead time for set-point position. Number of samples 0 0
g2
3 gain kv (m/min)/mm 2 100
4 Kv fading ramp Kv/sec 0
g1
5 switch for VZ1 0: inactive 0 0
for line adaptation 1: active
6 constant for VZ1 sec 3 0
for line adaptation
7 integration time (0 = off) sec 2 20
8 limit windows for integrator Unit e.g. mm 3 100
9 limit value of the I-part Volt 3 3000
10 ramp value I-part Volt/sec 3 1000
11 min. velocity for integrator Unit/sec 3 5000
e.g. mm/sec
12 g1 switch I-part always on 0: inactive 0 0
1: active
13 g1 switch I-part always off 0: inactive 0 0
1: active
14 g1 switch dead time 0: inactive 0 0
for V-set point value 1: active
15 dead time for V set point value Number of samples 0 0
g1
16 switch for V set point value 0: inactive 0 0
1: active
17 P gain for V set point value Volt/Vmax 0 0
18 g1 switch V actual value 0: inactive 0 0
1: active
19 P gain for V actual value Volt/Vmax 3 0
g1
20 switch for A set point value 0: inactive 0 0
1: active
21 g1 P gain for A set point value Volt/Amax 3 0
22 constant VZ1 for A set point value sec 3 0

mac-8 RE30156-03 5
Parameter of the axis

23 g1 switch A actual value 0: inactive 3 0


1: active
24 * P gain for A actual value Volt/Amax 0 0
25 switch pressure component 0: inactive 0 0
1: active
26 p gain for pressure component Volt/10 Volt 3 0
27 switch P/F active direction neg. 0: inactive =positive 0 0
1: active = negative
28 switch mode (pos.Î pressure) 0: set point 0 0
1: actuating value
29 switch mode back 0: back switch allowed 0
(pressureÎpos) 1: back switch lock
2:min force control !
in connect. with par.41

30 set point generator 0 – 2: 0 0


(cont, stop, jump)
with back calculation
10 – 12:
(cont, stop, jump) !
without back calculation
31 gain P/F controller 2 100
32 Integration time (0 = off) sec 3 1000
33 limit windows for integrator Unit e.g. kN 3
34 fading ramp Volt/sec 0
35 limit value I-part Volt 3 3000
36 * resolution P/F controller Unit/10V 3
Unit = kN or Bar
37 switch windows Unit 3
(pos Î pressure)
38 g3 U(max) for V-actual added value Unit 3 0
g3
39 P/F(rated) for V-actual added va- Unit 3 0
lue
40 mode for V-added value (0-2) 0–3
41 quadrant of P/F controllers 0–3
42 * mode analogue input 0–4 0
43 weighting channel B 3
44 filter constant channel A 3
45 filter constant channel B 3
46 zero point correction channel A Volt 3 0
47 zero point correction channel B Volt 3 0

mac-8 RE30156-03 6
Parameter of the axis

48 area ratio of the cylinder 3 1000


49 g1 switch for the characteristics of 0: inactive 0 0
the correction 1: active
50 g4 break 1 X coordinate Volt 3 0
g4
51 break 1 Y coordinate Volt 3 0
g4
52 break 2 X coordinate Volt 3 0
53 g4 break 2 Y coordinate Volt 3 0
g4
54 break 3 X coordinate Volt 3 0
g4
55 break 3 X coordinate Volt 3 0
56 g4 break 4 X coordinate Volt 3 0
g4
57 break 4 Y coordinate Volt 3 0
g4
58 break 5 X coordinate Volt 3 0
59 g4 break 5 Y coordinate Volt 3 0
g4
60 break 6 X coordinate Volt 3 0
g4
61 break 6 Y coordinate Volt 3 0
62 * sampling rate display 3 0
63 * encoder type 0:INC 0
1:INC-Rotary
2:SSI
3:SSI-Rotary
4:Potentiometer
5:Simulation
64 * SSI transmission frequency Display
65 * SSI bit rate transmission
66 * pos. encoder resolution Incr/Unit 4
67 encoder offset Unit 3
68 g1 actual value invert 0
g1
69 voltage invert 0
70 voltage correction Volt 3
71 min. traversing range limit Unit 3
72 max. traversing range limit Unit 3
73 * max. velocity Unit/sec 1
74 * max. acceleration Unit/sec2 0
75 Jog velocity+ Unit/sec 3
76 jog velocity- Unit/sec 3
77 v-actual value buffer size 0-7 0 2
g1
78 v-actual value determination 0:with D-part 0 1
1:without D-part
79 g1 lag error tolerance at v = 0 1 - 999% 0 50
80 g1 lag error tolerance at v = 100% 1 - 999% 0 150

mac-8 RE30156-03 7
Parameter of the axis

81 Position time out sec 3 30


82 integration time synchronism sec
83 limit window for integration
84 scale factor
85 *F encoder number [0-4] 0 0
F
86 * DAC number [/]
F
87 * ADC number (not used) [/]
88 controller type 0 : NLF
(NLF,WAB,WABSQRT) 1: WAB
2: WABSQRT
89 synchronism limit value I-part Unit 3 0
90 g1 switch „ext. Pos-added value“ [0-1] ................................ 0 0
91 constant for VZ1 a-actual sec 3 0
92 synchronous, p-gain 2
93 synchronous, min. p/F value unit e.g. bar 3
94 constant VZ1 for harmonic content
g5
95 depend on controller configuration
96 g5 depend on controller configuration
g5
97 depend on controller configuration
g5
98 depend on controller configuration
g5
99 depend on controller configuration

* Diese Parameter werden


- beim Setzen im Debugger (bei eingestellter Option ‘Systemparameter di-
rekt’) nicht direkt auf die Achse übernommen.
- bei AXSET Befehl ignoriert. D.h. ein AXINIT zur Übernahme erforderlich.

g..
Diese Parameter gehören in einer Gruppe und werden
- bei AXSET Befehl immer zusammen übernommen, auch wenn nur eine da-
von angegeben wurde.
Beispiel: g1 für Schalter bestimmter Reglerfunktionen
g2 für Kreisverstärkung und Schleppfehlerüberwachung
g3 für V-Aufschaltung des Druckreglers
g4 für Punke in der Ventilkennlinien
g5 für Sonderparameter (von Reglerkonfiguration abhängig)

F
Parameter 85, 86 und 87 für Geber-, DAW- und ADW-Umschaltung
- Die FUNC 5, FUNC 6 und FUNC 7 Befehle dienen auch zur Umschaltung.
Dabei bleiben die Parameterwerte unverändert.

Bemerkung: Die Einheiten für den Positions/Kraftregler werden durch die Auflösung
des Position- oder Druck- bzw. Kraftistwertes bestimmt.

mac-8 RE30156-03 8
Parameter of the axis

1.3 Overview of the parameters of the Axis S0[x] to S31[x] (Type B)


(arranged by subject)

1.3.1 General

1.3.1.1 Limit and monitoring values

0 position window units 3 200


71 min. traversing range limit unit 3
72 max. traversing range limit unit 3
73 * max. velocity unit/sec 1
74 * max. acceleration unit/sec2 0
75 Jog. velocity + unit/sec 3
76 jog. velocity- unit/sec 3
g2
79 lag error tolerance at v = 0 1 - 999% 0 50
80 g2 lag error tolerance at v = 100% 1 - 999% 0 150
81 position time out sec 3 30

1.3.1.2 Analogue inputs

42 mode analogue input 0-6 0


43 weighting channel B [/] 3
44 filter constant channel A sec 3
45 filter constant channel B sec 3
46 zero point correction channel A Volt 3 0
47 zero point correction channel B Volt 3 0
87*F ADC number 000-399
yy: HW-Axis Selection
z:
z= 0 : channel A+B = current
z= 1 : channel A+B = voltage
z= 2 : channel A = voltage,
channel B = current
z= 3 : channel A = voltage,
channel B = voltage

mac-8 RE30156-03 9
Parameter of the axis

1.3.1.3 Encoder data, data acquisition

63 * encoder type 0:INC 0


1:INC-Rotary
2:SSI
3:SSI-Rotary
4:Poti (anal. input)
5:Simulation (soft-
ware)
65 * SSI bit rate transmission
66 * pos. encoder resolution incr/unit 4
67 encoder offset unit 3
68 g1 actual value invert 0
77 v-actual value buffer size 0-7 0 2
g1
78 v-actual value determination 0:with D-part 0 1
1:without D-part
85*F encoder number [0-4] 0 0

mac-8 RE30156-03 10
Parameter of the axis

1.3.2 Line adaptation

1.3.2.1 General settings

5 g1 switch for VZ1 0: inactive 0 0


for line adaptation 1: active
6 constant for VZ1 sec 3 0
for line adaptation
48 area ratio of the cylinder [/] 3
g1
69 voltage invert 0
70 voltage correction Volt 3
86*F DAC number [/]

1.3.2.2 Characteristics correction

49 g1 switch for the characteristics of 0: inactive 0 0


the correction 1: active
50 g4 break 1 X coordinate Volt 3 0
51 g4 break 1 Y coordinate Volt 3 0
g4
52 break 2 X coordinate Volt 3 0
g4
53 break 2 Y coordinate Volt 3 0
54 g4 break 3 X coordinate Volt 3 0
g4
55 break 3 X coordinate Volt 3 0
g4
56 break 4 X coordinate Volt 3 0
57 g4 break 4 Y coordinate Volt 3 0
g4
58 break 5 X coordinate Volt 3 0
g4
59 break 5 Y coordinate Volt 3 0
g4
60 break 6 X coordinate Volt 3 0
g4
61 break 6 Y coordinate Volt 3 0

mac-8 RE30156-03 11
Parameter of the axis

1.3.3 Position controller PI

1.3.3.1 General settings

3 g2 gain kv (m/min)/mm 2 100


7 integration time (0 = off) sec 2 20
8 limit window for integrator Unit e.g. mm 3 100

1.3.3.2 Extended settings

1 g1 switch for dead time element 0: inactive 0 0


of the set-point position 1: active
2 dead time for set-point pos. number of samples 0 0
4 Kv fading ramp Kv/sec 0
9 limit value of the I-part Volt 3 3000
10 ramp value I-part Volt/sec 3 1000
11 min. velocity for integrator unit/sec e.g. mm/sec 3 5000
g1
12 switch I-part always on 0: inactive 0 0
1: active
13 g1 switch I-part always off 0: inactive 0 0
1: active
88 controller type 0: NLF 0
(NLF,WAB,WABSQRT) 1: WAB
2:WABSQRT

1.3.4 State controller

1.3.4.1 Velocity feedback

14 g1 switch dead time 0: inactive 0 0


for V-set point value 1: active
15 dead time for V set point value Number of samples 0 0
g1
16 switch for V set point value 0: inactive 0 0
1: active

mac-8 RE30156-03 12
Parameter of the axis

17 * P gain for V set point value Volt/Vmax 0 0


18 g1 switch V actual value 0: inactive 0 0
1: active
19 * P gain for V actual value Volt/Vmax 3 0

1.3.4.2 Acceleration feedback

20 g1 switch for A set point value 0: inactive 0 0


1: active
21 g1 P gain for A set point value Volt/Amax 3 0
22 * constant VZ1 for A set point value sec 3 0
23* switch A actual value 0: inactive 3 0
1: active
24 * P gain for A actual value Volt/Amax 0 0
91 constant for PT1 a-actual sec 3

1.3.4.3 Pressure feedback

25 g1 switch Pressure component 0: inactive 0 0


1: active
26 * P gain for pressure component Volt/10 Volt 3 0

1.3.4.4 External added value

90 g1 switch „ext. Pos-added value“ 0: inactive 0


1: active

1.3.5 Pressure controller

27 switch P/F active direction neg. 0: inactive = positive 0 0


1: active = negative
28 switch mode pos. ==> pressure 0: set point 0 0
1: actuating value
29 switch(s) mode(m) back(k) [smk] 0: smk = allowed 0
pressure ==>pos 1: smk = locked
2:minimal pressure
control in connection

mac-8 RE30156-03 13
Parameter of the axis

with parameter 41

30 mode set point generator 0 - 2 (cont, stop, jump) 0 0


with back calculation
10 -12 (cont, stop, ,jump)
without back
calculation
31 gain P/F controller 2 100
32 Integration time (0 = Off) sec 3 1000
33 limit windows for integrator unit e.g. kN 3
34 fading ramp Volt/sec 0
35 limit value I-component Volt 3 3000
36 * resolution P/F controller unit/10V 3
unit = kN or Bar
37 switch window pos ==> pressure unit 3
38 g3 U(max) for V-actual added value unit 3 0
g3
39 P/F(rated) for V-actual added unit 3 0
value
40 mode for V-added value (0-2) 0-3
41 quadrant of P/F controllers 0-2

1.3.6 Synchronous drive

82 integration time synchronous sec 3


83 limit window for integrator unit 3
84 scale factor 65536 corr. factor 1 0
89 synchronous limit value I-part Volt 3
92 synchronous , p-gain 2
93 synchronous, min p/F value unit e.g. bar 3

mac-8 RE30156-03 14
Parameter of the axis

1.4 Description of the parameters

1.4.1 General

1.4.1.1 Limit and monitoring values

Sx[0] Target windows


When the axis has reached the specified distance from the given windows
position, it sends a corresponding signal to the NC interpreter which then
resumes program execution. If the selected position window is too small, it
is feasible that the axis does not reach its target and the NC interpreter is
stopped because it is waiting for the ready message from the axis. In this
case, the positioning timeout expires and an appropriate message is dis-
played.

Sx[71] Minimum travel limit


This designates a software limit switch in the direction of smaller values.
The axis can not be positioned Above this mark.
If the position preset is outside this limit, the axis signals an error (Fx.30).

Sx[72] Maximum travel limit


Software limit switch in the direction of larger values. The axis can not be
positioned Above this mark. The monitoring of the software limit switches
can be switched off through the system flag Fx.10

Sx[73] Maximum velocity


For calculating the internal gain factors from the controller parameters, the
maximum velocity is needed. This can be suitably determined by open loop
control motion of the axis with 10 V DAC voltage.

Sx[74] Maximum acceleration


This value is used by the set point generator in order to create the travel
curve in a positioning instruction. This too should be measured by open
loop control travel. It is often favorable here to adopt the negative accelera-
tion (maximum deceleration) because this value is usually lower than the
maximum acceleration.

Sx[75] Jogging velocity +


Jogging velocity in positive direction. When a drive is moved by means of
system flag Tipp +, then this velocity is taken as a basis.

mac-8 RE30156-03 15
Parameter of the axis

Sx[76] Jogging velocity -


Jogging velocity in negative direction . When a drive is moved by means of
system flag Tipp-, then this velocity is taken as a basis.

Sx[79] Lag error tolerance at v = 0


The max. velocity corresponds the max. control deviation error. A tolerance
is assigned to the set point velocity 0, that corresponds to the percentage of
the max. control deviation error. The tolerance in units, e.g. mm can be cal-
culated as follows:

max.velocity control deviation tolerance


units = *
gain * 1000/60 100%

Sx[80] Lag error tolerance at v = 100%


The max. set point velocity is assigned a tolerance that corresponds the
max. control deviation error. With both parameter (item 79 and 80) for the
actual set point velocity a “ lag tolerance error “ is calculated and monitored.
When this lag error is exceeded, the axis is stopped (0 V) and a message is
written in system flags. A further positioning is possible after error acknow-
ledgement. The tolerance in units, e.g. mm can be calculated as follows:
max.velocity control deviation tolerance
units = *
gain * 1000/60 100%

Sx[81] Positioning time out


In the case that according to set point position the target position is rea-
ched, a time out counter is started. After the expiration of this term a mes-
sage is written in the system flags if the actual value has not reached this
target window. Further positioning is only possible when an error acknow-
ledgement is made.

1.4.1.2 Analogue inputs

Sx[42] Mode analogue input


0: Channel A is applied as a actual pressure value
1: Channel B is applied as a actual pressure value
2: The difference [Channel A - Channel B * Weighting factor] is applied as
a actual pressure value.
3: Harmonic part of the channel A (filter constant Sx[44]) is applied as a
acceleration feed back.
4: Harmonic part of the channel B (filter constant Sx[45]) is applied as a

mac-8 RE30156-03 16
Parameter of the axis

acceleration feed back


5: Measurement of pressure difference, the harmonic part of the channel
A (filter constant Sx[94]) is applied as a acceleration feed back.
6: Measurement of pressure difference, the harmonic part of the channel
B (filter constant Sx[94]) is applied as a acceleration feed back.

Sx[43] Weighting channel B


Weighting factor for channel B at a measurement of the pressure differ-
ence. Weighting channel B = area " channel B site" / area " channel A site"
Dependent on wiring the weighting factor is between 0 and 1 or bigger 1.

Sx[44] Filter constant for channel A


Time constant of the filter for analog channel A.

Sx[45 ] Filter constant for Channel B


Time constant of the filter for analog channel B.

Sx[46] Zero point correction channel A


Zero point correction for analog channel A

Sx[47] Zero point correction channel B


Zero point correction for analog channel B.

Sx[87] ADC number


000-399 zyy
y= 0 : Standard; channel A+B current 0-20mA
y=12: HW- Axis 1 channel A+B
y=34: HW- Axis 2 channel A+B
y=56: HW- Axis 3 channel A+B
y=78: HW-Axis 4 channel A+B
y=99: Kein channel
z= 0 : channel A+B = current
z= 1 : channel A+B = Spannung
z= 2 : channel A = voltage, channel B = current
z= 3 : channel A = current, channel B = voltage

mac-8 RE30156-03 17
Parameter of the axis

1.4.1.3 Encoder data, data acquisition

Sx[63] Encoder type


0: INC = Incremental encoder
1: INC-round incremental encoder , round axis
2: SSI = encoder with SSI
3: SSI-round = encoder with SSI, round axis
4: Poti = analogue input B (filtered) Nxx.18
5: Simulation = software simulation of the encoder
6: Simulation round axis
By the INC round axis the following must be taken into account:
The difference between min. (parameter 71) and max. (parameter 72) position must
exactly correspond to the value of the encoders for one rotation. Thereby the actual va-
lue of the encoder jumps at exceeding of the max. value to min. position.
The encoder offset for moving of the zero point must be in the range between min. and
max. position.
By encoder type Poti is to be entered as resolution (parameter 66) of the actual posi-
tion in Units*1000 at 10V.
Additionally the control deviation monitoring can here be faded out for a short time. At
this the error must be present for at least 10-90ms, before the monitoring is responsive
to it. The input is carried out as a decade system/ ten's places/ten digit places together
with the encoder type according to the following system:
xy : x = number of the fade's out 1-9 (10-90ms), y = encoder type 0-6
example: Sx[63] = 23
meaning: 20 ms control deviation error faded out, encoder type SSI-round

Sx[65] Number transmitted bits for the SSI encoder


The number of the bits which are to be transmitted are also displayed as the
number of the included data bits.( Only display ).
This value can be separately adjusted for each axis.
Additionally it’s possible to specify whether the read in value should be-
treated as signed value.
The inputs are combined in one parameter.
example:2425
meaning: without sign, 24 data bits, 25 transmitted bits

example:12425
meaning: with sign, 24 data bits, 25 transmitted bits

Sx[66] Resolution
To simplify the inputs of the data as positions and velocities, freely selected
units will be used. Here the connection between the resolution of the encoder
and the wished unit will be created.

mac-8 RE30156-03 18
Parameter of the axis

Sx[67] Encoder offset


Depending on the used type of encoder and reference mode it is sometimes
necessary to shift the zero point of the axis. By the input the positive or
negative value the zero point can be set to a determined number. The en-
coder offset will be added to the actual value(which has been possibly in-
verted before through the parameter 68).

Sx[68] Switch Invert actual value


0:Function inactive.
1:The count direction of the encoder is inverted here.

Sx[77] Measure buffer size for velocity determination


The velocity will be determined over the differentiation of the position. For
avoiding big jumps particularly at slow motion, there will be carried out mo-
re than two measurements. With this parameter the number of the meas-
urements will be determined.
0: Filter off
1: 2 measurements
2: 4 measurements
3: 8 measurements
4: 16 measurements
5: 32 measurements
6: 64 measurements
7: 128 measurements

Sx[78] V-act without D-part


Here will be specified if the velocity determination is carried out (see pa-
rameter 77) via the mean value of the measuring (value=1), or if an actual
velocity value should be estimated (value=0) at changing of the measuring
values.

Sx[85] Encoder number


This value selects the encoder channel for corresponding axis
0: Standard channel
1: Encoder channel 1 of the axis (plug x*.12)
2: Encoder channel 2 of the axis (plug x*.13)
3: Encoder channel 3 of the axis (plug x*.14)
4: Encoder channel 4 of the axis (plug x*.15)
If the type of the switched encoder is analogue, the freely variable analogue
input B of this axis can be additionally used. E.g. for difference pressure
measure.
mac-8 RE30156-03 19
Parameter of the axis

1.4.1.4 Global Settings (S32)

S32[8] Abtastzeit für Position- und P/F-Regler


In diesem Zeitraster wird die Istwerterfassung, Sollwertgenerierung und der
Regler aufgerufen. Der hier eingestellte Wert ist für alle Achsen im System
gültig und wird nach dem „AXINIT“ auch in den S-Parametern der Achsen 0
- 31 angezeigt. Die Abtastzeit kann zwischen 2 ms und 5 ms liegen. Ist die
Abtastzeit auf Grund der Komplexität des Reglers oder auf Grund der
Achsanzahl auf einer Karte zu klein gewählt worden, so wird dies im Para-
meter S32[63] angezeigt.

S32[9] Sampling time of the interpolator


The sampling time of the interpolator is calculated as follows:
t = (2Value )* (controller sampling time )

S32[10] Interpolator pipe length


The number of values to be calculated beforehand.

S32[11] SSI transmission frequency


With this parameter the transmission frequency of all SSI encoders is set.
0 67,5
1 125
2 250
3 500

S32[64] Number of the restarts after system error


This parameter defines the number of new starts after a system error, be-
fore the system is stopped.

1.4.2 Adaptation line

1.4.2.1 General settings

Remark:
The elements of the adaptation line only affect when the controller is active. At the vol-
tage output through the DAC command or direct writing of the N variable 13 (DAC) the
adaptation line has no effect.
In this case parameter Sx[86] for the assignment of the DAC channel is an exception.

mac-8 RE30156-03 20
Parameter of the axis

Sx[5] Switch for VZ1 component of the adapted line


0: Function inactive
1: VZ1 component of the controller is active.
VZ1-part = delay part 1.range)

Sx[6] Constant for VZ1 component of the adapted line


Time constant of the filter block.

Sx[48] Area ratio of the cylinder


Ratio of max. velocity of the cylinder in positive travel direction to the bigger
actual position value at the completely opened valve.

example:
mm
100 s
v+
v- = mm = 0,5 => Wert = 500
200 s

The ratio n will be set to 0, It is only positive value.

Sx[69] with voltage inverse


0: function inactive
1: output voltage of the controller is inverted.
This allows the direction to be changed simply and without rewiring.

Sx[70] Voltage correction


The output voltage of the controller is to be corrected by this value.

Sx[86] DAW-Number
With this input the assigned voltage output channel (DAC) is selected
yy
0: Standard-channel
11: Channel 1
22: Channel 2
33: Channel 3
44: Channel 4
55: no channel selected

z:
0: DAW1/DAW2 -10 bis +10V
1: DAW1/DAW2 -10 bis +10 mC
2: DAW1/DAW2 +4 bis +20 mC

mac-8 RE30156-03 21
Parameter of the axis

After a change of this parameter an AXINIT is required for taking over the
new setting!

output on two channels e.g.

1 output on channel 1 and 2


2
3 output on channel 3 and 4
4

Attention: If two voltage output channels will be assigned to an axis, the axis or the
axes that occupy these channels as a standard with the set up 55 must give way to the
channel(s).
e.g. slave axis card 1 assigns the axis number 4, 5, 6, 7
as a standard the channel assignment is :

axis channel
4 1
5 2
6 3
7 4

new assignment

axis channel parameter 86


4 3 and 4 34
5 2 0
6 - 55
7 - 55

1.4.2.2 Characteristics correction

Sx[49] Switch for correction of the valve characteristic


0: Function inactive
1: The correction of the valve characteristic is active.

mac-8 RE30156-03 22
Parameter of the axis

Sx[50-61] X/Y Coordinates of the characteristics


Through this characteristic a linearization of the valve can be carried out
over six points. The values between the entered points will be linear inter-
polated.
The X-coordinates represent the calculated output voltages of the control-
ler.
The Y-coordinates represent the assigned output voltages to the valve.
If the table is activated, it should be filled up with useful values.
At the entry the values may not be set in a way, which would create an in-
finite rise. The first curve point in the coordinate point of origin (0, 0) is al-
ready internally defined and must therefore not be entered. The X-
coordinates must be entered in ascending order and they must be differ-
ent. The last curve point is internally extended to the right with a straight
line of the gradient 0.It is as well possible to enter the values ≥ 10V

mac-8 RE30156-03 23
Parameter of the axis

1.4.3 Position Controller PI

1.4.3.1 General settings

Sx[3] Close loop gain


P-gain in position part of the controller(see structure of the position control-
ler).
Close-loop gain kv = maximum velocity at maximum control deviation( lag
error)(set point value - actual value)

Sx[7] Integration time


Integration time of the position controller. Input value for integrator is signal
of the P-controller. Input value 0 means output signal from the integrator
zero.

Sx[8] Limit windows for integrator


The integration is stopped within this position windows.

1.4.3.2 Extended settings

Sx[1] Switch for dead time component of the position set point value
0: function inactive
1: the position set point value is to be delayed for a specified number of
the sampling rate.

Sx[2] Dead time for position set point value


Number of the sampling rate that the position set point is delayed
e.g.
sampling rate = 5 ms, delay = 10 dead time = 5 ms* 10 = 50 ms

Sx[4] Fading ramp for Kv gain


At a change of Kv gain, via this ramp it is faded from the old Kv gain a new
one modified.
If the ramp value = 0, the new Kv gain is immediately taking over.

mac-8 RE30156-03 24
Parameter of the axis

Sx[9] Limit value for the I-part


Maximum voltage value that I-part can reach.

Sx[10] Ramp value I-part on 0


Voltage value/sec, with which the I-part [at running off of the set point va-
lue(position)] will be reduced to zero.
During a positioning the I-part is normally inactive. Exception: „Switch I-part
always on“ is set.

Sx[11] Minimal velocity for the integrator


Velocity from the integrator is active.

Sx[12] Switch „I-part always on“


0:Standard conditions for the integrator:
(1) Actual velocity < Min. Velocity (Item 11)
(2) Set point(velocity) = 0
(3) Actual position outside of the limit windows (Item 8)

1: the conditions (1) and (2) are switched off..

Sx[13] Switch „I-part always off“ (it has priority compared with parameter 12)
0:„Normal“ function of the integrator (see Item 12)

1:The integrator is always switched off.

mac-8 RE30156-03 25
Parameter of the axis

Sx[88] Controller type (NLF, WAB, WABSQRT)


0 standard controller(NLF)

1 Position dependent deceleration (WAB)


Velocity profile is controlled moved. The brake curve is path linear, which
means based on time it corresponds to a square function. ("soft brake")

2 Position dependent deceleration (WABSQRT)


The brake curve is based on time linear through compensation by means of
a square function on a path curve.("hard brake")

The brake path is set by means of a deceleration value (see ECL command
ACC)
Through the position command VREST a rest voltage can be adjusted. This
rest voltage is needed for valves with positive overlap. The VREST is swit-
ched to zero at reaching the target window. In the target window the WAB
behaves as a standard follow up controller. For the controllers WAB and
WABSQRT the parameter Sxx[16] must be 1 and the parameter Sxx[17]
must contain the required standard value.

1.4.4 State controller

1.4.4.1 Velocity feedback

Sx[14] Switch for dead time of the velocity set point


0:Function inactive.

1:Velocity set point value is delayed by the number of the sampling rates

Sx[15] Dead time for velocity set point value


Velocity set point is delayed by a number of the sampling rates.

Sx[16] Switch for added velocity set point value


0: Function inactive
1: The velocity set point part of the controller is active

mac-8 RE30156-03 26
Parameter of the axis

Sx[17] P-gain for the velocity set point


Gain with which the velocity set point of the controller works.

Sx[18] Switch for added velocity actual value


0:Function inactive

1:The part of the velocity actual value of the controller’s is active.

Sx[19] P-gain for the velocity actual value


Gain with which the velocity actual value of the controller works.

1.4.4.2 Acceleration feedback

Sx[20] Switch for added acceleration set point


0:Function inactive.

1:The acceleration set point part of the controller is active.

The switch for added value (actual pressure) may not be set!

Sx[21] P-gain for the acceleration set point


Gain with which the acceleration set point value in close loop control works.

Sx[22] Constant for VZ1component of the acceleration set point value


Time constant of the filter VZ1.
When the set point of the acceleration value changes to zero, the filter
works effectively.
At a change from zero to negative or positive value the set point is not fil-
tered.

Sx[23] Switch for added actual acceleration value


0: Function inactive
1: The part of the acceleration actual value of the controller is active.
The switch for added pressure actual value may not be set!

Sx[24] P-gain for the acceleration actual value


Gain with which the acceleration actual value works in close loop control.

mac-8 RE30156-03 27
Parameter of the axis

Sx[91] Constant for VZ1-block of the acceleration actual value


Time constant of the VZ1block.

1.4.4.3 Pressure feedback

Sx[25] Switch for the added actual pressure value


0:Function inactive

1:The part of the pressure actual value of the controller is active.

The added actual acceleration value must be inactive!

Sx[26] P-gain for the pressure actual value


Gain with which the actual pressure value works in the close loop control.

1.4.4.4 External added value

Sx[90] Switch “external added value“


0:Function inactive

1:The external value will be added to position controller. The value in this
part must be specified in [mV] in the N-variable 38

Switch for addition an external position controller part

1.4.5 Pressure controller

1.4.5.1 Settings pressure controller

mac-8 RE30156-03 28
Parameter of the axis

Sx[27] Switch for active direction of the P/F controller’s


0: Expects a rising force in positive moving direction.
1: Expects a rising force in negative moving direction.

Sx[28] Switch mode from position controller to force controller


0: The P/F controller works according to set point - actual comparison
As soon as the actual force reaches set point force - windows
force(item 37) the P/F controller takes over the control.
1: The P/F controller works according to actual values comparison. As
soon as the actual voltage of the P/F controller is smaller than actual
voltage of the position controller, the P/F controller takes over the
control.
2: The P/F controller works ( in connection with quadrant limit parame-
ter 41 = 1) as a minimal pressure closed control loop and acts at ex-
ceeding of Pressure/Force set point. The system flag “pressure con-
troller active” will not be displayed.

Sx[29] Switch mode from P/F controller to position controller


0:If the actual value of the position controller is smaller than the actual
value of the P/F controller, it is switched back to position controller.

1:Switching back to position control is not allowed - P/F-controller is still


active.

Exception: If both, set point and actual value, reach their target, it is swit-
ched back to position controller.

Sx[30] Set point generator after taking over through P/F controller
0:the set point generator runs as intended in target. (cont)

1:the set point generator is stopped, but runs further again as soon as the
position controller takes over. (stop

2:the set point value is set to target value. The moving is completed. (jump)

10-12:corresponds to the values 0-2, but without back calculation of the p/F
controller value on the position value.

mac-8 RE30156-03 29
Parameter of the axis

y
actual pos.
p/F active contrl.

set point pos.

DAC output

Mode 0: After p/F-controller taking over, the position set point runs internally as usual
(continue Mode). By back switching in position control loop the position set point will be
back calculated to actual value. Thereby no voltage jump is produced during the swit-
ching.(The voltage signal is Absolute represented!)

y
actual pos.
p/F active contr.

set point pos.

DAC output

Mode 10: After p/F-controller taking over, the position set point runs internally as usual
(continue Mode). By back switching in position control loop the position set point will be
back calculated to actual value. Thereby no voltage jump is produced during the swit-
ching. This can lead to unintentional movements. (The voltage signal is absolutely re-
presented!)

mac-8 RE30156-03 30
Parameter of the axis

Sx[31] Gain of the P/F controller


The P/F controller is as PI-controller realized. Here the P-part is set for the
gain of the force controller.

Sx[32] Integration time of the P/F controller’s


The time constant for the I-part of the force controller is the time required
by the integrator in order to reach the same value at the output as at the
input(control deviation). If this time is set to 0, the I-part is inactive.

Sx[33] Limit windows for the integrator of the P/F controller’s


If the force value is outside this window and does not rise any more, the I-
part is active.

Sx[34] Fading ramp for actual value of the P/F controller’s


These value specifies, with which ramp the actual value of the position con-
troller’s at taking over through the P/F controller is to be faded on the actual
value of the P/F controller. Doing so will prevent a voltage jump at switch
mode = 0.

Sx[35] Limit value of the I-part for the P/F controller


Maximum voltage value, the I-part can rise to.

Sx[36] Resolution of the P/F controller’s


The resolution specifies the max. force/pressure value at the input voltage
10V. If instead of the voltage input the current input will be used, the corre-
sponding adaptation of the resolution is necessary..

Example for current input:


Pressure sensor supplies 4-20 mA with maximal pressure value 400 bar. This corre-
sponds without adaptation internal –6V (≡ 4mA) till +10 V (≡20 mA). The voltage cor-
rection for input (Sx[46] respectively Sx[47] is set on 6V, whereby a present range will
be transformed –6V till +10V to 0V ((≡ 4 mA) till +16V (200 mA). Because the resolu-
tion refers to 10V, the maximum pressure/force of the sensor is to be divided by factor
1,6. In this example it is 250 bat at 10 V (≡14 mA), also input value 250 000

mac-8 RE30156-03 31
Parameter of the axis

Sx[37] Switch over windows for position controller ==> force controller
Switch over windows for P/F controller at a set point - actual value com-
parison. When a force value reaches set point - windows value, it is
switched to the force control. The running behavior of the pressure actual
value can be improved by that..

Sx[41] Quadrant of the P/F controller’s


0:2 - Quadrant mode, the force can be increased and reduced.

1:1 - Quadrant mode, the force can only be increased.

2:1 - Quadrant mode, the force can only be reduced.

1.4.5.2 Velocity added value (feed forward)

The velocity added value results in an additive voltage for close loop controller output,
and is defined in the following formula:

instead p/Fset point => P/Fset point + P/Fset point corr.


P/Fset point = Nxx.12
P/Fset point corr. = Nxx.61

Sx[38] U(Max) V-actual added value


Actual added velocity mode for displacement mode. (see formula above)

Sx[39] P/F(Rated) V-actual added value


Here the ∆P-dependence of the valve is set at a actual added velocity.
When control force is on, the ∆rated of the valve is here converted (in
force) by means of the effective area of the cylinder and entered.

Example: definition:
A: effective area (piston area) [mm]
cylinder data: Q: flow [l/min]
Dpiston = 280 mm A = rpiston2 x 3.1416 / 100
Dring = 180 mm
Vmax = 330 mm/s Q=vxAx6
T
4WRTE-25-E-350:
Qnom. = 350 l/min
deltaPQ_nom. = 5 bar
(by RD_sheet 10 bar, however
for two edges of valwe view)

mac-8 RE30156-03 32
Parameter of the axis

Formulas:

deltaPvnom.
Qv_set
2
deltaPvnom. = x deltaPnom.
Qv_set = Qnom. x n
Qnom.
deltaPnom.
2

p/Fnom. = deltaPvnom. x Apiston

Apiston = (140)2 • π / 100 = 615,752 [cm2]


Qv_set = 0,33 • 615,752 • 6 = 1219,189 [l/min]
deltaPnom. = (1219,189)2 / (350)2 • 5 = 60,67 [bar]

p/Fnom. = 60,67 • 615,752 • 10 = 37358 [N] => value enter in Sx[39] !


The valve data are to be taken from corresponding RD sheet and the cylinder data
from hydraulic plan!

Sx[40] Mode for V-added value


The input value for the actual added velocity are selected here.
0:The added velocity is switched off.
1:Actual velocity of the axis.
2: Set point velocity of the axis.
3:external value (N-variable x.31).

1.4.6 Synchronous drive

The following list of parameters are settings for close loop controller of the synchro-
nous movement and determine therefore the quality of all movements regarding set
point value in connection with SYNCH command. Further information on synchronous
movement are to be found in the manual ECL Command set Chapter 6.23.

1.4.6.1 Settings for synchronous movement

This settings are valid for the corresponding axis.

mac-8 RE30156-03 33
Parameter of the axis

Sx[82] Integration time synchronism


The integration time determines the slope of the I-part and therefore the ve-
locity of the synchronous movement. The smaller the time is, the faster is
the reaction for the synchronous movement. The I-part is built from actual
difference between master and slave.(see outlines in Manual ECL Com-
mand set Chapter 6.23

0 = no I-part

Sx[83] Limit window for integrator


When the actual value reaches the limit window, the integrator is switched
off. The integrator takes his work again as soon as the actual value leaves
the limit window.

Sx[84] Scale factor


Standardization factor for different encoder or for a relative synchronous
movement
max. 216 = 65536 ≅ 1
The axis with the highest resolution or that which travels the greatest path
length obtains value = 1
The others will be standardized corresponding to the ratio.
The standardization factor could be selected bigger than 1. Different en-
coder resolution will be automatically considered. The master axis in
SYNCH command should obtain the standardization factor 1.

Sx[89] Synchronous limit value I-part


The I-part can be increased on maximum value in position units (e.g. mm).

1.4.6.2 Global settings (S32)

These settings are valid for all involved in synchronous movement axes

S32[52] Synchro 1 – mode


Mode 0: Set point – master formula

Sset,slave = S set,master + Ipart(Sact,master - S act,slave)


The slave axis should be positioning to set point value of the mas-
ter axis and is corrected by I-part that is formed from difference of
the actual values. The leading axis will not be changed, that
means master from SYNCH command remains master as long as
the synchronous movement is active..

mac-8 RE30156-03 34
Parameter of the axis

Mode 1: actual value – master principle

Sset,slave = S act.,master + Ipart(Sact,master - S act,slave)


The slave axis should be positioning to actual value of the master
axis and is corrected by I-part, that is formed from difference of
the actual values. The leading axis will not be changed, e.g. mas-
ter from SYNCH command remains master as long as synchro-
nous movement is active.

Mode 2: Relative max. value principle (with direction adaptation)

Sset,slave = S set,master + Ipart(max(Sact,master - S act,slave))


The slave axis should be positioning to set point value of the mas-
ter axis. For correction the axis with the largest actual position va-
lue is taken into consideration. If one of the synchronous axes
stops, all other axes stop as well. This mode is only useful at acti-
vation of motions towards smaller position values.

Mode 3: Relative min. value principle (with direction adaptation)

Sset,slave = S set,master + Ipart(min(Sact,master - S act,slave))


The slave axis should be positioning to set point value of the mas-
ter axis. For correction, the axis with the smallest actual position
value is taken into consideration. If one of the synchronous axes
stops, all other axes stop as well. The leading axis (internal mas-
ter axis) is the slowest moving axis. This mode is only useful at
the activation of motions towards larger position values.
If the synchronous is active in mode 2 or 3 and the direction of the
motion is changing, the mode is internally automatically adjusted.
The direction of the last carried out motion specifies in standstill
the mode (2 or 3). At movements towards bigger values mode 3
is automatically used. At movements towards smaller values
mode 2 is automatically chosen.

Mode 4: Weighted mean value principle


Sset,slave = Sset, master + Ipart(((weigh.mean.)(Sact,all axes ) – Sact,slave))))

(weigh.mean.) (min)
Sact,allaxes = Sactall axes + Nxmaster.52 / 100 ● ((max)Sactall
(min)
axes - Sactall axes)

The lead axis (internal master axis), is a virtual axis, that actual
value is a weighted mean value from all axis..

Example for Mode 4 and transformation of the axis values general

mac-8 RE30156-03 35
Parameter of the axis

s [mm]
X0: s_act 300000
300000
290000

280000

X1: s_act
200000 transformed
X0: s_set
corrected

100000 X1: s_act X1: s_set.p


corrected

X1: s_set 10000


t[]
5000

At all calculations the process values of the slaves will be transformed on the master
and again retransferred after the corrections!
In the example Above the following situation takes place:

•X0 is master- and X1 is slave axis


•it does not exist offset between the axes
•the synchronous ratio S1[84] = -32768 ≡ -1/2
•X0 drives from 100 mm till 300 mm and X1 from 100 mm to 0 mm
•at the time of if X0 300 mm reaches, is X1 at 10 mm – the set point for X1 is at 0 mm.
Our calculation example starts here:
internal the actual v. will be transformed first from X1 to the Master X0 :
S_istX1_trans = S_istX1 at synch on + | 1/S1[84] | ● driven pathX1
S_istX1_trans = 100000 + 2 ● 90000 = 280000
- then the synchronous error will be determined:
synchronous error = S_istX0 - S_istX1_trans
synchronous error = 300000 – 280000 = 20000
- then set point value will be corrected:
S_sollX0_corr = S_SollX0 – Gl_Gew.N0.52 ● synchronous error
S_sollX1_corr = S_SollX1 – Gl_Gew.N0.52 ● synchronous error ● S1[84]
S_sollX0_corr = 300000 – 0.5 ● 20000 = 290000
S_sollX1_corr = 0 – 0.5 ● 20000 ● -1/2 = 5000

Mode 12: Absolute max. value principle

mac-8 RE30156-03 36
Parameter of the axis

Corresponding to Mode 2, with the difference that no adaptation to-


wards the motion takes place . This means the leading axis (internal
master axis) is the axis with biggest actual value! This mode is only
useful for motions towards smaller position values.

Mode 13: Absolute min. value principle

Corresponding to Mode 3 with the difference that no adaptation takes


place towards the motion. This means the leading axis (internal master
axis) is the axis with the smallest actual value! This mode is only useful
for motions towards bigger position values!

Mode 22: Absolute max. value principle at displacement mode

Corresponding to Mode 13, whereas the position set point value will
tracked in intervals of the parameter for Break Gap (S32[54] respec-
tively S32[58]) in case one of the synchronous axes will be displaced.
The leading axis (internal master axis) is the axis with the highest actual
value!

Mode 23: Absolute min. value principle at displacement mode

Corresponding to Mode 13, whereas the position set point value will
tracked in intervals of the parameter for Break Gap (S32[54] respec-
tively S32[58]) in case one of the synchronous axes will be displaced.
The leading axis (internal master axis) is the axis with the smallest ac-
tual value!

Mode 32: Absolute max. value principle with immediately acting minor force con-
trol loop.

p/Fset,slave = p/Fset,basiss + (P([max]Sact,all axes - Sact,slave)+I-


part(P([max]Sact,all axes-Sact,slave))

The synchronous movement will be realized over the force controller.


There the position difference to the leading axis (internal master axis)
will be overridden through a P- and I-part as p/F-correction to the
p/F-controller-basic value . The leading axis (internal master axis) is the
axis with the biggest position actual value. The basis value is the cur-
rent set point value at activation of the synchronous mode. The
p/F-controller will be automatically switched on at SYNCH ON and start
its work if the switch conditions for the p/F-controller are fulfilled. At
SYNCH ON the p/F-controller remains active. The current p/F-set point
value, which has been predefined by synchronous mode, remains un-
changed.
This operating mode is only useful in displacement mode!

mac-8 RE30156-03 37
Parameter of the axis

Mode 33: Absolute Min. value principle with immediately acting minor. force con-
trol loop

p/Fset,slave = p/Fset,basis + (P([min]Sact,all axes - Sact,slave)+I-part(P([min]Sact,all


axes-Sact,slave))

Mode of operation as Mode 32.


The axis with the smallest position actual value will be taken into con-
sideration for correction
This operating mode is only useful in displacement mode!

Mode 34: Weighted mean value principle with immediately acting minor . force
control loop

p/Fset,slave =
p/Fset,basis + (P([weigh.mean.]Sact,all axes – Sact,slave) +I-part(P([weigh.mean.]Sact,all axes-
Sact,slave))
Mode of operation as Mode 32 respectively 33.
The leading axis (internal master axis) is a virtual axis, whose actual
value is the weighted mean value of the actual value of all axes. The
weighted position mean value will be taken into consideration for cor-
rection.

Mode 42: Absolute max. principle with minor force control loop (switching)

Correspond to Mode 32, with the difference that an automatic switching


between position- and force synchronous takes place according to set-
tings of the system parameter for the force control loop.

Mode 43: Absolute min. principle with minor force control loop (switching)

Corresponding to Mode 33, with the difference, that an automatic swit-


ching between position- and force synchronous takes place according
to settings of the system parameter for the force control loop.

Mode 44: Weighted mean value principle with minor force control loop (switching)

Corresponding to Mode 34, with the difference that an automatic


switching between position- and force synchronous takes place accord-
ing to settings of the system parameter for the force control loop.

S32[53] Synchro 1 - error


Maximum permissible difference between the axes. If the difference is

mac-8 RE30156-03 38
Parameter of the axis

exceeded, the motion is stopped. At zero (0) the monitoring is switched


off.

S32[54] Synchro 1 - break


The distance between set point (master) and actual value (slave). If the
distance exceeds the max. difference, the set point generator is stop-
ped and keeps the actual value till the distance falls again below the
max. difference. If the master is an axis which is involved in an interpo-
lation, no BREAK will be carried out.
At zero(0) the monitoring is switched off.

S32[56] Synchro 2 - mode


see S32[52]

S32[57] Synchro 2 - error


see S32[53]

S32[58] Synchro 2 -break


see S32[54]

mac-8 RE30156-03 39
Parameter of the axis

1.5 Overview of the general parameters S32[x]

Item Meaning Value Default


values
0 Master/Slave - Number (Display)
1 Master/Slave Sequence (Display)
2 Axis number (Display)
3 Axis - Sequence [Hardware Configuration] (Dis-
play)
4 Axis - Sequence [Software Configuration] (Display)
5 DEA - Number
6 DEA - Sequence [Hardware Configuration] (Dis-
play)
7 DEA - Sequence [Software Configuration] (Display)
8 Axis sampling time t 2 - 5 msec
9 Interpolator sampling time 3
10 Interpolator pipe length 5
11 SSI - transmission frequency 0:67,5 kHz 2
1:125 kHz
2:250 kHz
3:500 kHz
12 SSI - number of bits to be transferred 24
13 Controller configuration Master (slot pos.1) 0
14 Controller configuration Slave (slot pos.2) 0
15 Controller configuration Slave (slot pos.3) 0
16 Controller configuration Slave (slot pos.4) 0
17 Controller configuration Slave (slot pos.5) 0
18 Controller configuration Slave (slot pos.6) 0
19 Controller configuration Slave (slot pos.7) 0
20 Axis number HW-axis 0 0 - 31
21 Axis number HW-axis 1 0 - 31
22 Axis number HW-axis 2 0 - 31
23 Axis number HW-axis 3 0 - 31
24 Axis number HW-axis 4 0 - 31
25 Axis number HW-axis 5 0 - 31
26 Axis number HW-axis 6 0 - 31
27 Axis number HW-axis 7 0 - 31
28 Axis number HW-axis 8 0 - 31
29 Axis number HW-axis 9 0 - 31

mac-8 RE30156-03 40
Parameter of the axis

30 Axis number HW-axis 10 0 - 31


31 Axis number HW-axis 11 0 - 31
32 Axis number HW-axis 12 0 - 31
33 Axis number HW-axis 13 0 - 31
34 Axis number HW-axis 14 0 - 31
35 Axis number HW-axis 15 0 - 31
36 Axis number HW-axis 16 0 - 31
37 Axis number HW-axis 17 0 - 31
38 Axis number HW-axis 18 0 - 31
39 Axis number HW-axis 19 0 - 31
40 Axis number HW-axis 20 0 - 31
41 Axis number HW-axis 21 0 - 31
42 Axis number HW-axis 22 0 - 31
43 Axis number HW-axis 23 0 - 31
44 Axis number HW-axis 24 0 - 31
45 Axis number HW-axis 25 0 - 31
46 Axis number HW-axis 26 0 - 31
47 Axis number HW-axis 27 0 - 31
48 Axis number HW-axis 28 0 - 31
49 Axis number HW-axis 29 0 - 31
50 Axis number HW-axis 30 0 - 31
51 Axis number HW-axis 31 0 - 31
52 Synchronism 1 mode
53 Synchronism 1 mode
54 Synchronism 1 break
55 not assigned
56 Synchronism 2 mode
57 Synchronism 2 error
58 Synchronism 2 break
59 not assigned
60 Status COM 0
61 Status COM 1
62 Status COM 2
63 Overflow of the Axis-Task
64 Number of the restarts after system error
65 Slot/ number of the system error
66 Bus Type
67 Transmission of the Bus-inputs
68 Expansions module
mac-8 RE30156-03 41
Parameter of the axis

1.6 Description of the general parameters S32[x]

S32[0] Number of the Master/Slave Axis Boards


The system searches for Master or Slave boards when starting. The num-
ber of axis boards detected is output here.

S32[1] Master/Slave Bit Pattern


The detected Master/Slave Boards are as bit pattern saved. The position of
the bit represents the slot place in the system.

0 1 2 3 4 8 Rest nicht relevant 31

LSB MSB

1
2
Steckplatz 3
4 9

S32[2] Number of the axis


Number of axes which are available in the system.

S32[3] Bit pattern of the axis (Hardware)


Bit pattern of the hardware available axes. It is possible to install up to 32
axes in one system.

1 2 3 Slot 8
Axis-number HW-Axis
0 1 2 3 4... 8... 12... 31

LSB MSB

Axis 0 Axis 0
1 connections see hardware description 1
2
3 3

S32[4] Bit pattern of the axis (Software)


Bit pattern is set with parameters 20 – 51 at initialization of axes (AXINIT).

mac-8 RE30156-03 42
Parameter of the axis

S32[5] Number of the DEA boards


The number of the installed boards (DEA) in the system. DEA = Digital In-
put /Output.

S32[6] Bit pattern of the DEA boards (Hardware configuration)


The detected DEA boards are as bit pattern saved.
bit 0 = slot 1
...................
bit 8 = slot 9

0 1 2 3 4... 8 31

LSB MSB

slot number 1
2
3
4 9

S32[7] Bit pattern of the DEA boards (Software configuration)


The bit coded logical addresses of the digital in/out DEA boards are saved
in increasing order from the left to the right..

S32[8] Sampling time for position and P/F controller


Actual value acquisition, velocity determination and position controller are
called up in this sampling time. The value set here is valid for all axes and
will be displayed after „AXINIT“ in S-parameter of the axis 0 -31. The sam-
pling time can be between 2 ms and 5 ms.

S32[9] Sampling time of the interpolator


The sampling time of the interpolator is calculated as follows:
t = (2Value )* (controller sampling time )

S32[10] Interpolator pipe length


The number of values to be calculated beforehand.

S32[11] SSI transmission frequency


With this parameter the transmission frequency of all the SSI encoder is
set. (Displayed in the axis parameter Sxx [64] )
0 67,5 kHz
1 125 kHz

mac-8 RE30156-03 43
Parameter of the axis

2 250 kHz
3 500 kHz

S32[12] SSI Number of bits to be transferred


The number of bits is determined by the type of encoder used in the sys-
tem. This parameter is not used anymore from version 5.20. The settings
take place with the parameter S0[65] - S31[31].

S32[13] Configuration of the controller


This parameter is system dependent.
The standard value is zero.
The other values are to be used only after consultation with Bosch-Rexroth
AG. Department BRI.IC/AWT2 Tel. 09352 181130

S32[20-51] Configuration of the hardware available axes 0 - 31


For each axis that is available in the system an axis-number can be
assigned. With this axis-number the axis can be addressed in the ECL
program. The number which are to be assigned must be between 0 - 31
and may not be repeatedly allocated.
Unavailable axes are labeled with “-1 ”. The software configuration is
taken over with command „AXINIT“ and displayed as bit pattern in S-
parameter 32 [4]. Standard the MAC-8-4 allocates the number con-
tinuously when switching on. The same applies for not available axes
(starting with 0), which means the software configuration corresponds
to the hardware configuration.

S32[52-54] Global Settings for synch group 1


( see 4.6 Synchronous drive)

S32[56-58] Global settings for synch group 2


( see 4.6 Synchronous drive)

S32[60-62] Status of the serial interface COM 0 - COM 2


In this long word there are two information encoded.
high Error type which occurred at the transmission
word:
low Error counter, increasing by one at each transmission er-
word: ror.

S32[63] Overflow of the Axis Task


If the calculation time for the axis does not suffice,( because the sam-
pling time in parameter 8 was chosen too small), it an overflow of the
axis task occurs and the counter is incremented. This value can be

mac-8 RE30156-03 44
Parameter of the axis

monitored in the ECL program.

S32[64] Number of the restarts after system error


This parameter specifies the number of the restarts after a system er-
ror before the system halts.

S32[65] Slot / Number of the system error


In this long word there are two information encoded.
high bit coded value of the card on which the error has occurred.
word:
low running counter, which is incremented with each system er-
word: ror is.

S32[66] Bus Type


Typ of the insert Transmission-Card
0: No Buscard
1: Profibus DP

S32[67] Transmission og the Bus-inputs


Inputs of the Byte numbers the Bus-Transmission

S32[68] Expansions module


Typ of the insert Expansions-module
0: No Module know
1: 4 Axis-Module know (V1.0)
2: 4 Axis-Module know (V2.0)

S32[69] CAN Errortimer


errortimer

mac-8 RE30156-03 45
Parameter of the axis

S32[70] CAN Status


Status / Error
0: No Error
<>0: In case of error you find here two encoded informati-
ons
Low Word: Bit encoded puffer number
High Word: Initialization error (High Byte: ID , Low Byte table in-
dex)

S32[71] CAN Errortelegramm Teil 1


Fehlerhaftes Empfangstelegramm bei der Initialisierung (High Long-
word)

S32[72] CAN Errortelegramm Teil 2


Fehlerhaftes Empfangstelegramm bei der Initialisierung (Low Long-
word)

mac-8 RE30156-03 46
Process coupling

. Contents

1 Process coupling.............................................................................................. 2
1.1 Process coupling MAC-8 Interbus- S / Profibus....................................... 2
1.1.1 Connection of the bus coupling.......................................................... 2
1.1.2 Start of the bus coupling .................................................................... 2
1.1.3 Data transmission .............................................................................. 3
1.1.4 Error messages ................................................................................. 4
1.2 Profibus .................................................................................................... 5
1.2.1 General .............................................................................................. 5
1.2.2 Profibus- DP Address of the MAC-8 .................................................. 6
1.2.3 Communication sequence ................................................................. 6
1.3 S7 Interbus-S program example............................................................... 7
1.4 Data transmission with Siemens protocol 3964 R .................................... 9
1.5 Modem connection ................................................................................... 13
1.5.1 Modem with PC.................................................................................. 13
1.5.2 Modem with the MAC-8 ..................................................................... 15
1.5.3 The cable layout between modem and MAC-8 .................................. 17
1.5.4 Test of the modem connection with 2 PC’s:....................................... 17
1.5.5 Sequence of a connection between PC <-> MAC-8:......................... 19

MAC-8 RE 30 156 - 06 1
Process coupling

1 Process coupling

1.1 Process coupling MAC-8 Interbus- S / Profibus

1.1.1 Connection of the bus coupling

For an inter bus coupling one of the following assembly modules is needed :
SM2C, SM2U
The bus cable should be connected to the connector X*.11B (incoming) and X*.11A
(outgoing).
For a Profibus coupling one of the following assembly modules is needed :
PM2C, PM2U
The bus cable should be connected with the X*.11A .
The MAC-8 is always a slave. The subscriber number for the Profibus can be
arbitrarily defined (see below).

1.1.2 Start of the bus coupling

The parameter S32[66] shows the type of the inserted bus module on the MAC-8:

0 = no module inserted
1 = profibus module
2 = interbus module

Before starting the bus coupling the A fields A0 and A1 should be extended to size 16,
and the number of the bytes that have to be transmitted must be predetermined
through the parameter S32[67] .
The maximum data length is varying depending on bus type.

for the Interbus S the following settings are possible:


8 ,10 , 12, 14, 16, 18 or 20 bytes.

for the Profibus DP the following settings are possible:


8, 16, 24, 32, 40, 48, 56 or 64 bytes.

The standard transmission via Profibus or Interbus is not consistent.


For Profibus it is possible to activate a consistent transmission .
MAC-8 RE 30 156 - 06 2
Process coupling

To do so you must add 100 to the required byte number at starting the profibus.
On the PLC side the consistent file GSD is required as well. The access to process
data is carried out through SFC.

For starting the bus connection the DIALOG command will be used.
After activating, a direct access to received / sent data is possible through the ECL-
Program. Hereby own protocols can be created by means of ECL.
Example for starting a bus connection:
SET S32[67] = 20
START DIALOG USERBUS 5

Starting the bus mode with a user data length of 20 bytes. With an inserted profibus
module the subscriber number 5 is passed. At inter-bus S this number has no
meaning.

2. Example for start a bus connection:

SET S32[67] = 164


START DIALOG USERBUS 5

Starting the bus mode with consistent data with use data length of 64 bytes. This is
only useful for Profibus.

All received data will be shown in A0 field. The sent data must be written in the A1-field
by the NC program.

1.1.3 Data transmission

All received data will be saved in the A0 field. The sent data must be written in the A1
field by the NC program.

Example for a transmission with adjusted data length of 12 bytes. In this example the
data block 10 and 11 will be used on the PLC, of course it is possible to use other data
blocks as well.

MAC-8 A field <---- PLC DB 10

A0[0] Bit 16-31 <---- DW0


Bit 0 – 15 <---- DW1
A0[1] Bit 16-31 . DW2
Bit 0 - 15 . DW3
A0[2] Bit 16-31 . DW4
Bit 0 - 15 . DW5

MAC-8 RE 30 156 - 06 3
Process coupling

If you intend to realize a protocol with consistent data within this transmission, the byte
transmitted most recent must be used for the synchronization. In the example it is the
second byte in the DW 5. The transmission of the data in the A1 field and in the DB11
ta
kes place in the same way.

1.1.4 Error messages

The error messages (high word: Bit 16 - 31) as well as error counter
(low word: Bit 0 - 15) are apparent from S32[61] field.

The following errors are defined:

0x0010 invalid access to bus card or hardware error


0x0020 no bus connection

e.g.: 0x0020 0004 means : bus error occurred 4 times.

MAC-8 RE 30 156 - 06 4
Process coupling

1.2 Profibus

1.2.1 General

An optional extra of the MAC-8 is a Profibus DP interface. This offers the possibility of
exchanging data between the individual MAC-8 and a higher-level control via a
Profibus DP system. For this, the higher-level control must be fitted with a Profibus DP
master. An example of a such Profibus DP system is illustrated in the figure below.

Communication via
Profibus DP

PS 307 5A CPU 315-2 DP

MX-4 MX-4
S7- 300

Hydraulic Hydraulic
axis axis

Example for the structure of a Profibus-DP-System

Example In the illustrated example the MAC-8 is connected to S7-


300 ( CPU 315-2 DP ), which is equipped with an
integrated Profibus-DP-Master and coupled through the
Profibus-DP. On the MAC-8-site the connection to the
Profibus-DP is realized through an integrated DP-Slave
node. For the data exchange between the CPU S7-300
and the individual MAC-8 the functions and data blocks
will be used.

Hardware requirements To enable the connection of the MAC-8 to the Profibus-DP-


System, the MAC-8 should be equipped with a Profibus-DP-
interface. Through a shielded, twisted two wire line the MAC-
8 is connected to the Profibus-DP (The MAC-8 system
operates only as Profibus slave) (All guidelines regarding
wiring, cable selection and bus connection are to be found in
the documentation of the respective master assembly
group and in the DIN-Norm 19245 Part 3. )

MAC-8 RE 30 156 - 06 5
Process coupling

1.2.2 Profibus- DP Address of the MAC-8

At the MAC-8 the Profibus-DP-Address ("BUSNUMBER" in ECL program) is set


through the DIALOG command. The address can be changed by means of the ECL-
debugger. After changing the address, a RESET of the MAC-8 system must be carried
out.

1.2.3 Communication sequence

General The data connection between the master assembly


group and the MAC-8 is independently created after
switching on the power supply. The master assembly
group addresses all available slaves in the Profibus-DP-
System ( MAC-8) and checks whether these are ready
for operation ( operating voltage switched on ). If the
individual DP-Slaves signal operational readiness, they
will be parameterized and configured by the DP-Master.
After, the master assembly group starts a cyclic user
data exchange with the DP slaves.There are no
determinations for the content and the interpretation of
the user data for the Profibus-DP. This means that each
user of a Profibus-DP-Slaves himself is responsible for
the definition of the format of the transmitted user data.
For the MAC-8 was arranged, that 8 – 64 bytes user
data will be transmitted.

MAC-8 RE 30 156 - 06 6
Process coupling

1.3 S7 Interbus-S program example

Part of a S7 program for an Interbus-S connection:

OB 100

// Wait for operational readiness of the switch assembly group


CALL FC 20
IB_ADR :=256 // slot place address of the assembly group
IBDB :=DB20 // global INTERBUS-data block
ZEIT :=T1 // used timer
IN_BYTES :=20 // number of the connected input bytes
OUT_BYTES :=20 // number of the connected output bytes
ERR :=MB9 // error in the init
// call up of the init driver FC 21 for right set up of the DB 10
CALL FC 21
PROD:=W#16#0 // parameter has no meaning (= any)
OK :=M110.0.0 // give info on error at FC 21
FEHL :=MW120 // at FC 21-error is here the error number
// processing of the diagnosis block DB 25
AUF DB 25 // Diagnosis block open
L 0 // clear internal data
T DBW 8 // internal word of DB 25 for FB 24 clear
T DBW10 // internal word of the DB 25 for FB 24 clear
//
UN M 100.5 // Interbus startup of the automatic control
S M 100.5 // (Startup bit for FB 24 IB_DIAG)
//
UN M 10.1 // data consistency
S M 10.1 // (ON)
//
LMB 9 // error message evaluation
L0
==I
BEB
CALL SFC 46 // error: STOP
// SFC 46 is to be set up optionally with instruction in case of error

MAC-8 RE 30 156 - 06 7
Process coupling

OB 1

// Taking over of the actual parameter to the function block FB 21. These
// will be saved in the instance data block DB 21.
// DB 20 is a „global data block“ that is to be created by the user
// that is to be set up by the user with the length of 12 words.
// The data of the subscriber will be saved in the Interbus temporary memory,
// which begins from the input address E 10.0 in RAM and is 8 byte large.

CALL FB 21, DB21


IBDB :=DB20
COPY_OK :=M10.0
ERROR :=MW2
DEST :=P#E 10.0 BYTE 20

// Call up diagnosis and acknowledge driver


CALL FB 24, DB24
IBDB :=DB20
DIDB :=DB25
Activate :=E4.0
AuoStart =M100.0
RUN :=M100.1
PF :=M100.2
BusQuality :=M100.3
Detection :=M100.4
StartUp :=M100.5

// Copy first transmission byte from receive buffer in the sent buffer
L EB 10
T AB 10

// Call up output driver


CALL FB 22 , DB22
IBDB :=DB20
CONS :=M10.1
COPY_OK :=M10.2
ERROR :=MW29
SOURCE :=P#A 10.0 BYTE 20

MAC-8 RE 30 156 - 06 8
Process coupling

1.4 Data transmission with Siemens protocol 3964 R

For the serial transmission 3964R a communication processor CP525 is necessary on


the PLC. The interpreter type is RK512. At using a S7 a CP441 is required, whereas
the SFC’s PUT and GET are to be used. On the PC side the appropriate driver must be
set up.
The RS485 interfaces of the master card (MAC-8) will be used for the transmission to
the PLC and to the PC. The description of the interface and the cable types are to be
found in the MAC-8 hardware description, whereupon RxD+ must be connected with
TxD (B), RxD- with TxD (A) and so on. The protocol works with the following settings:
transmission rate = 9600 baud, data bits = 8, stop bit = 1, parity = even
The MAC-8 is only the passive subscriber of the communication. The transmission can
work any time with the restriction that it is not possible to process more than one
message at the same time.
In the sent protocol (in the telegram head) the type of the transmitted data as block
(D), the target address of the data block, the target address of the data word and
the number of transmitted data words will be forwarded. After, the data and the
telegram end are transferred.
The target address of the data block always identifies a so called A field on the
MAC-8 part. This array is defined and set with its name 0 till 127 and its size at the
beginning of the ECL program on the MAC-8 (DIM instruction). The individual elements
of the field are 4 bytes , which equals a size of 2 DW. The low order bit (bit 0)is located
to the right in the 32 bit element.
In the following example a possible sent protocol from PLC to MAC-8 is displayed. The
underlined numbers are information from PLC and the other represent the responses
from MAC-8:

0210 0000 4144 0100 0018 FFFF .... .... 1003 xx10 0210 0000 0000 0310

byte type value meaning


01 ASCII 02h STX start code is always set on the
beginning
( ASCII 10h DLE acknow.from MAC-8)
02 bin 00h header 01, normal function
03 bin 00h header 02, always 00
04 ASCII 41h header 03, send („A“)
05 ASCII 44h header 04, data type = data block („D“)
06 bin 01h header 05, target addr. (hi.byte) DB Nr.=
1 (A field 1)
07 bin 00h Header 06, target addr. (low byte) DW
Nr.= 0 (elem. 0)
08 bin 00h header 07, numb. words (high byte)

MAC-8 RE 30 156 - 06 9
Process coupling

09 bin 18h header 08, numb.words (low byte) = 24


DW (12 elem.)
10 bin FFh header 09, always FF
11 bin FFh header 10, always FF
12 bin ??h data 01, A1[0] (high word - high byte)
13 bin ??h data 02, A1[0] (high word - low byte)
14 bin ??h data 03, A1[0] (low word - high byte)
15 bin ??h data 04, A1[0] (low word - low byte)

....
56 bin ??h data 45, A1[11] (high word - high byte)
57 bin ??h data 46, A1[11], (high word - low byte)
58 bin ??h
59 bin ??h data 48, A1[11], (low word - low byte)
60 ASCII 10h DLE, end code
61 ASCII 03h ETX, end code
62 bin xxh check sum even length parity
( ASCII 10h DLE acknow. from MAC-8)

On the side of the MAC-8 the array A1 is defined with DIM A1[14]. The last two
elements are A1[12] the send counter (high word = counter / low word = error word)
and A1[13] the receive counter (high word = counter / low word = error word).

To receive the data (Fetch Protocol) the PLC or the PC requests the corresponding
data block ( through a different characteristic in the header 03). This is then received
automatically at the requester. The underlined numbers are information from PLC and
the other are the responses from MAC-8:

0210 0000 4544 0200 0018 FFFF 1003 xx10 0210 0000 0000 .... 1003 xx10

byte type value meaning


01 ASCII 02h STX start code is always set on the beginning
( ASCII 10h DLE acknow.from MAC-8)
02 bin 00h header 01, normal function
03 bin 00h header 02, always 00
04 ASCII 45h header 03, receive („E“)
05 ASCII 44h header 04, data type = data block („D“)
06 bin 02h header 05, target addr. (high b.) DB Nr.= 2 (A field 2)
07 bin 00h header 06, target addr.(low b.) DW Nr. = 0 (Element 0)
MAC-8 RE 30 156 - 06 10
Process coupling

08 bin 00h header 07, Numb.words (high byte)


09 bin 18h header 08, Numb.words (low byte) = 24 DW (12 Elem.)
10 bin FFh header 09, always FF
11 bin FFh header 10, always FF
12 ASCII 10h DLE, end code
13 ASCII 03h ETX, end code

14 bin xxh check sum even length parity


( ASCII 10h DLE acknow.from MAC-8)

data from MAC-8 to PLC or PC:

01 ASCII 02h STX start code for send data from MAC-8
02 bin 00h sequence reaction telegram 01
03 bin 00h sequence reaction telegram 02
04 bin 00h sequence reaction telegram 03
05 bin 00h sequence reaction telegram 04
06 bin ??h data 01, A1[0] (high word - high byte)
07 bin ??h data 02, A1[0] (high word - low byte)
08 bin ??h data 03, A1[0] (low word - high byte)
09 bin ??h data 04, A1[0] (low word - low byte)

58 bin ??h data 45, A1[11] (high word - high byte)


59 bin ??h data 46, A1[11], (high word - low byte)
60 bin ??h data 47, A1[11], (low word - high byte)
61 bin ??h data 48, A1[11], (low word - low byte)
62 ASCII 10h DLE, end code
63 ASCII 03h ETX, end code
64 bin xxh check sum even length parity
( ASCII 10h DLE acknow.from SPS or WIN CC)

On the side of the MAC-8 the array A1 is defined with DIM A2[14]. The last two
elements are A2[12] the send counter (high word = counter / low word = error word)
and A2[13] the receive counter (high word = counter / low word = error word).

MAC-8 RE 30 156 - 06 11
Process coupling

Error messages:

Protocol errors will be output in the last two elements of the A field:

high word:
0x0001 A field is too small
0x0002 sequential telegram error
0x0004 send/fetch telegram error

MAC-8 RE 30 156 - 06 12
Process coupling

1.5 Modem connection

1.5.1 Modem with PC

Before modem is used with PC, it has to be initialized. This takes place with a PC and
a terminal programme (or the ECL-Debugger). The actually settings can be usually
saved with commands as AT&W0 or AT&W1 (memory bank 0 or 1). The command
AT&Y1, resp. AT&Y2, selects the saved setting, which after switch on takes effect.
The init string should be as follows:

ATE0Q1&D0%C3F0&K5&S0

AT Attention
E0 no response of the received character (half duplex)
Q1 modem message off
&D0 the control line DTR is ignored
%C3 compress process after MNP5 and V.42 allowed
F0 select high possibly transmission rate (speed, error
correction)
&K5 transparent Xon/Xoff flow control
&S0 the control line DSR is always set

If the dialling was from PBX (Private Branch Exchange), so the waiting for the dial
tone should be cut off with the following command, which is added to the init string:

X1 extended result code

The status output with AT&V shows the following setting (example):

CMD DESCRIPT Value CMD DESCRIPT Value CMD DESCRIPT Value


ION / ION / ION /
OPTION OPTION OPTION
DTE BPS 19200 &C DCD 1 )M CELLULA OFF
OPTION R
DTE 8NONE &D DTR 0 S0 RINGS TO 000
PARITY OPTION ANS
DIAL TONE &G GUARD NONE S1 RING 000
MODE TONE COUNT
LINE 14400 &K FLOW T.XON S2 <ESC> 043
SPEED CONTROL CHAR

MAC-8 RE 30 156 - 06 13
Process coupling
B BELL OFF &L NETWORK PSTN S3 <CR> 013
MODE CHAR
E CMD OFF &P PULSE 0 S4 <LF> 010
ECHO MODE CHAR
F LINE AUTO &Q ASYNC/SY 5 S5 <BS> 008
MODE NC CHAR
L SPKR LOW &R RTS/CTS 1 S7 CONNECT 060
VOLUME TIME
M SPKR 1 &S DSR OPT 0 S8 PAUSE 001
CONTROL TIME
.

N AUTO ON &T ENABLE YES S12 ESC 050


MODE RDL GUARD
TIME
Q QUIET ON &X SYNC INT S24 SLEEP 000
CLOCK INACT
V RESULT LONG &Y PROFILE NO S30 CONNECT 000
FORM INACT
W EC MSG 0 \A MAX BLK 256 S32 XON 017
SIZE CHAR
X EXT 4 \G REMOTE OFF S33 XOFF 019
RESULTS FLOW CHAR
Y LONG NO \K BRK OPT 5 S36 FALLBACK 007
SPACE ACTION
DISC
%C COMPRES BOTH \N ECL AUTO S37 MODE 000
SION MODE SELECT
%E AUTO OFF \W SPLIT OFF S48 V42 NEG 007
RETRAIN SPEED CTRL
-K EXT. 1 *H NEG. HIGH S95 RES. 002
SERVICES SPEED CODE

ACTIVE PROFILE:

B0 E0 L1 M1 N1 Q1 T V1 W0 X4 Y0 &C1 &D0 &G0 &J0 &K5 &Q5 &R1 &S0


&T4 &X0
S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:003 S07:060
S08:001 S09:006
S10:014 S11:090 S12:050 S18:000 S25:005 S26:001 S36:007 S37:000
S38:020 S44:020
S46:138 S48:007 S95:002

Normally the modems have a automatically baud rate identification so that


the settings for moden are not necessary. The baud rates between MAC-8
<-> modem, modem <-> modem and modem <-> PC can be different for
each case. Especially about the connection modem <-> modem one can say
a little because the possibly data compression. Before the connection with a
MAC-8 will be tested, the connection PC <-> PC should be carried out.

MAC-8 RE 30 156 - 06 14
Process coupling

1.5.2 Modem with the MAC-8

Before modem is used with PC, it has to be initialized. This takes place with a PC and
a terminal programme (or the ECL-Debugger). The actually settings can be usually
saved with commands as AT&W0 or AT&W1 (memory bank 0 or 1). The command
AT&Y1, resp. AT&Y2, selects the saved setting, which after switch on takes effect.
The init string should be as follows:

ATE0Q1&D0%C3F0&K5&S0V1S0=1S80=65

AT Attention
E0 no response of the received character (half duplex)
Q1 modem message off
&D0 the control line DTR is ignored
%C3 compress process after MNP5 and V.42 allowed
F0 high possibly transmission rate (speed, error correction)
select
&K5 transparent Xon/Xoff flow control
&S0 the control line DSR is always set
V1 complete alphanumeric messages
S0=1 modem accepts call at first ring
S80=65 remote configuration allowed

The status output wit AT&V shows the following setting (example):

CMD DESCRIPT Value CMD DESCRIPT Value CMD DESCRIPT Value


ION / ION / ION /
OPTION OPTION OPTION
DTE BPS 19200 &C DCD 1 )M CELLULA OFF
OPTION R
DTE 8NONE &D DTR 0 S0 RINGS TO 001
PARITY OPTION ANS
DIAL TONE &G GUARD NONE S1 RING 000
MODE TONE COUNT
LINE NONE &K FLOW T.XON S2 <ESC> 043
SPEED CONTROL CHAR
.
B BELL OFF &L NETWORK PSTN S3 <CR> 013
MODE CHAR
E CMD OFF &P PULSE 0 S4 <LF> 010
ECHO MODE CHAR
F LINE AUTO &Q ASYNC/SY 5 S5 <BS> 008
MODE NC CHAR
L SPKR LOW &R RTS/CTS 1 S7 CONNECT 055

MAC-8 RE 30 156 - 06 15
Process coupling
VOLUME TIME
M SPKR 1 &S DSR OPT 0 S8 PAUSE 001
CONTROL TIME
.
N AUTO ON &T ENABLE YES S12 ESC 050
MODE RDL GUARD
TIME
Q QUIET OFF &X SYNC INT S24 SLEEP 005
CLOCK INACT
V RESULT LONG &Y PROFILE NO S30 CONNECT 000
FORM INACT
W EC MSG 2 \A MAX BLK 128 S32 XON 017
SIZE CHAR
X EXT 4 \G REMOTE OFF S33 XOFF 019
RESULTS FLOW CHAR
Y LONG NO \K BRK OPT 5 S36 FALLBACK 007
SPACE ACTION
DISC
%C COMPRES NO \N ECL AUTO S37 MODE 000
SION MODE SELECT
%E AUTO RTRN \W SPLIT OFF S48 V42 NEG 007
RETRAIN SPEED CTRL
-K EXT. 1 *H NEG. HIGH S95 RES. 045
SERVICES SPEED CODE

ACTIVE PROFILE:

B0 E0 L1 M1 N1 Q0 T V1 W2 X4 Y0 &C1 &D0 &G0 &J0 &K5 &Q5 &R1 &S0


&T4 &X0 &Y0
S00:001 S01:000 S02:043 S03:013 S04:010 S05:008 S06:003 S07:055
S08:001 S09:006
S10:020 S11:090 S12:050 S18:000 S25:005 S26:001 S36:007 S37:000
S38:020 S44:020
S46:136 S48:007 S95:045

STORED PROFILE 0:

B0 E1 L1 M1 N1 P Q0 V1 W2 X4 Y0 &C1 &D0 &G0 &J0 &K3 &Q5 &R1 &S0


&T4 &X0
S00:000 S02:043 S06:003 S07:055 S08:001 S09:006 S10:020 S11:090
S12:050 S18:000
S36:007 S37:000 S40:105 S41:132 S46:136 S95:045

STORED PROFILE 1:

B0 E0 L1 M1 N1 Q0 T V1 W2 X4 Y0 &C1 &D0 &G0 &J0 &K5 &Q5 &R1 &S0


&T4 &X0
S00:001 S02:043 S06:003 S07:055 S08:001 S09:006 S10:020 S11:090
S12:050 S18:000
S36:007 S37:000 S40:105 S41:132 S46:136 S95:045

MAC-8 RE 30 156 - 06 16
Process coupling

1.5.3 The cable layout between modem and MAC-8

MODEM MX4 Adapter MX4 MODEM MX4 Adapter MX4


25-pin D-Sub 9-pin D-Sub 10 pin 9-pin D-Sub 9-pin D-Sub 10 pin
male connector male connector male connector male connector male connector male connector
2 2 6 2 3 7
3 3 7 3 2 6
4 4
5 5 7 9
6 6
7 7 9 7
20 8
shield shield

1.5.4 Test of the modem connection with 2 PC’s:

Requirements:

On both PC's a terminal programme or the ECL-debugger should be


installed. Modems connected (cable is normally supplied with the modems)
and correct configured.

Procedure:

Terminal programme on both PC's start


(resp. in ECL-debugger : ‘Debug’ , ‘Terminal activate select)
At modem 1 with the command ATDT <number> (tone dialling) or ATDP
<number> (pulse dialling) select (or ‘F6’ in ECL-debugger-terminal)
Modem 1 unhook and dials
the other side (modem 2) detect the ring and unhook too
the both modems synchronize and tune to transmission protocol. Wait on till
CD (Carrier Detect) is active, during this time no key operate.
now the character can be transmitted between both PC's.
to test the MAC-8-connection the cable to modem 2 move off and the MAC-
8- cable to modem connect . On PC1 several times RETURN key press. On
the screen appears the promt of the COP ‘>’.
the connection to MAC-8 is made.

MAC-8 RE 30 156 - 06 17
Process coupling

End:

within a second +++ type in, and again 1 second wait , then the command
ATH enter ( or ‘F7’ in ECL-debugger-terminal)
modem hang up, and by it then too the opposite part

MAC-8 RE 30 156 - 06 18
Process coupling

1.5.5 Sequence of a connection between PC <-> MAC-8:

Requirements:

modems connected and correct configured

Procedure:

terminal programmme start on f PC


(resp. in ECL-Debugger : ‘Debug’ , ‘Terminal activate’ select)
At modem 1 with the command ATDT <number> (tone dialling) or ATDP
<number> (pulse dialling) select (or ‘F6’ in ECL-debugger-terminal)
Modem 1 unhook and dials
the other side (modem 2) detects the ring and unhook too
the both modems synchronize and tune to transmission protocol. Wait on till
CD (Carrier Detect) is active, during this time no key operate.
On PC1 several times RETURN key press. On the screen appears the promt
of the COP ‘>’.
the connection to MAC-8 is made.

End:

within a second +++ type in, and again 1 second wait , then the command
ATH enter ( or ‘F7’ in ECL-debugger-terminal)
modem hang up, and by it then too the opposite part

Remote configuration:

If in register S80 of the modems the bit 6 (dec. 64) is high, it is possible to
make an access to the remote staying modem from terminal programme
with the command AT*R
It requires to enter a password (in a moment QWERTY), and replies then
with a promt !AT. By input the commands (without leading AT) it allows
then the reconfiguration. With the command *E this mode will be completed.
Afterwards one will be again in command mode of the local modem. The
command ATO0 or ATO1 build the data connection again.
The configuration of the back call passwords is perh. not possible.

MAC-8 RE 30 156 - 06 19
Process coupling

Back call mode:

If in register S80 of the modems the bit 7 (dec. 128) is high, after a
connection the modem require a password and calls back the assigned
number. Password set: AT*P<0-19>:<password>:<back number>
<password> should be at least 7 character long List of the passwords : AT*L

available init strings:

For a few modem types there are already the init strings available. The
appropriate files are saved under the names M_xxxxx.txt in MAC-8 directory.
The required file should be renamed in ‘modem.cfg’.

MAC-8 RE 30 156 - 06 20
Diagnosis and commissioning

Contents

4 Diagnosis and commissioning.......................................................................... 2


4.1 Diagnosis messages................................................................................. 2
4.2 Command status / Command error .......................................................... 3
4.3 Problem analysis ...................................................................................... 4
4.3.1 Problems with axes............................................................................ 4
4.3.2 Data transmission problems .............................................................. 7
4.3.3 Problems with the ECL-program ........................................................ 9
4.4 Replacement of the components .............................................................. 9
4.4.1 Change of the axis card ..................................................................... 10
4.4.2 Power supply ..................................................................................... 11
4.5 Commissioning of the axes....................................................................... 13

mac-8 RE30156-04 1
Diagnosis and commissioning

1 Diagnosis and commissioning

1.1 Diagnosis messages

On each master and slave card there are 3 LED for system control:

+5VTTL light supply voltage for card is available


light an ECL-program is available
RUN
otherwise no program available
light MAC-8 reports a on system error
and RUN flash: communication via debugger (only
TEST COM1 RS232) possible
and RUN off: MAC-8 stopped. Restart via voltage
off/on necessary

The following messages will be displayed for each axis in the variables Nxx.1
(Debugger ):

status messages

Debugger
Meaning
Nxx.1
0 no close loop control
1 axis stands in position(close loop)
2 axis carries out positioning
3 interpolation active
4 pressure controller active

error messages

Debugger
Meaning
Nxx.1
-20 encoder defect
-23 positions from interpolator are
missing
-30 close loop control deviation error
-31 positioning-time-out (close loop)

mac-8 RE30156-04 2
Diagnosis and commissioning

1.2 Command status / Command error

If the program source code appears in the debugger and the trace function is active,
then the status of the NC-interpreter is being displayed top right in the window. In this
“command status display” axis dependent and axis independent messages will be
output. These refer to the selected parallel program and the displayed line.
Debugger-
Meaning
display
0 command buffer is free
1 command buffer is full
2 command is to be put into buffer
3 command is not executable at present
4 command is being executed
5 axis request of the interpolators
6 LIN-set buffer is full
7 axis not ready for interpolation
8 command block processing
-2 command not executable
-5 axis not initialized
-9 min. pos. exceeded below
-10 max. pos. exceeded over
-11 inadmissible reference mode
-12 to many data fields
-13 data field already used
-14 memory ROM exceeded
-15 memory RAM exceeded
-19 nesting depth SP-calls
more than 50 subprograms calls
-20 ramp time DAC is negative
-21 ramp rate DAC is negative
-23 inadmissible axis data
-24 FUNC-parameter number to big
-25 CHANNEL not agreed
-26 no memory for dialog command
-27 time data FORCE is negative
-28 time data RATE is negative
-30 unknown table type
-31 table not valid
-32 F/t-table: 1. time value ≠ 0
-33 x-coordinate not steady rising

mac-8 RE30156-04 3
Diagnosis and commissioning

1.3 Problem analysis

This manual can only deliver an approximate solution on account of the complexity of
hydraulic drives. Generally the considerations should in the first place enclose the
following points:
The axis has worked before but problems have occurred by and by.
At creeping deterioration of the drive, attention should be paid at first to
valves and other dirt and wear susceptible components.
The axis has worked before and the problem has occurred suddenly.
Here the reasons are often in cabling, or in malfunction of one of the
hydraulic or electric components.
There were mechanical or hydraulic changes (or replacements) in the
installation. If the system characteristics (mass, natural frequency etc.) have
changed through the reorganization, then the amplification is to be
readjusted. In case of the natural frequency being too small, another
controller structure might be necessary.
Some components of the MAC-8 have been replaced
The replacement of the components of the MAC-8-system is described in
chapter Replacement of the components. It is also pointed out there,
whether software should be installed.
It is the first commissioning of the axis
The first commissioning of an hydraulic axis is described in chapter
Commissioning of the axes.

1.3.1 Problems with axes

1.3.1.1 Axis not seen from MAC-8 system or called by false axis number.

The number of axes from MAC-8-system that were recognized can be checked In the
system variable S32

S32[0] number of the installed master and slave cards


S32[1] bit pattern of the installed master and slave cards
S32[2] number of the installed axes
S32[3] bit pattern of the installed axes
S32[4] bit pattern of the software configured axes

It is possible to assign a software referred number to each installed axis card in the
parameters S32[20] to S32[51] with which the software axes can be called up in the

mac-8 RE30156-04 4
Diagnosis and commissioning

Programms.
The securest setting for this parameter is -1 for all axes. Then the system
automatically assigns a number to each axis. This number is counted from left to right.

1.3.1.2 Axis does not move

Check MAC-8
Has a move command been set from program ?
Has an axis UNLOCK been switched on (Fxx.04 = 1)?
Does axis supply voltage (Nxx.13 DAC)?
Is the axis switched on simulation (Sxx[63]=5)?

Check the peripherals


Is the cabling okay?
Does valve receive the output voltage as set point?
Is there hydraulic pressure available?
Is the cylinder hydraulically blocked (isolating valves)?
Is the cylinder mechanically blocked (mechanical stop)?

Test possibilities
If an axis LOCK (Fxx.4 = 0) is switched on, you can directly write a voltage
to DAC set point (Nxx.13) in the debugger. Be sure axis not in simulation!!

1.3.1.3 Position encoder is not being read in

Check MAC-8
Is the encoder type set accurately (Sxx.63)?
Is SSI-transmission bit number (S32.12) correct?

Check peripherals
Is the cabling of the encoder okay?
Is there an external power supply of the encoder available?

1.3.1.4 Axis reports control deviation error after release command

Check MAC-8
Are voltage and encoder direction correct (negative or positive feedback?)?
Are the encoder values read in accurately?
Is the set control deviation tolerance too small Sxx[79]?

mac-8 RE30156-04 5
Diagnosis and commissioning

1.3.1.5 Axis reports control deviation error during movement

Check MAC-8
Can the axis generally move (isolating valves)?
Is the max. velocity set too high ?
Is the set control deviation tolerance too small Sxx[80]?

1.3.1.6 Axis reports Positioning-Timeout

Check MAC-8
Is the target window too small Sxx[0]?
Is an I-part set for the fine positioning?
Is the set time for position time out too small Sxx[81]?

1.3.1.7 Axis oscillates

Check MAC-8
Is the amplification set too high ?
Can the axis, controlled via DAC (Nxx.13), move evenly?

Check peripherals
Are the valves dirty?
Is mechanical friction available?
Is the pressure for servo and main oil supply set accurately?

mac-8 RE30156-04 6
Diagnosis and commissioning

1.3.2 Data transmission problems

1.3.2.1 Transmission problems with debugger

The PC reports: transmission could not be synchronized


Is the cable okay?
Is the interface MAC-8 clogged through dialog?
The baud rate should be set in debugger on auto.
Has the RS232 port of the MAC-8 also been selected for PC with RS232
port?
Is RS232 – cable also plugged in on the printed circuit board?
Was an adapter interconnected at use of RS422?

The PC reports: transmission error –4


Switch everything off and on again !

The PC displays no errors


Is the debugger switched Online?
Is the correct slot-number selected?

1.3.2.2 Transmission problems with Procon

Procon reports at start: Demo-Mode no driver installed


The dongle is not available?
The dongle is not being recognized from program.
The false dongle is inserted (EDITOR instead RUN TIME SYSTEM).

Has the PC sufficient memory ( >600 KByte free) ?


Driver configuration in GD240.cfg

Procon reports: Timeout error to MAC-8


Cable not plugged in
MAC-8 is off
Interface is not set or selected accurately
Interface is blocked through dialog

mac-8 RE30156-04 7
Diagnosis and commissioning

1.3.2.3 Problems with Siemens 3964R-Protocol

Settings 9600 Baud, 8 Data, 1 Stop bit, even Parity


The MAC-8 is always slave at using the protocols, the PLC always master.
Dialog S3964 has been started on corresponding interface?
Example: start dialog S3964 1
interface 1 RS232 (X3.4 V24)
interface 2 Profibus (X3.3 DP)
interface 3 RS422 (X3.4 V24)

Data field (A-field) size?


example: DIM A03[20]
Typical cable layout (please check in respective manual):

MX-4 CP 524 MX-4 PC


9-pol 15-pol 9-pol 9-pol
TXD+ 2 11 RDB TXD+ 2 6 RD+
TXD- 6 4 RDA TXD- 6 1 RD-
RXD+ 3 9 TDB RXD+ 3 8 TD+
RXD_ 7 2 TDA RXD_ 7 3 TD-
GND 5 1 GND GND 5 5 GND

Via COP you can check in the MAC-8memory, what bytes were sent from PLC.
The command is dump f00400
The memory dump shows the ring buffer for transmission.

The data flow on the line looks for example like this:

function type DLE check sum


ETX

10
SPS 02 00 00 45 44 01 00 00 02 FF FF 10 03 xx
MX4 10 10 02 00 00 ..
always FF Datas from MX4
number of elements
STX DLE start element DLE
number of the data block
44=data block
45=fetch
41=send

In case interface RS232 is being used, you can record the data on a parallel switched
terminal.
Both last elements of the A field are reserved for counter and error messages. Here
you can check the fetch and send access of the PLC.
Axx[n-1] = below 16 bit counter read access, above 16 bit error messages
Axx[n] = below 16 bit counter write access, above 16 bit error messages

mac-8 RE30156-04 8
Diagnosis and commissioning

1.3.3 Problems with the ECL-program

1.3.3.1 Check the version of the ECL-program

In the debugger, under System Program info, the name and the creation date of the
ECL-program are displayed. The entry for BUG refers to the program on PC and the
entry with MAC-8 to the program on MAC-8. In order to work per Debugger with the
program, the both entries should be the same. To merely view or to change the
variable and system settings the actual program is not required. Be careful to not
transmit the wrong program to MAC-8 by mistake.

1.3.3.2 Check the firmware version

Under menu entry System Task Versions the version number of the firmware can be
requested in the debugger. Thus each installed axis card can be check either by
changing place or by menu entry System Slot-Number.

1.4 Replacement of the components

In general the power supply of the MAC-8 must be turned off before each replacement
of a component. Besides, the external low voltage supply of the encoders, digital
inputs/outputs etc. must be turned off to avoid damages caused by short circuits.
The cards are coded via their slot. That is why the new card must be put on the old
card’s slot.
Die Karten werden über einen Adressierschalter an der Frontseite der Slavekarten auf
die jeweilige Slaveadresse eingestellt.

The Cards be are over the address switch adjusted on the front wall the
slavecards Over the address switch, address the card according to slot !!!

mac-8 RE30156-04 9
Diagnosis and commissioning

1.4.1 Change of the axis card

After removing the front side connectors and the rolled screws, the card can be pulled
out of its mounting rack a few centimeters. Before inserting a new card, you must
check whether the card is identical or compatible with the old one. The name is on
handle end and inside on a sticker next to the circuit board.
There are several meanings:

Axy-z x=M master axis card


- x=X slave axis card
- y=4 4 axes
- y=2 2 axes
- z=U for analogue voltage input (-10 .. +10V)
- z=C for analogue current input (0 .. 20 mA)
- z=S ZAM1 = voltage input, ZAM2 = current
input

example:

AM4-U master card with 4 axes (8 analogue voltage input)


AX4-C slave card with 4 axes (8 analogue current input)

Furthermore the software version should be checked. Do the checking via debugger
(see Chapter Check the firmware version).
If necessary, the ECL program, the product- and machine data must be transmitted to
the new card.

mac-8 RE30156-04 10
Diagnosis and commissioning

1.4.2 Power supply

The battery should be exchanged every 6 - 8 years !


Compliance with the EMC guidelines and laws for individual components is the
responsibility.
Make to take out the mastercard then to put the power supply on now you can to
soldering the battery.
Otherwise data loss!!

1.4.2.1 Check of the fuses

After removing the rolled screws of the upper cover the power supply connection and
the fuses are accessible. Here some LED's are provided for diagnostics.
If none of the LED is lighting, one of the two fuses burned out.

1.4.2.2 Change of the power supply

After taking away the upper cover and removing the left and the right attachment
screws, the power supply can be taken out.

mac-8 RE30156-04 11
Diagnosis and commissioning

mac-8 RE30156-04 12
Diagnosis and commissioning

1.5 Commissioning of the axes

This example of a hydraulic system, which is being controlled by the MAC-8, is based
on a simple system. Mostly the hydraulic drive consists of extra isolating valves,
pressure limiting valves and other hydraulic components. Here the explanation for
handling a simple drive is given. If measuring a single value is not possible as
described, estimated values or values given in the hydraulic plan could be used as a
substitute. After the first commissioning these values can be tested and adjusted

Remark:
The commissioning of hydraulic machines should only be carried out by experienced
service personnel. The described handling is just an example. The experience of the
service personnel is irreplaceable.

ATTENTION:
At the commissioning the risk of injury must be excluded. If persons stand in the
working area of the machine, a movement(of the machine) must be blocked via
appropriate locking devices (hydraulic power pack off, isolating valves closed etc.).
Furthermore you have to make sure that the individual axes will not damage the
machine by moving. In particular at first commissioning it’s likely to happen that axes
carry out uncontrolled movements with high velocity because of false parameters. That
is why the emergency button which activates the locking devices in case of need, must
be fixed up within reach.

Handling:
After the hydraulic and electric connections were installed the software can be set into
operation.
1.Step: Encoder settings

mac-8 RE30156-04 13
Diagnosis and commissioning

type of the encoder Sxx[63]


at SSI-encoder S32[11] and S32[12]
resolution Sxx[66]

2.Step: Valve
Read out a voltage of +0,5V on Nxx[13] in set-up window
If the axis does not move, the voltage can be stepped up gradually.
Attention: The axis moves as long as the voltage is being read out.
Does the actual value count in the appropriate direction?
If not, then Sxx[68]= 1 actual value invert
Does the axis move with positive voltage in positive direction?
If not, then Sxx[69] = 1 voltage invert
Does the actual value show the appropriate travel distance?
If not, check up and adjust Sxx[66].

3.Step: Parameter
If possible put +10V and -10V on valve and measure velocity Nxx[6]
Attention: The axis moves as long as the voltage is being read out.
The major velocity of the two must be entered in Sxx[73] ”maximum velocity”.
Enter the velocity ratio (vmax for / vmax rew) in Sxx[48].
Enter zero point offset for the encoder in Sxx[67].
Enter min. and max. positions Sxx[71] and Sxx[72].
Enter max. acceleration Sxx[74]
plus entries for the desired jogg velocity Sxx[75] and Sxx[76] .
After the next initialization (axinit) the values will be taken over.

4.Step: Control loop


The value Sxx[4]=100 can be chosen as start value for the amplification.
After activating the closed loop via UNLOCK (Fxx.4=1) the axis should stand
still.
Attention: At the release of the axis the emergency button must be within
reach.
If the axis immediately runs at maximum velocity, there is probably a ”
positive or negative feedback” (see step 2).
If the axis begins to oscillate, the amplification is probably to high Sxx[4].
With the flags Fxx.8 and Fxx.9 the axis can move in manual mode. As long
as the flags are Fxx.4 = H and Flag Fxx.8 / Fxx.9 = H, the axis moves up to
position limit value.

5.Step: Optimization
The amplification can now be increased or decreased until the axis moves
smoothly.
For accurate target positioning the I-part (Sxx[7] + Sxx[12]) is to add if
required.

mac-8 RE30156-04 14
Contents
1 Hardware.......................................................................................................... 3
1.1 Preface ..................................................................................................... 3
1.2 General Information.................................................................................. 3
1.2.1 What is EMC? .................................................................................... 4
1.2.2 How does interference occur? ........................................................... 4
1.2.3 Interference transmission paths ......................................................... 5
1.2.4 Problems caused by EMC interference.............................................. 5
1.2.4.1 Wiring.......................................................................................... 7
1.2.4.2 Shielding ..................................................................................... 7
1.2.4.3 Interference suppression............................................................. 8
1.3 Installation and wiring guidelines for MAC-8............................................. 8
1.3.1 Installation site ................................................................................... 8
1.3.2 Earthing the housing .......................................................................... 8
1.3.3 Wiring................................................................................................. 9
1.3.4 Cable types and lengths .................................................................... 9
1.3.5 Notes on installation of the ultrasonic encoders................................. 9
1.3.6 Starting sequence of the components................................................ 10
1.4 Weight table.............................................................................................. 10
1.4.1 Current consumption from Master-/Slavecard ................................... 10
1.5 Hardware components.............................................................................. 11
1.5.1 Dimensioning VT-MAC-8-1X/K-RACK1 ............................................ 11
1.5.2 Dimensioning VT-MAC-8-1X/K-RACK5 ............................................ 12
1.5.3 Dimensioning VT-MAC-8-1X/K-RACK8 ............................................. 13
1.5.4 Dimensioning side view Racks........................................................... 14
1.5.5 Mastercard versions........................................................................... 15
1.5.5.1 VT-MAC8-1X/K-PM1 (VT-MAC8-1X/K-AM1 without Profi Bus). 15
VT-MAC8-1X/K-PM2 (VT-MAC8-1X/K-AM2 without Profi Bus) .............. 16
1.5.5.2 VT-MAC8-1X/K-PM4 (VT-MAC8-1X/K-AM4 without Profi Bus). 17
1.5.6 Possible plug combinations for mastercards...................................... 18
1.5.7 Pin assignment of the plugs............................................................... 19
1.5.8 Slavecard VT-MAC-8-1X/K-AX4 ........................................................ 22
1.5.9 Hardware components: subsequent example for axis 4 .................... 23
1.5.10 Cable set MAC-8/PC/RS232/5M ....................................................... 24
1.5.11 Cable set MAC-8/PC/RS422/RS232/ADAPTER/**M ........................ 24
1.5.12 Cable set MAC-8/AE/SF/**M............................................................. 25
1.5.13 Cable set MAC-8/AEA/SF/**M .......................................................... 26
1.5.14 Cable set MAC-8/ABS/SF/** ............................................................. 27
1.5.15 Cable set MAC-8/INC/5V/SF/**M ...................................................... 27
1.5.16 Cable set MAC-8/INC/24V/SF/**M .................................................... 28
1.5.17 Cable set MAC-8/DEA/ SF/**M ......................................................... 29
1.5.18 NOTES.............................................................................................. 30

MAC-8 RD 30 156 - 04 - B 2
1 Hardware

1.1 Preface

This document will tell you:

Why is it necessary for the installation of electric and electronic components


to meet EMC requirements?

How does interference occur?

Which external interference affects the controller?

How do you prevent interference?

What must be taken into account to ensure interference-free operation of


components in an installation?

This document is addressed to project engineers and planners who are planning the
installation and have to take account of the necessary guide lines. A further target
group are technicians and service engineers who have to install the connecting cables
properly with the help of this description, or who can rectify any faults in this sector in
the event of a fault. Besides this description, the relevant hardware project planning
manuals, the general safety regulations, VDE regulations and specific national
regulations remain fully applicable.

1.2 General Information

The constantly increasing use of electrical and electronic equipment involves the
following features:

increasing density of components

increase in power electronics

rise in operating speed

lower power consumption by the components

MAC-8 RD 30 156 - 04 - B 3
This increases the danger of the individual electric components influencing each
other.
The fault-free operation of modern automation systems can only be achieved if the
Electromagnetic Compatibility (EMC) of all components with the electromagnetic
environment, individually and if interconnected, is assured at the place of installation.
Compliance with the EMC guidelines and laws for individual components is the
responsibility of the controller manufacturer; the on-site installation of these com-
ponents and compliance with the guidelines in installations and machines can only be
guaranteed by trained service and commissioning personnel. All of the measures in the
development, design and on-site installation form a chain of measures whose weakest
link determines the property of interference immunity. Components that have passed
the interference immunity tests in laboratory conditions with flying colors may cause
problems on site if they are not installed in accordance with EMC requirements.

1.2.1 What is EMC?

EMC means electromagnetic compatibility. Electronic components must have sufficient


interference immunity and may only have a defined interference emission. Only if these
two properties are present in accordance with guidelines and laws, an interference-free
operation of several electronic components among each other can be guaranteed.

Further definitions:

Interference source: producer, origin of interference;


Coupling: transmission link of the interference;
Susceptible device: faulty device, component;
Interference quantity: e.g. overvoltage, circulating current etc.

1.2.2 How does interference occur?

Interference can occur as a consequence of switching operations by contactors, valves


and motor brakes. Electric operators, particularly frequency converters, fluorescent
tubes, even electronic components themselves are potential sources of interference.
High-frequency devices and transmitters are also possible sources of interference.
Incorrectly implemented earthing measures can lead to circulating currents that can
affect the susceptible device. Even contact with components by electrostatically
charged operating personnel can produce interference.

MAC-8 RD 30 156 - 04 - B 4
1.2.3 Interference transmission paths

Electromagnetic interference is the result of interference variables that are generated


by interference sources and are transmitted to the faulted (susceptible) device via
couplings. These three components, interference source, coupling and susceptible
device are the preconditions for the creation of interference. If one of the three
components is absent, there are no effects. Possible couplings for interference
variables are inputs and outputs, voltage supply, digital interfaces, earthing systems as
well as environmental electromagnetic fields. For this reason, one can distinguish
between four possible coupling paths, galvanic, capacitive, inductive and radiant
coupling. This allows classification into conducted and non-conducted interference
quantities.

When designing an installation, the manufacturer must take all possible steps to
prevent the development of interference sources:

- all devices that produce interference must be suppressed;

- The control cabinet must be designed in such a way that the mutual
influence of the components on each other is reduced to a minimum;

externally introduced interference must be eliminated.

1.2.4 Problems caused by EMC interference

The consequences of EMC interference can be manifold: rapid peaks of high amplitude
(ns range, voltage several kV) can destroy components directly. Electrostatic discharge
can have similarly catastrophic consequences (ns range, voltage 15-20kV).
Interference through switching operations can influence digital transmissions, and
digital systems can be made to crash and resets to be triggered.

MAC-8 RD 30 156 - 04 - B 5
Procedures for conforming with EMC

The design guidelines described in the following for


our MAC-8 controllers must be complied with. In the
event of non-compliance with the regulations, we can
not give any warranty for fault-free operation of the
installation.

EMC procedures are aimed at reducing the three components responsible


for the creation of interference.

These are:

- avoiding sources of interference,


- preventing coupling paths,
- avoiding susceptible devices.

Our controllers or systems have been tested with respect to meeting certain limit
values (see technical documentation). However, since these electronic units are only
components of an overall system, and since interference sources can develop through
the installation of several components, attention must be paid to installation in
accordance with EMC requirements when designing a system.

The manufacturer of the system is responsible for


compliance with EMC guidelines, the operator is
responsible for the radio interference suppression of
the overall system.
(Radio interference suppression in accordance with
DIN VDE 0875 Part 11)

EMC measures usually consist of a package of measures that must be carried out to
ensure that the system is interference-free.

All measures taken when designing the system


prevent expensive alterations and subsequent
interference elimination.

MAC-8 RD 30 156 - 04 - B 6
1.2.4.1 Wiring

Definition:

Signal line: Command value and actual value cable;


Data line(RS232, RS485,
sensor lines, etc.);
digital I/O;

Load line: Low voltage, supply lines (DC +24V, etc.);


Mains, supply lines (AC115V, AC230V, etc.);
Incoming lines for contactors(coil and switch
circuit);

When installing signal and load lines, please note the following:

- greatest possible isolation of signal and load lines, at most they may cross
each other, but never run closely parallel to each other;

- signal lines must never run past powerful external magnetic fields (e.g.
motors, transformers);

- signal lines should be installed without interruptions. No plugs or terminals


should be installed between the lines;

- load lines installed as single wires (e.g. voltage supply)


should be twisted together;

- light-duty cables must not be installed parallel to heavy


duty cables. Cables not related to the controller must not be run through the
controller components;

1.2.4.2 Shielding

To prevent interference coupling onto the signal lines, the latter must be shielded. Only
cables with a braided shield may be used for signal lines. However, the correct
connection of the shield is important for the shielding effect. In order to find out what

MAC-8 RD 30 156 - 04 - B 7
side the shield is connected to, please refer to the wiring diagrams. The type of
connection is always the same: the cable shield must be attached to a large area of the
metallic or metal-plated plug-in connector. This is achieved by turning the shield back-
wards and clamping it under the cable grip.

An unconnected or incorrectly connected shield has


no shielding effect.

1.2.4.3 Interference suppression

All switched inductors (relays, contactors, valves, motor brakes, motors etc.) must be
suppressed. These interference sources produce interference voltage. The objective of
the suppression measure is to prevent this interference voltage.
With DC devices, a free-wheeling diode is usually connected anti-parallel via the
consumer winding. For let-through current and reverse voltage, the dimensioning of the
diode should be at least 1.5 to 2 times the nominal data of the excitation winding. The
reverse recovery time should be < 100 ns.
With AC devices, a type-specific RC combination is usually used.

When free-wheeling diodes are used, the noticeably extended dropout time of the
connected inductors must be taken into account.

1.3 Installation and wiring guidelines for MAC-8

1.3.1 Installation site

The MAC-8 must not be installed directly beside power electronics (frequency
converters; contactors etc.).

1.3.2 Earthing the housing

The chrome-plated attachment brackets of the MAC-8 housings must be mounted on a


large area of the rear wall of the control cabinet. This connection must be conductive.
If necessary the paint on the rear wall of the control cabinet must be removed to
achieve this. The connection between the housing and the rear wall of the control
cabinet represents the optimum earthing system for the MAC-8. In addition, a flexible

MAC-8 RD 30 156 - 04 - B 8
Cu lead of 2.5 mm² is to be connected to a fastening bolt and run to the star point of the
control cabinet. (This is only the earth protective measure as defined by VDE; for HF
earthing, it is essential that the first point should be observed).

1.3.3 Wiring

All cables to the MAC-8 (digital I/O, encoder, analog I/O, serial interfaces) must be
installed in a separate conduit, away from power cables. Generally, all wires of a cable
should be used, other wires should be connected to zero potential on both sides. The
cables should run directly to the partner without reconnecting the MAC-8.

1.3.4 Cable types and lengths

The wiring diagrams of the MAC-8 must be necessarily observed. The maximum cable
lengths, the recommended cable types and the manner described for connecting shield
must be complied with.
For special applications the releasing by Rexroth is required.
Tel. 00 49 9352-181130,
(Fax: 00 49 9352-181119)

1.3.5 Notes on installation of the ultrasonic encoders

The notes given here have been worked out for the following encoders: T&R: LA66,
Balluff: BTL3, MTS: LHS. These ultrasonic encoders require particularly carefully
designed wiring. When using these position measurement systems, it is necessary to
switch from the otherwise prescribed single-ended shielding to double-ended shielding.
With double-ended shielding, it is essential to ensure that the reference potentials of
the shields, control cabinet and machine earth, are identical. Only then double-ended
shielding may be used. If there are potential differences between these reference
potentials, the potential is equalized via the cable shield, which can destroy the cable.
With critical installations, the shield can be placed on the cable grip on the controller
side; on the encoder side, this can then be connected in a capacitive way via a
capacitor between 47nF and 680nF. In this case, make sure that the capacitor
connection is short and of a large-area type (connection length max. 1-2cm).

MAC-8 RD 30 156 - 04 - B 9
1.3.6 Starting sequence of the components

It is essential that the controller should be the first component to be switched on. Only
then the hydraulic system may be switched on.

1.4 Weight table

Type weight
[g]
Rack 1 1000
Rack 5 1800
Free space cover LEEB 100
Mastercard 400
Mastercard with 4 axes 550
Axis card for 4 axes 350

1.4.1 Current consumption from Master-/Slavecard

Mastercard without axes 500 mA


Mastercard with axes 800 mA
Slave 400 mA

MAC-8 RD 30 156 - 04 - B 10
1.5 Hardware components

You will find terminal diagrams and dimensioning plans for the MAC-8 components on
the following pages.

1.5.1 Dimensioning VT-MAC-8-1X/K-RACK1

MAC-8 RD 30 156 - 04 - B 11
1.5.2 Dimensioning VT-MAC-8-1X/K-RACK5

MAC-8 RD 30 156 - 04 - B 12
1.5.3 Dimensioning VT-MAC-8-1X/K-RACK8

MAC-8 RD 30 156 - 04 - B 13
1.5.4 Dimensioning side view Racks

MAC-8 RD 30 156 - 04 - B 14
1.5.5 Mastercard versions

1.5.5.1 VT-MAC8-1X/K-PM1 (VT-MAC8-1X/K-AM1 without Profi Bus)

X1a,b Ethernetinterface

X5 Digital In-/ Outputs

X4 Analogue Voltage Input

X3.1 CAN Open

X3.4 RS 485 / V24 Interface

X3.3 Profibus DP ® Interface

MAC-8 RD 30 156 - 04 - B 15
VT-MAC8-1X/K-PM2 (VT-MAC8-1X/K-AM2 without Profi Bus)

X1a,b Ethernetinterface

X5 Digital In-/ Outputs X1 Analogue In- / Outputs

X4 Analogue Voltage Input

X2.x Encoder Input

X3.1 CAN Open

X3.3 Profibus DP ®Interface X3.4 RS 485 / V24 Interface

MAC-8 RD 30 156 - 04 - B 16
1.5.5.2 VT-MAC8-1X/K-PM4 (VT-MAC8-1X/K-AM4 without Profi Bus)

X1a,b Ethernet Interface

X1 Analogue In- / Outputs

X5 Digital In- / Outputs

X4 Analogue Voltage Input

X3.1 CAN Open


X2.x Encoder Input

X3.3 Profibus DP ® Interface

MAC-8 RD 30 156 - 04 - B 17
1.5.6 Possible plug combinations for mastercards

Analogue RS 232 CAN Profibus Analogue Encoder


In RS 485 Open DP® I/O connector/
plug
AM 1 X X X
AM 2 X X X X 2X
AM 4 X X X 4X
PM 1 X X X X
PM 2 X X X X X 2X
PM 4 X X X X 4X

MAC-8 RD 30 156 - 04 - B 18
1.5.7 Pin assignment of the plugs

X1A RJ-45; 100BaseT Ethernet


X3.1 CAN open
1 TPO+ 1 n.c.
2 TPO- n.c. 6
3 TPI+ 2 CAN_Lx
4 75K-GND CAN_Hx 7
5 75K-GND 3 GNDCANx
6 n.c. 8
TPI-
4 n.c.
7 75K-GND n.c. 9
8 75K-GND 5 n.c.

X1B RJ-45; 10BaseT Ethernet X3.3 Profibus DP


1 TPO+ 1 n.c.
2 TPO- VP 6
3 TPI+ 2 n.c.
n.c. 7
4 n. c.
3 RxD/TxD -P
5 n. c. RxD/TxD -N 8
6 TPI- 4 CNTR -P
7 n. c. n.c. 9
8 n. c. 5 DGND

X4 Analogue in X3.4 V 24
1 Uin1C 1 GND
Uin2C 6 RxD 6
2 Uin3C 2 TxD
Uin4C 7 RS485
3 AGND GND 7
Uin1D 8 3 5V
4 Uin2D RxD+ 8
Uin3D 9 4 RxD -
5 Uin4D TxD+ 9
5 TxD -

Meaning of LEDs:
24V supply voltage
OK Processor is working (RAM, Flash etc. o.k.)
RUN NC-Program is working
BUS Communication through back plane bus system o.k.

X6 Supply voltage
1 Shield
2 GND-SPS
3 +24V

MAC-8 RD 30 156 - 04 - B 19
X5 Digital I /O
Pin Beschreibung Pin Beschreibung Pin Beschreibung
22 reserviert
43 reserviert 1 reserviert
23 IN0
44 IN2 2 IN1
24 IN3
45 IN5 3 IN4
25 IN6
46 IN8 4 IN7
26 IN9
47 IN11 5 IN10
27 IN12
48 IN14 6 IN13
28 IN15
49 IN17 7 IN16
29 IN18
50 IN20 8 IN19
30 IN21
51 IN23 9 IN22
31 IN24
52 IN26 10 IN25
32 IN27
53 IN29 11 IN28
33 IN30
54 OUT0 12 IN31
34 OUT1
55 OUT3 13 OUT2
35 OUT4
56 OUT6 14 OUT5
36 OUT7
57 OUT9 15 OUT8
37 OUT10
58 OUT12 16 OUT11
38 OUT13
59 OUT15 17 OUT14
39 OUT16
60 OUT18 18 OUT17
40 OUT19
61 OUT21 19 OUT20
41 OUT22
62 0Vs 20 OUT23
42 0Vs
21 0Vs

NOTE:
Inputs Outputs
- Input current I=2mA Current carrying capacity: 50mA
- UE = 0V ... +5V at signal „0“
- UE = +10V ... +36V at signal „1“

MAC-8 RD 30 156 - 04 - B 20
X1 Analog I/O mastercard
Pin Pin Description
1 n.c.
n.c. 14
2 AGND analog ground
n.c. 15
3 n.c.
AGND 16 analog ground
4 CVin1A current/voltage input 0.. 20 mA / + - 10 V
CVin1B 17 current/voltage input 0.. 20 mA / + - 10 V
5 CVin2A current/voltage input 0.. 20 mA / + - 10 V
CVin2B 18 current/voltage input 0.. 20 mA / + - 10 V
6 AGND analog Ground
CVin3A 19 current/voltage input 0.. 20 mA / + - 10 V
7 CVin3B current/voltage input 0.. 20 mA / + - 10 V
CVin4A 20 current/voltage input 0.. 20 mA / + - 10 V
8 CVin4B current/voltage input 0.. 20 mA / + - 10 V
AGND 21 analog ground
9 Vout1 +/- 10 V
Vout2 22 +/- 10 V
10 Vout3 +/- 10 V
Vout4 23 +/- 10 V
11 AGND analog ground
Cout1 24 +/- 20 mA
12 Cout2 +/- 20 mA
Cout3 25 +/- 20 mA
13 Cout4 +/- 20 mA

X2.x Encoder connector


Pin INC SSI
1 /Ua 2
2 +Clk
3 Ua 0
4 / Ua 0
5 Ua 1
6 / Ua 1
7 -Clk
8 Ua 2
9 -Data
10 0V 0V
11 +Data
12 5 V TTL
13 n.c. n.c.
14 reserved
15 n.c. n.c.

MAC-8 RD 30 156 - 04 - B 21
Hardware

1.5.8 Slavecard VT-MAC-8-1X/K-AX4

S1 address
slot Attention::
0 reserved
1 reserved
2 Slot 2
Adress the card according to slot !!!
3 Slot 3
4 Slot 4
5 Slot 5
6 Slot 6
7 Slot 7
8 Slot 8
9 - F reserved

X1 Analog I/O slave card


Pin Pin Beschreibung
1 Cin1C current input + - 20 mA
Cin2C 14 current input + - 20 mA
2 AGND analog ground
Cin3C 15 current input + - 20 mA
3 Cin4C current input + - 20 mA
AGND 16 analog ground
4 CVin1A current/voltage input 0.. 20 mA / + - 10 V
CVin1B 17 current/voltage input 0.. 20 mA / + - 10 V
5 CVin2A current/voltage input 0.. 20 mA / + - 10 V
CVin2B 18 current/voltage input 0.. 20 mA / + - 10 V
6 AGND analog Ground
CVin3A 19 current/voltage input 0.. 20 mA / + - 10 V
7 CVin3B current/voltage input 0.. 20 mA / + - 10 V
CVin4A 20 current/voltage input 0.. 20 mA / + - 10 V
8 CVin4B current/voltage input 0.. 20 mA / + - 10 V
AGND 21 analog ground
9 Vout1 +/- 10 V
Vout2 22 +/- 10 V
10 Vout3 +/- 10 V
Vout4 23 +/- 10 V
11 AGND analog ground
Cout1 24 +/- 20 mA
12 Cout2 +/- 20 mA
Cout3 25 +/- 20 mA
13 Cout4 +/- 20 mA

MAC-8 RD 30 156 - 04 - B 22
Hardware

1.5.9 Hardware components: subsequent example for axis 4

+24 V
GND
AGND
IUin4A
IUin4B

Cout 4 D
AGND E
Iin4C F
+24 V A
GND B HM12
2
P
1
4 I

= W
RE
~ 2
E P
1
I
HM12

s
5 SSI RHS (TEMPOSONIC III)
+24 V
GND 6
- CLK 4
+ CLK 3
- Data 1
+Data 2

MAC-8 RD 30 156 - 04 - B 23
Hardware

1.5.10 Cable set MAC-8/PC/RS232/5M

1.5.11 Cable set MAC-8/PC/RS422/RS232/ADAPTER/**M

MAC-8 RD 30 156 - 04 - B 24
Hardware

1.5.12 Cable set MAC-8/AE/SF/**M

MAC-8 RD 30 156 - 04 - B 25
Hardware

1.5.13 Cable set MAC-8/AEA/SF/**M

Recommended cabel type


X1 LIYCY 0.25 mm2
X1
Cout4 13 YE

Cout3 25 RD

Cout2 12 GY

Cout1 24 PK

AGND 11 WH

Vout4 23 BK

Vout3 10 BU

Vout2 22 VT

Vout1 9 GY-PK

AGND 21 WH-GN

Cin8 8 BN-BU

Cin7 20 RD-BU

Cin6 7 BN-GN

Cin5 19 GN

AGND 6 WH-BU

Cin4 18 GY-BN

Cin3 5 BN

Cin2 17 YE-BN

Cin1 4 RD-BN

AGND 16 WH-GY

Vin4 3 WH-PK

Vin3 15 WH-YE

AGND 2 PK-BN

Vin2 14 WH-BK

Vin1 1 WH-RD

Cabel shield to strain 25pol. D-SUB


relief device of the plug plug
housing

MAC-8 RD 30 156 - 04 - B 26
Hardware

1.5.14 Cable set MAC-8/ABS/SF/**

Attention: Encoder type "Gray Code"

1.5.15 Cable set MAC-8/INC/5V/SF/**M

MAC-8 RD 30 156 - 04 - B 27
Hardware

1.5.16 Cable set MAC-8/INC/24V/SF/**M

MAC-8 RD 30 156 - 04 - B 28
Hardware

1.5.17 Cable set MAC-8/DEA/ SF/**M

Recommended cabel type


LIYCY 0.25 mm2

X5 In1 23

In2 2

In3 44

In4 24

In5 3

In6 45

In7 25

In8 4

In9 46

In10 26

In11 5

In12 47

In13 27

In14 6

In15 48

In16 28

+24 V 1

DGND 21

In17 7

In18 49

In19 29

In20 8

In21 50

In22 30

In23 9

In24 51

In25 31

In26 10

In27 52

In28 32

In29 11

In30 53

In31 33

In32 12

+24 V 22

DGND 42

Out1 54

Out2 34

Out3 13
Cabel shield to strain
relief device of the plug Out4 55
housing

Out5 35

Out6 14

Out7 56

Out8 36

Out9 15

Out10 57

Out11 37

Out12 16

Out13 58

Out14 38

Out15 17

Out16 59

Out17 39

Out18 18

Out19 60

Out20 40

Out21 19

Out22 61
Out23 41

Out24 20

+24 V 43

DGND 62

62pol. D-SUB
Plug

MAC-8 RD 30 156 - 04 - B 29
Hardware

1.5.18 NOTES

MAC-8 RD 30 156 - 04 - B 30
The specified data is for Bosch Rexroth AG
product D-97813 Lohr am Main
description purposes only and
Zum Eisengießer 1
may not be deemed to be
guaranteed unless Telefon 0 93 52 / 18-0
expressly confirmed in the Telefax 0 93 52 / 18-10-40
contract. Telex 6 89 418-0
All rights reserved - Subject to RE30156 / 01.06
revision

Das könnte Ihnen auch gefallen