ken0126
2009-10-20, 16:53
小弟现在在做一个project,用matlab来做一个控制系统,是用来控制注射泵的注射速率的。 现在这个系统设计完了,如今购买了一台注射泵是可以通过rs232 端口来控制的,我在网上查了查怎么发送命令 和接收数据,但是当我发送了命令,仪器却没有反应,下面是我code:
serobj = serial('COM1') ;
serobj.Baudrate = 19200;
set(serobj, 'Parity', 'none') ;
set(serobj, 'Databits', 8) ;
set(serobj, 'StopBits', 1) ;
set(serobj, 'Terminator','LF');
set(serobj,'Readasyncmode','continuous');
set(serobj, 'OutputBufferSize', 512) ;
set(serobj, 'Timeout', 1) ;
disp('Connection to Syringe Pump through RS232 interface established');
get(serobj) ;
fopen(serobj) ;
fprintf(serobj,'RUN');
'RUN'是一个最简单这个仪器可以识别的命令,我只是先想让它给动起来,但是却没有任何反应...
其实这个仪器的公司提供了个软件 就像个电脑的cmd框一样, 点开了 里面输入‘run’ 它就跑,输入‘rat 22’它就以这个速率跑,但是这些东西都是你写什么 它才怎么跑...
现在就是我想用把我写好的matlab的程序给用上去来实现 即时控制(不是写一个命令,跑一个命令),但是必须要用rs232端口和仪器沟通,而现在的问题就是它没反应,哪位大侠做过rs232 matlab沟通方面的,请你们帮帮忙吧,这个是我project的最后一个部分了。
小弟感激不尽!
欢迎加我qq:604812017
serobj = serial('COM1') ;
serobj.Baudrate = 19200;
set(serobj, 'Parity', 'none') ;
set(serobj, 'Databits', 8) ;
set(serobj, 'StopBits', 1) ;
set(serobj, 'Terminator','LF');
set(serobj,'Readasyncmode','continuous');
set(serobj, 'OutputBufferSize', 512) ;
set(serobj, 'Timeout', 1) ;
disp('Connection to Syringe Pump through RS232 interface established');
get(serobj) ;
fopen(serobj) ;
fprintf(serobj,'RUN');
'RUN'是一个最简单这个仪器可以识别的命令,我只是先想让它给动起来,但是却没有任何反应...
其实这个仪器的公司提供了个软件 就像个电脑的cmd框一样, 点开了 里面输入‘run’ 它就跑,输入‘rat 22’它就以这个速率跑,但是这些东西都是你写什么 它才怎么跑...
现在就是我想用把我写好的matlab的程序给用上去来实现 即时控制(不是写一个命令,跑一个命令),但是必须要用rs232端口和仪器沟通,而现在的问题就是它没反应,哪位大侠做过rs232 matlab沟通方面的,请你们帮帮忙吧,这个是我project的最后一个部分了。
小弟感激不尽!
欢迎加我qq:604812017