Функция 08 в Modbus library

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

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

Postby Blackman on 29 Mar 2017, 08:03

Не работает кнопка редактирования. Поэтому в догонку) Я уже писал на этом форуме, что библиотека NI Modbus 1.2.1 содержит ошибки, которые особенно хорошо проявляются на Serial интерфейсе в режиме RTU.
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

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

Postby Borjomy_1 on 29 Mar 2017, 08:30

Blackman, Если вы видите эти ошибки, имеет смысл их подправить и представить обществу.
Borjomy_1
expert
expert
 
Posts: 1786
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 310
VIP

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

Postby Blackman on 29 Mar 2017, 09:20

Это уже давно обсуждалось на всех возможных площадках (гугл в помощь). Эта библиотека не поддерживается NI уже лет так 10. Да и вся поддержка ограничивалась добавлением версии драйвера скомпилированного для новой версии LabVIEW и все это закончилось на 8.2 или 8.5 максимум.
Так что рекомендовать такой продукт рука не подымается))
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

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

Postby Borjomy_1 on 29 Mar 2017, 09:43

Blackman, А что ее поддерживать? Модбасу уже лет сорок, если не больше. Написали - работает. Новому там нечего появляться, только ошибки исправлять.
Borjomy_1
expert
expert
 
Posts: 1786
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 310
VIP

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

Postby Blackman on 29 Mar 2017, 15:13

Borjomy_1 wrote:... Написали - работает. Новому там нечего появляться, только ошибки исправлять.

А вот с этим то и проблема. За все время не было ни одного исправления. (Проверил - все закончилось на версии LabVIEW 8.6)
Про стиль программирования вообще говорить не буду. Можно рассматривать как пример: Так делать не надо)
На рисунках пример ошибки драйвера.
Attachments
NI Modbus driver error img1.PNG
NI Modbus driver error img2.PNG
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

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

Postby Borjomy_1 on 29 Mar 2017, 19:51

Можно рассматривать как пример: Так делать не надо

Ну поменяли тип контрола на U16 и поехали дальше. Проблема?
Тем более, что это надо постараться, чтобы ошибку получить и ее не заметить (т.е такая ошибка в пакете, что контрольная сумма изменилась разом на шаг, кратный 256). Это как надо перехреначить пакет, чтобы такое получить?
Borjomy_1
expert
expert
 
Posts: 1786
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 310
VIP

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

Postby Blackman on 29 Mar 2017, 20:25

Это не ошибка пакета, а ошибка разработчика драйвера. К чему это приводит знают те, кто работал с этим драйвером. Выше у автора этой темы уже были высказывания по этому поводу)
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

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

Postby AlexOskar on 29 Mar 2017, 21:19

Ну поменяли тип контрола на U16 и поехали дальше. Проблема?
Тем более, что это надо постараться, чтобы ошибку получить и ее не заметить (т.е такая ошибка в пакете, что контрольная сумма изменилась разом на шаг, кратный 256)

Скажите, а у Вас есть хотя бы примерный перечень исправлений, который надо внести в эту библиотеку? Я бы рад ей пользоваться, в моём случае это приведет к минимальным исправлениям. С потерей данных я более-менее разобрался, вот только при длительном тесте начала выскакивать ошибка по таймауту.
AlexOskar
user
user
 
Posts: 93
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 6

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

Postby AlexOskar on 29 Mar 2017, 21:22

За основу лучше взять любой :vi: чтения регистров и сохранить его в этой же библиотеке с новым именем например: Diag_Restart Communications Option.vi.
В этом :vi: необходимо изменить (сохранить с новым именем в тех же библиотеках) первый и третий :vi: . Отредактировать эти 2 новых :vi: в соответствии с требованиями протокола Modbus для функции 08 саб функции 0001

Пробую, но пока проблема с добавлением нового файла в библиотеку - не добавляется!!! Или нужно что-то умнее чем простое copy-paste?
AlexOskar
user
user
 
Posts: 93
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 6

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

Postby Borjomy_1 on 29 Mar 2017, 21:29

Попробуйте в библиотеке создать новый файл, и уже в него добавить код
Borjomy_1
expert
expert
 
Posts: 1786
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 310
VIP

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

Postby AlexOskar on 29 Mar 2017, 21:47

Это получилось. Я не очень понимаю как потом я смогу поместить это к себе в ВИ. Как сабВИ или нужно будет как-то объединять с библиотекой?
AlexOskar
user
user
 
Posts: 93
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 6

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

Postby Blackman on 30 Mar 2017, 08:29

У Вас должно было получиться что то типа как на рис

Upd: Удалил написанное с просонья забыв про версии) Могу выложить только саму функцию и 2 sub:vi: + инструкция как правильно их добавить в установленную библиотеку.
Attachments
Diagnostic 8-0001 FP.png
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

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

Postby AlexOskar on 30 Mar 2017, 17:37

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

Выложите, пожалуйста, а то уже подгорает из-за того простоя проекта
AlexOskar
user
user
 
Posts: 93
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 6

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

Postby Blackman on 01 Apr 2017, 08:29

После копирования папок архива в папку драйвера ..\National Instruments\LabVIEW 20ХХ\vi.lib\Plasmionique\MB Master, откройте библиотеку драйвера
..\National Instruments\LabVIEW 20ХХ\vi.lib\Plasmionique\MB Master\MB Master.lvlib и добавьте в нее эти три новых файла, как показано на рис. Сохраните библиотеку и откройте новую функции для проверки. Удачи.
Attachments
Update MB Master.png
Обновление библиотеки драйвера
Restart Communications Option LV2012.zip
(39.21 KiB) Downloaded 63 times
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

Previous

Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 3 guests

cron