Тогда в даташите на накопитель должна быть приведена вся информация по вашему вопросу - число циклов перезаписи и т.д.
Вид для печати
Разъясните, пожалуйста, тогда про внутреннюю память. Из документации про архивацию: "Максимальный размер архива, Мб – суммарный объем всех файлов архива, максимальное значение – 2047 Мб (для режима архивации Непрерывный архив (см. пп. 4) " - это про непрерывное ведение архива. Из документации: "Непрерывный архив – все данные будут записываться в один файл. По достижению его максимального размера (см. пп. 3) будет создан новый файл, а по достижению максимального размера нового файла – первый файл будет удален. Таким образом, фактически архив состоит из двух файлов – текущего (в который записываются данные) и предыдущего;"
То есть цикл записи получается - когда у нас старый файл удаляется, а новый записывается? Или цикл записи это каждая операция записи данных в архив?
Цикл записи - это любая запись в файл.
В даташитах обычно приводится "число циклов перезаписи на блок данных".
Размер блока данных может быть разным для разных накопителей.
С практической точки зрения - я пока не видел ни одного случая, когда кто-то "перетер" архивами память контроллера.
Создал "копию" примера архивации у себя в проекте - создал необходимые переменные, функции (всё что касается копирования файлов архива из директории ftp на usb), привязал всё ко всему, в общем так же как в примере. Но на практике эта созданная мною часть программы не работает. Битый час не могу разобраться, в чем же дело :confused:, и вот пришёл за помощью сюда :). Буду благодарен за помощь.
Оставлю свой проект здесь:
https://dropmefiles.com/lgmRi
А где в проекте задается значение для sVisuFileName?
Имя архива формируется само, исходя из текущей даты
Понял, такого в программе у меня нет. Сейчас я привязал эту переменную к имени архива в настройках компонента OwenArchive. Такое действие корректно или нужно как-то по-другому записывать эту переменную?
Это действие некорректное. "Путь архивации" - это не имя архива, а путь, по которому будет сохраняться файл архива.
При вызове fbFileCopy вы передаете sFileNameSource (путь к файлу, который надо скопировать) и sFileNameDest (путь к файлу, который будет получен в результате копирования).
Сейчас на эти входы у вас передаются только пути директорий без названия файлов - соответственно, блок не может ничего скопировать, так как не знает имя нужного файла для копирования.
Так я записал переменную в ячейку "Имя архива", а не в "Путь архивации"
Хорошо, тогда задам название архива вручную.
P.S. Дело не только в отсутствии копирования. При подключении usb не происходит автоматического монтирования, лампочка "usb смонтирован" не загорается.
На данный момент накопитель файловой системы NTFS (он поддерживается), но планирую сделать FAT.
В руководстве написано перед началом работы рекомендуется отформатировать накопитель с помощью утилиты HP
USB Disk Storage Format Tool. Я такого еще не делал. ПЛК может не видеть флешку только из-за этого?
Флешку видит, всё нормально. Сама монтируется, размонтирование тоже работает.
Форматировал этой утилитой в формат FAT, после чего проверил в конфигураторе ПЛК, видит флешку или нет. Там была кнопка форматирования флешки, пишет в формат FAT32. Это просто информация для других пользователей, нет смысла качать утилиты, когда сам ПЛК форматирует.
Появилась вот какая мысль, скажите мне, такое можно реализовать или нет: архив пишется ежедневно, каждый день отдельным файлом, можно ли копировать всю папку, содержащую в себе все архивы? Потому что копировать по одному файлу - так себе перспектива.
Где-то есть пример с работой ФБ DirCopy?
А есть возможность из Codesys отправлять файлы по SCP/SFTP-протоколам?
Технически - scp в прошивке есть.
Но FTPS было бы использовать значительно проще (потому что он у нас включен в curl, в отличии от scp и sftp).
А с scp можно работать не интерактивно? Я что-то не нашел возможности указать пароль для подключения, только ввод с клавиатуры.
Проблема в том, что мне нужно файлы отправлять с СПК на сторонний сервер, на котором на данный момент настроен SFT/SCP. Когда настроят что-то другое FTP/FTPS/HTTP/HTTPS - вопрос. А отлаживать взаимодействие СПК - сервер и работу сервера хотелось бы сейчас. Руками в терминале все работает через scp. Можно было бы через curl по SFTP, но на СПК SFTP в curl не поддерживается.
Пока я их не нашел :(. Зато в подсказке говорит про ключи -B и -v, но при использовании на первый говорит, что в этой версии он заблокирован, а на второй, что не известный ключ. :)
Может есть возможность как-то взаимодействовать с командами из программы?
Нет, CmpSysExec не поддерживает интерактивный режим.Цитата:
Может есть возможность как-то взаимодействовать с командами из программы?
На вашем месте я бы сконцентрировал усилия на общении с теми, кто обслуживает сервера - поднять ftp, в общем-то, не самая сложная задача.
если на машине работает scp, то наверное используя ключи, команда так должна выглядеть scp -vCq -i private_key.pem откуда куда чтоб отправить на удаленный сервер
Хотя если -В заблокирован значит вообще ключами пользоваться не получится
Разобрался с scp. Всем спасибо за помощь и подсказки куда копать.
Доброго времени суток! Подскажите, где можно найти полный перечень ошибок архиватора? Заранее спасибо
В библиотеке OwenArchiverErrors:
Вложение 53369
Большое спасибо!
Здравствуйте, возможно ли запустить архивацию на самых первых модификациях СПК207 (без маркировки МХХ)? Если да, какая версия прошивки требуется? Спасибо.