PLC-Recorder 청취모드

이번글에서는 PLC-Recorder 청취모드에 대해서 알아보겠습니다.

청취 모드란 무엇인가요? PLC-Recorder는 리스너 역할을 하며 PLC는 TCP/IP 또는 UDP 프로토콜을 통해 능동적이고 주기적으로 데이터를 보냅니다. 이에 따라 PLC-레코더의 다른 채널의 작업 모드는 고정 기간이며, PLC-레코더는 PLC 데이터를 적극적으로 쿼리합니다.

청취 모드는 ibaPDA의 주류 모드입니다. 이 소프트웨어는 청취 모드 장치 아래에 S7, TDC, ABB-VIP 및 일반의 4가지 프로토콜을 설정하며 ibaPDA의 4가지 공통 통신과 호환되도록 설계되었습니다. 작동 원리와 구성 매개변수는 기본적으로 ibaPDA와 유사합니다.

Parmzi 장치 유형에 대한 범용 프로토콜의 규칙을 따르십시오.
활성 모드와 비교하여 청취 모드에는 PLC 측 ​​통신 구성 및 메시지 내용 구성이 포함되므로 약간 더 복잡하며 아래에서 단계별로 소개됩니다.

의사소통 원리

이 모드는 TCP 및 UDP 프로토콜과 모두 호환됩니다. PLC는 소스단이고, 이 소프트웨어가 위치한 컴퓨터는 타겟단입니다.
TCP의 경우 PLC는 대상 IP 주소, 대상 포트, 로컬 포트, 통신 ID 및 기타 정보를 설정해야 하며 PLC 측에서 활성 연결로 설정되어야 합니다. 데이터를 보내기 전에 먼저 연결이 설정되어야 합니다. TCP는 전송된 정보가 완전하고 올바른지 확인합니다.
UDP 프로토콜의 경우 위의 매개변수도 설정해야 하지만 연결을 설정할 필요가 없으며 대상 장치의 응답도 없습니다. 따라서 데이터가 수신된다는 보장은 없습니다.
각 PLC의 통신 설정 방법은 서로 다릅니다. 해당 PLC의 정보와 관련 프로토콜 정보를 하나씩 참조하시기 바랍니다.

대상 포트

대상 포트는 이 소프트웨어의 수신 포트이기도 합니다(이 시스템의 포트). 각 프로토콜에는 합의된 포트 번호가 있습니다(아래 표 참조). 그러나 포트가 충돌하는 경우 사용자가 이를 수정할 수도 있습니다. PLC 측과 이 소프트웨어는 동시에 수정되며 공통 프로토콜 포트와 비범용 프로토콜 포트가 겹치는 경우 청취 충돌을 피하기 위해 동시에 활성화할 수 없습니다.

image 69

소스 포트

PLC에서 통신을 구성할 때 소스 포트(PLC의 포트)를 지정해야 합니다. 각 모듈 또는 메시지의 소스 포트는 반복되어서는 안 됩니다.

모듈 설정

PLC에서는 전송해야 하는 정보를 함께 모아서 메시지를 형성해야 합니다. S7, TDC 및 ABB-VIP 프로토콜의 경우 3가지 다른 메시지를 나타내는 3가지 유형의 모듈이 정의됩니다. 모듈 설정에는 모듈 유형을 식별하는 번호가 매겨진 매개변수가 있습니다.

image 70

PLC-레코더 측에서는 각 채널이 하나의 모듈에만 해당됩니다. 모듈 번호는 모든 채널 범위 내에서 반복될 수 없습니다. S7, TDC 및 ABB-VIP 프로토콜의 경우 채널은 대상 포트 및 모듈 번호를 통해 일치됩니다.
일반 프로토콜의 경우 모듈의 모든 것을 자유롭게 구성할 수 있으므로 모듈 번호에 주의할 필요가 없으며 고정된 구조가 없습니다. 대상 포트 및 소스 IP 주소를 기준으로 채널을 일치시킵니다.

모듈 구조

다음은 Siemens S7 시리즈 PLC를 예로 들어 모듈의 구조를 소개합니다. 모듈 데이터는 대부분 DB 데이터 블록 내부에 존재합니다(S7-1200 및 S7-1500의 경우 오프셋 주소가 나타나도록 최적화된 블록 액세스를 취소해야 함). 모듈에는 헤더 정보와 데이터 영역이 포함됩니다.

Head부

헤더에는 3개의 int16 정수(PLC에서는 INT라고 함)가 포함됩니다.

image 71

✓ message_length(메시지 길이):
헤더 정보 및 후속 데이터 구조를 포함하는 메시지 데이터 패킷의 총 길이(바이트)입니다. 이 값은 먼저 결정되며 일단 통신이 설정된 후에는 길이를 변경할 수 없습니다. 정수 및 실수 모듈의 경우 이 길이는 명확한 값입니다.
✓ module_index(모듈 번호):
모듈 번호는 유형과 관련이 있습니다. 개요의 모듈 번호 표를 참조하세요. 이 번호는 PLC-Recorder에 구성된 번호와 일치해야 합니다.
✓ seq(메시지 일련번호):
전송이 성공할 때마다 다른 메시지를 구별하기 위해 이 값을 1씩 늘려야 합니다. 상한에 도달한 후에는 32767에서 -32767로 점프해야 합니다(Siemens PLC는 내부적으로 자동으로 점프합니다).

데이터 영역

✓ 정수 모듈:

image 72

✓ 실수 모듈:

image 73

✓ 공통 모듈:

image 74

PLC-Recorder 측 구성

채널 추가

image 75

전체 구성

여기서는 I/O 관리 장과 다른 부분만 설명합니다.

✓ 수집 주기:
청취 모드의 경우 활성 획득과 다른 메커니즘을 사용하여 최소 기간을 8ms로 단축할 수 있습니다(고속 획득 제외). 그러나 불필요한 자원 낭비를 피하기 위해 PLC의 전송주기를 낮추지 마십시오. 이 주기가 PLC 전송 주기보다 큰 경우 소프트웨어는 최신 값만 저장합니다.

✓ 변수의 개수
연결 매개변수의 프로토콜 유형과 모듈 번호(모듈 유형 결정)에 따라 사용 가능한 변수 유형과 수정 가능 여부가 자동으로 표시됩니다. 예를 들어 정수 모듈의 경우 이 값을 수정할 수 없습니다. 일반 모듈의 경우 이 값을 수정할 수 있습니다.

✓ 바이트 순서
주소가 맞을 경우 수치 파싱 오류가 발생하면 수치변수의 바이트 순서를 통해 수정할 수 있다. 일반적인 상황에서 이 옵션은 다중 단어 변수의 순서를 조정하는 데에만 사용됩니다. 청취 모드에서는 단일 단어 변수를 조정하는 데에도 사용됩니다. Siemens S7 시리즈의 경우 기본값은 ABCD입니다.
값 전환의 경우 비트 획득이 비정상적인 경우 비트 시퀀스 교환을 시도할 수 있습니다. 교환 전 파싱 순서는 0123, 교환 후 파싱 순서는 3210이다.

✓ 문자열 변수
일반 모듈과 일반 프로토콜의 경우 문자열을 함께 패키지하여 전송할 수도 있습니다. 이 소프트웨어는 3가지 유형의 문자열 구조를 지원하며 주요 브랜드 PLC의 문자열 구조와 호환됩니다.

image 76

연결 구성

S7, TDC 및 ABB-VIP 프로토콜의 경우 모듈 유형을 자동으로 식별하려면 수신 포트와 모듈 번호만 설정하면 됩니다.

image 77

일반 프로토콜의 경우 PLC의 IP 주소인 소스 IP와 수신 포트(로컬 시스템의 포트)를 지정해야 합니다. 모듈 유형은 신경 쓸 필요가 없습니다.

image 78

청취 모드는 현재 연결 테스트를 지원하지 않습니다.

변수 구성

✓ S7, TDC, ABB-VIP 프로토콜의 경우
정수 및 실수 모듈의 경우 변수 유형과 순서가 고정되어 있으므로 주소를 설정할 필요가 없습니다. 구성 인터페이스는 다음과 같습니다.

image 79

범용 모듈의 경우 변수를 자유롭게 구성할 수 있으므로 주소를 수동으로 설정해야 합니다. 여기서 시작 주소는 데이터 영역의 주소이므로 전체 오프셋은 -6(헤더 길이)입니다. 다음은 PLC의 데이터 구조와 이 소프트웨어의 구성 다이어그램을 보여줍니다(이 소프트웨어는 모든 변수를 나열할 필요가 없습니다).

image 80

✓ 범용 프로토콜
일반 프로토콜의 경우 메시지 헤더의 개념이 없고, 모든 내용을 자유롭게 구성할 수 있으며, 메시지의 길이를 결정하려면 최종 변수가 명확해야 합니다. 위에서 언급한 동일한 일반 모듈에 대해 일반 프로토콜을 사용하여 액세스하면 구성은 다음과 같습니다.

image 81

소프트웨어는 마지막 변수를 기반으로 모듈의 전체 길이를 계산합니다. WSTRING1의 시작 주소는 48이고 길이는 22단위(WString 유형의 경우 1단위는 2바이트)이므로 모듈의 전체 길이는 = 48+22*2=92
TCP 프로토콜 통신인 경우 길이는 PLC가 보낸 메시지의 전체 길이와 완전히 일치해야 합니다. 그렇지 않으면 소프트웨어가 메시지를 분할할 수 없습니다.
UDP 프로토콜 통신인 경우 PLC가 보낸 메시지의 길이가 전체 길이보다 작지 않으면 소프트웨어가 이를 올바르게 구문 분석할 수 있습니다.

