This is topic и опять блок LINTER 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/000134.html

Posted by KAV (Участник № / Member № 2889) on :
 
Уважаемые разработчики! немного разобрался с этим блоком LINTER, но............
и так задача :
1. созда канал типа CALL у которого 0 и 2 атрибут - начальное и конечное время, 1 и 3 - какие-то значения.
2. сделал 2 программы которые состоят из 1 блока LINTER (sel = 0) INP = какое-то время
3. сделал программу которая каждые 3 минуты посылает время в 1-ю программу на вход INP блока LINTER.

работает всё отлично, без замечаний!!!!!!!

4. сделал ещё одну программу которая посылает ежесекундно время во 2-ю програму на вход INP и всё тут тормоза получаются, программа выдаёт данные с задержкой 1,5 - 3 минуты.

Вопрос как можно сделать так что бы данные отображались каждую секунду??? Есть ли у Вас пример такого типа? Подскажите пожалуйста. [duno / незнайка]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Будет более продуктивно, если Вы Ваш тестовый проект с постановкой задачи и ссылками на компоненты проекта пришлете на адрес техподдержки.
 
Posted by KAV (Участник № / Member № 2889) on :
 
проект выслал на адрес hotline@adastra.ru
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Блок LINTER предназначен для более сложных задач с вещественными величинами и имеет математику FLOAT.
При работе с такими целыми числами, какими представляется текущее время, происходит потеря точности на уровне 120-150 целых единиц, что как раз и составляет около 2-3 минут.

Для Вашей конкретной задачи надо отказаться от блока LINTER и использовать простенькую программу типа:

PROGRAM
VAR_INPUT Начальное_Время_R : DATE_AND_TIME; END_VAR
VAR_INPUT Конечное_Время_R : DATE_AND_TIME; END_VAR
VAR_INPUT ТекВремяРасчЗадОИК_R : DATE_AND_TIME; END_VAR
VAR_INPUT Начальная_Мощность_R : REAL; END_VAR
VAR_INPUT Конечная_Мощность_R : REAL; END_VAR
VAR_OUTPUT Канал_хран_ТекМощности_ОИК_In : REAL; END_VAR
VAR VAR_000 : LREAL; END_VAR
VAR VAR_001 : LREAL; END_VAR
VAR VAR_002 : LREAL; END_VAR

VAR_000 = Конечное_Время_R - Начальное_Время_R;
VAR_001 = Конечная_Мощность_R - Начальная_Мощность_R;
VAR_002 = ТекВремяРасчЗадОИК_R - Начальное_Время_R;

Канал_хран_ТекМощности_ОИК_In = VAR_001/VAR_000*VAR_002;

END_PROGRAM
 
Posted by KAV (Участник № / Member № 2889) on :
 
перевёл время в секунды, вроде работает.

[ 08.06.2012, 09:45: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Последний вопрос переносится в новый топик. Данный топик закрывается.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2