Модули i-8xxx

  Обмен с модулями 8080, 8090 и 8091

  Обмен с модулем 8024

  Обмен с модулем 8050 в WinPAC

В контроллере I8000 обращение к модулям ввода/вывода I-80xx поддерживается следующими каналами:

   подтипа 2 (см. Подтип 2 ):

   OEM_DI_8, OEM_DO_8 (8DI, 8DO, 8DI+8DO)

   OEM_DI_16, OEM_DO_16 (16DI, 16DO, 16DI+16DO)

   OEM_DI_32, OEM_DO_32 (32DI, 32DO)

   подтипа 1 (см. Подтип 1 ):

   OEM_AI, OEM_AO

Атрибут Канал указывает номер канала в модулях аналогового ввода-вывода, номер слова (0/1) в модуле 32DI и равен 1 для канала OEM_DO_16 для модуля (16DI+16DO).

Атрибут GAIN/REG для модулей аналогового ввода задает диапазон входного сигнала:

   0 – 10 V

   1 – 5 V

   2 – 2.5 V

   3 – 1.25 V

   4 – 20 mA

Для работы с модулями I-87xxx, установленными в основной крейт, используются каналы подтипа 8 (см. Подтип 8 ), настроенные следующим образом:

   Номер порта=0 (всегда);

   Адрес=0 для всех модулей (не важно, на какой адрес был настроен модуль);

   Слот – номер слота в крейте (нумерация начинается с 1);

   Канал – номер канала в модулях аналогового ввода-вывода.

В контроллере WinCon/WinPAC CE / I8000 для поддержки обмена с модулями I-87xxx, установленными в основной крейт, необходимо задать порт COM1 с настройками 115 кбит/с, 8-1-n.

Для работы с модулями I-87xxx, установленными в крейт расширения, используются каналы подтипа 8, настроенные следующим образом:

   Номер порта – номер COM-порта, уменьшенный на 1;

   Адрес – адрес модуля;

   Слот= 0;

   Канал – номер канала в модулях аналогового ввода-вывода.

Для работы со встроенным индикатором контроллера I8000 необходимо создать канал OEM_SysKey (см. Подтип 2 ); это дает возможность просматривать значения каналов при помощи кнопок, расположенных на лицевой панели контроллера. Для работы с диодами L1, L2, L3 лицевой панели контроллера I8000 необходимо создать канал OEM_Led (см. Подтип 2 ). Первые 3 бита этого канала переключают индикаторы L1, L2 и L3.

В контроллере I8000 прерывания и адреса портов должны быть заданы произвольными–ненулевыми. При работе через COM3 по внутреннему RS-485 необходимо установить управление приемопередатчиком RTS.

Для взаимодействия с платой 87040 (32 DI) в ИС нужно создать шаблон 8.7 ( Подтип 8 , DI), задать в нем Канал=2 и привязать к каналу HEX32 типа INPUT.

Для взаимодействия с платой 87041 (32 DO) в ИС нужно создать шаблон 8.108 ( Подтип 8 , DO16), задать в нем Канал=2 и привязать к каналу HEX32 типа OUTPUT.

Обмен с модулями 8080, 8090 и 8091

Для обмена с модулями 8080, 8090 и 8091 используются каналы OEM_Register (имеют также имя WinCon_Register, 1.26 – см. Подтип 1 ), настроенные следующим образом:

   Канал {ia.c[2]} – номер канала (для 8091 – конфигурирование обмена);

   Мультиплексор {ia.c[3]} – слот (для 8091 – номер платы, 1-19);

   GAIN/REG {ia.c[4]} – параметры инициализации (для 8091 – различные параметры в зависимости от ia.c[2]);

   ALT/REG {ia.c[5]} – тип платы (80, 90, 91).

Плата 8080

