首页 > 代码库 > C#与MATLAB通信-2
C#与MATLAB通信-2
-1 与-2 都是通过桌面的文本文件.txt来实现C#与MATLAB端的数据传输,这个txt文件就起到了中间的连接,但若将服务器端放在云服务器上,因为不在同一台计算机中,所以不能找到一个二者都能访问到的中间文件txt 所以这种方法不可行
用fwrite函数发送变量值给服务器端,代码也很简单,不知道当时为什么在这上边整不明白,重要的几句代码如下:
a=‘1.1‘;%模拟存储电机的实时速度
fwrite(s,a,‘int8‘);%发送电机的实时速度给服务器端
receive=fread(s,get(s,‘BytesAvailable‘));
data=http://www.mamicode.com/char(receive)‘% ’使接收到的列向量转置成一个字符串类型
MATLAB(客户端)
1 s = tcpip(‘127.0.0.1‘, 125, ‘NetworkRole‘,‘client‘); 2 set(s, ‘InputBufferSize‘, 30); 3 set(s, ‘outputBufferSize‘, 30); 4 set(s,‘Timeout‘,3); 5 fopen(s); 6 b=1; 7 c=1; 8 d=1; 9 10 a=‘1.1‘;%模拟存储电机的实时速度 11 fwrite(s,a,‘int8‘);%发送电机的实时速度给服务器端 12 pause(1);%暂停一秒 13 14 while(b)%while循环是想 只有读到PID控制器计算完成的信号后,再往下执行代码 否则在原地等待 直到读到信号 15 read=fread(s,1) 16 if read==49 17 b=0; 18 end 19 end 20 receive=fread(s,get(s,‘BytesAvailable‘)); 21 data=http://www.mamicode.com/char(receive)‘ 22 23 24 a=‘2.2‘;%模拟存储电机的实时速度 25 fwrite(s,a,‘int8‘);%发送电机的实时速度给服务器端 26 pause(1);%暂停一秒 27 28 while(c)%while循环是想 只有读到PID控制器计算完成的信号后,再往下执行代码 否则在原地等待 直到读到信号 29 read=fread(s,1) 30 if read==49 31 c=0; 32 end 33 end 34 receive=fread(s,get(s,‘BytesAvailable‘)); 35 data=http://www.mamicode.com/char(receive)‘ 36 37 a=‘3.3‘;%模拟存储电机的实时速度 38 fwrite(s,a,‘int8‘);%发送电机的实时速度给服务器端 39 pause(1);%暂停一秒 40 41 while(d)%while循环是想 只有读到PID控制器计算完成的信号后,再往下执行代码 否则在原地等待 直到读到信号 42 read=fread(s,1) 43 if read==49 44 d=0; 45 end 46 end 47 receive=fread(s,get(s,‘BytesAvailable‘)); 48 data=http://www.mamicode.com/char(receive)‘ 49 50 fclose(s)
代码:
C#与MATLAB通信-2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。