Page 1 of 2

Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Jan 23, 2018 8:52 am
by a_gricaj
Здравствуйте, в WinCC проeктов еще не делал, поэтому не судите строго за вопрос.

Ранее использовал для визуализации MasterScada.
Чтобы облегчить и ускорить работу, для типовых объектов (например транспортер) делал шаблон который включал в себя:
-изображение объекта,
-окно ручного управления,
-окно параметров,
-скрипт (который например отвечал за изменение цвета изображения)
-входные-выходные переменные для связи с ОРС-сервером.
Таким образом копируя этот шаблон размножал "транспортеры" и мне оставалось только для каждого нового скопированного "транспортера" привязать свои ОРС переменные и изменить изображение если оно не подходило по размеру, например для транспортера изменял длину или разворачивал на 180 градусов.

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

Заранее всем спс за ответы.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Jan 23, 2018 9:39 am
by a_gricaj
правильно ли я понял, что для решения этой задачи нужно использовать - faceplates?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Thu Jan 25, 2018 7:01 am
by a_gricaj
может я вопрос некорректно задал??
посмотрел доки по faceplace вот тут https://support.industry.siemens.com/cs ... 0&lc=en-CA
вроде то что нужно, но окна которые можна создавать (например ручного управления) тут получаются статичные (нельзя перемещать), что не нравится, хотелось бы их "таскать" по всему экрану.
В WinCC это единственный инструмент для решения моей задачи или еще есть варианты????

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Thu Jan 25, 2018 11:33 am
by Rex2701
Во 1-х, надо использовать связку Custom object + faceplate. Но создание кастома не совсем тривиальная задача, слишком сименс перемудрил.
А во 2-х, с чего ты взял, что фейсплейты статичны? Это обычные окна, их можно таскать, менять размер, если только не отключишь это в свойствах.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Thu Jan 25, 2018 4:14 pm
by CoMod
Показал бы образец из МастерСкады что ты подразумеваешь под ЛицевойПанелью
типа такой с кнопками ?
https://support.industry.siemens.com/cs ... les_en.pdf

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Jan 26, 2018 9:45 am
by a_gricaj
Спасибо за ответы.

Вот как у меня в МастерСКАДА, надеюсь понятно сделал скрин
Image


Таким образом копируя объект(шаблон) - копирую изображение объекта, его окна, аварийные сообщения - получаю экземпляр. Остается сменить название экземпляра и подогнать изображение под центральную мнемосхему и прицепить новый экземпляр на мнемосхеме. Внося изменения в шаблоне могу изменить все экземпляры этого шаблона - очень хорошо помогает когда заказчик "ВРЕДНЫЙ".

Также мне нужно сделать на WinCC.
Отсюда просьба описать хотя бы чуть подробней как это можно сделать (времени на эксперименты маловато), с faceplace вроде чуть понятно - сейчас буду практиковаться....

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Jan 26, 2018 12:04 pm
by a_gricaj
Статичны(окна) - имел ввиду, что их мышкой таскать нельзя в Рантайме по экрану монитора - выводятся в тех координатах в которых они запрограммированы(нарисованы) в faceplate - или я ошибаюсь?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Jan 26, 2018 3:07 pm
by Rex2701
Ошибаешься. Да, появляются они именно там, где задашь. Но потом можешь таскать по всему экрану, если Move Disable не сделаешь.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Jan 26, 2018 3:42 pm
by a_gricaj
СПС, такой еще вопрос - изображение самого объекта и его окон я так понял нужно "разносить" по разным слоям при создании Лицевой панели, но тогда при добавлении на центральную мнемосхему изображения лицевой панели, она и ее окна будут на одном слое и это несколько неудобно при большом количестве лицевых панелей на мнемосхеме (рисовать ппц как неудобно будет). Как тут быть?
второй вопрос. Если изображение лицевой панели мне нужно поместить в нижней части мнемосхемы, а вывод ее окон запрограммирован ниже изображения (нет места для вывода - граница монитора), как тут быть? Можно ли настроить вывод окон вне зависимости от расположения изображения лицевой панели на мнемосхеме?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Jan 26, 2018 5:46 pm
by Rex2701
По слоям - не обязательно. С одной стороны, слои вроде имеют какой-то приоритет (не помню, который слой всегда выше других, 0-й или 31-й), с другой стороны, они сделаны для удобства накидывания объектов на экране. Можно отключить временно ненужные слои, скрыв часть объектов. Я никогда не заморачивался до таких деталей, и всё лепил в 0-м слое. Когда можешь делать нормально читаемую схему - бардака не будет.
a_gricaj wrote:Если изображение лицевой панели мне нужно поместить в нижней части мнемосхемы, а вывод ее окон запрограммирован ниже изображения
Вот тут ничего не понял. Я понимаю, что ты пытаешься в голове переводить с "языка" MasterSCADA на "язык" WinCC, но я кроме WinCC уже давно ни в чём не работаю. Для меня изображение лицевой панели и вывод окна лицевой панели - это одно и то же, масло масляное.