Атрибут ia.c[4] канала OUTPUT задает параметры инициализации (см. документацию 8080):

   биты 0 и 1 – режим работы платы:

   00 – 0 (Dir/Pulse Counting, 4 канала);

   01 – 1 (Up/Down Counting, 4 канала);

   10 – 2 (Frequency, 8 каналов);

   11 – 3 (Up-counting, 8 каналов);

   биты 2 и 3 – выбор t для режима 2, Frequency:

   00 – AutoTT;

   01 – LowTT;

   10 – HighTT;

   11 – останов канала;

   биты 4 и 5 – зарезервировано;

   бит 6 – 1 – разрешить использование фильтров;

   бит 7 – 0 – неинвертированный сигнал; 1 – инвертированный сигнал.

Каждый канал инициализирует плату.

Атрибут ia.c[2]} задает выполнение следующих функций:

   если ia.c[2] < 16 – INPUT: чтение значения счетчика (int) или частоты (float); OUTPUT: ia.c[4]=0 – сброс счетчика и ia.c[4]=<значение канала> (новый режим);

   другие значения ia.c[2] – чтение/запись (INPUT/OUTPUT) следующих параметров:

   16 – AutoTT (мс);

   17 – AutoVV;

   18 – LowTT (мс);

   19 – LowVV;

   20 – HighTT (мс);

   21 – HighVV;

   22 – установка значений, заданных ia.c[2] = 16...21 (только OUTPUT);

   23 – время фильтра 0 (мкс);

   24 – время фильтра 1 (мкс);

   25 – время фильтра 2 (мкс).

В режиме 0, 1 и 3: если номер канала – 8…16, считывается значение переполнения.

Плата 8090

Атрибут ia.c[4] канала OUTPUT задает параметры обмена (см. документацию 8090):

   биты 0 и 1 – режим работы платы:

   00 – Quadrant Counting;

   01 – CW/CCW Counting;

   10 – Pulse/Direction Counting;

   биты 4, 5 и 6 – если 1, при старте не сбрасывается счетчик соответственно оси X, Y и Z.

Атрибут ia.c[2]} задает выполнение следующих функций (в зависимости от класса канала – HEX16/HEX32, – вызываются соответственно 2- или 4-байтовые функции):

   INPUT:

   1, 2, 3 – чтение значения счетчика соответственно оси X, Y и Z;

   OUTPUT:

   0 – сброс счетчиков всех осей;

   1, 2, 3 – сброс счетчика соответственно оси X, Y и Z.

Плата 8091

Класс канала – HEX16/HEX32.

