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

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


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 пользователей

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




  • Сообщения

    • jtok
      Какая хоть версия, чего ставить? У меня последняя 21(
    • androskv
      При выборе того или иного подшипника для обеспечения его статической и динамической прочности необходимо руководствоваться справочными значениями его статической и динамической грузоподъемности. В старых ГОСТах (за 1975 и 1987 гг.) для указанных ниже в таблице подшипников приводились таблицы со справочными значениями их статической и динамической грузоподъемности. Но неожиданно для себя я обнаружил что в новых ГОСТах (за 2022 и 2023 гг.) данные таблицы отсутствуют, а также отсутствует какая-либо ссылка (сноска), где в этом случае смотреть справочную статическую и динамическую грузоподъемность подшипников. Поиск информации вывел на два ГОСТа: – ГОСТ 18855-2013. Подшипники качения. Динамическая грузоподъемность и номинальный ресурс – ГОСТ 18854-2013. Подшипники качения. Статическая грузоподъемность.   В данных ГОСТах действительно есть формулы для расчета статической и динамической грузоподъемности для каждого типа подшипника. Однако, чтобы рассчитать данные значения необходимо знать три дополнительных параметра: – Z – число шариков (роликов) в подшипнике; – Dw – диаметр шарика (ролика) в подшипнике; – Dpw – диаметр центов шариков (роликов) в подшипнике. Данные параметры не приводятся ни в старых, ни в новых ГОСТах по подшипниках. Числовые значения двух данных параметров (Z и Dw) можно найти только в справочниках (например, Анурьев). Dpw – в справочниках не приводится, но если рассуждать логически то его можно принять равным Dpw=d+0.5(D-d), но это не точно. Все это делает нелогичным расчет грузоподъемности по ГОСТ, беря для этого недостающие данные из справочников или другой специальной литературы.   Решил проверить расчет статической и динамической грузоподъемности подшипников по формулам и сравнить их с приведенными в старых ГОСТах (приняв Z и Dw из справочников, а Dpw рассчитав по предложенной формуле). Для простоты выбрал шариковые радиальные однорядные подшипники с диапазоном номеров 200…220. В результате получилось следующее: 1 рассчитанная по формуле динамическая грузоподъемность достаточно близко совпадает с динамической грузоподъемностью приведенной в таблицах в старых ГОСТах 2 рассчитанная по формуле статическая грузоподъемность достаточно близко совпадает со статической грузоподъемностью, приведенной в таблицах в старых ГОСТах, но для подшипников с малым диаметром внутреннего кольца d. По мере увеличения диаметра внутреннего кольца подшипника расхождение между расчетными и табличными значениями существенно возрастает. Например, для подшипника №220 табличное значение статической грузоподъемности в старом ГОСТе составляло 79.000 Н, а рассчитанное по формуле составило 92.900 Н. 3 для аналогичных подшипников SKF и FAG, указанные в каталогах статическая и динамическая грузоподъемность достаточно близко совпадает с рассчитанной по формулам.   Файл с расчетом прилагаю ниже. Сравнение расчета по ГОСТ грузоподъемности подшипников.rar   Вопрос скорее всего будет риторический: что думаете по этому поводу и ваши предложения по расчету статической и динамической грузоподъемности по новым ГОСТам?
    • Zver 0209
    • tiomat
      Присоединяюсь к вопросу автора, аналогичная проблема в 22-ой версии. Элементы массива в дереве не подсвечиваются при их выборе в модели.
    • Павлуха
    • mcxuser
    • kupirden
      Поправка автоматический подход не  задней бабки, а револьверной головки к пиноли и выдвижения штока для ее перемещения. На некоторыхх станках просто выдвигается шток. Но РГ не подходит к месту парковки пиноли.  
    • kupirden
      Доброго времени суток! Заинтересовал  вопрос реализации автоматического подхода задней бабки по команде M47 и M46. Суть в том, что на некоторых станках  DOOSAN PUMA 3000 серии выполняется "автоподход" по командам описанным выше, а на некоторых  нет. Может кому-то известен параметр или просто причина? 
    • jtok
      Ну как бы выглядит то так, но нет. В новой модели одно тело и три поверхности: Должно быть одно тело и ноль поверхностей. Выполнено за 7 фичеров. Надеюсь, можно за два.   PS: По поводу бобышкодавов - ну оборудование у нас такое, что можно всё сделать одной командой "Бобышка-Вытянуть", че теперь... Но у кого-то кривые поверхности постоянно, типа ручки утюга или мышь какая-нить анатомическая. Вот у них и спрашиваю.
    • Павлуха
×
×
  • Создать...