1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Программирование кнопки.

Ответить

Автор темы
Ramzes
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 22 фев 2021, 08:38
Имя: Павел
Благодарил (а): 2 раза

Программирование кнопки.

Сообщение Ramzes »

Добрый день. Значит есть кнопка на экране WinCC. Подскажите пожалуйста, как надо прописать в VB action, что бы при одном нажатии на кнопку активировался необходимы тэг и оставался активным, а при втором нажатии активация снималась? Сразу скажу, в программировании я полный нуль,только только начал знакомиться.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 342
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

Программирование кнопки.

Сообщение v0v »

Можно попробовать переключатель, можно две кнопки на одном мести одну по умолчанию сделать невидимой, можно в контроллере запрограммировать вариантов много.

makesstr
осмотрелся
осмотрелся
Сообщения: 187
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 32 раза

Программирование кнопки.

Сообщение makesstr »

If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
WinCC 7.4 SP1 Upd15, Step5.6

Автор темы
Ramzes
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 22 фев 2021, 08:38
Имя: Павел
Благодарил (а): 2 раза

Программирование кнопки.

Сообщение Ramzes »

makesstr писал(а): 22 фев 2021, 12:22 If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
А можно расшифровать, если не сложно?

stesl
шаман
шаман
Сообщения: 990
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 87 раз
Поблагодарили: 126 раз

Программирование кнопки.

Сообщение stesl »

makesstr писал(а): 22 фев 2021, 12:22 If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
А чо так можно было? ))) А, ну да, это же маленькая WinCC. Кстати, а какая у автора? )

Отправлено спустя 1 минуту 24 секунды:
Ramzes писал(а): 22 фев 2021, 13:47 А можно расшифровать, если не сложно?
То есть прочитать курс по VBS? testAlarm - Ваш тег, далее практически без изменений. Но это если речь не о старших WinCC

Andreywys
освоился
освоился
Сообщения: 286
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 73 раза

Программирование кнопки.

Сообщение Andreywys »

А чем invertBit не подходит, зачем VB? Можно еще цвет кнопки по состоянию бита менять.

makesstr
осмотрелся
осмотрелся
Сообщения: 187
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 32 раза

Программирование кнопки.

Сообщение makesstr »

Ramzes писал(а): 22 фев 2021, 13:47
makesstr писал(а): 22 фев 2021, 12:22 If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
А можно расшифровать, если не сложно?
Я в шоке просто от этого, вам дают готовое решение сложностью уровня школы, а вы еще спрашиваете. Сложно элементарные вещи загуглить, даже не мануал по vbs, ладно, а просто "if-then-else", вот вам Большая энциклопедия школьника, читайте. :use_search:
[+]
http://for-schoolboy.ru/Uslovnyiy-opera ... e-545.html
WinCC 7.4 SP1 Upd15, Step5.6

stesl
шаман
шаман
Сообщения: 990
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 87 раз
Поблагодарили: 126 раз

Программирование кнопки.

Сообщение stesl »

makesstr писал(а): 22 фев 2021, 21:43 Большая энциклопедия школьника
Плохо, что дают все таки Паскаль. Нет, я не противник этого языка, скорее наоборот ) Но заинтересовавшись чуть более, ребенку нужно нырять в Си по хорошему... И далеко не все понимают, что произошло )

Код: Выделить всё

for(int i=1; i<=k; i++)

Parliament74
корифей
корифей
Сообщения: 789
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 202 раза

Программирование кнопки.

Сообщение Parliament74 »

На C скрипт будет выглядеть так:

#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char*lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("Имя-тега",1-GetTagBit("Имя-тега"));
}

Привязывается обычно на событие Mouse Release )

Автор темы
Ramzes
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 22 фев 2021, 08:38
Имя: Павел
Благодарил (а): 2 раза

Программирование кнопки.

Сообщение Ramzes »

makesstr писал(а): 22 фев 2021, 21:43
Ramzes писал(а): 22 фев 2021, 13:47
makesstr писал(а): 22 фев 2021, 12:22 If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
А можно расшифровать, если не сложно?
Я в шоке просто от этого, вам дают готовое решение сложностью уровня школы, а вы еще спрашиваете. Сложно элементарные вещи загуглить, даже не мануал по vbs, ладно, а просто "if-then-else", вот вам Большая энциклопедия школьника, читайте. :use_search:
[+]
http://for-schoolboy.ru/Uslovnyiy-opera ... e-545.html
Благодарю за помощь, но в школе мне не преподавали уроки программирования, а жаль, да и не было такой необходимости, до недавнего времени, поэтому давайте жить дружно.

Отправлено спустя 2 минуты 4 секунды:
Parliament74 писал(а): 23 фев 2021, 06:20 На C скрипт будет выглядеть так:

#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char*lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("Имя-тега",1-GetTagBit("Имя-тега"));
}

Привязывается обычно на событие Mouse Release )
Благодарю.
Ответить

Вернуться в «WinCC»