산업기술
이 Makers Blog 기사에서는 Com Server가 PLCnext 플랫폼에 제공하는 가능성과 이점에 대해 설명합니다.
피닉스컨택트가 PLC용으로 제공하는 확장 모듈은 예를 들어 다음과 같은 직렬 어댑터일 수 있습니다.
모든 확장 모듈에는 공통점이 있습니다. 프로세스 데이터를 통해 주기적으로 액세스할 수 있습니다. 이를 통해 실시간 애플리케이션에서 직렬 장치와 직접 상호 작용할 수 있습니다.
어떤 경우에는 이것이 우리가 원하는 것이 아닙니다. 대신 기존(C/C++) 라이브러리를 재사용하고 실시간 컨텍스트가 필요하지 않습니다. 그러나 이러한 라이브러리는 일반적으로 COM 또는 TTY 인터페이스에 직접 액세스하도록 프로그래밍되어 있습니다.
PLCnext Control
에 대한 TTY 인터페이스를 만드는 두 가지 옵션이 있습니다. :
PLCnext Runtime
내부에서 AXL 또는 IL 직렬 어댑터용 TTY 인터페이스를 생성하는 일부 기능(C++/C#) 구현 .
GW Device Server
투명한 TCP to Serial
제공 상호 작용. Socat
와 같은 도구의 도움으로 직렬/TCP 트래픽을 의사 TTY 인터페이스로 직접 전달할 수 있습니다. GW Device Server
사용 또한 TLS 암호화 채널을 통해 원격 위치의 직렬 장치와 통신할 수 있는 가능성을 제공합니다.
이 자습서에서 PLC는 클라이언트 역할을 수행하고 GW Device Server
에 대한 연결을 설정합니다. .
(단, PLC Socat
청취 옵션에 연결하고 클라이언트로서 GW가 PLC에 능동적으로 연결되도록 합니다.)
GW Device Server
에 연결합니다. 웹 기반 관리를 통해. GW Device Server
의 기본 IP 주소 192.168.254.254입니다.
다음 설정을 사용합니다.
GW Device Server
를 설정했는지 테스트하려면 올바르게, 먼저 PLC를 GW Device Server
에 연결합니다. 이더넷을 통해. 그런 다음 GW Device Server
의 두 DSUB 어댑터를 연결합니다. 서로.
Telnet
도구를 사용하여 설정을 빠르게 테스트할 수 있습니다. . 이 도구를 사용하여 PLC에서 GW Device Server
로 데이터를 보낼 수 있습니다. Port8000/COM1에서 직렬 케이블을 통해 Port8001/COM2로 연결하고 마지막으로 PLC에서 다시 수신합니다.
다음 명령을 사용합니다.
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 OS에서는 다음 명령을 사용합니다.
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
를 배포하려면 설치 시 다음 스크립트를 실행합니다.
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"
배포 후 이제 PLC에 ssh할 수 있습니다. 따라서 먼저 다음 명령을 실행하여 디렉토리와 구성 파일을 설정하여 PLC를 준비합니다.
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 인터페이스를 통해 메시지를 보낼 수 있습니다.
sudo echo "PLC to GW $var" > /dev/GWDeviceServer
의사 TTY를 지속적으로 테스트하기 위해 다음과 같은 명령을 사용할 수 있습니다.
while true; do sleep 5 && sudo echo "PLC to GW $var" >/dev/ttyUSB0 && var=$((var+1)); done
cat /dev/GWDeviceServer
을 실행하여 들어오는 트래픽을 표시할 수 있습니다. . 이제 모든 애플리케이션은 GW Device Server에 연결된 Serial 장치가 마치 PLC에 직접 연결된 것처럼 액세스할 수 있습니다.
산업기술
easymon은 스마트폰 세계의 사용 편의성을 머신 컨트롤러 영역으로 가져오는 원격 모니터링 솔루션입니다. PLCnext 스토어에서 PLCnext 기능 확장을 설치하고 iOS 또는 Google Play 스토어에서 해당 스마트폰 앱을 설치하기만 하면 됩니다. 빠르고 쉬운 구성 후에 선택한 데이터 포인트 업데이트가 페어링된 스마트폰 앱 인스턴스에 전파됩니다. 현재 실행 중인 PLCnext 프로그램의 각 변수는 모니터링되는 데이터 포인트로 구성할 수 있습니다. 1. 디자인에 의한 개인정보 보호 사용 편의성 외에도 easymon을 개발하
PLCnext 기능 앱 easymon 컨트롤의 원격 모니터링을 설정하는 번거로움을 없애줍니다. 클라우드 기반 IoT 서비스의 모든 핵심 부분을 구성하는 대신 모바일 장치에서 모니터링하려는 PLCnext 프로젝트 변수를 선택하고 알림 임계값을 설정하기만 하면 됩니다. 이 구성은 명시적으로 선택한 변수에 대한 데이터만 클라우드로 전파하기 위해 PLCnext에서 실행되는 easymon 구성기에서 발생합니다. PLCnext 저장소는 연결된 PLCnext 컨트롤러에서 기능 확장의 설치 및 관리를 용이하게 하는 데 큰 역할을 합니다.