Управление двигателем пуск-стоп
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Управление двигателем пуск-стоп
Ага, по нулям. Управление потоком вообще отключите.AlexOskar писал(а):Этим параметрам XON и XOFF нужно присвоить значение 0?
Последний раз редактировалось dadreamer 16 июл 2016, 15:00, всего редактировалось 1 раз.
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
Еще один вопрос от чайника) Помогите разобраться!
Сегодня читал про запрос массива данных у 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)????
Сегодня читал про запрос массива данных у 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)????
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Управление двигателем пуск-стоп
В описании запроса могли банально ошибиться.
А одиннадцатая ячейка есть? Попробуйте к ней обратиться как к одной ячейке. Если ее нет, то естественно, устройство выдаст ошибку, как в случае с одной ячейкой, так и с массивом.
А одиннадцатая ячейка есть? Попробуйте к ней обратиться как к одной ячейке. Если ее нет, то естественно, устройство выдаст ошибку, как в случае с одной ячейкой, так и с массивом.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Управление двигателем пуск-стоп
Ошибка в контрольной сумме (два последних байта).AlexOskar писал(а):Все ячейки есть, проверил. Т.е. запрос написан верно?
- Вложения
-
- Modbus_ADU String RTU mode.PNG (7.23 КБ) 6188 просмотров
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
Здесь да, неправильно написал, но в программе запрос совпадает с Вашим. Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Управление двигателем пуск-стоп
По протоколу 125 регистров.... Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
Документация по протоколу Modbus:
http://labviewportal.org/viewtopic.php? ... 500#p67928
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Управление двигателем пуск-стоп
Все может быть. Если устройство слабое, то у него могут быть свои ограничения. Ну и не надо забывать про фантазию программистов-реализаторов... Попробуйте другие одиннадцать регистров прочитать.Может быть нельзя брать информация одним запросом более чем с 10 ячеек?
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
Почитал этот топик, нашел упоминание MBmaster 3.0 gold. Что это и где можно взять?Blackman писал(а):Документация по протоколу Modbus:
http://labviewportal.org/viewtopic.php? ... 500#p67928
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
Где в этом варианте задается адрес Слейва? а то по умолчанию в запросе записывается 00Borjomy_1 писал(а):В базовом варианте примерно так.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Управление двигателем пуск-стоп
У каждой VI-ки из этой библиотеки сверху есть кластер "Serial Parameters", второй параметр так и называется "Slave Address". По умолчанию равен 0.Где в этом варианте задается адрес Слейва? а то по умолчанию в запросе записывается 00
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
[quote="Borjomy_1"]У каждой VI-ки из этой библиотеки сверху есть кластер "Serial Parameters"
Да, нашел его, спасибо. Работает великолепно!!! Разобрался более-менее в этой библиотеке, даже переделал ВП на её основе. Но вот с этими кнопками ПУСК-СТОП все-равно сложности. Для срабатывание кнопки приходится её удерживать от 1 до 3-х сек до момента рестарта цикла. Есть ли программная возможность сделать какой-нибудь из вариантов:
1. Залипание кнопки до первого срабатывания
2. Мгновенный рестарт цикла при нажатии на кнопку
3. Какой-то другой вариант, главное чтобы цикл опроса состояния других регистров не останавливался после нажатия кнопок??????
И есть ли возможность установить зависимость между кнопками как на реальном пульте, т.е. после нажития кнопки ПУСК она становится неактивной до нажатия кнопки СТОП и наоборот?????
Да, нашел его, спасибо. Работает великолепно!!! Разобрался более-менее в этой библиотеке, даже переделал ВП на её основе. Но вот с этими кнопками ПУСК-СТОП все-равно сложности. Для срабатывание кнопки приходится её удерживать от 1 до 3-х сек до момента рестарта цикла. Есть ли программная возможность сделать какой-нибудь из вариантов:
1. Залипание кнопки до первого срабатывания
2. Мгновенный рестарт цикла при нажатии на кнопку
3. Какой-то другой вариант, главное чтобы цикл опроса состояния других регистров не останавливался после нажатия кнопок??????
И есть ли возможность установить зависимость между кнопками как на реальном пульте, т.е. после нажития кнопки ПУСК она становится неактивной до нажатия кнопки СТОП и наоборот?????
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Управление двигателем пуск-стоп
Залипание кнопки до первого срабатывания происходит автоматически, если свойство Mechanical Action установлено в один из вариантов Latch (обычно устанавливается Latch When Released). Срабатыванием считается считывание данных контрола на панели диаграмм.
Мгновенный рестарт можно реализовать только если вы опрашиваете устройства в цикле. Дополнительным условием выхода из цикла должно быть нажатие на кнопку. Однако учтите, что для свойства Latch нельзя использовать локальную переменную кнопки. Придется что-то придумывать.
Активность/неактивность контрола регулируется свойством Create/Property Node/Disabled (включено Enabled, выключено и серое - Disabled & Grayed Out)
Мгновенный рестарт можно реализовать только если вы опрашиваете устройства в цикле. Дополнительным условием выхода из цикла должно быть нажатие на кнопку. Однако учтите, что для свойства Latch нельзя использовать локальную переменную кнопки. Придется что-то придумывать.
Активность/неактивность контрола регулируется свойством Create/Property Node/Disabled (включено Enabled, выключено и серое - Disabled & Grayed Out)
-
- user
- Сообщения: 95
- Зарегистрирован: 05 июл 2016, 21:02
- Версия LabVIEW: 12
- Контактная информация:
Re: Управление двигателем пуск-стоп
Сделал - помогло!!!Borjomy_1 писал(а):Залипание кнопки до первого срабатывания происходит автоматически, если свойство Mechanical Action установлено в один из вариантов Latch (обычно устанавливается Latch When Released).
Сам я вряд ли сейчас что-то придумаю. Может со временемBorjomy_1 писал(а):Мгновенный рестарт можно реализовать только если вы опрашиваете устройства в цикле. Дополнительным условием выхода из цикла должно быть нажатие на кнопку. Однако учтите, что для свойства Latch нельзя использовать локальную переменную кнопки. Придется что-то придумывать.