Posts by Tran21


    My apology, I found my problems.

    In general, the sequence of creating and building Karel using %INCLUDE files in robogiude confused me.

    After trials and errors, learning the software, I got my codes working.



    I tried the codes above with no sucess, can someone please explain.

    PROGRAM k_Main

    %INCLUDE K_Vars


    --do stuff here...

    IF(int1 = 0) THEN

    --do more stuff...


    END K_Main

    File name K_Vars.kl as below:




    Robogiude V9(Rev N)

    Errors after build all:

    Set Extra Includes



    1 VAR "PROGRAM" expected

    1 VAR Id expected

    2 int1:INTEGER "BEGIN" expected.

    2 int1:INTEGER ";" or new line expected.

    2 int1:INTEGER Invalid statement or "ENDxxx" or "UNTIL" expected.

    3 int2:INTEGER Invalid statement. ";" or new line expected.

    3 int2:INTEGER Invalid statement. ";" or new line expected

    Can someone please explain purpose and differences between Host Communication TCP/IP, Host Name (LOCAL) Internet Address, and IO Ethernet/IP.

    If for example Connection1 is scanner type, the IP address is of the device being scanned, the scanner itself does not need to have an IP address or even an option to enter one?

    Thanks in Advance!

    Hello again,

    Think I found my issues:

    In Roboguide when create say machine (box) the world coordinate system is on the floor center of robot.

    Robot world coordinate z is center of robot and 0 is up center axis 2 servo motors.

    So when I created a frame direct entry the z value referenced from floor and this would be incorrect.

    Correct me if you think different.

    Please discard previous question.

    So what I can collect is:

    • If I have one scanner port in robot controller I have to manually enter eds file parameters and it can scan the IO-link master with analog on EOAT, independent from plc.
    • The other port that is an adapter, plc can scan it and need eds file.

    Another way is as JM suggested, this means that signals from eoat are mapped through plc then to robot.

    • EOAT ---> network switch.
    • PLC --> network switch .
    • Robot ethernet port#2 --> network switch.


    Sorry JM,

    Please educate me on this as Fanuc is not something I am use to yet.

    In robot controller we have what you called 3 ethernet ports

    The devices we use IFM Al 1122 is IO-Link master EIP.

    As in you advice, same network switch for those connections, I know this may not be a good question but I only know some basics.

    Please see attached.

    Again, thanks all! and think I have some facts now since we got power to the robot yesterday and did some testing.

    For EOAT:

    • IO-Master link EIP (IFM AL1122), has 3 analog sensors connected to converters, EIP pneumatic valve bank, one digital input and one digital output, with this I want to use the scanner.

    For PLC:

    • I want to use the adapter


    • The Fanuc robot comes with 2 adapters .


    1. Use a switch to connect EOAT, plc and to adapter of robot controller?
    2. Order the scanner for EOAT, use adapter for plc?
    3. Or as jmd2777 suggested, same network port running scanner and adapter.

    Hope I provided more detail this time.

    And as always, appreciate all the advise.


    First off, I am new at this.

    We have Fanuc M-900iB/280 purchased with Ethernet/IP option, EOAT has master IO-Link ethernet/ip reading analog sensors through a converter connected to the IO-Link module, also communicates to line plc through Ethernet. As I understand, there are 2 Ethernet ports in robot controller can be configured as scanner and adapter, I will configure one port as scanner for EOAT, other port as adapter for PLC.

    My questions are:

    Which ports to configure as scanner?

    Do I need anything else in robot controller side to receive analog values?

    Do I need EDS files for EOAT?

    Do I need EDS files for PLC to communicate to robot controller?

    Thanks for your advice.



    1: UFRAME_NUM=2 ;

    2: UTOOL_NUM=1 ;


    4:L PR[6:PckCnvApp01] 100mm/sec FINE ;

    5: ;

    6:L PR[8:PckCnv] 100mm/sec FINE ;

    7: ;

    8:L PR[10:PckCnvDep01] 100mm/sec FINE ;


    1: PR[6,1:PckCnvApp01]=0 ;

    2: PR[6,2:PckCnvApp01]=0 ;

    3: PR[6,3:PckCnvApp01]=(-200) ;

    4: PR[6,4:PckCnvApp01]=0 ;

    5: PR[6,5:PckCnvApp01]=0 ;

    6: PR[6,6:PckCnvApp01]=0 ;

    7: ;

    8: PR[8,1:PckCnv]=0 ;

    9: PR[8,2:PckCnv]=0 ;

    10: PR[8,3:PckCnv]=0 ;

    11: PR[8,4:PckCnv]=0 ;

    12: PR[8,5:PckCnv]=0 ;

    13: PR[8,6:PckCnv]=0 ;

    14: ;

    15: PR[10,1:PckCnvDep01]=0 ;

    16: PR[10,2:PckCnvDep01]=0 ;

    17: PR[10,3:PckCnvDep01]=1100 ;

    18: PR[10,4:PckCnvDep01]=0 ;

    19: PR[10,5:PckCnvDep01]=0 ;

    20: PR[10,6:PckCnvDep01]=0 ;

Advertising from our partners