plcforum.uz.ua

International PLC Forum
It is currently Fri Dec 14, 2018 2:26 am

All times are UTC + 3 hours


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Fri Feb 02, 2018 11:33 am 

Joined: Fri Feb 02, 2018 11:25 am
Posts: 5
Location: Вятка
Доброго времени суток, имеется ли какая либо динамизация смены тегов
или, что-либо подобное как раньше было в Flexible например в квадратных скобках указать переменную и тем самым указать номер байта.
Мультиплексирвоание тоже видимо не стало.
Подскажите способы если не трудно, не могу найти или не там ищу.


Top
 Profile  
 
PostPosted: Wed Feb 07, 2018 12:12 pm 

Joined: Thu Aug 11, 2011 10:00 am
Posts: 16
В WinCC flexible работает "динамизация" имени тега. Аналогично "большому" WinCC.
Пример:
For i=0 To 12
itn = String(2-Len(i),"0") & CStr(i) ' переменная часть имени ТЕГа (от "00" до "12")
SmartTags("TagY_" & itn) = SmartTags("TagXarray") (i)
Next
В WinCC TIA не пробовал.


Top
 Profile  
 
PostPosted: Wed Feb 07, 2018 2:16 pm 

Joined: Fri Feb 02, 2018 11:25 am
Posts: 5
Location: Вятка
Пробовал таким образом обратиться к элементу массива. Всё комплирует, запускается, но при попытке выполнения скрипта ругается на строку где в круглых скобках указываю номер элемента массива! Почему и как еще сделать ума не приложу.


Top
 Profile  
 
PostPosted: Fri Feb 09, 2018 5:37 pm 

Joined: Thu Aug 11, 2011 10:00 am
Posts: 16
Сляпал примерчик. TIA14. Работает.
В DBшке: Exp_Array1 - Array[0..9] of Real
For i=0 To 9
SmartTags("Exp_Array1")(i) = SmartTags("Exp_Array1")(i) + 1
Next


Top
 Profile  
 
PostPosted: Tue Feb 13, 2018 3:51 pm 

Joined: Fri Feb 02, 2018 11:25 am
Posts: 5
Location: Вятка
Это всё я пробовал.
Вот что пишет GSC Diagnostics:
============ HMISmartTag: Unknown SmartTag ============
Application : C:\Program Files (x86)\Siemens\Automation\SCADA-RT_V11\WinCC\bin\PdlRt.exe
SmartTag : Recipe_1
============ HMISmartTag: Unknown SmartTag ============
============An error occured in the Script============
Application :
Picture : параметры пастеризатор 5000.pdl_Events
Function : Sub ButtonX005F1_OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Line : 4
Error :
============An error occured in the Script============



Вот собственно сам скрипт:
Sub OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Dim i
For i=0 To 3
SmartTags("Recipe_1")(i)=1
Next
End Sub


Если поставлю без перечислений цикла а у тега в квадратных скобках то присваивает переменной и всё видит. Как только вставляю в круглые скобки переменную для указания элемента массива так всё рушится с этой ошибкой. TIA WinCC v14 Professional. Уже ума не приложу в чём дело.


Top
 Profile  
 
PostPosted: Wed Feb 14, 2018 12:19 pm 

Joined: Thu Aug 11, 2011 10:00 am
Posts: 16
"Массивный" тег в WinCCprof не получается. Видимо, наследство "большого" WinCC.
1.Работать с типом RAW. Помню, в "большом" WinCC были функции преобразования RAW в массив.
Это пробовать в WinCC prof некогда .
2.Менять имя тега, как и в "большом". В 1-м ответе это нарисовал.


Top
 Profile  
 
PostPosted: Wed Feb 14, 2018 12:50 pm 

Joined: Fri Feb 02, 2018 11:25 am
Posts: 5
Location: Вятка
Таки разобрался. как в твоём первом ответе есть, имя тега формировать переменной из строки и в смарттег его записывать указывая элемент массива, тогда работает, если же обращаться круглыми скобками, тогда фиг, ругается.....


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by International PLCforum® Forum Software © PLCforum
Mobile version