• обязательно заполнить свой профиль на русском языке кириллицей
  • не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему
  • дублирование сообщений приравнивается к спаму
  • за поиск и предложение пиратского ПО - бан без предупреждения
  • рекламу и частные объявления "куплю/продам" мы не размещаем ни на каких условиях

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

Ответить

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

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

Сообщение Ramzes »

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


v0v
осмотрелся
осмотрелся
Сообщения: 183
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Поблагодарили: 18 раз

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

Сообщение v0v »

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


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

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

Сообщение 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
не первый раз у нас
не первый раз у нас
Сообщения: 322
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 38 раз
Поблагодарили: 21 раз

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

Сообщение 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
осмотрелся
осмотрелся
Сообщения: 189
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 15 раз
Поблагодарили: 53 раза

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

Сообщение Andreywys »

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


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

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

Сообщение 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
не первый раз у нас
не первый раз у нас
Сообщения: 322
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 38 раз
Поблагодарили: 21 раз

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

Сообщение stesl »

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

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

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


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

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

Сообщение 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»