отправлено / posted
Написание драйвера возможно. Но при условии, что Вы сможете предоставить нам оборудование для тестирования. По дальнейшим вопросам на эту тему обращайтесь на sales@adastra.ru
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Здравствуйте. А есть где описание настройки подключения этого теплосчетчика.ТЭМ-104 по rs-485? Что-то просто не могу найти нигде это описание. На сайте написано что поддерживается, а в руководстве не нашел.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Доброго времени. настраиваю подключение к ТЭМ-104 Запрос-ответ данные бегают красиво, но проблема с преобразованием. принимаю 4х байтовое число 42 36 BA 73 и должно оно отображаться как 45.68208 наличие точки не имеет значения (подвинуть не сложно) в описании протокола обмена теплосчетчика сказано :
quote: Все числа, занимающие более 1 байта, хранятся в памяти теплосчетчика в формате Motorola (MSB->LSB), то есть для преобразования этих чисел в формат Intel, приме- няемый в PC-совместимых компьютерах, необходимо поменять порядок байт на об- ратный;
но простая перестановка байтов не помогает. Для упаковки пользую блоки WHL и DHL. в преобразователе http://www.h-schmidt.net/FloatConverter/IEEE754.html представленном здесь все выводится как надо. бинарное представление в ТМ и этом преобразователе одинаковая, десятичное - разное. Какие преобразования надо сделать в ТМ для достижения результата?
нашел формулу преобразования: F=(-1)^s*2^(E-127)*(1+M/2^23) где: S- бит знака (31 бит) E- смещенная экспонента (23-30 биты) M - остаток от мантиссы (0-22 биты) F- десятичное число с плавающей точкой
По этой формуле все преобразуется правильно, Есть ли в ТМ способ сделать это проще. или на каждое преобразование вставлять эту формулу? если можно вышлите пример.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если Вы используете механизм "Обмен по произвольному протоколу по RS", предложить что-либо более простое нельзя. Если Вы перейдете на механизм CALL.VECTOR, то в нем можно менять порядок принятых байтов. Пример реализации обмена с помощью канала CALL.VECTOR можно увидеть по http://www.adastra.ru/products/drivers/drv_noprogram/Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Использую механизм из примера (произвольный протокол). немного упростив. простая перемена байтов местами - не сложная задача. интересует возможность преобразования числа в формат IEEE 754. А именно, писать самому программку пересчета по формуле, или есть стандартное средство.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Nico , Хотелось бы уточнить,в какую строку? и что это за команда (в справке не найдено).
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
В слое источники/приемники связь настроена через драйвер Т11. на один раздел памяти - одна точка ввода/вывода. в одном разделе памяти теплосчетчика данные разного формата, которые требуют данного преобразования и которые не надо изменять.
я так понимаю селективности при использовании команды из строки дополнительно не будет.
zadvor
Junior Member / Новичок
Участник № / Member № 6200
отправлено / posted
Здравствуйте. Прошу также мне выслать пример настройки подключение теплосчетчика ТЭМ-104
Сообщения / Posts 1 | Из / From: Россия
| IP / IP: IP адрес / IP address |