Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Можно в макросе на Си работать с файлами, https://owen.ru/forum/showthread.php...l=1#post374686
Захват-22.png
Скрытый текст:
удалить файл можно функцией remove()
int remove(const char *имя_файла);
Или у ф.области есть функция "Удалить файл"
Захват-11.png
Ну а ф.область запускается с разными условиями, в том числе и от любых бит.
Последний раз редактировалось petera; 30.01.2026 в 13:16.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Посмотрел ваш приложенный проект. Да, очень интересно. Откуда правда панель берет имя файла, в списке файлов, на экране №2 я так и не понял. Разобрал, меняется элемент "текст". А где привязка хоть к чему то у этого элемента, ее нет.
Саму архивацию переделал, да, все работает хорошо. И в правду не все верно понял когда делал. Осталось победить отчистку флешки.
У вас на скриншоте есть "Delete File", у меня такого нет. Вроде и версия панели не влияет.
В наличии набор функций как и в мануале "Руководство пользователя".cписок функций.jpg
В мануале ни упоминания удаление файла, ни описания поддерживаемых команд для макросов нет. Такое ощущение, что у нас разные мануалы. Или вы ориентируетесь по какому то стороннему, мб от "исходной" китайской модели, про которую где то тут упоминали. Иероглифы в приложенном примере меня на эту мысль натолкнули.
Если вас не затруднит, можете сказать где ознакомится или привести пример кода для макроса.
Поддерживает ли макрос удаления файла сложные имена. Т.е. что бы не сносить все, а удалять только старше N дней. Удалить *имя_Nгод_Nдень_Nмесяц*.
Последний раз редактировалось Андрей Кушкин; 03.02.2026 в 15:41.
Все у нас одинаковое,
Смотрите, в папке Russian файл NOTE.ini
Просто добавьте нужные названия функций в секцию
[Function_Name]
.....................
Function156 = Copy File
Function157 = Delete File
Function158 = File list
Function159 = Down File
..................................
Захват-1.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Продолжение ответа
Вы видите базовый элемент текст, тут художник сэкономил - использовал вместо стандартного символьного дисплея базовый элемент "Текст"
Посмотреть какой контент выводится в текст можно в расширенном режиме редактирования
Захват-22.png
Из этого следует, что в качестве контента(содержания) в текст выводится строка из 20 байт(10 регистров) с адреса PCW126
т.е. можно было использовать стандартный символьный дисплей
Захват-11.png
Тут мне непонятно, о каком макросе идет речь, в моем примере нет макросов, если только считать графическим макросом "текст + READ"Если вас не затруднит, можете сказать где ознакомится или привести пример кода для макроса.
ли речь идет о функции remove() и использования ее в макросе на си?
В примере с использованием элемента "Перечисление", что я привел, Вы не сможете увидеть в списке файлы *имя_Nгод_Nдень_Nмесяц*, здесь классика для фат32 - Максимальная длина имени = 8.3.Поддерживает ли макрос удаления файла сложные имена. Т.е. что бы не сносить все, а удалять только старше N дней. Удалить *имя_Nгод_Nдень_Nмесяц*.
Таким образом Вы увидите в списке имена типа "имя_Nг~1.csv", "имя_Nг~2.csv" и т.д.
При использовании макроса на Си с функцией remove() - не знаю, я в Си дилетант
Функция remove стандартная для си, https://www.c-cpp.ru/books/udalenie-faylov
Код:char fname[80]; printf ("Name of file to remove: "); gets(fname); if(remove(fname)) { printf("Error removing file"); return 1; } else return 0; }
Последний раз редактировалось petera; 04.02.2026 в 10:51.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
А вот оно что.
День просидел, запарился, сделал чистку.
Имеем:
6 папок по позициям, в каждой папке ведем запись 1 файл на 1 стуки по определенной позиции. Как чистить отдельную папку, это я решил, костылей на травмпункт хватит. Так же отчистка идет не всех, а только самых старых записей. Оставляем нетронутыми 4 самых свежих, мало ли кто что захочет посмотреть. Но, СП-307 наносит удар прям поРегистр ошибки экспорта в "Архивирование на USB". Если флешку выдернуть, да, ругается нет флешки, код ошибки "1". Нашел флешку на 128мб. Забил её под завязку, оставив 20байт что бы панель хоть что то начала писать. Вставляю, пишет и.....тормоза, а статус записи "ОК", код ошибки "0". Вынимаю флешку, смотрю, свободного места 0 байт. Приехали.
Пока мысли только городить еще один костыль, и замерять время записи. Если при чистой флешке запись занимает доли секунды, то при забитой, 2-3. Отсюда делать какие то выводы.
P.S. Все получилось.
Для каждой позиции своя папка, и того 6 папок.
В каждой папке ведется свой архив. Новый файл каждые стуки.
При переполнении флешки, фиксирую её переполнение через задержку записи. Она возрастает до 3-4 секунд.
Каждая папка отчищается индивидуально. Остаются последние 4 записи.
Моё участие или оператора для всего этого действа не требуется.
Моя признательность petera, без ваших подсказок не справился бы.
А как активируется этот "расширенный режим редактирования"?
Последний раз редактировалось Андрей Кушкин; 05.02.2026 в 13:27.
Добрый день коллеги. Подскажите возможно ли залить проект в панель СП307 с помощью Ethernet кабеля. В руководстве не нашёл информации.
Спасибо.