Category Archives: Примеры

Подключение ОВЕН ПЛК к Lectus OPC через GSM-модем (часть 2)

Проект LectusOPC

Для работы LectusOPC используя модемное соединение, необходимо:

1) Подключить второй модем к компьютеру с установленным Lectus OPC, через специальный кабель или используя преобразователь интерфейса (например: ОВЕН АС3-М, АС4).

2) Запустить LectusOPC, удалить ранее созданные узлы, после чего сохранить проект под новым именем — тем самым создать новый проект.

3) Добавить к текущим данным новый Modbus-узел (Рис.1).

Рис.1

 

4) В появившемся окне задать параметры modbus-узла (Рис.2). Lectus будет опрашивать прибор по адресу 1 с периодом 3 минуты. Подробное описание параметров смотрите в справке LectusOPC.

 

Рис.2

5) Не закрывая окно «Добавить узел», нажать на кнопку «Настройка..», где указать COM-порт, к которому присоединён модем, а так же телефонный номер SIM-карты, установленной в другой модем (модем, подключенный к ПЛК). (Рис.3).

 

Рис.3

6) После добавления узла, необходимо задать настройки используемого COM-порта. Для этого в меню «Настройка» главного окна программы выбрать «COM порт» или нажать соответствующую пиктограмму на панели, появиться окно настройки. Для заводских настроек модема ПМ01, настройки порта представлены на Рис.4.

 

Рис.4

7) Добавить переменные в Modbus-узел, для этого нажать правой кнопкой мыши на узел и выбрать пункт меню «Добавить переменную» (Рис.5).

 

Рис.5

8) В появившемся окне задать параметры переменной (Рис.6). Описание параметров смотрите в справке LectusOPC. В данном примере значение переменной контроллера v1 будет считываться в opc-переменную var1, а значение opc-переменной var2 будет записываться в v2 ПЛК.

 

Рис.6

9) Настроить дополнительные параметры опроса. Вкладка «Настройка» главного окна программы «Параметры» (Рис.7).

 

Рис.7

10) После создания узла и добавления в него переменных сохраните проект и запустите LectusOPC, нажав на кнопку «Запустить опрос». Перейдите на вкладку «Лог», где можно отследить звонок и обмен посылками Modbus (Рис.8).

 

Рис.8

Описание лога: После запуска клиента Lectus звонит на удаленный модем, удачелнный модем поднимает трубку, после чего устанавливается связь, о чем свидетельствует — «Сonnect 9600». Затем Lectus посылает запрос по 03 modbus-функции (чтение регистров) для переменной v1 и получает ответ от ПЛК. Через полминуты Lectus отключается (параметр «Время простоя до разъединения» см. Рис 3.7).

11)Вернитесь на вкладку «Состояние», там появился узел, где будут отображены значения переданных переменных из модуля (Рис.9).

 

Рис.9

12) Записать значение в ПЛК. Выделить переменную var2 и нажать на пиктограмму кнопки Записи или через контекстное меню. Качество переменной var2 – неопределенно, потому что данная переменная работает только на запись в ПЛК. После нажатия появиться окно «Записать значение», где введите новое значение переменной (Рис.10).

 

Рис.10

13) Теперь перейдите на вкладку «Лог», там вы увидите результат произведенных вами действий. Lectus OPC после инициализации Записи (в данном случае в самом OPC) организует внеочередной обмен данными (не соответствующий периоду опроса переменной или узла), в рамках которого и записывает заданное значение (Modbus-функция 10, значение – 05) (Рис.11).

 

Рис.22

На этом организация передачи текущих данных из ОВЕН ПЛК в Lectus OPC через модемное соединение закончена. Теперь они доступны для любого OPC-клиента (например, SCADA системы).

Подключение ОВЕН ПЛК к Lectus OPC через GSM-модем (часть 1)

Данный пример реализован на ОВЕН ПЛК100R-L. CSD-соединение обеспечивают gsm-модемы ОВЕН ПМ01. Протокол обмена данными Modbus ASCII ПЛК – Slave, ПК с Lectus OPC – Master.

Для организации обмена данными необходимо создать проекты ОВЕН ПЛК и Lectus OPC настроенные на работу через CSD-соединение.

Проект ПЛК

