Функция 08 в Modbus library

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

Функция 08 в Modbus library

Postby AlexOskar on 22 Mar 2017, 20:30

Здравствуйте!
Есть прибор и VI, которые постоянно "общаются". Для создания использовал Modbus Library, но оказалось что каждые 2 часа надо отправлять сообщение с кодом функции 08. На стандартной панели её нет, но хочется верить, что она где-то спрятана. Кто-нибудь знает есть она там или нет? Или может есть библиотека, где эту функцию включили?
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Borjomy_1 on 22 Mar 2017, 20:34

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

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

Postby AlexOskar on 22 Mar 2017, 21:28

Запоролена она, к сожалению
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Borjomy_1 on 23 Mar 2017, 09:19

Ясно, имеет смысл поискать другую библиотеку, не на объектах. Называется NI ModBus v1.2.1 Написана еще для версии :labview: 8.6 и ниже. Она полностью открытая, кроссплатформенная, на порядок проще и к тому-же не вешает потоки :labview: напрочь при отсутствии соединения.
Borjomy_1
expert
expert
 
Posts: 1827
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

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

Postby Blackman on 23 Mar 2017, 10:21

AlexOscar, какие сабфункции диагностики (функция 08) Вам нужны?
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby dadreamer on 23 Mar 2017, 17:31

AlexOskar wrote:Запоролена она, к сожалению

Неужто в 2017-м вы не знаете, как снять пароль? :brows: Вбейте в гугл "labview hmilch" и будет вам щастье. :wink:
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby AlexOskar on 23 Mar 2017, 17:33

Re: Функция 08 в Modbus library
Непрочитанное сообщение Borjomy_1 Сегодня, 09:19
Ясно, имеет смысл поискать другую библиотеку, не на объектах. Называется NI ModBus v1.2.1 Написана еще для версии :labview: 8.6 и ниже.


Уже пробую, только сложновато с этой архитектурой или иерархией

Re: Функция 08 в Modbus library
Непрочитанное сообщение Blackman Сегодня, 10:21
AlexOscar, какие сабфункции диагностики (функция 08) Вам нужны?


Нужно отправить сообщение: 0108 0001 0000 В1СВ
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby AlexOskar on 23 Mar 2017, 17:38

dadreamer wrote:
AlexOskar wrote:Запоролена она, к сожалению

Неужто в 2017-м вы не знаете, как снять пароль? :brows: Вбейте в гугл "labview hmilch" и будет вам щастье. :wink:

Яндексом пользуюсь, наверное поэтому и отстал от времени)) сейчас исправлюсь, спасибо!
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Blackman on 23 Mar 2017, 19:11

AlexOscar, Вы уверенны что это Вам надо? Смотри описание функции на картинке...
Attachments
Modbus 08 function sub 0001.PNG
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby AlexOskar on 23 Mar 2017, 21:48

Да да, именно это и надо. Не знаю в чем прикол, но протокол обмена с оборудованием требует реинициализацию связи каждые 8 часов, иначе - дисконект. Откуда у Вас такие картинки??? Поделитесь
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Blackman on 24 Mar 2017, 09:24

Тогда рекомендую сертифицированный драйвер Plasmionique Modbus Master V1.2.1 доступный через VIPM или можно скачать с LAVA по ссылке
https://lavag.org/files/file/286-plasmi ... us-master/.
Этой функции там нет, но так как код открытый, сделан очень качественно и хорошо документирован, то добавить функции диагностики будет не сложно.
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby AlexOskar on 28 Mar 2017, 22:56

Установил себе Plasmionique Modbus Master V1.2.1. Начал добавлять функцию, но столкнулся с большой (для меня) проблемой.
Для добавления функции решил просто скопировать содержимое блоков и подблоков к себе на блок-диаграмму. Открываю первый блок и вижу: из входного терминала 1 в блок 2 идет тонкая линия
1.jpg
Открываю блок 2 и вижу, что от входного терминала 3 идет уже толстая линия
2.jpg
Когда копирую содержимое этого терминала к себе на блок-диаграмму, то терминал и линии становятся тонкими
3.jpg
В чем причина таких изменений и как это можно исправить? Или содержимое готовых библиотек вообще так нельзя копировать?
Attachments
Разбор.vi
(22.35 KiB) Downloaded 77 times
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Borjomy_1 on 28 Mar 2017, 23:16

Про наследование что-нибудь слышали и про видимость классов?
Последний раз рекомендую NI ModBus v1.2.1 . с ней давно уже сделали-бы...
Borjomy_1
expert
expert
 
Posts: 1827
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

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

Postby AlexOskar on 29 Mar 2017, 07:16

Последний раз рекомендую NI ModBus v1.2.1 . с ней давно уже сделали-бы...

Я с ней уже сделал, но мне не очень нравится результат - она теряет данные. Периодически в каком-нибудь поле проскакивают нули, хотя их там 100% не должно быть.
Про наследование что-нибудь слышали и про видимость классов?

Сейчас начну изучать
AlexOskar
user
user
 
Posts: 94
Joined: 05 Jul 2016, 21:02
LabVIEW Version: 12
Karma: 11

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

Postby Blackman on 29 Mar 2017, 07:55

За основу лучше взять любой :vi: чтения регистров и сохранить его в этой же библиотеке с новым именем например: Diag_Restart Communications Option.vi.
В этом :vi: необходимо изменить (сохранить с новым именем в тех же библиотеках) первый и третий :vi: . Отредактировать эти 2 новых :vi: в соответствии с требованиями протокола Modbus для функции 08 саб функции 0001. После этого проверить результат на железе.
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

Next

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

Who is online

Users browsing this forum: No registered users and 4 guests

cron