Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Регистрация данных в IEC 61131-3:загрузка SFTP на основе мощности Curl

Несколько недель назад я получил следующий вопрос. Вам необходимо загрузить файл журнала на SFTP-сервер с помощью программы, которая запускается в ESM.
Протокол передачи файлов SSH (также безопасный протокол передачи файлов или SFTP) — это сетевой протокол, который обеспечивает доступ к файлам, передачу файлов и управление файлами через любой надежный поток данных. Он был разработан Инженерной группой Интернета (IETF) как расширение протокола Secure Shell (SSH) версии 2.0 для обеспечения возможностей безопасной передачи файлов.

SFTP включен в прошивку PLCnext, так что это не должно быть проблемой.

Шаг 1:Я начал создавать файл журнала, используя структурированный текст. Примеры, как это сделать, можно найти здесь:

https://www.plcnext-community.net/en/hn-makers-blog/438-datalogging-in-iec-61131-3-the-basic-principle.htmlhttps://www.plcnext-community.net/ en/hn-maker-blog/447-datalogging-in-iec-61131-3-create-your-own-file-manager.html

Шаг 2:Мне понадобился SFTP-сервер для тестирования приложения ПЛК. Я использовал CrushFTP, который установил на виртуальную машину, работающую на моем ноутбуке.

После установки программного обеспечения вам необходимо создать пользователя-администратора для веб-интерфейса. После этого вы можете создать пользователя для доступа к ПЛК.

Для этого примера:пользователь =PLCnext, пароль =123456789

Шаг 3. Загрузите файл с помощью командной строки.

На приведенном выше снимке экрана вы можете видеть, что мы сначала даем команду, а на втором этапе вводим пароль. Если мы хотим автоматизировать эту процедуру с помощью FB «PBCL_SysLinuxShell_1», нам нужна однострочная команда.

Этот FB можно найти в библиотеке PLCnextBase. (https://www.plcnextstore.com/#/720)

Итак, нам нужна еще одна команда для загрузки файла. Давайте посмотрим на Curl.

Версия, установленная с прошивкой 2020.6.1, не поддерживает SFTP. Благодаря Oliver Warneke я смог установить другую версию Curl. Мы не будем проходить весь процесс установки, но в результате получится версия, поддерживающая SFTP. С прошивкой 2021.0.0 LTS вы сможете использовать следующую версию.

Благодаря Curl теперь мы можем использовать другую команду.

curl -k -sS --key ~/.ssh/id_rsa --max-time 25 --connect-timeout 10 "sftp://192.168.1.50:22/test/Upload/" --user "PLCnext:12345679" -T "// opt/plcnext/Test.pdf» –ftp-create-dirs

Когда вы используете эту команду для FB Shell, вы можете увидеть результат в следующем файле журнала для проверки вашей программы.

/opt/plcnext/PLCnextBase.ServiceProvider.log

Некоторое объяснение аргументов:

-k, – небезопасно

(TLS) По умолчанию каждое SSL-соединение, которое делает curl, проверяется на безопасность. Этот параметр позволяет curl продолжать работу даже для соединений с сервером, которые в противном случае считаются небезопасными. Соединение с сервером проверяется путем проверки правильности имени сертификата сервера и успешной проверки с использованием хранилища сертификатов.

-S, --показать-ошибку

При использовании с -s, --silent заставит curl показывать сообщение об ошибке в случае сбоя.

-с, –тихо

Бесшумный или тихий режим. Не показывать индикатор прогресса или сообщения об ошибках. Делает Curl немым. Он по-прежнему будет выводить запрашиваемые вами данные, возможно, даже на терминал/стандартный вывод, если вы не перенаправите их. Используйте -S, --show-error в дополнение к этому параметру, чтобы отключить индикатор выполнения, но по-прежнему отображать сообщения об ошибках.

–ключ <ключ>

(TLS SSH) Имя файла закрытого ключа. Позволяет вам указать свой закрытый ключ в этом отдельном файле. Для SSH, если он не указан, curl пробует следующие кандидаты по порядку:«~/.ssh/id_rsa», «~/.ssh/id_dsa», «./id_rsa», «./id_dsa».

-m, --max-time <секунды>

Максимальное время в секундах, которое вы отводите для выполнения всей операции. Это полезно для предотвращения зависания пакетных заданий в течение нескольких часов из-за медленных сетей или отказов каналов.

--connect-timeout <секунды>

Максимальное время в секундах, которое вы позволяете установить curl. Это ограничивает только фазу подключения, поэтому, если curl подключится в течение заданного периода, он продолжит работу, а если нет, то завершится.

-T, --upload-file <файл>

Это передает указанный локальный файл на удаленный URL-адрес. Если в указанном URL-адресе нет файловой части, curl добавит имя локального файла.

–ftp-создать-каталоги

(FTP SFTP) Когда URL-адрес/операция FTP или SFTP использует путь, который в настоящее время не существует на сервере, стандартное поведение curl — сбой. Используя эту опцию, curl вместо этого попытается создать отсутствующие каталоги.

Ссылки:

https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocolhttps://www.crushftp.com/index.htmlhttps://curl.se/docs/manpage.html

Промышленные технологии

  1. Интерфейс командной строки
  2. Раскрытие возможностей промышленного Интернета вещей
  3. 4 теста, определяющих эффективность силовых трансформаторов
  4. Отключения электроэнергии:5 способов предотвратить негативные последствия
  5. Браунаут против Блэкаута:в чем разница?
  6. Что влияет на периодичность технического обслуживания дизель-генератора
  7. Поиск запасного генератора:4 жизненно важных вопроса
  8. Виртуальная электростанция Tesla:переосмысление электрической сети
  9. Веб-семинар:Мощь энергетического мониторинга в Индустрии 4.0
  10. Сила командной работы в управлении производством