- •Методичні вказівки
- •Вивчення роботи системи camac
- •Сигнали загального керування
- •2.1.2.Манiпулятори
- •2.1.3. Оптичні індикатори
- •2.1.4.Зовнiшнi розніми
- •Хід роботи
- •Програми для ручного керування крейтом camac
- •Пiд керуванням програми “ручний контролер”
- •3.Будова та принцип дії
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота №3 вивчення роботи системи самас - пеом пiд керуванням найпростiших програм користувача
- •Бібліотека brocamac процедур та функцій для роботи з крейт - контролером pc - самас мовою Turbo Pascal
- •Опис процедур та функцій
- •Процедура CamBase
- •Процедура CamCrate
- •Процедура Cam
- •Процедура Cam0
- •Процедура Cam024
- •Процедура CamCi
- •Функція CamI
- •Функція CamI24
- •Функція CamL
- •Функція CamQ
- •Функція CamX
- •Процедура CamStep
- •Процедура СamNStep
- •Хід роботи
- •Контрольні завдання
- •Команди самас
- •Призначення елементів на передній панелі
- •Хід роботи
- •Лабораторна робота №5 вивчення роботи цифро-аналогових перетворювачiв
- •Основнi технiчнi параметри
- •Команди самас
- •Сигнали стану
- •Сигнали загального керування
- •Цифро-аналового перетворювача 2цап10
- •Хід роботи
- •Кулинич Анатолій Григорович
Опис процедур та функцій
При описі процедур та функцій використовуються слідуючи позначення:
А - субадреса САМАС;
В - базовий номер порту крейт-контролера;
С - номер активного крейта;
D - дані САМАС;
F - функціїї САМАС;
N - номер станції CАМАC.
Процедура CamBase
Дія: Змінює базовий номер порту крейт-контролера.
Декларація: CamBase(B:byte);
Примітки:
Базовий номер порту крейт-контролера за умовчанням - $3А, що відповідаєє діапазону адрес $3AO...$3AF в адресному просторі вводу-виводу IBM PC. Вибрана базова адреса не повинна бути зайнята іншими пристроями IBM PC, і повинна бути однозначна відповідність між адресою, яка задається в цій процедурі, та встановленою на адресних перемикачах інтерфейсної карти контролера.
Наприклад:
CamBase($10); {Встановити для регістрів контролера}
{діапазон адрес $100...$10F}
Процедура CamCrate
Дія: Змінює номер активного крейта.
Декларація: CamCrate(C:byte);
Примітки:
До одної інтерфейсної карти може бути підключено до 4 крейтів. Звернення буде проводитись до активного в даний момент крейта. За умовчанням, якщо даною процедурою не вибрано друге значення, - активний крейт1. Значення параметра С повинно бути в діапазоні 1...4.
Наприклад:
CamCrate(3); {Встановити активним крейт 3}.
Процедура Cam
Дія: Виконує на магістралі САМАС команду керування.
Декларація: Cam(N, A, F: byte);
Примітки:
Хоча процедура призначена для виконання команд керування (F8:11, дані не використовуються), її можна використовувати і для виконання команд запису або читання, але при цьому записуються дані, які збереглися в регістрах контролера від попередньої операції, а дані, що зчитуються, ігноруються.
Наприклад:
var
SubAddr,Func:byte;
сonst
ADC=16;
begin
For SubAddr: =0 to 15 do For Func : =0 to 32 do
begin
Write(’Субадрес ’, SubAddr:2,’. функція’, Func);
Cam(ADC , SubAddr , Func);
If CamX then Writeln( ’. X=1 ’)
else Writeln( ’ . X=0 ’)
end;
end.
В цьому прикладі для модуля ADC, що встановлено в крейті на станції з номером 16, скануються всі субадреси та функціїї та перевіряється значення відгуку Х.
Процедура Cam0
Дія: Виконує на магістралі САМАС команду запису САМАС з 16-розрядними даними.
Декларація: Cam0(N,A,F:byte; D:word);
Наприклад:
Cam0(1,0,16,$FFFF);
Записує за командою F(16) всі одиниці в 16-розрядний регістр з субадресою 0 в модулі, що встановлений на станцiї 1.
Процедура Cam024
Дія: Виконує на магістралі САМАС команду запису з 24-розрядними даними.
Декларація: Cam024(N,A,F:byte; D:LongInt);
Примітки:
Старший байт 32-розрядних даних не використовується.
Наприклад:
Cam024(1,0,16,$FFFFFF);
Записує за командою F(16) всі одиниці в 16-розрядний регістр з субадресою 0 в модулі, що встановлений на станції 1.
Процедура CamCi
Дія: Записує байт в порт керування контролера.
Декларація: CamCI(I:byte);
Примітки:
Значення окремих бітів порту керування:
¦ x ¦ AX4 ¦ AX3 ¦ AX2 ¦ AX1 ¦ I ¦ C ¦ Z ¦
Значення, що найчастіше вживаються: I, C, Z оголошені в модулі BROCAMAC, більш докладніше призначення бітів порту керування описано в документації на крейт-контролер.
Наприклад:
СamCI(C+Z);
Викликає виконання операцій С та Z на магістралі САМАС.
