Thread Content
Последнее редактирование этого поста было сделано пользователем jerry512158 26 января 2016 года в 11:22.
sub onclick{byval item}
V_Dis "main.Экран_окно2:main01","1#Клапан обратной промывки анионитовой колонны",5, 1, "Anion_FJ2.",1
end sub
***************************************************************************
Sub V_Dis(Byval Pic, Byval Name, Byval Num, Byval V_Num, Byval Prefix, Byval Mode)
Dim a, b, c
HMIRuntime.Tags("Dev_Num").Write Num
HMIRuntime.Tags("Dev_V_Num").Write V_Num
Set a = HMIRuntime.Screens(Pic).ScreenItems("Окно_клапанов")
a.CaptionText = Name
a.TagPrefix = Prefix
a.Visible = False
a.Visible = True
a.PictureName = "Операционное_окно-Клапаны"
c = Pic & ".Окно_клапанов:Операционное_окно-Клапаны"
Set b = HMIRuntime.Screens(c).ScreenItems("Режим")
If Mode = 1 Then
b.Visible = True
Else
b.Visible = False
End If
End Sub
Буду очень благодарен, если кто-нибудь сможет подробно объяснить каждую строку кода
Попробую ответить: sub onclick(byval item) — это событие нажатия на контроль, которое выполняет пользовательскую операцию V_Dis. У действия V_Dis есть шесть параметров: 1. Сначала значение переменной WinCC Dev_Num устанавливается в 5. 2. Затем значение переменной WinCC Dev_V_Num устанавливается в 1. 3. Переменная a присваивается объекту “Окно клапана” на экране Pic. 4. В заголовке окна объекта “Окно клапана” отображается текст “1# Чередующийся режим работы – клапан для подачи воды”. 5. Предфикс для переменных объекта “Окно клапана” устанавливается как “Anion_FJ2.”. 6. Объект “Окно клапана” становится невидимым. 7. Объект “Окно клапана” снова становится видимым. 8. На экране объекта “Окно клапана” отображается изображение “Окно управления – клапан”. 9. Переменная-строка c присваивается значению “main.Окно экрана2:main01.Окно клапана:Окно управления – клапан”. 10. Переменная b присваивается значению параметра “mode” для окна main01 внутри окна main. 11. Этот параметр определяет, видим ли элемент управления mode. У WinCC есть главный экран main. На этом главном экране находится объект окна «Окно экрана 2». Внутри этого объекта окна находится ещё один экран — main02. На экране main02 также имеется объект окна под названием «Окно клапана». Это окно предназначено для управления клапанами с помощью интерфейса человек-машина. Внутри него также находится экран «Окно управления клапаном». Параметр V_DIs передает префикс переменной «Anion_FJ2»; конкретно, через параметр Name указывается, какой именно клапан должен быть управляем. В данном примере речь идет о клапане «1# Ямка для фильтрации, клапан для входящей воды». На экране «Окно управления клапаном» имеется элемент управления под названием «Mode». Видимость этого элемента определяется в зависимости от того, видим ли последний параметр V_Dis. Для обозначения переменных используется префикс, основанный на способах управления устройствами одного типа; названия переменных также схожи. Например, клапаны обозначаются как ***_remote, ***_Ready, ***_Running, ***_Start и т. д. Префикс *** становится частью названия переменной. В данном примере страница «Окно управления клапанами» может служить шаблоном для повторного использования; каждый раз достаточно передавать в объект формы «Окно клапана» разный префикс. Надеюсь, это поможет вам.
Спасибо. Есть два момента, которые мне не понятны. 1. Какова роль двух присваиваний значений в строке V_Dis "main.Экран окно2:main01","1#Обратная промывка анионитовой колонны, входной клапан",5, 1, "Anion_FJ2.",1? (1. Сначала переменной WinCC Dev_Num присваивается значение 5; 2. Затем переменной WinCC Dev_V_Num присваивается значение 1). 2. А что означает последнее число 1?
Последнее изменение в этом посте было сделано пользователем Sichuan Yikong Xinshou 26.01.2016 в 15:48. Поскольку я не могу увидеть всю структуру проекта, предполагаю, что dev_num — это номер устройства, и его значение равно 5. Dev_v_num, по-моему, обозначает номер клапана в устройстве; этот номер равен 1. Эти два номера, вероятно, будут использоваться при управлении с панели управления. Последняя единица отвечает за видимость элемента управления режимом. По моим предположениям, этот режим представляет собой текстовое описание, такое как «ручной/автоматический» или «нормально/сбой». Если значение равно 1, элемент отображается; если 0 — скрывается.