Разбираемся в софте контроллеров mycnc

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

М03:
//Turn on Spindle clockwise
//set Spindle speed through DAC channel
//*****************************************************
//The following variables Should be defined outside
//OUTPUT_CCW_SPINDLE
//OUTPUT_SPINDLE
//SPINDLE_ON_DELAY
//*****************************************************

#include common.const.h
#include pins.h
#include vars.h

main()
{
timer=0;
proc=plc_proc_spindle;

val=eparam;
if (val>0xfff) {val=0xfff;};
if (val<0) {val=0;};

dac01=val;

portclr(OUTPUT_CCW_SPINDLE);
portset(OUTPUT_SPINDLE);

command=PLC_MESSAGE_SPINDLE_SPEED_CHANGED;
parameter=eparam;
message=PLCCMD_REPLY_TO_MYCNC;
timeout=timer+10;do{timer++;}while (timer<timeout);
//pause to push the message with Spindle Speed data

//delay after spindle started
timeout=timer+spindle_on_delay;
do{timer++;}while (timer<timeout); //delay for Spindle reach given speed

gvarset(7370,1);
gvarset(7371,eparam);

exit(99); //normal exit
};

М08:

#include common.const.h
#include pins.h
//*****************************************************
//The following variables Should be defined outside
//OUTPUT_FLOOD
//*****************************************************

main()
{
gvarset(7372,1);
portset(OUTPUT_FLOOD);
exit(99); //normal exit
};

М07:

#include common.const.h
#include pins.h
//*****************************************************
//The following variables Should be defined outside
//OUTPUT_MIST
//*****************************************************

main()
{
gvarset(7373,1);

portset(OUTPUT_MIST);
exit(99); //normal exit
};


Часть кода cnc-screen.xml, отвечающая за кнопки М03-М09:


<gitem where="magic" xattr="60;4;16;16;led;red;round" address="outputs" number="0" position="1200;0" width="80" height="80" image="button-m03" action="plc-run:M03/#5524" type="xbutton"/>
<gitem where="magic" xattr="60;4;16;16;led;red;round" address="outputs" number="0" position="1200;80" width="80" height="80" image="button-m04" action="plc-run:M04/#5524" type="xbutton"/>
<gitem where="magic" position="1200;160" width="80" height="80" image="button-m05" action="plc-run:M05/0" type="button"/>
<gitem where="magic" position="1200;240" width="80" height="80" image="button-m06" action="run-numpad:direct-run:M06 T%v" type="button"/>
<gitem where="magic" xattr="60;4;16;16;led;red;round" address="outputs" number="0" position="1200;320" width="80" height="80" image="button-m07" action="plc-run:M07/0" type="xbutton"/>
<gitem where="magic" xattr="60;4;16;16;led;red;round" address="outputs" number="0" position="1200;400" width="80" height="80" image="button-m08" action="plc-run:M08/0" type="xbutton"/>
<gitem where="magic" position="1200;480" width="80" height="80" image="button-m09" action="plc-run:M09/0" type="button"/>
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Впринципе можете скопировать текст из PLC и закинуть сюда под спойлер, а так же еще из файла pins.h
Да cnc-screen.xml
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

а содержимое файла pins.h?
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Umnik писал(а):<gitem where="magic" xattr="60;4;16;16;led;red;round" address="outputs" number="0" position="1200;0" width="80" height="80" image="button-m03" action="plc-run:M03/#5524" type="xbutton"/>
выделенное красным отвечает за индикацию кнопки, number=ХХ нужно прописать номер выхода реле
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

Извиняюсь, пропустил.
pins.h

//input/output definitions
//outputs

//inputs

//Output relays

#define OUTPUT_SPINDLE 0
#define OUTPUT_MIST 4
#define OUTPUT_TOOL_CLAMP 2
#define OUTPUT_OIL 3

#define OUTPUT_CCW_SPINDLE 10
#define OUTPUT_FLOOD 1
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Serg »

Да... С настройкой mycnc справится любая домохозяйка... :)
И всякие дополнительные фичи там делаются по желанию "критической массы"... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

vektor_z писал(а):выделенное красным отвечает за индикацию кнопки, number=ХХ нужно прописать номер выхода реле
выходит, что если у всех кнопок прописан пин №0, то вот они все и загораются, когда этот пин (включение шпинделя) активируется.
Тогда для М8 надо прописать пин №1, на который хочу посадить включение СОЖ...
С этим вроде ясно, спасибо!
Как внести изменения в pins.h, чтобы они вступили в силу?
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

UAVpilot, если б по тому же килофлопу не было замечательной темы, думаю, с ним возни было бы еще больше))
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Serg »

