PDA

Просмотр полной версии : ПЕРЕКЛЮЧЕНИЕ ВИЗУАЛИЗАЦИИ ПО ПЕРЕМЕННОЙ



Aleexaandr
19.04.2017, 05:15
Добрый день. Вот я и добрался с освоением визуализации.
Задача: СПК107 работает с ПЛК DVP-28SV по протоколу Modbus. СПК - master, ПЛК-Slave. Спк запускает программу на плк. При выполнении программы СПК считает переменную, сигнализирующую о окончании программы.
Необходимо чтобы при обнаружении переменной в значении TRUE, СПК сменил (переключил) визуализацию.
Помогите разобраться?

Евгений Кислов
19.04.2017, 06:58
Добрый день. Вот я и добрался с освоением визуализации.
Задача: СПК107 работает с ПЛК DVP-28SV по протоколу Modbus. СПК - master, ПЛК-Slave. Спк запускает программу на плк. При выполнении программы СПК считает переменную, сигнализирующую о окончании программы.
Необходимо чтобы при обнаружении переменной в значении TRUE, СПК сменил (переключил) визуализацию.
Помогите разобраться?

Добрый день. См. документ СПК. Визуализация, п. 11.3.1.

Aleexaandr
19.04.2017, 07:01
Забыл добавить. СПК используется как панель оператора. У неё простые действия: записать значение, считать значение сменить визуализацию.

Aleexaandr
19.04.2017, 09:20
Добрый день. См. документ СПК. Визуализация, п. 11.3.1.

То есть вы предлагаете в PLC_PRG прописать iVisuIndex типа INT, а в интерфейсе экрана объявите локальную переменную iSelect типа INT и ей присвоить значение переменной, которая сигнализирует окончание программы? Или я как-то не так понял?

Евгений Кислов
19.04.2017, 09:29
Я предлагаю использовать системную переменную CURRENTVISU (для работы с ней надо поставить галочку в Менеджере визуализации). В таком стиле:



IF xProgramFinish THEN
VisuElems.CURRENTVISU:='NowIWantSeeThisVisu';
END_IF

Aleexaandr
19.04.2017, 09:33
Спасибо. Буду пробовать и разбираться.

Евгений Кислов
19.04.2017, 10:02
Примеры показывают принцип работы с визуализацией, а не паттерны программирования (иначе пришлось бы тратить место на объяснение, почему так) - поэтому не претендуют на оптимальность с точки зрения кода программы.

Евгений Кислов
19.04.2017, 11:06
вот еще бы, кто пытается по документации написать свой проект осознавали бы это,обычно читаю о возмущениях что примеры из документации не рабочие, как мне кажется вот из-за таких мелочей

Замечание отчасти справедливо, я приму к сведению. Спасибо за уточнение.

Aleexaandr
20.04.2017, 11:26
Я предлагаю использовать системную переменную CURRENTVISU (для работы с ней надо поставить галочку в Менеджере визуализации). В таком стиле:



IF xProgramFinish THEN
VisuElems.CURRENTVISU:='NowIWantSeeThisVisu';
END_IF


Добрый день. Посидел сутки, попробовал, но так и разобраться не смог. Решил подробнее описать задачу может кто чего и подскажет.
СПК запускает 11 разных программ на ПЛК.
При нажатии на кнопку "ПУСК" 30701 запускается одна из программ и на спк происходит смена визуализации на "процесс реза" 30702.
Когда программа выполнена, СПК считывает маркер М25, сообщающий о выполнении программы, и переменная "V100300" переходит в состояние TRUE 30703.
Переменная "V100300" дает сигнал о смене визуализации "процесс реза" на визуализацию "возврат" 30704.
Пожалуйста, подскажите по подробнее как мне это осуществить? Желательно с примерами что, куда и как прописывать.
Заранее СПАСИБО.

Aleexaandr
21.04.2017, 09:36
Здравствуйте.
Еще раз перечитал "СПК. Визуализация. Руководство для начинающих и продвинутых пользователей", но ни чего подходящего для решения задачи я не смог найти.
Очень нужна ваша помощь.

Евгений Кислов
21.04.2017, 09:51
Здравствуйте.
Еще раз перечитал "СПК. Визуализация. Руководство для начинающих и продвинутых пользователей", но ни чего подходящего для решения задачи я не смог найти.
Очень нужна ваша помощь.

Если у вас есть возможность - свяжитесь со мной по skype, пожалуйста.

Aleexaandr
21.04.2017, 11:58
Если у вас есть возможность - свяжитесь со мной по skype, пожалуйста.

Skype рабочий, но нет микрофона. Используется только для переписки.

Coolboy
20.09.2019, 10:11
Чем дело кончилось? Надо экраны по кнопке щелкать...

Coolboy
20.09.2019, 10:16
10.2. Действия для OnMouse<Something>
При нажатии в Свойствах элемента на один из основных параметров вкладки
InputConfiguration (см. пп. 1-7 в табл. 41), открывается окно конфигурации элемента, в котором
содержится список действий, которые будут выполняться при нажатии (или других условиях) на
элемент. Для этого необходимо присвоить действие элемента с помощью нажатия кнопки «>» и
настроить его параметры:

ВладОвен
03.12.2023, 12:13
Тут почему-то этого нет. Версия 3.5.19.2
72079

Евгений Кислов
03.12.2023, 12:16
В правом верхнем углу нужно поставить галочку Advanced.

Selya
05.12.2023, 10:21
Я предлагаю использовать системную переменную CURRENTVISU (для работы с ней надо поставить галочку в Менеджере визуализации). В таком стиле:



IF xProgramFinish THEN
VisuElems.CURRENTVISU:='NowIWantSeeThisVisu';
END_IF


А можно между фреймами так же переключаться? Что-то вроде:

IF xProgramFinish THEN
MyFrame:='Frame_1';
ELSE
MyFrame:='Frame_2';
END_IF

Евгений Кислов
05.12.2023, 15:07
А можно между фреймами так же переключаться? Что-то вроде:

IF xProgramFinish THEN
MyFrame:='Frame_1';
ELSE
MyFrame:='Frame_2';
END_IF


Добрый день.
Да, можно.
Самый простой способ - через переменную-переключатель фрейма (см. его свойства). В переменную нужно записывать индекс экрана фрейма из конфигурации элемента (0, 1 и т.д.).

Более сложные пути со своими особенностями описаны здесь в п. 5:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf

Selya
06.12.2023, 09:15
Спасибо, получилось. То, что нужно.