Beruflich Dokumente
Kultur Dokumente
user manual
ECL – Programming System
Contents
mac-8 RE30156-01 1
ECL – Programming System
mac-8 RE30156-01 2
ECL – Programming System
mac-8 RE30156-01 3
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
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
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.
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.
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 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
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.
After starting the ECL- programming system the following screen appears.
variable window
program state
mac-8 RE30156-01 8
ECL – Programming System
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 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.
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”.
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
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.
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
Independent function menus are available in almost every window and its fields. These
function menus are opened with the right mouse button.
mac-8 RE30156-01 13
ECL – Programming System
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.
mac-8 RE30156-01 14
ECL – Programming 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...
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.
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.9 Exit
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
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...
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.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...
1.5.2.2.7 Replace...
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
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.
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.
Initialize values
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
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.
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.)
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
Save values
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.
Init values
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.
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.
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.
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.
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.
If a backup file, which exceeded the array limits before, is loaded a warning is served
at loading.
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.
mac-8 RE30156-01 35
ECL – Programming System
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)
mac-8 RE30156-01 36
ECL – Programming System
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.)
mac-8 RE30156-01 37
ECL – Programming System
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 .
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.
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.)
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.
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.)
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.
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).
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).
mac-8 RE30156-01 44
ECL – Programming System
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.)
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
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!
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.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
mac-8 RE30156-01 49
ECL – Programming System
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.
mac-8 RE30156-01 50
ECL – Programming System
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).
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
This step is a possible continuation of the previous described paragraph (mark and
copy in the clipboard).
mac-8 RE30156-01 53
ECL – Programming System
mac-8 RE30156-01 54
ECL – Programming System
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> ).
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).
mac-8 RE30156-01 55
ECL – Programming System
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.
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
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.
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
With this function the actual marked entry of the mixed file will be deleted.
mac-8 RE30156-01 57
ECL – Programming System
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.
mac-8 RE30156-01 58
ECL – Programming System
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).
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).
mac-8 RE30156-01 60
ECL – Programming System
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.
After specification of the trigger condition the start trigger can be completely set.
mac-8 RE30156-01 61
ECL – Programming System
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
The stop trigger can be completely set, after selecting the trigger condition.
mac-8 RE30156-01 63
ECL – Programming System
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.
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
mac-8 RE30156-01 65
ECL – Programming System
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)
mac-8 RE30156-01 67
ECL – Programming System
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)
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
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)
mac-8 RE30156-01 70
ECL – Programming System
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.
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
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.
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!
After changing of the system data (S parameter) these should be taken over from this
axis.
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.
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.
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
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).
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.
In the following descriptions of the buttons the sequence is intentionally out of order.
mac-8 RE30156-01 76
ECL – Programming System
mac-8 RE30156-01 77
ECL – Programming System
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.
mac-8 RE30156-01 78
ECL – Programming System
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.
The program on the selected slot of the control device will be deleted after confirmation
of an inquiry. (see below)
mac-8 RE30156-01 79
ECL – Programming System
1.5.2.6 Options
All settings for handling the ECL – Programming system are done here.
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
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 .
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.
Here all settings for the handling of the projects will be carried out.
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
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.
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.
Here all settings for handling of the oscilloscope function DTRACE will be carried out.
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:
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).
mac-8 RE30156-01 87
ECL – Programming System
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“:
mac-8 RE30156-01 88
ECL – Programming System
Restart recording
mac-8 RE30156-01 89
ECL – Programming System
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:
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
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).
mac-8 RE30156-01 91
ECL – Programming System
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)
mac-8 RE30156-01 93
ECL – Programming System
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.
mac-8 RE30156-01 94
ECL – Programming System
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.
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
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.
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.
mac-8 RE30156-01 96
ECL – Programming System
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...
mac-8 RE30156-01 97
ECL – Programming System
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
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 <Actual file print>. Details can be found under 5.2.2
File – print.
Icon for <Open window with index help for MAC-8 manual>.
Details can be found under 5.2.8 Help – manual.
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
After pressing the button and starting the recording the following situation results:
The start was triggered and the recording waits for trigger event.
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.
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.
1.5.3.6 Debug
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.
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.
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>
Button to call up the window for the Trend view. After start-
ing a Trend recording with the button WINVIEW window
opens automatically.
Apart from general settings you can additionally carry out settings for the trend at
WINVIEW application.
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!
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.
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!
The last member of setup window for the Trend is a text array Description, in which
remarks to the actual Trend are possible.
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.
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).
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).
Select Columns
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.
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 .
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.
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.
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.
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.
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.
Examples:
before:
afterward:
a0[1]
A000[1]
v0.1
V000.01
n3.2
n03.02
To reach that: select lines – move mouse pointer to marking – use right
mouse button and select function Set block comment there.
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).
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:
Example:
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):
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).
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.
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).
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.
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.
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.
After saving syntax highlighting is active but the source file is not yet bound
into the project.
The new module has now an entry at SOURCE FILES in sequence of decla-
rations (see sequence of #module commands in main module!).
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.
At the following example slot 1 owns project Main_Slot1 and slot 3 project
Main_Slot3. First it is shown without 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:
At window above the project group will be created with file name “Datei-
name” (here Exercise1) and afterwards press button Speichern” for saving “.
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.
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.
1.8 Appendix
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
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.
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.
Call: EC <ECL-Filename>[<Options>]
Options:
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).
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
mac-8 RE30156-02 2
ECL - Command set
1.1 Notes
mac-8 RE30156-02 3
ECL - Command set
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:
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
A term can be specified as index for all field accesses. The index always
counts from zero. The index limits are not checked!
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:
mac-8 RE30156-02 6
ECL - Command set
The 1st number identifies the board and the 2nd number identifies the output
or input.
mac-8 RE30156-02 7
ECL - Command set
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>}
mac-8 RE30156-02 9
ECL - Command set
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!
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).
mac-8 RE30156-02 10
ECL - Command set
Syntax:
Example:
Syntax:
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
Syntax:
"{"
<commands>
"}"
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
Syntax:
Example
BEGIN MP_TEST
; instructions
END MP_TEST
BEGIN SP_Subprog1
; instructions
END
Definition:
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"
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
Syntax:
Syntax:
mac-8 RE30156-02 15
ECL - Command set
Syntax:
Example:
mac-8 RE30156-02 16
ECL - Command set
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.
Options
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
Syntax:
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>
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]
Syntax:
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.
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.
With this command real variables can be set. In case of assigning an integer-
term, an automatic conversion takes place in real format.
Example:
mac-8 RE30156-02 19
ECL - Command set
Syntax:
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.
Syntax:
Syntax:
mac-8 RE30156-02 20
ECL - Command set
“EXCHANGE” “OFF”
Syntax:
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.
Syntax:
!EV 6.00
"MAXCODE" <pos.constant>
mac-8 RE30156-02 21
ECL - Command set
mac-8 RE30156-02 22
ECL - Command set
Syntax:
"AXINIT"
Syntax:
Syntax:
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
Syntax:
The position controller of the axis is activated, the flag "in control loop" is set
to high. Condition, no error has occurred.
Syntax:
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.
Syntax:
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
Syntax:
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.
Syntax:
!EV 5.44
This command works as “HALT”, the force controller however is not stopped.
Syntax:
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
Syntax:
Syntax:
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.
Syntax:
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.
Syntax:
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> ["%"]]
mac-8 RE30156-02 27
ECL - Command set
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
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
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:
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[%]
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.
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).
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
At second POS-command the prescribed move velocity of 500 mm/s is not accessible
because of the short move distance.
VEL X0 = 100000
POS LA X0 = 100000 v[mm/s]
WAIT i_Start_2 = LH 100
;condition is not meet !
POS A X0 = 150000
0 100 s[mm]
mac-8 RE30156-02 32
ECL - Command set
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")
examples:
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
]
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
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.
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
Rapid motion to approach a workpiece, slowing down to work velocity (VREST) shortly
before reaching the workpiece.
20
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
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
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.
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
0 10 20 30 40 s[mm]
The symmetric move profile will be achieved by first working without and then with the
option VREST .
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
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.
Example :
mac-8 RE30156-02 40
ECL - Command set
Example :
mac-8 RE30156-02 41
ECL - Command set
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
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.
mac-8 RE30156-02 43
ECL - Command set
Syntax:
Since EV 6.04
Link VREST act. set point. pos. > act. Set point pos. <=
target target
(same direction) (opposite direction)
Examples:
simple Freeze-command
Axis moves from position 95 mm with the actual set point velocity further till limit switch
mac-8 RE30156-02 45
ECL - Command set
mac-8 RE30156-02 46
ECL - Command set
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.
Syntax:
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.
Syntax:
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
↑ EV 5.45
↑ EV 6.101
where:
F units*1000
t in msec
S in units*1000
x without dimension
;X = s respectively t, Y = F
mac-8 RE30156-02 49
ECL - Command set
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.
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
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
Syntax:
↑ EV 5.44
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
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.
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
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.
VIRTUAL and REAL. With this the axis motions are realized as geometric
dependencies.
mac-8 RE30156-02 53
ECL - Command set
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.
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:
Syntax:
The setting of the "voltage output channel Sx[86] " takes effect.
Example:
mac-8 RE30156-02 55
ECL - Command set
Syntax:
↑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>
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.
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.
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
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.
mac-8 RE30156-02 59
ECL - Command set
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
At the determination of the synchro error the synchro ratio, synchro offset
and synchro correction are automatically considered
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
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..
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).
course X1
course X2
mac-8 RE30156-02 63
ECL - Command set
X0 master
course X1
course X0
X1 master
X0 master
course X1
course X0
X1 master
mac-8 RE30156-02 64
ECL - Command set
Syntax:
"FUNC" <function number> <axis> [<num. term]x
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.
Example:
FUNC 1 X0 100000 1000 ;the force rise takes place from the position
100mm ;in positive direction with factor 1.
↑EV 5.24
Example:
FUNC 4 X0 2 ;the encoder's actual value of the hardware axis 2 of the
card is read in.
↑EV 5.33
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
Syntax:
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.
Syntax:
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.
Syntax:
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
mac-8 RE30156-02 67
ECL - Command set
wait i0.1 = L
SET N0.43 = N0.43 ;switch off ECL controller function
!0x10000000
END
mac-8 RE30156-02 68
ECL - Command set
Syntax:
Example:
TIMER V0 = 1000 ; time is 1sec
TIMER V0 DOWN ;timer start
WAIT V0 <= 0 ; wait until time variable has counted down to ; zero
Syntax:
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
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".
mac-8 RE30156-02 70
ECL - Command set
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.
Start oscilloscope function. 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.
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.
Start oscilloscope function with stop trigger condition. This syntax applies
only when test is carried out for a logical transition.
Start oscilloscope function. The data are read in continuously. The function
must be terminated by means of "TRACE" "STOP".
1.8.1 DIALOG
Syntax:
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.
mac-8 RE30156-02 72
ECL - Command set
1.8.2 WINDOW
Syntax:
mac-8 RE30156-02 73
ECL - Command set
"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.
The selected window is activated in the scroll mode (scroll keys active,
cursor inactive).
The selected window is activated for the input (scroll keys active, cursor
active).
1.8.3 DISPLAY
Syntax:
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
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:
1.8.5 LEVEL
Syntax:
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.
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:
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:
mac-8 RE30156-02 76
ECL - Command set
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.
Syntax:
Syntax:
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 )
mac-8 RE30156-02 77
ECL - Command set
1.10 Hints
mac-8 RE30156-02 78
ECL - Command set
mac-8 RE30156-02 79
ECL - Command set
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
mac-8 RE30156-02 82
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
mac-8 RE30156-02 86
ECL - Command set
Bit No.
parameter number,
value
mac-8 RE30156-02 87
ECL - Command set
mac-8 RE30156-02 88
ECL - Command set
mac-8 RE30156-02 89
ECL - Command set
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
mac-8 RE30156-02 92
ECL - Command set
mac-8 RE30156-02 93
ECL - Command set
For the membrane keyboard the following codes (hexadecimal) are assigned to
individual keys
37 38 39
34 35 36
31 32 33
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
mac-8 RE30156-03 3
Parameter of the axis
1.1.1 Overview
Software - Konzept
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.
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
(arranged by item)
Meaning
decimal
Default
places
values
Value
No.
mac-8 RE30156-03 5
Parameter of the axis
mac-8 RE30156-03 6
Parameter of the axis
mac-8 RE30156-03 7
Parameter of the axis
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.1 General
mac-8 RE30156-03 9
Parameter of the axis
mac-8 RE30156-03 10
Parameter of the axis
mac-8 RE30156-03 11
Parameter of the axis
mac-8 RE30156-03 12
Parameter of the axis
mac-8 RE30156-03 13
Parameter of the axis
with parameter 41
mac-8 RE30156-03 14
Parameter of the axis
1.4.1 General
mac-8 RE30156-03 15
Parameter of the axis
mac-8 RE30156-03 16
Parameter of the axis
mac-8 RE30156-03 17
Parameter of the axis
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
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
example:
mm
100 s
v+
v- = mm = 0,5 => Wert = 500
200 s
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!
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
mac-8 RE30156-03 22
Parameter of the axis
mac-8 RE30156-03 23
Parameter of the axis
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.
mac-8 RE30156-03 24
Parameter of the axis
Sx[13] Switch „I-part always off“ (it has priority compared with parameter 12)
0:„Normal“ function of the integrator (see Item 12)
mac-8 RE30156-03 25
Parameter of the axis
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:Velocity set point value is delayed by the number of the sampling rates
mac-8 RE30156-03 26
Parameter of the axis
The switch for added value (actual pressure) may not be set!
mac-8 RE30156-03 27
Parameter of the axis
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
mac-8 RE30156-03 28
Parameter of the axis
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.
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.
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
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..
The velocity added value results in an additive voltage for close loop controller output,
and is defined in the following formula:
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
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.
mac-8 RE30156-03 33
Parameter of the axis
0 = no I-part
These settings are valid for all involved in synchronous movement axes
mac-8 RE30156-03 34
Parameter of the axis
(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..
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
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:
mac-8 RE30156-03 36
Parameter of the axis
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!
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.
mac-8 RE30156-03 37
Parameter of the axis
Mode 33: Absolute Min. value principle with immediately acting minor. force con-
trol loop
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)
Mode 43: Absolute min. principle with minor force control loop (switching)
Mode 44: Weighted mean value principle with minor force control loop (switching)
mac-8 RE30156-03 38
Parameter of the axis
mac-8 RE30156-03 39
Parameter of the axis
mac-8 RE30156-03 40
Parameter of the axis
LSB MSB
1
2
Steckplatz 3
4 9
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
mac-8 RE30156-03 42
Parameter of the axis
0 1 2 3 4... 8 31
LSB MSB
slot number 1
2
3
4 9
mac-8 RE30156-03 43
Parameter of the axis
2 250 kHz
3 500 kHz
mac-8 RE30156-03 44
Parameter of the axis
mac-8 RE30156-03 45
Parameter of the axis
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
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).
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.
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.
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.
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 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.
The error messages (high word: Bit 16 - 31) as well as error counter
(low word: Bit 0 - 15) are apparent from S32[61] field.
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
MX-4 MX-4
S7- 300
Hydraulic Hydraulic
axis axis
MAC-8 RE 30 156 - 06 5
Process coupling
MAC-8 RE 30 156 - 06 6
Process coupling
OB 100
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.
// Copy first transmission byte from receive buffer in the sent buffer
L EB 10
T AB 10
MAC-8 RE 30 156 - 06 8
Process coupling
0210 0000 4144 0100 0018 FFFF .... .... 1003 xx10 0210 0000 0000 0310
MAC-8 RE 30 156 - 06 9
Process coupling
....
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
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)
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
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:
The status output with AT&V shows the following setting (example):
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
.
ACTIVE PROFILE:
MAC-8 RE 30 156 - 06 14
Process coupling
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):
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:
STORED PROFILE 0:
STORED PROFILE 1:
MAC-8 RE 30 156 - 06 16
Process coupling
Requirements:
Procedure:
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
Requirements:
Procedure:
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
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
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
mac-8 RE30156-04 1
Diagnosis and commissioning
On each master and slave card there are 3 LED for system control:
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
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
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.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
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.
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)?
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!!
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?
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
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]?
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]?
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
mac-8 RE30156-04 7
Diagnosis and commissioning
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:
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
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.
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.
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
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:
example:
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
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.
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
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
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.
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 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.
The constantly increasing use of electrical and electronic equipment involves the
following features:
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.
Further definitions:
MAC-8 RD 30 156 - 04 - B 4
1.2.3 Interference transmission paths
When designing an installation, the manufacturer must take all possible steps to
prevent the development of interference sources:
- 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;
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
These are:
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.
EMC measures usually consist of a package of measures that must be carried out to
ensure that the system is interference-free.
MAC-8 RD 30 156 - 04 - B 6
1.2.4.1 Wiring
Definition:
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);
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.
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.
The MAC-8 must not be installed directly beside power electronics (frequency
converters; contactors etc.).
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.
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)
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.
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
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.
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
X1a,b Ethernetinterface
MAC-8 RD 30 156 - 04 - B 15
VT-MAC8-1X/K-PM2 (VT-MAC8-1X/K-AM2 without Profi Bus)
X1a,b Ethernetinterface
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)
MAC-8 RD 30 156 - 04 - B 17
1.5.6 Possible plug combinations for mastercards
MAC-8 RD 30 156 - 04 - B 18
1.5.7 Pin assignment of the plugs
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
MAC-8 RD 30 156 - 04 - B 21
Hardware
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
MAC-8 RD 30 156 - 04 - B 22
Hardware
+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
MAC-8 RD 30 156 - 04 - B 24
Hardware
MAC-8 RD 30 156 - 04 - B 25
Hardware
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
MAC-8 RD 30 156 - 04 - B 26
Hardware
MAC-8 RD 30 156 - 04 - B 27
Hardware
MAC-8 RD 30 156 - 04 - B 28
Hardware
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