Управление двигателем пуск-стоп

Простейшие вопросы в области инженерной разработки
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Этим параметрам XON и XOFF нужно присвоить значение 0?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение dadreamer »

AlexOskar писал(а):Этим параметрам XON и XOFF нужно присвоить значение 0?
Ага, по нулям. Управление потоком вообще отключите.
Последний раз редактировалось dadreamer 16 июл 2016, 15:00, всего редактировалось 1 раз.
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Еще один вопрос от чайника) Помогите разобраться!
Сегодня читал про запрос массива данных у SL. Наткнулся на пример запроса:
0А 01 04А1 0001 4F
где 0А - адрес (10)
01 - функция
04А1 - номер ячейки и т.д.
Так вот теперь суть: в описании запроса сказано, что он опрашивает по указанному адресу ячейку №1245. Но как из 04А1 получилось 1245??? Я из Hex в Dec перевожу с помощью калькулятора програмиста и он выдает, что 04А1h=1185.

Такая же беда получается при формировании собственного запроса. Когда задаю 01 03 006F 000A F5D5 (опрос 10 ячеек начиная с 6F) - все прекрасно, получаю данные. Но когда задаю 01 03 006F 000B F5D5 (опрос 11 ячеек начиная с 6F), прибор меня не понимает. Я что неправильно пишу число 11 (000B)????
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Управление двигателем пуск-стоп

Сообщение Borjomy_1 »

В описании запроса могли банально ошибиться.
А одиннадцатая ячейка есть? Попробуйте к ней обратиться как к одной ячейке. Если ее нет, то естественно, устройство выдаст ошибку, как в случае с одной ячейкой, так и с массивом.
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Все ячейки есть, проверил. Т.е. запрос написан верно?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Управление двигателем пуск-стоп

Сообщение Blackman »

AlexOskar писал(а):Все ячейки есть, проверил. Т.е. запрос написан верно?
Ошибка в контрольной сумме (два последних байта).
Вложения
Modbus_ADU String RTU mode.PNG
Modbus_ADU String RTU mode.PNG (7.23 КБ) 6186 просмотров
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Здесь да, неправильно написал, но в программе запрос совпадает с Вашим. Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Управление двигателем пуск-стоп

Сообщение Blackman »

... Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
По протоколу 125 регистров.
Документация по протоколу Modbus:
http://labviewportal.org/viewtopic.php? ... 500#p67928
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Управление двигателем пуск-стоп

Сообщение Borjomy_1 »

Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
Все может быть. Если устройство слабое, то у него могут быть свои ограничения. Ну и не надо забывать про фантазию программистов-реализаторов... Попробуйте другие одиннадцать регистров прочитать.
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Blackman писал(а):
Документация по протоколу Modbus:
http://labviewportal.org/viewtopic.php? ... 500#p67928
Почитал этот топик, нашел упоминание MBmaster 3.0 gold. Что это и где можно взять?
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Borjomy_1 писал(а):В базовом варианте примерно так.
Где в этом варианте задается адрес Слейва? а то по умолчанию в запросе записывается 00
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Управление двигателем пуск-стоп

Сообщение Borjomy_1 »

Где в этом варианте задается адрес Слейва? а то по умолчанию в запросе записывается 00
У каждой VI-ки из этой библиотеки сверху есть кластер "Serial Parameters", второй параметр так и называется "Slave Address". По умолчанию равен 0.
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

[quote="Borjomy_1"]У каждой VI-ки из этой библиотеки сверху есть кластер "Serial Parameters"

Да, нашел его, спасибо. Работает великолепно!!! Разобрался более-менее в этой библиотеке, даже переделал ВП на её основе. Но вот с этими кнопками ПУСК-СТОП все-равно сложности. Для срабатывание кнопки приходится её удерживать от 1 до 3-х сек до момента рестарта цикла. Есть ли программная возможность сделать какой-нибудь из вариантов:
1. Залипание кнопки до первого срабатывания
2. Мгновенный рестарт цикла при нажатии на кнопку
3. Какой-то другой вариант, главное чтобы цикл опроса состояния других регистров не останавливался после нажатия кнопок??????

И есть ли возможность установить зависимость между кнопками как на реальном пульте, т.е. после нажития кнопки ПУСК она становится неактивной до нажатия кнопки СТОП и наоборот?????
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Управление двигателем пуск-стоп

Сообщение Borjomy_1 »

Залипание кнопки до первого срабатывания происходит автоматически, если свойство Mechanical Action установлено в один из вариантов Latch (обычно устанавливается Latch When Released). Срабатыванием считается считывание данных контрола на панели диаграмм.
Мгновенный рестарт можно реализовать только если вы опрашиваете устройства в цикле. Дополнительным условием выхода из цикла должно быть нажатие на кнопку. Однако учтите, что для свойства Latch нельзя использовать локальную переменную кнопки. Придется что-то придумывать.
Активность/неактивность контрола регулируется свойством Create/Property Node/Disabled (включено Enabled, выключено и серое - Disabled & Grayed Out)
AlexOskar
user
user
Сообщения: 95
Зарегистрирован: 05 июл 2016, 21:02
Версия LabVIEW: 12
Контактная информация:

Re: Управление двигателем пуск-стоп

Сообщение AlexOskar »

Borjomy_1 писал(а):Залипание кнопки до первого срабатывания происходит автоматически, если свойство Mechanical Action установлено в один из вариантов Latch (обычно устанавливается Latch When Released).
Сделал - помогло!!!
Borjomy_1 писал(а):Мгновенный рестарт можно реализовать только если вы опрашиваете устройства в цикле. Дополнительным условием выхода из цикла должно быть нажатие на кнопку. Однако учтите, что для свойства Latch нельзя использовать локальную переменную кнопки. Придется что-то придумывать.
Сам я вряд ли сейчас что-то придумаю. Может со временем
Ответить

Вернуться в «Для чайников»