FiveCo FMod-IPAXESCTRL User Manual

Page 1
1 / 71
3 Axes
Ethernet Control Board
H:1.1 / F:1.11
User’s Manual
Version 1.1
FMod-IPAXESCTRL User Manual v.1.1
Page 2
2 / 71
Version: 1.1 Last revision: May 10, 2005 Printed in Switzerland
Copyright 2002-2005 FiveCo Sàrl. All rights reserved. The contents of this manual may be modified by FiveCo without warning.
Trademarks
Windows® is a registered trademark of Microsoft Corporation. Ethernet® is a registered trademark of Xerox Corporation. Java® is a registered trademark of Sun Microsystem.
Warning
This device is not intended to be used in a medical, life-support or space product.
Any failure of this device that may cause serious consequences should be prevented by implementation of backup systems. The user agrees that protection against consequences resulting from device system failure is the user's responsibility.
Changes or modifications to this device not explicitly approved by FiveCo will void the user's authority to operate the device.
FMod-IPAXESCTRL User Manual v.1.1
Page 3
3 / 71
Revision history
Revision Date Author Note Firmware
version
Applet version
Win32 application version
1.0 16.11.04 XG - First revision history
Since 1.8 1.3 -
1.1 21.04.05 XG - Add IP SUBNETMASK register (0x13)
- Add TCPCONNECTIONSOPENED register (0x1A)
- Easy change IP with broadcast
- Add relative coordinate with relative zero
- Add AXISxPOSITIONOFFSET registers (relative offset)
Since 1.11 1.6 -
FMod-IPAXESCTRL User Manual v.1.1
Page 4
4 / 71
Table of Contents
1. Package and operating conditions ...........................................................................5
Package contents.........................................................................................................5
Operating conditions ..................................................................................................6
2. Overview................................................................................................................7
Connection architecture (Ethernet)............................................................................8
Board Layout ..............................................................................................................9
3. Quick start ............................................................................................................10
Power and network .................................................................................................. 11
Changing IP address .................................................................................................. 12
4. Hardware..............................................................................................................13
Power supply ............................................................................................................ 13
LCD Display..............................................................................................................14
Keyboard ..................................................................................................................15
Trackball ...................................................................................................................16
LEDs .........................................................................................................................17
SOS button...............................................................................................................18
5. TCP/UDP Server ..................................................................................................19
General..................................................................................................................... 19
TCP-HTTP port (# 80) ............................................................................................20
TCP & UDP Control port (# 8010)......................................................................... 21
Checksum calculation................................................................................................23
6. Java Applet............................................................................................................24
Overview.................................................................................................................. 24
Main Panel ................................................................................................................25
Board’s communication settings Panel.......................................................................26
Keyboard settings panel ............................................................................................27
LCD text Panel .........................................................................................................29
Modes & Axes settings Panel ....................................................................................30
7. Reference zero absolute/relative...........................................................................31
8. Registers management ..........................................................................................32
Memory Organization...............................................................................................32
Full Register Description ...........................................................................................33
FMod-IPAXESCTRL User Manual v.1.1
Page 5
5 / 71
1. Package and operating conditions
Package contents
1 Axes Ethernet Control board : FMod-IPAXESCTRL This manual (optional) Power Supply :
Power over Ethernet IEEE802.3af Hub-injector (110-240 VAC, 50/60Hz -> +48v, 350 mA)
FMod-IPAXESCTRL User Manual v.1.1
Page 6
6 / 71
Operating conditions
Operating temperature -20 — 70 °C Supply voltage Vcc 7-48 VDC Input capacity (Power +,-) ~220uF, ~50mOhm ESR
Power consumption (~0.8W) 65mA when idle @ Vcc 7 V
Without LCD & Trackball 25mA when idle @ Vcc 24 V 15mA when idle @ Vcc 48 V
Power consumption (~1.2W) 150mA when idle @ Vcc 7 V With LCD & Trackball 45mA when idle @ Vcc 24 V 25mA when idle @ Vcc 48 V
FMod-IPAXESCTRL User Manual v.1.1
Page 7
7 / 71
2. Overview
The FMod-AXESCTRL is a board used to control a maximum of 3 DC-motorized axes (card FMod­IPDCMOT or FMod-IPECMOT). The main interest in this card is its communication protocol (Ethernet: TCP/IP­HTTP) which allow it to be connected to a standard Ethernet network. In addition, the board follows the IEEE
802.3af standard which allows it to be powered through the Ethernet cable (PoE-Powered Device).
The FMod-IPAXESCTRL board works without the use of a computer (PC or Mac). It communicates independently with the selected FMod-IPxxMOT devices (motor control cards) through the Ethernet network. It can even be easily configured using its internal web-pages (http server onboard) with any standard web-browser.
A (4x20char) LCD can be connected to locally display information and a trackball + keyboard are the available inputs to handle the axes.
LCD display
4*20 character
Keyboard 4 Leds
FMod-PAXESCTRL
4*4 buttons
Peripherals management
or
http server
4*2 buttons
IEEE 802.3af power supply
Trackball
Quadrature signal
This schema shows all peripherals connectable to the board.
The trackball, the LCD screen and the Keyboard (4x20)
FMod-IPAXESCTRL User Manual v.1.1
Page 8
8 / 71
Connection architecture (Ethernet)
The scheme underneath is showing the connection diagram of the FMod-IPAXESCTRL board. The user interacts with the MMI (Man Machine Interface), e.g. the LCD, the Keypad and the Trackball; connected to the Axes control card. This card is connected together with the Motor control cards (FMod­IPDCMOT48/1.5) to a standard/industrial Ethernet Switch (available on the market from 30.- USD) and be used in applications like XYZ-Tables, as an example.
The axes control board and the motor control boards are
connected together to an “Ethernet 10BaseT compliant Switch”, the communication between them is done through
the UDP-IP protocol.
An optional computer (PC, Mac, …) can be connected to the same network (to the Ethernet 10BaseT compliant Switch) in order to configure the parameters of the axes control card
The same Switch used to connect the FMod-IPAXESCTRL and the FMod-IPDCMOT48/1.5 can be connected to the Internet network (under an ADSL modem/router or a professional Router) and therefore the system will become accessible from everywhere (remote).
Note : It is also possible to connect directly the FMod-IPAXESCTRL to one FMod­IPDCMOT48/1.5 motor control card through a simple Ethernet Cross Cable (not using the switch). In this case the system will only be able to control one (1) motor/axis.
FMod-IPAXESCTRL User Manual v.1.1
Page 9
9 / 71
Board Layout
JP3 SOS button
J1 IN Power +
IN Power -
J7 Ethernet RJ45
J4 Keyboard 2x4
Keyboard 4x4
J5 Trackball
J3 LEDs indicator
J8 LCD display
75.7
69.5
64.3
3.2
70.5
Height max: 20mm
FMod-IPAXESCTRL User Manual v.1.1
Page 10
10 / 71
3. Quick start
This section is intended to help users to quickly plug the module into their system and establish a connection between the computer used for the initial configuration and the card. Detailed information about hardware and software is described further in this document.
You can find the board factory communication settings on the label on the board or on the box.
This device is not intended to be used in a medical, life-support or space product. Any failure of this device that may cause serious consequences should be prevented by implementation of backup systems. The user agrees that protection against consequences resulting from device system failure is the user's responsibility. motion@fiveco.com
/ www.fiveco.com
FMOD-IPAXESCTRL
INPUT(supply) : 7-48V DC, 1.5 W
MAC: 00-50-C2-30-8x-xx / IP : 169.254.5.1
The MAC Address is the 48bits unique identifier on Ethernet networks. The IP Address can be modified. The complete procedure is described further in this manual.
Note: If the module has already been configured and the IP address has
been changed to an unknown value, you can retrieve back an SOS IP address (on label) by pressing the “SOS button” during the normal operation of the card.
FMod-IPAXESCTRL User Manual v.1.1
Page 11
11 / 71
Power and network
1. Connect the card to a computer using a RJ45 cross wired cable (direct-link), or with a straight cable to a
Ethernet-switch.
Connect the cable to the card and to the PC
Connection with an Ethernet crosscable
2. Connect power (7-48V) to the module. Or with a POE injector.
Discrete power supply OR PoE with a Power injector
FMod-IPAXESCTRL User Manual v.1.1
Page 12
12 / 71
Changing IP address
To easily change the factory IP address user can use the Win32 software provided on the CD-Rom.
1. Plug your new card on your PC network.
2. Start the Win32 application.
3. Click on "File->Easy change IP address".
4. The software scans the network and displays a list of all
FiveCo's devices found.
5. Select the MAC address corresponding to your new card.
6. If you have more than one network adapter on your PC,
the software ask you to select the one which is connected to the same network as the FMod-IPAXESCTRL.
7. The software suggests you a new IP address without the
last byte. Choose a new IP (that is not already used on your network!!) and click the "Change IP address" button.
That’s it! The card has a new address and a new subnet mask (the same as your PC). They are automatically saved into EEPROM.
You can now connect to the card with the Win32 software or open its web page by typing its new IP address into a web browser.
Remark: The IP address won't be changed if a TCP connection exists with the card.
FMod-IPAXESCTRL User Manual v.1.1
Page 13
13 / 71
4. Hardware
There are different configurations, depending on the needs of your application:
FMod-IPAXESCTRL + Keyboard
FMod-IPAXESCTRL + Keyboard + trackball
FMod-IPAXESCTRL + Keyboard + LCD
FMod-IPAXESCTRL + Keyboard + LCD + trackball
An independent connector for each peripheral is present on the card. No particular configuration is needed to enable/disable each of them. You have just to connect a peripheral before the power-up of the card.
Note: It is better NOT to deplug the peripherals when the system is powered.
Power supply
The card can be powered in two modes:
WARNING: do NOT use both at the same time!
1) POE (Power Over Ethernet) 48V only, 350 mA on connector J7 (RJ45), pins 4&5(+), 7&8(-). Swapped polarity works too. Compatible with IEEE 802.3af mode B & A.
2) Discrete 7-48 V DC on connector J1. Negative pole is near the J7(RJ45) connector.
FMod-IPAXESCTRL User Manual v.1.1
Page 14
14 / 71
LCD Display
The FMod-IPAXESCTRL board drives an LCD display with 20 columns and 4 lines. LED backlight is also powered from the FMod­IPAXESCTRL, and always ON.
Different LCD colors are available, FiveCo recommend the LCD’s from Crystalfontz (www.crystalfontz.com)
The LCD used by FiveCo is the Crystalfontz model CFAH2004A-TMI-JP (with LSI HD44780 driver inside), blue-backlit with white characters (pictured on the left).
The connector on the FMod-IPAXESCTRL board has the same pin configuration as the one of the LCD (allowing an easy flat-cable connection), but the LCD has to be used in 4bits data mode only.
Board
J8 connector pinout:
1 GND 2 5V 3 VO (Contrast) 4 RS 5 R/W 6 E 7 - (nc) 8 - (nc)
9 - (nc) 10 - (nc) 11 DB4 12 DB5 13 DB6 14 DB7
15
Backlight 5V with a 33Ohm resistor already in series.
16 Backlight GND
FMod-IPAXESCTRL User Manual v.1.1
Page 15
15 / 71
Keyboard
The board offers the possibility to connect two kinds of MATRIX KEYBOARDS: 2x4 or 4x4.
Board
J4(up) connector pinout (2x4 version):
1 Column 0 2 Column 1 3 Line 3 4 Line 2 5 Line 1 6 Line 0
Board
J4(down) connector pinout (4x4 version):
1 Column 0 2 Column 1 3 Column 2 4 Column 3 5
Line 2
6
Line 3
7
Line 1
8
Line 0
The next scheme shows the position of each key on the Keyboard (useful for the configuration).
A B C D A B
E F G H E F
I J
I J K L
M N
M N O P
Column: 0 1 2 3 0 1
Line: 0 1 2 3
Connecto
r
Connector
FMod-IPAXESCTRL User Manual v.1.1
Page 16
16 / 71
Trackball
A two axes trackball enables to manage axis 1 and axis 2 (axis 3 is manageable with keyboard only). Each channel must have quadrature signal (A, B).
PEWATRON model LP150-5FV00 is the reference for this board. It is also possible to use other kinds of trackballs with different resolution or even gravity independency (ex: Megatron model 816TC).
Board J5 connector pinout:
1 - (not connected) 2 - (nc)
3 - (nc)
4 5V 5 Xa 6 Yb 7 Ya 8 Xb 9 - (nc)
10 GND
Trackball connector pinout and axes:
Axe 2
A
xe 1
FMod-IPAXESCTRL User Manual v.1.1
Page 17
17 / 71
LEDs
The FMod-IPAXESCTRL is provided with a connector for 4 LED (J3). They give information about the mode (1, 2,
3) of the board and the state (activity or not) of the axes. Here is the LED’s layout:
0 1 2 3
Board Mode Axis
Board Mode
The different modes define the way the input (trackball and Keyboard) and output devices (LCD display) interact with the physical system (commands sent to the motor). See “Axes parameters Panel” in “Java applet” chapter for more detailed information.
Mode 1 = LED0 on, LED1 off
0 1
Mode 2 = LED0 off, LED1 on
0 1
0 1
Mode 3 = LED0 off, LED1 off
Axis State
The LEDs are especially useful to overview the mode on how the axes are controlled by the trackball (axes 1 and
2). When an axis is found and is ready to receive data, then its corresponding LED is on; and if an axis is “suspended” its LED is off. Actually it is possible to drive an axis (for ex: axis1) without modifying the other one (ex: axis2) which has been put in a “suspended” state with the press of a Keyboard button.
Notes: a) No led exist for axis 3 because it cannot be driven by the trackball. b) The LEDs display the information in any case, even if the LCD is not connected.
The board drives the lower pin (Cathode /-) of the LED and the upper (Anode /+) is connected to 5V. An onboard 1kOhm resistor is connected in series to limit the current to ~3mA.
Board J3 Connector:
3 mA
Controller
Board Connector
(one for each led)
5V
1k
1 Led 0 resolution mode 1 2 5V 3 Led 1 resolution mode 2 4 5V 5 Led 2 axis 1 ON/OFF 6 5V 7 Led 3 axis 2 ON/OFF 8 5V
FMod-IPAXESCTRL User Manual v.1.1
Page 18
18 / 71
SOS button
This button has 2 different actions depending on the moment when it will be pressed: at system power-up or when the system is already running.
POWER UP ACTION
(the SosButton is pressed during power up)
This action is useful when the card needs to be restored exactly back to the “out-of-factory” state. The RestoreFactoryParamters(0x05) function is automatically called, and the actual IP address is overwritten with the SOS IP address written on the sticker of the card (169.254.5.1). After that, all these parameters are automatically saved in the User’s parameters memory with SaveUserParameters (0x03) function.
SOS button
RUNNING ACTION
(the SosButton is pressed during running)
This action is useful when the user has lost the actual IP address of the card, and temporarily needs to connect to it, without changing all the parameters of the card. Only the IP address is overwritten with the SOS IP address written on the sticker on the card (169.254.5.1). This new IP will be valid only after that all TCP/IP connections (web pages too) will have been closed. In this case this SOS IP address is not automatically saved, so if you need it, you have to manually call the SaveUserParamters (0x03) function or the previous IP will be reloaded at the next power-up.
Warning:
Do not use the “SOS IP address” as the normal IP for your module (during normal board operation), because if you plug another module on the same network, they will have the same IP and therefore it will be impossible to configure both of them.
FMod-IPAXESCTRL User Manual v.1.1
Page 19
19 / 71
5. TCP/UDP Server
General
The board provides an Ethernet port (RJ45 — connector J7) which allows accessing all the parameters (registers) of the module through a TCP or UDP connection.
Here you will find a small comparison table between these two protocols (non exhaustive):
Features
UDP TCP
CheckSum (Data integrity)
YES YES
Multiport (data multiplexing)
YES YES
Flow control
NO YES
Acknowledge Data
NO YES
Multipacket order reconstruction
NO YES
Two ports are available using the TCP protocol:
 Port #80 for HTTP communication.  Port #8010 Access to the control port