Расположение фейсплейтов никак не привязано к изображению технологического объекта (иконке механизма).
Есть иконка механизма, у которой есть обработчик мышиных кликов. В обработчике ты указываешь, имя объекта PictureWindow, который ты хочешь вызвать, и указываешь префикс тегов, чтобы фейсплейт подтянул теги нужного механизма. Как видишь, совершенно неважно, где при этом на экране находится объект PictureWindow.
Далее, насколько я помню, если при вызове фейсплейта он вылезет за края экрана - то он вылезет. Ну и хрен с ним, можно мышкой втянуть в границы экрана. Хочешь чтобы фейсплейт был всегда целиком на экране - нууу, планируй начальное расположение так, чтобы они 100% влезли.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sun Jan 28, 2018 4:14 pm
by a_gricaj
Наверное пошел не правильным путем, вот, что получилось в рантайме:
Image

Над изображением объекта поместил прозрачную кнопку которая сетит бит по которому становятся видими элементы окна, вообщем все как в примере:
https://www.youtube.com/watch?v=adb0mcOMDm4&t=838s
Правильный ли это подход?

Перемещать мышкой это окно не могу, что сделал неправильно??
Где найти этот "Move"?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Jan 30, 2018 7:58 am
by a_gricaj
Может ли зависеть "отсутствие возможности перемещать окна мышкой" от типа Runtime - Advanced/Profesional сконфигурированного в РС-station?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Jan 30, 2018 6:48 pm
by sania
в адвансе фейсплейты статичны
в проф надо юзать пикчер виндоу и в нём показывать отдельное окно и тогда будет двигаться

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Feb 02, 2018 8:49 am
by a_gricaj
Очень благодарен всем за ответы...пробую создать свою Лицевую панель....

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Feb 02, 2018 12:39 pm
by MEFinc
Добрый день, всегда мучил такой вопрос по Screen Window. Когда работаю со всплывающими окнами, всегда делаю свою кнопку на закрытие/скрытие данного окна (п.1).
OLD Screen Window
Show
Image
Хотелось бы использовать встроенную кнопку на закрытие (п.2), но так как всплывающее окно делаю через свойства "visibility" (отображаю при нажатии на объект, скрываю при нажатии на [x]), то при использовании встроенной кнопки (п.2), окно закрывается. Но чтобы его вызвать вновь, необходимо его дополнительно скрывать, после чего оно может быть отображено (при нажатии на кнопку отображения окна).
NEW Screen Window
Show
Image
Подскажите, как правильно вызвать всплывающее окно при закрытии встроенной кнопкой (п.2).

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri Feb 02, 2018 12:51 pm
by Rex2701
Повесь на событие OnClose скрипт, который будет делать Visibility = False.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Mon Feb 05, 2018 6:35 am
by MEFinc
Это единственно возможный вариант? Может есть способы попроще, может правильно делать вызов окна не через "visibility"?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Mon Feb 05, 2018 11:54 am
by a_gricaj
Еще один вопрос, в WinCC RT Advanced скрипт в лицевой панели запрограммировал (компиляция без ошибок), но скрипт не исполняется (внутренний тег не меняется), в чем может быть причина? Скрип вызывается автоматически или его нужно вызывать?

