Jump to content

Записать (протоколировать) данные в файл SINUMERIK 840D SL


Recommended Posts

s_liam

Добрый день.

Кто-то может подсказать, каким образом можно на стойке SINUMERIK 840D SL запротоколировать данные в файл?

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

DEF REAL _BASE_X, _BASE_Y, _BASE_Z
_BASE_X = $P_UBFR[X,TR]+$P_UBFR[X,FI]

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

 

Вопрос пока что снимается. Нашел команду WRITE, вроде как можно с помощью этой команды. Буду изучать док.

Link to post
Share on other sites


UnPinned posts
A_1
7 минут назад, s_liam сказал:

Добрый день.

Кто-то может подсказать, каким образом можно на стойке SINUMERIK 840D SL запротоколировать данные в файл?

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

DEF REAL _BASE_X, _BASE_Y, _BASE_Z
_BASE_X = $P_UBFR[X,TR]+$P_UBFR[X,FI]

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

 

Вопрос пока что снимается. Нашел команду WRITE, вроде как можно с помощью этой команды. Буду изучать док.

Добрый день. Вот пример

def int err

...

write(err,"record_spf",$a_day<<"-"<<$a_month<<"-"<<$a_year<<" "<<$a_hour<<":"<<$a_minute<<" "<<"_BASE_X="<<_BASE_X)

Link to post
Share on other sites
s_liam
Posted (edited)

Спасибо, за ответ. Разобрался, как записать файл на локальный диск. На нем обычно много больше места, чем в NCU.

 

N1 DEF REAL _BASE_X, _BASE_Y, _BASE_Z
N2 DEF STRING[30] _FILENAME
N3 DEF INT _STAT=0
N4 DEF CHAR _CR=10
N5 _FILENAME = "LOCAL_DRIVE/LOG/LOG.SPF"
N6 _BASE_X = $P_UBFR[X,TR]+$P_UBFR[X,FI]
N7 _BASE_Y = $P_UBFR[Y,TR]+$P_UBFR[Y,FI]
N9 _BASE_Z = $P_UBFR[Z,TR]+$P_UBFR[Z,FI]
N24 EXTOPEN(_STAT,_FILENAME)
N25 WRITE(_STAT,_FILENAME,"; RECORDED ON  "<<$A_DAY<<"/"<<$A_MONTH<<"/"<<$A_YEAR+2000<<" AT "<<$A_HOUR<<":"<<$A_MINUTE<<_CR)
N26 EXTCLOSE(_STAT,_FILENAME)
N27 M0

.....

M30

 

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

Edited by s_liam
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • fakemade
      Имеется ввиду, если между деталями контакт, трение может быть, то есть это две разных детали в принципе. Простейший пример - задача Герца, там реализуется контакт. А по вашей части почти не смогу подсказать, со сваркой не работал, слабо представляю пока, как это реализовать. Но то, что сетка будет общая - это точно.   Ну, я работаю в Femap, там есть в инструментах Coincidents Nodes, задается расстояние, на котором сливать узлы и сливаются.
    • Кит
    • gruzevsky
      нет, не разобрался как их восстановить. есть где почитать про процедуру? инициализация осей - это выход в референт? после запуска гидравлики кнопка старт. 
    • Nikk24
      @fakemade "если в реальности две детали каким-то образом между собой взаимодействуют" - вот тут непонятно. Что имеется в виду под "взаимодействуют"? Если деталь сварная, - она состоит из двух обечаек и двух прутков круглого сечения, сваренных между собой, - нужно сливать узлы сетки? Прутки придется моделировать объемными элементами, обечайку - Plate. Строю сетки на на них и потом Merge Coincidents Nodes?  
    • doob
      Ug_user прав. X,Y,Z - это точка центра фрезы. Но от этого не стало понятнее, что же получилось неправильно. Потому решил пояснить. В 3Д-коррекции как и в контурной есть два популярных способа задания коррекции. 1. В программе задается контур детали (это для контурной, а для 3Д точка поверхности инструмента). Стойка сама вычисляет точку центра инструмента исходя из установленных величин размеров инструмента (корректор). 2. В программе задается сразу центр инструмента для конкретного размера фрезы. В этом случае, если поставить корректоры равными нулю, а физическую фрезу установить с размерами, равными расчетным, то получится чистая расчетная обработка. А коррекция достигается отклонением от этих расчетных размеров инструмента.   Подавляющее большинство систем выдает программы с вектором нормали, обеспечивающие 3Д-коррекцию, именно по варианту 2. Или по умолчанию по варианту 2. В вашем случае, Павел1, работает вариант 2. То есть, в корректоре следует указывать не размеры устанавливаемого инструмента, а отклонение от расчетного инструмента. И получите полноценный желаемый результат.   Конечно, можно настроить и вариант 1. Но придется прилично поработать. :-)
    • Bimka
    • vad0000
      Машинные параметры Вы восстановили? И как Вы делаете инициализацию осей?
    • fakemade
      @Nikk24 коннекторы нужна для задания контакта между деталями, если задача контактная. А для разных КЭ можно просто совпадаю.щие узлы слить и все. В вашем случае, если в реальности две детали каким-то образом между собой взаимодействуют, то тут нужны коннекторы, ни в коем случае нельзя сливать сетку воедино. Если же деталь одна, но построена в разных областях разными элементами, достаточно просто совпадающие узлы слить. @статист если вопрос без ответа, то мне кажется, тут обойтись можно только предварительным заданием одинакового количества КЭ, чтобы после узлы можно было слить.
    • gudstartup
      У вас что выбор ступени описывается в технологической программе?     Какая у вас максимальная скорость шпинделя? Что станкостроитель не определил в ладдере переключение диапазонов по S коду ? Для чего нужно вашей программе знать о том на какой ступени сейчас работает коробка скоростей S вашего станка ведь скорость вращения и так обеспечивается равной скорости в коде S заданной в  вашей программе?
    • aiden57
      Нет, т.к. команда выбора ступени не всегда присутствует...
×
×
  • Create New...