This is topic Тип HANDLE 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/000181.html

Posted by L2Nser (Участник № / Member № 2710) on :
 
Возможно ли аргументу экрана типа HANDLE программно передать значение или только через ГЭ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Непосредственно из программы управлять аргументом экрана типа HANDLE нельзя.

Надо делать это с использованием пересылки(каналом CALL.MOVE).

Для уточнения пришлите запрос на адрес техподдержки.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ответ почтой.
 
Posted by vyusupov (Участник № / Member № 7171) on :
 
спасибо заранее.
 
Posted by vyusupov (Участник № / Member № 7171) on :
 
добавлю - что передача параметров в тренд через HANDLE выглядит красиво и работает корректно - спасибо.
 
Posted by vyusupov (Участник № / Member № 7171) on :
 
 -
 
Posted by vyusupov (Участник № / Member № 7171) on :
 
Нужно в программе перебрать 4*16 параметров -
(OPC HDA)- числовой канал, взять значение
и передать в SQL.
попробовал сделать через HANDLE - никак
"Е0043 Неверный аргумент операции"
про пересылку каналом .MOVE - недопонял как.

подскажите как проще реализовать перебор
из программы которая будет выполнятся по расписанию...
спасибо заранее.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Используйте "Специальные функции в ST-программе"

//чтение атрибута канала (целое со знаком, 4 байта)

DINT getAttributeI(UDINT ch_id, UINT attr_id)


//чтение атрибута канала (вещественное, 4 байта)

REAL getAttributeF(UDINT ch_id, UINT attr_id)

//установка атрибута канала (целое со знаком, 4 байта)

setAttributeI(UDINT ch_id, UINT attr_id, DINT value)


//установка атрибута канала (вещественное,4 байта)

setAttributeF(UDINT ch_id, UINT attr_id, REAL value)

Целечисленные функции для работы с метками времени.
Вещественные функции - для значений каналов FLOAT.

Считывайте из атрибутов 45 и 0 каналов FLOAT и записывайте в соответствующие аргументы канала CALL.SQL.

Аргументы канала CALL.SQL в поле атрибутов индексируются, начиная с 1000:
ARG_000 - attr_id = 1000,
ARG_001 - attr_id = 1001,
и т.д.
 
Posted by vyusupov (Участник № / Member № 7171) on :
 
Спасибо большое.
со значениями получается.
но - как менее ресурсоемко для системы реализовать ожидание выполнения запроса числового канала OPC HDA?

TI_from = dt#2017-05-16-10:00:00;
SetAttributeI(137,45,TI_from);
SetAttributeI(137,3,0);
kkk = 0;
While kkk == 0 do kkk= GetAttributeI(137,3);
End_While;

TIME_FOR_SQL=GetAttributeI(137,45);
VALUE_FOR_SQL=GetAttributeI(137,0);

конструкция While do - сильно завешивает систему.
есть ли аналоги "матрицы состояния"?
спасибо большое за ответ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ответ дан почтой.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2