• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#与MATLAB通信-2

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

-1 与-2 都是通过桌面的文本文件.txt来实现C#与MATLAB端的数据传输,这个txt文件就起到了中间的连接,但若将服务器端放在云服务器上,因为不在同一台计算机中,所以不能找到一个二者都能访问到的中间文件txt 所以这种方法不可行

用fwrite函数发送变量值给服务器端,代码也很简单,不知道当时为什么在这上边整不明白,重要的几句代码如下:

a='1.1';%模拟存储电机的实时速度
fwrite(s,a,'int8');%发送电机的实时速度给服务器端

receive=fread(s,get(s,'BytesAvailable'));
data=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=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=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=char(receive)'
49 
50 fclose(s)

 

代码:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PC-如何禁用 Cookie - 疯狂delphi发布时间:2022-07-18
下一篇:
delphi中WMI的使用(网卡是否接入)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap