시리얼 통신의 다음 코스 이더넷 통신에 대해서 알아보고 직접 PLC와 PC통신을 잡아 보겠습니다. 물론 PLC와의 통신을 하는 원리를 이해하시면 PLC 뿐만 아니라 PC 간의 통신, 다른 장비들의 통신들도 하실 수 있습니다.
시리얼 통신에서 PLC가 무엇인지에 대해서 설명을 했기 때문에 다들 아실거라 생각하고 바로 이더넷 통신에 대해 알아보겠습니다.
미리 보기

위의 프로그램을 실행하면 제가 설정한 주기마다 자동으로 엑셀에 데이터가 차곡차곡 저장됩니다.
엑셀에 저장이 되므로 당연히 그래프로도 볼 수 있습니다.


미리 보기는 여기까지입니다.
그럼 이더넷 통신부터 차근차근 알아가 봅시다.
이더넷 통신
이더넷(Ethernet)은 컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격입니다. 이더넷은 OSI 모델의 물리 계층에서 신호와 배선, 데이터 링크 계층에서는 MAC패킷과 프로토콜의 형식을 정의합니다. 이더넷 기술은 대부분 IEEE 802.3 규약으로 표준화되어 있고 현재 가장 널리 사용되고 있습니다.
집에서 흔히들 인터넷선이라고 하는 게 바로 LAN선입니다. 그 정도로 널리 사용되고 가장 많이 사용하는 통신규격입니다.
OSI 7 계층
계층
|
이름
|
단위
|
예시
|
프로토콜
|
디바이스
|
7
|
응용 계층
(Application Layer)
|
Data
|
텔넷(Telnet), 구글 크롬, 이메일, 데이터베이스 관리
|
HTTP, SMTP, SSH, FTP, Telnet, DNS, modbus, SIP, AFP, APPC, MAP
|
|
6
|
표현 계층
(Presentation Layer)
|
Data
|
인코딩, 디코딩, 암호화, 복호화
|
ASCII, MPEG, JPEG, MIDI, EBCDIC, XDR, AFP, PAP
|
|
5
|
세션 계층
(Session Layer)
|
Data
|
NetBIOS, SAP, SDP, PIPO, SSL, TLS, NWLink, ASP, ADSP, ZIP, DLC
|
||
4
|
전송 계층
(Transport Layer)
|
TCP-Segment, UDP-datagram
|
특정 방화벽 및 프록시 서버
|
TCP, UDP, SPX, SCTP, NetBEUI, RTP, ATP, NBP, AEP, OSPF
|
게이트웨이
|
3
|
네트워크 계층
(Network Layer)
|
Packet
|
라우터
|
IP, IPX, IPsec, ICMP, ARP, NetBEUI, RIP, BGP, DDP, PLP
|
라우터
|
2
|
데이터링크 계층
(DataLink Layer)
|
Frame
|
MAC 주소, 브리지 및 스위치
|
Ethernet, Token Ring, AppleTalk, PPP, ATM, MAC, HDLC, FDDI, LLC, ALOHA
|
브릿지,
스위치
|
1
|
물리 계층
(Physical Layer)
|
Bit
|
전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양, 신호 변경(디지털, 아날로그)
|
10BASE-T, 100BASE-TX, ISDN, wired, wireless, RS-232, DSL, Twinax
|
허브,
리피터
|
OSI 7 계층은 네트워크 프로토콜이 통신하는 구조를 7 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정리해 놓은 것인데 통신을 하려면 반드시 알아야 하는 개념 중 하나입니다.
위에서 나온 이더넷 통신은 2 계층 데이터링크 계층에 있는 것을 볼 수 있습니다.
실제로 통신을 하려면 3 계층 네트워크 계층과 4 계층 전송계층이 필요합니다. 대표적으로 쓰이는 방식이 IP, TCP, UDP 프로토콜입니다. 그래서 이더넷뿐만 아니라 추가적으로 IP, TCP, UDP 같은 내용들도 알아보겠습니다.
SOCKET
소켓은 간단하게 말하자면 네트워크를 통해 서로 통신을 할 수 있도록 만들어주는 창구 역할을 합니다.
소켓은 서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신을 하는 방식입니다.
즉각적으로 정보를 주고받는 게임이나 실시간 채팅에서 많이 사용이 됩니다.
자세한 방식은 다음시간에 구현을 할 때 알아보겠습니다.
IP
인터넷에 연결되어 있는 각 컴퓨터들이 가지는 숫자로 이루어진 고유 주소입니다.
0~255까지의 숫자로 총 4개로 구성되어 있습니다.
EX) 192.168.0.255
IP 주소는 인터넷에서 추적을 통해 어떤 컴퓨터에서 글을 작성했는지 확인할 수도 있고 IP 차단, 등등 다양한 방법으로 사용이 되고 있으며 단순히 컴퓨터뿐만 아니라 핸드폰, 전자기기 등 인터넷을 사용할 수 있는 기기라면 모두 IP 주소를 갖게 되기 때문에 매우 중요한 개념입니다.
TCP
Transmission Control Protocol의 약자로 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜입니다.
TCP의 주요 기능
- 연결형 서비스를 제공합니다.
- 전이중 방식의 양방향 가상 회선을 제공합니다.
- 신뢰성 있는 데이터 전송을 보장합니다.
연결 절차는 전화를 거는 것처럼 상대와 연결을 설정하고 통신을 시작합니다.
- 상대에게 통신을 하고 싶다는 메시지를 보냅니다.
- 상대는 그 메시지에 대한 응답 + 통신 준비가 되었다는 메시지를 보냅니다.
- 위에서 받은 메시지에 응답을 보냅니다.
위의 과정을 통해 나와 상대가 통신준비를 마쳤고 현재 통신이 연결되어 있음을 보장하게 됩니다.
UDP
User Datagram Protocol의 약자로 인터넷에서 정보를 주고받을 때, 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜입니다.
UDP는 TCP의 모든 신뢰성 기능이 없습니다. 상대와 접속했고 전송속도를 설정했으면 설정한 전송속도로 데이터를 전송하기만 하고 받는 쪽에서는 데이터를 제대로 받고 있는지 신경 쓰지 않습니다. 그래서 데이터가 손실이 발생할 수 있습니다. 하지만 데이터가 많이 손실되는 게 아니라면 상관이 없는 실시간 스트리밍 등 영상을 제공할 때 느린 TCP보다 UDP를 주로 사용합니다.
간단하게 개념들 정리를 해 보았습니다.
다음 시간에는 파이썬을 이용하여 PLC와 TCP/IP 통신을 직접 코드를 보면서 알아보겠습니다.
감사합니다.