В зависимости от атрибута ia.c[2], каналы OUTPUT задают параметры инициализации или команды управления (см. документацию 8091):

   0 – реинициализация платы с параметрами, заданными каналами OUTPUT с ia.c[2] = 1...11; count=1 (служебная переменная);

   1 – режим концевых выключателей всех осей (NCmode; 0 – NO; 1 – NC);

   2 – Low_Speed;

   3 – High_Speed;

   4 – направление по X (xdir, 0 – NORMAL_DIR, 1 – REVERSE_DIR);

   5 – направление по Y (ydir);

   6 – DDA_Cycle;

   7 – Acc_Dec;

   8 – режим выходных импульсов X (xmode; 0 – CW_CCW, 1 – PULSE_DIR);

   9 – режим выходных импульсов Y (ymode);

   10 – состояние двигателя по X (xson; 0 – OFF, 1 – ON);

   11 – состояние двигателя по Y (yson);

   12 – если count >= <значение канала>, count=0 и производится останов платы (после этого плата должна быть реинициализирована);

   13 – остановы (в зависимости от значения канала):

   1 – останов оси X;

   2 – останов оси Y;

   3 – останов осей X и Y; очистка буфера команд;

   4 – то же, что и 3 через программу обработки прерываний;

   14 – простые перемещения (в зависимости от значения канала):

   0 – если ia.c[4]==0, останов оси X, 1 – останов оси Y;

   2 – медленное перемещение, останов по выключателю ORG1 (X) или ORG2 (Y); значение бита 0 канала задает направление (0 – CW, 1 – CCW), ia.c[4] задает ось (0 – X, 1 – Y);

   4 – то же, что 2, но перемещение быстрое;

   6 – то же, что 2, но перемещение продолжается до подачи команды останова оси;

   8 – то же, что 6, но перемещение быстрое;

   10 – замедление до Low_Speed, останов – по команде останова оси; ia.c[4] задает ось (0 – X, 1 – Y);

   12 – замедление до 0 и останов; ia.c[4] задает ось (0 – X, 1 – Y);

   15 – медленное перемещение (ia.c[4]=0 – по X; ia.c[4]=1 – по Y; атрибут (0,9) определяет величину и направление перемещения);

   16 – то же, что 15, но перемещение быстрое;

   18 – запись значения атрибута (9, Q) канала в служебную переменную pulseX;

   19 – запись значения атрибута (9, Q) канала в служебную переменную pulseY;

   20 – перемещение по длинной интерполяционной прямой в точку (pulseX, pulseY);

   21 – перемещение по длинной интерполяционной прямой в точку (pulseX, pulseY) с заданием скорости (0-2040, биты 0-10 значения канала) и профилей ускорения/замедления (бит 11 значения канала; 0 – разрешить профили, 1 – запретить); ia.c[4]=1;

   22 – перемещение по интерполяционной окружности с центром в точке (pulseX, pulseY); бит 12 значения канала задает направление (0 – CW (по часовой стрелке), 1 – CCW (против часовой стрелки)); скорость и профили ускорения/замедления задаются так же, как для ia.c[2]=21;. ia.c[4]=1;

   23 – перемещение по интерполяционной дуге в точку (Xcur + pulseX, Ycur+pulseY); направление, скорость и профили ускорения/замедления задаются так же, как для ia.c[2]=22; ia.c[4]=1. Радиус дуги (со знаком) определяется переменной RR:

   если канал 4-байтовый, RR равно значению байтов 2 и 3 атрибута (0,9);

   если канал 2-байтовый, RR равно значению битов 13-15 значения канала;

   24 – перемещение по короткой интерполяционной прямой в точку (pulseX, pulseY).

Для канала INPUT атрибут ia.c[2] задает считываемый параметр:

   0 – count;

   1...11 – параметр, заданный соответствующим каналом OUTPUT;

   13 – проверка остановки осей (бит 0 – X, бит 1 – Y; 0 – остановлена, 1 – не остановлена);

   17 – информация о выключателях и буфере команд (байт 0 – X, байт 1 – Y, расшифровку битов см. в документации 8091);

   18 – pulseX;

   19 – pulseY;

   23 – проверка выполнения команды интерполяционного перемещения (2 – завершена; 1 – не завершена). Если ia.c[4] = 0, в канал записывается 0;

   24 – проверка остановки осей (аналогично ia.c[2] = 13); если обе оси остановлены, перемещение по короткой интерполяционной прямой в точку (pulseX, pulseY).

Обмен с модулем 8024

Эта плата требует инициализации, для чего используется канал 1.33 (WinCon_AO) типа INPUT со следующими параметрами удаленного адреса:

   95, C2 (номер канала) – 0;

   98, C5 (ALT/REG) – 0.

Обмен с модулем 8050 в WinPAC

Для обмена используются каналы 8-/16-/32-разрядного дискретного ввода/вывода для WinCon/WinPAC (см. Подтип 2 ). Для инициализации обмена и задания направления работы битов атрибут Состояние (STATE) должен иметь одно из следующих значений (в скобках указан номер значения в списке):

   I-I-I (1) – все биты – IN;

   I-I-O (2) – биты 0-3 – OUT, биты 4-15 – IN;

   I-O-I (3) – биты 0-7 – OUT, биты 8-15 – IN;

   O-O-I (7) – биты 0-11 – OUT, биты 12-15 – IN;

   O-O-O (8) – все биты – OUT.