Only one port is accessible through the UDP protocol:
Port #8010 Access to the control port
You will find a detailed description on the different ports in the next pages.
Note: The board allows up to 4 simultaneous TCP connections
. That means for example: that 4 users can connect to the #80 port to see the web page, or 4 users can be connected to the #8010 port and control the I/Os, or even that two see the page and two control the I/Os, etc. In UDP protocol there is no limitation on the number of users connected.
FMod-IPAXESCTRL User Manual v.1.1
Page 20
20 / 71
TCP-HTTP port (# 80)
This port is used to access to the web page stored on the module.
The user can simply access to that port and ask for a particular page, using a standard Web browser (IE, Netscape, Mozilla, Safari) and type the (IP) address of the card:
Ex: type http://169.254.5.1/index.htm
in the address bar of the
browser and the “index.htm” page will be loaded.
If you don’t use a browser software, you can write your own software that can access to the HTTP port and ask for a specific webpage, and then retrieve the page content in the html code.
FMod-IPAXESCTRL User Manual v.1.1
Page 21
21 / 71
TCP & UDP Control port (# 8010)
This port is used to access the registers described in the chapter “Registers management” of this manual.
Note: If you plan to configure all registers only using the onboard Webpage, you can skip this section and go to Java-Applet section. (The Java-Applet also uses this port to read and write the different settings!)
TCP/IP works in big endian: most significant byte first, followed by least significant byte(s). The access is done by sending a packet, that follows a simple (6 byte header) protocol.
Structure of each packet:
1) Function ID (2 bytes) …………………………………… Code of the function that has to be executed.
2) Transaction ID (2 bytes)………………………………… Number that defines this packet
3) Length of the parameters (2 bytes)…………………
Number of the parameters+data bytes
4) Parameters (X Byte) ………………………………….…
Parameters + Data
5) Checksum (2 bytes) ……………………………………...
Control Sum of packet’s bytes
Function ID
The specific code for each function can be found on the next page of this manual.
Transaction ID
The user defines himself the values of the Transaction ID. Normally each packet/transaction (communication request) should have a different ID (even if this is not mandatory). When the FMod-IPAXESCTRL receives a command/packet, it sends back an answer (at each request). This answer contains the same Transaction ID than the corresponding command previously sent. In that way the user is able to check the execution of each command.
Length of the parameters
This 2byte value corresponds to the length (in bytes) of the next section of the packet (parameters only).
Parameters
This part of the packet contains all the parameters (mainly the data that are sent).
Checksum
This 2 bytes value is the Check Sum of all the bytes of the packet. (more information on next pages).
FMod-IPAXESCTRL User Manual v.1.1
Page 22
22 / 71
Example: READ register(s) value command.
Byte# Number of bits Example
0x00
Read (0x0021)
16 bits 0x0021 0x02 TransactionID 16 bits 0x1B34 0x04 Number of registers to
read (X)
16 bits 0x0001
0x06 X * Registers Addresses X * 8 bits 0x02 0x06+X Checksum 16 bits 0xnnnn
Note: The maximum number of registers that can be read at one time is 30.
The module answers with the following sequence:
Byte# Number of bits Example
0x00
Read Answer (0x0023)
16 bits 0x0023 0x02 TransactionID (same as
demand)
16 bits 0x1B34
0x04 Number of bytes in answer 16 bits 0x0019 0x06 Register address 8 bits 0x02 … Register value 8—128 bits (16B) 0x12345 The two previous entries are replicated for each register that has been asked for reading … Checksum 16 bits 0xnnnn
Example: WRITE register(s) value command.
Byte# Number of bits Example
0x00
Write (0x0022)
16 bits 0x0022 0x02 TransactionID 16 bits 0x1B34 0x04 Number of bytes in
command
16 bits 0x0003
0x06 Register Addresses 8 bits 0x02 0x07 Register value 8 — 64 bits 0x1234 The two previous entries are replicated for each register that has been asked for reading … Checksum 16 bits 0xnnnn
Note: The max. number of registers that can be written at one time is 30.
The module answers with the following sequence:
Byte# Number of bits Example
0x00
Write Answer (0x0024)
16 bits 0x0024 0x02 TransactionID (same as
demand)
16 bits 0x1B34
0x04 0x0000 16 bits 0x0000 0x06 Checksum 16 bits 0xnnnn
FMod-IPAXESCTRL User Manual v.1.1
Page 23
23 / 71
Checksum calculation
This checksum calculation is the same as the checksum used in the IP protocol.
Definition: sum of 1’s complement of all 16 bits words of whole message (fiveco’s packet) except checksum bytes.
Code structure: (all values are unsigned)
Clear accumulator
Loop
x. Only if last word is not made of two bytes, the
data byte is the upper byte (big endian)
1. Compute 1’s of each 16bits word, result is 16bits
2. Convert last result from 16 bits to 32 bits, result is 32bits: 0x0000+last result
3. Add last result to the 32 bits accumulator.
Try the Loop
4. Convert accumulator in two 16bits words
5. Add this two 16bits words, result is 16bits word.
6. If an overflow occurs with the last addition (Carry), add 1 to the last result.
7. Last result is the final result
Example (in hexadecimal) for this packet:
0x0021 Æ 0x0000FFDE (Read) +0x1234 Æ 0x0001EDA9 (TransID) +0x0003 Æ 0x0002EDA5 (3 reg to read) +0x0A10 Æ 0x0003E394 (reg 0A,10,02) +0x02(00)Æ 0x0004E193
Note that in this case a last 00 is implicitly used.
(02 Æ 02 00).
0x0004 + 0xE193 = 0xE197, (carry=0) 0xE197 + carry = 0xE197
Checksum = 0xE197
FMod-IPAXESCTRL User Manual v.1.1
Page 24
24 / 71
6. Java A pplet
A specific Java Applet is provided with the module to control all its parameters without having to write any specific software. When you use a browser to load the HTTP web page loaded on the card, a JAVA applet (included in the onboard webpage) starts a communication between the card and the browser software (PC), and refreshes periodically all the useful registers (read and write sequences).
Overview
To connect to the http server included on the card, simply open your web browser and type the IP address of the module. Here is an example with default address:
“http:// 169.254.5.1”
The applet is downloaded from the module to your computer and runs as a local process (on your computer). So you need to use a web browser that is compatible with Java 1.1.
Please note that on a MS Windows
®
based computer, a delay of some seconds can occur when you download the JAVA applet due to an OS NetBios issue.
The following paragraphs describe this applet. To navigate through the different panels of the applet you will have to use the buttons present in the apple window. Note that the “Back” and “Forward” commands of the browser will not be useful to navigate through the applet’s panels.
FMod-IPAXESCTRL User Manual v.1.1
Page 25
25 / 71
Main Panel
The Main panel shows the information specifically related to the module. The values of the parameters are displayed.
Four buttons allow the access to the other configuration panels
• “Communication” : Local communication settings.
“Keyboard settings” : to change the button’s functions.
“LCD text” : Display parameters.
“Axes settings”: Parameters of the motor control cards.
“Save user settings”: sends a command to the board in
order to save the current (running) USER configuration on the board.
“Restore user settings”: is used to restore the USER’s
configuration from EEPROM
“Restore factory settings”:
To restore the FACTORY’s
default settings.
Note: You will find more details about user/factory parameters management with the corresponding chapter.
FMod-IPAXESCTRL User Manual v.1.1
Page 26
26 / 71
Board’s communication settings Panel
This panel is used to change the FMod-IPAXESCTRL board’s communication parameters:
IP address:
Press the “Change” button and the new one will be valid only when all connected users will have closed their connection (begun with the previous IPaddress). At that moment the IP address in the address bar of the browser will have to be changed to access the applet again.
Subnet mask:
useful only for special UDP directed
broadcast
TCP Watchdog: Maximum time before automatic disconnection if the client does not send any packet.
Module name
of your choice.
Module hardware MAC address (read only).
FMod-IPAXESCTRL User Manual v.1.1
Page 27
27 / 71
Keyboard settings panel
This panel shows the keyboard’s parameters.
Each key of the keypad is represented by a character: from A (line0, column0) to P (line3, column3) and the corresponding list of available functions. Just press the corresponding scrollmenu and choose the function your want to program for this specific button.
FMod-IPAXESCTRL User Manual v.1.1
Page 28
28 / 71
List of functions:
Function Function
0 None
27 Go / Save position 5
1 Set all axes to Position mode/Homing
28 Go / Save position 6
2 Stop all axes (break mode)
29 Go / Save position 7
3 Free all axes
30 Go / Save position 8
4 Free selected axes
31 Go / Save position 9
5 Set all axes to Position mode
32 Go / Save position 10
6 Increment axis 1
33 Increment axis 1 in Mode 1
7 Decrement axis 1
34
Decrement axis 1 in Mode 1
8 Increment axis 2
35 Increment axis 2 in Mode 1
9 Decrement axis 2
36 Decrement axis 2 in Mode 1
10 Increment axis 3
37 Increment axis 3 in Mode 1
11 Decrement axis 3
38 Decrement axis 3 in Mode 1
12
Change mode (1Æ2Æ3Æ1…)
39 Increment axis 1 in Mode 2
13 Mode 1
40 Decrement axis 1 in Mode 2
14 Mode 2
41 Increment axis 2 in Mode 2
15 Mode 3
42 Decrement axis 2 in Mode 2
16 Axis 1 ON-OFF
43 Increment axis 3 in Mode 2
17 Axis 2 ON-OFF
44 Decrement axis 3 in Mode 2
18 Axis 3 ON-OFF
45 Increment axis 1 in Mode 3
19 Axis 1 suspended while pressing
46 Decrement axis 1 in Mode 3
20 Axis 2 suspended while pressing
47 Increment axis 2 in Mode 3
21 Axis 3 suspended while pressing
48 Decrement axis 2 in Mode 3
22 Go / Set position zero absolute
49 Increment axis 3 in Mode 3
23 Go / Save position 1
50 Decrement axis 3 in Mode 3
24 Go / Save position 2
51
Mode 2 Æ Mode 1 (released)
25 Go / Save position 3
52
Mode 3 Æ Mode 1 (released)
26 Go / Save position 4
53 Go / Set position zero relative
Warning: Some functions could be different depending on the time the button is pressed. The table above follows the rule:
>>
press the button fast / press the button more than 3[s].
>> Funct 1 / Funct 2 >> ex: Go
/ Save position 1
FMod-IPAXESCTRL User Manual v.1.1
Page 29
29 / 71
LCD text Panel
This panel shows the LCD parameters.
The LCD contains 4 lines of 20 characters each, and the user can also choose the contrast of the screen. For each board’s mode (1,2,3) the LCD display can be different.
In the “LCD text (Mode j)” panel of the JAVA applet, the user can define the text and values displayed on the 4 lines separately. Here is an example:
Configuration String Output on display
“axe m1 pos state ”
axe m1 pos state
“X ###’### pls ### --”
X 123’456 pls 789 Ok
See description of “LCD MODE(i) TEXT” register (p.55) for more details
The measured value contains 8 digits (+1 more for the sign). On the display, the character ‘#’ represents one digit of that value. If less than 9 ‘#’ are present on a line, the least significant digits would be skipped. Other (ASCII) characters can be used (also between) with the # values.
Note: The first line is reserved for text, the second shows the values of the axis1, the third the values of the axis2 and the last line the values of axis 3.
FMod-IPAXESCTRL User Manual v.1.1
Page 30
30 / 71
Modes & Axes settings Panel
This panel manages the parameters of the 3 motor control boards [FMod-IPxxMOT] (IP address of each Axis) that can be controlled through the FMod-IPAXESCTRL card. For each axis, the user can define 3 DIFFERENT MODES that can be configured with different settings (HIDRatio/DiplayRatio).
The ratio between the motor pulses and the value displayed with the Display ratio.
Example: value of 10 means: 1 motor pulse = 10 increment on LCD
The ratio between human interface devices (keyboard or trackball) and motor pulses with HID ratio.
Example: value of 10 means: 1 trackball pulses = 10 increment on motor
FMod-IPAXESCTRL User Manual v.1.1
Display ratio
LCD display
M
Ethernet networ
k
Axes Control board Motor Control board
Keypad or Trackball
HID ratio
Page 31
31 / 71
7. Reference zero absolute/relative
FMod-IPAXESCTRL is able to work with the exact position coming from each FMod-IPxxMOT. In that case we speak about zero absolute, because the “0” displayed on FMod-IPAXESCTRL means that the corresponding axis POSITION register is really at position 0.
Sometimes it is useful to set a new reference “0” that is not the “0” set during the calibration (homing) of the FMod-IPxxMOT.
There are two cases to perform that action:
1) A new “0” is send to the corresponding FMod­IPxxMOT POSITION register; absolute zero is changed, and the software minimum and maximum limitation (INPUTMIN & INPUTMAX registers) could make no sense because their reference “0” is changed. Especially if a home position (homing) is done at power-up.
2) FMod-IPxxMOT POSITION register is kept unchanged but an offset value will be added locally in FMod­IPAXESCTRL.
In both cases the value displayed is the same, and all the interaction. But with the “0 relative reference” the inside FMod-IPxxMOT reference will not change. That is very important when a range of suitable position (e.g. hardware limitation) is ative.
What is made inside (when key function is pressed): “Set position zero absolute” :
AXIS1POSITIONOFFSET = 0
“Set position zero relative” :
AXIS1POSITIONOFFSET += POSITION
FMod-IPDCMOT (Axis1) FMod-IPAXESCTRL
Local position, display, save goal position
+
-
POSITION
AXIS1POSITIONOFFSET
Trackball, key interaction, set goal position
INPUT
+
FMod-IPAXESCTRL User Manual v.1.1
Page 32
32 / 71
8. Registers management
Memory Organization
The user must known that a new register value sent through the communication port is loaded to the running parameters in RAM and used for the current process. All these parameters are lost at power-down. It is required to save them to “User Parameters” or “Factory Parameters” with the corresponding function.
NON VOLATILE DATA.
EEPROM EEPROM ROM
USER Parameters
Saved
FACTORY Parameters
Saved
SOS IP
address
5
1 2 3 4
VOLATILE DATA.
Action Number and description:
SaveUserParameters (0x03) function
During standard power-up or calling RestoreUserParameters (0x04) function
RestoreFactoryParameters (0x05) function
SaveFactoryParameters (0x06) function [For integrators engineers only]
By pressing “SOS Button” after power-up
By pressing “SOS Button” during power-up
Communication port
(TCP/UDP)
[Web page or Software]
RAM
RUNNING Parameters
WRITE
READ
READ
PROCESSES
Main process Control
(TRACKBALL, LCD, KEYPAD)
1
2
3
+
14
5
3 5
+ +
1
FMod-IPAXESCTRL User Manual v.1.1
Page 33
33 / 71
Full Register Description
List of registers:
Address
Bytes Name
General Information
0x00 4 TYPE 0x01 4 VERSION 0x02 0 (fct) RESETCPU 0x03 0 (fct) SAVEUSERPARAMETERS 0x04 0 (fct) RESTOREUSERPARAMETERS 0x05 0 (fct) RESTOREFACTORYPARAMETERS 0x06 0 (fct) SAVEFACTORYPARAMETERS 0x07 4 VOLTAGE 0x08 4 WARNING
Communication
0x10 (16) 4 COMMUNICATIONOPTIONS 0x11 (17) 6 ETHERNETMAC 0x12 (18) 4 IPADDRESS 0x13 (19) 4 SUBNETMASK 0x14 (20) 1 TCPWATCHDOG 0x15 (21) 16 MODULENAME 0x1A (26) 1 TCPCONNECTIONSOPENED
General configuration
0x20 (32) 4 DISPLAYOPTIONS 0x21 (33) 4 TRACKBALLOPTIONS 0x22 (34) 4 KEYBOARDOPTIONS 0x23 (35) 16 KEYBOARDFUNCTIONS 0x24 (36) 1 MODE 0x28 (40) 1 LCDCONTRAST 0x29 (41) 80 LCDMODE1TEXT 0x2A (42) 80 LCDMODE2TEXT 0x2B (43) 80 LCDMODE3TEXT
Axis1
0x30 (48) 4 AXIS1POSITIONOFFSET 0x31 (49) 6 AXIS1MACADDRESS 0x32 (50) 4 AXIS1IPADDRESS 0x33 (51) 4 AXIS1MODE1DISPLAYRATIO 0x34 (52) 4 AXIS1MODE1HIDRATIO 0x35 (53) 4 AXIS1MODE2DISPLAYRATIO 0x36 (54) 4 AXIS1MODE2HIDRATIO 0x37 (55) 4 AXIS1MODE3DISPLAYRATIO 0x38 (56) 4 AXIS1MODE3HIDRATIO
FMod-IPAXESCTRL User Manual v.1.1
Page 34
34 / 71
Lis of registers (continued):
Address
Bytes Name
Axis2
0x40 (64) 4 AXIS2POSITIONOFFSET 0x41 (65) 6 AXIS2MACADDRESS 0x42 (66) 4 AXIS2IPADDRESS 0x43 (67) 4 AXIS2MODE1DISPLAYRATIO 0x44 (68) 4 AXIS2MODE1HIDRATIO 0x45 (69) 4 AXIS2MODE2DISPLAYRATIO 0x46 (70) 4 AXIS2MODE2HIDRATIO 0x47 (71) 4 AXIS2MODE3DISPLAYRATIO 0x48 (72) 4 AXIS2MODE3HIDRATIO
Axis3
0x50 (80) 4 AXIS3POSITIONOFFSET 0x51 (81) 6 AXIS3MACADDRESS 0x52 (82) 4 AXIS3IPADDRESS 0x53 (83) 4 AXIS3MODE1DISPLAYRATIO 0x54 (84) 4 AXIS3MODE1HIDRATIO 0x55 (85) 4 AXIS3MODE2DISPLAYRATIO 0x56 (86) 4 AXIS3MODE2HIDRATIO 0x57 (87) 4 AXIS3MODE3DISPLAYRATIO 0x58 (88) 4 AXIS3MODE3HIDRATIO
FMod-IPAXESCTRL User Manual v.1.1
Page 35
35 / 71
TYPE
Register Address
Register Name Function Read/Write Control
0x00
TYPE
Product ID Read only
Register Size
Register structure
4 Bytes
Unsigned Int 16bits (HH-HL) TYPE Unsigned Int 16bits (LH-LL) MODEL
Description:
Product identifier composed with a Type and Model number. It defines which kind of module it is. Normally different TYPE modules are not software compatible.
Example: Module with TYPE = 0x00040000 means Type=4 (4= IP axes controller), Model = 0.
Limits:
None
Active:
Each time the processor is running
FMod-IPAXESCTRL User Manual v.1.1
Page 36
36 / 71
VERSION
Register Address Register Name Function Read/Write Control
0x01
VERSION
Software ID Read only
Register Size
Register structure
4 Bytes
Unsigned Int 16bits (HH-HL) Version Unsigned Int 16bits (LH-LL) Revision
Description: Firmware identifier composed with a Version and Revision number. Normally same Version with different Revision is backward compatible.
Example: Firmware 0x00010007 = Version 1, Revision 7 is compatible with all earlier revisions of the same version (ver 1.0 to 1.6). But it has new functionalities (which are deactivated by default) or code optimizations.
Limits:
None
Active:
Each time the processor is running
FMod-IPAXESCTRL User Manual v.1.1
Page 37
37 / 71
RESET CPU
Function Address Function Name Function Read/Write Control
0x02
RESETCPU
Restart processor Write only
Register Size
Register structure Unit
0 Bytes none none
Description:
Restart the CPU of the board. The communication will be lost.
Active:
Each time the processor is running
FMod-IPAXESCTRL User Manual v.1.1
Page 38
38 / 71
SAVE USER PARAMETERS
Function Address Function Name Function Read/Write Control
0x03
SAVEUSERPARAMETERS
Saves all in EEPROM Write only
Register Size
Register structure Unit
0 Bytes none none
Description:
Save the following parameters in EEPROM:
0x10 COMMUNICATIONOPTIONS 0x12 IPADDRESS
0x13 SUBNETMASK
0x14 TCPWATCHDOG 0x15 MODULENAME
0x20 DISPLAYOPTIONS 0x21 TRACKBALLOPTIONS 0x22 KEYBOARDOPTIONS 0x23 KEYBOARDFUNCTIONS 0x28 LCDCONTRAST 0x29 LCDMODE1TEXT 0x2A LCDMODE2TEXT 0x2B LCDMODE3TEXT
0x30 AXIS1POSITIONOFFSET 0x32 AXIS1IPADDRESS 0x33 AXIS1MODE1DISPLAYRATIO 0x34 AXIS1MODE1HIDRATIO 0x35 AXIS1MODE2DISPLAYRATIO 0x36 AXIS1MODE2HIDRATIO 0x37 AXIS1MODE3DISPLAYRATIO 0x38 AXIS1MODE3HIDRATIO
0x40 AXIS2POSITIONOFFSET 0x42 AXIS2IPADDRESS 0x43 AXIS2MODE1DISPLAYRATIO 0x44 AXIS2MODE1HIDRATIO 0x45 AXIS2MODE2DISPLAYRATIO 0x46 AXIS2MODE2HIDRATIO 0x47 AXIS2MODE3DISPLAYRATIO 0x48 AXIS2MODE3HIDRATIO
0x50 AXIS3POSITIONOFFSET 0x52 AXIS3IPADDRESS 0x53 AXIS3MODE1DISPLAYRATIO 0x54 AXIS3MODE1HIDRATIO 0x55 AXIS3MODE2DISPLAYRATIO 0x56 AXIS3MODE2HIDRATIO 0x57 AXIS3MODE3DISPLAYRATIO 0x58 AXIS3MODE3HIDRATIO
Active:
Each time the processor is running. Do not change any of these parameters during 1 sec while saving !
FMod-IPAXESCTRL User Manual v.1.1
Page 39
39 / 71
RESTORE USER PARAMETERS
Function Address Function Name Function Read/Write Control
0x04
RESTOREUSERPARAMETERS
Restores saved values Write only
Register Size
Register structure Unit
0 Bytes none none
Restore the user parameters from EEPROM.
See SAVEUSERPARAMETERS (0x03) register list.
Active:
Each time the processor is running.
FMod-IPAXESCTRL User Manual v.1.1
Page 40
40 / 71
RESTORE FACTORY PARAMETERS
Function Address Function Name Function Read/Write Control
0x05
RESTOREFACTORYPARAMETERS
Factory default Write only
Register Size
Register structure Unit
0 Bytes none none
Description:
Restore factory parameters.
See SAVEUSERPARAMETERS (0x03) register list.
Active: Each time the processor is running
SAVEUSERPARAMETERS must be done after this function for next reboot with these parameters.
FMod-IPAXESCTRL User Manual v.1.1
Page 41
41 / 71
SAVE FACTORY PARAMETERS
Function Address Function Name Function Read/Write Control
0x06
SAVEFACTORYPARAMETERS
Define default Write only
Register Size
Register structure Unit
0 Bytes none none
Description:
This function is reserved for integrator engineers, and not for end-user. Use it when all parameters have been approved for an application. It saves in EEPROM all configurable registers for both factory parameters and user parameters
Warning: This function also executes the SAVEUSERPARAMETERS function.
See SAVEUSERPARAMETERS (0x03) saved register’s list.
Active:
Each time the processor is running. Do not change any of these parameters during 1 sec while saving!
FMod-IPAXESCTRL User Manual v.1.1
Page 42
42 / 71
VOLTAGE
Register Address Register Name Function Read/Write Control
0x07
VOLTAGE
Power module voltage Read only
Register Size
Register structure Unit
4 Bytes Signed (2’s cplt) Int 16 (HH-HL) +16 bits fixed point (LH-LL) Volt
Description:
Input Voltage
Limits:
Max 0x7FFFFFFxx = 32’767.996 Min 0x000000xx = 0.0 Step 0x000001xx = 0.004
Example: When read 0x00234567 = 2311527 , Voltage = 35.27 (2311527/65536)
Information:
Below effective 6.5 V (0x00068000), this value has no meaning.
Active:
Each time the processor is running.
FMod-IPAXESCTRL User Manual v.1.1
Page 43
43 / 71
WARNING
Register Address Register Name Function Read/Write Control
0x07
WARNING
Bit to bit state R/W
Register Size
Register structure Unit
4 Byte Unsigned Int 32 bits , each bit independent none
Description:
Each information/warning/error is contained in 2 bits, the first one shows the current state, the next one shows if this state appeared previously. Only the bits that show the states in the past can be cleared by writing 0x00000000 to WARNING register.
Bits
when set
Warnings.0-31 Reserved for future use.
Default: bits 31 -> 0
0x00000000
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 44
44 / 71
COMMUNICATION OPTIONS
Register Address Register Name Function Read/Write Control
0x10 (16)
COMUNICATIONOPTIONS
Bit to bit settings Write (Read)
Register Size
Register structure Unit
4 Byte Unsigned Int 32 bits , each bit independent none
Description: Settings for ethernet communication.
Bits
0-31 Reserved for future use.
Limits:
None
Default: bits 31 -> 0
0x00, 0x00, 0x00, b’00000000’
Active:
Each time the processor is running
FMod-IPAXESCTRL User Manual v.1.1
Page 45
45 / 71
ETHERNET MAC
Register Address Register Name Function Read/Write Control
0x11 (17)
ETHERNETMAC
Hardware network ID Read only
Register Size
Register structure Unit
6 Byte 6 x Unsigned Byte none
Description:
Standard hardware unique identifier (world) for each device on an ethernet network.
Information: If user writes into this register, the address won't be modified. This register is available only for informational purpose.
FMod-IPAXESCTRL User Manual v.1.1
Page 46
46 / 71
IP ADDRESS
Register Address Register Name Function Read/Write Control
0x12 (18)
IPADDRESS
IP network ID R/W
Register Size
Register structure Unit
4 Byte 4 x Unsigned Byte none
Description:
Network identifier used for TCP/IP and UDP/IP. The values 255 (0xFF) and 0 (0x00) are reserved for broadcast and network address and should not be used in this register.
The module will change for a new IP address only when all of its communications ports are closed. Do not forget to execute the SAVEUSERPARAMETERS function in order to save the IPaddress.
Example: For the IP=192.168.16.14 (0xC0, 0xA8, 0x10, 0x0E) , write 0xC0A8100E to IPADDRESS.
FMod-IPAXESCTRL User Manual v.1.1
Page 47
47 / 71
SUBNET MASK
Register Address Register Name Function Read/Write Control
0x13
SUBNETMASK
IP subnet mask R/W
Register Size
Register structure Unit
4 Bytes 4 x Unsigned Bytes none
Description:
Network IP subnet mask used for TCP/IP and UDP/IP.
The module will change for a new subnet mask only when all of its communications ports are closed. Do not forget to use a SAVEUSERPARAMETERS command.
Example: For the IP=10.2.6.45 and subnet mask = 255.255.0.0: IP address class = A Æ netID = 10, subNetID = 2 and hostID = 6.45
Note:
If you do not want to use subnets, use the following subnet mask when IP address is: IP address (range) Subnet mask
1.x.x.x … 127.x.x.x : 255.0.0.0 (Class A addresses)
128.x.x.x … 191.x.x.x : 255.255.0.0 (Class B addresses)
192.x.x.x … 223.x.x.x : 255.255.255.0 (Class C addresses)
FMod-IPAXESCTRL User Manual v.1.1
Page 48
48 / 71
TCP WATCHDOG
Register Address Register Name Function Read/Write Control
0x14 (20)
TCPWATCHDOG
Timeout for connection Write (Read)
Register Size
Register structure Unit
1 Byte Unsigned Int 8 bits sec
Description:
The TCP watchdog is a value (in seconds) after which the user will be disconnected if the board has not been accessed in the meantime.
If the value is 0, the TCP watchdog is deactivated. But, in this case, if the client crash during connection, the communication won't never be closed on the module’s side ! For the reason that maximum 4 communications are allowed at the same time on the module, one of them will be blocked. If the client crash four times, all of the 4 communication will be blocked and the module will have to be reset !
Limits:
Max: 255
Default:
30
Active:
The timeout for each TCP/IP connection is reloaded when there is traffic through the port. Each time the processor is running.
FMod-IPAXESCTRL User Manual v.1.1
Page 49
49 / 71
MODULE NAME
Register Address Register Name Function Read/Write Control
0x15 (21)
MODULENAME
Module’s ASCII name R/W
Register Size
Register structure Unit
16 Byte 16 (only) x Unsigned Byte (CHAR) none
Description:
Name and description of the module.
Example: For the name “Hello Module”; extend to 16 byte the name: “Hello Module”+5x space=16 Byte. So write 0x48656C6C 6F204D6F 64756C65 20202020.
FMod-IPAXESCTRL User Manual v.1.1
Page 50
50 / 71
TCP CONNECTIONS OPENED
Register Address Register Name Function Read/Write Control
0x1A
TCPCONNECTIONSOPENED
Number of TCP connections that are opened
Read Only
Register Size
Register structure Unit
1 Byte Unsigned Int 8 bits none
Description:
Number of users connected to the card using TCP. Value can be 0 to 4.
FMod-IPAXESCTRL User Manual v.1.1
Page 51
51 / 71
DISPLAY OPTIONS
Register Address Register Name Function Read/Write Control
0x20 (32)
DISPLAYOPTIONS
Bit to bit settings Write (Read)
Register Size
Register structure Unit
4 Byte Unsigned Int 32 bits , each bit independent none
Description:
Bits
when set
DISPLAYOPTIONS.0-31 Reserved for future use.
Default: bits 31 -> 0
0x00000000
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 52
52 / 71
TRACKBALL OPTIONS
Register Address Register Name Function Read/Write Control
0x21 (33)
TRACKBALLOPTIONS
Bit to bit settings Write (Read)
Register Size
Register structure Unit
4 Byte Unsigned Int 32 bits , each bit independent none
Description:
Bits
when set
TRACKBALLOPTIONS.0-31 Reserved for future use.
Default: bits 31 -> 0
0x00000000
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 53
53 / 71
KEYBOARD OPTIONS
Register Address Register Name Function Read/Write Control
0x22 (34)
KEYBOARDOPTIONS
Bit to bit settings Write (Read)
Register Size
Register structure Unit
4 Byte Unsigned Int 32 bits , each bit independent none
Description:
Bits
when set
KEYBOARDOPTIONS.0-31 Reserved for future use.
Default: bits 31 -> 0
0x00000000
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 54
54 / 71
KEYBOARD FUNCTIONS
Register Address Register Name Function Read/Write Control
0x23 (35)
KEYBOARDFUNCTIONS
A function for each key Write (Read)
Register Size
Register structure Unit
16 Byte 16 (only) x Unsigned Byte none
Description:
On the keyboard there are a number of keys, but each function is not already defined to a dedicated key. KEYBOARDFUNCTIONS register is able to link a programmed function with a key. Each Byte represents a key (0-15). Line L0-column C0 = Byte 0, L0-C1= Byte 1, L3-C3= Byte 15. The value of that Byte represents a function (0x00-0xFF). Not all function already exists, see below.
The functionality of each button can be chosen between this list of values:
0x00 None 0x1A Go / Save position 5 0x01 Set all axes to Position control mode/ Homing 0x1C Go / Save position 6 0x02 Stop all axes (break mode) 0x1D Go / Save position 7 0x03 Free all axes 0x1E Go / Save position 8 0x04 Free selected axes 0x1F Go / Save position 9 0x05 Set all axes to Position mode 0x20 Go / Save position 10 0x06 Increment axis 1 / Repeat 0x21 Inc. axis 1 in Mode 1 / Repeat 0x07 Decrement axis 1 / Repeat 0x22 Dec. axis 1 in Mode 1 / Repeat 0x08 Increment axis 2 / Repeat 0x23 Inc. axis 2 in Mode 1 / Repeat 0x09 Decrement axis 2 / Repeat 0x24 Dec. axis 2 in Mode 1 / Repeat 0x0A Increment axis 3 / Repeat 0x25 Inc. axis 3 in Mode 1 / Repeat 0x0B Decrement axis 3 / Repeat 0x26 Dec. axis 3 in Mode 1 / Repeat 0x0C Change mode (1,2,3,1…) 0x27 Inc. axis 1 in Mode 2 / Repeat 0x0D Mode 1 0x28 Dec. axis 1 in Mode 2 / Repeat 0x0E Mode 2 0x29 Inc. axis 2 in Mode 2 / Repeat 0x0F Mode 3 0x2A Dec. axis 2 in Mode 2 / Repeat 0x10 Axis 1 ON-OFF 0x2B Inc. axis 3 in Mode 2 / Repeat 0x11 Axis 2 ON-OFF 0x2C Dec. axis 3 in Mode 2 / Repeat 0x12 Axis 3 ON-OFF 0x2D Inc. axis 1 in Mode 3 / Repeat 0x13 Axis 1 suspended while pressing 0x2E Dec. axis 1 in Mode 3 / Repeat 0x14 Axis 2 suspended while pressing 0x2F Inc. axis 2 in Mode 3 / Repeat 0x15 Axis 3 suspended while pressing 0x30 Dec. axis 2 in Mode 3 / Repeat 0x16 Go / Set position zero absolute 0x31 Inc. axis 3 in Mode 3 / Repeat 0x17 Go / Save position 1 0x32 Dec. axis 3 in Mode 3 / Repeat 0x18 Go / Save position 2
0x33
Mode 3 Æ Mode 1 (when released)
0x19 Go / Save position 3
0x34
Mode 2 Æ Mode 1 (when released)
0x1A Go / Save position 4 0x35 Go / Set position zero relative
Note: All description with “/” have a different functionality if the key is pressed shortly (<3 seconds) or pressed more than 3 seconds.
Limits for each Byte: Min: 0x00 (0) Max: 0x35 (53) Default: 0x00
Example: With a 1 line and 4 columns Keyboard, with “Set all axes to Position mode” (0x01), increment (0x06), decrement Axis 1 (0x07) and “Go/Save position 1” (0x17) , write: 0x00000000000000000000000017070601
FMod-IPAXESCTRL User Manual v.1.1
Page 55
55 / 71
MODE
Register Address Register Name Function Read/Write Control
0x24 (36)
MODE
Identifier of interface mode
Read (Write)
Register Size
Register structure Unit
1 Byte Unsigned Int 8 bits none
Description:
There are 3 independent modes, the value of this register is very important, because it decides which set of other registers are in use.
It can be changed with the communication protocol or with a Keyboard functions.
Each mode has a specific LCD display and a specific input/output ratio (input=HID/output=Display).
Here is the list of registers selected with MODE=1:
0x29 LCDMODE1TEXT
0x33 AXIS1MODE1DISPLAYRATIO 0x34 AXIS1MODE1HIDRATIO
0x43 AXIS2MODE1DISPLAYRATIO 0x44 AXIS2MODE1HIDRATIO
0x43 AXIS3MODE1DISPLAYRATIO 0x44 AXIS3MODE1HIDRATIO
Limits:
Min: 1 Max: 3
Default:
1 (at power up)
FMod-IPAXESCTRL User Manual v.1.1
Page 56
56 / 71
LCD CONTRAST
Register Address Register Name Function Read/Write Control
0x28 (40)
LCDCONTRAST
Define LCD contrast Write (Read)
Register Size
Register structure Unit
1 Byte Unsigned Int 8 bits none
Description:
This value is converted to a voltage which is needed by the LCD for its contrast.
WARNING: HIGH CONTRAST CAN REDUCE THE LIFE OF THE LCD.
To select the contrast of the LCD, begin at 0 and increase it until the visibility is good. If you continue to increase it, you will not probably see a real difference, but the LCD will not appreciate (after a long time).Too high levels can be detected after a long use (>1 day) when older characters (image retention) still appear on the LCD positions filled with blank (space) characters.
Each LCD has an operating voltage pin (Vo) depending of LCD type and temperature. Typically at 25°C Vo is ~0.5V (Vdd-Vo=4.5v).
Example of LCDCONTRAST: 0-127 T°>25°C
128-255 T<25°C
Limits:
Min: 0 ~2V (for 50°… 70°) Max: 255 ~0V (for 0 … -20°C)
Default:
127 ~0.5V for 25°
Active:
Each time the processor is running.
FMod-IPAXESCTRL User Manual v.1.1
Page 57
57 / 71
LCD MODE1 TEXT
Register Address Register Name Function Read/Write Control
0x29 (41)
LCDMODE1TEXT
Mode’s 1 display text Write (Read)
Register Size
Register structure Unit
80 Byte (only) 80 x Char (Unsigned Byte) none
Description:
When register MODE=1, the text defined with LCDMODE1TEXT is displayed on the LCD.
The first line is static(text), while the 3 other lines are dedicated to one axis each (line2=axis1, line3=axis2, line4=axis3). A line has ALWAYS 20 characters.
Each axis position is multiplied with AXIS(i)MODE(j)DISPLAYRATIO , (i,j=1,2,3) depending of the mode used. The integer result can be displayed on the corresponding line on the LCD. 8 digits and 1 more character for the sign are displayable. So the value range is -16’777’216 to16’777’215. With bigger values, “MAX” is displayed, and with lower values “MIN” is displayed. To define the place of each character, put “#” in the text. If not all 9 “#” are defined the least significant characters are skipped. For example: if -07‘654’321 is the result of a multiplication the 2 LSB are useless, only 7 # will shows the good result: -076543.
The 2 last characters of the line are always overwritten with the status of the axis, so do not use them.
For ASCII table compatibility, see the LCD datasheet pattern generator to know which characters are displayable.
Example:
Byte Id
01234567890123456789
Byte range 0 … 19
“Module Mode 1 “
20 … 39
“Axis1 ####.### um __“
40 … 59
“2 ###’###’### pls __“
60 … 79
“3####mm ###um (#) __“
WARNING: Be sure to send always 20 characters for each line (4x), for a total of 80 characters (bytes) to this register.
FMod-IPAXESCTRL User Manual v.1.1
Page 58
58 / 71
LCD MODE2 TEXT
Register Address Register Name Function Read/Write Control
0x2A (42)
LCDMODE2TEXT
Mode’s 2 display text Write (Read)
Register Size
Register structure Unit
80 Byte 80 x Char (Unsigned Byte) none
Description:
When register MODE=2, the text defined with LCDMODE2TEXT is displayed on the LCD. See LCDMODE1TEXT (0x29) for more details.
FMod-IPAXESCTRL User Manual v.1.1
Page 59
59 / 71
LCD MODE3 TEXT
Register Address Register Name Function Read/Write Control
0x2B (43)
LCDMODE3TEXT
Mode’s 3 display text Write (Read)
Register Size
Register structure Unit
80 Byte 80 x Char (Unsigned Byte) none
Description:
When register MODE=3, the text defined with LCDMODE3TEXT is displayed on the LCD. See LCDMODE1TEXT (0x29) for more details.
FMod-IPAXESCTRL User Manual v.1.1
Page 60
60 / 71
AXIS 1 — POSITION OFFSET
Register Address Register Name Function Read/Write Control
0x30 (48)
AXIS1POSITIONOFFSET
define relative reference R/W
Register Size
Register structure Unit
4 Byte Signed (2’s complement) Int 32 Pulse
Description:
Create an offset with corresponding POSITION (and INPUT) register of axis 1. When this register is updated with Key function “Set zero absolute” or “Set zero relative”, its value is automatically saved in User-EEPROM.
Limits:
Max 0x7FFFFFFFF = 2’147’483’647 Min 0x80000000 = -2’147’483’648
Default:
0
Active:
Each time the processor is running,
to disable relative reference, write 0 or press Key with function “Set
zero absolute”.
FMod-IPAXESCTRL User Manual v.1.1
Page 61
61 / 71
AXIS 1 - MAC ADDRESS
Register Address Register Name Function Read/Write Control
0x31 (49)
AXIS1MACADDRESS
Hardware network ID Read only
Register Size
Register structure Unit
6 Byte 6 x Unsigned Byte none
Description:
Standard ethernet network’s hardware unique identifier for axis number 1.
Information: This register is available only for informational purpose.
Default: 0xFFFFFFFFFFFF while a connection has not already been made.
FMod-IPAXESCTRL User Manual v.1.1
Page 62
62 / 71
AXIS 1 - IP ADDRESS
Register Address Register Name Function Read/Write Control
0x32 (50)
AXIS1IPADDRESS
IP network ID Write (Read)
Register Size
Register structure Unit
4 Byte 4 x Unsigned Byte none
Description:
Network identifier for axis number 1 used for UDP/IP. To disable the use of this axis, write 0x00000000 to this register. The values 255 (0xFF) are reserved for broadcast and network address and should not be used in this register.
Default:
169.254.5.5 (Axis 1)= default IP address of module FMod-IPDCMOT or FMod-IPECMOT.
169.254.5.6 (Axis 2)
169.254.5.7 (Axis 3)
Example: For the IP=192.168.16.14 (0xC0, 0xA8, 0x10, 0x0E) , write 0xC0A8100E to AXIS1IPADDRESS.
FMod-IPAXESCTRL User Manual v.1.1
Page 63
63 / 71
AXIS 1 - MODE 1 - DISPLAY RATIO
Register Address Register Name Function Read/Write Control
0x33 (51)
AXIS1MODE1DISPLAYRATIO
Convert the display value
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits , (IEEE 754-1985) none
Description:
While MODE=1 only. For axis 1 only. The incoming position (integer value) of the axis is multiplied with this value and the result (integer value) is displayed on the corresponding axis line on the LCD.
Default:
1.0
Example:
If you want to display micrometers (while MODE=1), and 1000 increments of axis 1 correspond to 1um, set AXIS1MODE1DISPLAYRATIO to 0.001 (1/1000).
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 64
64 / 71
AXIS 1 - MODE 1 - HID RATIO
Register Address Register Name Function Read/Write Control
0x34 (52)
AXIS1MODE1HIDRATIO
Convert human input to motor goal
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits , (IEEE 754-1985) none
Description:
While MODE=1 only. For axis 1 only. When the end-user interacts with the keyboard or with the trackball to move an axis, the human interface device (HID) output is multiplied with AXIS1MODE1HIDRATIO and the result is send to the motor’s new goal.
Default:
1.0
Example:
For big motor movement, an HID increment (a key pressed once, or a trackball pulse) can result to multiple position increments on the motor side. AXIS1MODE1HIDRATIO > 1.
For small motor movement, multiple HID increments (a key pressed repetitively or several trackball pulses) can result to 1 position increment on the motor side. AXIS1MODE1HIDRATIO < 1.
Active:
Each time the processor is running,
FMod-IPAXESCTRL User Manual v.1.1
Page 65
65 / 71
AXIS 1 - MODE 2 - DISPLAY RATIO
Register Address Register Name Function Read/Write Control
0x35 (53)
AXIS1MODE2DISPLAYRATIO
Convert the display value
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits none
Description:
While MODE=2 only. For axis 1 only. See AXIS1MODE1DISPLAYRATIO (0x33) for details.
FMod-IPAXESCTRL User Manual v.1.1
Page 66
66 / 71
AXIS 1 - MODE 2 - HID RATIO
Register Address Register Name Function Read/Write Control
0x36 (54)
AXIS1MODE2HIDRATIO
Convert human input to motor goal
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits none
Description:
While MODE=1 only. For axis 1 only. See AXIS1MODE1HIDRATIO (0x34) for details.
FMod-IPAXESCTRL User Manual v.1.1
Page 67
67 / 71
AXIS 1 - MODE 3 - DISPLAY RATIO
Register Address Register Name Function Read/Write Control
0x37 (55)
AXIS1MODE3DISPLAYRATIO
Convert the display value
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits none
Description:
While MODE=3 only. For axis 1 only. See AXIS1MODE1DISPLAYRATIO (0x33) for details.
FMod-IPAXESCTRL User Manual v.1.1
Page 68
68 / 71
AXIS 1 - MODE 3 - HID RATIO
Register Address Register Name Function Read/Write Control
0x38 (56)
AXIS1MODE3HIDRATIO
Convert human input to motor goal
Write (Read)
Register Size
Register structure Unit
4 Byte Float 32 bits none
Description:
While MODE=3 only. For axis 1 only. See AXIS1MODE1HIDRATIO (0x34) for details.
FMod-IPAXESCTRL User Manual v.1.1
Page 69
69 / 71
Other AXIS 2 registers
Register Addresses Register concerned See Axis 1
0x40 — 0x48 All Axis 2 registers 0x30 — 0x38
The use of these registers (0x40-0x48) is the same as described for AXIS 1, but applied to AXIS 2. Please refer to the corresponding pages in this manual.
FMod-IPAXESCTRL User Manual v.1.1
Page 70
70 / 71
Other AXIS 3 registers
Register Addresses Register concerned See Axis 1
0x50 — 0x58 All Axis 3 registers 0x30 — 0x38
The use of these registers (0x50-0x58) is the same as described for AXIS 1, but applied to AXIS 3. Please refer to the corresponding pages in this manual.
FMod-IPAXESCTRL User Manual v.1.1
Page 71
71 / 71
FMod-IPAXESCTRL User Manual v.1.1
Contact address:
FiveCo - Innovative Engineering PSE-C CH-1015 Lausanne Switzerland Tel: +41 21 693 86 71 Fax: +41 21 693 86 70
www.fiveco.com info@fiveco.com
Loading...