Прямые поставки недоступных в РФ брендов из Китая и Европы. Заявки оставляйте на почту info@cnc360.ru  
0
0

Ошибка FANUC PS0070: нет места в памяти программ

Ошибка FANUC PS0070: нет места в памяти программ
Сигнал PS0070 (NO PROGRAM SPACE IN MEMORY) означает, что в памяти программ стойки FANUC не хватает места для записи. Разбираем, откуда берётся переполнение, как безопасно освободить память и не потерять нужные программы.
3678
(1)

Вы загружаете управляющую программу в стойку FANUC или редактируете её на панели, и на экране появляется сигнал PS0070 с текстом NO PROGRAM SPACE IN MEMORY. Запись прерывается, программа не сохраняется или остаётся неполной. Причина в том, что в памяти программ ЧПУ закончилось место либо исчерпан лимит числа регистрируемых программ. Ниже разобрано, как устроена эта память, что именно переполняется, в каком порядке освобождать место и как не допускать повторения. Объём памяти и перечень функций зависят от модели стойки и опций, поэтому конкретные значения уточняйте по руководству оператора и параметрам вашего станка.

  1. Что означает PS0070 и как он проявляется
  2. Как устроена память программ FANUC
  3. Типовые причины переполнения
  4. Порядок действий: как освободить место безопасно
  5. Работа без загрузки в память: DNC, карта памяти, Ethernet
  6. Профилактика и когда причина не в программах
  7. Заключение

Что означает PS0070 и как он проявляется

Префикс PS в FANUC обозначает программные сигналы (Program/Syntax): стойка отказывается выполнить операцию с программой. Подробнее о группе таких сигналов — в статье «Ошибки FANUC PS: что это». Сигнал PS0070 в документации формулируется как «NO PROGRAM SPACE IN MEMORY»: области памяти для хранения программ недостаточно. Рекомендация производителя — удалить ненужные программы и повторить операцию.

Типичные ситуации, в которых сигнал возникает:

  • загрузка программы с внешнего носителя или по сети в память ЧПУ (режим EDIT, ввод через экран PROGRAM);
  • создание новой программы или копирование существующей на панели оператора;
  • редактирование большой программы: вставка блоков увеличивает её размер, а свободной памяти не остаётся;
  • запись результатов работы макропрограмм или циклов измерения в программы, если они хранятся в той же памяти.

Сам по себе сигнал не свидетельствует о неисправности оборудования. Это ограничение ёмкости, и в большинстве случаев оно снимается организационно, без замены плат. Исключение — ситуации, когда память ведёт себя нестабильно из-за потери данных SRAM (энергонезависимой памяти стойки); о них речь пойдёт в последнем разделе.

Как устроена память программ FANUC

Управляющие программы хранятся в SRAM — статической оперативной памяти, которая питается от батареи при отключённом станке. Её объём делится между несколькими видами данных: программы детали, параметры, коррекции, макропеременные, данные ПЛК. Для хранения именно программ выделена отдельная область, размер которой определяется опцией стойки: в разных конфигурациях это единицы, десятки или сотни килобайт (в старой нотации — метры перфоленты).

Ограничения у памяти программ два, и важно различать их:

  • по объёму — суммарный размер всех хранящихся программ не может превышать выделенную область;
  • по числу программ — количество регистрируемых номеров O ограничено (по опции, например несколько десятков, сотен или более тысячи).

Посмотреть оба показателя можно на экране списка программ: нажмите функциональную клавишу PROG в режиме EDIT и откройте страницу LIB (директория программ). Там отображаются число зарегистрированных программ (PROGRAM NUM) и объём памяти (MEMORY CHAR) в формате «использовано / свободно». Если один из показателей близок к нулю, ответ на вопрос о причине сигнала уже получен. Точное название страниц и клавиш может отличаться на разных сериях (0i-D, 0i-F, 30i/31i/32i), сверяйтесь с руководством оператора.

Параметр на экране LIBЧто показываетЧто делать при исчерпании
PROGRAM NUM: USED / FREEСколько номеров O занято и сколько ещё можно зарегистрироватьУдалить неиспользуемые программы, объединить мелкие подпрограммы
MEMORY CHAR: USED / FREEСколько памяти занято программами и сколько свободноУдалить крупные программы, убрать лишние комментарии и пустые блоки, вынести объёмные программы за пределы памяти

Типовые причины переполнения

На практике память забивается не одной причиной, а накоплением. Ниже — то, что встречается чаще всего, с оговоркой: конкретная картина зависит от вашего производства и стойки.