Для работы ПЛК через CSD-соединение, необходимо:

1) Создать новый проект в CoDeSyS, указав соответствующий target.

2) На вкладке «Ресурсы» («Resources»), выбрать «Конфигурация ПЛК» («PLC_Configuration»), и добавьте модуль Modbus(slave) к базовой конфигурации (Рис.1.1).

рис.1.1

3) Задать адрес ПЛК в параметрах модуля (Рис.1.2).

Рис.1.2

4) В качестве интерфейса модуля добавить интерфейс «Modem» (Рис.1.3).

Рис.1.3

5) Настроить подмодуль «Modem» на работу в режиме «Ожидания вызова» (Рис.1.4).

Рис.1.4

6) Выбрать интерфейс подключения gsm-модема (Рис.1.5).

Рис.1.5

7) Задать параметры интерфейса в соответствии с настройками модема. В данном примере модем имеет заводские сетевые настройки (Рис.1.6).

Рис.1.6

8) Добавить переменные в проект (Рис.1.7).

Рис.1.7

9) Задать имена переменным, для последующего обращения к ним из программы ПЛК (Рис.1.8).

Рис.1.8

10) Создать программу ПЛК, например (Рис.1.9).

Рис.1.9

На этом создание проекта CoDeSys завершено, сохраните проект и загрузите его в ПЛК.

Подключите модем к ПЛК по выбранному интерфейсу.

 

Организация связи Lectus OPC с прибором ОВЕН через модемное соединение (часть 3).

Проект LectusOPC

Для работы LectusOPC используя модемное соединение, необходимо:

1) Подключить второй модем к компьютеру с установленным Lectus OPC, через специальный кабель или используя преобразователь интерфейса (например: ОВЕН АС3-М, АС4).3

2) Запустить LectusOPC, удалить ранее созданные узлы, после чего сохранить проект под новым именем — тем самым создать новый проект.

3) Добавить к текущим данным новый Modbus-узел (Рис.3.1).

Рис.3.1

4) В появившемся окне задать параметры modbus-узла (Рис.3.2). Lectus будет опрашивать прибор по адресу 16 с периодом 1с. В примере показан постоянный опрос, т.к. период опроса заведомо меньше параметра «Время простоя до разъединения» (Меню «Настройка» главного окна программы-

«Параметры»-«Modbus»-«Телефонное подключение»). Подробное описание параметров смотрите в справке LectusOPC.

Рис.3.2

5) Не закрывая окно «Добавить узел», нажать на кнопку «Настройка..», где указать COM-порт, к которому присоединён модем, а так же телефонный номер SIM-карты, установленной в другой модем (модем, подключенный к модулю). (Рис.3.3).

Рис.3.3

6) После добавления узла, необходимо задать настройки используемого COM-порта. Для этого в меню «Настройка» главного окна программы выбрать «COM порт» или нажать соответствующую пиктограмму на панели, появиться окно настройки. Для заводских настроек модема ПМ01, настройки порта представлены на Рис.3.4.

Рис.3.4

7) Добавить переменные в Modbus-узел, для этого нажать правой кнопкой мыши на узел и выбрать пункт меню «Добавить переменную». В появившемся окне задать параметры переменной (Рис.3.5). Описание параметров смотрите в справке LectusOPC.

Рис.3.5

8) После создания узла и добавления в него переменных сохраните проект и запустите LectusOPC, нажав на кнопку «Запустить опрос». Перейдите на вкладку «Log», где можно отследить звонок и обмен посылками Modbus (Рис.3.6).

Рис.3.6

9) Вернитесь на вкладку «Состояние», там появился узел, где будут отображены значения переданных переменных из модуля (Рис.3.7).

Рис.3.7

В данный проект были добавлены переменные из прибора с адресами регистров 0 – измеренное целочисленное значение с первого входа и 1 – смещение точки для целочисленного значения с первого входа (см. Обмен по Modbus в РЭ прибора МВ110-224.2А).

Отсюда видно, что температура измеренная датчиком на первом входе модуля равна 27,4 градуса.

На этом организация передачи текущих данных из прибора ОВЕН в Lectus OPC через модемное соединение закончена. Теперь они доступны для любого OPC-клиента (например, SCADA системы).

 

