📚 Hub Books: Онлайн-чтение книгРазная литератураТабличный ПЛК.Табличное программирование контроллеров - Владимир Васильевич Стретенцев

Табличный ПЛК.Табличное программирование контроллеров - Владимир Васильевич Стретенцев

Шрифт:

-
+

Интервал:

-
+
1 ... 11 12 13 14 15 16 17 18 19 20
Перейти на страницу:
отразится на главной странице, где будет указана страница, являющаяся источником данных о сбое.

4.9. Модули-прототипы и их клоны

Одинаковые или почти одинаковые часто повторяющиеся блоки программ и наборы блоков можно сохранять как отдельные модули и использовать в дальнейшем. Для того чтобы использовать в программе проверенные и отлаженные блоки, нужно сначала сохранить табличную программу на странице как модуль-прототип, затем загрузить прототип на отдельную страницу и подключить его, изменив при необходимости адреса переменных. После сохранения модуля-клона в файл с новым именем данная копия становится самостоятельной и при необходимости может быть изменена. Например, для управления грузоподъемной техникой используются два джойстика с двумя степенями свободы каждый. Для обработки сигналов с джойстиков в таком случае потребуется четыре одинаковых табличных модуля, которые можно вынести в четыре дополнительные таблицы на отдельных страницах. Так как сигналы от джойстиков будут иметь свои, отличные друг от друга адреса, а выходные переменные будут управлять разными преобразователями частоты, то программы в таблицах будут независимы друг от друга.

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

Программа обработки сигнала с аналогового джойстика, адаптированная для сохранения в качестве модуля-прототипа, показана на рис. 65. В первых восьми строках с помощью переменных определяются входные значения, необходимые для вычисления скорости и сигналов пуска влево и вправо. Далее идут четыре программных блока, аналогичные представленным в программе на рис. 63. Только теперь внутри этих блоков вместо адресов переменных введены указатели на значения переменных, прописанных в первых восьми строках.

Рис. 65. Модульный вариант программы управления частотным приводом с помощью аналогового джойстика

Для того чтобы использовать этот прототип для обработки сигнала с другого джойстика или с датчика другой степени свободы этого же джойстика, нужно загрузить данную таблицу на новую страницу, затем изменить адрес переменной в строке 2 в соответствии со схемой подключения аналогового сигнала, а в строках 3, 4, 6, 7 установить адреса переменных, в которых сохраняются данные, необходимые для обработки этого аналогового сигнала. Сохранив данную страницу, мы получаем программный модуль как клон прототипа.

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

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

5. Простая табличная среда разработки

5.1. Общие требования к среде разработки

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

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

Во-вторых, однократный пересчет таблицы может быть произведен в любой момент написания программы, по желанию программиста. Написание табличной программы может идти одновременно с отладкой и тестированием в режиме эмуляции. Подставляя входные данные и запуская однократный проход таблицы, можно получать промежуточные результаты и в случае их несовпадения с ожидаемыми значениями корректировать алгоритм.

В-третьих, среда разработки должна автоматически контролировать нарушение правил написания табличных программ. Одно из ограничений — присвоение выходной переменной значения в разных местах. Чтобы не порождать ошибки, связанные с циклическим пересчетом таблицы, когда выходная переменная по мере пересчета таблицы может принимать разные значения в разных столбцах, присвоение переменной результата операции по столбцу должно происходить однократно. А при многостраничном программировании недопустимо применение указателей на результаты в строках разных страниц. Также недопустимо присвоение битовой переменной аналогового значения или аналоговой переменной — битового.

Конечно, приветствуются различные сервисные функции и удобства, если их применение не усложнит обучение табличному программированию и не поднимет квалификационный порог для того, чтобы начать программировать. Желательно, чтобы среда разработки табличных программ была простой и интуитивно понятной.

5.2. Почему используется браузер?

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

Взаимодействие контроллера с установленной на нем средой исполнения табличной программы с клиентским устройством производится при помощи протокола передачи гипертекста HTTP. На контроллере запускается серверная часть задачи отображения состояния табличной программы,

1 ... 11 12 13 14 15 16 17 18 19 20
Перейти на страницу:

Комментарии

Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!

Никто еще не прокомментировал. Хотите быть первым, кто выскажется?