Struggling with sending data via TCP/IP socket connection

1 vue (au cours des 30 derniers jours)
DEYIRE UMAR
DEYIRE UMAR le 17 Sep 2018
Modifié(e) : DEYIRE UMAR le 17 Sep 2018
I want to write script code which sends strings to a robot (Universal robot simulator, URSim) via TCP/IP, the string is a translation of the URscript for the robot into acceptable form in MATLAB. I only succeeded in making turning on/off the "digital_out". All the move commands aren't working when I run the program, the robot remained at its initial position. But when I remove the command to set digital_out, the next move command works. It means it only implement the first command. Any help on the right syntax in Matlab? I am working with examples from python http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/script-from-host-to-robot-via-socket-connection/ and javascript https://github.com/ABC-iRobotics/ur-nodejs-client-example/blob/master/index.js.
Here is my code:
host = '192.168.233.3';
port = 30003;
s = tcpip(host, port,'NetworkRole', 'client');
s.InputBufferSize = 221600;
fopen(s);
disp('Connected!');
While(true)
fprintf (s, strcat('set_standard_digital_out(0,False)', '\n')),
strcat('movej([-0.3596764999985558, -1.174431851788599, 1.88734483936274, -2.277712271407693, -1.5605291909381744, -0.4576386031765587], a=1.3962634015954636, v=1.0471975511965976)', '\n');
strcat('while (true)', '\n'),
strcat('movel([-0.3600129734254667, -1.0838046643374781, 1.923101135878433, -2.4040936317428048, -1.5618407243079862, -0.45651480620647433], a=1.2, v=0.25)', '\n'),
strcat('set_standard_digital_out(0,True)', '\n'),
strcat('pause(1)', '\n'),
strcat('movel([-0.3596764999985558, -1.174431851788599, 1.88734483936274, -2.277712271407693, -1.5605291909381744, -0.4576386031765587], a=1.2, v=0.25)', '\n'),
strcat('movej([-0.10482278180937676, -1.1835615192007545, 1.9014732903964209, -2.2826424641984957, -1.5592584674169627, -0.20275108288563892], a=1.3962634015954636, v=1.0471975511965976)', '\n'),
strcat('movel([-0.10516193553895548, -1.0924099301580732, 1.9372874633103936, -2.409607446651929, -1.5605816595381992, -0.20162872498015805], a=1.2, v=0.25', '\n'),
strcat('set_standard_digital_out(0,False)', '\n'),
strcat('pause(1)', '\n'),
strcat('movel([-0.10482278180937676, -1.1835615192007545, 1.9014732903964209, -2.2826424641984957, -1.5592584674169627, -0.20275108288563892], a=1.2, v=0.25)', '\n'),
strcat('pause(1)', '\n'),
strcat('movel([-0.10516193553895548, -1.0924099301580732, 1.9372874633103936, -2.409607446651929, -1.5605816595381992, -0.20162872498015805], a=1.2, v=0.25)', '\n'),
strcat('set_standard_digital_out(0,True)', '\n'),
strcat('pause(1)', '\n'),
strcat('movel([-0.10482278180937676, -1.1835615192007545, 1.9014732903964209, -2.2826424641984957, -1.5592584674169627, -0.20275108288563892], a=1.2, v=0.25)', '\n'),
strcat('movej([-0.3596764999985558, -1.174431851788599, 1.88734483936274, -2.277712271407693, -1.5605291909381744, -0.4576386031765587], a=1.3962634015954636, v=1.0471975511965976)', '\n'),
strcat('movel([-0.3600129734254667, -1.0838046643374781, 1.923101135878433, -2.4040936317428048, -1.5618407243079862, -0.45651480620647433], a=1.2, v=0.25)', '\n'),
strcat('set_standard_digital_out(0,False)', '\n'),
strcat('pause(1)', '\n'),
strcat('movel([-0.3596764999985558, -1.174431851788599, 1.88734483936274, -2.277712271407693, -1.5605291909381744, -0.4576386031765587], a=1.2, v=0.25)', '\n'),
strcat('pause(1)', '\n'),
strcat('end' , '\n');
settings = fscanf(s);
end
fclose(s);
delete(s);
clear s;
The output of settings is some random unreadable data, though I think the format is as expected.

Réponses (0)

Catégories

En savoir plus sur Robotics dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by