ЯЗЫК ST (STRUCTURED TEXT), РАБОТА С ТИПОМ ДАННЫХ BYTE. СОЗДАНИЕ ВИЗУАЛИЗАЦИИ В ЭКРАНЕ РЕАЛЬНОГО ВРЕМЕНИ (ОПЕРАТОРСКОМ ЭКРАНЕ) UNITY PRO. ПРОВЕРКА ДРУГИХ ФОРМАТОВ С ПОМОЩЬЮ АНИМАЦИОННОЙ ТАБЛИЦЫ
ЛАБОРАТОРНАЯ РАБОТА №2. ЯЗЫК ST (STRUCTURED TEXT), РАБОТА С ТИПОМ ДАННЫХ BYTE. СОЗДАНИЕ ВИЗУАЛИЗАЦИИ В ЭКРАНЕ РЕАЛЬНОГО ВРЕМЕНИ (ОПЕРАТОРСКОМ ЭКРАНЕ) UNITY PRO. ПРОВЕРКА ДРУГИХ ФОРМАТОВ С ПОМОЩЬЮ АНИМАЦИОННОЙ ТАБЛИЦЫ.
Цель лабораторной работы: знакомство с различными конструкциями языка ST, работа с форматом BYTE. Cоздание визуализации в экране реального времени (операторском экране) Unity Pro. Проверка других форматов в среде Unity Pro c помощью анимационной таблицы.
Краткие теоретические сведения
В Unity Pro cуществует следующая классификация типов данных:
1. EDT (Elementary Data Type) -элементарный тип данных, содержащий 15 типов (BOOL, EBOOL, REAL, INT, DINT, TIME, BYTE, WORD, DWORD и т.д.).
2. DDT (Derived Data Type) - пользовательский тип данных, дается разработчиком.
3. IODDT (Input Output Derived Data Types) - пользовательский тип данных, в котором содержатся команды, переменные, сведения об ошибках.
В Unity Pro все переменные должны быть объвлены в следующем виде:
- должно быть присвоено имя, в названии которого пишется в качестве первого символа буква, а максимальная длинна имени 32 символа.
- присваивается категория;
- выбирается тип данных.
Рассмотрим структуру элементарных переменных EDT:
- шкала - количество бит, которые занимает переменная в памяти;
- формат записи в памяти;
- префикс - визуальное представление переменной в Unity Pro.
Cуществует два типа переменных:
- локализованные с адресами;
- нелокализованные без адресации.
При работе с симулятором ПЛК большинство переменных будет не локализованных. Рассмотрим тип данных BYTE (байт). Формат байт содержит 8 бит информации. В таблице 2.1 представлены основные формы представления формата BYTE.
Наименование |
Начальное значение |
Конечное значение |
Шестнадцатеричная система счисления. |
16#0 |
16#FF |
Восьмеричная система счисления. |
8#0 |
8#377 |
Двоичная система счисления. |
2#0 |
2#11111111 |
Задача №1 Необходимо проверить формат данных BYTE. Сделать визуализацию фрагмента программы в операторском экране, чтобы при нажатии кнопки, загоралась нужная позиция формата, а цифровое значение позиции отображалось на экране.
Решение:
Запускаем программу Unity Pro L и создаем новый проект. Выбираем оптимальный вариант для нашей задачи процессорный модуль BMX P34 2020. После того как создали проект, заходим в раздел конфигурации и открываем виртуальный контроллер, для работы виртуального контроллера создаем дискретный модуль ввода/вывода DDM 3202K
В новом проекте, создали переменную example_byte типа BYTE. Результат выполнения показан на рисунке 1
Рисунок 1 Таблица переменных типа EBOOL и BYTE
В разделе Section создаем новую секцию и прописываем код программы
Рисунок 2 Написание кода программы
Далее создаем операторский экран в рабочем поле создадим 8 цветных индикаторов пронумерованных от 0 до 7 (добавляя текстовый символ над каждым объектом) и анимацию к соответствующим 8 битам значения переменной example_byte пример результата моделирования показано на рисунке 3. Также создаем поле ввода example_byte указав пределы 0-255.
Рисунок 3 Операторский экран с 8 цветными индикаторами
Каждой позиции в операторском экране присваивается обращение к отдельному биту типа BYTE. Значение бита устанавливается в анимационной таблице с помощью кнопки MODIFICATION. Результат выполнения показано на рисунке 4.
Рисунок 4 Анимационная таблица
На рисунке 5 показано максимальное значение переменной типа BYTE, которое является 255.
Рисунок 5 - Свойство блока Entry Field
На рисунке 6 показано визуализация задачи в среде Unity Pro.
Рисунок 6 Визуализация задачи по проверке формата BYTE
Как видно из рисунка 6 идет наращивание счетчика, переключение между байтами, следовательно программа написана верно.
Задача №2 Необходимо проверить типы данных раздела EDT (Elementary Data Type) в среде Unity Pro. Для этого необходимо создать переменные, представленные в таблице 2.1.
Таблица 2 - Переменные задачи
№1 |
Название переменной (name) |
Тип переменной (type) |
Комментарий (comment) |
1 |
number_dint |
DINT |
Целочисленный тип данных |
2 |
number_real |
REAL |
Вещественный тип данных |
3 |
text |
STRING |
Строковый тип данных |
4 |
text_word |
WORD |
Тип данных "СЛОВО" |
На рисунке 7 представлена таблица переменных в среде Unity Pro.
Рисунок 7 - Таблица переменных в разделе Elementary Variables
Далее в свойствах Unity Pro необходимо посмотреть маску типов данных и какие значения могут принимать переменные в различных форматах:
- DECIMAL - десятичный формат представления данных;
- HEXADECIMAL- шестнадцатеричный формат представления данных;
- BINARY - двоичный формат представления данных;
- ASCII (American standard code for information interchange);
В свойствах переменной определите значение размера, который занимает переменная текущего формата в памяти. В таблице переменных можно устанавливать различные значения переменных в разделе VALUE и смотреть изменения с помощью анимационной таблицы. Подобным образом необходимо проверить все 15 существующих типов данных EDT. На рисунке 8 представлен пример исследования типов данных EDT.
Рисунок 8 - Пример исследования переменных различных типов данных в анимационной таблице Unity Pro
ВЫВОД
В ходе данной работы произвели знакомство с различными конструкциями языка ST, работа с форматом BYTE, создание визуализации в экране реального времени битов одного байта в операторском экране в экране реального времени (операторском экране) Unity Pro. Проверка других форматов в среде Unity Pro c помощью анимационной таблицы.
ЯЗЫК ST (STRUCTURED TEXT), РАБОТА С ТИПОМ ДАННЫХ BYTE. СОЗДАНИЕ ВИЗУАЛИЗАЦИИ В ЭКРАНЕ РЕАЛЬНОГО ВРЕМЕНИ (ОПЕРАТОРСКОМ ЭКРАНЕ) UNITY PRO. ПРОВЕРКА ДРУГИХ ФОРМАТОВ С ПОМОЩЬЮ АНИМАЦИОННОЙ ТАБЛИЦЫ