Шрифт:
Интервал:
Закладка:
Программа, в которой реализована среда разработки, написана как веб-страница и представляет собой один HTML-файл, в котором содержатся стили CSS, HTML и JavaScript. Это позволило одновременно разработать редактор табличных программ и часть программы контроллера, отвечающую за вывод таблицы на клиентское устройство, так как отображение табличной программы в обоих случаях предполагалось в виде HTML-страницы. Таким образом, открытый текст среды разработки табличных программ может стать неплохим подспорьем в написании среды исполнения табличных программ. Часть такой программы будет содержать ответ в виде HTML-страницы, загружаемой на устройство клиента, с помощью которой браузер в одном из окон сформирует таблицу с заданными параметрами. Готовые настройки стилей и скрипты, применяющиеся в среде разработки, можно использовать при написании среды исполнения табличной программы для выбранного контроллера.
5.3. Среда разработки программ, организованных в виде таблиц[3]
Так как программа, в которой реализована среда разработки, представляет собой HTML-файл, то для редактирования и отладки табличной программы достаточно открыть этот файл в браузере. На рис. 66 показана страница браузера сразу же после открытия файла программы. В верхнем левом углу экрана находятся шесть кнопок управления. Разберем их назначение слева направо.
Рис. 66. Кнопки панели инструментов:
1) кнопка загрузки табличного файла на страницу; 2) кнопка выгрузки (сохранения) таблицы в файл на диске; 3) кнопка проверки таблицы на ошибки; 4) кнопка однократного пересчета таблицы; 5) кнопка сокрытия столбцов таймера; 6) кнопка настроек таблицы
Первая кнопка позволяет загрузить файл с таблицей для редактирования. Пиктограмма на кнопке достаточно стандартная — папка с документами. При нажатии на эту кнопку вызывается окно загрузки файла на страницу редактирования.
Вторая кнопка служит для сохранения таблицы, отображаемой на странице, в файл на диске. Пиктограмма на этой кнопке также стандартна — дискета. Так как браузеры не могут сохранять файлы, как обычные приложения, то для них предусмотрена функция «download». Каждый раз при нажатии на эту кнопку файл будет сохраняться на диске как отдельная копия в папке, предназначенной для загрузки файлов. В операционной системе Windows это папка «Загрузки».
С помощью третьей кнопки производится проверка таблицы на ошибки. Пиктограмма на этой кнопке — измерительный прибор штангенциркуль. При нажатии на нее начинается проверка таблицы на ошибки и несоответствия. Если проверка пройдет успешно, то под кнопками появится надпись об окончании проверки. В случае обнаружения ошибок будет выведено сообщение о первой встретившейся ошибке и ее код.
Нажатие на четвертую кнопку произведет однократный пересчет таблицы и выведет в ячейки результаты вычислений. Проверять работу табличной программы таким способом можно в любой момент после ввода строки, столбца или блока строк. Изменяя состояния входных переменных в столбце «Сост.» и производя пересчет таблицы, можно проверить работу программы или отдельного блока.
Пятая кнопка позволяет скрывать три столбца таймера: «Таймер», «Устан.», «Текущ.», при этом освобождается пространство на экране для вывода дополнительных столбцов. Пиктограмма на этой кнопке представляет собой горизонтальные стрелки с ограничителями. Ситуация, когда нужно скрыть столбцы таймера, возникает при недостаточном разрешении экрана или необходимости просмотра большего количества столбцов одновременно. Повторное нажатие на эту кнопку восстановит обычную ширину столбцов таймера.
Настройку параметров таблицы можно произвести, нажав шестую кнопку. Пиктограмма на этой кнопке — несколько параллельных горизонтальных полосок, напоминающих по виду список. Нажатие на эту кнопку откроет меню настройки параметров таблицы. В первых версиях программы среды разработки устанавливались только диапазоны адресов для битовых и аналоговых переменных.
При наведении указателя на любую из кнопок всплывает текстовая подсказка с описанием назначения кнопки.
Для добавления или удаления строк нужно навести указатель на номер строки и кликнуть по нему два раза, затем в открывшемся списке меню выбрать необходимое действие. Аналогично добавляются и удаляются столбцы. Пример меню добавления строк показан на рис. 67.
Рис. 67. Меню добавления и удаления строк
Ввод текста в поля «Комментарий» и «Адрес» производится обычным способом. Достаточно навести указатель на выбранное поле и кликнуть один раз. Появится курсор, и можно будет производить ввод. Если адрес переменной или операция введены не будут, то строка станет считаться комментарием. Текст комментариев выделяется жирным шрифтом. Благодаря этой функции удобно разделять группы строк на блоки.
В зависимости от значения в поле «Адрес» будет определен список предлагаемых операций. Если адрес соответствует битовой переменной, то в меню будут две операции: «=» и «NOT». Для аналоговой переменной будет доступна одна операция — «=». При пустом поле «Адрес» в списке меню будут все доступные операции (рис. 68).
Рис. 68. Меню выбора операции
Если имеется результат операции в строке и введен адрес выходной переменной в столбце, то можно редактировать активную ячейку на пересечении строки и столбца (рис. 69). В зависимости от типа входной переменной будут предложены варианты активных ячеек. Для битового результата по строке — «&», «R», «S». Для аналогового результата — только «А».
Рис. 69. Меню выбора активной ячейки
Если результат операции в строке битовый, то при необходимости можно установить в строке таймер. Тогда при изменении результата операции в строке активные ячейки строки примут новое состояние в зависимости от типа таймера и времени задержки.
В первой версии программы среды разработки нет эмуляции таймеров. Так как пересчет таблицы производится ручным нажатием на четвертую кнопку, а не автоматически, при этом между пересчетами может пройти достаточно большое время относительно установленного времени таймера, то возможно появление логических ошибок, когда таймер установил значение, а цикл пересчета еще не выполнялся. Для того чтобы не усложнять проверку программы в режиме эмуляции, работа таймеров не производится. Введенные в программу тип таймера и время задержки будут сохранены в табличном файле. Для установки таймера в строке необходимо кликнуть по полю «Таймер» два раза и в открывшемся списке меню выбрать тип таймера, а в поле «Устан.» ввести время задержки в миллисекундах. Пример заполнения поля «Таймер» показан на рис. 70.