Добрый день! Подскажите пожалуйста, использую ТРМ202 и преобразователь АС4, Пишу на делфи, при попытке подключится появляется к порту появляется ошибка "Не удалось открыть порт (функция!)', 'Ошибка!', MB_OK". Через конфигуратор работает все отлично. Может быть где то нужно указывать адрес устройства? Если у когог то есть примеры реализации на делфи, скиньте gj;fkeqcnf на почту szimogorov@yandex.ru В качестве примера взял код с этой темы

Код:
unit Unit1;

interface

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

const
// Определения четности (Без)
        prty_NONE:integer=0;
// Определения количества Бит данных
        databits_8:integer=1;
// Определения количества стоп Бит
        stopbit_1:integer=0;
// Вид конвертора RS485 (Автоматический конвертор)
        RS485CONV_AUTO:integer=1;


type
TProcOpenPort=function (n,speed,part,bits,stop,vid:DWORD):integer;stdcall;
TProcSetupPort=function (n,speed,part,bits,stop,vid:DWORD):integer;stdcall;
TProcClosePort=function :integer;stdcall;
TProcSetApiMode=function (n:DWORD):integer;stdcall;
TProcReadIEEE32=function (adr,adr_type:DWORD;command:pchar;var value:single;var time:integer;index:integer):integer;stdcall;
    TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Form1: TForm1;
hLibInst:cardinal;
func_avail:boolean;
OpenPort:TProcOpenPort;
SetupPort:TProcSetupPort;
ClosePort:TProcClosePort;
ReadIEEE32:TProcReadIEEE32;
SetApiMode:TProcSetApiMode;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 hLibInst:=LoadLibrary('owen_io.dll');
 if(hLibInst<>0)
   then
    begin
     func_avail:=true;
     OpenPort:=GetProcAddress(hLibInst,'OpenPort');
     if(not Assigned(OpenPort)) then
       begin
        func_avail:=false;
        exit;
       end;
     ClosePort:=GetProcAddress(hLibInst,'ClosePort');
     if(not Assigned(ClosePort)) then
       begin
        func_avail:=false;
        exit;
       end;
     SetupPort:=GetProcAddress(hLibInst,'SetupPort');
     if(not Assigned(SetupPort)) then
       begin
        func_avail:=false;
        exit;
       end;
     ReadIEEE32:=GetProcAddress(hLibInst,'ReadIEEE32');
     if(not Assigned(ReadIEEE32)) then
       begin
        func_avail:=false;
        exit;
       end;
     SetApiMode:=GetProcAddress(hLibInst,'SetApiMode');
     if(not Assigned(SetApiMode)) then
       begin
        func_avail:=false;
        exit;
       end;
      end
 else
  func_avail:=false;
end;

// ОТКРЫВАЕМ COM-ПОРТ #1
procedure TForm1.Button1Click(Sender: TObject);
var
 op_succ:integer;
begin
 if func_avail then
   begin
     SetApiMode(1);
     op_succ:=OpenPort(0,2,0,databits_8,stopbit_1,RS485CONV_AUTO);
     if (op_succ<>0) then
       Application.MessageBox('Не удалось открыть порт', 'Ошибка!', MB_OK)
     else
       begin
        SetupPort(0,2,0,databits_8,stopbit_1,RS485CONV_AUTO);
       end;
    end
 else
      Application.MessageBox('Не удалось открыть порт (функция!)', 'Ошибка!', MB_OK);
end;

// ЗАКРЫВАЕМ COM-ПОРТ #1
procedure TForm1.Button2Click(Sender: TObject);
var
 cp_succ:integer;
begin
 if func_avail then
   begin
   cp_succ:=ClosePort();
    if (cp_succ<>0) then
      Application.MessageBox('Не удалось закрыть порт', 'Ошибка!', MB_OK);
   end
 else
      Application.MessageBox('Не удалось закрыть порт (функция!)', 'Ошибка!', MB_OK);
end;

// ПО ИДЕЕ ЧИАТЕМ С ПЕРВОГО ВХОДА ТРМ251
procedure TForm1.Button3Click(Sender: TObject);
var
 iee:integer;
 val:single;
 tm:integer;
begin
  iee:=ReadIEEE32(16,0,'rEAd',val,tm,-1);
  Edit1.Text:=FloatToStr(val);
  Edit2.Text:=IntToStr(iee);
  end;


end.