Author Topic: Welding robot communication problem  (Read 1333 times)

0 Members and 1 Guest are viewing this topic.

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #15 on: March 13, 2018, 12:54:00 PM »
Excellent.....surprise to hear about the 'TargetConfigConnInstance set to zero'......I would of expected a link problem......but thanks for the feedback about that.....
- When set to 5, what exactly happens?.....any errors or anything?

Now you have some IO exchange, at least you have functionality and it's a case of fine tuning and customizing it for the application.......... :party20:

Offline Zerych

  • Newbie
  • *
  • Thank You
  • -Given: 14
  • -Receive: 2
  • Posts: 16
Re: Welding robot communication problem
« Reply #16 on: March 13, 2018, 01:12:24 PM »
As i see, this number means a set of first unsugnificant bytes in the packet, which are about interface configuration or a kind, because with 5 i got working gas flow from teach pendant (byte 6 in I/O table) and no wire inch/retract (byte 0 and 1 in I/O table).

The problem with the welder is that i must always choose the non-empty memory channel, and here i suspect probable wrong signal order in aux. 0608. LSB or MSB, little or big endian. So byte and word values may be sent wrong.
« Last Edit: March 13, 2018, 01:26:33 PM by Zerych »

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #17 on: March 13, 2018, 06:28:43 PM »
Hmmmm not too sure I can relate to that, I didn't realise the TargetConfigConnInstance had any impact on byte swap/bit order, but merely to select the relevant connection configuration interfaces the device can be used for such as:
- Exclusive Owner
- Input Only
- Listen Only
...............but if it's working, that's the main thing....I'll have to do some more reading up on it if I've misunderstood it...... :censored:

Usually OEM's stipulate byte order and lsb/msb......but I have no idea about Kemppi standard, but it's just a case of adjusting those settings to discover the correct order if you have no supporting documentation.
- So Kawasaki has those 2 options to allow for the variations that OEM's can offer.
- I have had to set LSB and Big Endian before when interfacing with Siemens peripherals on other fieldbuses like Profibus/Profinet.

« Last Edit: March 13, 2018, 06:35:12 PM by kwakisaki »

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #18 on: March 13, 2018, 09:49:06 PM »
Thank you for your appreciation for the assistance, it goes along way.... :respect:
The supporting information you have provided was 'key', without it, it could have been more long winded and it's a nice to see such a well presented post too......I hope others that come across this post will benefit not only for Kemmpi/Kawasaki configuration, but also as one of the examples that keep Robot Forum top of the list for sources of information and assistance from it's members.

Sounds like you have some small teething issues, but looks like the fundamental configuration is working and if we can be of any further assistance......keep us posted.....

- Once again, Welcome to the forum........:beerchug:
« Last Edit: March 13, 2018, 09:52:01 PM by kwakisaki »

Offline Zerych

  • Newbie
  • *
  • Thank You
  • -Given: 14
  • -Receive: 2
  • Posts: 16
Re: Welding robot communication problem
« Reply #19 on: March 14, 2018, 03:03:50 PM »
And here is the total for this topic: the welding is GOING!  :toothy9:

But now some details and questions. The teach pendant's program contains user-declared (i suppose) variable "bits 65,8 = job_no" (see backup2), which is definitely the number of welder's memory channel. So, when the channel #2, which is set in teach pendant with .REALS section of backup2, was defined in welder, then welding started. The question is about backup's section named .INTER_PANEL_D (was mentioned in one of previous messages), which also linked (i suppose) to memory channel number in the first string. Where to find it in the teach pendant and how to automate or simplify choosing the channel number during the robot programming process with the AS language or otherwise?
« Last Edit: March 14, 2018, 06:24:32 PM by Zerych »

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #20 on: March 14, 2018, 07:45:13 PM »
Progress is always music....... :applaus:

So 1 byte is being used for Job no. using output range of 8 signals from 65 - 72.
- Binary Coded Decimal (BCD) where output 65 only would be equivalent of 1, output 66 only would be equivalent of 2, outputs 65 and 66 only would be equivalent 3 and so on........
- Max amount available would be 255.

Interface Panel Page(s) Configuration is done in Aux 0509.
- Pages are in matrix of 7x4 and can contain switches/lamps/messages variable inputs/bcd switch
- E Controller has 4 as default, but can be increased upto 8 by Aux 0808 if required.

Selecting Interface Panel Pages can be via main teach screen, interface panel buttons on teach pendant - attached screenshot.
Also, in program, you can turn on/off interface panel page by including AS Commands:
IFPDISP 1; will turn interface panel page 1 on.
IFPDISP 2; will turn interface panel page 2 on.
MAINDISP; will turn on Teach Screen.

