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

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

Модератор: Глоб.модераторы

Ответить

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

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

Сообщение Ramzes »

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

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

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

Сообщение v0v »

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

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

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

Сообщение 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
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

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

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

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

Сообщение Andreywys »

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

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

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

Сообщение 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
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

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

Сообщение stesl »

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

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

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

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

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

Сообщение 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 )
Благодарю.

Ratlin74
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 19 янв 2021, 07:15
Имя: Евгений

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

Сообщение Ratlin74 »

Добрый день.
Подскажите, как в wincc назначить разрешение на кнопку нескольким пользователям (лучше группе пользователей) с помощью C-action? Например изпользуя Operator-Control Enable

Dmitriy1983
здесь недавно
здесь недавно
Сообщения: 94
Зарегистрирован: 29 окт 2017, 19:52
Имя: Дмитрий
Благодарил (а): 5 раз
Поблагодарили: 18 раз

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

Сообщение Dmitriy1983 »

Добрый. В свойствах кнопки в разделе "Security" вставляешь группу.

Ratlin74
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 19 янв 2021, 07:15
Имя: Евгений

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

Сообщение Ratlin74 »

Спасибо, это знаю, только через Miscellaneous/Autorization, но мне нужен скрипт проверки принадлежности к группе. Хочу применить для Operator-Control Enable, так как это свойство используется в существующем проекте.

Ratlin74
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 19 янв 2021, 07:15
Имя: Евгений

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

Сообщение Ratlin74 »

Вроде решил:
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
return PASSCheckLevelPermission(2); // в скобках номер уровня

}
Ответить

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