Продолжая разработку проекта принятым способом, создадим шаблоны программ, реализующие управляющие функции – поддержания температуры и розлива продукта, а также вспомогательные, предназначенные для работы с дискретными сигналами. В левом окне навигатора проекта ЛК выберем слой Шаблоны_программ, по щелчку ПК создадим компонент Программа#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 контроллера выполнены, необходимо приступить к созданию узлов проекта и сформировать их базы каналов.