Ничего не понял, поясните.mmavka писал(а):Частотник не поддерживает x06. пришлось пользоваться 10
Покажите файлы вашей рабочей конфигурации, будем думать.mmavka писал(а):Куда копать?
Ничего не понял, поясните.mmavka писал(а):Частотник не поддерживает x06. пришлось пользоваться 10
Покажите файлы вашей рабочей конфигурации, будем думать.mmavka писал(а):Куда копать?
Частотник не умеет записывать один регистр. (в Modbus команда 0x06), а умеет записывать только по команде записи нескольких регистров (0x10). Поэтому пришлось переделать немного spindle-vfd.cBentScrew писал(а): Ничего не понял, поясните.
А какие файлы нужны все? Вот конфигурация и измененная заготовка.BentScrew писал(а):Покажите файлы вашей рабочей конфигурации, будем думать.
Код: Выделить всё
net spindle-speed-cmd spindle-vfd.command-speed
Код: Выделить всё
net spindle-cmd spindle-vfd.command-speed
Помогло?mmavka писал(а):Попробую сегодня.
Да. Спасибо. Все работает.BentScrew писал(а):Помогло?mmavka писал(а):Попробую сегодня.
Вкратце, значит, так-с:magrelo писал(а):14 03 00 01 00 01 D7 0F
Компонент в бесконечном цикле шлёт запросы с кодом 0х03 (чтение), читая регистры преобразователя частоты. В этом состоит суть мониторинга параметров, как бэ... Запросы с кодом 0х06 (запись) отсылаются в случае, если а) заданная частота изменилась и б) изменился статус шпинделя fwd/rev/stop. Если при запросе данные от ПЧ не были получены, то компонент сбрасывает пин modbus_ok в "0". Если ПЧ отвечает на запросы, то пин modbus_ok устанавливается в "1", но не сразу, а спустя 10 успешных запросов, для уверенности что связь стабильна. Последнюю цифру можно изменить в исходниках, см. MIN_MODBUS_OK.magrelo писал(а):Но насколько я понял LinuxCNC бесконечно пытается передать мне выставленные параметры, даже если они не меняются.
Код: Выделить всё
/* Регистры для чтения. Укажите значения из мануала на свой ПЧ! */
#define STATUS_Command_Frequency 0x0001 // заданная (опорная) частота
#define STATUS_Output_Frequency 0x0002 // выходная частота
#define STATUS_Output_Current 0x0003 // выходной ток
#define STATUS_Output_Voltage 0x0004 // выходное напряжение
#define STATUS_Output_Power 0x0005 // выходная мощность
#define STATUS_Output_Torque 0x0006 // выходной момент
#define STATUS_Motor_RPM 0x0007 // скорость вращения
#define STATUS_DC_Bus_Voltage 0x0008 // напряжение на шине DC
#define STATUS_Temperature 0x0009 // температура
#define STATUS_Uptime 0x000A // время наработки
#define STATUS_Fault_Code 0x000B // код ошибки ПЧ
Ничего переводить не надо, значения в вашей таблице уже даны в Hex, приставку H просто откидывайте. То есть, например, F3H превращается в 0xF3.MGG писал(а):из какой системы в какую надо переводить?
Код: Выделить всё
mgg@cnc:~/Рабочий стол/temp/spindle-vfd/spindle-vfd$ sudo make install spindle-vfd.c
[sudo] password for mgg:
mkdir -p .o
cc -I/usr/include/linuxcnc -URTAPI -U__MODULE__ -DULAPI -Os -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -o .o/spindle-vfd.o -c spindle-vfd.c
spindle-vfd.c:70:1: error: unknown type name ‘define’
spindle-vfd.c:70:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before numeric constant
spindle-vfd.c:149:3: warning: data definition has no type or storage class [enabled by default]
spindle-vfd.c:209:49: error: expected declaration specifiers or ‘...’ before ‘haldata_t’
spindle-vfd.c:350:50: error: expected declaration specifiers or ‘...’ before ‘haldata_t’
spindle-vfd.c: In function ‘usage’:
spindle-vfd.c:475:5: error: ‘DEFAULT_Bits’ undeclared (first use in this function)
spindle-vfd.c:475:5: note: each undeclared identifier is reported only once for each function it appears in
spindle-vfd.c:475:19: error: ‘DEFAULT_Device’ undeclared (first use in this function)
spindle-vfd.c:475:44: error: ‘DEFAULT_Parity’ undeclared (first use in this function)
spindle-vfd.c:476:5: error: ‘DEFAULT_Baud’ undeclared (first use in this function)
spindle-vfd.c:476:19: error: ‘DEFAULT_Stopbits’ undeclared (first use in this function)
spindle-vfd.c:476:37: error: ‘DEFAULT_Slave’ undeclared (first use in this function)
spindle-vfd.c: In function ‘main’:
spindle-vfd.c:484:16: error: ‘haldata’ undeclared (first use in this function)
spindle-vfd.c:497:13: error: ‘DEFAULT_Slave’ undeclared (first use in this function)
spindle-vfd.c:498:14: error: ‘DEFAULT_Device’ undeclared (first use in this function)
spindle-vfd.c:499:12: error: ‘DEFAULT_Baud’ undeclared (first use in this function)
spindle-vfd.c:500:12: error: ‘DEFAULT_Bits’ undeclared (first use in this function)
spindle-vfd.c:501:14: error: ‘DEFAULT_Parity’ undeclared (first use in this function)
spindle-vfd.c:502:16: error: ‘DEFAULT_Stopbits’ undeclared (first use in this function)
spindle-vfd.c:503:13: error: ‘DEFAULT_Debug’ undeclared (first use in this function)
spindle-vfd.c:504:15: error: ‘DEFAULT_Verbose’ undeclared (first use in this function)
spindle-vfd.c:505:16: error: ‘DEFAULT_Looptime’ undeclared (first use in this function)
spindle-vfd.c:611:27: error: expected expression before ‘)’ token
spindle-vfd.c:704:20: error: ‘AT_SPEED_TOLERANCE’ undeclared (first use in this function)
spindle-vfd.c:710:29: error: ‘MIN_MODBUS_OK’ undeclared (first use in this function)
make: *** [.o/spindle-vfd.o] Ошибка 1