Что я урвал, хвастаемся покупками, завидуем и облизываемся

SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение SVP »

aftaev писал(а):SVP, ты все духом собираешься продавцу с евау написать, интересно сколько будешь духом собираться для Галила что нибудь написать :)
У вас какая-то левая информация, видать телепаты в отпуску, а сильно неймется.

1. Я ни с какими "духами" не собираюсь, однако фигнёй я страдаю в свободное время и под настроение,
сейчас в целом некогда, будет когда + будет желание - напишу.
2. Никаким продавцам я писать не собирался, я собирался писать непосредственно в ebay, с этим тоже некоторые проблемы.
(надо разбираться как-кому-куда, изучить предварительно полиси итд итп)
3. Для галила я ничего писать не собираюсь, у меня его нету.

Однако для себя, я постпроцессор для солидкама подруливал, опыт имею.
Ничего супер-сложного в этом нету.
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение SVP »

Hanter писал(а):хм.. у меня тогда один единственный вопрос - и че это галил и другие пром контролеры так непопулярны ? :hehehe: насчет же драйва и документации - у меня например на мои контролеры есть и какой то объем знаний, и с кем посоветоваться, и вся документация.. и даже большая часть ее на русском.. но тем не менее, ковыряясь больше пяти лет совершенно не могу сказать что все отладил.. :) и это при том что еще и у производителя есть вполне вменяемая служба поддержки и адекватный форум где можно получить внятные ответы. но есть ряд вопросов на которые следует ответ "вызывайте нашего специалиста" :) по этому если нада сделать станок - нада брать проверенные рабочие решения. если же хочется именно экспериментов, самообразования, пощекотать нервы и тд и тп - да. галил хорошее железо. и вполне подходит для этого :) с интересом послежу за темой.
Всё зависит от того, насколько "впёрлось".
Если хочется максимально быстро получить рабочее решение, "нам деньги тьфу" итп, то вообще не надо никаких станков собирать,
надо готовый купить, в швейцарии где-нибудь, и наслаждаться результатом. Вызывать если что спецов от производителя, пущай
доруливают. Станков слава богу ныне производится под любой чих. Только плати.

Если быстро не хочется, есть какие-то железки, денег не вагон, но зато есть свободное время, то не вижу причин по которым
нельзя прочитать документацию на языкА и на языкБ и сделать конвертер из одного в другой. Задача это возможно посильная
(от языков завсисит, из французкого в английский переводчики переводят много лучше, чем из китайского в русский).

Я не знаю что там в галиле за язык, однако если это функциональный аналог Gкода (т.е. gкод другими словами), то проблема
сделать для него постпроцессор весьма надуманна, вряд ли это будет сложнее чем параллельная установка рельс на станине.
Насколько я помню в солидкаме очень простой язык в постпроцессоре, даже без документации мне удалось некоторые моменты
под свои нужды "подрулить".

Все мы так или иначе "страдаем фигнёй" в том смысле, что из имеющихся железок пытаемся собрать что-то рабочее.
У кого-то хватает на популярные железки, у кого-то нет. Кто-то богатый, кто-то бедный. У кого-то избыток работы, у кого-то
недостаток денег. Поэтому тут не сказать какая политика в выборе железок будет наиболее верной.
Лично я стараюсь с малопопулярными вещами не связываться, но если бы они "сами шли в руки", то скорее всего
попробовал бы заставить их работать.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение Hanter »

я не о том говорил. понятно что лучше быть здоровым и богатым чем бедным и с гемороем.. были б деньги - никто б тут не сидел и не строил станки. все б купили то что им нравится. :) я говорил о том, что запустить станок на той же месе, кфлопе. МК или любом другом распространенном контролере гараздо проще и быстрее чем связываться с неизвестным железом, да еще и несколько иного "уровня". по известному железу есть наработки, схемы, изучены все пути, головняки, особенности и тд и тп. спросил совета - получил ответ. спросил то же самое по какому нибудь "Аэротек мотион комп" - получил в ответ дулю с жирным слоем солидола..