ПричинаКак проявляетсяЧто проверить
Накопились устаревшие версии программПамять заполнена, а в списке много похожих номеровСписок программ: даты, комментарии в скобках после номера O
Объёмные программы из CAMОдна-две программы занимают основную часть памятиРазмер программ на экране LIB; настройки постпроцессора (количество знаков, комментарии, нумерация N)
Исчерпан лимит числа программСигнал при создании новой программы, хотя символов свободно многоПоказатель PROGRAM NUM, раздел «опции» в документации станка
Служебные и макропрограммыЧасть номеров занята программами производителя станкаПрограммы диапазона O8000–O9999: как правило, это циклы и макросы станка, их удалять не следует
Резервирование «на всякий случай»На станке лежит весь архив изделий предприятияРегламент хранения: нужна ли программа на станке, если её можно подать извне
Недавний сброс или потеря SRAMПамять ведёт себя нестабильно, показатели на экране не соответствуют ожиданиямСостояние батареи, сообщения BAT на экране, история сигналов

Отдельно отметим программы с большим числом коротких блоков. Контурная обработка сложных поверхностей даёт десятки тысяч строк, и такой файл легко занимает память целиком. Для них штатное решение — не хранить программу в памяти стойки, а подавать её потоком (об этом ниже).

Порядок действий: как освободить место безопасно

Главная опасность при освобождении памяти — удалить программу, которой нет копии. Поэтому сначала резервирование, потом удаление. Алгоритм ниже общий, названия режимов и клавиш уточняйте по руководству вашей стойки.

  1. Определите, что именно переполнено. Откройте список программ и сравните показатели по числу программ и по объёму памяти. От этого зависит стратегия: при нехватке номеров крупные программы удалять бессмысленно, а при нехватке объёма — наоборот.
  2. Сохраните резервную копию. Выгрузите все программы на карту памяти, USB-накопитель или в сетевую папку (в зависимости от интерфейсов станка). Проверьте, что файл открывается и его размер соответствует ожиданиям. Параллельно полезно выгрузить параметры и данные коррекций: это пригодится, если потом возникнут вопросы к SRAM.
  3. Составьте список кандидатов на удаление. Это программы прошлых заказов, тестовые, дубли, версии с пометками «старая», «копия». Согласуйте список с технологом или наладчиком: оператор не всегда знает, какие программы используются в запуске по расписанию.
  4. Не трогайте служебные программы. Диапазоны O8000–O8999 и O9000–O9999 обычно содержат макропрограммы, циклы замены инструмента, измерительные циклы. Они защищены от редактирования параметром (в серии 0i это биты NE8 и NE9 параметра №3202), и снимать эту защиту ради нескольких килобайт не стоит.
  5. Удалите программы по одной или группой. В режиме EDIT введите номер O и выполните удаление; групповое удаление по диапазону поддерживается не на всех стойках. Избегайте команды удаления всех программ: она не различает пользовательские и служебные номера (если защита не включена).
  6. Проверьте результат. Вернитесь на экран LIB и убедитесь, что показатели изменились. Повторите загрузку программы, на которой возник сигнал.
  7. Если места по-прежнему не хватает, воспользуйтесь функцией сжатия памяти (на ряде стоек — CONDENSE в разделе списка программ): после многократных удалений и записей область может быть использована неэффективно. Наличие функции и порядок её запуска уточните в руководстве.

Если после выполнения всех пунктов сигнал сохраняется, а программ в памяти немного, возможны две причины: ограниченная опция «размер памяти» либо повреждение данных в SRAM. В первом случае можно заказать расширение опции у поставщика станка или обратиться к специалистам, во втором — переходить к диагностике (см. раздел о профилактике). Общую логику поиска причин по коду разбирает статья «Диагностика ЧПУ по коду ошибки».

Работа без загрузки в память: DNC, карта памяти, Ethernet

Самый надёжный способ перестать сталкиваться с PS0070 — не копить программы в памяти стойки. Современные стойки FANUC умеют выполнять программу, которая лежит на внешнем устройстве:

  • DNC-режим по RS-232. Программа передаётся блоками с компьютера и выполняется по ходу, не занимая память. Требуются исправный кабель, согласованные параметры порта и стабильная связь: обрыв в середине обработки — это остановка станка в резе.
  • Карта памяти (CF/PCMCIA/USB). Программа запускается с носителя в режиме DNC-операции с карты. Удобно для крупных управляющих программ из CAM.
  • Ethernet (Embedded Ethernet, Fast Ethernet). Доступ к сетевой папке или FTP-серверу; программа может запускаться из сети или копироваться в память.
СпособПлюсыОграничения
Память стойкиНе зависит от внешних устройств, максимальная надёжностьОграничена объёмом и числом программ, риск PS0070
DNC по RS-232Подходит для любых размеров программ, работает на старых стойкахСкорость передачи, качество кабеля и экранирования, помехи в цеху
Карта памятиПростота, не нужен компьютер у станкаИзнос разъёма и носителя, ограничения совместимости карт
EthernetЦентрализованное хранение, удобство архиваНужны опция и сетевые настройки, требования ИТ-безопасности

Независимо от выбранного способа, соединение с компьютером выполняют качественными интерфейсными кабелями с правильной распайкой и экранированием. Среди кабелей FANUC в каталоге есть позиции разного назначения; перед заказом сверьте разъёмы, длину и назначение с вашей конфигурацией стойки, а при сомнениях уточните у менеджера.

