Последние записи
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
15th
Июл
Работа с платой ввода/вывода PCI-1762
Posted by Chas under Пост-обзор
Буду очень признателен тем, кто сможет доступно (для начинающего, поневоле, горе-программиста) подсказать по работе с платой ввода/вывода фирмы Aavantech PCI-1762
Задача, которая стоит передо мной: научиться принимать и передавать данные при помощи PCI-1762 при помощи Delphi
В комплект поставки с платой входят примеры на Delphi, но к сожалению большинство изложенное в них не понятно.
raxp
как насчет открыть руководство пользователя и мануал на плату дискретного ввода-вывода >> 1 2 << и пройтись пошагово ?
http://support.advantech.com.tw/Support/DownloadSearchByProduct.aspx?keyword=PCI-1762
Тестовый примерчик <Port_rw> из официального SDK самое оно. Убедитесь, что Advantech Device Manager вы уже установили, так как к проекту статически линкуется <adsapi32.dll>
// открываем и читаем
procedure Tfrmstart.cmdRunClick(Sender: TObject);
var
I, Code: Integer;
begin
ErrCde := DRV_DeviceOpen(dwDeviceNum, DeviceHandle);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
{ Get text from TEdit control }
Val('$' + txtIOAddr.Text, gwPort, Code);
FormRun.frmRun.Show;
end;
// первичная инициализация и перечисление
procedure Tfrmstart.FormCreate(Sender: TObject);
var
MaxEntries, OutEntries : Smallint;
NumOfDevice : Smallint;
i, ii : Integer;
tempStr : String;
testRes : boolean;
begin
gwPort := $300;
bRun := False;
{ Here MaxEntries = OutEntries }
ErrCde := DRV_DeviceGetNumOfList(MaxEntries);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
{ Add type of PC Laboratory Card }
ErrCde := DRV_DeviceGetList(DeviceList[0], MaxEntries, OutEntries);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
For i := 0 To (MaxEntries - 1) do
begin
tempStr := '';
For ii := 0 To MaxDevNameLen do
tempStr := tempStr + DeviceList.szDeviceName[ii];
lstDevice.Items.Add(tempStr);
end;
labIOAddr.Enabled := False;
txtIOAddr.Enabled := False;
cmdRun.Enabled := False;
end;
// выбираем
procedure Tfrmstart.lstDeviceClick(Sender: TObject);
var
tempNum, i, ii : Integer;
nOutEntries : Smallint;
TestRes : Boolean;
TempStr : String;
begin
tempNum := Pos('DEMO', lstDevice.Items[lstDevice.ItemIndex]);
if (tempNum <> 0) then
TestRes := True
else
TestRes := False;
{ Avoid to open Advantech Demo Card }
If (TestRes) Then
begin
labIOAddr.Enabled := False;
txtIOAddr.Enabled := False;
cmdRun.Enabled := False;
end;
If (Not TestRes) Then
begin
{ Check if there is any device attached on this COM or CAN }
dwDeviceNum := DeviceList[lstDevice.ItemIndex].dwDeviceNum;
txtIOAddr.Text := '300';
labIOAddr.Enabled := True;
txtIOAddr.Enabled := True;
cmdRun.Enabled := True;
end;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)