Организация связи Lectus OPC с прибором ОВЕН через модемное соединение (часть 2).

Настройка модема, подключаемого к прибору.

Для настройки модема на работу с прибором, не поддерживающим AT-команды, нужно:

1) Подключить модем к компьютеру через специальный кабель или используя преобразователь интерфейса (например: ОВЕН АС3-М, АС4).1

2) Соединиться с ним с помощью программы «HyperTerminal»

Для WindowsXP: ПУСК-Программы-Стандартные-Связь.

3) Создать новое подключение, выбрать COM-порт, к которому непосредственно подключен модем.

4) Настроить порт. Для заводских настроек модема, настройки порта представлены на Рис.2.1.

Рис.2.1

5) В открывшемся окне «HyperTerminal» введите последовательно, получая подтверждения (OK), следующие AT-команды (В заводских настройках

модема отключено эхо, поэтому в «HyperTerminal», работающим с портом напрямую, вы не увидите вводимые команды.):

Команда Описание
AT Признак внимания
ATS0=1 Включить автоподъем трубки
AT&W Записать изменения

6) Если вы ввели все команды правильно с первого раза, то окно Вашего «HyperTerminal» выглядит, как на Рис.2.2.

Рис.2.2

На этом настройка модема, подключаемого к прибору – окончена. Закройте «HyperTerminal» и подключите модем к прибору.

 

Организация связи Lectus OPC с прибором ОВЕН через модемное соединение (часть 1).

Для решения поставленной задачи, необходимо:

  • сконфигурировать модуль;
  • настроить на «автоподъем трубки» модем, подключаемый к модулю;
  • создать проекты Lectus OPC.

Конфигурация модуля

Для настройки Модуля, необходимо:

1) Подключить Модуль к компьютеру и запустить конфигуратор М110.

2) Соединиться с модулем, задав параметры подключения прибора и выбрав соответствующий порт. Если подключение прибора производиться впервые, то нажать кнопку «Заводские сетевые настройки» (Рис.1.1).

Рис.1.1

3) В случае успешного подключения, появиться соответствующее окно (Рис.1.2).

Рис.1.2

4) Изменить сетевые настройки прибора, учитывая настройки модема. Задать протокол обмена — Modbus-ASCII (Рис.1.3).

Рис.1.3

5) Настроить параметры модуля (Рис.1.4).

Рис.1.4

6) Записать изменения в прибор (Рис.1.5)

Рис.1.5

7) Появится окно, в котором необходимо подтвердить изменения настроек конфигуратора (Рис.1.6).

Рис.1.6

На этом создание конфигурации завершено, сохраните её на компьютер.

 

Проект ПЛК для работы с Leptus OPC (часть3)

Чтение данных OPC-клиентом

В качестве OPC-клиента в данном проекте выступает Matrikon OPC Explorer. Данная программа бесплатна и доступна на сайте производителя: http://www.matrikon.com/ .

Для настройки Matrikon OPC Explorer на чтение переменных нужно выполнить последовательно следующие действия:

1) Соединиться с LectusOPC;

 

2) Добавить новую группу для переменных;

 

3) В появившемся окне задать имя группы;

 

4) Добавить к новой группе, переменные;

 

5) В появившемся окне, добавить к новой группе, нужные, переменные Lectus;

 

6) После добавления переменных, зафиксировать изменения;

 

7) Если ПЛК и Lectus настроены согласно данной инструкции и запущены, то в окне подключения вы увидите текущие значения переменных ПЛК.

 

На этом организация передачи текущих данных из ОВЕН ПЛК в Lectus OPC по протоколу Modbus TCP для их последующей передачи OPC-клиенту закончена.

Проект ПЛК для работы с Leptus OPC (часть2)

Проект LectusOPC

Для работы LectusOPC по протоколу Modbus TCP, необходимо:

1) Запустить LectusOPC, удалить ранее созданные узлы, после чего сохранить проект под новым именем — тем самым создать новый проект.

2) Добавить к текущим данным новый Modbus-узел (Рис.2.1).

 

Рис.2.1

3) В появившемся окне задать параметры modbus-узла (Рис.2.2). Описание параметров смотрите в справке LectusOPC.

Рис.2.2

 

