Communication Robot-python
Aller à la navigation
Aller à la recherche
Code python
Ce projet est conjoint avec le projet de vision robotique expliqué sur une autre page wiki. Les codes ci-dessous servent à communiquer entre un code python et un robot ABB. C'est utile pour transférer des positions. Du code jusqu'au Robot.
def send_to_robot(pos_str):
host = '10.243.11.72' # Adresse IP du robot
port = 1025 # Port de communication
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.settimeout(1.0) # 1 seconde de timeout
client_socket.connect((host, port))
client_socket.sendall(str(pos_str).encode())
except socket.timeout:
print("le robot ne repond pas")
Code à envoyer
- Il est important d'envoyer le code souhaité en string.
- De plus, il est important d'être en admin (sudo) pour lancer le code
pos_str = str([0,0,300]) send_to_robot(pos_str)
Code Robot Studio rapid
- Le code va s'écrire dans la variable
code_recu_str
. - DE plus, le code va s'afficher sur le Flexpendant avec la fonction
TPWrite
PROC communication()
SocketCreate server_socket;
SocketBind server_socket, "10.243.11.72", 1025;
SocketListen server_socket;
SocketAccept server_socket, client_socket \ClientAddress:=client_ip;
SocketReceive client_socket \str := code_recu_str;
SocketClose client_socket;
SocketClose server_socket;
TPWrite code_recu_str;
Ne pas oublier de déclarer les variables au début du code Rapid
VAR socketdev server_socket;
VAR socketdev client_socket;
VAR string code_recu_str;
VAR string client_ip;