This is topic Принудительная запись в СПАД in forum Редактор Базы Каналов (Математика) / Channel Base Editor at Форум TRACE MODE: техническая поддержка.


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

Posted by fherbeck (Участник № / Member № 1012) on :
 
Мне необходимо организовать принудительную запись в СПАД всех каналов на каждом цикле. Я завел канал "ЗАПИСЬ" типа OUTPUT подтип ДИАГНОСТИКА:ПОТЕРЯ_СПАД.
Далее я пытался применить четыре варианта посылки значения (10 и 0x10 по документации непонятно имеются в виду шестнадцатеричные или десятичные числа) в этот канал:
1) На канал "ЗАПИСЬ" навесил процедуру УПРАВЛЕНИЕ, которая пишет 10 в ЗАПИСЬ_In
2) Завел канал типа I подтип управление, на который навесил процедуру УПРАВЛЕНИЕ, которая пишет 10 в ЗАПИСЬ_In
3) Написал IL метапрограмму, которая пишет 10 в ЗАПИСЬ_In
4) Завел постоянно изменяющийся канал типа I (СИСТЕМНЫЙ:время_выполнения), на который навесил процедуру ТРАНСЛЯЦИЯ, которая пишет 10 в ЗАПИСЬ_In
Во всех четырех случаях получил один и тот же результат - в СПАД пишутся только изменяющиеся каналы. Каналы, значение которых неизменно, попадают в СПАД только в момент запуска проекта.

Как мне решить проблему принудительной записи на каждом цикле?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Что-то очень сложное у Вас получилось на FBD все можно было легко сделать. И не совсем понятно откуда значение 10, там разные есть значения (формат DEC)?
Скорее всего у Вас значение канала, управления архивацией, не меняется по Вашему алгоритму.
Попробуйте сделать обычную FBD - будет гораздо проще.
 
Posted by fherbeck (Участник № / Member № 1012) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
Что-то очень сложное у Вас получилось на FBD все можно было легко сделать. И не совсем понятно откуда значение 10, там разные есть значения (формат DEC)?

Сейчас к сожалению нет под рукой документации, но насколько я помню, там перечислены различные значения для различных действий и написано, что любое другое значение - принудительное сохранение в СПАД всех каналов. 10 - это значение не попадающее в список, приведенный в документации - т.е. сохранение всех каналов. Вопрос следующий - перечисленные в доке значения десятичные или шестнадцатеричные?

quote:
Отправитель / Originally posted by AdAstra Technical Support:

Скорее всего у Вас значение канала, управления архивацией, не меняется по Вашему алгоритму.
Попробуйте сделать обычную FBD - будет гораздо проще.

А я и делал обычную FBD состоящую из одного блока MOVE и пытался вешать ее как на процедуру управления канала ПОТЕРЯ СПАД, так и на процедуру трансляции этого же канала. Результат нулевой. Или нужно подключить эту FBD программу куда-то в другое место?
Может быть в релизе 5.15 принудительное сохранение не работает?
А у Вас случаем нет рабочего примера с принудительной записью в СПАД?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Формат значений десятичный.
2) Просто установка канала в значение 10 должного результата не даст. Дело в том, что принудительная запись в СПАД производится только по изменению значения канала с нулевого значения на ненулевое. То есть - FBD-программа должна с определенным периодом посылать в канал в течение одного такта значение 10, а потом снова сбрасывать его в ноль. Сделать это можно, например, контролируя значение остатка от деления текущих секунд на уставку периода в секундах и когда она равна 0 - по значению условия через блок SEL подавать на вход канала значение 10 или 0. Понадобится всего 4 блока: TIME, %, == и SEL.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2