4) Не закрывая окно «Добавить узел», нажать на кнопку «Настройка..», где указать IP-адрес ПЛК.2 (Рис.2.3).

 

Рис.2.3

5) После добавления узла, добавить переменные в Modbus-узел (Рис.2.4).

 

Рис.2.4

6) В появившемся окне задать параметры переменной (Рис.2.5). Описание параметров смотрите в справке LectusOPC.

 

Рис.2.5

7) После создания узла и добавления в него переменных сохраните проект и запустите LectusOPC, нажав на кнопку «Запустить опрос». Появится узел, где будут отображены значения переданных из контроллера переменных (Рис.2.6).

 

Рис.2.6

Впоследствии, именно к этому узлу можно будет подключиться OPC-клиентом (например, SCADA-системой).

 

Проект ПЛК для работы с Leptus OPC (часть1)


Для работы ПЛК по протоколу Modbus TCP, необходимо:

1) Создать новый проект в CoDeSyS, указав соответствующий target.

2) На вкладке «Ресурсы» («Resources»), выбрать «Конфигурация ПЛК» («PLC_Configuration»), и добавьте модуль Modbus(slave) к базовой конфигурации (Рис.1.1).

Рис.1.1


3) В качестве интерфейса модуля добавить интерфейс «TCP» (Рис.1.2).

Рис.1.2


4) Добавить переменные, значения которых будут передаваться по «TCP»(Рис.1.3).

Рис.1.3


5) Задать имя переменным, для последующего обращения к ним из программы ПЛК (Рис.1.4).

Рис.1.4


6) Создать программу ПЛК, например (Рис.1.5).

Рис.1.5


7)Определить IP-адрес ПЛК 1. Для этого зайти на вкладку «Ресурсы» и выбрать «PLC_Browser», затем в открывшемся окне ввести команду «PLCInfo» (Рис.1.6).

Рис.1.6


На этом создание проекта CoDeSys завершено, сохраните проект и загрузите его в ПЛК.

 

Периодический опрос нескольких удаленных объектов Диспетчерским пунктом и отработкой аварии

Описание:

Существует несколько удаленных объектов диспетчеризации и диспетчерский пункт (ДП). ДП с заданным периодом времени, поочередно, опрашивает все объекты, по беспроводному каналу. По причине последовательного беспроводного опроса большого количества удаленных объектов с большим количеством параметров, возникает следующая ситуация:

При возникновении аварийной ситуации на объекте диспетчер узнает об этом спустя время, т.е  только в момент следующего обращения к данному объекту.

Особенность:

  • Инициатором связи в данном примере, помимо ДП, может выступать Объект, поэтому, наличие на нём ОВЕН ПЛК обязательно!
  • К объекту подключен один модем (настроенный на Автоподъем)

Связь:

Беспроводное CSD соединение по средствам GSM-связи.

Протокол передачи данных — Modbus ASCII

Объект:

Представляет собой ПЛК100R-L, к которому по интерфейсу RS-485 подключен GSM-модем ОВЕН ПМ01.

ДП:

Представляет собой Персональный компьютер. Для организации связи через CSD-соединение на ПК установлен Modbus OPC/DDE сервер «Lectus».

Данный OPC поддерживает работу с модемом, и позволяет работать, как в режиме Master, так и в режиме Slave.

Для передачи данных, в рамках поставленной задачи, к двум COM-портам ПК подключены два GSM-модема ОВЕН ПМ01: основной для опроса объектов и резервный для отработки от них аварийных сообщений.

Принцип организации связи:

Нормальный режим Отработка аварии
ПК (ДП) – MasterПЛК(объект) – Slave ПК (ДП) – SlaveПЛК (объект) – Master

Через основной модем OPC сервер опрашивает удаленные ПЛК с заданным периодом. После срабатывания аварии (в данном примере – замыкание  входа1) ПЛК, через тот  же самый модем, начинает дозваниваться на аварийный модем ДП ( О том, как сконфигурировать ПЛК и Модем для одновременной работы в режиме «ожидания вызова» и «дозвона», будет рассказано ниже). После дозвона на ДП, ПЛК обменивается необходимыми данными с Lectus, заданное в параметрах модуля «Modem» ПЛК время.