Если в качестве носителя на старом станке используется дисковод гибких дисков, который уже невозможно найти, существует замена на USB-эмулятор — подробности в статье «Замена FDD на USB-эмулятор для ЧПУ».

Профилактика и когда причина не в программах

Чтобы PS0070 не возвращался, закрепите несколько правил в регламенте цеха:

  • Единый архив вне станка. Источник истины — сервер или защищённый накопитель, память стойки — рабочая копия на время выпуска партии.
  • Нумерация и комментарии. Присваивайте программам номера по системе (по изделиям, по операциям) и сразу пишите название в скобках после номера O. Это упрощает ревизию списка без запуска каждой программы.
  • Периодическая чистка. После закрытия заказа удаляйте программы со станка и фиксируйте это в журнале.
  • Оптимизация постпроцессора. Уберите избыточные комментарии, лишние нумерации блоков N, ограничьте точность вывода координат разумным значением.
  • Контроль батареи SRAM. Замена батареи раз в год при включённом питании станка — типовая рекомендация (интервал и тип уточняйте в руководстве). Потеря питания резервной памяти приводит к повреждению или стиранию данных.

Если памяти по показателям достаточно, а сигнал PS0070 всё равно появляется, либо сопровождается другими нарушениями (пропали параметры, программы выглядят «битыми», на экране BAT), вероятная причина — состояние SRAM или платы, на которой она расположена. Тогда нужны диагностика и, возможно, ремонт или замена платы. Типовые признаки и перечень узлов описаны в статьях «Потеря абсолютной позиции: батарея энкодера» и «Неисправность платы FANUC». Если вам нужен ремонт электроники, смотрите раздел ремонта промышленного оборудования.

Помните о соседних ошибках группы PS. Например, PS0005 возникает при отсутствии данных после адреса (разбор PS0005), а PS0003 — при слишком большом числе цифр (разбор PS0003). После загрузки программы с внешнего источника они иногда появляются вместе с PS0070, если файл передан не полностью.

FAQ: частые вопросы

Что означает ошибка FANUC PS0070?

Сигнал NO PROGRAM SPACE IN MEMORY говорит о нехватке места в памяти программ: исчерпан объём либо лимит числа зарегистрированных программ. Документация рекомендует удалить ненужные программы и повторить операцию.

Как посмотреть, сколько памяти программ осталось?

В режиме EDIT откройте список программ (клавиша PROG, страница LIB): там показаны число программ и объём памяти в формате «использовано / свободно». Названия страниц зависят от серии стойки, уточняйте по руководству оператора.

Можно ли удалить все программы сразу?

Технически можно, но делать этого не стоит: вместе с пользовательскими могут быть удалены служебные макропрограммы (диапазоны O8000–O9999). Сначала сохраните резервную копию и удаляйте только согласованный список.

Как запускать большие программы, если памяти не хватает?

Используйте режим DNC по RS-232, выполнение с карты памяти или по Ethernet, если эти функции поддерживаются вашей стойкой. Программа выполняется потоком и не занимает память ЧПУ.

Если сигнал не исчезает после очистки, это неисправность платы?

Не обязательно: возможно, ограничена опция размера памяти. Но если пропадают данные или есть сообщения о батарее, проверьте состояние SRAM и батареи и обратитесь к специалистам.

Заключение

PS0070 — это сигнал о нехватке места в памяти программ, и в большинстве случаев он решается без вмешательства в аппаратную часть: нужно определить, что именно исчерпано (объём или число программ), сделать резервную копию, удалить неактуальное, не трогая служебные номера, и перейти к хранению программ вне стойки. Для крупных управляющих программ из CAM правильное решение — DNC, карта памяти или сеть.

Если сигнал повторяется после очистки, пропадают данные или вы видите признаки неисправности SRAM, не откладывайте диагностику: специалисты ООО «Эффективное производство» помогут установить причину, подобрать кабели, платы и другие комплектующие FANUC под вашу стойку.


Связанные материалы

Назад

Читайте также

3257
(1)
Ошибка Yaskawa A.040: параметр вне допустимого диапазона — причины и устранение
Код A.040 на сервоусилителях Yaskawa сигнализирует о том, что значение одного из параметров настройки (группы Pn) вышло за допустимые границы или было записано некорректно. Разбираем, что стоит за этой ошибкой, как найти проблемный параметр и когда дело не в настройках, а в отказе платы управления.
2723
(1)
Renishaw NC2: паспорт, даташит и инструкция
Разбираем интерфейсный модуль Renishaw NC2: назначение в тракте контактной измерительной системы, ключевые параметры, монтаж и типовые вопросы по эксплуатации.
5565
(1)
Диагностический прибор Heidenhain PWM21: назначение и применение
Разбираемся, зачем нужен переносной прибор PWM21 от Heidenhain, какие сигналы он показывает и как с его помощью диагностировать линейные и угловые датчики без снятия их со станка.