Написание программ

Продолжая разработку проекта принятым способом, создадим шаблоны программ, реализующие управляющие функции – поддержания температуры и розлива продукта, а также вспомогательные, предназначенные для работы с дискретными сигналами. В левом окне навигатора проекта ЛК выберем слой Шаблоны_программ, по щелчку ПК создадим компонент Программа#1:

Выделив созданный компонент ЛК, изменим его имя на Управление#1, так как данная программа будет создана для загрузки в PC-based контроллер с целью поддержания заданной температуры в аппарате на участке термообработки.

Двойным щелчком ЛК на компоненте Управление#1 откроем окно редактора шаблонов программ и, выделив ЛК пункт Аргументы, перейдем в табличный редактор аргументов. Создадим аргументы для данного шаблона программы исходя из ТЗ на разработку ПДД-регулятора с управлением исполнительным механизмом методом широтно-импульсной модуляции (ШИМ).

После определения входных и выходных аргументов приступим непосредственно к разработке программы. Для этого выделим ЛК имя созданного шаблона программы и в появившемся диалоге выбора языка программирования укажем FBD диаграмму.

В открывшемся окне редактора программ выберем ЛК иконку  для доступа к библиотекам функциональных блоков, далее выбирая ЛК необходимые блоки, перетаскиваем их в рабочее поле редактора, группируем, определяем внутренние связи между входами и выходами блоков,  назначаем привязки к аргументам. Готовая программа выглядит следующим образом:

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

В нашем случае данное окно содержит сообщение об успешном окончании процесса компиляции:

Для процесса дозирования продукта создадим программу Розлив#2, задав для нее следующие аргументы:

Кроме того, определим одну глобальную переменную для накопления в ней величины объема отпускаемого продукта:

Для разработки программы воспользуемся языком Техно ST, для чего в окне выбора языка программирования укажем ST программа.

Текст программы может выглядеть следующим образом:

Откомпилируем программу для включения в проект нажатием F7.

Для работы с входными и выходными дискретными сигналами разработаем на Техно FBD программы Распаковка#3 распаковки получаемого от контроллера PLC байта данных и Упаковка#4 упаковки битов управления для PC-based контроллера в байт. Следует отметить, что на практике прибегать к созданию программ для упаковки битов/распаковке байтов обычно не требуется, поскольку каналы класса HEX16 имеют в своем составе  атрибуты Бит1, Бит2Бит16, обеспечивающие доступ к отдельным своим битам. Однако для целостности изложения выбранного способа проектирования – "от шаблонов" воспользуемся все-таки указанным выше методом. Итак, для шаблона программы Распаковка#3 аргументы зададим как:

Программа будет выглядеть как:

Соответственно для шаблона программы Упаковка#4 аргументы и программа будут следующими:

и

Компиляцию производим по нажатию функциональной клавиши F7.

Сохраним выполненную работу, нажав ЛК  . После того как графическая часть АРМ и математическое обеспечение для PC-based контроллера выполнены, необходимо приступить к созданию узлов проекта и сформировать их базы каналов.