Страница 2 из 2

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 08:03
Blackman
Не работает кнопка редактирования. Поэтому в догонку) Я уже писал на этом форуме, что библиотека NI Modbus 1.2.1 содержит ошибки, которые особенно хорошо проявляются на Serial интерфейсе в режиме RTU.

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 08:30
Borjomy_1
Blackman, Если вы видите эти ошибки, имеет смысл их подправить и представить обществу.

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 09:20
Blackman
Это уже давно обсуждалось на всех возможных площадках (гугл в помощь). Эта библиотека не поддерживается NI уже лет так 10. Да и вся поддержка ограничивалась добавлением версии драйвера скомпилированного для новой версии LabVIEW и все это закончилось на 8.2 или 8.5 максимум.
Так что рекомендовать такой продукт рука не подымается))

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 09:43
Borjomy_1
Blackman, А что ее поддерживать? Модбасу уже лет сорок, если не больше. Написали - работает. Новому там нечего появляться, только ошибки исправлять.

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 15:13
Blackman
Borjomy_1 писал(а):... Написали - работает. Новому там нечего появляться, только ошибки исправлять.
А вот с этим то и проблема. За все время не было ни одного исправления. (Проверил - все закончилось на версии LabVIEW 8.6)
Про стиль программирования вообще говорить не буду. Можно рассматривать как пример: Так делать не надо)
На рисунках пример ошибки драйвера.

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 19:51
Borjomy_1
Можно рассматривать как пример: Так делать не надо
Ну поменяли тип контрола на U16 и поехали дальше. Проблема?
Тем более, что это надо постараться, чтобы ошибку получить и ее не заметить (т.е такая ошибка в пакете, что контрольная сумма изменилась разом на шаг, кратный 256). Это как надо перехреначить пакет, чтобы такое получить?

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 20:25
Blackman
Это не ошибка пакета, а ошибка разработчика драйвера. К чему это приводит знают те, кто работал с этим драйвером. Выше у автора этой темы уже были высказывания по этому поводу)

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 21:19
AlexOskar
Ну поменяли тип контрола на U16 и поехали дальше. Проблема?
Тем более, что это надо постараться, чтобы ошибку получить и ее не заметить (т.е такая ошибка в пакете, что контрольная сумма изменилась разом на шаг, кратный 256)
Скажите, а у Вас есть хотя бы примерный перечень исправлений, который надо внести в эту библиотеку? Я бы рад ей пользоваться, в моём случае это приведет к минимальным исправлениям. С потерей данных я более-менее разобрался, вот только при длительном тесте начала выскакивать ошибка по таймауту.

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 21:22
AlexOskar
За основу лучше взять любой :vi: чтения регистров и сохранить его в этой же библиотеке с новым именем например: Diag_Restart Communications Option.vi.
В этом :vi: необходимо изменить (сохранить с новым именем в тех же библиотеках) первый и третий :vi: . Отредактировать эти 2 новых :vi: в соответствии с требованиями протокола Modbus для функции 08 саб функции 0001
Пробую, но пока проблема с добавлением нового файла в библиотеку - не добавляется!!! Или нужно что-то умнее чем простое copy-paste?

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 21:29
Borjomy_1
Попробуйте в библиотеке создать новый файл, и уже в него добавить код

Re: Функция 08 в Modbus library

Добавлено: 29 мар 2017, 21:47
AlexOskar
Это получилось. Я не очень понимаю как потом я смогу поместить это к себе в ВИ. Как сабВИ или нужно будет как-то объединять с библиотекой?

Re: Функция 08 в Modbus library

Добавлено: 30 мар 2017, 08:29
Blackman
У Вас должно было получиться что то типа как на рис

Upd: Удалил написанное с просонья забыв про версии) Могу выложить только саму функцию и 2 sub:vi: + инструкция как правильно их добавить в установленную библиотеку.

Re: Функция 08 в Modbus library

Добавлено: 30 мар 2017, 17:37
AlexOskar
Blackman писал(а):Могу выложить только саму функцию и 2 sub:vi: + инструкция как правильно их добавить в установленную библиотеку.
Выложите, пожалуйста, а то уже подгорает из-за того простоя проекта

Re: Функция 08 в Modbus library

Добавлено: 01 апр 2017, 08:29
Blackman
После копирования папок архива в папку драйвера ..\National Instruments\LabVIEW 20ХХ\vi.lib\Plasmionique\MB Master, откройте библиотеку драйвера
..\National Instruments\LabVIEW 20ХХ\vi.lib\Plasmionique\MB Master\MB Master.lvlib и добавьте в нее эти три новых файла, как показано на рис. Сохраните библиотеку и откройте новую функции для проверки. Удачи.