Re: Частотник и Modbus. Универсальная заготовка.
Добавлено: 14 мар 2017, 10:54
Где конкретно в LinuxCNC появляется эта ошибка?MGG писал(а):в ЛЦНЦ будет 16 ошибка.
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Где конкретно в LinuxCNC появляется эта ошибка?MGG писал(а):в ЛЦНЦ будет 16 ошибка.
При таком параметре, как раз то что последний раз показывал. Вечером от начала до конца выложу.BentScrew писал(а):И параметр FC04 установите в 0.
Код: Выделить всё
[01][03][80][00][00][01][AD][CA]
Waiting for response (7)...
<01><03><02><00><00><B8><44>
spindle-vfd : updating frequency register [3301.000000 RPM, 0x226] ...
[01][06][20][01][02][26][53][70]
Waiting for response (8)...
<01><06><20><01><02><26><53><70>
Write OK!
Код: Выделить всё
[01][03][80][00][00][01][AD][CA]
Waiting for response (7)...
<01><03><02><00><00><B8><44>
/usr/bin/gladevcp:295: GtkWarning: GdkWindow 0x3a00003 unexpectedly destroyed
gtk.main()
**** GLADE VCP ERROR: X Protocol Error: 3
Shutting down and cleaning up LinuxCNC...
Код: Выделить всё
LINUXCNC - 2.7.8
dirname: лишний операнд «стол/temp/spindle-vfd/sim.axis.example/axis_panel.ini»
Попробуйте «dirname --help» для получения более подробного описания.
Machine configuration directory is '/home/mgg/Рабочий стол/temp/spindle-vfd/sim.axis.example'
Machine configuration file is 'axis_panel.ini'
Starting LinuxCNC...
.
Found file(REL): ./core_sim.hal
Found file(REL): ./sim_spindle_encoder.hal
Found file(REL): ./axis_manualtoolchange.hal
Found file(REL): ./simulated_home.hal
Found file(REL): ./custom.hal
spindle-vfd: device='/dev/ttyUSB0', baud=19200, bits=8, parity='none', stopbits=1, slave=1, verbose=1, debug=0
spindle-vfd : data reading error!
spindle-vfd : updating frequency register [0.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating command register [0x6] ... Write OK!
task: main loop took 0.013616 seconds
task: main loop took 0.014596 seconds
task: main loop took 0.041709 seconds
task: main loop took 0.010430 seconds
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
spindle-vfd : updating command register [0x7] ... Write OK!
spindle-vfd : updating command register [0x6] ... Write OK!
spindle-vfd : updating command register [0x7] ... Write OK!
spindle-vfd : updating command register [0x6] ... Write OK!
spindle-vfd : data reading error!
spindle-vfd : data reading error!
task: main loop took 0.077396 seconds
spindle-vfd : data reading error!
task: main loop took 0.012975 seconds
spindle-vfd : data reading error!
spindle-vfd : updating frequency register [1.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating command register [0x1] ... Write OK!
spindle-vfd : updating frequency register [101.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating frequency register [201.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating frequency register [401.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating frequency register [501.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating frequency register [601.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : updating frequency register [701.000000 RPM, 0x1F4] ... Write OK!
spindle-vfd : data reading error!
spindle-vfd : data reading error!
spindle-vfd : data reading error!
spindle-vfd : data reading error!
spindle-vfd : data reading error!
MGG писал(а):Ошибка то 12 то 16
Ошибки 12 COMM_TIME_OUT и 16 INVALID_CRC - пробуйте с другим переходником USB-RS485, поиграйтесь со скоростью порта (9600/19200/38400). А ещё у меня лично был случай, когда помогло шаманство в BIOS, что-то связанное с режимом работы портов USB. Точно опцию не помню, но глюк проявлялся так: обмен прекращался через несколько секунд, причём не помогала ни перезагрузка, ни переподключение переходника, но помогало выкл/вкл компьютера. И так по кругу.MGG писал(а):и раз в несколько секунд отваливается модбас
В этом логе видно, что значение частоты пишется в регистр [20][01] (0x2001), то есть совсем не туда. Должно писаться в 0x1000. Причём в вашем случае туда нужно отправлять не значение частоты, а процент от её макс. значения. Вот эту секцию надо правильно заполнить, согласно мануалу на ПЧ:MGG писал(а):Вот при нажатии кнопки вперед такое выдает.Код: Выделить всё
[01][06][20][01][02][26][53][70] Waiting for response (8)... <01><06><20><01><02><26><53><70> Write OK!
Код: Выделить всё
/* Регистры для записи. Укажите значения из мануала на свой ПЧ! */
#define COMMAND_REGISTER 0x2000 // команда вперёд/назад/стоп
#define SET_FREQUENCY_REGISTER 0x2001 // задание частоты
/* Управляющие значения командного регистра. Аналогично, см. мануал! */
#define CONTROL_Run_Fwd 0x000A // вперёд
#define CONTROL_Run_Rev 0x0006 // назад
#define CONTROL_Stop 0x0001 // стоп
/* Значения: 0 - частота, 1 - проценты */
#define SET_FREQUENCY_MODE 0Категорически не согласен. Если осмыслить мануал, указать правильно значения в коде компонента (который, кстати, сдобрен комментариями на русском), то сэкономите себе массу времени.MGG писал(а):Метод тыка как всегда рулит
Буду пробовать, но тут еще вопрос, а как он выглядит нормальный переходник?BentScrew писал(а):Ошибки 12 COMM_TIME_OUT и 16 INVALID_CRC - пробуйте с другим переходником USB-RS485, поиграйтесь со скоростью порта (9600/19200/38400). А ещё у меня лично был случай, когда помогло шаманство в BIOS, что-то связанное с режимом работы портов USB. Точно опцию не помню, но глюк проявлялся так: обмен прекращался через несколько секунд, причём не помогала ни перезагрузка, ни переподключение переходника, но помогало выкл/вкл компьютера. И так по кругу.
Я вдумчиво менял настройки и смотрел результатBentScrew писал(а):Категорически не согласен. Если осмыслить мануал, указать правильно значения в коде компонента (который, кстати, сдобрен комментариями на русском), то сэкономите себе массу времени.
Хотел бы я знать...MGG писал(а):а как он выглядит нормальный переходник?
Работает и так и так, и даже совпадают показания, единственное, что только если тыкать кнопку, в ином случае шпиндель выключаетсяBentScrew писал(а):Причём в вашем случае туда нужно отправлять не значение частоты, а процент от её макс. значения.
Что то не могу с компилировать, кто под скажет в чем дело?BentScrew писал(а):В терминале набираем make, а затем, если компиляция завершилась успешно, sudo make install.