This is topic Операция "Трансляция" in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/33/t/000013.html

Posted by DreamWeaver (Участник № / Member № 1485) on :
 
В справке написано, что привязку аргументов при трансляции для канала INPUT нужно делать след. образом:
аппаратное значение (A)<=>программа<=>реальное значение (R).
Но для канала INPUT после операции трансляции идут операции: апертура и экспоненциальное сглаживание.
Если я в программе жестко задаю, что после обработки результат обработки должен записываться в атрибут R, будут ли корректно работать апертура и экспоненциальное сглаживание? То есть апертура и сглаживание производится над аппаратным значением (тогда не понятно, что записывается в атрибут R: результат программы или же результат, полученный после сглаживания), или же над значением, полученным после трансляции (тогда не совсем ясно, почему привязка идет сразу к атрибуту R)?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В атрибут Реальное значение попадает уже после Фильтрации и Сглаживания результата Трансляции.
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Для канала типа INPUT, которые получает данные от источника данных (от 8192 до 10240) при помощи масштабирвоания перевести это значение от 0 до 100 и ограничить в этих эе пределах.
Я это смог сделать только при помощи двух каналов. Первый непосредственно поулчает данные от источника, а второй - программа (в которой только 1 FBD-блок LIMIT) которая получая данные из атрибута A, записывает результат в атрибут R.
Можно конечно в одной программе использовать много блоков LIMIT, но есть ли другой способ, чтобы был задействован только 1 канал.
Пробовал делать канал типа OUTPUT, но почему-то в этом канале результаты масштабирования записывались уже в аппаратное значение, а атрибут Q был всегда нулевым (в спрвке написано, что в атрибут Q данные поступают после масшабирования). Также в справке написано, что в атрибут "Реальное значение" записывает уже клиппированное значение, но на практике входное и реальное значения совпадают. Я поставил флаг "использовать" для границ, а также поставил флаг "Контроль границ". Границы у меня от 0 до 100, но если входное значение, скажем, -20, то и в реальное будет записываться -20. Может я что-то упустил?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Насчет Output - все верно, посмотрите в справке рисунок "Обработка данных в канале". И клипируются данные уже для Выхода. А вот программу клипирования на FBD для канала типа Input можно было на трансляцию повесить, тогда одним каналом обойтись можно.
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
На сколько я понял, под трансляцией понимается вызов программы, а программа - это еще один канал (поэтому получается 2 канала). Можно вообще обойтись одной программой для всех каналов (создать 150 блоков LIMIT в одной программе для 150 каналов), но это не удобно.
Может трансляцию канала типа INPUT можно провести без создания еще одного канала под программу? Как это сделать?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нет - вы неправильно поняли, под Трансляцией понимается процедура трансляции самого канала. Вы программу можете на канал прикрепить, не надо никаких вызовов.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нет - вы неправильно поняли, под Трансляцией понимается процедура трансляции самого канала. Вы программу можете на канал прикрепить, не надо никаких вызовов.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2