код скрипта:
If SmartTags("Properties\Stat.GeneralAlarm")Then SmartTags("StatusUnit")=0
If SmartTags("Properties\Stat.ModeAM")=False & SmartTags("Properties\Ctrl.ModeAM") Then SmartTags("StatusUnit")=1

StatusUnit - внутренний тег лицевой панели

Может как то по другому нужно?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Mon Feb 05, 2018 4:49 pm
by Rex2701
Насколько я помню, писать надо

Code: Select all

SmartTags("...").Value=...

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 8:05 am
by a_gricaj
Какой-то пздц, два дня бьюсь (h) над парой строчек скрипта....

например, у меня есть два тега:
1 - внешний тег лицевой панели (читается структурой с плк, тут все работет - значение тега меняется) - bool(тип данных), назовем его "Mode"
2 - внутренний тег лицевой панели - int, назовем его "StatMode"
мне нужно сделать -
if Mode=false
then
StatMode:=0;
else
StatMode:=1;
end_if;

Как это правильно сделать в WinCC RT Advanced в скрипте лицевой панели? Буду благодарен за код на этом примере (так понятней будет)

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 10:44 am
by a_gricaj
Оставил одну строчку в скрипте:
SmartTags("StatusUnit").Value=2
или так
SmartTags("StatusUnit")=2
все равно StatusUnit=0
(h) (h) (h) (h) (h)

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 1:18 pm
by POV_PDA
Я тут глянул свои скрипты и в некоторых так
SmartTags("Folder\Tag") = Value
а в некоторых как у вас
SmartTags("Tag") = Value
И в чем разница я не помню, но оба варианта рабочие - последний с панели, первый с PC.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 1:40 pm
by a_gricaj
ну тогда вообще ппц, у вас работает у меня нет, скрипт в лицевой панели вызывается автоматически? Может еще какие-то манипуляции сделать нужно????

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 1:51 pm
by Rex2701
Покажи всё-таки полностью код скрипта, от Sub до End Sub

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 2:26 pm
by a_gricaj
Rex2701 wrote:Покажи всё-таки полностью код скрипта, от Sub до End Sub
Вот
Image

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 3:03 pm
by sania
Why is a script, which is configured to occur in the event of a "change in value" of an internal tag, not executed?
If you use an internal tag to call another internal tag, via which, for example, a script is executed (a change in value, for example), then a safety mechanism prevents this function from being executed.
This safety function is meant to prevent a continuous loop.

Example
In the Properties of the internal tag "HMI_Tag_01", a bit is set for the "Change in value" event in the internal tag "HMI_Tag_02".
At this second internal tag "HMI_Tag_02" a script is called through the Properties for the "Change in value" event.
Result: The script is not executed.

Remedy
Use an external tag which is linked to a controller. Please note that by using an external tag you circumvent the safety mechanism described above. This can lead to problems in Runtime.
https://support.industry.siemens.com/cs ... w/57132412
проблема в использовании внутреннего тага,перекинь на контроллер и заработает
а по фотке не видно какой триггер...как его запускаешь?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 3:35 pm
by a_gricaj
наверное нужно было начать с самого начала, что я именно хочу получить от скрипта...
В контроллере в БД у меня структура, эту структуру читаю одним тегом и пихаю в Лицевую панель, где она раскладывается на отдельные сигналы (например bool) и дальше в лицевой панели делаю с ними что нужно. В частности по нескольким сигналам (bool) мне нужно сделать сигнал int. Этот int мне нужен для смены цвета изображения и отображения статуса
нпример
int= 0 -транспортер остановлен - серый цвет
int= 1 - транспортер работает в ручном режиме - желтый
int= 2 - транспортер работает в автоматическом режиме - зеленый
int = 3- авария - красный
Вот этот int и есть мой внутренний тег Лицевой панели....
Понятно, что можно все это дело организовать и в ПЛК, но зачем плк морочить мозги если все это за него сделает ПК...