Для организации подобного обмена нужно:

1)     Настроить Modbus OPC/DDE сервер «Lectus»

2)     Сконфигурировать ПЛК

Настройка Modbus OPC/DDE сервер

  1. Перед настройкой OPC, необходимо подключить 2 модема к разным COM-портам компьютера. В данном примере это COM4 для основного и COM1 для аварийного модема.
  2. После подключения порты в OPC необходимо настроить в соответствии с настройками модема (Настройка/COM порт). Для заводских настроек модема ОВЕН ПМ01:

  1. Создать и настроить 2 Modbus узла: Первый как Master, его подключение настраивается в главном окне создания узла, второй как Slave.

Master

Slave


Подключение Slave настраивается в окне открывающимся по нажатию кнопки «Параметры».

В настройках подключения для Master, кроме используемого для этого соединения порта (к которому подключен соответствующий модем) необходимо указать телефонный номер сим-карты, вставленной в модем на опрашиваемом данным узлом объекте. В параметре начальная фаза для разных объектов, желательно указать разную фазу.

  1. Добавить в узлы необходимые переменные и если необходимо подузлы.

Для внеочередного опроса переменных и подузлов текущего узла по команде, а не только по периоду, необходимо в узел добавить переменную POLL. (См. справку Modbus OPC/DDE сервера).

Конфигурирование ПЛК

Особенность конфигурирования ПЛК состоит в следующем:

Порт, к которому подключен модем, опрашивается в ПЛК и в режиме Master и в режиме Slave. Только в случае Slave ПЛК работает с ним, как с обычным портом, а в режиме Master полноценно через встроенный модуль интерфейса Modem.

В случае опроса ПЛК, модем, при входящем звонке, снимает трубку сам и данные через него поступают в порт ПЛК, как по сквозному проводному интерфейсу.

В случае же аварии, ПЛК сам посылает команду дозвона на аварийный модем сервера.

Такое решение обусловлено невозможностью привязки двух модулей Modem к одному порту.

Последовательность действий:

  1. Настроить модем на режим автоподъем трубки.

а) Для прошивок ПЛК выше 2.11.0 это можно сделать, предварительно подключив модем к ПК через Hiper Terminal Windows.

Введя команды:

ATS0=1 Включить автоподъем трубки при входящем звонке
AT&W Записать изменения в модем

б) Для прошивок ПЛК 2.10.5-2.11.0 это делается ТОЛЬКО путем добавления в ПЛК файла строки инициализации extconf.cfg с командой ATS0=1 (есть в архиве с проектом).

  1. Подключить модем к ПЛК
  2. Создать соответствующую конфигурацию ПЛК

 

Подключение МК 110 по протоколу ModBus

Для определения параметров устройства МК 110 необходимо настроить его конфигурацию. С этой целью подключите модуль МК 110 к компьютеру, используя преобразователь интерфейсов (например, АС3-М или АС4). Установите на компьютере программу-конфигуратор прибора МК110, следуя инструкции по эксплуатации.

Произведите конфигурирование прибора. Настройте параметры входных и выходных сигналов и проверьте корректность работы прибора.

Запустите CoDeSys, создайте новый проект или откройте существующий. Зайдите на вкладку Ресурсы и выберите пункт Конфигурация ПЛК (рис. 1).

Рисунок 1 Конфигурация ПЛК

В открывшемся слева окне конфигурации ПЛК правой кнопкой «мыши» нажмите верхнюю надпись. Например, при использовании ПЛК100-24.К-М этой надписью будет PLC 100 К. В открывшемся контекстном меню выберите пункт Добавить Подэлемент, а в появившемся новом контекстном меню – пункт ModBus (Master).

Рисунок 2 Добавление подэлемента ModBus Master

Таким образом, вы добавляете в конфигурацию модуль обмена данными по протоколу ModBus. Для опроса модулей и других устройств по сети с помощью данного протокола контроллер должен быть ведущим прибором, то есть мастером сети, что отражено в названии добавленного модуля ModBus (Master) (Рис.3).

Рисунок 3 Параметры добавленного модуля ModBus Master

Заметим, что модуль расширения МК 110 общаются с ПЛК по интерфейсу RS485. Поэтому в параметрах подэлемента ModBus Master заменим значение параметра используемого интерфейса Debug RS-232[Slot] на RS – 485.

 

 

