Запускаем OPC сервер CDS V2.3

Сегодня мы шаг за шагом учимся обмениваться данными через OPC сервер. Хотя, казалось бы, тема уже была достаточно обсуждена.
Но вопросы по OPC продолжают появляться. Затронем тему и в этом разделе.

Итак, нам понадобится установленный CoDeSys, желательно последней версии, и какой-нибудь OPC-клиент. В примере я воспользовался Matrikon OPC Explorer скаченный вот тут (71МБ): http://www.matrikonopc.com/portal/downloads/product_software/MatrikonOPCExplorer.exe

Создаем программу на ST с целевой платформой 3S CoDeSys SP PLCWinNT V2.4 и обращаем внимание на параметр вкладки General настройки целевой платформы Download symbol file. Этот параметр должен быть установлен (рис. 1).

img1_5.jpg
Рис. 1

Помните нашу первую программу x:=x+1? Теперь нам придется написать программу в три раза сложнее, и будет она выглядеть так:
x:=x+1;
y:=y+1;
z:=z+1;

Тип переменных зададим INT.

Обязательно сохраните проект под осмысленным именем в отдельную папку.

Запускаем PLCWinNT (Пуск -> Все программы -> 3S Software->CoDeSys SP PLCWinNT -> CoDeSys SP PLCWinNT V2.4) и видим окошечко, сообщающее нам, что лицензии мы на эту штуку не купили, и работает она в демо режиме. Демо режим имеет только одно ограничение от неДемо режима – время работы 2 часа. Через 2 часа этот СофтПЛК перестанет работать, что в свою очередь лечится его перезапуском. В остальном никаких отличий.

После запуска этого СофтПЛК настраиваем с ним связь обычным методом, как было описано тут сразу за рисунком 5: http://forum-ru.codesys.com/viewtopic.php?t=840. Вместо IP адреса вводим слово localhost.
Для уверенности в правильной связи с СофтПЛК запускаем проект. И если связь настроена правильно, произойдет загрузка программы, и в окошке PLCWinNT (которое, наверняка, спряталось под активными окнами и не имеет своей проекции на панели задач - в этом случае сверните все окна win+M) отобразится информация о проекте (рис. 2).

img2_5.jpg
Рис. 2

Убедившись в устойчивой связи, отключаемся в CoDeSys от СофтПЛК ( online-> logout или Ctrl+F)
Переходим в Опции (Options) в меню Project. Выбираем Symbol Configuration и устанавливаем галочку Dump symbol entries (рис. 3).

img3_5.jpg
Рис. 3

Затем нажимаем Configure symbol file (рис. 4).

img4_5.jpg
Рис. 4

В этом месте следует учесть, что серый цвет галочки в позиции Export variables of object говорит, что в выделенных объектах, а это сейчас все объекты, есть параметры уже вошедшие в список на передачу в OPC сервер. Если мы хотим передать только конкретные переменные, нам надо все остальные исключить из списка. Для этого в режиме всех выбранных объектов снимаем галочку Export variables of object, затем выбираем нас интересующие параметры , пусть это будут переменные x и z в ветке PLC_PRG. И для этих переменных выставляем галочку Export variables of object. Галочки можно выставлять для каждого объекта, либо для группы выделив переменные с Ctrl, как показано на рис 5.

img5_5.jpg
Рис. 5

Нажимаем OK, пока не попадем в главное окно CoDeSys. Непосредственно что касается среды программирования, мы уже сделали. Теперь нам надо настроить параметры самого OPC сервера.
Для этого запускаем конфигуратор OPC сервера Пуск-> Все программы-> 3S Software -> Communication -> CoDeSys OPC Configurator.

Слева вверху на элементе Server щелкаем правой клавишей мышки и выбираем Append PLC. В появившейся ветке выбираем Connection. Справа появится кнопка Edit. Нажимаем на нее и получаем знакомое окно соединений CoDeSys. Выбираем из списка соединение, настроенное в нашем проекте (Рис 6).

img6_5.jpg
Рис. 6

Нажимаем OK и закрываем конфигуратор, соглашаясь на сохранение настроек.

Все настройки сделаны. Если мы сейчас запустим проект, то ничего хорошего мы не увидим. Причина в том, что при компиляции проекта создаются файлы с параметрами на передачу OPC серверу. Передача параметров серверу происходит при загрузке проекта в контроллер. Изменения параметров символьного файла, грубо говоря, не ведут к изменению проекта. И при очередном подключении к контролеру загрузка проекта вновь производиться не будет (т.к. он был загружен при первом подключении, когда мы проверяли связь), также не будут переданы параметры и OPC серверу. Этот момент следует учитывать и при изменении параметров.

На помощь нам придет команда Clean all из меню Project, затем выполняем команду Rebuild all из того же меню (рис. 7). Выполнив это, мы заставим CoDeSys перекомпилировать и перезагрузить проект при подключении к ПЛК и вместе с этим передать параметры в OPC сервер.

img7_5.jpg
Рис. 7

Все проект работает, OPC сервер обновляет данные с дискретностью, установленной в OPC конфигураторе (мы оставили эту настройку по умолчанию). Чтоб это увидеть, запустим MatrikonOPC Explorer. Эта программа найдет автоматически OPC сервер.
Выбираем CoDeSys OPC сервер, нажимаем Connect. После установки связи кнопка Add Tags становится доступной, нажимаем ее (рис. 8).

img8_5.jpg
Рис. 8

В появившемся окне видим доступные переменные, которые добавим в список (рис. 9).

img9_5.jpg
Рис. 9

В конечном итоге получаем картину, как на рисунке 10.

img10_5.jpg
Рис. 10

Значения переменных отображаются, на этом заключаем – контакт есть.

Добавляя переменные в CoDeSys в список на передачу в OPC, не забываем про загрузку проекта, эти переменные появляются в списках тегов OPC – клиента. Так же не забываем, что при добавлении новых переменных в меню Project -> Options старые переменные сохраняют свои значения, если им принудительно не снять соответствующую галочку.

Список переменных, передаваемых в OPC, также можно увидеть в файле, одноименном с проектом с расширением .sym. Этот файл образуется в каталоге, где был сохранен проект.

Обсуждение на форуме