90210-1190DEC - CD - TCPIP Communication Manual
90210-1190DEC - CD - TCPIP Communication Manual
D Series
TCP/IP
Communication
Manual
90210-1190DEC
D Series Controller
Kawasaki Robot TCP/IP Communication Manual
PREFACE
This manual provides as much detailed information as possible on the standard operating methods
for using this function. However, not every possible operation, condition or situation that should
be avoided can be described in full. Therefore, should any unexplained questions or problems
arise during robot operation, please contact Kawasaki Machine Systems. Refer to the contact
information listed on the rear cover of this manual for the nearest Kawasaki Machine Systems
office.
Read the D Controller Basic Manuals (including safety manual), delivered with the robot, without
fail together with this manual. Do not perform any procedure described herein until the contents
of this manual are fully understood.
1. This manual does not constitute a guarantee of the systems in which the robot is utilized.
Accordingly, Kawasaki is not responsible for any accidents, damages, and/or problems
relating to industrial property rights as a result of using the system.
2. It is recommended that all personnel assigned for activation of operation, teaching,
maintenance or inspection of the robot attend the necessary education/training course(s)
prepared by Kawasaki, before assuming their responsibilities.
3. Kawasaki reserves the right to change, revise, or update this manual without prior notice.
4. This manual may not, in whole or in part, be reprinted or copied without the prior written
consent of Kawasaki.
5. Store this manual with care and keep it available for use at any time. If the robot is
reinstalled or moved to a different site or sold off to a different user, attach this manual to the
robot without fail. In the event the manual is lost or damaged severely, contact Kawasaki.
All rights reserved. Copyright © 2008 Kawasaki Heavy Industries Ltd.
1
D Series Controller
Kawasaki Robot TCP/IP Communication Manual
SYMBOLS
The items that require special attention in this manual are designated with the following symbols.
Ensure proper and safe operation of the robot and prevent physical injury or property damage by
complying with the safety matters given in the boxes with these symbols.
! DANGER
! WARNING
! CAUTION
Failure to comply with indicated matters may lead to
physical injury and/or mechanical damage.
[ NOTE ]
! WARNING
1. The accuracy and effectiveness of the diagrams, procedures, and detail
explanations given in this manual cannot be confirmed with absolute
certainty. Should any unexplained questions or problems arise, please
contact Kawasaki Machine Systems.
2. Safety related contents described in this manual apply to each individual
work and not to all robot work. In order to perform every work in safety,
read and fully understand the safety manual, all pertinent laws, regulations
and related materials as well as all the safety explanation described in each
chapter, and prepare safety measures suitable for actual work.
2
D Series Controller
Kawasaki Robot TCP/IP Communication Manual
CONTENT
Preface·············································································································································· 1
Symbols············································································································································ 2
3
D Series Controller
Kawasaki Robot TCP/IP Communication Manual
4
D Series Controller 1. Overview of Ethernet-connected TCP/IP Communication
Kawasaki Robot TCP/IP Communication Manual
To use the functions below, create an Ethernet network as shown in the diagram below by
connecting Ethernet port on main CPU board with external devices (e.g. PC) using
10BASE-T/100BASE-TX cable.
Controller Controller
PC
Hub
5
D Series Controller 1. Overview of Ethernet-connected TCP/IP Communication
Kawasaki Robot TCP/IP Communication Manual
Connect Connect
TCP_LISTEN TCP/IP TCP/IP socket()
connect()
TCP_ACCEPT
Ethernet Network
Send/receive data Send/receive data
TCP_RECV send()
TCP_SEND recv()
Disconnect Disconnect
TCP_CLOSE sockclose()
TCP_END_LISTEN
6
D Series Controller 1. Overview of Ethernet-connected TCP/IP Communication
Kawasaki Robot TCP/IP Communication Manual
Connect
TCP/IP TCP/IP socket()
Connect blind()
TCP_CONNECT listen()
accept()
Send/receive data Ethernet network Send/receive data
TCP_ SEND recv()
TCP_ RECV send()
Disconnect Disconnect
TCP_CLOSE sockclose()
There are two UDP communication instructions: UDP_SENDTO (sends data) and
UDP_RECVFROM (receives data).
Personal Computer
Robot Controller
Process
AS Application Program
Send data
Receive data
sendto()
UDP_RECVFROM
UDP/IP UDP/IP
Ethernet network
UDP_SENDTO
recv_from()
7
D Series Controller 1. Overview of Ethernet-connected TCP/IP Communication
Kawasaki Robot TCP/IP Communication Manual
1. 10BASE-T/100BASE-TX Ethernet
2. Network connection transmission rate: 10Mbps/100Mbps
3. Connected using RJ045 Connector
4. Protocols: IP, ARP, RARP, ICMP, TCP, UDP, TELNET (Server)
The robot controller is equipped with FTP client function so that saving/loading can be done
for all types of data: robot, program, auxiliary data, error logs and all the data by using
(TCP/IP) communication in same way as a PC card. Operation is performed by auxiliary
function on teach pendant.
PC
Robot Controller Robot Controller
(R/C) (R/C)
Ethernet Ethernet
Cable Cable
Ethernet
Cable
Hub
File transfer
File transfer
i.e)
-AS taught data is saved from R/C to the server through LAN by instructions from R/C.
-AS taught data is loaded from the server through LAN to R/C by instructions from R/C.
8
D Series Controller 2. Ethernet Network Configuration and
Kawasaki Robot TCP/IP Communication Manual Connection with Robot Controller
This section explains how an Ethernet network is created using an example of connecting a PC
(external computer) with a robot controller.
Ethernet
Cross cable
1KN/1QN Board
Ethernet (Ethernet Board:
Interface Board RJ45Connector need only for 1KA board.)
Main CPU Board
(1KA/1RA Board)
9
D Series Controller 2. Ethernet Network Configuration and
Kawasaki Robot TCP/IP Communication Manual Connection with Robot Controller
This diagram shows the Ethernet network using a hub for 10BASE-T/100BASE-TX
connection.
Transceiver Connect if
Ethernet cable necessary
Hub
Ethernet
Straight Cable
PC
To other robot controller, etc. Controller
10
D Series Controller 3. Setting IP Address and Confirming Connection
Kawasaki Robot TCP/IP Communication Manual
To set the IP address and confirm connection, the robot controller and a Windows-based PC
have to be connected to the network. After connecting the hardware, an IP address for the
robot controller must be set on the network in order to use the TCP/IP communication
function.
Register the IP address and the subnet mask for the controller before using the TCP/IP
communication function.
To set the IP address and subnet mask, execute NETCONF monitor command via teach
pendant or a KCwin/ KCwinTCP remote terminal screen on a RS232C-connected PC.
Example
>NETCONF ↵
IP address = 192.168.0.2
Change?(If not, press RETURN only)
123.123.123.123 ↵
IP address = 123.123.123.123
Change?(If not, press RETURN only) ↵
Host name =
Change?(If not, press RETURN only)
KAWASAKI ↵
Gateway IP = 0.0.0.0
11
D Series Controller 3. Setting IP Address and Confirming Connection
Kawasaki Robot TCP/IP Communication Manual
Gateway IP = 255.255.255.0
Change?(If not, press RETURN only) ↵
Domain name =
Change?(If not, press RETURN only)
kawasaki_robot ↵
IP address can be set via teach pendant. See the Operation Manual for setting the IP address
via TP (Auxiliary function 0812 Network Setting).
After registering the IP address, reboot the robot controller by turning control power OFF →
ON.
12
D Series Controller 3. Setting IP Address and Confirming Connection
Kawasaki Robot TCP/IP Communication Manual
Once the robot controller Ethernet-connected interface is opened and properly started, connect
a Windows PC to the same network and confirm the connection using the ping command in
MS-DOS Prompt screen. Before checking with ping command, the Windows PC needs to be
set for Ethernet connection (register IP address and subnet mask) and rebooted.
1. Open MS-DOS Prompt screen in a Windows PC.
2. In MS-DOS Prompt screen, enter:
>ping IP_address
If the connection is not properly established, error messages such as timeout error will be
displayed.
13
D Series Controller 3. Setting IP Address and Confirming Connection
Kawasaki Robot TCP/IP Communication Manual
This error can occur due to following causes. Check and correct the error and retry until
connection is successful.
Generally, there are LEDs on the hub or Ethernet connection interface devices. The signal
status can be checked by these LEDs. Use this information for troubleshooting when
connection does not succeed.
14
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
While KCwin has only RS232C terminal function, this also has Ethernet-connected remote
terminal function. When installed on Windows PC, this software allows remote operation of
robots from PC. But robot controller to be used needs to be specified by IP address before the
terminal operation. When the robot is successfully connected, terminal operations such as
entering monitor commands are possible. After the necessary operations are finished, end the
connection using the designated instructions.
Three PCs can be connected to one controller at a time. On the other hand, when a controller
is connected to three PCs, remote terminal operations from other PC are not possible until that
connection is terminated.
Instructions for operating the KCwinTCP remote terminal function are explained below.
KCwinTCP is terminal software for the Kawasaki robot controller. When a PC is installed
with this software and connected to controller by Ethernet connection, the following operations
are possible by TCP/IP communication.
Hardware PC with CPU of 80486 or more, and operating with Microsoft Windows
15
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
Install (copy) KCwinTCP provided by Kawasaki into the desired directory of your Windows
PC. After installing, double-click on the KCwinTCP icon. The window below appears.
Register the robot controllers to be connected. Select [Com]→[Options] from the menu bar.
In the window that appears, enter the IP address and the name for the robot controllers on the
network and click <OK>.
16
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
1. Turn ON the controller. Do not initialize the controller. TELNET server function starts
and the controller is now waiting for connection from client PC.
2. Start KCwinTCP
Double-click on the KCwinTCP icon. KCwinTCP starts and a window appears. In this
window, select [Com] → [Sel Connection (E)] from the menu bar.
Select the IP address of the robot to be connected using the cursor keys. Click <OK>.
PC tries to connect with the specified IP address. When the connection is successfully
established, login: appears following several other messages. Enter “as” after this message,
and the robot will return a prompt.
17
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
When uploading or downloading teach data between PC and controller, enter SAVE/LOAD
monitor commands the same as in AS terminal.
After all operations are finished, abort the connection. Select [Communication] →
[Disconnect] from the menu bar.
18
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
4.4.2 MENU
4.4.2.1 FILE(F)
To save the characters displayed on screen as a log file, specify a file as above. (Default for
extension log files is .log)
Exit(X)
Terminates KCwinTCP.
19
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
Connect(C)
Establishes connection with the robot whose IP address and port number were last used.
Sel(ect) Connect(ion)(E)
The IP addresses and names registered in [Options (O)] are displayed in a list. Select the IP
address and name of the robot to be connected and click <OK> to establish connection with
that robot.
IP address
Displays the selected IP address.
Name
Displays the selected name (nickname).
<OK>
Connects with the selected IP address.
<Cancel>
Terminates without making any connections.
Disconnect (D)
Terminates connection.
20
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
Options (O)
Registers the IP address and names of the robots on the network. Maximum of 256 robots
can be registered.
IP address
Enter the IP address of the robot to be connected.
Name
Enter the name (nickname) of the robot to be connected.
<Add>
Adds the content input in the IP address and name.
<Insert>
Inserts the content input in IP address and name where the cursor is.
<Edit>
Overwrites the selected IP address and name with new contents.
<Delete>
Deletes the selected IP address and name from the list.
<OK>
Overwrites contents and puts in effects all changes made to KCWINTCP.INI and terminates
the Option screen.
21
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
<Cancel>
Terminates the screen without saving the changed contents. (KCWINTCP.INI is not
overwritten.)
Font (F)
Selects the font of the characters used on the screen.
SCREEN (W)
Sets the number of scroll buffers, colors of the screen and text.
Contents (C)
Opens the table of contents for KCwinTCP operation instructions.
The vertical scroll bar appears when the data exceeds the number of rows in the screen.
Maximum of 200 rows can be displayed using the scroll bar.
22
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
Example
[192.168.29.128: econ]
The current client is shown in the format [client IP address: name]. When no connection is
established, nothing is displayed here.
[C:¥KCWINTCP]
If only the file name is specified in AS language LOAD/SAVE command, the data will be
saved/ loaded to/ from this directory.
[Logging]
This is displayed while the screen data is being saved to the log file.
When connection is aborted during an execution of a monitor command, that command (e.g.
EDIT) should first be terminated in the robot controller using ABORT.
Do not disconnect from the KCwinTCP side until the command has been executed. If you
have disconnected by mistake, immediately re-connect and check if that command was
executed properly.
When the connection is aborted from the robot side (i.e. the OS displays a disconnection
message), KCwinTCP automatically cuts off connection. If it does not cut off automatically,
manually disconnect KCwinTCP.
23
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
Because more than one robot is connected to the network, there is the chance that a wrong
robot data may be loaded to the robot. Also, data from a wrong robot may overwrite a saved
file.
At the beginning of the data, the IP address data is stored when saving the file. (See line
starting with .NETCONF below).
.***************************************************************************
.*=== AS GROUP === : AS_01000107 2003/01/23 12:05
.*USER IF AS : UAS01000107 2003/01/23 12:01
.*USER IF TP : UTP01000107 2003/01/23 12:02
.*ARM CONTROL AS : AAS01000107 2003/01/22 17:47
.*USER IF AS MESSAGE FILE : MAS000107EN 2003/01/22 16:41
.*USER IF TP MESSAGE FILE : MTP000107EN 2003/01/22 16:42
.*ARM DATA FILE : ARM01000107 2003/01/22 16:16
.*USER IF IPL : UIP01190000 2002/12/25
.*ARM CONTROL IPL : AIP01170000 2003/01/09
.*=== SERVO GROUP === : SV_02000005 2003/02/05 17:24
.*ARM CONTROL SERVO : ASV010000-1 2003/02/04 12:03
.*SRV DATA FILE : ASP010000-1 2003/01/29 09:10
.*ARM CONTROL SERVO CONT. : ARMSH Ver1.2.3 Dec-05-2001 ZX165U ; (shi
.* [Shipment setting data]
.*There is no Shipment setting data.
.***************************************************************************
.NETCONF
123.123.123.123,"KAWASAKI",255.255.255.0,255.255.255.0,123.123.123.1,123.123.123.2,"kawasaki
_robot"
.ROBOTDATA1
ZROBOT.TYPE 10 11 6 1 -421 FS010N-A001 ( 2003-02-06 14:36 )
ZSYSTEM 1 5 1 -106
ZLINEAR 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
179
CONT_CODE 701 -10516
ZZERO 268435456 268435456 268435456 268435456 268435456 268435456 268435456
268435456 268435456 268435456 268435456 268435456 268435456 268435456 268435456
268435456 268435456 268435456 536870911
24
D Series Controller 4. Using KCwinTCP Remote Terminal Function
Kawasaki Robot TCP/IP Communication Manual
KCwinTCP checks if the IP address in the line beginning with .NETCONF is the same as the
IP address of the controller. If they are not the same, KCwinTCP asks whether loading
should be continued or not. Check if the data is correct and enter 9 to continue, and 0 to
terminate.
25
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
The following instructions enable data communication between robot controller and computer
system via Ethernet UDP/IP.
Example
Keyword Parameter
Always enter a space between the keyword and the first parameter.
26
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
UDP_SENDTO variable for returned value, IP address array variable,
port number, character string variable array for sending data,
number of elements, timeout
Function
Sends data string based on UDP protocol. The data to be sent is specified in a character string
variable array. This instruction creates socket, sends data and closes socket in one sequence.
If communication error occurs, the error code is stored in the returned value storage variable.
However, program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 5.1 for details on communication error codes.
Port number
· Specifies the port number that indicates the channel of the other end of the connection
(process). The socket is bound to this port number.
· Acceptable range is 8192 - 65535, otherwise error occurs.
27
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
· The maximum amount of data that can be sent in execution of one instruction is 1472 bytes.
Number of elements
· Specifies the number of elements to send in the character string variable array.
· These array elements are sent to the recipient in order of index number.
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. Default is 1 second.
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
Example
28
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
UDP_RECVFROM variable for returned value, port number,
character string variable array for received data, number of elements,
timeout, IP address array variable, Max. number of bytes
Function
Receives and stores data in the character string variable array based on UDP protocol. This
instruction creates socket, receives data, and closes socket in one sequence. If a
communication error occurs, the error code is stored in the returned value storage variable, and
program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 5.1 for details on communication error codes.
Port number
· Specifies the port number that indicates the channel of the other end of the connection
(process). The socket is bound to this port number.
· Acceptable range is 8192 – 65535, otherwise error occurs.
Number of elements
· Sets the variable to substitute the number of elements in the received character string variable
array.
· Should be specified as a variable.
29
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. The default setting is 1 second.
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
Example
30
D Series Controller 5. Data Communication Instructions in UDP
Kawasaki Robot TCP/IP Communication Manual
31
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
The following program instructions are provided to allow data transmission between robot
controller and other computer systems via Ethernet TCP.
Use TCP_ACCEPT after creating a socket using TCP_LISTEN. After connection is confirmed
by this command, use the TCP_SEND and TCP_RECV instructions below to send/ receive data.
After connecting via TCP_CONNECT, use TCP_SEND and TCP_RECV instructions to send/
receive data to/ from the server.
32
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Example
Keyword Parameter
33
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_LISTEN variable for returned value, port number
Function
Program Instruction to start waiting for connection request (used by server-side to start
communication service)
Creates socket, binds it to the specified port number, and waits for connection request to that
socket. If communication error occurs during execution, the error code is stored in the
returned value storage variable and program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In this
case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Port number
· Specifies the port number that indicates the channel of the other end of the connection. The
socket is bound to this port number.
· Acceptable range is 8192 – 65535, otherwise error occurs.
34
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_ ACCEPT variable for returned value, port number, timeout,
client IP address array variable
Function
Program Instruction to check connection request (used by server-side to start communication
service)
Checks if the connection request for socket communication has been received by the specified
port, and if it has, establishes connection. Connection is completed when this instruction
terminates normally. If communication error occurs during execution, the error code is stored
in the specified returned value storage variable and program execution does not stop.
Parameter
Variable for returned value
· Sets the variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Port number
· Specifies the port number that indicates the channel of the other end of the connection
(process). The socket is bound to this port number.
· Acceptable range is 8192 – 65535, otherwise error occurs.
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. Default is 1 second. Acceptable range is 0 - 60, otherwise error occurs. If
not specified, 1 is assumed.
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
35
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
· The IP address is stored in 8 bit increments to each element in the array variable in order
starting from the start of the IP address.
Example
IP address is stored in the array variable elements ipa[0] through ipa[3], when the connection is
established with computer “192.168.0.3”.
ipa[0] : 192
ipa[1] : 168
ipa[2] : 0
ipa[3] : 3
36
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_CONNECT variable for returned value, port number,
server IP address array variable, timeout
Function
Program Instruction to request connection (Used by client-side to start communication service)
Creates socket and binds to the specified port number. Then, connection request is sent to the
specified node, and connection is established. The node is determined by the IP address of
the server. Waiting time to establish the connection is 60 seconds. (fixed)
If communication error occurs during execution, the error code is stored in the returned value
storage variable and program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication error occurs (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Port number
· Specifies the port number that indicates the channel of the other end of the connection
(process). The socket is bound to this port number.
· Acceptable range is 8192 – 65535, otherwise error occurs.
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. Default is 1 second. Acceptable range is 0 - 60, otherwise error occurs. If
not specified, 1 is assumed.
37
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
Example
IP address is stored in the array variable elements ipa[0] through ipa [3], when the connection
is established with computer “192.168.0.3”.
ipa[0] : 192
ipa[1] : 168
ipa[2] : 0
ipa[3] : 3
38
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_SEND variable for returned value, socket ID number,
character string variable array for sending data, number of elements,
timeout
Function
Program Instruction to send data
Sends data based on TCP protocol. The data to be sent is specified as character string
variable array.
If communication error occurs, the error code is stored in the returned value storage variable
and program execution does not stop.
Parameter
Variable for returned value
· Sets variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Socket ID number
· Specifies the socket ID number obtained by TCP_ACCEPT or TCP_CONNECT instructions.
Number of elements
· Specifies the number of elements to send in the character string variable array.
· The specified number of elements are sent to the recipient in order of index number.
39
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. Default is 1 second. Acceptable range is 0 - 60, otherwise error occurs. If
not specified, 1 is assumed.
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
40
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_RECV variable for returned value, socket ID number,
character string variable array for received data, number of elements,
timeout, max. number of characters
Function
Program instruction to receive data
Receives data based on TCP protocol, and stores it in the specified character string variable
array.
If communication error occurs, the error code is stored in the returned value storage variable
and program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Socket ID number
· Specifies the socket ID number obtained by TCP_ACCEPT or TCP_CONNECT instruction.
Number of elements
· Sets the variable to substitute the number of elements in the received character string variable
array.
· Should be specified as a variable.
41
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Timeout
· Specifies the time (seconds) to wait before outputting timeout error when connection is not
established. Default is 1 second. Acceptable range is 0 - 60, otherwise error occurs. If
not specified, 1 is assumed.
· When a timeout error occurs, the error code is stored in the returned value storage variable.
· Timeout error does not stop AS program execution.
Example
When character string “abcdefghijklmnopqrstuvwxyz” is received, this data is stored in array
elements $recv_dt[0] through $recv_dt[3] of the received data storage character string variable
array as shown below. The number of elements is specified as “rcv_cnt”, and the maximum
number of characters in the element is specified as 10.
$recv_dt[0]:”abcdefghij”
$recv_dt[1]:”klmnopqrst”
$recv_dt[2]:”uvwxyz”
rcv_cnt :3
42
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_CLOSE variable for returned value, socket ID number
Function
Program Instruction to abort connection (Used to terminate communication service)
Cuts off connection for socket communication and closes socket. If communication error
occurs, the error code is stored in the returned value storage variable, and program execution
does not stop.
When TCP_CLOSE execution is stopped by communication error etc., the connection may not
be completely disconnected. In this case, execute TCP_CLOSE instruction again. This will
internally shutdown (force CLOSE) the connection.
Parameter
Variable for returned value
· Sets variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Socket ID number
· Specifies the socket ID number obtained by TCP_ACCEPT or TCP_CONNECT instruction.
43
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_END_LISTEN variable for returned value, port number
Function
Program Instruction to abort connection
Ends waiting for connection request on the socket specified by TCP_LISTEN and closes that
socket. If communication error occurs, the error code is stored in the returned value storage
variable, and program execution does not stop.
Parameter
Variable for returned value
· Specifies variable that stores the execution results.
· 0 is stored when execution completes normally.
· Error code is stored when communication error occurs. However, program execution does
not halt at communication error.
· Error code is not stored when non-communication errors occur (e.g. parameter error). In
this case, the program execution results in error and stops.
· See 6.1 for details on communication error codes.
Port number
· Specifies the socket currently waiting for connection request (socket specified in
TCP_LISTEN instruction).
44
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
Program Instruction
TCP_STATUS Returned value variable, Port number array variable, Socket ID
array variable, Error code array variable, Sub error code array
variable, IP address character array variable
Function
Stores to the specified variables, the status of the sockets used in the TCP communication
instructions. Data are stored in order of sockets ID No., as controlled within the robot
controller. The data with the same array number in each parameter are data from the same
socket. If there is an error in the parameter, the program execution stops.
Parameter
Returned value variable
・Stores the number of sockets used.
・The data is not stored when there is an error in the parameter.
The data for the socket specified by TCP_LISTEN instruction is stored as “0.0.0.0”.
45
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
・TCP_STATUS instruction
TCP_STATUS sock_cnt, port_no[0], sock_id[0], err_cd[0], sub_cd[0], $ip_adrs[0]
46
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
The following errors may be detected during execution of socket communication instructions,
but will not stop the execution of the program*. All errors are recorded in the error log.
NOTE* Program execution halts if error occurs when the controller is in the middle of
processing TCP_ACCEPT.
TCPIP) Socket open Failed to open socket when executing Do not execute too many of this
failure. CODE=XX TCP_LISTEN/TCP_CONNECT. Too instruction. Fix incorrect
E4019 Dst.IP=XX.XX.XX.X many sockets may have been opened. parameter. CODE shows the
X Or, parameter error e.g. wrong IP address. SUB error code of TCP/IP
package.
TCPIP) Socket close Failed to close socket when executing Check for problems in the node at
failure. CODE=XX TCP_CLOSE/TCP_END_LISTEN. the other end of connection or in
Dst.IP=XX.XX.XX.X Possible problem along Ethernet or at the the connection line. Fix
E4020
X other end of connection. accordingly. CODE shows the
SUB error code of TCP/IP
package.
TCPIP)Communicati Communication error during execution of Check for problems in the node at
on Error. CODE=XX TCP_SEND/TCP_RECV. Possible the other end of connection or in
Dst.IP=XX.XX.XX.X problem along Ethernet or at the other end the connection line. Fix
E4021
X of connection. accordingly. CODE shows the
SUB error code of TCP/IP
package.
TCPIP)Too Long Tried to send data longer than the limit Fix data so the size is within limit
E4022
Message. while executing TCP_SEND. size and re-try the program.
TCPIP)Cannot reach Could not connect with the host when Check if port number or IP
the Host executing TCP_CONNECT. There is no address is correct and correct if
host with this IP address on the network. necessary. Check for problems
E4023
Port number or IP address may be wrong. in the node at the other end of
Possible problem along Ethernet or at the connection or in the connection
other end of connection. line. Fix accordingly.
TCPIP)Communicati Timeout occurred during execution of Check for problems in the node at
on Time Out. instructions based on TCP. Possible the other end of connection or in
E4024
Dst.IP=XX.XX.XX.X problem along Ethernet or at the other end the connection line. Fix
X of connection. accordingly.
TCPIP)Connection Connection was aborted while executing Check for problems in the node at
aborted. TCP_CONNECT/TCP_SEND/TCP_RECV the other end of connection or in
E4025 /TCP_ACCEPT. Possible problem along the connection line. Fix
Ethernet or at the other end of connection. accordingly.
TCPIP)No Buffer Communication error occurred during Abort some TCP/IP applications
Space. execution of TCP_SEND/TCP_RECV. working at the same time.
E4026 TCP/IP system source (queue, buffer) may Reboot the controller.
be lacking. Or, possible problem along
Ethernet or at the other end of connection.
TCPIP)Bad Socket. Could not connect when executing Check port number or IP address
TCP_CONNECT. Port number or IP and correct if necessary. Check
E4027 address may be wrong. Possible problem for problems in the node at the
along Ethernet or at the other end of other end of connection or in the
connection. connection line. Fix accordingly.
TCP)This port is not Failed to open socket when executing Check if port number and correct
in LISTEN (SOCK). TCP_ACCEPT. Or failed to close socket if necessary.
E4056 when executing TCP_END_LISTEN.
May have specified socket not created by
TCP_LISTEN.
47
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
TCP)Illegal Socket Communication error occurred during Check socket ID number or port
ID execution of TCP_SEND/TCP_RECV. number and correct if necessary.
Or, failed to close socket when executing Check order of program
E4057 TCP_CLOSE/TCP_END_LISTEN. execution, and correct if
May have specified socket ID number or necessary.
port number of socket not created. Or,
the order of program execution is wrong。
TCP)Cannot create Failed to open socket when executing Avoid executing too many
a socket. TCP_LISTEN/TCP_CONNECT. Too instructions at a time. Correct
many sockets are opened. Or, the same parameter. Close port
E4055 port is used too many times. previously used via
TCP_CLOSE/TCP_END_LISTEN
before using it again.
48
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
49
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
50
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
51
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
52
D Series Controller 6. Data Communication Instructions in TCP
Kawasaki Robot TCP/IP Communication Manual
53
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
The functions below are provided to enable saving/loading of robot data using the FTP Client
Function via Ethernet connection between the robot controller and an external computer
system.
“2: FTP server” from a device list can not be selected in the following auxiliary functions.
Aux.0204 : Initialize
Aux.0207 : Copy file
Aux.0208 : Set verifying function
Aux.0209 : Set default device
[ NOTE ]
< Selecting FTP server >
Enable server function in Aux.0815: FTP sever setting; otherwise,
device list 2: FTP server can not be selected.
54
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Sets the items below for the robot controller by “Aux. 0812 Network setting”. The data
below is saved or loaded as robot data.
Sets the items below for the FTP server by “Aux. 0815 FTP server setting”. The data below
is saved or loaded as auxiliary data.
55
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
56
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Through the FTP server, data and programs in memory are stored into a file in the directory on
the path set via “Aux. 0815 FTP server setting”.
In the screen below, select the type of data to be saved by cursor or the function number.
Data to be saved (File extensions are displayed in [ ] when file are saved.)
1. All data [.as]
2. All data (only in specified program) [.as]
3. Program [.pg]
4. Robot data [.rb]
5. System data [.sy]
6. Auxiliary data [.au]
7. Interface panel data [.if]
8. Error logging [.el]
57
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
[ NOTE ]
< Limit on the number of characters that can be used for file names in the FTP server >
The maximum number of characters is 16 when saving a file name. However, if file
names displayed in the Windows FTP server directory exceed 8 characters, the
remaining characters may be truncated and appear as (~) . Name files with 8 characters
or less when using this kind of server.
58
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Loads data stored in file units in the directory on the path via “Aux. 0815 FTP server setting”
to memory.
Select loading method, all data or specified data only, in the screen below by function number
or cursor.
Next, file list in the directory according to the path set by “Aux. 0815 FTP server setting” is
displayed below. Select the file to be read by cursor and press ENTER key.
Similar screen appears when pressing: “2. Specified data”. (Only changing the display of the
first line.)
59
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Displays a list of the file names stored in the directory, path set by “Aux. 0815 FTP server
setting”.
60
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Deletes the file selected by cursor from the directory, path set by “Aux. 0815 FTP server
setting”.
61
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Changes the file name defined by Source file name to the file name defined by Dest. File name
from among the files stored in the directory (path set by “Aux. 0815 FTP server setting”).
Auto-saving is a function that automatically saves data from the robot controller to the remote
host daily at a specified time and by a specified procedure.
62
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
Data is automatically saved to the directory specified by the path in “Aux. 0815 FTP server
setting” under the conditions set in “Aux. 0210 Autosave configuration”. Processing conditions
are indicated on next page.
63
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
2.All data (only in specified program) or 3. Program is selected, boxes to choose programs are
displayed on the right side of the specified program.
64
D Series Controller 7. Save/Load files using FTP client function
Kawasaki Robot TCP/IP Communication Manual
7.3 COMMUNICATION ERROR CODES WHICH OCCUR WITH THE FTP CLIENT
FUNCTION
Even if errors relating to the save/load function by the FTP function are detected, only a
warning is displayed without them being an error. However, the communication errors are
recorded in the error log. Errors are detected in the following cases.:
65
D Series Controller 8. Error Message
Kawasaki Robot TCP/IP Communication Manual
TELNET) RECV error. Error occurred when receiving data by TCP/IP. Check for problems in node at end
CODE=XX Possible problem along communication line, or of connection or in the connection
E4014 connection was aborted or closed. line. Fix accordingly.
TELNET) IAC receive error. Error occurred when receiving data by TCP/IP. Check for problems in node at end
CODE=XX Possible problem along communication line, or of connection or in the connection
E4015 connection was aborted or closed. line. Fix accordingly.
Check the KCwinTCP in the PC at
other end of connection.
TELNET) Close failure. Error occurred in LISTEN/ACCEPT function Stop some TCP/IP applications
CODE=XX in TCP/IP, and attempt to close the socket working at the same time. Reboot
failed. TCP/IP system resources (queue, the controller.
E4016 buffer) may be lacking. Or, possible problem CODE shows the SUB error code
along communication line, or in node at other of TCP/IP package.
end of connection.
TELNET) Main socket close Error occurred in LISTEN/ACCEPT function Stop some TCP/IP applications
failure. CODE=XX in TCP/IP, and tried to close the main socket working at the same time. Reboot
but could not. TCP/IP system source (queue, the controller.
E4017 buffer) may be lacking. Or, possible problem CODE shows the SUB error code
along communication line, or in node at other of TCP/IP package.
end of connection.
TELNET) System error. The parameter in IPADDRESS command is Set the parameter in IPADDRESS
CODE=XX wrong. correctly.
E4018 CODE shows the SUB error code
of TCP/IP package.
TCPIP) Socket open failure. Failed to open socket when executing Do not execute too many of this
CODE=XX UDP_SENDTO/UDP_RECVFROM/TCP_LIS instruction. Fix incorrect
Dst.IP=XX.XX.XX.XX TEN/TCP_CONNECT. Too many sockets parameter.
E4019 may have been opened. Or, parameter error CODE shows the SUB error code
e.g. wrong IP address. of TCP/IP package.
TCPIP) Socket close failure. Failed to close socket when executing Check for problems in node at end
CODE=XX UDP_SENDTO/UDP_RECVFROM/TCP_CL of connection or in the connection
Dst.IP=XX.XX.XX.XX OSE/TCP_END_LISTEN. There may be line. Fix accordingly.
problem with the Ethernet or at the other end of CODE shows the SUB error code
E4020
the connection. of TCP/IP package.
TCPIP)Communication Error. Communication error during execution of Check for problems in node at end
CODE=XX UDP_SENDTO/UDP_RECVFROM/TCP_SE of connection or in the connection
Dst.IP=XX.XX.XX.XX ND/TCP_RECV. Possible problem along line. Fix accordingly.
E4021 communication line, or connection was aborted CODE shows the SUB error code
or closed. of TCP/IP package.
TCPIP)Too Long Message. Tried to send data longer than the limit while Fix data so the size is within limit
executing size and re-try the program.
E4022 UDP_SENDTO/UDP_RECVFROM/TCP_SE
ND.
66
D Series Controller 8. Error Message
Kawasaki Robot TCP/IP Communication Manual
TCPIP)Communication Time Timeout occurred during execution of Check for problems in node at end
Out. Dst.IP=XX.XX.XX.XX instructions based on TCP. Possible problem of connection or in the connection
E4024
along communication line, or connection was line. Fix accordingly.
aborted or closed.
TCPIP)Connection aborted. Connection was aborted while executing Check for problems in node at end
UDP_SENDTO/UDP_RECVFROM/TCP_CO of connection or in the connection
NNECT/TCP_SEND/TCP_RECV/TCP_ACC line. Fix accordingly.
E4025
EPT. Possible problem along communication
line, or connection was aborted or closed.
TCPIP)No Buffer Space. Communication error occurred during Stop some TCP/IP applications
execution of UDP_SENDTO/ working at the same time. Reboot
UDP_RECVFROM/TCP_SEND/TCP_RECV. the controller.
E4026 TCP/IP system source (queue, buffer) may be
lacking. Or, possible problem along
communication line, or connection was aborted
or closed.
TCPIP)Bad Socket. Could not connect when executing Check port number or IP address
UDP_SENDTO/UDP_RECVFROM/TCP_CO correct if necessary. Check for
NNECT. Port number or IP address may be problems in node at end of
E4027
wrong. Possible problem along connection or in the connection
communication line, or connection was aborted line. Fix accordingly.
or closed.
TCP)This port is not in Failed to open socket when executing Check port number and correct if
LISTEN (SOCK). TCP_ACCEPT. Or failed to close socket necessary.
E4056 when executing TCP_END_LISTEN. May
have specified socket not created by
TCP_LISTEN.
TCP)Illegal Socket ID Communication error occurred during Check socket ID number or port
execution of TCP_SEND/TCP_RECV. number and correct if necessary.
Or, failed to close socket when executing Check order of program execution,
E4057 TCP_CLOSE/TCP_END_LISTEN. and correct if necessary.
May have specified socket ID number or port
number of socket not created. Or, the order of
program execution is wrong.
TCP)Cannot create a socket. Failed to open socket when executing Avoid executing too many
TCP_LISTEN/TCP_CONNECT. Too many instructions at a time. Correct
sockets are opened. Or, the same port is used parameter. Close port previously
E4055 too many times. used using
TCP_CLOSE/TCP_END_LISTEN
before using it again.
67
D Series Controller 8. Error Message
Kawasaki Robot TCP/IP Communication Manual
MEMO
68
Kawasaki Robot Controller D Series
TCP/IP Communication MANUAL
90210-1190DEC