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

Изменение цвета шрифта поля i/o field

Ответить

Автор темы
Marat
новенький
новенький
Сообщения: 1
Зарегистрирован: 28 май 2020, 07:06
Имя: Марат
Страна: Россия
город/регион: Башкортостан

Изменение цвета шрифта поля i/o field

Сообщение Marat »

Подскажите пожалуйста, как с помощью скрипта можно изменить цвет шрифта поля i/o field.
Например есть параметр расхода который нужно поддерживать от 2 м3/ч до 5 м3/ч. Все измерения в этом диапозоне должны быть черными а остальные вне диапозона красными

LexSL
осмотрелся
осмотрелся
Сообщения: 192
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 65 раз
Поблагодарили: 46 раз

Изменение цвета шрифта поля i/o field

Сообщение LexSL »

1. Создаете скрипт, например GetValueStatus:

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

Function GetValueStatus(ByVal Value)
'Tip:
' 1. Use the <CTRL+SPACE> or <CTRL+I> shortcut to open a list of all objects and functions
' 2. Write the code using the HMI Runtime object.
'  Example: HmiRuntime.Screens("Screen_1").
' 3. Use the <CTRL+J> shortcut to create an object reference.
'Write the code as of this position:
If (Value > 0.00) And (Value <= 2.00) Then
	GetValueStatus = 1
Else 
	If (Value > 2.00) And (Value <= 5.00) Then
		GetValueStatus = 2
	Else
		If (Value > 5.00) And (Value <= 100.00) Then
			GetValueStatus = 3
		Else
			GetValueStatus = 0	
		End If	
	End If	
End If		

End Function
2. Создаете внутренний тег типа Int - например Flow1_Status
3. Тег Flow - уже у вас есть - расход. На событие "Value change" делаете вызов скрипта:
3.png
4. На кадре:
4.png
в рантайме:
5.png
А еще лучше: перенести формирование статуса в контроллер и в панели получать готовое значение статуса и раскрашивать как угодно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

POV
корифей
корифей
Сообщения: 762
Зарегистрирован: 12 авг 2008, 11:05
Имя: Патрушев Олег Валерьевич
Страна: Россия
город/регион: г. Н.Новгород
Благодарил (а): 105 раз
Поблагодарили: 146 раз

Изменение цвета шрифта поля i/o field

Сообщение POV »

А зачем скрипт, если в поле Range можно сразу диапазоны указывать "2-3". Не помню прокатывает ли с Real-Float.

LexSL
осмотрелся
осмотрелся
Сообщения: 192
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 65 раз
Поблагодарили: 46 раз

Изменение цвета шрифта поля i/o field

Сообщение LexSL »

POV писал(а): 28 май 2020, 22:29 Не помню прокатывает ли с Real-Float
Не прокатывает. дробное число не указать
Ответить

Вернуться в «Операторские панели»