3.3. Устройства ввода-вывода. Драйверы

3.3.1. Аналоговый ввод/вывод
3.3.2. Дискретный ввод/вывод

Из постановки задачи ясно, что в нашей системе не обойтись без устройств аналогового и дискретного ввода/вывода. S3-IDE поддерживает достаточно много специализированных плат, список поддерживаемого оборудования постоянно пополняется. Допустим, необходимое оборудование выбрано, задача состоит в том, чтобы наша система работала с ним. Начнем с аналоговых устройств.

3.3.1. Аналоговый ввод/вывод

Добавление в систему нового устройства производится добавлением драйвера этого устройства к QNX-контроллеру. Будем использовать плату аналогового ввода PCI-1713 и плату аналогового вывода PCI-1720.

Добавим соответствующие драйверы в контроллер QNXMaster:

Рисунок 3.12. Меню Добавить драйвер

Меню Добавить драйвер


Должно получиться следующее:

Рисунок 3.13. Контроллер с аналоговыми платами

Контроллер с аналоговыми платами


Свойства драйверов плат вызываются двойным щелчком на плате или через контекстное меню. Они достаточно подробно описаны в справке S3.

Рисунок 3.14. Диалог Свойства драйвера PCI-1713

Диалог Свойства драйвера PCI-1713


Теперь привяжем переменные к соответствующим каналам. Откроем таблицу входных каналов драйвера PCI-1713 (один драйвер может содержать как входные, так и выходные каналы, в нашем только AI - аналоговые входы) двойным щелчком на элементе AI:

Рисунок 3.15. Таблица входов PCI-1713

Таблица входов PCI-1713


Дважды щелкнув на поле Переменная нужного канала, можно ввести имя переменной или выбрать ее из списка, нажав на появившуюся кнопку:

Рисунок 3.16. Привязка переменной к каналу платы

Привязка переменной к каналу платы


Рисунок 3.17. Диалог Выбор переменной

Диалог Выбор переменной


Обратите внимание на автоматически созданные группы переменных с именами соответствующих драйверов - в них S3-IDE помещает переменные, привязанные к каналам драйверов.

Переменную можно привязать к каналу драйвера и через окно свойств переменной:

Рисунок 3.18. Привязка переменной к каналу через диалог Свойства

Привязка переменной к каналу через диалог Свойства


Ту же процедуру проделаем для платы аналогового вывода.

3.3.2. Дискретный ввод/вывод

Добавим в проект плату PCL-730. Как видите, она содержит как дискретные входы, так и дискретные выходы. Процедура привязки переменной к каналу драйвера та же, что и для аналоговых переменных.