Рисунок 4 Замена параметра интерфейса связи подэлемента ModBus Master

Разверните пункт ModBus (Master), нажав левой кнопкой «мыши» на значке «+». Выделите пункт RS-485 [SLOT] , как это показано на рис.5. Затем зайдите на вкладку Параметры Модуля, расположенную в верхней части правого окна на экране. На рис.7 представлены рекомендуемые значения параметров обмена по сети, которые вам необходимо установить. Выберите нужные значения из списков, выпадающих при нажатии на кнопки .

Рисунок 5 Значения параметров сети модуля МВ 110 по протоколу ModBus

Для того, чтобы самостоятельно настроить список и формат получаемых с МК 110 данных, нажмите правой кнопкой мыши на пункте ModBus (Master), в появившемся контекстном меню выберите пункт Добавить Подэлемент, а затем модуль Universal Modbus device (рис. 6).

Рисунок 6 Добавление модуля Universal Modbus device

Выделите появившийся модуль Universal Modbus device [VAR], затем откройте окно его свойств, выбрав вкладку Параметры Модуля (рис.7). Первые три пункта можно оставить без изменений, т.к. они описывают параметры связи по Ethernet, в то время как ПЛК связывается с МК110 и другими модулями расширения ОВЕН по интерфейсу RS485. Необходимо выставить в параметре NetMode значение Serial, а также задать адрес МК110 в пункте ModuleSlaveAddress.  Например, адрес 16. Остальные параметры можно оставить в том виде, в каком они представлены на рис. 7

Рисунок 7 Параметры модуля Universal Modbus device

Теперь необходимо добавить в модуль те переменные (регистры), которые вы планируете опрашивать по сети и которыми предполагаете управлять. Список адресов регистров МК 110 приведен в руководстве по эксплуатации на этот прибор (стр. 48-53).

Получим битовую маску входов прибора, счетчик импульсов для входа и управляющий ШИМ – сигналом выход. Для этого добавим подэлементы 8 bit input module (маска входов), register input module (счетчик), register output module (управление ШИМ).

Рисунок 8 Добавление переменных

Теперь в дереве PLC configuration появилось три новых элемента. Для настройки выделите первый из них и откройте вкладку Параметры Модуля (рис. 10). Параметру Register Address необходимо присвоить адрес регистра, в котором хранятся значения битовой маски входов МК110. Адрес этого регистра для первого входа МК110 равен 51 (более подробно способ адресации данных изложен в руководствах на модуль МК110 с. 48-51). В строке Command необходимо выбрать команду 0х04 в соответствии с рис. 9. Аналогичным образом настройте элемент register input module [VAR]. В параметре Register Address укажите адрес регистра 65[1] для опроса второго канала счетчика МК 110.

Для подэлемента register output module [VAR] в параметре Register Address укажите адрес регистра 00[2] для управления первым каналом ШИМ — сигнала МК 110. Параметры настроек блоков приведены на рис.  9 – 11

Рисунок 9 Параметры настройки регистра подэлемента 8 bit input module

Рисунок 10 Параметры настройки регистра подэлемента register input module

Рисунок 11 Параметры настройки регистра подэлемента register output module

Работа с Universal Modbus device удобна в случае, когда вам нет необходимости собирать с модуля всю доступную информацию. Выбирая вручную количество и тип опрашиваемых переменных, удается уменьшить информационную нагрузку сети RS485 и размеры занятой памяти ввода/вывода ПЛК.

Рисунок 12 Задание скважности ШИМ - сигнала и опрос значений битовой маски и счетчиков при запуске программы

При запуске программы на ПЛК, информация о входных сигналах будет отображаться в режиме реального времени в строке, определяющей переменную. Скважность в протоколе Modbus может быть задана в режиме реального времени в диапазоне 0 — 1000.


[1] Для опроса входных счетчиков  приборов типа МК 110-4(8)ДН.4Р   используются регистры 64 – 67 (1-4 входы соответственно)

 

[2] Для управления выходными ШИМ – сигналами приборов типа МК 110-4(8)ДН.4Р   используются регистры 00 – 03 (1-4 выходы соответственно)