LabVIEW / / 2022. 1. 20. 16:29

LS PLC - PC(LabVIEW) 이더넷 통신 하기 feat. FENET -2

728x90
반응형

처음: LS PLC - PC(LabVIEW) 이더넷 통신 하기 feat. FENET -1

아래 데이터가 보면 메뉴얼과 다르게 바이트 데이터가 앞뒤로 바뀐것을 볼 수 있다.

16비트로 데이터 통신할때 하는 하나의 방법이다. 그리고 시리얼 통신에서는 아래에 보이는 데이터들을 사람이 읽을 수 있는 글자로 해서 주고받는 방법도 있다.

 

3.2.1 헤드구조

앞에서 설명한 헤드를 랩뷰로 구현하면 아래와 같다. 

문자열에서 16진수로 디스플레이로 하면 아래와 같이 나타난다. 오른쪽은 이들을 합치면 나오는 헤드이다.

Company ID + PLC info + CPU info + Source Of Frame + Invoke ID

FENET 헤드 구조 일부

다음은

 Length + 이더넷 위치 + 예약2 를 만들어보자.

명령어 크기 구하기(length)
이더넷위치 + 예약2

length는 헤더뒤에오는 데이터 영역의 길이 이기때문에 다음에 오는 명령어를 구성하고, 그 크기를 구해야 한다.

이렇게 하면 헤드 구조는 구해졌다.

 

3.2.2 명령요구 프레임

직접변수 연속 읽기를 사용할것이다.

PLC D영역 D3100번부터 5개 데이터를 가져올것이다.

직접변수 연속읽기
랩뷰로 구현

start adress 컨트롤에 3100을 적어주면 %DB06200으로 변환해서 직접변수가 들어간다.

D3100을 읽기위해서는  D6200으로 해야 원하는 위치 데이터를 읽을 수 있다.

 

4.1 최종 명령어

아래 그림은 최종적으로 얻어진 명령어이다. 세가지로 보여주는 이유는 16진수로 통신명령을 구성해야되지만, 

PLC  주소를 지정하기 위해서는 일반 스트링을 섞어 쓰고 있기 때문이다.

D3100번부터 5개의 데이터 읽기 명령어 디스플레이
LabVIEW 코드

5. 변수 데이터 종류와 데이터 타입코드

변수 데이터 종류와 사용방법
데이터 타입과 코드

 

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유