Графические и табличные выборки. Пример создания графиков

Модераторы: kiv, 8bit, VanMo

Графические и табличные выборки. Пример создания графиков

Сообщение Ilya » 31 авг 2012, 16:46

Так как использование объектов графических/табличных выборок несколько отличается от простых объектов - давайте рассмотрим его создание.
Источником данных для визуализации является объект «Выборки данных». Создадим новую.
Нажимаем – «Объекты» - «Выборки данных» - «Создать» - «Формат данных»
Создаём три (для примера) ячейки типа «16бит UNSIGNED».
«Файл журнала» расположим «В памяти панели». Указываем каталог, в который будут писаться данные.
На этом создание простейшего источника данных завершено.

Теперь его надо заполнить. Пишем два скрипта: один - для первичной инициализации; второй – для изменения значений (чтобы увидеть динамику).
Первый скрипт:
Код: Выделить всё
macro_command main()
char i
i = 25
SetData(i, "Local HMI", LW, 0, 1)
i = 50
SetData(i, "Local HMI", LW, 1, 1)
i = 75
SetData(i, "Local HMI", LW, 2, 1)
end macro_command


Второй скрипт:

Код: Выделить всё
macro_command main()
short i1
short val
RAND(i1)
GetData(val, "Local HMI", LW, 0, 1)
i1 = i1 % 100
if (i1 > 50) then
                  i1 = 1
             else
                  i1 = -1
end if
val = val + i1
if val > 100 then
                  val = 100
end if
if (val <   1) then
                  val =   1               
end if
SetData(val, "Local HMI", LW, 0, 1)
RAND(i1)
GetData(val, "Local HMI", LW, 1, 1)
i1 = i1 % 100
if (i1 > 50) then
                  i1 = 1
             else
                  i1 = -1
end if
val = val + i1
if val > 100 then
                  val = 100
end if
if (val <   1) then
                  val =   1               
end if
SetData(val, "Local HMI", LW, 1, 1)
RAND(i1)
GetData(val, "Local HMI", LW, 2, 1)
i1 = i1 % 100
if (i1 > 50) then
                  i1 = 1
             else
                  i1 = -1
end if
val = val + i1
if val > 100 then
                  val = 100
end if
if (val <   1) then
                  val =   1               
end if
SetData(val, "Local HMI", LW, 2, 1)
end macro_command


Первый скрипт устанавливаем в: «Системные настройки» - «Системные настройки» - «Запустить макрос при включении панели»
Второй – в «Объекты» - «Триггеры ПЛК» - «Создать» - «Атрибуты-тип -> Выполнить макрос». Адрес триггера - LW_bit 9030:00 (тут расположено время в десятых долях секунды).

Добавляем сам объект «Графические выборки»
В поле «Индекс объекта выборки данных» выбираем индекс нашего объекта «Выборки данных»
Для демонстрации работы паузы включаем «Управление паузой» по адресу LB 0
Настраиваем цвет для каждого из каналов.
Настройка завершена.

Для визуализации значений создаём три объекта «Цифровой дисплей». Мониторим адреса LW 0 – LW 2.
Создадим «Битовый переключатель» - будет паузой. Адрес ему назначаем LB 0.

Комплируем. Вот и всё. Более подробно какие настройки и для чего нужны описаны в прилагаемом pdf. Наш тестовый проект так же прилагается.
Вложения
Выборки данных.pdf
(79.7 КБ) Скачиваний: 1722
MTP1.mtp
(230.35 КБ) Скачиваний: 1430
Ilya
 
Сообщения: 4
Зарегистрирован: 30 авг 2012, 16:06

Вернуться в Как это сделать ? ( How to...?)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1