- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Программирование кнопки.
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 22 фев 2021, 08:38
- Имя: Павел
- Благодарил (а): 2 раза
Программирование кнопки.
Добрый день. Значит есть кнопка на экране WinCC. Подскажите пожалуйста, как надо прописать в VB action, что бы при одном нажатии на кнопку активировался необходимы тэг и оставался активным, а при втором нажатии активация снималась? Сразу скажу, в программировании я полный нуль,только только начал знакомиться.
-
- не первый раз у нас
- Сообщения: 372
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 50 раз
Программирование кнопки.
Можно попробовать переключатель, можно две кнопки на одном мести одну по умолчанию сделать невидимой, можно в контроллере запрограммировать вариантов много.
-
- освоился
- Сообщения: 222
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 38 раз
Программирование кнопки.
If HMIRuntime.SmartTags("testAlarm") = 1 Then
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
HMIRuntime.SmartTags("testAlarm") = 0
Else HMIRuntime.SmartTags("testAlarm") = 1
End If
WinCC 7.4 SP1 Upd15, Step5.6
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 22 фев 2021, 08:38
- Имя: Павел
- Благодарил (а): 2 раза
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Программирование кнопки.
А чо так можно было? ))) А, ну да, это же маленькая WinCC. Кстати, а какая у автора? )
Отправлено спустя 1 минуту 24 секунды:
То есть прочитать курс по VBS? testAlarm - Ваш тег, далее практически без изменений. Но это если речь не о старших WinCC
-
- освоился
- Сообщения: 299
- Зарегистрирован: 15 сен 2016, 18:47
- Имя: Андрей
- Страна: Россия
- город/регион: Вологда
- Благодарил (а): 20 раз
- Поблагодарили: 78 раз
Программирование кнопки.
А чем invertBit не подходит, зачем VB? Можно еще цвет кнопки по состоянию бита менять.
-
- освоился
- Сообщения: 222
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 38 раз
Программирование кнопки.
Я в шоке просто от этого, вам дают готовое решение сложностью уровня школы, а вы еще спрашиваете. Сложно элементарные вещи загуглить, даже не мануал по vbs, ладно, а просто "if-then-else", вот вам Большая энциклопедия школьника, читайте.
WinCC 7.4 SP1 Upd15, Step5.6
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Программирование кнопки.
Плохо, что дают все таки Паскаль. Нет, я не противник этого языка, скорее наоборот ) Но заинтересовавшись чуть более, ребенку нужно нырять в Си по хорошему... И далеко не все понимают, что произошло )
Код: Выделить всё
for(int i=1; i<=k; i++)
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Программирование кнопки.
На C скрипт будет выглядеть так:
#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char*lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("Имя-тега",1-GetTagBit("Имя-тега"));
}
Привязывается обычно на событие Mouse Release )
#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char*lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("Имя-тега",1-GetTagBit("Имя-тега"));
}
Привязывается обычно на событие Mouse Release )
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 22 фев 2021, 08:38
- Имя: Павел
- Благодарил (а): 2 раза
Программирование кнопки.
Благодарю за помощь, но в школе мне не преподавали уроки программирования, а жаль, да и не было такой необходимости, до недавнего времени, поэтому давайте жить дружно.
Отправлено спустя 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 )
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 19 янв 2021, 07:15
- Имя: Евгений
Программирование кнопки.
Добрый день.
Подскажите, как в wincc назначить разрешение на кнопку нескольким пользователям (лучше группе пользователей) с помощью C-action? Например изпользуя Operator-Control Enable
Подскажите, как в wincc назначить разрешение на кнопку нескольким пользователям (лучше группе пользователей) с помощью C-action? Например изпользуя Operator-Control Enable
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 19 янв 2021, 07:15
- Имя: Евгений
Программирование кнопки.
Спасибо, это знаю, только через Miscellaneous/Autorization, но мне нужен скрипт проверки принадлежности к группе. Хочу применить для Operator-Control Enable, так как это свойство используется в существующем проекте.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 19 янв 2021, 07:15
- Имя: Евгений
Программирование кнопки.
Вроде решил:
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
return PASSCheckLevelPermission(2); // в скобках номер уровня
}
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
return PASSCheckLevelPermission(2); // в скобках номер уровня
}