Форум АСУ в Україні

форум з автоматизації для викладачів, студентів та спеціалістів
Сьогодні: 29 березня 2024, 00:40

Часовий пояс UTC + 2 годин [ DST ]




Створити нову тему Відповісти  [ 1 повідомлення ] 
Автор Повідомлення
 Тема повідомлення: Використання змінних Runtime zenon у VBA
ПовідомленняДодано: 16 січня 2018, 22:37 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 5033
В хелпі є деяка інфа Manual -> Programming Interfaces -> Macro list -> Basics -> Functionality of online variables
Значення змінних в реальному часі можуть бути не доступні, так як не використовуються на графіці в алармах і т.п. Тому якщо звертатися до їх значення через відповідні об'єкти може виникнути помилка. Для коректного використання в рантайм значень змінних зенона необхідно їх спочатку добавити в контейнер OnlineVariables
Деталі в хелпі - Manual -> Programming Interfaces -> Objectmodel -> OnlineVariables
Цитата:
This collection contains the single objects OnlineVariable. An online variable is an object, in which control system variables are linked, which on being initialized or changed execute a VBA event. In this VBA event user defined actions can be defined.The usage of online variables is recommended for the reading of variable values, as all variables linked to the online variable can be ordered with one action. This enhances the performance.An online variable can be compared to a container or – even better – a Screen of the control system without display. In such a Screen of the control system also all values are ordered from the driver when the Screen is opened.

Dim WithEvents zOLV As OnlineVariable
Const strOLV As String = "MyOnlineVariableContainer"

'initialize event on runtime startup
Private Sub Project_Active()
'get object if already exists
Set zOLV = thisProject.OnlineVariables.Item(strOLV)
If zOLV Is Nothing Then
'if not exitst, create a new OnlineVariable container
Set zOLV = thisProject.OnlineVariables.CreateOnlineVariables(strOLV)
'add variables to the container
zOLV.Add "Variable1"
zOLV.Add "Variable2"
zOLV.Add "Variable3"
End If
'activate 'VariableChange' event
zOLV.Define
End Sub

'event is fired when a variable value changes
Private Sub zOLV_VariableChange(ByVal obVar As IVariable)
Dim vValue As Variant
vValue = obVar.Value
'ignore error values (i.e. on startup)
If IsError(vValue) Then Exit Sub
D ebug.Print obVar.Name & " = " & vValue
End Sub

'release objects on closing the runtime
Private Sub Project_Inactive()
'deactivate 'VariableChange' event
If Not zOLV Is Nothing Then zOLV.Undefine
Set zOLV = Nothing
End Sub


Догори
 Профіль  
 
Відображати повідомлення за:  Сортувати за  
Створити нову тему Відповісти  [ 1 повідомлення ] 

Часовий пояс UTC + 2 годин [ DST ]



Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 3 гостей


Ви не можете створювати нові теми у цьому форумі
Ви не можете відповідати на теми у цьому форумі
Ви не можете редагувати ваші повідомлення у цьому форумі
Ви не можете видаляти ваші повідомлення у цьому форумі
Ви не можете додавати файли у цьому форумі

Знайти:
Вперед:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете бесплатно создать форум PHPBB2 на MyBB2.ru, Также возможно создать форум бесплатно PHPBB3 на Getbb.ru
Український переклад © 2005-2007 Українська підтримка phpBB