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

Подключение ПЛК PLCnext к удаленным портам RS232/RS485 через псевдотелетайп

В этой статье Makers Blog мы обсуждаем возможности и преимущества, которые Com Server предоставляет платформе PLCnext.

Введение

Модули расширения, которые Phoenix Contact предлагает для своих ПЛК, могут быть, например, такими последовательными адаптерами, как:

Все модули расширения имеют одну общую черту:к ним можно обращаться циклически через данные процесса. Это дает возможность напрямую взаимодействовать с последовательным устройством из нашего приложения реального времени.

В некоторых случаях это не то, что нам нужно. Вместо этого мы хотим повторно использовать существующие (C/C++) библиотеки и не нуждаемся в контексте реального времени. Однако мы обнаружим, что эти библиотеки обычно запрограммированы на прямой доступ к COM- или TTY-интерфейсу.

Существует два варианта создания интерфейса TTY для PLCnext Control. :

  1. Реализовать некоторые функции (C++/C#), которые создают интерфейс TTY для последовательных адаптеров AXL или IL изнутри PLCnext Runtime .
  2. Использование устройств COM-сервера, таких как сервер устройств GW

GW Device Server обеспечивает прозрачный TCP to Serial интерфейс. С помощью такого инструмента, как Socat мы можем перенаправить последовательный/TCP-трафик непосредственно на псевдо-TTY-интерфейс. Использование GW Device Server также обеспечивает возможность связи с последовательным устройством в удаленных местах через зашифрованный канал TLS.

ПРИМЕЧАНИЕ

В этом руководстве ПЛК работает как клиент и устанавливает соединение с GW Device Server. .

(Однако также возможно переключить ПЛК Socat к опции прослушивания и активному подключению шлюза GW к ПЛК в качестве клиента.)

Настройка

Настройка сервера устройств GW

Подключаемся к GW Device Server через веб-интерфейс управления. IP-адрес по умолчанию для GW Device Server 192.168.254.254.

Мы используем следующие настройки:

Настройки локальной сети — Безопасность
Настройки серийного номера

Тестирование сервера устройств GW

Чтобы проверить, настроили ли мы GW Device Server правильно, сначала подключаем наш ПЛК к GW Device Server через Ethernet. Затем мы подключаем два адаптера DSUB блока GW Device Server. друг с другом.

Мы можем быстро протестировать установку с помощью инструмента Telnet. . С помощью этого инструмента мы можем отправлять данные с ПЛК на GW Device Server через порт 8000/COM1 через последовательный кабель к порту 8001/COM2 и, наконец, получить его обратно в ПЛК.

Мы используем следующие команды:

ssh [email protected]
sudo passwd root
su root
ip addr add 192.168.254.10 dev eth0
telnet 192.168.254.254 8000
## open another shell session
telnet 192.168.254.254 8001
# Type some messages

Строительство Соката

Чтобы построить Socat легко в ОС Linux мы используем следующие команды:

mkdir tmp
cd tmp
git clone git://repo.or.cz/socat.git
cd socat

## TODO: Modify to your SDK location
source /opt/pxc/release/axcf2152/2020/0/environment-setup-cortexa9t2hf-neon-pxc-linux-gnueabi
. /opt/pxc/release/axcf2152/2020/0/site-config-cortexa9t2hf-neon-pxc-linux-gnueabi

mkdir install
autoconf
./configure $CONFIGURE_FLAGS --prefix=$(pwd)/install --enable-openssl-method
make -j2
make install

Развертывание и установка Socat

Чтобы развернуть Socat установки выполняем следующий скрипт:

cd tmp
mkdir -p deploy
cd deploy
mkdir -p usr
cp -r ../../Daemon/* .
cp -r ../socat/install/* usr/

# Create package
tar -cf ../socat-binaries.tar .
cd ..
scp socat-binaries.tar [email protected]:~/
ssh -ttt [email protected] \
"mkdir -p /opt/plcnext/socat-binaries && \
tar -xf /opt/plcnext/socat-binaries.tar -C /opt/plcnext/socat-binaries"

После развертывания мы можем подключиться к нашему ПЛК по ssh. Поэтому мы сначала подготовим ПЛК, настроив каталоги и файлы конфигурации, выполнив следующие команды:

deploy$ ssh [email protected]

[email protected]:~$ su root
[email protected]$ mkdir -p /etc/default/socat
[email protected]$ touch /etc/default/socat/socat.conf
[email protected]$ touch /etc/init.d/SocatDaemon

Теперь мы изменим socat.conf файл для настройки параметров последовательного интерфейса под наши нужды.

nano /etc/default/socat/socat.conf

Содержимое файла выглядит следующим образом.

TARGETIP="192.168.254.254"
TARGETPORT="8000"
TTYNAME="/dev/ttyGWDeviceServer"
OPTIONS="pty,link=$TTYNAME tcp-connect:$TARGETIP:$TARGETPORT,forever,interval=15"

BAUD="9600"
PARITY=""
DATABITS="csN 8"
STOPBITS="-cstopb"
FLOWCONTROLL=""

Если нам потребуется изменить дополнительные параметры, нам также потребуется изменить SocatDaemon файл. Дополнительную информацию о параметрах TTY можно найти на страницах руководства stty.

Теперь мы создаем SocatDaemon файл для автоматического подключения к GW Device Server используя Socat демон.

ПРИМЕЧАНИЕ:

Этот файл SocatDaemon является примером без управления ошибками/отключениями и т. д. Пожалуйста.

nano /etc/init.d/SocatDaemon

Файл имеет следующее содержимое (нажмите, чтобы увидеть/скрыть код)

Теперь, когда все файлы конфигурации на месте, мы можем приступить к настройке Socat. двоичные файлы и регистрация Socat демон.

chmod +x /etc/init.d/SocatDaemon
cd /opt/plcnext/socat-binaries
chmod +x usr/bin/*

cp -r usr /

update-rc.d -s -v SocatDaemon 99
/etc/init.d/SocatDaemon start

Если все настроено правильно, мы можем увидеть работающий демон с помощью команды типа ps -e | grep socat . Мы также можем проверить Socat журналы, расположенные по адресу cat /var/log/socat.log .

Доступ к интерфейсу TTY с терминала

Теперь мы можем отправлять сообщения через интерфейс TTY.

sudo echo "PLC to GW $var" > /dev/GWDeviceServer

Чтобы постоянно тестировать псевдотелефон, мы можем использовать команду вроде

while true; do sleep 5 && sudo echo "PLC to GW $var" >/dev/ttyUSB0 && var=$((var+1)); done

Входящий трафик можно отобразить, выполнив cat /dev/GWDeviceServer . Теперь любое приложение может получить доступ к последовательному устройству, подключенному к серверу устройств GW, как если бы оно было напрямую подключено к ПЛК.


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

  1. ПЛК для приводов в промышленности
  2. Что такое печатная плата через палатку?
  3. Облачный мониторинг, система удаленного управления
  4. 5 преимуществ дистанционного управления производством
  5. Удаленный gRPC с помощью grpcurl
  6. Управление устройством PLCnext Control через SNMP
  7. Управление кластером на PLCnext?
  8. Информационная панель PLCnext Tableau
  9. Отчеты PLCnext Power BI
  10. Информационные панели PLCnext Grafana