По-моему мнению, округление более реально отображает значение датчика.Даниленко Сергей писал(а):Сейчас отбрасывается дробная часть.
Делать округление?
Поддержка WS3610 Heavy Weather
Модераторы: ElenVR, Людмила, PR
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
Пока ждём новую версию FdImageUpdater, написал маленькую программульку, которая вытаскивает из файла currdat.lst данные датчиков и выводит их в файлы *.txt, а затем эти файлы уже обрабатываю FdImageUpdater'ом для последовательного вывода значений из файлов в *.tga файл. Вроде всё работает, вот только не нашел нового описания FdImageUpdater у вас на фытыпы.
В частности меня интересует формат текстового файла.
К примеру я пишу в файл строку:
Всё нормально выводится, при изменении датчиков - меняется картинка.
Но если я запишу в файл строку:
(я это делаю при выходе из программы, дабы убрать с экрана показания, если данные не обновляются), то выводится всё равно предыдущее значение. Так и не понял алгоритма работы программы с пустым значением текста (получается что пустое значение просто игнорируется), а в описании про формат файла очень скудно написано. Поясните плиз.
В частности меня интересует формат текстового файла.
К примеру я пишу в файл строку:
Код: Выделить всё
Температура: -4°C
Но если я запишу в файл строку:
Код: Выделить всё
Температура:
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Формат текстового файла (для задания "Text") следующий:
Text_box_name_1 : value1
Text_box_name_2 : value2
Text_box_name_3 : value3
Text_box_name_4 : value4
:::::::
где:
Text_box_name_1 - название текстового бокса в регионе (*.rgn-файле), в который будет подставляться текст
: - разделитель
value1 - строка, которая будет подставляться в текстовый бокс с названием Text_box_name_1
Пустое значение, о котором вы упоминаете, игнорируется и используется старое значение. Это сделано для того, чтобы не показывать пустоту в случае если текстовый файл к моменту генерации картинки не обновился корректно (допустим, не получены по каким-то причинам данные).
Счищать данные по выходе из программы можно через настройку программы "Clear target image file". Если ее включить, то при выходе будет очищено конечное изображение.
Text_box_name_1 : value1
Text_box_name_2 : value2
Text_box_name_3 : value3
Text_box_name_4 : value4
:::::::
где:
Text_box_name_1 - название текстового бокса в регионе (*.rgn-файле), в который будет подставляться текст
: - разделитель
value1 - строка, которая будет подставляться в текстовый бокс с названием Text_box_name_1
Пустое значение, о котором вы упоминаете, игнорируется и используется старое значение. Это сделано для того, чтобы не показывать пустоту в случае если текстовый файл к моменту генерации картинки не обновился корректно (допустим, не получены по каким-то причинам данные).
Счищать данные по выходе из программы можно через настройку программы "Clear target image file". Если ее включить, то при выходе будет очищено конечное изображение.
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
Странное что-то произошло с FdImageUpdater'ом. На 4-ые сутки работы перестал формировать картинки показаний датчиков. Посмотрел в процессах - слетел процесс HeavyWeather.exe
Пробовал перезапустить FdImageUpdater, не помогло. И заново запускал WS3610Configuration.exe - бесполезно. Помог только ручной запуск HeavyWeather.exe, но теперь она у меня висит не в режиме "hidden", а в обычном окне. Перегружать эфирную машинку нока не очень хочется, подожду дня профилактики, может поможет, а пока так поработаем.
Пробовал перезапустить FdImageUpdater, не помогло. И заново запускал WS3610Configuration.exe - бесполезно. Помог только ручной запуск HeavyWeather.exe, но теперь она у меня висит не в режиме "hidden", а в обычном окне. Перегружать эфирную машинку нока не очень хочется, подожду дня профилактики, может поможет, а пока так поработаем.
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Странное что-то произошло с FdImageUpdater'ом. На 4-ые сутки работы перестал формировать картинки показаний датчиков.
Вообще-то насчет HeavyWeather.exe - это к разработчикам WS3610. Мы к этому никакого отношения не имеем

