1

我有两个程序。一个是从 UR5 机器人读取一些数据,而另一个是从传感器读取数据。当我执行一些工业任务时,我需要将这些数据收集到一个表中。

当它们分开时,我能够为每个程序生成表,但我需要创建一个调用函数并将这些表组合在一起的主程序。现在我只得到我需要的一行。这是我下面的主程序:

idleForces = Thesis_calibration();
Time_Stamp = [];
while (true)
timestring = datestr(now,'HH:MM:SS.FFF');
[~,~,~,hours,minutes,seconds] = datevec(timestring);
time_ms = 1000*(3600*hours + 60*minutes + seconds);

measuredForces = Thesis_acquisition();
ur5Data = UR5_CLIENT_new();
Forces = minus(measuredForces,idleForces);

Row = table(time_ms,ur5Data);
Force = table(Forces);
writetable(Row,'robotdata.csv','Delimiter',',')

pause(0.01);
end

输出在这张图片中找到。我怎样才能让它逐行存储? 写入 CSV 文件的数据

4

1 回答 1

1

而不是 writetable 使用 dlmwrite 并将您的数据作为矩阵输入。重要的一点是“-append”,否则它只会覆盖与 writetable 相同的第 1 列。

newRow = [time_ms,ur5Data];
dlmwrite('robotdata.csv',newRow,'-append');

默认分隔符是“,”,因此您无需担心。尽管您可以选择在 dlmwrite 函数中设置分隔符。

于 2018-04-24T14:40:27.193 回答