Mitsubishi MC

MC 프로토콜(3E 프레임)로 Mitsubishi MELSEC PLC에 접속합니다. 디바이스 코드, 십진과 십육진 번호 매김, 그리고 읽기 길이.

Markdown으로 보기

Mitsubishi MC 드라이버는 MC 프로토콜로 Mitsubishi MELSEC PLC와 이야기하며, TCP 위의 이진 3E 프레임을 씁니다. Q, L, iQ 계열이 말하는 그 프레임입니다. 값의 주소는 익숙한 MELSEC 디바이스 표기로 적습니다. D100이나 M50처럼 디바이스 코드에 번호를 붙인 것입니다. Connector에서 Mitsubishi MC 드라이버 아래에 장치를 추가하십시오. 패널은 이 프로토콜이 쓰는 칸만 보여 줍니다.

연결

기본값
호스트 PLC 이더넷 인터페이스의 IP 주소나 호스트 이름. 비어 있음
포트 MC 프로토콜 연결의 TCP 포트입니다. 0은 5007을 씁니다. 0

장치 머리글은 조립된 엔드포인트를 보여 줍니다. 예를 들어 mcp://192.168.0.20:5007입니다. 이 드라이버에는 읽기 주기 칸이 없습니다. 그 태그는 1초에 한 번 읽힙니다. PLC 쪽에서는 고른 포트에 이진 통신으로 MC 프로토콜(SLMP) TCP 연결이 설정되어 있어야 합니다.

주소 지정

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

받는 값 기본값
디바이스 주소 MELSEC 디바이스 코드와 번호이며 예를 들어 D100입니다. 필수입니다. 자유 입력 비어 있음
읽기 길이 (바이트, 비우면 자동) 읽을 때마다 옮길 바이트 수입니다. 비우면 데이터 형식이 읽기 크기를 정합니다. 1 이상, 또는 비움 비어 있음

주소는 대소문자를 구별하지 않고 가장 긴 코드가 이깁니다. 그래서 SD100은 스텝 릴레이 S가 아니라 특수 레지스터 100입니다. Mitsubishi가 십육진으로 번호를 매기는 디바이스, 곧 X, Y, B, W, SB, SW, DX, DY에서는 번호가 십육진이고, 그 밖의 모든 디바이스에서는 십진입니다(X1F는 입력 0x1F입니다). 받아들이는 디바이스 코드는 이렇습니다.

코드 디바이스 번호 매김
M 내부 릴레이 십진
SM 특수 릴레이 십진
L 래치 릴레이 십진
F 어넌시에이터 십진
V 에지 릴레이 십진
S 스텝 릴레이 십진
X 입력 십육진
Y 출력 십육진
B 링크 릴레이 십육진
SB 특수 링크 릴레이 십육진
DX 다이렉트 입력 십육진
DY 다이렉트 출력 십육진
D 데이터 레지스터 십진
SD 특수 레지스터 십진
R 파일 레지스터 십진
ZR 확장 파일 레지스터 십진
W 링크 레지스터 십육진
SW 특수 링크 레지스터 십육진
Z 인덱스 레지스터 십진
TC / TS / TN 타이머 코일 / 접점 / 현재값 십진
SC / SS / SN 적산 타이머 코일 / 접점 / 현재값 십진
CC / CS / CN 카운터 코일 / 접점 / 현재값 십진

바탕에 있는 MC 라이브러리는 코드 TT, TM, CT, CM, A도 받아들입니다. 신호원 카드의 읽기 전용 신호원 주소 (버스) 줄은 편집하는 대로 조립된 주소를 보여 줍니다.

데이터 형식

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

데이터 형식 자동 읽기 길이 비고
Boolean 1바이트 비트 디바이스에서는 이름으로 부른 그 릴레이 하나, 워드 디바이스에서는 0이 아닌 모든 워드
Int32 4바이트 이어지는 16비트 워드 둘이며 예를 들어 D100D101입니다
Float 4바이트 IEEE 단정밀도를 담은, 이어지는 워드 둘
String 16바이트 읽기 버퍼의 첫 NUL까지의 글자

워드 데이터는 MELSEC 고유의 리틀 엔디언 순서로 들어오고 저절로 해독됩니다. 바이트 순서 선택은 없습니다. 32비트 값은 이어지는 워드 디바이스 둘에 걸칩니다. 16자보다 긴 문자열이라면 읽기 길이를 저장된 글자를 담을 만큼 올리십시오. 읽기 길이는 바이트 수이고 프로토콜은 16비트 워드 단위로 옮기므로, 홀수 길이는 마지막 바이트를 담는 워드까지 올림합니다.

비트 디바이스, 곧 드라이버가 한 번에 릴레이 하나씩 읽는 디바이스는 X, Y, M, L, F, V, B, S, TS, TC, SS, SC, CS, CC, SB, DX, DY입니다. 거기에 놓인 부울 태그는 입력한 그 주소에 대해서만 답하고 다른 무엇에 대해서도 답하지 않습니다. 그 밖의 코드는 모두 워드 디바이스이며, 타이머나 카운터의 현재값(TN, SN, CN)과 링크 레지스터(W, SW)도 여기에 듭니다. 거기서는 워드 전체가 판단하므로 0x0100을 담은 D100은 true로 읽힙니다.

쓰기

접근이 읽기와 쓰기이거나 쓰기 전용인 태그는 읽기가 쓰는 것과 같은 디바이스 주소에 쓸 수 있습니다. 비트 디바이스에 대한 부울 쓰기는 이름으로 부른 릴레이 하나를 세우거나 지우며 그 이웃은 건드리지 않습니다. 그 밖의 것은 모두 온전한 16비트 워드로 씁니다. Int32와 Float은 워드 둘, 워드 디바이스 위의 부울은 워드 하나, 문자열은 태그의 읽기 길이 전체이며 앞에는 글자의 UTF-8 바이트가, 그 뒤에는 0이 놓이고 마지막 워드까지 올림합니다. 그래서 긴 글자 위에 짧은 글자를 쓰면 값 전체가 바뀌고 예전 것은 하나도 남지 않습니다. 선언된 길이에 들어가지 않는 글자는 크기에 맞게 잘리는 대신, 진단 로그에 길이가 적힌 채 거부됩니다. 새 태그는 읽기 전용으로 시작합니다.

장치 검색

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

알아 두면 좋은 것

  • 이 드라이버의 모든 태그는 1초 주기로 고정되어 읽힙니다. 보통의 읽기 주기 칸은 나오지 않습니다.
  • 3E 프레임은 PLC에서 ASCII가 아니라 이진 MC/SLMP 연결로 켜야 합니다. ASCII로 설정된 포트는 이 드라이버에 답하지 않습니다.
  • 닿지 않는 PLC는 시작할 때 아무 비용도 들이지 않습니다. 장치는 배경에서 계속 다시 시도하고, 연결이 이루어질 때까지 그 태그는 품질이 나쁜 것으로 읽힙니다.