Тем не менее давайте разбираться.
Что такое слетел процесс? Что именно вы увидели?Посмотрел в процессах - слетел процесс HeavyWeather.exe
Нужно убить процесс "slgpiservers.exe", которым пользуется ImageUpdater, а потом запустить ImageUpdater снова. Вполне вероятно, что проблема бы разрешилась.Пробовал перезапустить FdImageUpdater, не помогло...
Конфигуратор только лишь прописывает в реестр путь к конфиг. файлу и путь к HeavyWeather.exе. Больше он ничего не делает! Естественно и результата никакого вы не получили.И заново запускал WS3610Configuration.exe - бесполезно.
Сообщите, пожалуйста, если снова возникнут проблемы.Помог только ручной запуск HeavyWeather.exe, но теперь она у меня висит не в режиме "hidden"...
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Краткий отчет о проделанной работе по усовершенствованию поддержки WS3610.
1)Для более удобной работы добавлен новый тип задания - SensorEx

2)На следующей странице выбирается регион (rgn-файл), который может содержать несколько текстовых полей

3)На следующей странице необходимо выбрать набор сенсоров, с которыми вы планируете работать

и настроить их

Среди настроек вы можете выбрать какое значение использовать при работе:
-берется непосредственно из датчика
-берется из датчика, но используется файл текстовых подстановок
Файл текстовых подстановок состоит из набора строк, каждая из которых имеет следующий формат: <граничное значение> <строка текста>
Пример файла подстановок:
22.5 Северный
67.5 Северо-Восточный
112.5 Восточный
157.5 Юго-Восточный
202.5 Южный
247.5 Юго-Западный
292.5 Западный
337.5 Северо-Западный
1000 Северный
Принцип работы с файлом текстовых подстановок прост - если значение, полученное из датчика меньше чем граничное значение, то вместо значения датчика используется соответствующая строка.
Например, если WS3610 возвращает направление ветра 183,5 градуса, то будет выведено значение "Южный"
4)На следующей странице "связываются" текстовые поля из региона (rgn-файл) и те значения сенсоров, которые вы хотите в них видеть.

В одно текстовое поле можно выводить значения из нескольких сенсоров

Формат строки следующий:
текст1 <#1> текст2 <#2> текст3 <#3>.....
где:
текст - произвольный текст
<#N> - номер сенсора из списка, который был сделан в п.3
Сейчас заканчивается разработка и после тестирования мы сможем предоставить новую версию программы
1)Для более удобной работы добавлен новый тип задания - SensorEx

2)На следующей странице выбирается регион (rgn-файл), который может содержать несколько текстовых полей

3)На следующей странице необходимо выбрать набор сенсоров, с которыми вы планируете работать

и настроить их

Среди настроек вы можете выбрать какое значение использовать при работе:
-берется непосредственно из датчика
-берется из датчика, но используется файл текстовых подстановок
Файл текстовых подстановок состоит из набора строк, каждая из которых имеет следующий формат: <граничное значение> <строка текста>
Пример файла подстановок:
22.5 Северный
67.5 Северо-Восточный
112.5 Восточный
157.5 Юго-Восточный
202.5 Южный
247.5 Юго-Западный
292.5 Западный
337.5 Северо-Западный
1000 Северный
Принцип работы с файлом текстовых подстановок прост - если значение, полученное из датчика меньше чем граничное значение, то вместо значения датчика используется соответствующая строка.
Например, если WS3610 возвращает направление ветра 183,5 градуса, то будет выведено значение "Южный"
4)На следующей странице "связываются" текстовые поля из региона (rgn-файл) и те значения сенсоров, которые вы хотите в них видеть.

В одно текстовое поле можно выводить значения из нескольких сенсоров

