ESAB interfacing

  • Dear All,


    i am using ESAB Welding machine and i want to connect it with Kawasaki robot by eathernet/ip.
    i cant understand what is wrong. i did all the steps in correct way.


    has anybody made interfacing between ESAB and kawasaki before ? please let me know what should i do ?
    i am using ESAB Aristo W82.

  • Quote

    i did all the steps in correct way.


    Can you provide some more details:
    1. Are you using Fieldbus/Anybus or Software Ethernet IP.
    2. Is Fieldbus enabled.
    3. Is Kawasaki being setup as Adapter or Scanner.
    4. What 'steps' are you referring to - Ethernet/IP is not plug n play.
    5. Any error messages on the Controller, what is error code on Ethernet/IP Status screen.
    6. Have you set correct signal allocation and no.IO
    7. Have you set correct GSDML information correctly as per EASB Ethernet/IP requirement.
    8. Is cable correct.

  • Dear Sir,


    first of all, i want to thank you for your quick and kind reply.
    you always reply in quiclkly which makes us happy. thank you.


    1-i am using software eathernet
    2-yes, the fieldbus is enabled
    3-i put kawasaki as Master
    4-
    5-i got only one error, the torch interfacing is error, i read about this error and it's because of the limit switches in the torch ( it was not connected) . after that i connected but the same error occurs. it's a minor error.
    the Eathernet/Ip status screen shows scanner and adapter in offline without errors.
    6-yes all the signals allocations and i/Os and the setting in the controller was adjusted
    7-what is the GSDML , i got the EDS file from ESAB and i open it but i didnt find the information of the TargetConfigConnInstance, TargetProducingConnPoint, TargetConsumingConnPoint, TargetConsumingConnTag, TargetProducingConnTag, ProducingDataRate and ConsumingDataRate ?
    8-the cable, please let me know which one is correct. i have tried the straight cable and also tried the cross cable but nothing happened

  • Thanks for the information, that assists greatly
    - Oops, yes my bad, I mix my profinet and Ethernet ip file reference up - yes you are correct eds file.


    As for errors, ok Torch Interference is not connected to the Ethernet/IP process and as you say is looking for limit switch.
    - To remove error, goto dedicated input aux function and dedicate Torch Interference to 1000.....I think that will remove monitoring.
    - Also Torch Interference is only monitored in Repeat (from memory, so in Teach Mode, the error will not appear and can be reset).


    Where a lot of issues lie, is that the fields in the Kawasaki are not necessarily named in accordance with the EDS file, so locating the relevant information and making sure it is correct for the field, can be frustrating.
    A free application called (EZEDS) allows you to open an EDS and understand the terminology a little clearer and should assist you in finding the instance values that need entering in the Kawasaki.
    - These values ( I think you only need 3 fields - TargetConfigConnInstance, TargetProducingConnPoint, TargetConsumingConnPoint......to enter in Aux 06080904 aswell as the IP of the EASB.


    I am away from my documentation at the moment, and wouldn't want to steer you in the wrong direction, so give me a day, and hopefully I can point you in the right direction, but:
    Software Ethernet/IP uses Port 2 on the 1VA board, not Port 1.
    - I think you need to enter 0 for the ip address in the Aux 0812 for Port 2......not too sure on this, but it can't hurt.
    - Then set the relevant IP for Port 2 in Aux 06080901.
    - Set the correct amount of bytes you are using for the Output and Inputs in Aux 06080903.
    This I think is the initial setup for the Kawasaki.


    - Then set the relevant IP to one of the scanners (this will be the EASB) in Aux 06080904 and the target instances.


    Like I say, give me a day to look at my docs and I should have some further information.

  • I've accessed some of my information which may/or may not help.


    What I recall, that there are many fields that give you the impression, that there's lots of settings you require to enter.
    - The information I have does not deal with any 'fine tuning' settings - which are the majority of the fields funnily enough (I assume).
    - I only adjusted a couple of areas to obtain a basic connection and IO exchange.


    Saying that, the settings I used, I had to study the EDS (using EZEDS) in conjunction with Fieldbus Manual and also looked into Device Net (Rockwell) to cross reference some of the terminology.
    - The error codes are Rockwell error codes that appear in the Ethernet/IP Status window.
    - So I would definitely recommend a bit of background reading........................


    So here is a brief order of exactly what I did:
    Also, the interconnection cable is a standard patch lead one to one.
    I used a Kawasaki and an extended IO module which only had 8 inputs and 8 outputs available ( I kept it simple).
    1. Enabled Fieldbus.
    2. Left Local IO at 32 inputs/32 outputs, but added 16 signals to Master = 80 signals in total.
    3. Removed the ARM ID IO allocation.
    4. Aux Function 060802 Assign Ports to physical interface and set Master as 12 (Software Ethernet/IP option) and Slave as 0.
    5. Reboot and confirmed Software Ethernet/IP status was in the monitoring area - displaying Adapter/Scanner 1-3 all in Grey and OFFLINE.
    6. Aux Function 060801 and set allocation of signals which was just Master (65 - 80 set as 1).......and Master (1065 - 1080 set as 1001) - I left the Locals allocated.
    7. Aux Function 06080901 Port Setting and set an IP Address for Port 2 (which is the bottom port on the 1VA - I set this to 192.168.11.250
    8. I then set my extended IO module IP address on the module to 192.168.11.253


    Now the interesting part with the EDS - which contains the parameters which you enter in Aux Function 06080904 - IO Communication.
    (I can only go off the EDS file for the module I was using, but I expect yours will also be the same, but maybe different values).


    OK, so in the EDS is a section called [assembly]


    [Assembly]
    Assem101 =
    "Input",
    "20 04 24 65 30 03",
    ,
    0x0001,
    ,;
    Assem102 =
    "Output",
    "20 04 24 66 30 03",
    ,
    0x0001,
    ,;
    Assem103 =
    "Configuration",
    "20 04 24 67 30 03",
    ,
    0x0001,
    ,;
    Assem198 =
    "Input Only",
    "20 04 24 C6 30 03",
    ,
    0x0001,
    ,;
    Assem199 =
    "Listen Only",
    "20 04 24 C7 30 03",
    ,
    0x0001,
    ,;


    So in Aux Function 06080904 I set ONLY the following on Page 1:


    Instance = 1
    IP Address: IP Address of the Extended IO Module I set earlier
    TargetConfigConnInstance = I set to 103 (from the assembly section above).
    TargetProducingConnPoint = I set to 101 (from the assembly section above).
    TargetConsumingConnPoint = I set 102 (from the assembly section above).


    Then on Page 3: I had to obtain the Total IO I was going to be using on the Extended IO Module (in bytes) and enter those values in Input Scanner Size/Output Scanner Size
    - Even though I had 8 inputs and 8 outputs (1byte in, 1 byte out), the module had an extra monitor function which required another input byte.
    - So Input scanner size was set to 2 bytes and Output scanner size was set 1 byte.


    Once I had these set, everything came ONLINE
    The monitoring screen showed GREEN and ONLINE for Scanner 1.
    - I fired some outputs from the Kawasaki and they fired turned on the outputs on the Extended IO Module, like wise I linked a couple of Inputs on the Extended IO Module and they displayed on the Kawasaki.


    I never changed any other parameters except what I have listed above.


    So in your case, I would try exactly the same and see how you get on.......(use the values from your EDS in the assembly section aswell as the Input/output size in bytes for the EASB)
    I am pretty sure the above is just a 'minimum' requirement of settings to establish a connection, and the other parameters are for fine tuning etc.


    I also connected another Kawasaki Controller (set as a slave) to it using setting 2 and the values from the Kawasaki EDS.
    - So I ended up with both Extended IO Module and another Controller connected at the same time (scanner 1 and scanner 2 with IO exchange between the Master).


    Ordinarily you would load the EDS into a PLC and the PLC would then handle all communication based on these parameters - Unfortunately, the Kawasaki Controller is not a PLC, and parameters require manually entering, it would be great if you could load the EDS into the Kawasaki, however I can't see that ever being an option...................


    Hope this helps......................

  • i really appreciate your efforts.
    the words are not enough to thank you.


    i will try this way and update you.


    the last thing, i am checking the EDS file of ESAB and i can find the assem for input and assem for output , but i cant find the assem for configration.
    the assembly has only 2 rows which i mentioned above.


    any idea please ?

  • Quote

    the last thing, i am checking the EDS file of ESAB and i can find the assem for input and assem for output , but i cant find the assem for configration.
    the assembly has only 2 rows which i mentioned above.


    I knew you would say that.............. :wallbash:.......for reasons, I wish I could answer......
    The device I have, has that configuration in the assembly......without that setting, I always see an error code in the status of 315......so for my device - this config value is a requirement.


    I am not an EDS file expert, but I assume that these assembly instance values set specific parameters native to the IO of the device that the 'connection manager' uses to establish types of connections.
    As I see a 'process' within the connection manager parameters.
    The following, may be worth a try then.....(I cannot test this theory due to the device I have unfortunately) and if you don't mind trying it......


    Firstly, have a look at my assembly information - notice the hex values in each assembly - notice the difference in values for input, output and configuration?
    Convert those values from HEX to DEC and you get
    65 = 101
    66 = 102
    67 = 103
    Assem101 =
    "Input",
    "20 04 24 65 30 03",
    Assem102 =
    "Output",
    "20 04 24 66 30 03",
    Assem103 =
    "Configuration",
    "20 04 24 67 30 03",


    Now, if you look at the Connection Manager section within the EDS file.
    I believe this is the area that is used to establish the 'type' of connection to the device, so your Master device has to match a configuration within the connection manager.......
    Because there is input AND output exchange, then the ONLY configuration within the connection manager that includes input AND output is Connection 1 (Exclusive Owner) which I have displayed below.


    [Connection Manager]
    Connection1 =
    0x04030002, $ 0-15 = supported transport classes
    $ 16 = trigger: cyclic
    $ 17 = trigger: change of state
    $ 18 = trigger: application
    $ 19-23 = trigger: reserved
    $ 24 = application type: listen-only
    $ 25 = application type: input-only
    $ 26 = application type: exclusive-owner
    $ 27 = application type: redundant-owner
    $ 28-30 = reserved
    $ 31 = Direction: Client = 0 / Server = 1
    0x44640405, $ 0 = O->T fixed size supported
    $ 1 = O->T variable size supported
    $ 2 = T->O fixed size supported
    $ 3 = T->O variable size supported
    $ 4-5 = O->T number of bytes per slot (obsolete)
    $ 6-7 = T->O number of bytes per slot (obsolete)
    $ 8-10 = O->T Real time transfer format
    $ 11 = reserved
    $ 12-14 = T->O Real time transfer format
    $ 15 = reserved
    $ 16 = O->T connection type: NULL
    $ 17 = O->T connection type: MULTICAST
    $ 18 = O->T connection type: POINT2POINT
    $ 19 = O->T connection type: reserved
    $ 20 = T->O connection type: NULL
    $ 21 = T->O connection type: MULTICAST
    $ 22 = T->O connection type: POINT2POINT
    $ 23 = T->O connection type: reserved
    $ 24 = O->T priority: LOW
    $ 25 = O->T priority: HIGH
    $ 26 = O->T priority: SCHEDULED
    $ 27 = O->T priority: reserved
    $ 28 = T->O priority: LOW
    $ 29 = T->O priority: HIGH
    $ 30 = T->O priority: SCHEDULED
    $ 31 = T->O priority: reserved
    Param9,Param5,Assem102, $ O->T RPI, size, format.................This is for Output
    Param9,Param8,Assem101, $ T->O RPI, size, format.................This is for Input
    ,, $ proxy config size, format
    ,Assem103, $ target config size, format...................I expect your EDS does not contain this
    "Exclusive Owner", $ Connection Name
    "", $ help string
    "20 04 24 67 2c 66 2c 65"; $ Path.......................This path seems to contain the Output, Input and Config HEX values(assem101 (65), assem102 (66) ,assem103 (67))


    Now, the thing I think that would be worth trying is this:
    I am sure the above $path HEX value is the HEX value that sets the 'type of connection' as it contains the output, input and configuration values.
    In the above path, you can see 67 - which is my assem103 DEC to HEX value.
    In your path of your EDS Connection Manager for Connection (Exclusive Owner), you will see a different value in place of the '67' of mine.
    - So, I would suggest, convert your value that you have in that path from HEX to DEC and then enter that DEC value in the TargetConfigConnInstance field on the Kawasaki.
    - As well as the order I did things in my earlier post.


    I hope you can follow my theory here..........and see if that works.....something tells me it will........

  • Dear Sir,


    thanks a lot. i have added the values from EDS file and i also convert that number from HEX to Decimel and everything is ok.
    the robot is connected with the welder.


    thank you for your everything.

  • :beerchug:...........PERFECT, that's cleared up an answer for me and thank you for trying it out.
    - I recommend using BLOCK programming for Arc Welding, as the tip speeds for wire feed and IO Control are automatically set/received via the Ethernet/IP Interface and BLOCK Steps/Conditions.
    - Most welders now have preset parameters (job no.s and process no.s which you setup in the welder) and you can easily set these in the Arc Welding settings, without the need of programming additional tasks for the IO exchange.
    - This simplifies the application, programming and teaching processes.


    Happy welding........ :cheer:

  • Dear Sir,


    sorry to bother you.
    just a question please.


    i am thinking how the robot will send the current and voltage and speed of weld to the welder controller or
    how the robot will ask the welder controller to adjust certain voltage, current and speed.


    as you know, we can add the voltage, current and the speed of the weld in the robot controller and i did the mapping for signals between robot and welder controller. but i didn't do all of them.


    at the same time, you can do some conditions in ESAB controller and save it then the robot call this condition ( just call number 1 or number 2 then automaticlly the welder will change the current and voltage to that values ).


    how can i use the robot to call these conditions.


    so, please i need solution by first way ( set values in the robot ) or second way ( set the values in the welder and the robot call these programs ).


    any idea ??
    is it analogue signal ?


    awaiting your kind reply

  • Hello, yes I mentioned this feature in my last post.......but it depends on your firmware level.
    - If you haven't got AUX 1413, then you will need to contact your KHI Distributor for latest firmware.


    You can send 'job no's and 'process no.s' directly to the Welder via dedicated signals (using the fieldbus).
    - These signals require allocating using AUX 1413.
    - When set, you will see they are added to the Dedicated Output Signals AUX 0602.
    - You then set your signal allocation range and dedicate them.
    - You will also notice these are included in your weld condition AUX 1401 (if using BLOCK).


    When configured, your 'signal allocation' will request the specific profile that you have setup in the welder automatically by using the relevant weld condition and values (if using BLOCK).
    If you are using AS, then you will need to 'set' these IO via SIG or BITS command instead.
    - But by using BLOCK, this simplifies and reduces any need for additional programming.


    Hope this helps.............

  • Dear Sir,
    thank you. you are amazing.


    i need a favor please.


    i didnt understand the singnal allocation range. ( could you please explain it to me, also the num of the sig and the num of start sig )
    should i put the number of the byte in the welder in the num of sig.


    ex: in welder i have the byte number 5 for welding data , what should i do ?
    please check the attached file.


    could you please check the attached file and show me one example, how to use it.


    another question please, in this case the robot will send the recorded voltage and current to the welder ? or asking the welder to use the saved condition in the welder itself ?


    sorry but i am messy ?


    i really appreciate your efforts.

  • When using fieldbus, you are in effect communicating via IO (bit patterns).
    - 8 bits (1 byte) give a BCD range of 0 - 255.
    - 16 bits (1 word) give a BCD range of 0 - 65535.


    Your signal allocation:
    Num Sig = How many signals you are using for that function.
    Num of Start Sig = Is your first/start signal.


    According to your data sheet - the term 'byte no.' references to the way the ESAB fieldbus signals are allocated.
    - Byte 0 will be the first 8 bits of the ESAB fieldbus.
    - Byte 15 will be the last 8 bits of the ESAB fieldbus.
    - A total of 16 Bytes is available (16x8 = 128 signals) for the Input and Output.
    - So I assume you have set 128 signals to your fieldbus allocation.
    - Each 'byte' has specific functions (Inputs and Outputs) based on received bits for the 'byte no.'


    So (I don't know ESAB at all) but looking at Byte 2 on the Input side = Weld Number.
    - This should be a programmable area in the ESAB where you set a profile up.
    - ie if you receive weld number 5.......then in the ESAB you will program weld no. 5 to provide a specific current/voltage and feed rates etc.


    So, if you have set a signal set in AUX 1413 and lets say, you named it job.
    - Then in the dedicated outputs, you will see 'job' appear.
    - Set the Num of Sig to 8 (to match Byte2 of your ESAB) = 8 bits.
    - Set the Start Signal No. of the Kawasaki Fieldbus to match the same as the ESAB - ie byte2 start of ESAB will be 17th signal of the Kawasaki Fieldbus allocation in AUX 060801.
    - In AUX 060801, you will see the Kawasaki Signal No. that is allocated to the 17th Signal.
    - That Kawasaki Signal No. is the Start Signal No. you allocate.


    Now, when you use BLOCK, you will set a Weld Condition to use.
    - In that Weld Condition, you simply set the value of the Weld Number you intend to use in the 'job' field - ie 5.
    - Then when running the program, the weld condition is used and therefore sends the value of 5 out on the fieldbus to the ESAB where it is read and applied.


    From what I know, the 'weld number' within the Weld Set is a programmable area that you set specific current/voltage settings, therefore these are automatically applied without the need of the Kawasaki to be setup to send these values as they are automatically selected within the Weld set based on the weld number received.


    On the Output of the ESAB - Byte9 (signals 73 - 80 of the Kawasaki) is the weld number send out, so if you set the above up, you could simply type in on the keyboard in the Kawasaki:
    rec.weld.no = BITS(xxxx,8)
    (where xxxx is your 73rd Input signal that is set in AUX 060801) - and you should see the weld number from the ESAB


    Hope this helps.................

  • sorry for that, i remember one thing.


    you explained to me the job No. what about the process No. ( what does it mean Process No.) ?


    and another question please, how do you know these information ? i read the manual and it's not mentioned the job or process No.


    it's only mentioned sig 1, 2, 3 and 4 can be activated from 1413.
    and this option 1413 is not activated in my controller, so i will call the distributor as you mentioned before.


    i am not a lazy guy, i am reading but cant find these info.

  • Job No and Process No are just variable terms that you name to the functions for the dedicated output signals so will not be mentioned in the manual as 'job no or process no.' as you can pick your own.


    Your ESAB from the data sheets refers to the ESAB weld profile as weld no, again I think this is just a term that's been used.....in essence it's just looking at the BCD received from the Controller.
    - So you will only need to use one set in AUX 1413 (when you get it) - in your case 'Weld No' perhaps.


    The 'signals' referral in AUX 1413 I think are just a term and are not actual signal no's, just consider them as 'functions'. (I think).
    There are 4 you can use.
    - You can use/not use them (except I think No.1 is always set, but you don't have to allocate signals to it if you don't use it.
    - When 'use' - they appear in the dedicated output list and allow to be mapped to your fieldbus allocation.
    - When 'not use' - they are removed from dedicated output list.


    Hope this helps..........

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now