конкретно же по вот этому галилу я ничего не скажу - просто откровенно лениво сидеть и разбираться еще и с ним. :) но по платам ихним. да в принципе и по другим пром контролерам - уверяю там вопрос стоит не в том, чтобы перевести G-код в "аналог G-кода" - это то как раз проблемы не составляет. там все в принципе по другому работает. Смотрите что происходит - мач читает код, на основе его строит траекторию и планирует движение - расчитывает ускорения количество импульсов, скорости их следования и тд и тп. . а потом гонит все это на ЛПТ. в случае со сторонним драйвером, мач всеравно читает код, строит траектории, расчитывает параметры движения, но уже не считает импульсы и гонит их на ЛПТ, а на основе этих расчетов должен перевести готовую траекторию в какой то формат и скормить данные в память контролера. то есть чтение, обработка G-кода, построение траекторий и планирование движений - это всеравно остается на маче. этого НЕ изменить. на промышленном железе софт занимается только чтением G-кода, переводом его в язык контролера, и скармливанием полученного кода в память контролера. дальше ВСЕ делает сам контролер. расчет траекторий, планирование движений, расчет ускорений и тд и тп -это аппаратные функции контролера движений. что бы было более понятно - например мое железо для кода G4 и G9 будут вот такие переводы..

Код: Выделить всё

// G4 Dwell ///////////////////////////////////////////////////////////////
N4000
  VS_GGROUP0_1_M == 4
  READ(P,X)
  IF(Q100 & $8000 > 0)
	  DWELL(Q116 * 1000.0)
  ELSE
    IF (Q100 & $800000 > 0)
     DWELL(X_ARG_Q*1000)
    ENDIF
  ENDIF
RETURN

// G9 Exact stop /////////////////////////////////////////////////////////
N9000
DWELL0
While (IN_POSITION_M = 0)   // Wait until all axis are In Position set by Ix28.
EndWhile
RETURN
а вот для кода G10 будет уже вот такой код для трансляции:

Код: Выделить всё

// G10 ProgramDataInput //////////////////////////////
N10000
 READ(L,P,R,A,B,C,X,Y,Z,U,V,W)  // for lathe we need to read Q also
 DWELL0

 IF (Q100 & $0000800 > 0)     //L
   IF (L_ARG_Q=10)               // TOOL LENGTH

// the most commonly used ones

     IF (Q100 & $2000000 > 0) //Z
        G65_IND_ASGN_BASE=2000
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Z_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0020000 > 0) //R
        G65_IND_ASGN_BASE=2400
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=R_ARG_Q 
        GOSUB502
     ENDIF   

// all of the other axes, numbers 20100, 20200, etc. made up and not FANUC standard

     IF (Q100 & $0010000 > 0) //Q tool tip direction
        G65_IND_ASGN_BASE=20900
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Q_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0800000 > 0) //X
        G65_IND_ASGN_BASE=20000
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=X_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $1000000 > 0) //Y
        G65_IND_ASGN_BASE=20100
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Y_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000001 > 0) //A
        G65_IND_ASGN_BASE=20300
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=A_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000002 > 0) //B
        G65_IND_ASGN_BASE=20400
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=B_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000004 > 0) //C
        G65_IND_ASGN_BASE=20500
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=C_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0100000 > 0) //U
        G65_IND_ASGN_BASE=20600
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=U_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0200000 > 0) //V
        G65_IND_ASGN_BASE=20700
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=V_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0400000 > 0) //W
        G65_IND_ASGN_BASE=20800
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=W_ARG_Q 
        GOSUB502
     ENDIF   

   ENDIF

   IF (L_ARG_Q=11)               // TOOL WEAR

// the most commonly used ones

     IF (Q100 & $2000000 > 0) //Z
        G65_IND_ASGN_BASE=2200
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Z_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0020000 > 0) //R
        G65_IND_ASGN_BASE=2600
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=R_ARG_Q 
        GOSUB502
     ENDIF   

