Manual, F/T Sensor, Ethernet Axia
Document #9620-05-C-Ethernet Axia-02
Pinnacle Park • 1031 Goodworth Drive • Apex, NC 27539 • Tel:+1 919.772.0115 • Fax:+1 919.772.8259 •
C-75
10. TCP Interface
TCP interface allows a more advanced user to write their own software to interact with the sensor. This software
could be written with a programming language such as
. Many robots can also communicate via TCP
Socket Messaging communication. For a command-line demo of C#, refer to the ATI NET F/T software download
https://www.ati-ia.com/Products/ft/software/net_ft_software.aspx
.
By default, the TCP interface listens on TCP port 49151. The sensor’s TCP port can also be changed on the
Communications
Section 6.7—Communication Page (comm.htm)
). All commands are 20 bytes
in length. All responses begin with the two byte header 0x12, 0x34. The sensor is the TCP server, and the PC/robot/
other device is the TCP client. The client must request TCP packets before the server sends them. For an example of
TCP interface commands, also refer to
Section 6.10—Interface Example Page (examples.htm)
10.1 Command Codes
READFT
=
0,
/* Read F/T values. */
READCALINFO
=
1,
/* Read calibration info. */
WRITETRANSFORM
=
2,
/* Write tool transformation. */
WRITETHRESHOLD
=
3,
/* Write monitor condition. */
10.2 Read F/T Command
{
uint8
command;
/* Must be READFT (0) . */
uint8
reserved[15]; /* Should be all 0s. */
uint16
MCEnable;
/* Bitmap of MCs to enable. */
uint16
sysCommands; /* Bitmap of system commands. */
}
Each bit position 0-15 in MCEnable corresponds to the monitor condition at that index. If the bit is a ‘1’,
that monitor condition is enabled. If the bit is a ‘0’, that monitor condition is disabled.
Bit 0 of sysCommands controls the Bias. If bit 0 is a ‘1’, the system is biased. If bit 0 is a ‘0’, no
action is taken.
Bit 1 of sysCommands controls the monitor condition latch. If bit 1 is a ‘1’, the monitor condition latch is
cleared, and monitor condition evaluation begins again. If bit 1 is a ‘0’, no action is taken.
10.3 Read F/T Response
{
uint16 header;
/* always 0x1234. */
uint16 status;
/* Upper 16 bits of status code. */
int16 ForceX;
/* 16-bit Force X counts. */
int16 ForceY;
/* 16-bit Force Y counts. */
int16 ForceZ;
/* 16-bit Force Z counts. */
int16 TorqueX;
/* 16-bit Torque X counts. */
int16 TorqueY;
/* 16-bit Torque Y counts. */
int16 TorqueZ;
/* 16-bit Torque Z counts. */
}
The status code is the upper 16 bits of the 32-bit status code.
The force and torque values in the response are equal to (actual ft value * calibration counts per unit
/ 16-bit scaling factor). The counts per unit and scaling factor are read using the read calibration
information command.