산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

의사 TTY를 통해 PLCnext PLC를 원격 RS232/RS485에 연결

이 Makers Blog 기사에서는 Com Server가 PLCnext 플랫폼에 제공하는 가능성과 이점에 대해 설명합니다.

소개

피닉스컨택트가 PLC용으로 제공하는 확장 모듈은 예를 들어 다음과 같은 직렬 어댑터일 수 있습니다.

모든 확장 모듈에는 공통점이 있습니다. 프로세스 데이터를 통해 주기적으로 액세스할 수 있습니다. 이를 통해 실시간 애플리케이션에서 직렬 장치와 직접 상호 작용할 수 있습니다.

어떤 경우에는 이것이 우리가 원하는 것이 아닙니다. 대신 기존(C/C++) 라이브러리를 재사용하고 실시간 컨텍스트가 필요하지 않습니다. 그러나 이러한 라이브러리는 일반적으로 COM 또는 TTY 인터페이스에 직접 액세스하도록 프로그래밍되어 있습니다.

PLCnext Control에 대한 TTY 인터페이스를 만드는 두 가지 옵션이 있습니다. :

  1. PLCnext Runtime 내부에서 AXL 또는 IL 직렬 어댑터용 TTY 인터페이스를 생성하는 일부 기능(C++/C#) 구현 .
  2. GW 장치 서버와 같은 COM 서버 장치 사용

GW Device Server 투명한 TCP to Serial 제공 상호 작용. Socat와 같은 도구의 도움으로 직렬/TCP 트래픽을 의사 TTY 인터페이스로 직접 전달할 수 있습니다. GW Device Server 사용 또한 TLS 암호화 채널을 통해 원격 위치의 직렬 장치와 통신할 수 있는 가능성을 제공합니다.

참고

이 자습서에서 PLC는 클라이언트 역할을 수행하고 GW Device Server에 대한 연결을 설정합니다. .

(단, PLC Socat 청취 옵션에 연결하고 클라이언트로서 GW가 PLC에 능동적으로 연결되도록 합니다.)

설정

GW 장치 서버 설정

GW Device Server에 연결합니다. 웹 기반 관리를 통해. GW Device Server의 기본 IP 주소 192.168.254.254입니다.

다음 설정을 사용합니다.

LAN 설정 – 보안
시리얼 설정

GW 장치 서버 테스트

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 만들기

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 배포 및 설치

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 인터페이스 액세스

이제 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에 직접 연결된 것처럼 액세스할 수 있습니다.


산업기술

  1. 산업용 드라이브용 PLC
  2. Tenting을 통한 PCB란 무엇입니까?
  3. 클라우드 모니터링, 원격 제어 시스템
  4. 원격 생산 제어의 5가지 장점
  5. grpcurl을 사용하는 원격 gRPC
  6. SNMP를 통한 PLCnext Control 장치 관리
  7. PLCnext의 클러스터 관리?
  8. PLCnext Tableau 대시보드
  9. PLCnext Power BI 보고서
  10. PLCnext Grafana 대시보드