// all of the other axes, numbers 20100, 20200, etc. made up and not FANUC standard

     IF (Q100 & $0010000 > 0) //Q tool tip direction (same as L10)
        G65_IND_ASGN_BASE=20900
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Q_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0800000 > 0) //X
        G65_IND_ASGN_BASE=21000
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=X_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $1000000 > 0) //Y
        G65_IND_ASGN_BASE=21100
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Y_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000001 > 0) //A
        G65_IND_ASGN_BASE=21300
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=A_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000002 > 0) //B
        G65_IND_ASGN_BASE=21400
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=B_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0000004 > 0) //C
        G65_IND_ASGN_BASE=21500
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=C_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0100000 > 0) //U
        G65_IND_ASGN_BASE=21600
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=U_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0200000 > 0) //V
        G65_IND_ASGN_BASE=21700
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=V_ARG_Q 
        GOSUB502
     ENDIF   
     IF (Q100 & $0400000 > 0) //W
        G65_IND_ASGN_BASE=21800
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=W_ARG_Q 
        GOSUB502
     ENDIF   

   ENDIF

   IF (L_ARG_Q=2)               // WORK OFFSETS
     G65_IND_ASGN_BASE=5200
     IF (Q100 & $0800000 > 0) //X
        G65_IND_NDX=P_ARG_Q*20+1
        G65_IND_ASGN_RSLT=X_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $1000000 > 0) //Y
        G65_IND_NDX=P_ARG_Q*20+2
        G65_IND_ASGN_RSLT=Y_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $2000000 > 0) //Z
        G65_IND_NDX=P_ARG_Q*20+3
        G65_IND_ASGN_RSLT=Z_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000001 > 0) //A
        G65_IND_NDX=P_ARG_Q*20+4
        G65_IND_ASGN_RSLT=A_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000002 > 0) //B
        G65_IND_NDX=P_ARG_Q*20+5
        G65_IND_ASGN_RSLT=B_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000004 > 0) //C
        G65_IND_NDX=P_ARG_Q*20+6
        G65_IND_ASGN_RSLT=C_ARG_Q 
        GOSUB502
     ENDIF
   ENDIF

   IF (L_ARG_Q=20)               // EXTRA WORK OFFSETS
     G65_IND_ASGN_BASE=7000
     IF (Q100 & $0800000 > 0) //X
        G65_IND_NDX=(P_ARG_Q-1)*20+1
        G65_IND_ASGN_RSLT=X_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $1000000 > 0) //Y
        G65_IND_NDX=(P_ARG_Q-1)*20+2
        G65_IND_ASGN_RSLT=Y_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $2000000 > 0) //Z
        G65_IND_NDX=(P_ARG_Q-1)*20+3
        G65_IND_ASGN_RSLT=Z_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000001 > 0) //A
        G65_IND_NDX=(P_ARG_Q-1)*20+4
        G65_IND_ASGN_RSLT=A_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000002 > 0) //B
        G65_IND_NDX=(P_ARG_Q-1)*20+5
        G65_IND_ASGN_RSLT=B_ARG_Q 
        GOSUB502
     ENDIF
     IF (Q100 & $0000004 > 0) //C
        G65_IND_NDX=(P_ARG_Q-1)*20+6
        G65_IND_ASGN_RSLT=C_ARG_Q 
        GOSUB502
     ENDIF
   ENDIF

   IF (L_ARG_Q=432)               // G43.2 Mode Tool Length
     IF (Q100 & $2000000 > 0) //Z only one for now, special case jjj
        G65_IND_ASGN_BASE=22000
        G65_IND_NDX      =P_ARG_Q
        G65_IND_ASGN_RSLT=Z_ARG_Q 
        GOSUB502
     ENDIF   
   ENDIF
 ENDIF
 GOSUB658     // Do any special tool offset post processing
 GOSUB659     // Do any special work offset post processing
RETURN
вы хотите это в постпроцессор засунуть ? :hehehe:
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение SVP »

