Перейти к публикации

Логика и синтаксис программы. Прошу помощи.


KonstAnTinT

Рекомендованные сообщения

Всем привет. Было время работал со стойкой 810D, но уже давно и многое подзабылось.
Прошу проверить кусок логики программы и синтаксис.
Суть в том, что есть многопозиционное приспособление на поворотном столе, на одной стороне 8 мест(по четыре зеркально относительно оси Х) и на другой 8 мест(аналогично). Детали обрабатываются в положениях 3+1.
Начальника хочет, чтобы программа не вела обработку там, где нет деталей.
Как вижу логику: 1. забиваем в программу число обрабатываемых позиций R1 (в карте наладок распишу номера для каждого установа)
                            2. В программе записываем параметры положения детали относительно первой (они неизменны и будут изначально немного подкорректированы в зависимости от точности изготовления приспособления)
                            3. Делаем первую деталь.
                            4. Считываем из параметров расположение следующей детали
                            5. Смещаем TRANS положение нуля в новую позицию
                            6. Сравниваем а)не превосходит ли текущее значение значение R1
                                                      б)меньше или равно текущее положение 4
                            7. Если оба условия выполняются, то повторяем программу для первой детали со смещением
                            8. При достижении значения позиции значения R1(если такое происходит до 4, то отправляемся в конец программы)
                            9. Как только значение текущей позиции превышает 4, выполняем первую деталь во второй, зеркальной линии. далее по пунктам 6-8 для других положений
ФУХ... как-то так.
Помогите проверить логику и синтаксис программы, а то загоняю в СИМКУ и как-то не очень получается, но СИМКА точно не понимает R3=R[R2]

и со строкой IF (R5<=R1) AND (R5<=4) GOTOB CONTUR1 проблемы.


R1=16 - количество деталей
R11=40 ;POSITION 2 X
R12=0 ; POSITION 2 Y
......................................- блок переменных для положения деталей относительно первой

T="M4132-016-W16-02-06 "
M06
G90G0G40G54
R2=11
R5=1
CONTUR1:

обработка детали1-4

R3=R[R2]
R2=R2+1
R4=R[R2]
R2=R2+1
R5=R5+1
TRANS X=R3 Y=R4
IF (R5<=R1) AND (R5<=4) GOTOB CONTUR1
ENDIF
IF (R1==4) GOTOF WEITER1
ENDIF
CONTUR2:


обработка детали 5-8

R3=R[R2]
R2=R2+1
R4=R[R2]
R2=R2+1
R5=R5+1
TRANS X=R3 Y=R4
IF (R5<=R1) AND (R5<=8) GOTOB CONTUR2
ENDIF
IF (R1==8) GOTOF WEITER1
ENDIF

G0Z200.
A180.

CONTUR3:

обработка детали 9-12


R3=R[R2]
R2=R2+1
R4=R[R2]
R2=R2+1
R5=R5+1
TRANS X=R3 Y=R4
IF (R5<=R1) AND (R5<=12) GOTOB CONTUR3
ENDIF
IF (R1==12) GOTOF WEITER1
ENDIF
CONTUR4:

обработка детали 13-16

R3=R[R2]
R2=R2+1
R4=R[R2]
R2=R2+1
R5=R5+1
TRANS X=R3 Y=R4
IF (R5<=R1) AND (R5<=16) GOTOB CONTUR4
ENDIF

WEITER1:
M9
M5
G0Z200
M01
M30

заранее спасибо за ответы.

Ссылка на сообщение
Поделиться на других сайтах


Помогите проверить логику и синтаксис программы, а то загоняю в СИМКУ и как-то не очень получается

Если уж Симка не отрисовывает, то делайте максимально удобно для себя

 

Я бы сделал примерно так:

 

Def string[16]  mesto = "DDNDDDNNDDDNDDND"; массив - Делаем / Не делаем на этих местах

Def int _i

Def real coordin[32]

coordin[0]=set(0,0,25,0,...); x,y - координаты 16-и мест (32 числа через запятую) массив от coordin[0] до coordin[31]

For _i=0 to 15

If mesto[_i]=="D"

trans x=coord[_i*2] y=coord[_i*2+1]

G0 X... Y...; обработка

...; обработка

Endif

Endfor

trans x0 y0

M30

 

Это упрощенно, без поворота приспособления.

R-параметры не задействованы.

Изменено пользователем A_1
Ссылка на сообщение
Поделиться на других сайтах

 

Если уж Симка не отрисовывает, то делайте максимально удобно для себя

 

Я бы сделал примерно так:

 

Def string[16]  mesto = "DDNDDDNNDDDNDDND"; массив - Делаем / Не делаем на этих местах

