Ошибка FANUC PS0070: нет места в памяти программ
Вы загружаете управляющую программу в стойку FANUC или редактируете её на панели, и на экране появляется сигнал PS0070 с текстом NO PROGRAM SPACE IN MEMORY. Запись прерывается, программа не сохраняется или остаётся неполной. Причина в том, что в памяти программ ЧПУ закончилось место либо исчерпан лимит числа регистрируемых программ. Ниже разобрано, как устроена эта память, что именно переполняется, в каком порядке освобождать место и как не допускать повторения. Объём памяти и перечень функций зависят от модели стойки и опций, поэтому конкретные значения уточняйте по руководству оператора и параметрам вашего станка.
- Что означает PS0070 и как он проявляется
- Как устроена память программ FANUC
- Типовые причины переполнения
- Порядок действий: как освободить место безопасно
- Работа без загрузки в память: DNC, карта памяти, Ethernet
- Профилактика и когда причина не в программах
- Заключение
Что означает 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 на экране, история сигналов |
Отдельно отметим программы с большим числом коротких блоков. Контурная обработка сложных поверхностей даёт десятки тысяч строк, и такой файл легко занимает память целиком. Для них штатное решение — не хранить программу в памяти стойки, а подавать её потоком (об этом ниже).
Порядок действий: как освободить место безопасно
Главная опасность при освобождении памяти — удалить программу, которой нет копии. Поэтому сначала резервирование, потом удаление. Алгоритм ниже общий, названия режимов и клавиш уточняйте по руководству вашей стойки.
- Определите, что именно переполнено. Откройте список программ и сравните показатели по числу программ и по объёму памяти. От этого зависит стратегия: при нехватке номеров крупные программы удалять бессмысленно, а при нехватке объёма — наоборот.
- Сохраните резервную копию. Выгрузите все программы на карту памяти, USB-накопитель или в сетевую папку (в зависимости от интерфейсов станка). Проверьте, что файл открывается и его размер соответствует ожиданиям. Параллельно полезно выгрузить параметры и данные коррекций: это пригодится, если потом возникнут вопросы к SRAM.
- Составьте список кандидатов на удаление. Это программы прошлых заказов, тестовые, дубли, версии с пометками «старая», «копия». Согласуйте список с технологом или наладчиком: оператор не всегда знает, какие программы используются в запуске по расписанию.
- Не трогайте служебные программы. Диапазоны O8000–O8999 и O9000–O9999 обычно содержат макропрограммы, циклы замены инструмента, измерительные циклы. Они защищены от редактирования параметром (в серии 0i это биты NE8 и NE9 параметра №3202), и снимать эту защиту ради нескольких килобайт не стоит.
- Удалите программы по одной или группой. В режиме EDIT введите номер O и выполните удаление; групповое удаление по диапазону поддерживается не на всех стойках. Избегайте команды удаления всех программ: она не различает пользовательские и служебные номера (если защита не включена).
- Проверьте результат. Вернитесь на экран LIB и убедитесь, что показатели изменились. Повторите загрузку программы, на которой возник сигнал.
- Если места по-прежнему не хватает, воспользуйтесь функцией сжатия памяти (на ряде стоек — 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 в каталоге есть позиции разного назначения; перед заказом сверьте разъёмы, длину и назначение с вашей конфигурацией стойки, а при сомнениях уточните у менеджера.

Кабель 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 под вашу стойку.




































