
19.12.2009, 15:08
|
 |
Местный
|
|
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
|
|
Полистал ТО.
Откуда Вы взяли $307 ?
Или я не то руководство скачал, или читайте первую часть.
Там сказано:
Цитата:
1. Включить аналоговое питание. Сделать задержку 100-200 мс.
2. Включить режим записи.
3. Установить номер программируемого канала (номер бан-
ка) и число точек в периоде.
4. Произвести запись информации в банк данных путем
последовательной записи 16-ти разрядных данных.
5. Если необходимо использовать другие каналы (банки
данных), повторить П.3 и П.4
6. Установить номер программируемого канала нулевым (если
режим чтения должен начаться с нулевого канала) или дру-
гим, если этот канал должен обновлятся первым - сделать
программирование номера канала необходимо для сброса
счетчика адреса ОЗУ).
8. Включить режим чтения ОЗУ.
|
И приведен пример на турбопаскале для ISO
Т.е. делается примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
// очищаем
ibcClearControllerList();
ibcClearInterfaceList();
OpenInterf := ibcOpenInterface(0, 115200, 0); // открываем интерфейс
memo1.Lines.Add('OpenInterf := ' + IntToStr(OpenInterf)); // проверим подключение
OpenContr := ibcOpenController(OpenInterf, $1, $300, $30F); // открчваем контроллер
memo1.Lines.Add('OpenContr := ' + IntToStr(OpenContr)); // проверим подключение
ibcControl(true); // включаем шину
sleep(200); // задержка
Vkluc := ibcWritePort($301, $01); // подаем питание и включаем запись
sleep(200); // задержка
Vkluc := ibcWritePort($303, $10); // выбираем адр. канала и кол-во точек в периоде
Vkluc := ibcWritePortW($304, $0000); // запись в ОЗУ
Vkluc := ibcWritePortW($304, $1000); // запись в ОЗУ
Vkluc := ibcWritePortW($304, $2000); // запись в ОЗУ
Vkluc := ibcWritePortW($304, $3000); // запись в ОЗУ
Vkluc := ibcWritePortW($304, $4000); // запись в ОЗУ
Vkluc := ibcWritePortW($304, $5000); // запись в ОЗУ
Vkluc := ibcWritePort($301, $01); // включаем запись
Vkluc := ibcWritePort($303, $10); // выбираем адр. канала и кол-во точек в периоде
Vkluc := ibcWritePort($301, $03); // включаем чтение
// отключаем шину
ibcControl(false); // это не обязательно сдесь
end;
После каждой строчки можете написать лог
типа
Код:
if Vkluc then
memo1.Lines.Add('...')
else
memo1.Lines.Add('...');
Сообщите что из этого получилось - мне проверить негде
|