would this be sorting and stacking laser cut profiles ?
I'm interested in doing something similar.
would this be sorting and stacking laser cut profiles ?
I'm interested in doing something similar.
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.
did you want to do this in play or teach mode ?
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.
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.
hey mate,
it's just magnets and a switch.. there is not much to adjust.
i had big trouble with my TPS/i having shock sensor issues.
on the TPS/i & DX200 the signal is as follows.
crash box switch>TPS/I>Ethernet back to robot controller>REGISTER>Ladder logic>physical relay>back to robot controller.
... the relay had partially failed and i would get intermittent crash box activation.
replaced one of these and now it's all good.
mod bus will probably be the easiest to implement.
try this code, just swap in your register and IP address.
i have tested this with Arduino running modbus... should work for robot too.
from pymodbus.client import ModbusTcpClient
# Define the Modbus server details
SERVER_IP = "192.168.111.220" # Replace with your Arduino's IP
SERVER_PORT = 502 # Default Modbus TCP port
REGISTER_ADDRESS = 1 # The address of the register to modify
NEW_VALUE = 150 # The new value to write to the register
def write_modbus_register(server_ip, port, register_address, value):
# Create a Modbus TCP client
client = ModbusTcpClient(host=server_ip, port=port)
if not client.connect():
print("Unable to connect to the Modbus server.")
return False
# Write to the register
result = client.write_register(register_address, value)
if result.isError():
print(f"Failed to write to register {register_address}.")
else:
print(f"Successfully wrote value {value} to register {register_address}.")
# Close the client connection
client.close()
return not result.isError()
# Call the function to update the Modbus register
if __name__ == "__main__":
success = write_modbus_register(SERVER_IP, SERVER_PORT, REGISTER_ADDRESS, NEW_VALUE)
if success:
print("Operation completed successfully.")
else:
print("Operation failed.")
Display More
i will try making a device to intercept the mod bus seam tracking signal and pass an analog signal to the robot controller...
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