RS485 отправка сообщения с ардуино UNO.
- Войдите на сайт для отправки комментариев
Пнд, 16/03/2020 - 12:44
Дошла до частотников,
помогите решить проблему, что то торможу.
В инструкции к частотнику сказано:
Вот вопрос как мне отправит сообщение "01 06 20 01 F4 D3 DD"
как отправить 16-ное число и пробелы?
Serial.write(arrayOfBytes, sizeof(arrayOfBytes))
Вот вопрос как мне отправит сообщение "01 06 20 01 F4 D3 DD"
как отправить 16-ное число и пробелы?
с чего вы взяли, что команда отправляется в виде строки, да еще с пробелами? судя по описанию - 01 06 20 01 F4 D3 DD - это массив байт
Может для начала почитать про протокол modbus ?
Спасибо, почитаю.
Никто примеры не подскажет,?
И что выводит Serial.print(id) ?
Gluck-Truck - вы вроде тут уже давно... и такой код :(
По пунктам самые вопиющие ошибки:
1. Пины 0 и 1 для СофтСериала использоывать нельзя
2. что такое "2001h" ???
3. если число 2001 - не важно, десятичное или шестнадцатиричное - оно уже никак не может быть байтом
И что выводит Serial.print(id) ?
очевидно, что оно даже не компилируется
"2001h" Адрес регистра запуска пуска ниже подробнее.
Может пока частотник не трогать, а то или током ударит или руки оторвёт...
⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x⸮x
вот это выводит
и дальше что? к чему, простите. этот бред?
начните с того, что научитесь вставлять код в форум правильно. чтобы его можно было обсуждать
Gluck-Truck - почитайте соседнюю тему, только сегодня обсуждали
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/ne-poluchaetsya-skonnektit-dve-uno-po-rs485
модет и бред но мне не ясно как отправить этот тект в RS458.....
модет и бред но мне не ясно как отправить этот тект в RS458.....
это не текст, это байты. Байтами и отправляйте.
Но. судя по выложенному коду. например попытке запихнуть 2001 в байт - вам еще года два до управления частотником книжки читать следовало бы....
Хочу отправить 01 06 20 00 00 02 03 CB
Уже лучше. Хотя смысл печати DIR в сериал (строка 27) мне абсолютно непонятен :)
А на тему отправки своих байт - почитайте все же ссылку, которую я давал в #14
Я правильно понимаю что "СВ" нужно в 16-речной отправлять? а между отправками задержка нужна?
Я исправила ошибку нашу RS485.write(
Я правильно понимаю что "СВ" нужно в 16-речной отправлять?
неправильно. Шестнадциричная запись вообще существует только на бумаге и только для человека, для компьютера никакой разницы между шестцатиричной, десятичной или двичной записью нет.
Я исправила ошибку нашу RS485.write(
потому что нет такого числа "00", и нет числа "06" - есть просто 0 и 6
Слушайте, девушка, вы правда надеетесь написать поэму, не зная букв? Учебник кто за вас читать будет? - я уже читал, мне не надо
А почему тогда в инструкции 00 просят а не просто 0?
Кажется проблема не в этом. хм.
Теперь ошибка в RS485.write(313, BIN);// отправляем
еще раз читаем сообщение №21
а что такое 313 ? - это вы так CB перевели в число? :) - неправильно, пробуйте еще
Gluck-Truck, поправьте меня, если я ошибусь:
1. В примере, как я понимаю, числа представлены в 16-ричной системе счисления, а аргументы функции RS485.write() - в 10-й. Тогда 20H из примера и 20 из кода - это разные числа.
2. Строка 29 в коде RS485.write(313, HEX) как соотносится с синтаксисом функции Serial.write(buf, len) http://arduino.ru/Reference/Serial/Write ?
29
Так "H" нету в 16 речной системе.....
Чуть чуть углублю #1 и не благодари.
Ошибка строка RS485.write(03,HEX);// отправляем
exit status 1
Gluck-Truck - вы вообще читаете, что вам пишут? - функция write не понимает вашего второго параметра "HEX" "BIN" или еще какого. И потом, я вам уже дважды написал. что контроллеру ваши HEX до лампочки!
Gluck-Truck, попробуйте программку, которую Вам написал nik182 в #30. Внешне, там всё соответствует исходному заданию. Если заработает, будете составлять эквивалент отсылки отдельными байтами. Если не заработает, то надо будет думать, почему. М.б. в задании что-то не так.
благодарю.
работает без ошибки, вот только сам частотник не реагирует на пуск... хм.
сериал выдает значение 15.
Схему брала вот тут вместо А И Б подключаю вместо Конвертера -> R+ к А R- к В
Gluck-Truck, Вы эмулируете посылку Modbus, а почему Вы не используете собственно библиотеку Modbus? Хотя бы https://www.arduino.cc/en/ArduinoModbus/ArduinoModbus
Я понимаю, что это несколько сложней, чем воспроизвести кусочек задания, но для штатной работы с ПЧ потребуется знание и использование Modbus. Сейчас научитесь, дальше, если планируете продолжать, может сильно пригодиться.
ПЧ - навороченное устройство с массой параметров, ставящихся с пульта "кривоколенным" способом. Нужно быть уверенным, что все эти параметры выставлены правильно в соответствии с задачей.
работает без ошибки, вот только сам частотник не реагирует на пуск... хм.
сериал выдает значение 15.
Gluck-Truck - вы так и не ответили, зачем вы отправляете DIR в Сериал (строка 20)? - какой в этом смысл? DIR у вас равен 13 (строка 3) и ничего другого в нем не появится, зачем его печатать?
И что там у вас выдается в сериал за "15" - неизвестно, в этом коде ничего похожего нет. Может все-таки 13?
Это стоит для считывания ответа от частотника, он должен ответ отослать. пока просто стоит что ыб помнить
везде очень сложно, объясняется. я видео сейчас смотрю. вот бы виедо найти где с ардуино связано на примерах
а где вы в своем коде увидели команду "Пуск" ? - вы ее на частотник не отправляете
везде очень сложно, объясняется. я видео сейчас смотрю. вот бы виедо найти где с ардуино связано на примерах
ничего тут сложного нет, послать два раза по 8 байт в Сериал - что может быть проще.
надо только
1. не делать ошибок при записи
2. отправить обе команды
А у вас в обоих пунктах - ошибки. И команды переписали неправильно, и отправляете только первую.
везде очень сложно, объясняется. я видео сейчас смотрю. вот бы виедо найти где с ардуино связано на примерах
https://yandex.ru/search/?text=arduino%20modbus%20video&lr=213
Видео с примерами хоть... Выберите подходящий. Вам нужен вариант Модбас-Мастер.
Ппц, ей ваще похеру похоже.
Посеветовал же про модбас почитать там все есть.
Не нужно от балды слать в порт что ни попадя.
Потому что какая разница , что слать в регистры если CRC абсолютно левый ?
Я тоже не перезваниваю, когда мне с незнакомых номеров звонят и скидывают.
И да, начать стоит с того, что установлено в настройках ПЧ. Есть вероятность, что номер устройства и скорость передачи не соответствуют, а так же не разрешено управление через rs-485
Все настройки настроены, "не разрешено управление через rs-485" в инструкции это не указано..
Код сейчас выглядит так, пытаюсь запустить и остановить, но ЧП ноль внимания на команды..
Подскажите какой R1 ставить? может в нем дело?
А+ подключаю к R- ПЧ. B+ к R- ПЧ.
Подскажите какой R1 ставить? может в нем дело?
А+ подключаю к R- ПЧ. B+ к R- ПЧ.
Код сейчас выглядит так, пытаюсь запустить и остановить, но ЧП ноль внимания на команды..
Глюк-трюк, у вас вообще с соображалкой как? - почему опять в заголовке три команды, а в коде только две?