Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ОТКРЫТЫЕ ФОРУМЫ / OPEN FORUMS » TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version » Данные из СПАД в TXT

   
Автор / Author Тема / Topic: Данные из СПАД в TXT
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 5 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
Цель следующая:
Из СПАДа получать значения трех каналов.Требуется получать 60 значений каждый час.

Что делаю:
Все делаю по хелперу [Пдмигивание / Wink] . Каждый час в каналы типа КАНАЛ подтипа SetGetSPAD записывается отрицательное значение количества секунд, прошедшее с начала текущих суток.Таких каналов соответственно 3.В поле Time Mask стоит значение- 1 час.По идее каждый час(в случае если каналы из которых берутся данные обрабатываются поминутно)в текстовый файл должны записываться 60 значений каналов, причем таких файлов должно быть 3, по одному на каждый канал.

Что происходит:
Так как обращение к СПАДу происходит для трех каналов одновременно(или по другими непонятным причинам), то обрабатывается только один канал, в результате чего появляется только один текстовый файл со значениями только одного канала.

Вопрос
Каким образом это исправить?что нужно сделать чтобы каждый час появлялось 3 файла с необходимым количеством значений.

З.Ы. Пробовал вводить фазировку на канал - все работает, но тогда получается полная ерунда в файлах(дублирование информации), так как фазировка работает только для каналов с периодом обработки типа цикл.

Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
####
необходимо время на проверку ситуации.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
Хорошо.Жду.
Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Протестировал Вашу ситуацию на релизе 5.16 - все отлично работает, без разнесения по фазам в рамках одного цикла пересчета у всех каналов. [duno / незнайка]
Вы в каком релизе работаете?

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
У меня стоит релиз 5.15 и, к сожалению, не работает. Еще раз опишу как все происходит:в FBD программе подсчитываю количество секунд с начала суток, умножаю на -1.Три значения посылаю по разным каналам.Период обработки у этих каналов для упрощения тестирования 1 минута, чтобы файлы создавались ежеминутно...но создается только один файл.Причем,если канал, ответственный за создание этого файла убрать, то будет создаваться опять же один файл, но для другого канала.
Вот приблизительный лог:

Base Edition
DRAWSERV 5.15
SUPPORT: NetBios
INFO:Load Starting... C:\TraceMode5_Basic\TM50\NODE1.dbb
INFO:Detected NT 5.1
INFO:Found 42 channels
INFO: LoadTime=0.05s CalcPeriod=549ms
ATTACH: default(PicMan)
SIAD:starting...
SIAD: opening file: C:\TraceMode5_Basic\TM50\spad.rep
SIAD: changing file size to = 102400
SIAD: opening file: C:\TraceMode5_Basic\TM50\spad.rep
SIAD: starting server...
DDE:starting...
DDE:wrong NetDDE: Не удается связать службу диспетчера общих баз данных (DSDM)
RTM:math kernel starting...
SCREEN load error screen.000
INFO:work mode
INFO: start time is 18.747 s
ODBC:start
SQL:operator is: INSERT INTO Base (PRIHOD,RASHOD,PROD__,HR____,MIN___,SEC___,YR____,MON___,DAY___) VALUES(4.87042,0,0,0,0,0,0,0,0)
SIAD: read request CH=0x20 Tmin:01.06.2006 22:06:59 0ms Tmax:01.06.2006 22:08:00 0ms BUF:10000, GOT:4 records
SQL:operator is: INSERT INTO Base (PRIHOD,RASHOD,PROD__,HR____,MIN___,SEC___,YR____,MON___,DAY___) VALUES(4.81608,0,0,22,8,0,2006,6,1)
SIAD: read request CH=0x20 Tmin:01.06.2006 22:07:59 0ms Tmax:01.06.2006 22:09:00 0ms BUF:10000, GOT:61 records

Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
А можно взглянуть на Ваш проект?
Есть такое подозрение, что причина может быть в том, что у Вас еше и по ODBC идет обмен SQL-запросами. А так как оба механизма работают по СОМ/DCOM с сервером МРВ, то вероятно - есть блокировка. Попробуйте пока отключить SQL-запросы. И протестировать экспорт в текстовый файл без него.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
по какому адресу можно послать проект?
Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
послал проект на forum@adastra.ru
Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
Отключение обмена по ODBC не помогает:
1.Сначала попробовал изменить канал SQL_выполнить на другой, чтобы не выполнялись запросы.
2.Потом, в дополнение к 1,удалил odbc.cfg
Все то же самое -создается только один текстовый файл.

Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Посмотрел Ваш проект - все верно работает. У Вас же значения каналов RASHOD_ и kuski sahara не меняются в течение той минуты, что вы пытаетесь экспортировать данные - поэтому ничего и не создается, потому как нечего экспортировать.
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
Анатолий, вы не правы.
Во-первых, если даже данных нет, то должен создаваться файл с заголовком без значений.Этого не происходит.
Во-вторых, если дождаться того момента, когда в требуемых каналах появляются значения, то данные файлы не появляются.
В-третьих, не совсем понятно, что вы имеете в виду,говоря "в течение той минуты".Из FBD программы значение количества секунд с начала суток записывается в каждый из каналов ответственных за создание txt файла ежеминутно.

Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Вам необходимо внести некоторые изменения в программу и в настроку каналов экспорта:
1) В программе добавьте лок DIFF (Производная). На его вход подаете значение текущих минут, а его инвертированный выход на входы RUN блоков умножения на -1, чтобы они срабатывали только в момент изменения значения минут.
2) Перевести пересчет каналов spad_rashod, spad_prihod и spad_kuski в значение 1 цикл.

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

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
bigshurik
Junior Member / Новичок
Участник № / Member № 1869


Icon 1 отправлено / posted      Профиль для / Profile for bigshurik           Редактировать/удалить сообщение / Edit/Delete Post 
Большое спасибо за помощь. [Улыбка / Smile] Все работает.
Сообщения / Posts 13 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2