From looking at backup2, it looks like you enter job no. via Interface Panel Page 2 which sends outputs 65-72 (1Byte) to Welder for selection.
Press 'Welding Number' button and enter job no. request for welder......REAL variable will change and it looks like control of this is done by PC Program called autostart.pc always running in PC Area.

Code: [Select]
.PROGRAM autostart.pc() #0
loop:
  BITS 65,8 = job_no
  GOTO loop
.END

As for simplifying the process, this would depend on how you would like to send the job no. to the welder.
- The above method is directed towards manually inputting it.....which is as simple as it gets.....
« Last Edit: March 14, 2018, 08:09:11 PM by kwakisaki »

Offline Zerych

  • Newbie
  • *
  • Thank You
  • -Given: 14
  • -Receive: 2
  • Posts: 16
Re: Welding robot communication problem
« Reply #21 on: March 14, 2018, 08:54:51 PM »
Thanks again, kwakisaki  :beerchug:

And now it's time of thoughtful manuals' reading for more detailed information and future solo working  :wallbash:

P.S. By "automate or simplify" (for example, in absence of possibility of direct current setting) i mean, for example, linking between welder's predefined memory channel numbers and numbered indirectly settable weld conditions, predefined in controller. I suppose, this can be another one PC Program, always running in PC Area. Not sure about it, will try. And, ofcourse, other non-obvious specific problems.
« Last Edit: March 14, 2018, 08:59:10 PM by Zerych »

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #22 on: March 14, 2018, 09:41:20 PM »
Ah ah....yes, reading for additional information.....welding conditions, yes, there is an additional feature you can study up on.....

If you use BLOCK programming in the Kawasaki, you have weld conditions available.
- These conditions can be selected within the BLOCK step, and therefore automatically send the job no request within the program.
- Therefore the relevant welder profile can be selected via the BLOCK step itself.
- So when it comes to program the weld, you can swap the job no. during the process.

Page 2 of that link I referred to in an earlier post, linked onto this feature.
Look at Aux 1413/0602/1401 - attached screenshot (from your current backup), the 'variable' Memory Channel is already been setup but not enabled.
- So here you can select 'Memory Channel' to use.
- When enabled to use, you will see Memory Channel exist in Aux 0602 (Dedicated Output).
- Here you allocate sigs 65 and total no of 8 (same as BITS 65,8 command - BUT for BLOCK program usage).
- Then look in Aux 1401 Arc Weld Condition No.
- You will now see 'Memory Channel'.
- So here you can set your value to send across the 1 byte (output 65-72) to welder.
- For each Arc Weld Condition no., you can allocate specific Memory Channel (job no.) and therefore when BLOCK programming, for WC and WE command, you can select Arc Weld Condition on the step.
- Therefore within 1 program, you can have varied Arc Weld Condition to send to welder for Weld Data and Crater Data.

I hope this makes sense, but definitely look at the Aux function 1413/0602/1401 to see if this suits your requirement better.
- This may also mean you need to learn BLOCK programming in Kawasaki (if you don't know it already)....so more reading ahead..... :justice:

Using this method means you do not need a PC Program for job no. send to welder......
« Last Edit: March 14, 2018, 09:47:52 PM by kwakisaki »

Offline Zerych

  • Newbie
  • *
  • Thank You
  • -Given: 14
  • -Receive: 2
  • Posts: 16
Re: Welding robot communication problem
« Reply #23 on: March 14, 2018, 10:02:58 PM »
Yes, it seems to be what is needed. Additional question about the output signal numbers for first item of second screenshot - does that means using (or probable setting) of "WireFeedSpeed" data under the name of "Welding Current"?

Offline kwakisaki

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 25
  • -Receive: 92
  • Posts: 584
Re: Welding robot communication problem
« Reply #24 on: March 15, 2018, 08:24:31 AM »
As far as I'm aware, the 4 options you have within Aux 1413 are completely configurable for purpose.
- As default, Kawasaki already includes/enables the Welding Current, Welding Voltage along with Aux 0602.
- If you are not using these defaults and wish to change to wirefeed for example, it can be done freely.
- These changes would be automatically be reflected to Aux 0602 and Aux 1401 Arc Weld Conditions.
- The variable name can also be accessed via AS Commands should you require additional features such as Interface Panel feedback etc.

Using the BLOCK features, assists in reduction of separate control programs to manage the data exchange between Controller and Welder.