✓ 값 전환에 대한 지침
스위치 값은 4바이트(스위치 값 32개)로 그룹화되며, 각 시작 주소에서 시작하는 4바이트가 이 그룹에 속한다. 구성할 때 주소 중복을 피하십시오.

✓ 문자열 설명
문자열 주소의 길이 단위는 유형과 관련됩니다. 문자열인 경우 ASCII 문자열이고 단위는 바이트입니다.
WString인 경우 단위는 단어입니다.
구조가 2(길이 정보가 있는 헤더)인 경우 설정된 길이에는 2단위의 헤더 정보가 포함되어야 합니다.

고속 획득 모드

승인되면 다음 조건이 충족된 후 청취 모드가 고속 획득 모드로 변환됩니다.

✓ 이 청취 모드 채널에 대해 활성화된 변수의 수는 64개를 넘지 않습니다.
✓ 이 청취 모드 채널의 메시지 길이는 200바이트를 넘지 않습니다.
고속 모드에서 소프트웨어는 가장 빠른 속도로 PLC로부터 정보를 수신합니다(테스트는 0.24ms 주기로 메시지를 수신할 수 있음).
Windows 스케줄링 메커니즘 및 이더넷 통신의 불확실성과 고속 모드의 엄청난 양의 데이터로 인해 소프트웨어의 CPU 부하가 높거나 수신 데이터 주기가 극도로 불안정한 경우 다음과 같은 조치를 취할 수 있습니다. 그것을 개선하기 위해 :
✓ 불필요한 소프트웨어(특히 백그라운드의 다양한 네트워크 보호 소프트웨어)를 최대한 중지하세요.
✓ 네트워크 격리를 통해 PLC가 위치한 네트워크의 혼잡도를 줄입니다.
✓ 활성화된 변수의 수를 줄입니다.
✓ 메시지 길이를 줄이세요.

타임스탬프를 사용한 고속 획득

Windows 주기의 불확실성으로 인해 컨트롤러가 전송하는 주기가 매우 짧을 경우 획득 소프트웨어가 수신 시간으로 메시지를 구별하기가 어렵습니다. 이때, 컨트롤러가 보낸 메시지에 타임 스탬프가 있고 수집 소프트웨어에서 인식되면 타임 스탬프를 사용하여 수신 시간을 수정함으로써 정확한 샘플링 시간을 얻습니다.

이 기능은 일반 유형의 Pamzi 장치 유형 및 청취 모드에서 구현됩니다. 사용자는 메시지의 첫 번째 변수를 타임스탬프 변수로 정의할 수 있습니다. UInt32 유형(증가 및 자연 반전), 단위는 마이크로초 또는 밀리초입니다(I/O 구성 중에 결정됨).

연결 매개변수의 메시지에서 타임스탬프 기능을 활성화합니다. 타임스탬프가 활성화된 경우 메시지 길이는 4바이트 이상이어야 합니다.

image 82

청취 모드 구성 규칙

다음은 몇 가지 중요한 구성 규칙입니다. 이를 반드시 따르십시오.

✓ S7, TDC 및 ABB-VIP 프로토콜의 경우 모듈 번호는 전체 획득 시스템(컴퓨터 한 대와 PLC 여러 대) 내에서 반복될 수 없습니다.
✓ S7, TDC, ABB-VIP 프로토콜의 Listening 포트와 일반 프로토콜의 Listening 포트가 중복되는 경우 동시에 활성화할 수 없습니다.
✓ 일반 프로토콜의 경우 PLC가 여러 모듈 데이터를 전송해야 하는 경우 각 통신의 대상 끝은
입은 반복될 수 없습니다. 서로 다른 PLC가 동일한 대상 포트를 사용할 수 있습니다.

image 83

✓ 허용되는 모듈 및 변수 수는 소프트웨어 인증 유형에 따라 다릅니다.

개념 간의 관계

청취 모드 개념 간의 관계를 요약해 보겠습니다.

프로토콜통신 원리모듈 유형모듈 번호
S7TCP or UDP정수, 실수, 일반: 헤더 및 데이터 영역 포함시스템 내 복제 않됨.
TDCTCP or UDP정수, 실수, 일반: 헤더 및 데이터 영역 포함시스템 내 복제 않됨.
ABB-VIPTCP or UDP정수, 실수, 일반: 헤더 및 데이터 영역 포함시스템 내 복제 않됨.
TCP or UDP관련되지 않음: 자유 정의관련되지 않음
함께 보면 좋은글
PLC-Recorder 데이터 전달 (MODBUS-TCP)

이 게시물이 얼마나 유용했습니까?

평점을 매겨주세요.

평균 평점 0 / 5. 투표수 : 0

지금까지 투표한 사람이 없습니다. 가장 먼저 게시물을 평가 해보세요.

Leave a Comment