DeviceNet. Обмен I/O пакетами

  Настройки в конфигурационном файле для I/O обмена

Настройки в конфигурационном файле для I/O обмена

Конфигурационный файл для I/O обмена называется DeviceNet.ini, он должен быть расположен в корневой директории Trace Mode. Файл состоит из одной или нескольких секций, по количеству каналов шины CAN.

Имя каждой секции – CAN_n, где n – номер канала. Полный список параметров приведен ниже в таблице.

 

Параметр

Описание

OpenConnectionTimeout

Максимальное время ожидания соединения, мс

CloseConnectionTimeout

Максимальное время закрытия соединения, мс

ReadTotalTimeout

Общее время приема ответа, мс

ReadIntervalTimeout

Максимальный интервал между фрагментами, мс

Master_MAC_ID

Идентификатор компьютера – инициатора запросов, 0…63

Baudrate

Скорость обмена - константа, соответствующая перечислению в описании функции CAN_Init() (см. выше)

 

Кроме атрибутов, общих для всех источников/приемников (см. Редакторы источников (приемников) , а также Описание драйверов DeviceNet и Шаблоны каналов обмена ), в редакторе шаблона канала обмена задаются следующие атрибуты:

   Номер CAN-канала – номер канала интерфейса CAN, однобайтное десятичное число;

   MAC-адрес - идентификатор запрашиваемого прибора, однобайтное десятичное число;

   Запрос – тип запроса к прибору, значение выбирается из меню:

   DeviceExchange – канал этого типа инициирует сеанс обмена с контроллером, может быть как Input так и Output;

   ReadBuffSize – размер приемного буфера, в этот буфер приходит ответ от прибора;

   WriteBuffSize – длина посылаемого блока данных;

   ReadValue – каналы этого типа служат для доступа к элементам приемного буфера;

   WriteValue – каналы этого типа служат для доступа к элементам отправляемого буфера;

   Смещение – смещение переменной относительно начала блока. Настройка имеет смысл только для каналов с атрибутом Запрос типа ReadValue и WriteValue;

   Тип данных – тип переменной в блоке, настройка имеет смысл только для каналов с атрибутом Запрос типа ReadValue и WriteValue. Значение выбирается из меню:

   SINT – short integer, однобайтное знаковое целое;

   USINT – unsigned short integer, однобайтное беззнаковое целое;

   INT – integer, знаковое двухбайтное целое;

   UINT(WORD) – unsigned integer, беззнаковое двухбайтное целое;

   DINT – double integer, знаковое 4-байтное целое;

   UDINT(DWORD) – unsigned double integer, беззнаковое 4-байтное целое;

   LINT – long integer, знаковое 8-байтное целое;

   ULINT – unsigned long integer, беззнаковое 8-байтное целое;

   REAL – число с плавающей точкой, float;

   LREAL(double) – число с плавающей точкой двойной точности, double.

Для обмена с прибором необходимо:

   при редактировании проекта:

   создать Output-каналы типов ReadBuffSize и WriteBuffSize;

   создать каналы, адресующиеся к элементам обоих буферов;

   создать канал–инициатор обмена (один);

   при работе МРВ:

   задать размеры буферов для отправки и приема;

   заполнить буфер для отправки, если его длина больше 0;

   обработка канала – инициатора обмена вызовет посылку контроллеру блока данных, прием ответа и запись ответа в буфер приема;

   каналы, связывающие буфер приема с переменными нужных типов, отображают ответ контроллера.