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

Панели оператора PP/OP/TP/TD/MP.
Программные пакеты ProTool/WinCC flexible, SCADA система WinCC
a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Jan 23, 2018 8:52 am

Здравствуйте, в WinCC проeктов еще не делал, поэтому не судите строго за вопрос.

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

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Jan 23, 2018 9:39 am

правильно ли я понял, что для решения этой задачи нужно использовать - faceplates?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Thu Jan 25, 2018 7:01 am

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Thu Jan 25, 2018 11:33 am

Во 1-х, надо использовать связку Custom object + faceplate. Но создание кастома не совсем тривиальная задача, слишком сименс перемудрил.
А во 2-х, с чего ты взял, что фейсплейты статичны? Это обычные окна, их можно таскать, менять размер, если только не отключишь это в свойствах.

CoMod
Site Admin
Posts: 3963
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

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

Post by CoMod » Thu Jan 25, 2018 4:14 pm

Показал бы образец из МастерСкады что ты подразумеваешь под ЛицевойПанелью
типа такой с кнопками ?
https://support.industry.siemens.com/cs ... les_en.pdf

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Fri Jan 26, 2018 9:45 am

Спасибо за ответы.

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


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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Fri Jan 26, 2018 12:04 pm

Статичны(окна) - имел ввиду, что их мышкой таскать нельзя в Рантайме по экрану монитора - выводятся в тех координатах в которых они запрограммированы(нарисованы) в faceplate - или я ошибаюсь?

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Fri Jan 26, 2018 3:07 pm

Ошибаешься. Да, появляются они именно там, где задашь. Но потом можешь таскать по всему экрану, если Move Disable не сделаешь.

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Fri Jan 26, 2018 3:42 pm

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Fri Jan 26, 2018 5:46 pm

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Sun Jan 28, 2018 4:14 pm

Наверное пошел не правильным путем, вот, что получилось в рантайме:
Image

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Jan 30, 2018 7:58 am

Может ли зависеть "отсутствие возможности перемещать окна мышкой" от типа Runtime - Advanced/Profesional сконфигурированного в РС-station?

sania
Site Admin
Posts: 1372
Joined: Sat Aug 13, 2005 6:15 am
Contact:

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

Post by sania » Tue Jan 30, 2018 6:48 pm

в адвансе фейсплейты статичны
в проф надо юзать пикчер виндоу и в нём показывать отдельное окно и тогда будет двигаться

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Fri Feb 02, 2018 8:49 am

Очень благодарен всем за ответы...пробую создать свою Лицевую панель....

MEFinc
Posts: 51
Joined: Thu Dec 08, 2011 11:23 am

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

Post by MEFinc » Fri Feb 02, 2018 12:39 pm

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Fri Feb 02, 2018 12:51 pm

Повесь на событие OnClose скрипт, который будет делать Visibility = False.

MEFinc
Posts: 51
Joined: Thu Dec 08, 2011 11:23 am

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

Post by MEFinc » Mon Feb 05, 2018 6:35 am

Это единственно возможный вариант? Может есть способы попроще, может правильно делать вызов окна не через "visibility"?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Mon Feb 05, 2018 11:54 am

Еще один вопрос, в 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 - внутренний тег лицевой панели

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Mon Feb 05, 2018 4:49 pm

Насколько я помню, писать надо

Code: Select all

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 8:05 am

Какой-то пздц, два дня бьюсь (h) над парой строчек скрипта....

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 10:44 am

Оставил одну строчку в скрипте:
SmartTags("StatusUnit").Value=2
или так
SmartTags("StatusUnit")=2
все равно StatusUnit=0
(h) (h) (h) (h) (h)

POV_PDA
Posts: 97
Joined: Mon Apr 26, 2010 7:02 pm
Location: Н.Новгород

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

Post by POV_PDA » Tue Feb 06, 2018 1:18 pm

Я тут глянул свои скрипты и в некоторых так
SmartTags("Folder\Tag") = Value
а в некоторых как у вас
SmartTags("Tag") = Value
И в чем разница я не помню, но оба варианта рабочие - последний с панели, первый с PC.

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 1:40 pm

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Tue Feb 06, 2018 1:51 pm

Покажи всё-таки полностью код скрипта, от Sub до End Sub

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 2:26 pm

Rex2701 wrote:Покажи всё-таки полностью код скрипта, от Sub до End Sub
Вот
Image

sania
Site Admin
Posts: 1372
Joined: Sat Aug 13, 2005 6:15 am
Contact:

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

Post by sania » Tue Feb 06, 2018 3:03 pm

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
проблема в использовании внутреннего тага,перекинь на контроллер и заработает
а по фотке не видно какой триггер...как его запускаешь?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 3:35 pm

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

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

