GPIB + DELPHI

Programação Delphi e Pascal

Moderadores: 51, guest2003

GPIB + DELPHI

Mensagempor vibrexbr2014 » 05 Jul 2014 02:21

Possuo uma interface GPIB USB HP83257A.

Gostaria de utilizar o Delphi para controlar meus equipamentos.
Alguém sabe como fazer?

Obrigado.
vibrexbr2014
Bit
 
Mensagens: 10
Registrado em: 03 Jul 2014 19:54

Re: GPIB + DELPHI

Mensagempor vtrx » 05 Jul 2014 08:04

Não conheço esta interface,usa HID?
Qual versão do Delphi esta usando?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: GPIB + DELPHI

Mensagempor vibrexbr2014 » 05 Jul 2014 21:59

Boa noite.
Esta interface é utilizada para controlar instrumentos de medição através de um barramento chamado GPIB (General Purpose Interface Bus).
Achei um post na internet mas não entendi como usá-lo.
Estou estudando Delphi há 1 semana...
Como faço para implementá-la?

Obrigado.

André.

delphi code
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

Type viSession = Integer;
viStatus = Integer;
viAccessMode = Integer;
viUInt32 = Integer;
viUInt16 = SmallInt;

function viOpenDefaultRM (var rm : viSession) : viStatus; stdcall; external 'visa32.dll' name 'viOpenDefaultRM';

function viOpen ( RM : viSession;
ResourceName : pChar;
AccessMode : viAccessMode;
TimeOut : viUInt32;
var vi : viSession) : viStatus; stdcall; external 'visa32.dll' name 'viOpen';

function viClose (VI : viSession) : viStatus; stdcall; external 'visa32.dll' name 'viClose';

function viRead ( VI : viSession;
Buffer : pChar;
Count : viUInt32;
var RetCount : integer) : viStatus; stdcall; external 'visa32.dll' name 'viRead';

function viWrite ( VI : viSession;
Buffer : pChar;
Count : viUInt32;
var RetCount : integer) : viStatus; stdcall; external 'visa32.dll' name 'viWrite';

type
TfrmMain = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var frmMain : TfrmMain;
RM, VI : viSession;

implementation

{$R *.dfm}

procedure TfrmMain.Button1Click(Sender: TObject);
var Status : viStatus;
begin
Status := viOpenDefaultRM (RM);
Memo1.Lines.Add (IntToStr (Status));
end;

procedure TfrmMain.Button2Click(Sender: TObject);
var Status : viStatus;
ResourceName : PChar;
AccessMode : viAccessMode;
TimeOut : viUInt32;
begin
ResourceName := 'GPIB0::22::INSTR';
AccessMode := 0;
TimeOut := 0;
Status := viOpen(RM, ResourceName, AccessMode, TimeOut, VI);
Memo1.Lines.Add (IntToStr (Status));
end;

procedure TfrmMain.Button3Click(Sender: TObject);
var Status : viStatus;
Buffer : String;
RetCount : Integer;
begin
Buffer := '*IDN?';
Status := viWrite (VI, Addr (Buffer[1]), Length (Buffer), RetCount);
Memo1.Lines.Add (IntToStr (Status) + ' ' + IntToStr (RetCount));
end;

procedure TfrmMain.Button4Click(Sender: TObject);
var Status : viStatus;
Buffer : String;
i, RetCount : Integer;
begin
Buffer := '';
for i := 0 to 255 do
Buffer := Buffer + ' ';
Status := viRead (VI, Addr (Buffer[1]), 255, RetCount);
while (Length (Buffer) > 1) and (Buffer Length (Buffer) = ' ') do
Delete (Buffer, Length (Buffer), 1);
Memo1.Lines.Add (IntToStr (Status) + ' ' + IntToStr (RetCount) + ' ' + Buffer);
end;

procedure TfrmMain.Button5Click(Sender: TObject);
var Status : viStatus;
begin
Status := viClose (VI);
Memo1.Lines.Add (IntToStr (Status));
end;