Формат строки следующий:
текст1 <#1> текст2 <#2> текст3 <#3>.....
где:
текст - произвольный текст
<#N> - номер сенсора из списка, который был сделан в п.3
Сейчас заканчивается разработка и после тестирования мы сможем предоставить новую версию программы
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
Пока "суд да дело"
набросал малюсенькую программульку на Дельфях для поддержки этой штуковины.
Чего делает:
1. Через определенный интервал (задается в программе) считывает данные с currdat.lst
2. Переводит все значения из "вражьих" СИ в наши.
3. Формирует текстовые файлы вида:
Температура: 0°C
Давление: 737мм
Влажность: 70%
Ветер: Ю 0.9м/с
Я эти файлы использую в программе FdImageUpdater для вывода значений под логотипом.
4. Из строки шаблона (задается пользователем в программе) формирует *.tga файл для использования его в бегущей строке.
Строка шаблона задается пользователем и имеет примерно такой вид:
Сейчас в городе Энске температура воздуха [outdoor_temperature]°C, атмосферное давление [pressure_absolute] мм рт.ст., влажность воздуха [outdoor_humidity]%, [wind]. [weather_tendency_text]. Телеканал "Тра-та-та" желает вам отличной погоды!
В эту строку вместо подстрок [значение_датчика] подставляются значения соответствующих датчиков и после этого формируется обычный файл *.tga при помощи программы FrwTitle.exe (автоматически).
Результат бегущей строки будет такой:
Сейчас в городе Энске температура воздуха 0°C, атмосферное давление 737 мм рт.ст., влажность воздуха 70%, ветер южный 0,3 м/с. Атмосферное давление растёт. Телеканал "Тра-та-та" желает вам отличной погоды!
5. Поскольку в файле currdat.lst нет значений порывов ветра wind gust, приходится значения скорости ветра и направления хранить в массивчике и его потом анализировать.
Программулька работает уже неделю, полет нормальный.
Единственная проблемка:
В файле журнала проскакивают такие записи:
Warning: 9:54:34.04 titleObjLoad {П} 0:00:35.08 [0.10] E:\Forvard\METEO\Погода.spt Check 24
ErrSignal: 9:54:34.15 titleObjLoad {П} 0:00:36.00 [0.10] E:\Forvard\METEO\Погода.spt Check change 0 0 1
Warning: 9:54:36.44 titleObjLoad {П} 0:00:35.08 [0.10] E:\Forvard\METEO\Погода.spt Check 8
ErrSignal: 9:54:36.55 titleObjLoad {П} 0:00:36.00 [0.10] E:\Forvard\METEO\Погода.spt Check change 0 0 1
Думаю, что это когда моя программка делает файл *.tga, то он в это время недоступен для чтения. Может эту проблему решить так: сначала создавать tmp-шный tga-файл, а затем переименовывать его в нужный?

