Ethernet IP

  • I have just ask this question at one of the members and recieved the following answer. This help quite a bit but in addition I have still a question. Would somebody help me with this?


    Question:


    Dear sir,



    As for a intership I have been challenged to connect a Kawasaki robot (ZD130S) to a Mazak (VTC 800 30/SR). Troughout research I have know that the Mazak support the robotic interface. This also includes the support of a fieldbus system. The system that currently sits on the Mazak is the Ethernet/IP fieldbus network, which takes the role of a Master. I already know that the purchase of the 1JF board is neccesary at the robotic side. This would be the 1JF board with Ethernet/IP slave. But my question goes about this board. I want to make the robot leading in the machine tending process. The one problem in do not understand is how can the program tell to the Mazak which register adress he wants to activate or deactivate?



    I already have some documentation about the extension of an Ehternet/IP network, but this find I al little bit confusing. As of this I have been searching and your reaction on some of my other problem helped me alot in this progess.



    I hope you could help me?




    Answer:


    Fieldbus data exchange on the Kawasaki is simply a bit pattern of signals (packets) exchanged between devices.



    During setup:


    - Mazak (adapter) needs to be configured with a known network topology made up of nodes/robots/peripherals (scanners) by IP addresses.


    - Mazak will also need to allocate a specific no. of signals to each expected node and IP address on the network.


    - Kawasaki or peripherals (scanners) just require an IP address allocating and also a specific no. of signals.


    - An EDS file associated with adapter and scanner settings is required in order to establish initial connectivity between the intended devices.


    - Without this one cannot exchange signals with the other.



    Once the above configurations have been correctly set:


    - Mazak will have a 1st signal and last signal no. allocated to a specific node with IP address.


    - Kawasaki will have a 1st signal and last signal no. allocated to Ethernet/IP interface board with IP address.


    - So 1st output and last output of adapter will be sent to the 1st input and last input of the scanner.


    - So 1st output and last output of scanner will be sent to the 1st input of adapter and last input of adapter.


    - You can of course send/receive single signals, but the data packet will consist of full signal allocation configured.



    Hope this helps.

    ----------------------------------------------------------------------------------------------------------------------------------------------------


    So if I read it correct If I want to start my milling cycle at the Mazak milling machine which has register address R16405-1 and signal number 102 I need to turn signal 102(Input) active in my AS-program? But register R18485-1 signal 102 has another meaning(Output). How does my program understand which register he has to call?


    I hope you can help me?


    Thank you in advance.

  • I can give you another example:


    Lets suppose that the fieldbus connection is working between PLC and Robot.


    I am using the fieldbus option to communicate with the PLC. PLC is the master and robot is slave like in your case. The input/output addresses from the PLC are between 400 - 432 . The fieldbus signals in the robot are starting from I1065 (for inputs) and O65 (for outputs). Therefore, if the output 400.0 from the PLC is on, then I1065 is on.

  • Alexandru is exactly correct and probably a better example than I gave.


    In Kawasaki the numbering convention for IO exchange:

    Signal no. 1-960 = Outputs

    Signal no. 1001-1960 = Inputs.


    Kawasaki addresses inputs and outputs based on the numbering convention above.

    - 102 would always be addressed as an output from the Kawasaki.

    - 1102 would always be addressed as the input to the Kawasaki.


    Knowing nothing about the Mazak.

    it must also have some convention of addressing its outputs and inputs.


    Complications can occur when byte swapping takes place which changes the order of signals:

    Endianness - Wikipedia


    Kawasaki has big and little endian and MSB and LSB swapping capabilities.

    You would need to research the Mazak to see if this is the case also.

  • Alright, Thank you both for your examples.


    Alot is clear for me now. I know how to instal the Fieldbus exstantion on the robotic side. Thank you.


    But for one thing for me is still unclear.


    I understand that the robot has the possibility of 960 In- and Outputs.

    (1-960 -> Inputs)

    (1001-1960 -> Outputs)

    Correct?


    From Mazak I already have a table were the registers adresses and the

    corresponding In- or Output are defined.


    As a Example:


    R163842 Machine Stop request. (Input)

    R164051 Cycle Start Command. (Input)


    R184641 Machine ready (Output)

    R184853 Machining Complete (Output)


    How can I make a TCP/IP messages to one of these registers adresses.

    Is there a Command in the AS-Language which make it possible to send a TCP to a specific adress?

    Can I find this somewhere in the manuals of Kawasaki? (I don't know were to search anymore)

    Or can this been made possible in another way?


    I really appriciate your willing to help me!

    Thank you

  • R163842 etc..............are these data addresses?

    If so, what sort of data do these contain real numbers/ integers/strings

    Are they just 1 and 0.

    Are they a specific Input.


    Your values as you stated:

    R16xxxx appears as inputs - That input would need to point to Kawasaki output xxx

    R18xxxx appears as outputs - That output would need to point to Kawasaki input 1xxx

  • Yes, it is...


    Lets suppose that the fieldbus signals in the robot are starting from I1065 (for inputs) and O65 (for outputs). If the R18464 is the first register address for outputs and R16384 is the first register address for inputs, therefore:


    R184641 Machine ready (Output) = I1066

    R184853 Machining Complete (Output) = I can not see in the picture where it is? :grinning_squinting_face:


    R163842 Machine Stop request. (Input) = O67

    R164051 Cycle Start Command. (Input) = I can not see in the picture

  • Each address you are talking about contains 16 or 32 bits (16 or 32 signals).

    The Kawasaki does not access the Mazak address directly.

    It will access the specific IO of that address.

    Example Mazak address R16384 contains 32 signals starting with DI000 - upto DI031.

    DI000 => DI031ONLY sit in that address, nowhere else.


    So when you allocate the Mazak fieldbus for R16384:

    - DI000 will be fieldbus input bit 0

    - DI031 will be fieldbus input bit 31


    When you allocate the Kawasaki:

    - 1st output will be fieldbus output bit 0 (which will talk directly to DI000)

    - Last output will be fieldbus output bit 31 (which will talk directly to DI031).


    This is assuming your allocating is correctly configured and byte ordering is correct.

  • Thank you both!

    So if I am reading it correct. If I follow the installation guide for fieldbus network on the Kawasaki side and configure Ethernet/IP by following the guide (By AUX 0608) and I set in my program the following line


    SIGNAL 1 TRUE (Or need this be BIT 1?)

    Signal 1 turns to true and the Mazak recieves robot ready?

  • If you allocate in the Kawasaki the first fieldbus bit 0 to:

    1 - output

    1001 - input


    Then simply put:

    SIGNAL 1 (in Kawasaki AS language) will turn on fieldbus bit 0.

    DI000 in Mazak should then turn on.


    BUT you need to consider the other signals in the Mazak address, it may also require other signals in the address to be set to 0 or 1.

    So you may need to send multiple signals using Kawasaki either by:


    1. SIGNAL 1,-2,3,4,5

    2. Using BITS command by sending a 16 bit or 32 bit group of signals to the complete Mazak address.

    (Both commands are available in the Kawasaki AS language manual for referencing).


    ie the complete address may be required to send the full signal (packet) to.

    BITS command will send a set BCD value to the allocated group of signals:


    BITS(1,8) = 100

    The value of 100 will be sent out using 8 signals starting at signal 1 using binary notation below.

    (MSB) 0110100 (LSB)

Advertising from our partners