Просмотр полной версии : Простейший пример, Delphi, owen_io.dll
Уважаемые разработчики. Только начал изучать вопрос получения данных с ОВЕН, но что-то не хватает смекалки. Кто может поделиться любой простейшей программкой по получении данных через owen_io.dll в Delphi, а то, как не возьмусь, не может выполнить функцию в динамической библиотеке
Возможно, я где-то кардинально ошибаюсь, но вот так:
МВ110.224-4ТД, установленный конфигуратор его видит. Компорт11
Код Delphi
implementation
function SetupPort(n,speed,parity,bits,stop,converter:DWORD ):integer;stdcall external 'owen_io.dll';
function GetExtendedLastErr(): Integer;stdcall external 'owen_io.dll';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if SetupPort(10,9600,0,8,1,0)<0 then showmessage(inttostr(GetExtendedLastErr()));
end;
ОпенПорт и Сетап выдают ошибку -2, похоже это эквивалентно отрицательному значению ошибки 1, то есть устройство не найдено, хотя это мое предположение
В любом случае, выходит, библиотека работает, но не контактирует с устройством
Может кто подсказать, в какую сторону копать?
KichkoSV
26.06.2015, 10:08
const
// speed
spd_2400 = 0;
spd_4800 = 1;
spd_9600 = 2;
spd_14400 = 3;
spd_19200 = 4;
spd_28800 = 5;
spd_38800 = 6;
spd_57600 = 7;
spd_115200 = 8;
// parity
prty_NONE = 0;
prty_EVEN = 1;
prty_ODD = 2;
// data bits
databits_7 = 0;
databits_8 = 1;
// stop bit
stopbit_1 = 0;
stopbit_2 = 2;
// Тип преобразователя интерфейса
RS485CONV_MANUAL = 0;
RS485CONV_AUTO = 1;
RS485CONV_MANUAL_DTR = 2;
таким образом имеем следующий вызов
if OpenPort( 10, spd_9600, prty_NONE, databits_8, stopbit_1, RS485CONV_AUTO ) <> 0 then begin
// обработка ошибки
end else begin
// успешное открытие порта
end;
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot