Создание программы опроса модуля в СПК 207
Программа СПК 207 создается в программном обеспечении CoDeSys версии 3.4. С порядком программирования СПК 207 можно ознакомиться в документе «СПК 207. Руководство по эксплуатации».
Создадим новый проект выбором команды Пуск | Программы | 3S CoDeSys | CoDeSys.3.4 запустить CoDeSys. Откроется главное окно программы (см. рисунок 3).
Выбором команды File | New Project или нажатием кнопки «New Project» () панели инструментов главного окна CoDeSys – открыть окно создания нового проекта «New Project».
В окне создания нового проекта «New Project» – в поле «Name» задать наименование нового проекта и выбрать размещение файла проекта (в поле «Location»; выбор папки производится в стандартном окне выбора каталога «Обзор папок», открывающемся при нажатии кнопки с тремя точками, расположенной у правого края поля). В этом же окне, в поле «Categories» – указать категорию нового проекта («General»), в поле «Templates» – указать шаблон нового проекта («Standard Project»). Нажать кнопку «OK» окна. Окно «New Project» закроется, откроется окно задания характеристик проекта «Standart Project».
В окне задания характеристик проекта «Standard Project» (см. рисунок 4) в поле «Device» – выбрать требуемый целевой файл, в рассматриваемом случае – «OWEN SPC2xx.03.tw (Owen)». Целевой файл должен быть предварительно инсталлирован в CoDeSys. В поле «PLC_PRG in:» необходимо выбрать требуемый язык программирования (в данном случае – Continuous Function Chart, CFC).
Для принятия выбранных настроек нажать кнопку «OK» окна. Окно «Standard Project» закроется, откроется главное окно CoDeSys с деревом нового проекта, отображающимся в левой части окна.
В главном окно CoDeSys с деревом нового проекта необходимо добавить в проект библиотеки функциональных блоков «ModulsOwenLib» (файл «ModulsOwenLib.library») и ModBus (файл «ModBus.library»). Результат операции представлен на рисунке 5.
Из добавленной библиотеки «ModulsOwenLib» в программу включаются 2 функциональных блока: блок «МVA8_inputs» для опроса модуля, а также блок «ComConn» для открытия COM-порта. Для включения требуемого функционального блока в текст программы необходимо выделить в дереве проекта строку PLC_PRG, перейти на вкладку «PLC_PRG» и добавить в текст программы модуль типа «Box» (см. рисунок 6, а, б). После этого – выделить строку «???» в изображении блока (см. рисунок 6, в). Справа от строки активируется белая кнопка. По нажатию этой кнопки открывается окно «Input Assistant» (см. рисунок 7).
Рисунок 6. Добавление функционального блока в проект
В окне «Input Assistant» (см. рисунок 7) следует выделить требуемый блок, и нажать кнопку «OK» окна (операция проводится индивидуально для каждого блока).
Результат выбора блока «ComConn» отображен на рисунке 8.
Для использования в программе блокам необходимо присвоить имена и задать переменные блока в области определения переменных программы. Для этого следует выделить строчку «???» (наименование блока), задать наименование блока (например, «CON») и нажать клавишу «Enter». Откроется окно определения переменных «Auto Declare» (см. рисунок 9). В этом окне, не производя изменений, следует нажать кнопку «OK». Окно «Auto Declare» закроется, а в области определения переменных отобразится применяемый блок (см. рисунок 10).
Для использования в программе модуля МВА8 используется блок MVA8_INPUTS, отображающие входы модуля. Его добавление в программу и определение его переменных производится аналогично блоку ComConn.
Инициализация функционирования порта производится однократно, соответственно, блок должен вызываться в программе один раз.
Структура блока «ComConn» приведена на рисунке 10.
Входы блока «ComConn»( значения по умолчанию выделены подчеркиванием[1]):
«Enable» – разрешение работы (TRUE, FALSE);
«PortNum» – номер порта на ПЛК[2];
«PortBaudrate» – скорость (2400, 4800, 9600, 19200, 38400, 57600, 115200);
«PortParity» – четность (0 – нет, 1 – нечет, 2 – чет; значение по умолчанию – 0);
«PortStopBits» – число стоп-бит (1 – 1 бит, 2 – 1,5 бита, 3 – 2 бита);
«PortByteSize» – размер посылки (8 бит, 11 бит).
«Port_Mode» — выбор режима работы порта СПК (2- RS-485; 0 – RS-232);
«Port_ModeOn» — включение функции открытия порта (TRUE, FALSE)
«Port_CloseOn» — включение функции закрытия порта (TRUE, FALSE)
Выходы блока «ComConn»:
«Handle» – идентификатор открытого порта (если распознается ошибка — порт занят- то на выход подается сигнал «FFFFFFFF»);
«Done» – флаг завершения операции;
«ErrCode» – код ошибки.
Структура блока MVA8_INPUTS приведена на рис.11.
Входы блока «MVA8_INPUTS» (значения по умолчанию выделены подчеркиванием):
«Handle» – идентификатор порта;
«Enable» – разрешение работы (TRUE, FALSE);
«Modd» — режим работы ModBus (MB_RTU, MB_ASCII);
«Addr» — адрес прибора в сети (0-127, по умолчанию 16);
«TimeOut» — таймаут при опросе по сети (по умолчанию 100мс);
«ErCl» — число перезапусков (по умолчанию 3);
Выходы блока «MVA8_INPUTS»:
«inp1-8» — состояние входов 1-8;
«inpExcSCode1-8» – код исключительной ситуации 1-8 канала;
«wErrCode» — код ошибки;
«Done» — флаг завершения операции.
Создадим программу опроса входов модуля МВА8 с периодом опроса входов в 5 секунд.
В программу для этого следует добавить таймером ТР (генератор импульса заданной продолжительности) и несколькими логическими операторами. Вид готовой программы опроса приведен на рисунке 12.
Кадр запущенной программы представлен на рис.13
[1] Если сетевые параметры прибора совпадают со значениями по умолчанию, то на соответствующие входы сигналы можно не подавать.
[2] По умолчанию порт№1 – debug, порт№2 – com1 и т.д.