Hanter писал(а):вы хотите это в постпроцессор засунуть ?
Да можно и засунуть, лишь бы работало.
Яж не случайно писал, что если надо с русского на китайский, то лучше пытаться не браться.
Однако в моей практике были случаИ, когда даже подобный геморрой был кое-как пройден.
Тут весь вопрос в том, что маячит с того конца, иногда имеет смысл поколупаться и победить
даже подобные "тяжелые случаи", а иногда попросту нет выбора и выхода.

Нераспространенные железки часто имеют низкую цену. И тут важно понять дороже ли
будет время потраченное на них, чем эта скидка. Сам понимаешь это зависит от величины
скидки и цены времени(и эта цена очень разная для разных регионов).

ЗЫ. Кучка каких-то пластинок за 10$ без доставки в россию
http://www.ebay.com/itm/Lathe-Cutting-C ... 1944595804?
выставлялась за 25, потом за 15, щаз вон за 10. Тем у кого дохрена державок может и пригодится.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение Hanter »

SVP писал(а):Да можно и засунуть, лишь бы работало. Яж не случайно писал, что если надо с русского на китайский, то лучше пытаться не браться. Однако в моей практике были случаИ, когда даже подобный геморрой был кое-как пройден. Тут весь вопрос в том, что маячит с того конца, иногда имеет смысл поколупаться и победить даже подобные "тяжелые случаи", а иногда попросту нет выбора и выхода.
Не, ну если Мисье может то ради бога.. для меня это задача на уровне "запустить домовенка кузю на орбиту марса".. :) нахрен... того что есть бы освоить и разобраться.. а начинать учиться писать дрова и интерфейсы - ну его нахрен.. пусть этим заниматся тот кто в этом шарит.. :)
И эта - я ж не против. я ж сказал - с интересом погляжу за развитием темы. но быстрой она точно не будет :)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aftaev »

SVP писал(а):Я не знаю что там в галиле за язык, однако если это функциональный аналог Gкода (т.е. gкод другими словами), то проблема
сделать для него постпроцессор весьма надуманна, вряд ли это будет сложнее чем параллельная установка рельс на станине.
Насколько я помню в солидкаме очень простой язык в постпроцессоре, даже без документации мне удалось некоторые моменты
под свои нужды "подрулить".
Координаты с осей Галила на экране тоже будет САМ программа отображать :idiot:

С таким же успехом мож попробовать взять платы Меса и без Lcnc порулить станком переписав постпроцессор :hehehe:
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение SVP »

aftaev писал(а):С таким же успехом мож попробовать взять платы Меса и без Lcnc порулить станком переписав постпроцессор :hehehe:
Т.е. hanter вводит нас в заблуждение и требуется реализовывать планировщик траекторий итп ?

Вас не затруднит какие-то примеры простых программ для этой галилы привести,
функциональных схем итп, раз вы такой специалист и точно знаете что там внутри делается
все тоже самое, что в lcnc.
Обзорчик там какой-нибудь наваять итп.

Думаю многим будет интересно ради развития кругозора... а особенно владельцу железки.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aftaev »

SVP писал(а):Думаю многим будет интересно ради развития кругозора... а особенно владельцу железки.
Давай без всяких умных планировщиков. Есть серва ОДНА ОСЬ управляется по степ/дир или CANOpen как нравится подключена к компу по LPT, или Изернету. Протоколы все известны. Попробуй эту серву пошевелить постпроцессором из ЛЮБОЙ САМ программы ;)

У меня есть сервы Яскава + платы к ней нечто вроде Галила, только Яскавовские и называются Yasnac. И без специального софта, никаким постпроцессором ты их не сдвинешь.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
mhael
Мастер
Сообщения: 2443
Зарегистрирован: 09 мар 2013, 11:22
Репутация: 769
Настоящее имя: Ильдар
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение mhael »

