Стартовая страница › Форумы › Разработка и интеграция › Драйвер для приборов Пульсар V6
- В этой теме 26 ответов, 4 участника, последнее обновление 2 года, 2 месяца назад сделано
manjey73.
-
АвторЗаписи
-
17.07.2024 в 15:44 #33453
dequick
УчастникУ меня прибор Пульсар 3К V2. Ссылка на конфигурацию. Может кому пригодится. Или автор добавит в конфиги драйвера. Через утилиту TestAll и её логи составил такую табличку параметров конкретно этого прибора:
Имя параметра Значение Параметр запроса
Канал 1 0 K1.F32
Канал 2 0,009999 K2.F32
Канал 3 0,059994 K3.F32
Дата и время 45490,54703 D
Количество ошибок шума канала 1 0 P00017.U32
Количество ошибок шума канала 2 10 P00018.U32
Количество ошибок шума канала 3 28 P00019.U32
Сетевой адрес 5014704 :__ADDRESS
Дата и время 17.07.2024 12:22 D
Версия ПО 040-01.001-01.0000 __VERSION_INTERNAL
Вес импульса канала 1 0,01 P0003.F32
Вес импульса канала 2 0,01 P0004.F32
Вес импульса канала 3 0,01 P0005.F32
Запись запрещена 0 P000B.U8
Количество сборосв 1 P000C.U16
Текущие ошибки FLT2 P000D
Накопленные ошибки FLT2, FLT3 P000E
Мин. время паузы импульса [мС] 50 P0008.U16
Мин. время длительности импульса [мС] 50 P0009.U16
Температура среды [C] 28 P0012.S8
Напряжение батареи [мВ] 3693 P0013.U16Функция — 7 не работает. Все запросы как видно идут через функцию 0А. Номер userData и тип данных в третьем столбце.
17.07.2024 в 16:27 #33456
manjey73УчастникПульсар 3К V2 — что это за счетчик?
Функция 7 работает через TestAll?
Есть идентификатор данного счетчика, чтобы посмотреть документацию?
17.07.2024 в 16:30 #33457
manjey73УчастникСобственно основной вопрос — все ли данные получилось получить с прибора или чего-то не хватает?
17.07.2024 в 16:45 #33458dequick
УчастникСчетчик импульсов-регистратор ПУЛЬСАР RS485 3-канальный/
Да, всё читает. Самый простой способ адаптации любого прибора это воспользоваться утилитой. В правом окошке видно, какие конкретно параметры можно считать. Номера и тип данных ч/з ф/ю 0x0A : P00017.U32 — 17(hex) и тип uint32. Веса импульсов также скорее всего можно записать через функцию 0x0B.
https://ibb.org.ru/1/VRBRHA17.07.2024 в 17:00 #33459
manjey73УчастникБлин, вот они наплодили протоколов или их модификаций 🙂
Судя по доке (нашел у себя, а на сайте такое ощущение они удалили или спрятали)
В этом счетчике импульсов и нет 7-й команды вообще.Зато куча других команд есть, которых в старом протоколе не было.
17.07.2024 в 17:02 #33460
manjey73УчастникСчетчик импульсов 3К. Протокол Пульсар V1.pdf
Это дока на данный счетчик по параметрам. Если найдете, ну или могу прислать. Вроде он.
Идентификатор прибора 415 Пульсар счетчик импульсов 3K v217.07.2024 в 17:04 #33461
manjey73Участникз.ы. что в их регистраторах импульсов не понравилось, это мин/макс время импульса настраивается на все каналы.
А к счетчику могут быть подключены разные приборы, у которых эти параметры разные, в результате один будет считать нормально, а другой с погрешностью.17.07.2024 в 17:30 #33462dequick
УчастникНу вот я на сайте и не нашел инфы по нему. Пол дня потратил на попытки адаптировать. Буду благодарен если загрузите и дадите ссылку. Я вот такое на сайте нашел:
https://disk.yandex.ru/d/IkJZBFwS1amsQA17.07.2024 в 23:13 #33463
manjey73УчастникТут больше приборов
19.07.2024 в 12:50 #33485dequick
УчастникА как можно записать импульс? Команда в TestAll выглядит так:
Отправлено: [20 байтов] 05 01 47 04 0B 14 08 00 31 00 00 00 00 00 00 00 07 00 CF 72 ..G.....1..........r Получено: [12 байтов] [+00:000] 05 01 47 04 0B 0C 00 00 07 00 7E DB ..G.......~.При попытке отправить команду с таблицы в логах:
2024-07-19 14:46:30 Команда minPulse устройству [4] counter Переменная из Val 2024-07-19 14:46:30 Ошибка при вызове метода SendCommand устройства [4] counter: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at System.Collections.Generic.List1.get_Item(Int32 index)
at Scada.Comm.Drivers.DrvPulsar.Logic.DevPulsarLogic.Buf_Out(Int32 Num, Byte Fcode, Byte[] bData, Boolean read)
at Scada.Comm.Drivers.DrvPulsar.Logic.DevPulsarLogic.SendCommand(TeleCommand cmd)
at Scada.Comm.Engine.DeviceWrapper.SendCommand(TeleCommand cmd)`-
Ответ изменён 2 года, 2 месяца назад пользователем
dequick.
19.07.2024 в 13:28 #33489
manjey73УчастникБыстро не скажу, надо исходники смотреть, есть ли там вообще поддержка такой команды.
Делал давно, уже не помню, прикручены команды толком или нет. И как их правильно вводить
19.07.2024 в 13:32 #33490
manjey73УчастникА лог посылки самой команды перед ошибкой?
Ну вот почему присылают только ошибки, а не то, что им предшествовало? 🙂 -
Ответ изменён 2 года, 2 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.