SoloCodigo
Programación Específica => Matlab => Mensaje iniciado por: janek en Viernes 25 de Junio de 2010, 11:40
-
Hola a todos
DATOS del Problema
_____________________________________________________________
Sistema de adquisicion: UPM100 Hottinger Baldwin
Parametros
----------------------------
Characters/Line: 88
Lines/Page: 072
----------------------------
Separator[2]:
Terminator[2]: 0D0A
----------------------------
Recording Output: RS232-C
----------------------------
Baud Rate:9600
----------------------------
Data length: 8Bits
----------------------------
Parity: No
Matlab R2009a
Puerto Serial: COM1
_______________________________________________________________
Estoy intentando crear una GUI en Matlab para comunicarme con un sistema de adquisicion de datos.
El caso es que quiero leer los datos que envia el sistema y guardarlos en un archivo.
El primer paso seria leer del Puerto Serie COM1.
He encontrado cierto codigo el la red:
%ABRIR el puerto COM1
clc; disp('BEGIN')
SerPIC = serial('COM1');
set(SerPIC,
'BaudRate',9600);
set(SerPIC,
'DataBits',8);
set(SerPIC,
'Parity','none');
set(SerPIC,
'StopBits',1);
set(SerPIC,'FlowControl','none');
fopen(SerPIC);
%*-*-*-*-*-*-
%Para leer los datos del puerto se usa la función fscanf.
s1 = serial('COM1');
s1.BaudRate=9600;
fopen(s1);
fscanf(s1)
%CERRAR el puerto COM1 al finalizar
fclose(SerPIC);
delete(SerPIC)
clearSerPIC
disp('STOP')
Pero cuando lo ejecuto me da el siguiente error:
??? Error using ==> serial.fopen at 72
Port: COM1 is not available. No ports are available.
Use INSTRFIND to determine if other instrument objects are connected to the requested
device.
Despues ejecuto INSTRFIND como me dice y me muestra lo siguiente:
Instrument Object Array
Index: Type: Status: Name:
1 serial open Serial-COM1
2 serial closed Serial-COM1
3 serial closed Serial-COM1
Sabe alguien que es lo que puede estar sucediendo??
Necesito leer datos transmitidos por RS-232C al puerto Serie de mi ordenador pero parece que Matlab no lo detecta.
Gracias
-
Buenos dias
Yo esoy haciendo un programa similar para leer datos del puerto serial en matlab y al principio me salia ese mismo error, lo que tiene que hacer es verifcar que tipo de puertos seriales utilizar su computador por el administrador de dispositivos y si sigue con el mismo problema despues de verificar los puertos lo mejor es cambiarle el nombre al puerto por ejemplo yo lo cambie al COM4 y se me soluciono ese problema
El problema que yo tengo es que tengo algo en el software que no permite que matlab actualice el dato tomado, lo que hace es que toma solo un dato y lo copia el numero n de veces que le digo, si depronto me puede ayudar con esto le agradeceria
Espero haberle ayudado
-
esto se debe a que tienes abierto el puerto y no lo has cerrado
siempre que lo abras debes cerrarlo
te recomiendo volver ha iniciar matlab
y siempre que abras el puerto debes cerrarlo aqntes de intentar abrirlo nuevamente