Обмен с контроллерами OMRON по сети Ethernet по протоколу UDP

  Файл omron_ip_addr_tab

  Типы областей памяти

  Протоколирование событий

Для обмена с контроллерами OMRON по сети Ethernet по протоколу UDP (этот протокол входит в состав протоколов TCP/IP) необходимо установить драйвер OMRON IP. Также необходимо соответствующим образом настроить все контроллеры OMRON, подключенные к сети (сетям). Настройка контроллеров включает в себя настройку таблиц ввода/вывода (IO Table), установку номеров узлов (Node Address) и номеров модулей (Unit Number), настройку IP адресов, настройку таблиц маршрутизации. Компьютер, на котором будет работать TRACE MODE, должен иметь выделенный статический IP адрес, т.к. этот адрес должен быть записан в таблицы IP адресов всех контроллеров. За подробными инструкциями по установке и настройке контроллеров и сетей OMRON следует обращаться к документации OMRON.

Обмен с контроллерами происходит путем посылки и приема FINS-сообщений. (FINS – Factory Interface Network Service – протокол обмена сообщениями, поддерживаемый большинством контроллеров и сетей OMRON). Это позволяет обмениваться данными не только с контроллерами, подключенными к сети Ethernet, но и с контроллерами в других сетях OMRON (Controller Link, SYSMAC Link, SYSMAC Net). Для осуществления такого обмена необходимо, чтобы контроллер, подключенный к Ethernet, был также подключен и к другой сети OMRON (например, Controller Link). Такой контроллер будет выполнять функции маршрутизатора для FINS-сообщений, давая возможность обмениваться данными с контроллерами в сети Controller Link (SYSMAC Link, SYSMAC Net).

При экспорте в папке узла создается файл omron_ip_addr_tab, необходимый для корректной работы драйвера (см. ниже Файл omron_ip_addr_tab).

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

  

 

Атрибут

Длина, байт

Диапазон

Функция

Номер устройства

1

1-255

Индекс в таблице адресов, таблица адресов находится в текстовом файле omron_ip_addr_tab. Файл читается при загрузке драйвера.

Тип области

1

выбор из списка

Определяет область памяти для чтения/записи регистра.

Смещение

2

0 – 65535

Смещение от начала области памяти

IP-адрес

 

 

Адрес контроллера в сети OMRON (см. ниже Файл omron_ip_addr_tab)

 

Все числа в таблице – десятичные.

Каналу выставляется признак аппаратной недостоверности в следующих случаях:

   канал настроен на устройство, номер которого отсутствует в файле omron_ip_addr_tab на момент загрузки драйвера;

   задан неверный адрес регистра или была попытка записи в регистр только для чтения;

   в течение секунды не пришел ответ от контроллера.

Файл omron_ip_addr_tab

Назначение файла omron_ip_addr_tab – установить в соответствие каждому значению настройки Номер устройства (которая используется внутри TRACE MODE) реальный адрес модуля OMRON в сети Ethernet.

Файл состоит из двух или более строк вида:

1 1.12.10 192.168.2.78:9600

Каждая такая строка устанавливает в соответствие одному значению настройки Номер устройства адрес модуля контроллера в сети. Для каждого модуля, с которым планируется осуществлять обмен данными, должна быть своя строка. Также обязательно должна присутствовать строка, определяющая адрес самого компьютера в сети OMRON. С точки зрения контроллеров, компьютер с TRACE MODE является контроллером с одним модулем, поэтому он должен иметь свой адрес.

Все строки, начинающиеся с ’;’ игнорируются. Все строки неправильного формата также игнорируются.

Первое число каждой строки – идентификатор модуля (Номер устройства в диапазоне [0, 255]), установленного в контроллер. По этому числу модуль идентифицируется в ТRACE МODE. Далее через пробел или символ табуляции (’\t’) записывается адрес модуля в сети OMRON. Первая часть адреса – адрес сети (0 для локальной сети, т.е. той, в которую входит сетевая плата). Вторая часть – адрес узла (контроллера). Третья часть – номер модуля (этот номер должен соответствовать номеру, заданному для данного модуля аппаратно). Диапазоны всех частей адреса определяются типом сети (сетей) (см. документацию OMRON).

Далее следует IP-адрес контроллера OMRON в сети Ethernet. Номер порта должен совпадать с номером порта для обмена FINS-сообщениями, записанным в настройках контроллера (по умолчанию 9600). IP-адрес – это адрес контроллера, который подключен к Ethernet. Целевой адрес контроллера (вторая часть строки) может быть адресом другого контроллера, не подключенного к Ethernet, но подключенного к первому контроллеру через одну из сетей OMRON (SYSMAC NET, SYSMAC LINK, Controller Link). Таким образом, контроллер, подключенный к сети Ethernet, будет шлюзом в другие сети. Для правильного функционирования такой схемы все контроллеры должны быть соответствующим образом настроены (см. документацию OMRON).

