| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Dmytro Частый гость


Зарегистрирован: Mar 31, 2006 Сообщения: 22 Рейтинг: +0/-0 Откуда: Хохляндия
|
Добавлено: Вт 17 Окт, 2006 9:43:37 Заголовок сообщения: Скриптом VBA из баз дата-лога выбираются только целые |
|
|
Используется RSView32 7.10, в data-log базы сохраняются в широком (wide) формате. Проблема в том, что когда в скрипте VBA пытаюсь выбрать записи (ReadTagDataWide, далее доступ к значениям с помощью DatalogTagValue) - получаю только целые значения, дробная часть просто откидывается. Почему - непонятно, вроде DatalogTagValue возвращает Variant/Single (вещественное).
Скриптом хочу вычислять средние часовые значения, т.е. делаю выборку за час, потом суммирую и делю на кол-во записей.
Кто сталкивался с такой траблой, просьба побыстрее ответить, а то нахожусь на объекте, время - деньги  |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Ср 18 Окт, 2006 8:49:18 Заголовок сообщения: |
|
|
Сколько знаков после запятой сохраняешь в DataLog?
Посмотри данные DBF в Ехcel. |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Ср 18 Окт, 2006 8:58:45 Заголовок сообщения: Re: Скриптом VBA из баз дата-лога выбираются только целые |
|
|
| Dmytro писал(а): | Скриптом хочу вычислять средние часовые значения, т.е. делаю выборку за час, потом суммирую и делю на кол-во записей.
|
Подход неправильный!
Средние значения надо вычислять в контроллере и без массивов. |
|
| Вернуться к началу |
|
 |
Dmytro Частый гость


Зарегистрирован: Mar 31, 2006 Сообщения: 22 Рейтинг: +0/-0 Откуда: Хохляндия
|
Добавлено: Ср 18 Окт, 2006 10:06:58 Заголовок сообщения: |
|
|
| Цитата: | Сколько знаков после запятой сохраняешь в DataLog?
Посмотри данные DBF в Ехcel. |
8 знаков после запятой, в Excel все нормально отображается.
Насчет контроллеров - понятно, но только если они есть, а в моем случае - есть преобразователь 12-канальный цифровой, у которого вообще нет памяти, данные можно только считывать, что я и делаю по OPC.
А проблема решилась уже кстати. Оказалось, что надо в языковых параметрах Винды поставить точку как разделитель разрядов.
Такой вот маразм. Но может есть и другое решение. Это меня не совсем устраивает, так как на компе могут работать другие проекты (проги), которым эта точка не подходит. |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Ср 18 Окт, 2006 11:42:39 Заголовок сообщения: |
|
|
| Цитата: | Оказалось, что надо в языковых параметрах Винды поставить точку как разделитель разрядов.
|
Самое первое, что надо было сделать
И еще - разделитель элементов списка должен быть - запятая.
| Цитата: | Такой вот маразм. Но может есть и другое решение. Это меня не совсем устраивает, так как на компе могут работать другие проекты (проги), которым эта точка не подходит.
|
Включи "Display On-screen Keyboard" при установленной запятой...
А, есть проги (кроме RSView) которым запятая не подходит. |
|
| Вернуться к началу |
|
 |
Dvoeglazov Эксперт


Зарегистрирован: Mar 06, 2006 Сообщения: 278 Рейтинг: +1/-0 Откуда: г.Киров-Чепецк
|
Добавлено: Пт 20 Окт, 2006 13:29:00 Заголовок сообщения: |
|
|
Нормальный программист, должен был оба символа предусмотреть или работать с шеснадцатиричными кодами.
Это я не про вас, это я про RSView. Вот теперь и мучаемся. =(
Вы еще с ихней датой ек работали =/ |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Пн 23 Окт, 2006 16:33:50 Заголовок сообщения: |
|
|
| Цитата: | Нормальный программист, должен был оба символа предусмотреть или...
|
Нормальный программист должен ДОЛЖЕН правильно реализовать
языки программирования - это к учету настройки системы (точка-запятая).
В противном случае, если следовать:
| Цитата: | | ...или работать с шеснадцатиричными кодами |
Так можно опустится до руды из которой делают металл, из которого делают корпуса на компьютеры...
Ничего личного, это так про то кто кому и что должен...
А, что с датой?
| Цитата: | | Вы еще с ихней датой ек работали =/ |
Может я не все знаю? Или не на все грабли наступил?
Если про "расшифровку "system\DateAndTimeInteger" в "наше" время,
тогда можно не отвечать.
Если про методы изменения системных тегов в RSView32 (дата-время), тогда можно продолжить (Московский Rockwell получал от меня проект c названием "HiHi"). |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 23 Окт, 2006 17:57:49 Заголовок сообщения: |
|
|
| Цитата: | | Московский Rockwell получал от меня проект c названием "HiHi" |
И что же?
Можно подумать, что они там пишут код для RSView  |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 23 Окт, 2006 20:04:28 Заголовок сообщения: |
|
|
А что за проект HiHi такой?
ПоHIHiкаем?  |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Вт 24 Окт, 2006 8:04:57 Заголовок сообщения: |
|
|
| oldDad писал(а): | А что за проект HiHi такой?
ПоHIHiкаем?  |
Все очень просто:
Размещаем стрелочные часы на экране и делаем два
слайдера на "system\Hour" и "system\Minute".
Далее крутим стрелки куда хочется.
Впоследствии необходимо выставить точное время Windows.
На RSView32 V6.30.16 под NT 4.0 записывать в "system\Hour" и "system\Minute не позволялось, а через слайдеры прошибало...
Обнаружилось случайно, вместо горизонтальной позиции поставил слайдер... Потом искал кто сбивает время.  |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Вт 24 Окт, 2006 9:23:06 Заголовок сообщения: |
|
|
| Цитата: | На RSView32 V6.30.16 под NT 4.0 записывать в "system\Hour" и "system\Minute не позволялось, а через слайдеры прошибало...
Обнаружилось случайно, вместо горизонтальной позиции поставил слайдер... |
Сейчас спокойно в твоём проекте HiHi изменил системное время простым вводом в numeric input.
Прислать?  |
|
| Вернуться к началу |
|
 |
Dvoeglazov Эксперт


Зарегистрирован: Mar 06, 2006 Сообщения: 278 Рейтинг: +1/-0 Откуда: г.Киров-Чепецк
|
Добавлено: Вт 24 Окт, 2006 14:59:44 Заголовок сообщения: |
|
|
Дата у AB в контроллерах с 1972 года, а в RSView с 1970.
Или наоборот, уже не помню.
Ни с одной стандартной системой счисления времени не совпадает =( |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Вт 24 Окт, 2006 15:28:20 Заголовок сообщения: |
|
|
| Dvoeglazov писал(а): | Дата у AB в контроллерах с 1972 года, а в RSView с 1970.
Или наоборот, уже не помню.
Ни с одной стандартной системой счисления времени не совпадает =( |
А какая разница?  |
|
| Вернуться к началу |
|
 |
|