Чего делает:
1. Через определенный интервал (задается в программе) считывает данные с currdat.lst
2. Переводит все значения из "вражьих" СИ в наши.
3. Формирует текстовые файлы вида:
Температура: 0°C
Давление: 737мм
Влажность: 70%
Ветер: Ю 0.9м/с
Я эти файлы использую в программе FdImageUpdater для вывода значений под логотипом.
4. Из строки шаблона (задается пользователем в программе) формирует *.tga файл для использования его в бегущей строке.
Строка шаблона задается пользователем и имеет примерно такой вид:
Сейчас в городе Энске температура воздуха [outdoor_temperature]°C, атмосферное давление [pressure_absolute] мм рт.ст., влажность воздуха [outdoor_humidity]%, [wind]. [weather_tendency_text]. Телеканал "Тра-та-та" желает вам отличной погоды!
В эту строку вместо подстрок [значение_датчика] подставляются значения соответствующих датчиков и после этого формируется обычный файл *.tga при помощи программы FrwTitle.exe (автоматически).
Результат бегущей строки будет такой:
Сейчас в городе Энске температура воздуха 0°C, атмосферное давление 737 мм рт.ст., влажность воздуха 70%, ветер южный 0,3 м/с. Атмосферное давление растёт. Телеканал "Тра-та-та" желает вам отличной погоды!
5. Поскольку в файле currdat.lst нет значений порывов ветра wind gust, приходится значения скорости ветра и направления хранить в массивчике и его потом анализировать.
Программулька работает уже неделю, полет нормальный.
Единственная проблемка:
В файле журнала проскакивают такие записи:
Warning: 9:54:34.04 titleObjLoad {П} 0:00:35.08 [0.10] E:\Forvard\METEO\Погода.spt Check 24
ErrSignal: 9:54:34.15 titleObjLoad {П} 0:00:36.00 [0.10] E:\Forvard\METEO\Погода.spt Check change 0 0 1
Warning: 9:54:36.44 titleObjLoad {П} 0:00:35.08 [0.10] E:\Forvard\METEO\Погода.spt Check 8
ErrSignal: 9:54:36.55 titleObjLoad {П} 0:00:36.00 [0.10] E:\Forvard\METEO\Погода.spt Check change 0 0 1
Думаю, что это когда моя программка делает файл *.tga, то он в это время недоступен для чтения. Может эту проблему решить так: сначала создавать tmp-шный tga-файл, а затем переименовывать его в нужный?
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Именно так и нужно поступать. Причем переименовывать нужно в цикле с паузой (но не в бесконечном) - чтобы не нарваться на ту же проблему, от которой вы пытаетесь избавиться.Думаю, что это когда моя программка делает файл *.tga, то он в это время недоступен для чтения. Может эту проблему решить так: сначала создавать tmp-шный tga-файл, а затем переименовывать его в нужный?
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
Храню N значений направлений ветра и скорости ветра (анализирую последние полчаса). Из массива скорости ветра определяются среднее, минимальное и максимальное значения. Из анализа значений возможны следующие варианты текста:Даниленко Сергей писал(а):Для НоваяРеальность:
А можно ли поподробнее? Как вы это анализируете? Что именно выдаете?
1. Скорость ветра примерно одинакова (Макс-Мин<=2) и разность среднего и каждого значения в массиве не превышает некоторой константы. Тогда выдаю скорость ветра Ср.значение м/с
2. Ветер порывистый. Выдаю скорость ветра Мин-Макс м/с
3. Ветра нет.
Что касается направлений, то примерно тоже самое. Выдается либо усредненное направление, либо "ветер переменных направлений, преимущественно такой-то".
Но это актуально только для погодной бегущей строки, когда метеоусловия выдаются в текстовом виде.
Если же выдавать просто значения датчиков с метеостанции, к примеру под логотипом, то думаю там достаточно только текущих значений, без всякого анализа.
Гораздо большие проблемы возникают с картинкой погоды

Так и не разобрался почему врёт. На улице дождь - он иногда ясную погоду показывает, или наоборот. Либо картинка означает не текущую погоду, а ближайший прогноз, либо у меня что-то в настройках станции не впорядке (грешу на значение относительного давления, которое ручками устанавливается для определенной местности).
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
-
- Сообщения: 117
- Зарегистрирован: 17 фев 2004 16:07
- Откуда: Шумерля
- Контактная информация:
А можно ещё пожелание - сделать сворачивание программы в трей.Даниленко Сергей писал(а):Сейчас заканчивается разработка и после тестирования мы сможем предоставить новую версию программы
И места окно не будет занимать во время работы, да и у оператора, который работает с форвардом, но не имеет отношения к этой программе меньше соблазна будет нажать на "крестик". А то уже были прецеденты. Моя программулька висит в трее и не мешает никому, а вот FDImageUpdater уже пару раз "закрывали", хотя открещиваются полностью

-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Мне кажется, что это некоторое лукавство - так интерпретировать данные, хотя принцип (см. ниже) правильный. Должны использоваться какие-то узаконенные стандарты, описывающие процедуру получения данного параметра. Попробовал найти какое-нибудь официальное руководство по расчетам.Храню N значений направлений ветра и скорости ветра (анализирую последние полчаса). Из массива скорости ветра определяются среднее, минимальное и максимальное значения. Из анализа значений возможны...
Кроме вот этого пока ничего не нашел:
Полный документ здесь:Порывистым ветер считается, если скорость и направление ветра за промежуток времени наблюдений (2 минуты) резко меняется: быстро возрастая до некоторого максимума и затем уменьшаясь иногда до полного штиля.
Направление ветра принимается, как постоянное, если на протяжении времени наблюдения (2 минуты) направление ветра удерживается в пределах одного румба.
http://meteoweb.narod.ru/amn/spotters_guide.html
В общем мы пока, пожалуй, не будем связываться с данным параметром пока не будет ясности в его получении.