end.
vibrexbr2014
Bit
 
Mensagens: 10
Registrado em: 03 Jul 2014 19:54

Re: GPIB + DELPHI

Mensagempor vtrx » 06 Jul 2014 16:31

Precisamos da DLL "visa32.dll" carregada ou via Windows (system)ou na mesma pasta do executável.
Qual versão do Delphi vai ou esta usando?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: GPIB + DELPHI

Mensagempor vibrexbr2014 » 07 Jul 2014 22:32

Boa noite.

Serviria a VISA.DLL do fabricante (AGILENT)? Posso mandar via e-mail.
Utilizo o Delphi 7 e o Embarcadero XE6.
No futuro, gostaria de utilizar o BeagleBone Black para realizar essa comunicação.
Mas por enquanto, prefiro ficar com o mais fácil e rápido.

Obrigado.

André.
Editado pela última vez por vibrexbr2014 em 07 Jul 2014 22:40, em um total de 1 vez.
vibrexbr2014
Bit
 
Mensagens: 10
Registrado em: 03 Jul 2014 19:54

Re: GPIB + DELPHI

Mensagempor vtrx » 07 Jul 2014 22:37

Posta um link para baixar.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: GPIB + DELPHI

Mensagempor vibrexbr2014 » 07 Jul 2014 22:44

vibrexbr2014
Bit
 
Mensagens: 10
Registrado em: 03 Jul 2014 19:54

Re: GPIB + DELPHI

Mensagempor vtrx » 07 Jul 2014 23:16

Esta dando um erro na DLL,pode estar corrompida.
Como voce esta iniciando,pegue o projeto (Delphi7) e tente achar uma DLL que funcione,é só colocar na pasta do projeto.
Me parece que a DLL(visa32)esta como 64 bits,só testei no XP 32 porque estou butado nele...
www.4shared.com/rar/dlLbtNKRce/visa.html
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: GPIB + DELPHI

Mensagempor vibrexbr2014 » 09 Jul 2014 13:06

Boa tarde.

Meu windows 7 é 64 bits.
Mas posso tentar instalar numa maquina virtual 32 bits.
Você poderia me explicar ou indicar onde posso saber mais do funcionamento das DLL?
Como saberei quais comandos essas DLL incorporam? Acredito que elas são como Library do Arduíno, não são?
Preciso muito fazer isso funcionar, pois não quero utilizar o Labview para fazer pequenas aplicações, onde o Delphi faz com facilidade o mesmo trabalho e ainda gera o executável para rodar em qualquer máquina sem grandes transtornos.
O que seria necessário para continuar o trabalho?

Obrigado.
vibrexbr2014
Bit
 
Mensagens: 10
Registrado em: 03 Jul 2014 19:54

Re: GPIB + DELPHI

Mensagempor acostafeny » 22 Nov 2014 01:39

Olá vibrexbr2014,

Você poderia ser mais exato, talvez possa ajudar se entender melhor, por exemplo:
1) Quais são os equipamentos que vc precisa comunicar/interligar?
2) O que eles devem fazer entre si?
3) Qual Delphi você usa?
Pergunto isso, pois na minha graduação estou trabalhando agora com voltimetro, amperimetro e lockin (todo junto) e também estou sofrendo com este tipo de problema.
Consegui avançar em alugusn pontos, talvez os que já avancei possa te ajudar.

acostafeny
acostafeny
Bit
 
Mensagens: 11
Registrado em: 17 Jul 2008 01:45

Re: GPIB + DELPHI

Mensagempor Renie » 14 Nov 2015 03:03

Ola Carlos,

Acho que voce esta tendo conflito de versoes, creio que seu componente seja para o Delphi 5, se nao conseguir uma versao
compativel nao funca mesmo! Ateh pode nao dar erro de compilacao mas os codigos compilados sao SUPER diferentes!
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil


Voltar para Delphi e Pascal

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x