sania
Site Admin
Posts: 1372
Joined: Sat Aug 13, 2005 6:15 am
Contact:

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

Post by sania » Tue Feb 06, 2018 3:51 pm

частности по нескольким сигналам (bool)
у них в свойствах тага есть событие "изменение значения" туда и пихай скрипт.
можно и без скриптов используя функцию "set value"

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 3:55 pm

на каждый bool?

sania
Site Admin
Posts: 1372
Joined: Sat Aug 13, 2005 6:15 am
Contact:

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

Post by sania » Tue Feb 06, 2018 3:59 pm

создаётся скрипт и на каждом бите вызываешь его .
не надо его текст копи-пастить...

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 06, 2018 6:48 pm

вот моя Лицевая панель - в свойствах тега нет ничего, наверное я не туда смотрю, ткните носом пж куда вязать скрипт
Image

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed Feb 07, 2018 7:59 am

Куда пихать скрипт нашел большое СПС (thnx) (может кому надо будет - видео тут https://www.youtube.com/watch?v=Kss0ZxrTzOY&t=289s)

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed Feb 07, 2018 11:42 am

еще вопрос, код скрипта:

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

POV_PDA
Posts: 97
Joined: Mon Apr 26, 2010 7:02 pm
Location: Н.Новгород

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

Post by POV_PDA » Wed Feb 07, 2018 12:37 pm

Поставить скобки, чтобы бедный компилятор не мучился с приоритетами, не судьба? Ну или учитывайте приоритеты сами. При таком написании кода еще и не такой результат возможен.

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed Feb 07, 2018 12:40 pm

имеете ввиду так If (Alarm=False & ModeAM=False & Feedback=False) Then SmartTags("StatusUnit")=2???

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

POV_PDA
Posts: 97
Joined: Mon Apr 26, 2010 7:02 pm
Location: Н.Новгород

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

Post by POV_PDA » Wed Feb 07, 2018 4:21 pm

Я бы написал
If ( NOT (Alarm OR ModeAM OR Feedback) ) Then ...

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed Feb 07, 2018 6:10 pm

СПС, а как можно в скрипте получить статус связи с ПЛК (видит ли скада ПЛК или нет)?
Также как узнать "залогиненного" юзера?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Thu Feb 08, 2018 3:28 pm

С юзерами разобрался за исключением одного момента:
Image
почему ввод Authorization кнопки которая создана в лицевой панели заблокирован? На обычном экране все гуд...

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 13, 2018 9:36 am

дабы не плодить тем, еще вопрос по скрину ниже:
Image

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

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

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Tue Feb 13, 2018 6:46 pm

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

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed Feb 14, 2018 9:42 am

нужно добавить, что тег должен быть "Cyclic continuous" - что бы скрипт в лицевой панели запускался когда меняется значение на входе лицевой панели.
Что же будет когда нужно опросить 3000 таких тегов, кто нибудь сталкивался? Скада тупить не будет?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Thu Feb 15, 2018 10:36 am

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Fri May 11, 2018 8:37 am

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Sat May 12, 2018 8:41 am

a_gricaj wrote:Накидал под сотню лицевых панелей на стартовый экран, увязал их тегами
А почему не сделал всего одну лиц.панель и не меняешь привязанный тег перед вызовом?

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Sat May 12, 2018 1:16 pm

Уже подумал, что форум умер)
Вот скрин
Image

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

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Sat May 12, 2018 6:06 pm

А, так налицо путаница в терминологии Siemens'a.
Ваши моторчики на экране, то что вы называете лиц.панелями - это блок-иконки. Т.е. иконки для блока управления чем-либо.
А лиц.панель - это всплывающее окно с настройками управления.

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Sat May 12, 2018 6:46 pm

ну, я показал что скрипт не выполнился, а faceplates с окном вот:
Image
понятно, что моя архитектура неправильна, но как переделать правильно??

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Sat May 12, 2018 7:03 pm

Мнемосхема (экран) у меня организована при помощи 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 не выполняется, куда копать не знаю, буду благодарен за любую инфу которая поможет решить проблему......

Rex2701
Posts: 370
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

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

Post by Rex2701 » Sun May 13, 2018 3:04 pm

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

a_gricaj
Posts: 202
Joined: Wed Mar 19, 2008 1:12 pm
Location: Ukraine

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

Post by a_gricaj » Wed May 30, 2018 8:38 am

Свою ошибку понял- при загрузке обрабатывались все скрипты в лицевых панелях, а их очень много вызывалось одновременно....Спс за помощь
Переделал, теперь вращаю до 20 больших скриптов, вместо 300 маленьких, и переключаю скриптом вх/вых переменные для лицевой панели (которая теперь только одна для всех однотипных объектов)

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

Post Reply