1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. General Category - Robot Forum
  4. General Discussion of Industrial Robots Only
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Seam Tracking with TPSI and analog current clamp.

  • fosterwilliam999
  • November 25, 2024 at 2:10 AM
  • Thread is Unresolved
  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • November 25, 2024 at 2:10 AM
    • #1

    Hi guys,

    i have a robot cell that uses a fronius TPS/I 500 in combination with a current clamp to do seam tracking (TAST).

    this welder has the ability to output a digital seam tracking signal but it's not used as the robot controller does not support it.


    we are having mixed results with seam tracking... and just feel its more finicky than it should be.

    we are pulse welding 12-16mm mild steel.


    i believe back in the fronius TPS days you had to use a specific synergic line (weld program) when using seam tracking.

    (please see attached PDF screenshots)


    I'm assuming it controlled the arc a little differently to allow for the current clamp to get a better signal.

    does a new version of (P0555) exist for the new TPSI machines or are we just expected to use the digital signal?

    cheers,

    -william foster


    Y0JgV7k.png

    9QXHxOv.png

    Edited once, last by fosterwilliam999 (November 25, 2024 at 4:31 AM).

  • massula November 25, 2024 at 3:32 AM

    Approved the thread.
  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • November 26, 2024 at 8:08 PM
    • #2

    i will try making a device to intercept the mod bus seam tracking signal and pass an analog signal to the robot controller...

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • November 29, 2024 at 12:12 AM
    • #3

    Seam tracking working with converting the digital mod bus signal to analog...

    i think it's working better.

    lots of variables.

    image shows taught vs welded path.

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • November 29, 2024 at 11:35 PM
    • #4

    how does it work?

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • November 30, 2024 at 9:02 PM
    • #5

    the welder is already sending a seam track signal to robot via modbus over ethernet.

    the robot just is not setup up to do anything with it... as DX200 is not digital comarc compatible.


    i put a computer between the robot and the welder.

    it's running a program to "intercept" the modbus packets and read their value.

    it then outputs via serial to the Arduino that outputs the value in analog to the robot.

    after that it's just the same as regular comarc.


    I'm not entirely sure of it's performance yet... i need to conduct more test welds.

    i have a feeling its better.

  • hermann
    Reactions Received
    404
    Trophies
    9
    Posts
    2,595
    • November 30, 2024 at 10:02 PM
    • #6

    There exist modbus TCP client software for Arduino f. e. https://github.com/goddland16/Modbus-TCP

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • November 30, 2024 at 11:18 PM
    • #7
    Quote from hermann

    There exist modbus TCP client software for Arduino f. e. https://github.com/goddland16/Modbus-TCP

    I tried that first,


    I don’t think you can make it work just by listening in on the traffic.


    only worked when I sent it direct commands.


    I think it’s to do with how Ethernet library works.

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • December 13, 2024 at 12:58 AM
    • #8

    having good results with custom solution.

    no com arc box required.

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • April 15, 2025 at 11:47 PM
    • #9

    Thanks hermann Arduino modbus library did end up being the way to to go.

    i just didn't know what i was doing the first time i tried it.

    I have got it all in a single unit i can mount in the cabinet now.

  • fosterwilliam999
    will
    Reactions Received
    2
    Trophies
    3
    Posts
    15
    • April 16, 2025 at 12:23 AM
    • #10

    Summary

    I don't believe analog COMARC or analog TAST in general works with pulse welding... or more specifically TPS/i welders as they don't have the special welding jobs needed for external current measuring.

    this unit overcomes the limitation by converting the digital seam track signal that TPS/i welders already have... to analog your older COMARC compatible robot can read.


    Solution

    if anyone want to recreate this.


    it's using "Arduino UNO R4 MINIMA". ( i choose this for its 12bit analog output )

    and the Arduino Ethernet shield.


    I'm using a low pass filter but i don't think it's necessary.

    connect GND to the cabinet and A0 to analog input your robot uses for COMARC.

    connect the Ethernet to the robot network. you might have to add a switch.


    for parameters i changed S1E21 to 110. ( i cant remember how i came up with this number. )

    this is used for analog voltage to current.


    now you can just do the phase compensation as normal.


    with digital COMARC the "current" value doesn't really mean anything.

    so you really cant just guess the U/D value. you should just put it in measure mode and get U/D that way.



    C
    /*
    William Foster
    
    
    unfortunately the modbus library wont compile on the R4. 
    this is ai slop GPT write for me that does a bare bone equivalent.
    
    */
     
    #include <SPI.h>
    #include <Ethernet.h>
    
    // Ethernet settings
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    IPAddress ip(192, 168, 255, 214);
    IPAddress serverIp(192, 168, 255, 210); // Modbus server IP
    EthernetClient client;
    
    // Modbus TCP settings
    const int MODBUS_PORT = 502;
    
    void setup() {
      // Start Ethernet
      Ethernet.begin(mac, ip);
      Serial.begin(9600);
      Serial.println("Modbus TCP Client is starting...");
      analogWriteResolution(12);
      analogWrite(A0, 0);
    
      // Connect to Modbus server
      if (client.connect(serverIp, MODBUS_PORT)) {
        Serial.println("Connected to Modbus server");
      } else {
        Serial.println("Connection to Modbus server failed");
      }
    }
    
    void loop() {
      if (client.connected()) {
        // Build Modbus request (Read Holding Registers, Function Code 3)
        uint8_t request[] = {
          0x00, 0x01, // Transaction ID
          0x00, 0x00, // Protocol ID
          0x00, 0x06, // Length
          0x01,       // Unit ID
          0x03,       // Function Code (Read Holding Registers)
          0xF1, 0x11, // MSB = 0x01, LSB = 0x11
          0x00, 0x01  // Quantity of Registers (1)
        };
    
        // Send request
        client.write(request, sizeof(request));
    
    
        // Wait for response
        delay(4);
    
        // Read response
        uint8_t response[256];
        int len = client.read(response, sizeof(response));
    
        if (len > 0) {
    
    
          // Parse the response (example: extract the first register value)
          if (len >= 9 && response[7] == 0x03) { // Check function code
            uint16_t registerValue = (response[9] << 8) | response[10];
            Serial.print("Register Value: ");
            Serial.println(registerValue);
            analogWrite(A0,map(registerValue, 0, 65535, 0, 4095)*8);
          } else {
    
          }
        } else {
    
        }
    
        // Wait before sending the next request
        delay(1);
      } else {
        Serial.println("Disconnected from server, retrying...");
        client.stop();
        delay(100);
        client.connect(serverIp, MODBUS_PORT);
      }
    }
    Display More

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Tags

  • Fronius
  • TAST
  • track
  • TPSi
  • seal
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download