Округление реального значение канала в TraceMode 6.08 | ПЛК и АСУТП

tm1-1В TM 6.08 можно округлять Реальное значение канала Float (Атрибут R, 0) 2 способами:

1. В ГЭ «Текст» (который привязан к реальному значению канала) выставить форматирование в си-формате. Например «%.1f»- вывести значение с 1 знаком после запятой,  «%.2f» — вывести значение с 2 знаками после запятой и т.д.

Но в этом случае значение округляется только при отображении. Это значит, что R не будет округлено.
Например, R = 0.087 при форматировании=»%.1f» на ГЭ «Текст» будет отображаться как 0.1

form_1f

Второй способ мне нравится больше:


2. Можно округлить само значение R, а не только его отображение на ГЭ «Текст» с помощью программы на FBD.

Что это нам дает? 
Допустим, есть тренд с кривой температуры. Отображаем на тренде кривую с форматированием до одного знака после запятой. Смотрим на тренд, видим, что кривая несколько кривовата. Ставим визир на одной точке кривой, видим в легенде значение
20.1 ºC.

 

Ставим визир на другой точке кривой, визуально находящейся ниже предшествующей, и видим в легенде то же значение 20.1 ºC.
Что за диво?
Точки кривой на визуально разных уровнях, а значение одно и то же!
Все дело в том, что в первом случае R=20.13 ºC, а во втором R=20.06 ºC. А в легенде пишет и там и там 20.1 ºC.

 

Т.е. кривая отображает всегда R, а не форматированное значение.
А в легенде наоборот отображается форматированное значение а не R.
Это может вызвать ненужные вопросы юзеров.

 

Итак, округляем R канала:
Создаем простенькую программу, в Система->Источники/приемники->Генераторы_1 создаем Генератор «Синусоида».

 

В Система->RTM_1->Каналы Создаем 2 канала Float: Синусоида1 и Синусоида2.
Привязываем эти каналы к генератору синусоиды:

 

Масштабируем каналы для того, чтобы наша синусоида была в диапазоне 0-1:

01

 

Масштабируем каналы для того, чтобы наша синусоида была в диапазоне 0-1:

02

 

Теперь самое интересное, создаем программу (язык FBD) округления входного значения в выходное с 1 знаком после запятой:

03

 

Привязываем эту программу к каналу Синусоида2 с помощью «Трансляции»(РП том 1, стр. 174):

04

 

Привязываем аргументы канала Синусоида2 к атрибутам этого же канала:

05

 

Теперь само Реальное значение канала автоматически будет округляться до 1 знака после запятой.

Вот пример, как округляется R Синусоиды2 по сравнению с R Синусоиды1:

06

 

Добавить комментарий

Ваш e-mail не будет опубликован.

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:
Confirm that you are not a bot - select a man with raised hand:

Подпишитесь на нашу рассылку


Copyright © 2016. Перцух Алексей

Индекс цитирования