aftaev, SVP, Hanter, Я понимаю, что Вы друг-друга не понимаете :)
Hanter говорит о том, что с родным софтом "крутые" железки работают в полную силу возможностей. И это действительно так.
SVP говорит о том, что имея конвертер G-кода в код на языке "крутой железки", эту самую железку можно заставить отработать "стандартную" УП без использования расширенных возмоностей программирования родного софта. И это тоже верно для Galil-а.
aftaev говорит о том, что для "крутой" железки зачастую нужен родной софт, чтоб она вообще заработала. И ведь тоже правда.

Все правы и то же время спорят, а зачем и о чем - не понятно :)
SVP писал(а):Вас не затруднит какие-то примеры простых программ для этой галилы привести
А это у Галила есть, в картинках :) http://www.galilmc.com/learn/sample-dmc-code И, если вы посмотрите на примерчик со шлифовкой линз, то увидите, как легко и просто на языке галила организована многопотоковая независимая обработка - в данном случае в примере одновременно два шпинделя позиционируются независимо из одной УП ;) Один ведет грубую обработку, а второй с небольшой задержкой за ним сразу "финиширует". Вот такое точно на G-code не сделать.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aegis »

mhael писал(а):Вот такое точно на G-code не сделать
сделать можно. у нас так работают взрослые токарники емко и монфортс. там 2 независиммых суппорта которые ездят сами по себе. типа обработка сразу внутри и снаружи. плюс контршпиндель... но это на серьезных контроллерах
нікому нічого не нав'язую.
Аватара пользователя
mhael
Мастер
Сообщения: 2443
Зарегистрирован: 09 мар 2013, 11:22
Репутация: 769
Настоящее имя: Ильдар
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение mhael »

aegis писал(а):сделать можно
Заинтригован. Можно УП для примера? Или у Вас в одном контроллере две разные УП запускаются? Реально любопытно, какими средствами G-code можно распараллелить процесс.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aegis »

mhael, там пишется прога отдельно на каждый канал. но есть места где они перестыковуются (типа синхронизация). конкретно для нашего производства это приемлемо (одновременная обработка изнутри и снаружи), временные рамки синхронизации могут быть довольно грубые, но думаю что и более точная синхронизация возможна. хз посмотрю остались ли записи. просто на емко я УП не пишу - только просчитываю координаты точек, дальше наладчик сам все забивает. монфортсы стоят уже давно, но УП поискать можно
нікому нічого не нав'язую.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aftaev »

aegis писал(а):монфортсы стоят уже давно, но УП поискать можно
Почему стоят?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
mhael
Мастер
Сообщения: 2443
Зарегистрирован: 09 мар 2013, 11:22
Репутация: 769
Настоящее имя: Ильдар
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение mhael »

aegis писал(а):там пишется прога отдельно на каждый канал
Это все объясняет, дальше можно не пояснять. Как я и говорю - командами G-code нельзя распараллелить процесс обработки, отдельные проги на каждый канал - это распараллеливание силами контроллера, а не кода.
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение N1X »

mhael писал(а):Это все объясняет, дальше можно не пояснять. Как я и говорю - командами G-code нельзя распараллелить процесс обработки, отдельные проги на каждый канал - это распараллеливание силами контроллера, а не кода.
Тем не менее это нормальная практика :) У нас тоже на синумериках многоканалка так работает, в большинстве задач другого и не надо (я собственно не знаю, где это может быть надо), причем вроде как и САПРы поддерживают создание многоканальных УП...
Аватара пользователя
mhael
Мастер
Сообщения: 2443
Зарегистрирован: 09 мар 2013, 11:22
Репутация: 769
Настоящее имя: Ильдар
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение mhael »

mhael писал(а):Вот такое точно на G-code не сделать.
aegis писал(а):сделать можно.
aegis писал(а):там пишется прога отдельно на каждый канал.
mhael писал(а):Как я и говорю - командами G-code нельзя распараллелить процесс обработки
N1X писал(а):Тем не менее это нормальная практика
N1X, Вы меня в чем пытаетесь убедить? В том что в G-code есть механизм распараллеливания процессов или в том, что это распаралеливание происходит на уровне контроллеров? Если первое - пример в студию, если второе - так я сам об этом и пишу, а Вы меня хотите убедить в том, о чем я пишу?
Еще раз повторюсь - можно "крутую" железку со спец языком заставить отработать стандартный G-code с помощью конвертера, но нельзя с помощью G-code задействовать ВСЕ плюшки это самой железки простым конвертированием G-code в язык управления железкой. С этим утверждением спорим?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение MX_Master »