В файле обязательно должна присутствовать строка для Номер устройства = 0. Эта строка определяет адрес драйвера в сети. IP-адрес в этой строке должен совпадать с IP-адресом компьютера или должен быть 0.0.0.0. Адрес 0.0.0.0 означает автоматический выбор адреса компьютера. Если в компьютере более одной платы Ethernet с протоколом TCP/IP, то будет выбран адрес одной из таких плат (произвольной). Если требуется осуществлять коммуникации через конкретную плату, то нужно явно задать ее адрес. Для компьютеров с несколькими сетевыми платами использовать автоматический выбор адреса не рекомендуется. Порт должен быть тот же, что и в настройках контроллера (по умолчанию 9600). Адрес компьютера в сети OMRON (тот, что состоит из трех чисел) необходимо выбирать в соответствии с таблицей IP адресов, загруженной в контроллеры.

Типы областей памяти

 

Название области

Название в списке

Код области (Memory area code) (HEX)

Начальный адрес (HEX, не для пользователей)

Замечания

0

CIO

CIO

80

0000

2 байта

1

CIO(forced status)

CIO_frc

85

0000

2 байта – каждый бит определяет статус (forced/not forced) соответствующего бита из области CIO

бит = 0 – не форсирован (not forced)

бит = 1 – форсирован (forced)

2

TR

TR

80

09FF

младшие 8 бит – состояние регистров TR0-TR7,

offset всегда должен быть 0

3

G

G

80

0A00

2 байта

4

G(forced status)

G_frc

85

0A00

2 байта – каждый бит определяет статус (forced/not forced) соответствующего бита из области G

бит = 0 – не форсирован (not forced)

бит = 1 – форсирован (forced)

5

A

A

80

0B00

2 байта

6

TIM(completion flag status)

TIM_cmpl

01

0000

1 бит

значение канала = 0 – бит сброшен

значение канала = 1 – бит установлен

7

TIM(PV)

TIM_PV

81

0000

2 байта – значение таймера

8

CNT(completion flag status)

CNT_cmpl

01

0800

1 бит

значение канала = 0 – бит сброшен

значение канала = 1 – бит установлен

9

CNT(PV)

CNT_PV

81

0800

2 байта – значение счетчика

10

DM

DM

82

0000

2 байта – значение слова

11

TN(flag status)

TN_fs

03

0000

1 бит

значение канала = 0 – флаг сброшен

значение канала = 1 – флаг установлен

12

ST(flag status)

ST_fs

04

0000

1 бит

значение канала = 0 – флаг сброшен

значение канала = 1 – флаг установлен

13

IR

IR

9C

0000

2 байта

14

DR

DR

9C

0003

2 байта

15

LR

LR

80

03E8

2 байта

16

HR

HR

80

0428

2 байта

17

AR

AR

80

048C

2 байта

18

Expansion DM bank 0

EDM0

90

0000

2 байта

19

Expansion DM bank 1

EDM1

91

0000

2 байта

20

Expansion DM bank 2

EDM2

92

0000

2 байта

21

Expansion DM bank 3

EDM3

93

0000

2 байта

22

Expansion DM bank 4

EDM4

94

0000

2 байта

23

Expansion DM bank 5

EDM5

95

0000

2 байта

24

Expansion DM bank 6

EDM6

96

0000

2 байта

25

Expansion DM bank 7

EDM7

97

0000

2 байта

26

Expansion DM current bank

EDM

98

0000

2 байта

27

AC(flag status)

AC

1B

0000

1 бит

значение канала = 0 – флаг сброшен

значение канала = 1 – флаг установлен

 

Примечание.

В контроллерах C-серии области TIM и СNT – это одна область, а в контроллерах CV-серии это две разные области, поэтому для обращения к области CNT контроллера C-серии нужно использовать тип области TIM.

Протоколирование событий

Драйвер поддерживает возможность протоколирования событий. При включенном протоколировании его работа существенно замедляется, поэтому протоколирование следует использовать исключительно в отладочных целях. Для включения протоколирования в каталоге проекта следует создать файл _logger следующего содержания:

;===============начало файла==========

;====================================

;0-все сообщения

;1-только предупреждения и ошибки

;2-только ошибки

level=0

;====================================

;максимальный размер файла протокола

;в MB

max_size=2

;====================================

;вкл/выкл протоколирование

enabled=true

;===============конец файла==========

Строки, начинающиеся с ";" являются комментариями.

Если такой файл существует, то в том же каталоге будут создаваться два файла: omron_t12_ip.log и media_ip.log. В зависимости от параметра level, в них будет содержаться информация о работе драйвера. Эта информация может быть полезна для анализа неполадок в работе проекта.