RobotComms Fanuc v1
RobotComms Fanuc v1
RobotComms Fanuc v1
1 OVERVIEW....................................................................................................................2
1.1 Scope..........................................................................................................................2
2 SERIAL COMMUNICATIONS....................................................................................2
2.1 Needed Hardware.......................................................................................................2
2.2 Needed Software.........................................................................................................2
2.3 In-Sight Setup.............................................................................................................2
2.4 Robot Controller KAREL code..................................................................................2
2.5 In-Sight Serial Port Setup...........................................................................................4
2.5.1 Input Settings......................................................................................................4
2.5.2 Serial Settings.....................................................................................................5
2.6 In-Sight Job Setup......................................................................................................5
3 ETHERNET COMMUNICATIONS............................................................................6
3.1 Needed Hardware.......................................................................................................6
3.2 Needed Software.........................................................................................................6
3.3 In-Sight Setup.............................................................................................................6
3.4 Robot Controller Setup...............................................................................................6
3.4.1 Configuring the Socket Messaging Option.........................................................6
3.4.1.1 Setup the Client Tag.....................................................................................6
3.4.1.2 Set the System Variable (Client Tag)..........................................................7
3.4.2 Robot Controller KAREL code..........................................................................8
3.5 In-Sight Job Setup....................................................................................................10
4 SENSOR INTERFACE COMMUNICATIONS........................................................12
4.1 Needed Hardware.....................................................................................................12
4.2 Needed Software.......................................................................................................12
4.3 In-Sight Setup...........................................................................................................12
4.4 Robot Controller Teach-Pendant code.....................................................................12
4.5 In-Sight Serial Port Setup.........................................................................................13
4.5.1 Serial Settings...................................................................................................13
4.6 In-Sight Job Setup....................................................................................................14
5 TROUBLE SHOOTING..............................................................................................14
5.1 Serial with HyperTerminal.......................................................................................14
5.1.1 In-Sight Serial Port Setup.................................................................................14
5.1.2 Input Settings....................................................................................................14
5.1.3 Serial Settings...................................................................................................15
5.1.4 Setup a Test Job................................................................................................15
5.1.5 Connect to In-Sight..........................................................................................17
5.2 Verify Ethernet connection with Telnet...................................................................17
5.2.1 Setup a Test Job................................................................................................17
5.2.2 Connect to In-Sight...........................................................................................18
Page 1 of 17
Version 1.0 8/16/06
1 Overview
1.1 Scope
The purpose of this document is to outline the steps needed to connect and
transfer data from a Cognex In-Sight Sensor to a FANUC Robot Controller. In all
setups outlined the robot controller will be the device controlling the acquisition
and transfer of data. In general the robot controller, with the use of In-Sight
Native Mode commands, will trigger the sensor to acquire and process an image
and then the robot controller will request specific data from the sensor.
For a full list of Native Mode commands from In-Sight Explorer Select Help | In-
Sight Explorer Help; from the Contents tab expand Communications Reference |
Native Mode Communications and here you'll find the full list of all Basic and
Extended Native Mode commands.
2 Serial communications
2.1 Needed Hardware
In-Sight Sensor (models 3400 or 5x00)
In-Sight I/O module (model 1450 or 1460)
DB9 Serial Cable (300-0281)
Computer
FANUC Robot Controller (RJ2 or RJ3)
K-Floppy Cable (DB25 to DB9)
Null Modem Adapter (DB9 to DB9)
VAR
file_var :FILE
Status :STRING[4]
xs :STRING[9]
ys :STRING[9]
angles :STRING[9]
Page 2 of 17
Version 1.0 8/16/06
x :REAL
y :REAL
angle :REAL
BEGIN
-- Connect to In-Sight
OPEN FILE file_var ('RW', 'P2:')
-- Read status
READ file_var (status::1::0)
IF status <> '1' THEN
WRITE TPDISPLAY('sw8 Failed',CR)
RETURN
ENDIF
CLR_IO_STAT(file_var)
-- Read status
READ file_var (status::1::0)
IF status <> '1' THEN
WRITE TPDISPLAY('gvc007 Failed',CR)
RETURN
ENDIF
CLR_IO_STAT(file_var)
--
-- Use Vision Data
--
Page 3 of 17
Version 1.0 8/16/06
2.5 In-Sight Serial Port Setup
While connected to the sensor and Offline:
2.5.1 Input Settings
• Select Sensor | Discrete I/O Settings | Input Settings…
• For Input Module, select I/O Expansion Module
• Click OK
Page 4 of 17
Version 1.0 8/16/06
2.5.2 Serial Settings
• Select Sensor | Serial Port Settings…
• Set the following properties:
Page 5 of 17
Version 1.0 8/16/06
o Y: Double-click D6, double-click D2
o Angle: Double-click E6, double-click E2
• Press the Manual Trigger icon a few times to confirm that ExtractBlobs( )
data is changing.
• Save the job
• Turn the sensor Online
3 Ethernet Communications
3.1 Needed Hardware
In-Sight Sensor (models 3400 or 5x00)
In-Sight I/O module (model 1450 or 1460)
Ethernet Cable
Computer
FANUC Robot Controller (RJ3)
NOTE: RJ2 is not compatible with Ethernet communications
Page 6 of 17
Version 1.0 8/16/06
• Press F4, [SHOW].
• Choose Clients.
• Move the cursor to the tag you want set up for Socket Messaging, and
press F3
Tag C3:
1 Comment: ****************
2 Protocol name: SM
3 Port name: *****
4 Mode: *************************
Current
State: UNDEFINED
5 Remote: ********
6 Path: ****************************
Startup
7 State:
8 Remote: 192.168.0.1
9 Path: ****************************
Options
10 Error Reporting: OFF
11 Inactivity Timeout: 15 min
Note
If you are not using DNS, you must add the remote host and its IP
address into the host entry table.
Page 7 of 17
Version 1.0 8/16/06
• Move the cursor to the structure corresponding to the tag selected in
the previous section Setup the Tag For example, if you are setting up
tag S3, move the cursor structure element [3], as shown in the
following screen.
SYSTEM Variables
$HOSTS_CFG
1 [1] HOST_CFG_T
2 [2] HOST_CFG_T
3 [3] HOST_CFG_T
4 [4] HOST_CFG_T
5 [5] HOST_CFG_T
6 [6] HOST_CFG_T
7 [7] HOST_CFG_T
8 [8] HOST_CFG_T
The code example shows the controller connecting to an In-Sight with IP address
192.168.0.1; To find the IP address of your sensor, from In-Sight Explorer, right-
click the sensor name under In-Sight Network and select Properties.
3.4.2 Robot Controller KAREL code
PROGRAM eComm
VAR
file_var : FILE
tmp_int : INTEGER
mp_str : STRING[128]
status : INTEGER
entry : INTEGER
Page 8 of 17
Version 1.0 8/16/06
try : INTEGER
statuss :STRING[1]
xs :STRING[9]
ys :STRING[9]
angles :STRING[9]
x :REAL
y :REAL
angle :REAL
BEGIN
WRITE TPDISPLAY(CR,CR,CR,CR,CR,CR,CR,CR,CR,CR,CR,CR,CR,CR,CR)
SET_FILE_ATR(file_var, ATR_IA)
--Send Password
WRITE file_var('',CHR(13),CHR(10))
Page 9 of 17
Version 1.0 8/16/06
mp_str =''
READ file_var(mp_str)
IF UNINIT(mp_str) THEN
mp_str = ''
ENDIF
WRITE TPDISPLAY(mp_str,CR)
IF (mp_str <> 'User Logged In') THEN
WRITE TPDISPLAY('Log In Failed',CR)
--Error
RETURN
ENDIF
-- Read Status
READ file_var (statuss)
IF statuss <> '1' THEN
WRITE TPDISPLAY('sw8 Failed',CR)
RETURN
ENDIF
-- Read Status
READ file_var (statuss)
IF statuss <> '1' THEN
WRITE TPDISPLAY('gvc007 Failed',CR)
RETURN
ENDIF
--Disconnect Socket
MSG_DISCO('C3:', status)
Page 10 of 17
Version 1.0 8/16/06
o Manual = Checked
• In cell A2 type ExtractBlobs( at this point the property sheet for
ExtractBlobs should popup, click OK
• Insert Snippet “FANUC Communications”:
o Select cell A4
o If the Tool Palette isn’t visible; select View | Tool Palette
o From the Snippets tag double-click FANUC Communications
• Define the coordinate cell references:
o X: Double-click C6, double-click C2,
o Y: Double-click D6, double-click D2
o Angle: Double-click E6, double-click E2
• Press the Manual Trigger icon a few times to confirm that ExtractBlobs( )
data is changing.
• Save the job
• Turn the sensor Online
Page 11 of 17
Version 1.0 8/16/06
4 Sensor Interface Communications
To use the Sensor Interface option a third-party protocol converter, from
PREMOSYS http://www.premosys.com, is required. This converter handles the
serial handshaking protocol of FANUC’s Sensor Interface.
1: R[20:MEASURE_CNTR_CAM]=0 ;
2: R[2:ALARM CODE]=0 ;
3: LBL[9] ;
4: !REGISTER CHOICE ;
5: R[51:REGISTER_CHOICE]=5 ;
6: R[6:INTERMEDIATE_CALC]=R[51:REGISTER_CHOICE]*65536 ;
7: R[1:SEND_CAM]=R[50:PRODUCT_CHOICE]+256 ;
8: R[1:SEND_CAM]=R[1:SEND_CAM]+1 ;
9: R[1:SEND_CAM]=R[1:SEND_CAM]+R[6:INTERMEDIATE_CALC] ;
10: R[5:REC_ACK]=0 ;
11: SEND R[1:SEND_CAM] ;
12: RCV R[5:REC_ACK] LBL[1] TIMEOUT,LBL[1] ;
13: R[20:MEASURE_CNTR_CAM]=R[20:MEASURE_CNTR_CAM]+1 ;
14: JMP LBL[2] ;
15: !Measurement I/O ;
16: LBL[2] ;
17: IF R[5:REC_ACK]=1,JMP LBL[3] ;
18: !Measurement Not OK ;
19: IF R[20:MEASURE_CNTR_CAM]=1,JMP LBL[9] ;
20: IF R[20:MEASURE_CNTR_CAM]=2,JMP LBL[10] ;
21: LBL[10] ;
Page 12 of 17
Version 1.0 8/16/06
22: !In-Sight TO ROBOT ;
23: IF R[5:REC_ACK]=2 OR R[5:REC_ACK]=3 OR R[5:REC_ACK]=6,JMP LBL[4]
;
24: !ROBOT TO In-Sight ;
25: IF R[5:REC_ACK]=4 OR R[5:REC_ACK]=5 OR R[5:REC_ACK]=8 OR
: R[5:REC_ACK]=9,JMP LBL[5] ;
26: !POSITION IS Not OK ;
27: IF R[5:REC_ACK]=12,JMP LBL[6] ;
28: LBL[4:Alarm Code 1] ;
29: R[2:ALARM CODE]=4 ;
30: JMP LBL[3] ;
31: LBL[5:Alarm Code 2] ;
32: R[2:ALARM CODE]=5 ;
33: JMP LBL[3] ;
34: LBL[6:Alarm Code 3] ;
35: R[2:ALARM CODE]=6 ;
36: JMP LBL[3] ;
37: LBL[3:End] ;
Page 13 of 17
Version 1.0 8/16/06
• Click OK
5 Trouble Shooting
5.1 Serial with HyperTerminal
5.1.1 In-Sight Serial Port Setup
While connected to the sensor and Offline:
5.1.2 Input Settings
• Select Sensor | Discrete I/O Settings | Input Settings…
• For Input Module, select I/O Expansion Module
• Click OK
Page 14 of 17
Version 1.0 8/16/06
5.1.3 Serial Settings
• Select Sensor | Serial Port Settings…
• Set the following properties:
Page 15 of 17
Version 1.0 8/16/06
• Put the sensor Online by either clicking the Online button on the icon bar
or selecting Sensor | Online from the menus
Page 16 of 17
Version 1.0 8/16/06
5.1.5 Connect to In-Sight
• From Windows click Start | All Programs | Accessories | Communications |
HyperTerminal
• Create a New Connection
o Port: COM1
o Bits per second: 115200
o Data bits: 8
o Parity: None
o Stop bits: 1
o Flow Control: None
• File | Properties | Settings
o Emulation: ANSI
o ANSII Setup (for viewing ease) set the following
Send line ends with line feeds
Echo typed characters locally
Append line feeds to incoming line ends
Wrap lines that exceed terminal width
• Connect
• Type: sw8 (this will cause a manual acquire and the image should
change)
• Type: gvC004 (this will get the value of cell C4)
Page 17 of 17
Version 1.0 8/16/06
5.2.2 Connect to In-Sight
• From Windows click Start | Run...
• In the Run window type: telnet <the sensors IP Address> example: telnet
10.27.80.66
• Click OK
• You should be prompted for a user name, type admin
• Press Enter
• The password by default is blank, so just press Enter
• You should now see User Logged In
• Type: sw8 (this will cause a manual acquire and the image should
change)
• Type: gvC004 (this will get the value of cell C4)
• To disconnect your telnet session type CTRL + ]
• type: quit to close the window
Page 18 of 17
Version 1.0 8/16/06