Beckhoff ADS

ADS/AMS로 Beckhoff TwinCAT PLC에 접속합니다. AMS 경로, 런타임 포트, 심벌 경로, 그리고 읽기 길이.

Markdown으로 보기

Beckhoff ADS 드라이버는 AMS 경로 위에 실리는 TwinCAT 자동화 프로토콜인 ADS로 Beckhoff TwinCAT PLC와 이야기합니다. 값의 주소는 PLC 프로그램 안의 심벌 경로로 적으므로, 입력하는 것이 TwinCAT 프로젝트가 선언한 그대로입니다. Connector에서 Beckhoff ADS 드라이버 아래에 장치를 추가하십시오. 패널은 이 프로토콜이 쓰는 칸만 보여 줍니다.

연결

기본값
호스트 PLC의 IP 주소입니다. 그 AMS 넷 id는 이 주소에서 {ip}.1.1로 만들어집니다. 비어 있음
포트 대상 런타임의 AMS 포트입니다. 0은 851, 곧 TwinCAT 3 PLC 런타임 1을 씁니다. 그다음 TwinCAT 3 런타임은 거기에서 하나씩 올라갑니다(852, 853, …). 0
로컬 IP (AMS) 이 스테이션 자신의 IP 주소이며, 그 AMS 넷 id는 여기에서 {ip}.1.1로 만들어집니다. PLC에 설정된 AMS 경로와 맞아야 합니다. 비워 두면 호스트 값을 다시 쓰는데, 이것은 양쪽 끝이 주소를 함께 쓸 때에만 동작하므로 실제로는 채워 넣으십시오. 비어 있음
읽기 주기 (ms) 스스로 값을 정하지 않은 태그에 적용되는 장치 전체의 읽기 주기. 1,000

장치 머리글은 조립된 엔드포인트를 보여 줍니다. 예를 들어 ads://192.168.0.1:192.168.0.50:851(로컬 IP, PLC IP, AMS 포트)입니다. 태그마다 자기 읽기 주기 (ms)를 정할 수 있으며, 태그 값이 0이면 장치의 주기로 되돌아갑니다.

ADS는 PLC가 아는 스테이션에만 답합니다. PLC에 고정 AMS 경로를 추가하십시오(TwinCAT Engineering의 SYSTEM > Routes, 또는 TwinCAT 알림 영역 아이콘). 그 경로의 주소는 이 스테이션의 IP이고, AMS 넷 id는 그 IP 뒤에 .1.1을 붙인 것이어야 하며, 이는 드라이버가 로컬 IP (AMS)에서 만들어 내는 것과 같습니다. 그 경로가 없으면 네트워크 길이 멀쩡해도 연결이 실패합니다.

주소 지정

Beckhoff 태그의 주소는 태그 신호원 카드의 두 칸으로 적습니다.

받는 값 기본값
심벌 PLC 프로그램에 있는 변수의 심벌 경로입니다. 필수입니다. 자유 입력, 예를 들어 MAIN.fValue 비어 있음
읽기 길이 (바이트, 비우면 자동) 읽을 때마다 옮길 바이트 수입니다. 비우면 데이터 형식이 읽기 크기를 정합니다. 1 이상, 또는 비움 비어 있음

심벌 경로는 TwinCAT이 보여 주는 그대로입니다. 프로그램 변수는 MAIN.fValue, 전역 변수 목록은 GVL.MachineSpeedGVL_Settings.rSetpoint입니다. 드라이버는 PLC에서 이름으로 심벌을 풀어내고 그 원시 바이트를 읽습니다. 자동으로 정해지는 읽기 길이는 이렇습니다.

데이터 형식 자동 읽기 길이
Boolean 1바이트
Int32 4바이트
Float 4바이트
String 16바이트

16자보다 긴 문자열이라면 읽기 길이를 선언된 크기에 맞게 정하십시오(TwinCAT의 STRING(80)은 글자 80바이트가 필요합니다). 신호원 카드의 읽기 전용 신호원 주소 (버스) 줄은 편집하는 대로 조립된 주소를 보여 줍니다.

데이터 형식

데이터 형식 선택 목록은 드라이버가 다룰 수 있는 네 형식을 내놓습니다.

데이터 형식 PLC 쪽 대응 비고
Boolean BOOL 1바이트이며 0이 아니면 true
Int32 DINT PLC와 같은 리틀 엔디언
Float REAL PLC와 같은 리틀 엔디언
String STRING 읽기 버퍼의 첫 NUL까지의 글자

바이트 순서는 PLC 자신의 리틀 엔디언이며 저절로 처리됩니다. 바이트 순서 선택은 없습니다. 문자열 읽기는 돌려받은 버퍼를 첫 NUL 종료 문자까지 해독하므로, 짧은 문자열 뒤의 채움 값이 값 안으로 새어 드는 일은 없습니다. 다른 TwinCAT 너비(INT, LREAL, WORD, …)는 제시되지 않습니다. 그런 변수는 PLC 프로그램에서 위의 네 형식 가운데 하나로 내놓아야 여기에서 읽을 수 있습니다.

쓰기

접근이 읽기와 쓰기이거나 쓰기 전용인 태그는 쓸 수 있습니다. 쓰기는 같은 심벌을 풀어내고 값의 바이트를 씁니다. 부울은 1바이트, Int32와 Float은 4바이트입니다. 문자열 쓰기는 태그의 읽기 길이 전체를 놓습니다. 앞에는 글자의 UTF-8 바이트가, 그 뒤에는 0이 놓입니다. 그래서 긴 글자 위에 짧은 글자를 쓰면 값 전체가 바뀌고 예전 것은 하나도 남지 않습니다. 선언된 길이에 들어가지 않는 글자는 크기에 맞게 잘리는 대신, 진단 로그에 길이가 적힌 채 거부됩니다. 새 태그는 읽기 전용으로 시작합니다.

장치 검색

이 드라이버의 ADS에는 브로드캐스트 검색이 없으므로 Connector는 장치 검색 단추를 보여 주지 않습니다. 장치와 심벌은 손으로 추가하십시오.

알아 두면 좋은 것

  • 첫 연결이 실패하는 흔한 이유는 AMS 경로입니다. PLC에 있는 경로의 AMS 넷 id는 정확히 스테이션 IP 뒤에 .1.1을 붙인 것이어야 합니다.
  • 심벌은 읽을 때마다 이름으로 풀어내므로, 심벌의 이름을 바꾸거나 없애는 PLC 다운로드를 하면 그 태그는 이름이 다시 맞을 때까지 품질이 나쁜 것이 됩니다.
  • 닿지 않는 PLC는 시작할 때 아무 비용도 들이지 않습니다. 장치는 배경에서 계속 다시 시도하고, 연결이 이루어질 때까지 그 태그는 품질이 나쁜 것으로 읽힙니다.