Триггер никакой не запускаю - это уже был эксперимент, просто крик души - проверить работает ли вообще скрипт, изначально пробовал с тегами от ПЛК но тоже не пошло, в итоге запутался совсем.Поэтому и просил пример в предыдущих постах. В МастерСкада скрипты на Си там было проще, а ВБ первый раз сталкиваюсь, чтение доков на англ (h) мало помогает....

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 3:51 pm
by sania
частности по нескольким сигналам (bool)
у них в свойствах тага есть событие "изменение значения" туда и пихай скрипт.
можно и без скриптов используя функцию "set value"

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 3:55 pm
by a_gricaj
на каждый bool?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 3:59 pm
by sania
создаётся скрипт и на каждом бите вызываешь его .
не надо его текст копи-пастить...

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 06, 2018 6:48 pm
by a_gricaj
вот моя Лицевая панель - в свойствах тега нет ничего, наверное я не туда смотрю, ткните носом пж куда вязать скрипт
Image

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 7:59 am
by a_gricaj
Куда пихать скрипт нашел большое СПС (thnx) (может кому надо будет - видео тут https://www.youtube.com/watch?v=Kss0ZxrTzOY&t=289s)

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 11:42 am
by a_gricaj
еще вопрос, код скрипта:

Code: Select all

Sub ScriptCU() 
Dim ModeAM,CtrlModeAM,Alarm,RemoteRunning,ManRunning,AutoRunning,Feedback,ControlFromRoute,MaskingFeedback
 
     ModeAM=SmartTags("Properties\Stat.ModeAM")
    CtrlModeAM=SmartTags("Properties\Ctrl.ModeAM")
    Alarm=SmartTags("Properties\Stat.GeneralAlarm")
    RemoteRunning=SmartTags("Properties\Stat.RemoteRunning")
    ManRunning=SmartTags("Properties\Stat.ManRunning")
    AutoRunning=SmartTags("Properties\Stat.AutoRunning")
    Feedback=SmartTags("Properties\Stat.Feedback")
    ControlFromRoute=SmartTags("Properties\Stat.ControlFromRoute")
    MaskingFeedback=SmartTags("Properties\Par.MaskingFeedback")
	
	If Alarm=False & ModeAM &CtrlModeAM & Feedback=False & MaskingFeedback=False Then  SmartTags("StatusUnit")=0     'остановлен
	If Alarm=False & ModeAM &CtrlModeAM & MaskingFeedback & ManRunning=False & AutoRunning=False Then  SmartTags("StatusUnit")=0     'остановлен-маскирование
		
	If Alarm Then SmartTags("StatusUnit")=1	
		
	If Alarm=False & ModeAM=False & Feedback=False Then SmartTags("StatusUnit")=2 'дистанционно остановлен
	If Alarm=False & ModeAM=False & Feedback Then SmartTags("StatusUnit")=3       'дистанционно работает
	
	If Alarm=False & ModeAM & CtrlModeAM=False & ManRunning=False Then SmartTags("StatusUnit")=4 'ручное управление - остановлен
	If Alarm=False & ModeAM & CtrlModeAM=False & ManRunning  Then SmartTags("StatusUnit")=5 'ручное управление - работает	
    
    If Alarm=False & ModeAM & CtrlModeAM & AutoRunning=False Then SmartTags("StatusUnit")=6 'Авто управление - остановлен
	If Alarm=False & ModeAM & CtrlModeAM & AutoRunning  Then SmartTags("StatusUnit")=7 'Авто управление - работает				

End Sub
При Alarm=true у меня получается StatusUnit=6 как так?
а если переношу строчку " If Alarm Then SmartTags("StatusUnit")=1 "в конец скрипта то тогда работает правильно и StatusUnit=1

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 12:37 pm
by POV_PDA
Поставить скобки, чтобы бедный компилятор не мучился с приоритетами, не судьба? Ну или учитывайте приоритеты сами. При таком написании кода еще и не такой результат возможен.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 12:40 pm
by a_gricaj
имеете ввиду так If (Alarm=False & ModeAM=False & Feedback=False) Then SmartTags("StatusUnit")=2???

Да, Вы правы, дело в скобках

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 4:21 pm
by POV_PDA
Я бы написал
If ( NOT (Alarm OR ModeAM OR Feedback) ) Then ...

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 07, 2018 6:10 pm
by a_gricaj
СПС, а как можно в скрипте получить статус связи с ПЛК (видит ли скада ПЛК или нет)?
Также как узнать "залогиненного" юзера?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Thu Feb 08, 2018 3:28 pm
by a_gricaj
С юзерами разобрался за исключением одного момента:
Image
почему ввод Authorization кнопки которая создана в лицевой панели заблокирован? На обычном экране все гуд...

По диагностике статуса соединения с ПЛК: правильное ли решение вязать битовый тег к системным сообщениям :
например:
по сообщению 140001 - Connection disconnected: - взвожу бит.
а по сообщению 140000 - Connection established: - сбрасываю бит?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 13, 2018 9:36 am
by a_gricaj
дабы не плодить тем, еще вопрос по скрину ниже:
Image

как видно Рантайм насчитал 32 тега, но не пойму почему...

у меня к двум Лицевым панелям подключено два внутренних тега (оба int) , и три внешних (структура)
Внешние - 1. word(разложен по битам), 2. word(разложен по битам), 3. dword(разложен по битам) + два int
Где то на оф. сайте сименса читал, что даже если в теге тип данных UDT, все равно количество тегов будет считаться по количеству переменных с простым типом данных....

в моем случае (1+1+3)*2=10, а у меня 32, пожалуйста подскажите где моя ошибка в подсчете количества тегов???
такое впечатление, что считаются все подвязанные битовые сигналы из UDT... и фокус со структурой не дает экономии внешних тегов...

Отсюда вопрос, какие есть пути экономии тегов в Wincc Advanced??

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Tue Feb 13, 2018 6:46 pm
by a_gricaj
Сам с собой разговариваю, получилось сделать так :
- в контроллере (в DB) переменная UDT размером с DWORD;
- в WinCC сделал тег - читает по адресу с DB выше указанную переменную но уже Dint ( в лицевой панели нет типа данных DWORD, хз почему)
- создал лицевую панель с интерфейсом, где переменная типа Dint
- в Лицевой панели создал скрипт и разложил входную переменную на 31 бит (32 бит в Dint я так понял знак числа)
связал тегом, проверил, все работает отлично, получил 31 тег вместо 1.

Вопрос к спецам, корректно ли эта конструкция будет работать?? Не будет ли тупить скада так как скриптов и внутренних тегов многовато будет? Буду благодарен за ответ.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed Feb 14, 2018 9:42 am
by a_gricaj
нужно добавить, что тег должен быть "Cyclic continuous" - что бы скрипт в лицевой панели запускался когда меняется значение на входе лицевой панели.
Что же будет когда нужно опросить 3000 таких тегов, кто нибудь сталкивался? Скада тупить не будет?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Thu Feb 15, 2018 10:36 am
by a_gricaj
a_gricaj wrote:нужно добавить, что тег должен быть "Cyclic continuous" - что бы скрипт в лицевой панели запускался когда меняется значение на входе лицевой панели.
Что же будет когда нужно опросить 3000 таких тегов, кто нибудь сталкивался? Скада тупить не будет?
Я задал глупый вопрос???????????

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Fri May 11, 2018 8:37 am
by a_gricaj
Накидал под сотню лицевых панелей на стартовый экран, увязал их тегами и получил при загрузке скады системное сообщение - Overload: Script "имя скрипта" is rejected....
некоторые скрипты при загрузке не обрабатываются, но ...
Имею один общий сигнал для всех лицевых панелей (Ручной/Автомат), изменяя который инициализирую опять запуск всех скриптов в каждой лицевой панели уже после запуска скады, тут все те же скрипты обрабатываются быстро и корректно, получается перегрузка происходит только в момент запуска системы - подскажите пж как тут быть, времени на игрушки не осталось, проект горит(((

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sat May 12, 2018 8:41 am
by Rex2701
a_gricaj wrote:Накидал под сотню лицевых панелей на стартовый экран, увязал их тегами
А почему не сделал всего одну лиц.панель и не меняешь привязанный тег перед вызовом?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sat May 12, 2018 1:16 pm
by a_gricaj
Уже подумал, что форум умер)
Вот скрин
Image

Там лицевая панель одна и та же, но теги к ней разные подключены, нужно было по другому делать???

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sat May 12, 2018 6:06 pm
by Rex2701
А, так налицо путаница в терминологии Siemens'a.
Ваши моторчики на экране, то что вы называете лиц.панелями - это блок-иконки. Т.е. иконки для блока управления чем-либо.
А лиц.панель - это всплывающее окно с настройками управления.

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sat May 12, 2018 6:46 pm
by a_gricaj
ну, я показал что скрипт не выполнился, а faceplates с окном вот:
Image
понятно, что моя архитектура неправильна, но как переделать правильно??

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sat May 12, 2018 7:03 pm
by a_gricaj
Мнемосхема (экран) у меня организована при помощи faceplates, так как много однотипных объектов.
Например есть мотор - для него у меня два faceplates:
1 - изображение,
2 - окно ручного управления и параметров.
Накладывая faceplates окна на faceplates изображения - получил вызов окна управления мотором и его параметров.
к этим двум faceplates подключены три внешних тега: CTRL(тип UDT), PAR(тип UDT),STAT(тип UDT) и
два внутренних тега - один тег номер группы к которой относится залогиненный оператор, а второй Аlarm(для взвода аварийных сообщений - триггеров).
В каждом faceplates входной тег CTRL, PAR, и STAT я раскладываю на биты скриптами, и пишу их(биты) во внутренние тeги faceplates, далее использую эти битовые теги как мне нужно.
Это имеет вот такой вид:
Image
В итоге накидав faceplates на мнемосхему получил сообщение Рантайма (обвел красным):
Image
номер системного евента 20015 (который обведен)
из справки портала:
Image

В результате часть скриптов faceplates не выполняется, куда копать не знаю, буду благодарен за любую инфу которая поможет решить проблему......

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Sun May 13, 2018 3:04 pm
by Rex2701
a_gricaj wrote:Имею один общий сигнал для всех лицевых панелей (Ручной/Автомат), изменяя который инициализирую опять запуск всех скриптов в каждой лицевой панели уже после запуска скады, тут все те же скрипты обрабатываются быстро и корректно, получается перегрузка происходит только в момент запуска системы - подскажите пж как тут быть, времени на игрушки не осталось, проект горит(((
Что за общий сигнал и что за скрипты в каждом фейсплейте отрабатывают?

Re: Вопрос по тиражированию однотипных объектов в WinCC v14

Posted: Wed May 30, 2018 8:38 am
by a_gricaj
Свою ошибку понял- при загрузке обрабатывались все скрипты в лицевых панелях, а их очень много вызывалось одновременно....Спс за помощь
Переделал, теперь вращаю до 20 больших скриптов, вместо 300 маленьких, и переключаю скриптом вх/вых переменные для лицевой панели (которая теперь только одна для всех однотипных объектов)

Подскажите пж такой вопрос, а можно ли WinCC v14 Advanced вызывать скрипт в скрипте, и "подключать" к вызываемому скрипту разные "входные-выходные" теги, например нужно выполнить типовую задачу - смена цвета однотипных элементов????