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

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


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

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



  • Сообщения

    • Mr_Gray
      Если и расфрезеровывать, то обязательно с коррекцией радиуса инструмента G41, чтобы попасть в середину поля допуска. Но лучше все же разверткой или расточной головкой.
    • lem_on
      При хорошей геометрии станка, можно и расфрезеровать. Если неглубокие отверстия, можно и тс сверлом сразу размер получить.
    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
×
×
  • Создать...