mhael писал(а):А это у Галила есть, в картинках http://www.galilmc.com/learn/sample-dmc-code И, если вы посмотрите на примерчик со шлифовкой линз, то увидите, как легко и просто на языке галила организована многопотоковая независимая обработка - в данном случае в примере одновременно два шпинделя позиционируются независимо из одной УП Один ведет грубую обработку, а второй с небольшой задержкой за ним сразу "финиширует". Вот такое точно на G-code не сделать.
В g-коде задачка имеет простое решение. И вариантов, кстати, может быть много. Под рукой надо иметь хотя бы простенький 5/6-ти осевой контроллер за 50-150 уёв.

Простой синхронный пример:

Код: Выделить всё

G1 X1 Y1 Z1 A2 B2 C2 F100
G1 X2 Y2 Z2 A5 B5 C5 F200
Асинхронный:

Код: Выделить всё

G1 X1 Y1 Z1 F100
G1 A2 B2 C2 F200
G1 X2 Y2 Z2 F200
G1 A5 B5 C5 F500
Последовательный:

Код: Выделить всё

G1 X1 Y1 Z1 F100
G1 X2 Y2 Z2 F200
G4 P1000
G1 A2 B2 C2 F200
G1 A5 B5 C5 F500
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение aegis »

mhael писал(а):В том что в G-code есть механизм распараллеливания процессов
как такое может быть если внутри одного кадра все должно отрабатываться адекватно.
MX_Master писал(а):Простой синхронный пример:
а теперь представьте ситуацию, что например перестала устраивать шероховатость при обработке одним суппортом (к примеру длинная борштанаг при расточке) и надо уменьшить подачу по отдельному каналу. что теперь всю программу перебивать на уровне САПРа надо и заново вбивать в станок?
в том то и весь прикол что можно делать отдельные места синхронизации (хоть в каждом кадре где это действительно нужно) а можно не делать тогда каждый суппорт будет жить своей половой жизнью.
aftaev писал(а):Почему стоят?
обрабатываем чугун, причем насухо (станок на подачу СОЖ не рассчитан изначально, правда и станок изначально разрабатывался под обработку стали керамикой которой СОЖ в принципе не нужна). так вот чугунная пыль садится постепенно на платы и делает свое дело. на одном станке она уже так села. помыли (отсоединили аккумулятор) и слетела прошивка стойки (чего и требовалось ожидать), производитель сейчас не поддерживает этот станок (экспериментальный мать его за ногу). второй стоит тоже под пылью и насколько я знаю не включают, но и не моют. точнее помыли все кроме одной платы. их по мере сил переводят на стойку NCT, но там работы много а времени мало.
нікому нічого не нав'язую.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение ukr-sasha »

MX_Master писал(а):Простой синхронный пример:
Можете описать простое синхронное вращение двух шпинделей? :-)
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Что я урвал, хвастаемся покупками, завидуем и облизываем

Сообщение MX_Master »

Сумел я бензина подлить в огонёк )) Давайте подольём еще :hehehe:

Вы пытаетесь сравнить возможности низкоуровневого языка (g-код) с языком более высокого уровня у galil'a. Всё равно что сравнить ASM и С++ или HTML/CSS и JavaScript/PHP :D Я всего лишь показал как задёшево на костылях сварганить подобие того линейного перемещения. Ни о какой синхронизации шпинделей тут не может быть и речи! Но никто не мешает желающим изощрится и своять генератор УП, который будет сращивать разные УП в один с нужными параметрами.
Ответить

Вернуться в «Оффтоп»