04.03 Автоматизация проектирования с помощью VBA
Руководство пользователя WinCC V6 Основная документация 457
6AV6392-1XA06-0AB0
Для создания макросов, управляемых событиями, с помощью VBA, следует
использовать свойство Events [События]. Использование этого свойства
зависит от объекта динамизации, то есть от того, создается ли макрос для
объекта кадра, для кадра или для свойства.
Создание макроса для объекта или кадра
Выполнение макроса, созданного для кадра или объекта, инициируется,
когда происходит предварительно определенное событие (например, когда
происходит щелчок кнопкой мыши на объекте). В VBA такой макрос
создается путем использования свойства "Events(Index) [События (Индекс)]",
где "Индекс" обозначает событие, инициирующее выполнение макроса:
Sub AddActionToObjectTypeCScript()
'VBA63
Dim objEvent As HMIEvent
Dim objCScript As HMIScriptInfo
Dim objCircle As HMICircle
'Создание окружности. После щелчка кнопкой мыши на объекте
выполняется макрос C
Set objCircle = ActiveDocument.HMIObjects.AddHMIObject("Circle_AB",
"HMICircle")
Set objEvent = objCircle.Events(1)
Set objCScript = objEvent.Actions.AddAction(hmiActionCreationTypeCScript)
'
'Назначение соответствующей пользовательской функции свойству
‘ "SourceCode [Исходный код]":
objCScript.SourceCode = ""
End Sub
Создание макроса для свойства
Выполнение макроса, созданного для свойства объекта или кадра,
инициируется при изменении значения свойства. В VBA для создания такого
макроса применяется свойство "Events(1) [События (1)]", где индекс "1"
обозначает событие "Upon change [По изменению]":
Sub AddActionToPropertyTypeCScript()
'VBA64
Dim objEvent As HMIEvent
Dim objCScript As HMIScriptInfo
Dim objCircle As HMICircle
'Создание окружности. Изменение свойства"Radius [Радиус]" должно
‘активизировать макрос C:
Set objCircle = ActiveDocument.HMIObjects.AddHMIObject("Circle_AB",
"HMICircle")
Set objEvent = objCircle.Radius.Events(1)
Set objCScript = objEvent.Actions.AddAction(hmiActionCreationTypeCScript)
'
'Назначение соответствующей пользовательской функции свойству