Def int _i

Def real coordin[32]

coordin[0]=set(0,0,25,0,...); x,y - координаты 16-и мест (32 числа через запятую) массив от coordin[0] до coordin[31]

For _i=0 to 15

If mesto[_i]=="D"

trans x=coord[_i*2] y=coord[_i*2+1]

G0 X... Y...; обработка

...; обработка

Endif

Endfor

trans x0 y0

M30

 

Это упрощенно, без поворота приспособления.

R-параметры не задействованы.

Спасибо за ответ.

По поводу массива по расположению деталей это мысль -  реализую.

По массиву DDDNDN - спорно, оператору придется заполнять этот массив, а это уже не есть гут, все-таки проще один раз нарисовать последовательность установки в карте наладок и менять только одно число.

А вот с циклом FOR будут заморочки, т.к. на одном угле поворота на зеркальных деталях будут разные программы обработки, соответственно нужно еще прописать логику по выявлению деталей, расположенных зеркально, и пускать их по другой ветке условия, а это уже соизмеримо с тем, что нарисовал я.

В целом, мне хотелось бы услышать, что моя программа работоспособна или нет по какой-то причине. Например IF (R5<=R1) GOTOB CONTUR1 симка понимает без проблем, а вот IF (R5<=R1) AND (R5<=4) GOTOB CONTUR1 для неё непонятно и при отрисовке игнорируется. Так вот может это у меня ошибка в написании, хотя, вроде бы, соответствует инструкции по программированию.

Ссылка на сообщение
Поделиться на других сайтах
а вот IF (R5<=R1) AND (R5<=4) GOTOB CONTUR1 для неё непонятно и при отрисовке игнорируется

Да, Симка не понимает эту строку, в CrashGuard Studio это отработалось правильно.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • AlexKaz
      По теории Дарвина, все заказчики и исполнители, кто имеет каплю мозга чтобы учиться и инстинкт самосохранения чтобы не стать персонажем Гарри Гаррисона.
    • MagicNight
      Приветствую всех! Использую Fanuc. В частности длинные программы, с кадром в конце М30. Соответственно станок автоматически выключается. Вопрос, может Fanuc создает какой-то текстовый файл с историей (во сколько закончилась программа, общее время работы программы и прочее)    
    • lem_on
      Omron d5f Но чёт у этих "федоров" тоже цена в два раза взлетела смотрю.  Ещё touch master видел, написано американский, ни по виду Китай. 
    • ev121
    • Anat2015
      Есть ли китайская замена датчикам измерения инструмента Renishaw и Marposs? Конкретно: Renishaw TS20 (он же Marposs T18) и Marposs TT30. Ну, еще добавлю Renishaw RP3. В России цены просто дикие на оригиналы: от 4 до 5 килобаксов, а гарантии, что оператор/наладчик не убьет датчик нет.
    • maxx2000
      будешь смеяться. НО. Просит человек сделать будку на машину МТО, типа у него есть, надо такую же но на другое шасси. По сути ящик для инструментов. Говорю ему от полугода до года срок. Говорит не, сфоткай и в фотошопе или в чём там Вы работаете сделайте за пару дней, как это будет выглядеть я хочу глянуть, мне говорит так наклейку на Такси делали. Потом надо сделать картинки для лазера, какие нах полгода-год. Другой просит сделать модель прессформы для эксцентрикового зажима. Ну деталь то плевнеькая, не пролить маловероятно, тем более что лить будет на самодельном ТПА от души . Говорю ему сделай сам, у меня дорого, в общем всячески отмазываюсь. Жалуется что никто  не хочет браться, даже те кто ему их изготавливает. Говорит боюсь, сделаю, а она не работает, а за изготовление заплачу. Ты мне как то на заре сотрудничества  показывал как масса на симуляции заполняет форму и как она остывает, мне такое никто не показывал больше. Я говорю не показывают, значит не считают нужным и не значит что этого не делают. Говорю что ему везде отказывают потому что не хотят браться за такую простую и дешёвую работу.   Взрыв-схема, картинки, мультики и описание того что это за ненужные файлы которые  не открываются на телефоне. И вот ещё короночка.  
    • Anat2015
    • davidovka
      Creo 3 и выше. Это неофициальные бесплатные модули.
    • Евгений 1981
      Вопрос по листогибу контроллер Е22. Программа на 4 гиба 1,2,3 всё работает в норме. После 3 гиба задний упор не встаёт на заданную точку, приходиться переключать контроллер и после переключения упор встаёт на своё место. С чем это связано? Помогите пожалуйста.
    • Sergey___1978
      А с какой версии крео питонить можно?
×
×
  • Создать...