Umnik писал(а):UAVpilot, если б по тому же килофлопу не было замечательной темы, думаю, с ним возни было бы еще больше))
Возможно, ни разу не пробовал kflop. :) Но при беглом осмотре документации обнаружено сильно больше.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Umnik писал(а):#define OUTPUT_FLOOD 1
общая переменная OUTPUT_FLOOD которой присвоен выходной пин 1, можно заменить на любой нужный пин.
После редактирования PLC файлов нужно перекомпелировать и сохранить, тоесть нажать на кнопочку молоточек и дискетка.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

Василий, спасибо большое за помощь, завтра буду в мастерской у компа, попробую все как ты сказал.
В принципе, сегодня я так и делал, но не знал, что прогу надо перезапустить при этом.
Ещё раз спасибо!
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Umnik писал(а): portclr(OUTPUT_CCW_SPINDLE);
portset(OUTPUT_SPINDLE);
Команда portclr() - Отключает пин. В скобках пишется или общая переменная или номер выходного пина
Команда portset() - Включает пин.
Для простоты восприятия можно записать так:

portset(1) - включит пин 1
portclr(1) - выключит пин 1
Последний раз редактировалось vektor_z 14 фев 2018, 22:59, всего редактировалось 2 раза.
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Umnik писал(а):В принципе, сегодня я так и делал, но не знал, что прогу надо перезапустить при этом.
Прогу нужно перезапускать только после редактировании скринсета
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

UAVpilot писал(а):
Umnik писал(а):UAVpilot, если б по тому же килофлопу не было замечательной темы, думаю, с ним возни было бы еще больше))
Возможно, ни разу не пробовал kflop. :) Но при беглом осмотре документации обнаружено сильно больше.
Ну, что с документацией у mycnc не густо, отрицать глупо. Хотя очень многое есть онлайн на сайте, надо просто уметь читать, по сути..
Ну и вроде как вопрос решается с написанием в настоящий момент.
Тут ещё стоит отметить, что я не программист ни разу, муцнц по сути первая моя ЧПУ софтина, если не считать ломаную цнц-планет, где даже шпиндель я включал с панели частотника.
И тем не менее, как видно, даже для таких "мастеров", как я, практически все решаемо.
Очень оперативно отвечает Сергей, и что не мало важно - на русском языке.
Почему то мне кажется, задавай я вопросы автору того же кфлопа, мы бы ещё месяц пытались бы понять друг друга)))
А так mycnc работает практически из коробки, а какие то дополнительные моменты постепенно будут проясняться, в том числе и с помощью данной темы.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

vektor_z писал(а):
Umnik писал(а): portclr(OUTPUT_CCW_SPINDLE);
portset(OUTPUT_SPINDLE);
Команда portclr() - Отключает пин. В скобках пишется или общая переменная или номер выходного пина
Команда portset() - Включает пин.
Для простоты восприятия можно записать так:

portset(1) - включит пин 1
portclr(1) - выключит пин 1
И.е. чисто теоретически, вместо переменной можно просто прописать номер пина и все.
Но Сергей писал вроде, что с позиции умных книг по программированию это не совсем правильно))
А OUTPUT_CCW_SPINDLE - это что такое?
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

UAVpilot писал(а):Возможно, ни разу не пробовал kflop. Но при беглом осмотре документации обнаружено сильно больше.
Контроллеры myCNC и софт постоянно обновляются и ведутся новые разработки,подробная документация по настройке софта очень быстро становится не актуальна так как в софте появляется много глобальных изменений.
Аватара пользователя
niksooon
Мастер
Сообщения: 2144
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1207
Откуда: Кашира
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение niksooon »

vektor_z писал(а):После редактирования PLC файлов нужно перекомпелировать и сохранить, тоесть нажать на кнопочку молоточек и дискетка.
там еще чуть ниже кнопка есть- иконка со стрелкой ,её тоже надоть нажать чтобы перепрошить PLC контроллера...............
Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.
Аватара пользователя
niksooon
Мастер
Сообщения: 2144
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1207
Откуда: Кашира
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение niksooon »

Umnik писал(а): OUTPUT_CCW_SPINDLE - это что такое?
М4 ,включение вращения шпинделя против часовой.....
Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение vektor_z »

Umnik писал(а):Но Сергей писал вроде, что с позиции умных книг по программированию это не совсем правильно))
А OUTPUT_CCW_SPINDLE - это что такое?
Да, не спорю, переменная все же правильнее будет...
OUTPUT_CCW_SPINDLE - переменная обратного вращения шпинделя.. На инверторе есть входной пин для реверса, туда можно подключить этот пин, и при нажатии М4 шпиндель будет вращаться в обратном направлении.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2153
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik »

niksooon, vektor_z, спасибо большое за помощь, все заработало, как надо!
по умолчанию в контроллере одно реле настроено на включение шпинделя по часовой, второе - против часовой.
Теперь же одно крутит шпиндель по часовой, а одно включает М8.
Ответить

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