Dreamine.PLC.Omron.Fins
Dreamine PLC 패키지군을 위한 Omron FINS TCP/UDP PLC 어댑터입니다.
이 패키지는 FINS TCP/UDP Client와 로컬 및 PC-to-PC 검증을 위한 내장 FINS Simulator Server를 제공합니다.
주요 기능
- Omron FINS TCP Client
- Omron FINS UDP Client
- FINS TCP Simulator Server
- FINS UDP Simulator Server
- Memory Area Read/Write 지원 경계
- Word Read/Write 진단
- 반복 Handshake 검증 흐름
- UDP Timeout 및 Retry 지원
IPlcClient통합
지원되는 시뮬레이터 테스트 Mode
SampleSmart의 PLC Protocol 페이지는 다음 조합을 지원합니다.
FinsTcp ↔ FinsTcp
FinsUdp ↔ FinsUdp
서버와 클라이언트 Mode는 반드시 같아야 합니다. SimulatorTcp, McTcp, McUdp 서버는 FinsTcp, FinsUdp 클라이언트와 통신할 수 없습니다.
1PC 테스트
로컬 검증은 다음 흐름으로 진행합니다.
Mode: FinsTcp 또는 FinsUdp
Host: 127.0.0.1
Port: 55000
Start Server
Use Client
Connect
Write Words
Read Words
Run Handshake
2PC 테스트
서버 PC:
Mode: FinsTcp 또는 FinsUdp
Host: 0.0.0.0
Port: 55000
Start Server
클라이언트 PC:
Mode: 서버와 동일
Host: 서버 PC IP
Port: 55000
Use Client
Connect
Read/Write 또는 Handshake
PC-to-PC 테스트 방화벽 요구사항
서버 PC의 인바운드 포트를 열어야 합니다.
TCP:
New-NetFirewallRule -DisplayName "Dreamine PLC FINS TCP 55000" -Direction Inbound -Protocol TCP -LocalPort 55000 -Action Allow
UDP:
New-NetFirewallRule -DisplayName "Dreamine PLC FINS UDP 55000" -Direction Inbound -Protocol UDP -LocalPort 55000 -Action Allow
PowerShell은 관리자 권한으로 실행해야 합니다. 이 규칙이 없으면 1PC 테스트는 통과하지만 2PC 테스트는 실패할 수 있습니다.
실제 PLC 테스트 안내
FINS 지원은 현재 내장 Simulator 기준으로 검증되었습니다. 실제 Omron PLC 연동 테스트는 별도로 진행해야 합니다.
실제 Omron PLC 연결 전 확인 항목:
- PLC 모델 및 Ethernet Module 지원 여부
- FINS TCP/UDP 설정
- Port 번호. 많은 FINS 환경에서는 9600 포트를 사용하도록 설정됩니다.
- Source / Destination Node 설정
- Network 번호
- Unit Address
- Memory Area 매핑
- PLC Ethernet Module 라우팅 설정
- 안전한 Polling 주기
FINS/TCP는 장비별 Handshake 또는 Node 설정이 필요할 수 있습니다. Simulator에서 성공했다고 해서 실제 PLC 호환성이 보장되는 것은 아니며, 현장 실기 테스트가 필요합니다.
Polling 및 Write 안전성
실제 PLC에는 1ms Polling을 사용하지 마십시오.
실제 PLC 권장값:
- 모니터링: 100ms ~ 500ms
- UI 표시 갱신: 250ms ~ 1000ms
- Write: 이벤트 기반만 권장
- Handshake 부하 테스트: 명시적으로 승인된 실제 장비가 아니라면 Simulator 전용
벤더 런타임 정책
이 패키지는 Omron CX-Compolet, SYSMAC Gateway 또는 Omron 런타임 DLL을 포함하지 않습니다.
이 패키지는 FINS TCP/UDP 통신을 직접 구현합니다. CX-Compolet 연동이 필요하면 별도 어댑터 패키지로 분리하고, 벤더 DLL은 재배포하지 않아야 합니다.
검증 상태
검증됨:
- 1PC FINS TCP Read/Write 및 Handshake
- 1PC FINS UDP Read/Write 및 Handshake
- 2PC FINS TCP Read/Write 및 Handshake
- 2PC FINS UDP Read/Write 및 Handshake
- WPF Monitor 통합
대기 중:
- 실제 Omron PLC 검증
라이선스
MIT License.
구조 다이어그램
classDiagram
class FinsClient {
-UdpClient _udp
+string PlcIp
+int PlcPort
+byte NetworkNo
+byte NodeNo
+byte UnitNo
+ConnectAsync() Task
+ReadBitAsync(string) Task~bool~
+ReadWordAsync(string) Task~short~
+WriteWordAsync(string, short) Task
+ReadWordsAsync(string, int) Task~short[]~
+WriteWordsAsync(string, short[]) Task
}
class FinsFrame {
+BuildReadCommand(FinsAddress, int) byte[]
+BuildWriteCommand(FinsAddress, short[]) byte[]
+ParseResponse(byte[]) FinsResponse
+CalculateHeader(byte, byte, byte) byte[]
}
class FinsAddressParser {
+Parse(string) FinsAddress
-ParseAreaCode(string) byte
}
class FinsAddress {
+byte AreaCode
+ushort Word
+byte Bit
}
class PlcClientBase {
<<abstract>>
}
PlcClientBase <|-- FinsClient
FinsClient --> FinsFrame
FinsClient --> FinsAddressParser
FinsAddressParser --> FinsAddressAPI 문서
타입
\if KO Omron FINS 어댑터 단위 테스트를 위한 메모리 기반 가짜 전송을 제공합니다. \endif \if EN Provides an in-memory fake transport for Omron FINS adapter unit tests. \endif
\if KO 구문 분석된 FINS 메모리 요청을 나타냅니다. \endif \if EN Represents a parsed FINS memory request. \endif
\if KO Omron FINS 통신을 위한 전송 계층 계약을 정의합니다. \endif \if EN Defines the transport-layer contract for Omron FINS communication. \endif
\if KO 지원되는 Omron FINS 명령 코드를 정의합니다. \endif \if EN Defines supported Omron FINS command codes. \endif
\if KO Omron FINS 연결 옵션을 나타냅니다. \endif \if EN Represents Omron FINS connection options. \endif
\if KO FINS 프레임에서 사용하는 빅 엔디언 변환 도우미를 제공합니다. \endif \if EN Provides big-endian conversion helpers used by FINS frames. \endif
\if KO 메모리 영역 읽기 및 쓰기 작업을 위한 Omron FINS 명령 프레임을 생성합니다. \endif \if EN Builds Omron FINS command frames for memory-area read and write operations. \endif
\if KO Omron FINS 메모리 영역 코드 상수를 정의합니다. \endif \if EN Defines Omron FINS memory-area code constants. \endif
\if KO Dreamine PLC 장치 형식과 Omron FINS 메모리 영역 코드를 상호 매핑합니다. \endif \if EN Maps between Dreamine PLC device types and Omron FINS memory-area codes. \endif
\if KO Dreamine PLC 스택을 위한 Omron FINS PLC 클라이언트 구현을 제공합니다. \endif \if EN Provides an Omron FINS PLC client implementation for the Dreamine PLC stack. \endif
\if KO Omron FINS 메모리 영역 응답을 구문 분석합니다. \endif \if EN Parses Omron FINS memory-area responses. \endif
\if KO 메모리 읽기·쓰기 테스트를 위한 최소 Omron FINS 시뮬레이터 프로토콜을 실행합니다. \endif \if EN Executes a minimal Omron FINS simulator protocol for memory read and write tests. \endif
\if KO Omron FINS 시뮬레이터 서버 옵션을 나타냅니다. \endif \if EN Represents options for the Omron FINS simulator server. \endif
\if KO FINS/TCP 패킷을 래핑하고 추출하는 최소 도우미를 제공합니다. \endif \if EN Provides minimal helpers for wrapping and extracting FINS/TCP packets. \endif
\if KO 로컬 및 PC 간 테스트를 위한 최소 FINS/TCP 시뮬레이터 서버를 제공합니다. \endif \if EN Provides a minimal FINS/TCP simulator server for local and cross-PC tests. \endif
\if KO Omron FINS 전송 형식을 정의합니다. \endif \if EN Defines the Omron FINS transport type. \endif
\if KO 로컬 및 PC 간 테스트를 위한 최소 FINS/UDP 시뮬레이터 서버를 제공합니다. \endif \if EN Provides a minimal FINS/UDP simulator server for local and cross-PC tests. \endif
\if KO Omron FINS 통신을 위한 TCP 전송을 제공합니다. \endif \if EN Provides TCP transport for Omron FINS communication. \endif
\if KO Omron FINS 통신을 위한 UDP 전송을 제공합니다. \endif \if EN Provides UDP transport for Omron FINS communication. \endif
FakeOmronFinsTransport
\if KO 가짜 전송을 연결 상태로 표시합니다. \endif \if EN Marks the fake transport as connected. \endif
cancellationToken— \if KO 호환성을 위한 취소 토큰이며 이 구현에서는 사용하지 않습니다. \endif \if EN A compatibility cancellation token that is not observed by this implementation. \endif반환: \if KO 성공 연결 결과 작업입니다. \endif \if EN A task containing a successful connection result. \endif
\if KO 가짜 전송을 연결 해제 상태로 표시합니다. \endif \if EN Marks the fake transport as disconnected. \endif
cancellationToken— \if KO 호환성을 위한 취소 토큰이며 이 구현에서는 사용하지 않습니다. \endif \if EN A compatibility cancellation token that is not observed by this implementation. \endif반환: \if KO 성공 연결 해제 결과 작업입니다. \endif \if EN A task containing a successful disconnection result. \endif
\if KO 가짜 전송을 연결 해제 상태로 만들고 비동기 정리를 완료합니다. \endif \if EN Marks the fake transport as disconnected and completes asynchronous disposal. \endif
반환: \if KO 이미 완료된 값 작업입니다. \endif \if EN An already-completed value task. \endif
\if KO 다음 요청에서 반환할 응답 프레임을 큐에 추가합니다. \endif \if EN Enqueues a response frame to return for the next request. \endif
response— \if KO 큐에 추가할 응답 프레임입니다. \endif \if EN The response frame to enqueue. \endif\if KO 요청을 기록하고 큐의 다음 가짜 FINS 응답을 반환합니다. \endif \if EN Records a request and returns the next queued fake FINS response. \endif
requestFrame— \if KO 기록할 원시 FINS 요청 프레임입니다. \endif \if EN The raw FINS request frame to record. \endifreceiveTimeoutMs— \if KO 호환성을 위한 수신 제한 시간이며 이 구현에서는 사용하지 않습니다. \endif \if EN A compatibility receive timeout that is not used by this implementation. \endifretryCount— \if KO 호환성을 위한 재시도 횟수이며 이 구현에서는 사용하지 않습니다. \endif \if EN A compatibility retry count that is not used by this implementation. \endifcancellationToken— \if KO 호환성을 위한 취소 토큰이며 이 구현에서는 사용하지 않습니다. \endif \if EN A compatibility cancellation token that is not observed by this implementation. \endif반환: \if KO 큐의 다음 응답 또는 응답 없음 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the next queued response or a no-response error. \endif
\if KO 가짜 전송이 논리적으로 연결되었는지 여부를 가져옵니다. \endif \if EN Gets whether the fake transport is logically connected. \endif
\if KO 이 전송으로 보낸 요청 프레임을 가져옵니다. \endif \if EN Gets the request frames sent through this transport. \endif
\if KO responses 값을 보관합니다. \endif \if EN Stores the responses value. \endif
FinsRequest
\if KO 구문 분석된 FINS 메모리 요청을 나타냅니다. \endif \if EN Represents a parsed FINS memory request. \endif
Command— \if KO FINS 명령 코드입니다. \endif \if EN The FINS command code. \endifAreaCode— \if KO 메모리 영역 코드입니다. \endif \if EN The memory-area code. \endifAddress— \if KO 변환된 PLC 주소입니다. \endif \if EN The mapped PLC address. \endifCount— \if KO 처리할 포인트 수입니다. \endif \if EN The number of points to process. \endifData— \if KO 요청 데이터 페이로드입니다. \endif \if EN The request data payload. \endif\if KO 변환된 PLC 주소입니다. \endif \if EN The mapped PLC address. \endif
\if KO 메모리 영역 코드입니다. \endif \if EN The memory-area code. \endif
\if KO FINS 명령 코드입니다. \endif \if EN The FINS command code. \endif
\if KO 처리할 포인트 수입니다. \endif \if EN The number of points to process. \endif
\if KO 요청 데이터 페이로드입니다. \endif \if EN The request data payload. \endif
\if KO 요청 영역이 비트 접근을 나타내는지 여부를 가져옵니다. \endif \if EN Gets whether the requested area represents bit access. \endif
IOmronFinsTransport
\if KO 전송 계층을 연결하거나 엽니다. \endif \if EN Connects or opens the transport. \endif
cancellationToken— \if KO 연결 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the connection operation. \endif반환: \if KO PLC 연결 작업 결과입니다. \endif \if EN The PLC connection operation result. \endif
\if KO 전송 계층의 연결을 해제하거나 닫습니다. \endif \if EN Disconnects or closes the transport. \endif
cancellationToken— \if KO 연결 해제 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the disconnection operation. \endif반환: \if KO PLC 연결 해제 작업 결과입니다. \endif \if EN The PLC disconnection operation result. \endif
\if KO 원시 FINS 프레임을 전송하고 원시 응답 프레임을 수신합니다. \endif \if EN Sends a raw FINS frame and receives a raw FINS response frame. \endif
requestFrame— \if KO 전송할 원시 FINS 요청 프레임입니다. \endif \if EN The raw FINS request frame to send. \endifreceiveTimeoutMs— \if KO 밀리초 단위 수신 제한 시간입니다. \endif \if EN The receive timeout in milliseconds. \endifretryCount— \if KO 실패 후 재시도 횟수입니다. \endif \if EN The number of retries after a failed attempt. \endifcancellationToken— \if KO 송수신 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the send-and-receive operation. \endif반환: \if KO 원시 FINS 응답 프레임 또는 전송 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the raw FINS response frame or a transport error. \endif
\if KO 전송 계층이 논리적으로 연결되었거나 통신 준비가 되었는지 여부를 가져옵니다. \endif \if EN Gets whether the transport is logically connected or ready for communication. \endif
OmronFinsCommand
\if KO 메모리 영역 읽기 명령입니다. \endif \if EN Memory-area read command. \endif
\if KO 메모리 영역 쓰기 명령입니다. \endif \if EN Memory-area write command. \endif
OmronFinsConnectionOptions
\if KO 밀리초 단위 연결 제한 시간을 가져오거나 설정합니다. \endif \if EN Gets or sets the connection timeout in milliseconds. \endif
\if KO 목적지 네트워크 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the destination network address. \endif
\if KO 목적지 노드 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the destination node address. \endif
\if KO 목적지 유닛 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the destination unit address. \endif
\if KO 대상 PLC 호스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the target PLC host. \endif
\if KO 대상 포트를 가져오거나 설정합니다. 기본 FINS 포트는 9600입니다. \endif \if EN Gets or sets the target port. The default FINS port is 9600. \endif
\if KO 밀리초 단위 수신 제한 시간을 가져오거나 설정합니다. \endif \if EN Gets or sets the receive timeout in milliseconds. \endif
\if KO 송수신 재시도 횟수를 가져오거나 설정합니다. \endif \if EN Gets or sets the send-and-receive retry count. \endif
\if KO 송신자 네트워크 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the source network address. \endif
\if KO 송신자 노드 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the source node address. \endif
\if KO 송신자 유닛 주소를 가져오거나 설정합니다. \endif \if EN Gets or sets the source unit address. \endif
\if KO 사용할 FINS 전송 형식을 가져오거나 설정합니다. \endif \if EN Gets or sets the FINS transport type to use. \endif
OmronFinsEndian
\if KO 빅 엔디언 부호 있는 16비트 정수를 읽습니다. \endif \if EN Reads a big-endian signed 16-bit integer. \endif
buffer— \if KO 원본 버퍼입니다. \endif \if EN The source buffer. \endifoffset— \if KO 읽기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin reading. \endif반환: \if KO 읽은 부호 있는 16비트 정수입니다. \endif \if EN The signed 16-bit integer read from the buffer. \endif
\if KO 빅 엔디언 부호 있는 32비트 정수를 읽습니다. \endif \if EN Reads a big-endian signed 32-bit integer. \endif
buffer— \if KO 원본 버퍼입니다. \endif \if EN The source buffer. \endifoffset— \if KO 읽기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin reading. \endif반환: \if KO 읽은 부호 있는 32비트 정수입니다. \endif \if EN The signed 32-bit integer read from the buffer. \endif
\if KO 빅 엔디언 부호 없는 16비트 정수를 읽습니다. \endif \if EN Reads a big-endian unsigned 16-bit integer. \endif
buffer— \if KO 원본 버퍼입니다. \endif \if EN The source buffer. \endifoffset— \if KO 읽기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin reading. \endif반환: \if KO 읽은 부호 없는 16비트 정수입니다. \endif \if EN The unsigned 16-bit integer read from the buffer. \endif
\if KO 부호 있는 16비트 정수를 빅 엔디언으로 씁니다. \endif \if EN Writes a signed 16-bit integer in big-endian order. \endif
buffer— \if KO 대상 버퍼입니다. \endif \if EN The destination buffer. \endifoffset— \if KO 쓰기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin writing. \endifvalue— \if KO 쓸 값입니다. \endif \if EN The value to write. \endif\if KO 부호 있는 32비트 정수를 빅 엔디언으로 씁니다. \endif \if EN Writes a signed 32-bit integer in big-endian order. \endif
buffer— \if KO 대상 버퍼입니다. \endif \if EN The destination buffer. \endifoffset— \if KO 쓰기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin writing. \endifvalue— \if KO 쓸 값입니다. \endif \if EN The value to write. \endif\if KO 부호 없는 16비트 정수를 빅 엔디언으로 씁니다. \endif \if EN Writes an unsigned 16-bit integer in big-endian order. \endif
buffer— \if KO 대상 버퍼입니다. \endif \if EN The destination buffer. \endifoffset— \if KO 쓰기를 시작할 0부터 시작하는 오프셋입니다. \endif \if EN The zero-based offset at which to begin writing. \endifvalue— \if KO 쓸 값입니다. \endif \if EN The value to write. \endifOmronFinsFrameBuilder
\if KO FINS 헤더와 명령 본문을 결합하고 다음 서비스 ID를 할당합니다. \endif \if EN Combines a FINS header with a command body and assigns the next service ID. \endif
options— \if KO 네트워크·노드·유닛 주소를 제공하는 연결 옵션입니다. \endif \if EN The connection options supplying network, node, and unit addresses. \endifcommand— \if KO 헤더 뒤에 복사할 명령 본문입니다. \endif \if EN The command body to copy after the header. \endif반환: \if KO 완성된 원시 FINS 프레임입니다. \endif \if EN The completed raw FINS frame. \endif
\if KO FINS 메모리 영역 읽기 프레임을 생성합니다. \endif \if EN Builds a FINS memory-area read frame. \endif
options— \if KO 프레임 헤더에 사용할 FINS 연결 옵션입니다. \endif \if EN The FINS connection options used for the frame header. \endifaddress— \if KO 읽기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin reading. \endifcount— \if KO 읽을 요소 수입니다. \endif \if EN The number of elements to read. \endifbitAccess— \if KO 요청이 비트 영역 접근인지 여부입니다. \endif \if EN Whether the request targets bit-area access. \endif반환: \if KO 생성된 원시 FINS 요청 프레임입니다. \endif \if EN The generated raw FINS request frame. \endif
\if KO 비트 값용 FINS 메모리 영역 쓰기 프레임을 생성합니다. \endif \if EN Builds a FINS memory-area write frame for bit values. \endif
options— \if KO 프레임 헤더에 사용할 FINS 연결 옵션입니다. \endif \if EN The FINS connection options used for the frame header. \endifaddress— \if KO 쓰기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin writing. \endifvalues— \if KO 0 또는 1 바이트로 기록할 비트 값입니다. \endif \if EN The bit values to encode as zero or one bytes. \endif반환: \if KO 생성된 원시 FINS 요청 프레임입니다. \endif \if EN The generated raw FINS request frame. \endif
\if KO 워드 값용 FINS 메모리 영역 쓰기 프레임을 생성합니다. \endif \if EN Builds a FINS memory-area write frame for word values. \endif
options— \if KO 프레임 헤더에 사용할 FINS 연결 옵션입니다. \endif \if EN The FINS connection options used for the frame header. \endifaddress— \if KO 쓰기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin writing. \endifvalues— \if KO 빅 엔디언 페이로드로 기록할 워드 값입니다. \endif \if EN The word values to encode in the big-endian payload. \endif반환: \if KO 생성된 원시 FINS 요청 프레임입니다. \endif \if EN The generated raw FINS request frame. \endif
\if KO 메모리 영역 명령, 주소, 개수 및 선택적 페이로드를 FINS 명령 본문으로 인코딩합니다. \endif \if EN Encodes a memory-area command, address, count, and optional payload as a FINS command body. \endif
command— \if KO 인코딩할 FINS 명령 코드입니다. \endif \if EN The FINS command code to encode. \endifaddress— \if KO 명령의 시작 PLC 주소입니다. \endif \if EN The starting PLC address for the command. \endifcount— \if KO 처리할 포인트 수입니다. \endif \if EN The number of points to process. \endifbitAccess— \if KO 비트 영역 코드를 사용할지 여부입니다. \endif \if EN Whether to use a bit-area code. \endifpayload— \if KO 본문 뒤에 추가할 선택적 쓰기 페이로드입니다. \endif \if EN The optional write payload to append to the body. \endif반환: \if KO 인코딩된 FINS 명령 본문입니다. \endif \if EN The encoded FINS command body. \endif
\if KO sid 값을 보관합니다. \endif \if EN Stores the sid value. \endif
OmronFinsMemoryAreaCode
\if KO CIO 비트 영역입니다. \endif \if EN CIO bit area. \endif
\if KO CIO 워드 영역입니다. \endif \if EN CIO word area. \endif
\if KO DM 비트 영역입니다. \endif \if EN DM bit area. \endif
\if KO DM 워드 영역입니다. \endif \if EN DM word area. \endif
\if KO 홀딩 비트 영역입니다. \endif \if EN Holding bit area. \endif
\if KO 홀딩 워드 영역입니다. \endif \if EN Holding word area. \endif
\if KO 작업 비트 영역입니다. \endif \if EN Work bit area. \endif
\if KO 작업 워드 영역입니다. \endif \if EN Work word area. \endif
OmronFinsMemoryAreaMapper
\if KO 메모리 영역 코드가 비트 접근을 나타내는지 확인합니다. \endif \if EN Determines whether the memory-area code represents bit access. \endif
areaCode— \if KO 검사할 FINS 메모리 영역 코드입니다. \endif \if EN The FINS memory-area code to inspect. \endif반환: \if KO 비트 영역이면 , 아니면 입니다. \endif \if EN for a bit area; otherwise, . \endif
\if KO PLC 주소를 FINS 메모리 영역 코드로 매핑합니다. \endif \if EN Maps a PLC address to a FINS memory-area code. \endif
address— \if KO 매핑할 PLC 주소입니다. \endif \if EN The PLC address to map. \endifbitAccess— \if KO 비트 접근 코드가 필요한지 여부입니다. \endif \if EN Whether a bit-access code is requested. \endif반환: \if KO 대응하는 FINS 메모리 영역 코드입니다. \endif \if EN The corresponding FINS memory-area code. \endif
\if KO FINS 메모리 영역 코드를 Dreamine PLC 장치 형식으로 매핑합니다. \endif \if EN Maps a FINS memory-area code to a Dreamine PLC device type. \endif
areaCode— \if KO 매핑할 FINS 메모리 영역 코드입니다. \endif \if EN The FINS memory-area code to map. \endif반환: \if KO 대응하는 PLC 장치 형식이며 알 수 없는 코드는 입니다. \endif \if EN The corresponding PLC device type, or for an unrecognized code. \endif
OmronFinsPlcClient
\if KO 옵션에 맞는 기본 전송을 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the default transport selected by the options. \endif
options— \if KO 전송 형식과 네트워크 설정을 포함하는 FINS 연결 옵션입니다. \endif \if EN The FINS connection options containing transport and network settings. \endif\if KO 제공된 구성 요소를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the supplied components. \endif
options— \if KO FINS 연결 옵션입니다. \endif \if EN The FINS connection options. \endiftransport— \if KO 원시 프레임을 송수신할 FINS 전송입니다. \endif \if EN The FINS transport used to send and receive raw frames. \endifframeBuilder— \if KO 메모리 명령 프레임 생성기입니다. \endif \if EN The memory-command frame builder. \endifresponseParser— \if KO 응답 페이로드 구문 분석기입니다. \endif \if EN The response-payload parser. \endif\if KO 구성된 FINS 전송을 연결합니다. \endif \if EN Connects the configured FINS transport. \endif
cancellationToken— \if KO 연결 및 전송 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels connection and transport-lock acquisition. \endif반환: \if KO 전송 연결 결과 작업입니다. \endif \if EN A task containing the transport connection result. \endif
\if KO 연결 옵션에 지정된 형식에 맞는 기본 FINS 전송을 생성합니다. \endif \if EN Creates the default FINS transport matching the type selected in the connection options. \endif
options— \if KO 전송 형식과 네트워크 설정을 포함하는 연결 옵션입니다. \endif \if EN The connection options containing transport and network settings. \endif반환: \if KO TCP 또는 UDP FINS 전송 인스턴스입니다. \endif \if EN A TCP or UDP FINS transport instance. \endif
\if KO 구성된 FINS 전송의 연결을 해제합니다. \endif \if EN Disconnects the configured FINS transport. \endif
cancellationToken— \if KO 전송 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels transport-lock acquisition. \endif반환: \if KO 전송 연결 해제 결과 작업입니다. \endif \if EN A task containing the transport disconnection result. \endif
\if KO 기본 PLC 클라이언트와 소유한 FINS 전송을 비동기로 정리합니다. \endif \if EN Asynchronously disposes the base PLC client and owned FINS transport. \endif
반환: \if KO 비동기 정리 작업을 나타내는 값 작업입니다. \endif \if EN A value task representing asynchronous disposal. \endif
\if KO FINS 메모리 영역에서 비트 값을 읽고 응답 페이로드를 구문 분석합니다. \endif \if EN Reads bit values from a FINS memory area and parses the response payload. \endif
address— \if KO 읽기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin reading. \endifcount— \if KO 읽을 비트 수입니다. \endif \if EN The number of bits to read. \endifcancellationToken— \if KO 전송 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the transport operation. \endif반환: \if KO 비트 배열 또는 프레임·전송·응답 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the bit array or a frame, transport, or response error. \endif
\if KO FINS 메모리 영역에서 워드 값을 읽고 응답 페이로드를 구문 분석합니다. \endif \if EN Reads word values from a FINS memory area and parses the response payload. \endif
address— \if KO 읽기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin reading. \endifcount— \if KO 읽을 워드 수입니다. \endif \if EN The number of words to read. \endifcancellationToken— \if KO 전송 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the transport operation. \endif반환: \if KO 워드 배열 또는 프레임·전송·응답 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the word array or a frame, transport, or response error. \endif
\if KO 비트 값을 FINS 메모리 영역에 쓰고 응답 종료 코드를 확인합니다. \endif \if EN Writes bit values to a FINS memory area and validates the response end code. \endif
address— \if KO 쓰기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin writing. \endifvalues— \if KO 쓸 비트 값입니다. \endif \if EN The bit values to write. \endifcancellationToken— \if KO 전송 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the transport operation. \endif반환: \if KO 성공 또는 프레임·전송·응답 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing success or a frame, transport, or response error. \endif
\if KO 워드 값을 FINS 메모리 영역에 쓰고 응답 종료 코드를 확인합니다. \endif \if EN Writes word values to a FINS memory area and validates the response end code. \endif
address— \if KO 쓰기를 시작할 PLC 주소입니다. \endif \if EN The PLC address at which to begin writing. \endifvalues— \if KO 쓸 워드 값입니다. \endif \if EN The word values to write. \endifcancellationToken— \if KO 전송 작업을 취소하는 토큰입니다. \endif \if EN A token that cancels the transport operation. \endif반환: \if KO 성공 또는 프레임·전송·응답 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing success or a frame, transport, or response error. \endif
\if KO 이 클라이언트가 사용하는 Omron FINS 연결 옵션을 가져옵니다. \endif \if EN Gets the Omron FINS connection options used by this client. \endif
\if KO frame Builder 값을 보관합니다. \endif \if EN Stores the frame builder value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO response Parser 값을 보관합니다. \endif \if EN Stores the response parser value. \endif
\if KO transport 값을 보관합니다. \endif \if EN Stores the transport value. \endif
OmronFinsResponseParser
\if KO FINS 응답 프레임을 검증하고 페이로드 바이트를 추출합니다. \endif \if EN Validates a FINS response frame and extracts its payload bytes. \endif
frame— \if KO 검사할 FINS 응답 프레임입니다. \endif \if EN The FINS response frame to inspect. \endif반환: \if KO 추출된 페이로드 또는 프레임·종료 코드 오류를 포함하는 결과입니다. \endif \if EN A result containing the extracted payload or a frame or end-code error. \endif
\if KO FINS 페이로드 바이트에서 비트 값을 구문 분석합니다. \endif \if EN Parses bit values from FINS payload bytes. \endif
payload— \if KO 구문 분석할 페이로드 바이트입니다. \endif \if EN The payload bytes to parse. \endifcount— \if KO 기대하는 비트 수입니다. \endif \if EN The expected number of bits. \endif반환: \if KO 구문 분석된 비트 값 또는 길이 오류를 포함하는 결과입니다. \endif \if EN A result containing the parsed bit values or a length error. \endif
\if KO FINS 페이로드 바이트에서 빅 엔디언 워드 값을 구문 분석합니다. \endif \if EN Parses big-endian word values from FINS payload bytes. \endif
payload— \if KO 구문 분석할 페이로드 바이트입니다. \endif \if EN The payload bytes to parse. \endifcount— \if KO 기대하는 워드 수입니다. \endif \if EN The expected number of words. \endif반환: \if KO 구문 분석된 워드 값 또는 길이 오류를 포함하는 결과입니다. \endif \if EN A result containing the parsed word values or a length error. \endif
OmronFinsSimulatorProtocol
\if KO 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of . \endif
memory— \if KO 요청 간에 공유할 PLC 메모리입니다. \endif \if EN The PLC memory shared across requests. \endifoptions— \if KO 자동 응답 동작을 포함하는 시뮬레이터 옵션입니다. \endif \if EN The simulator options, including automatic-response behavior. \endif\if KO 구성된 트리거 주소의 단일 워드 쓰기에 자동 응답 값을 적용합니다. \endif \if EN Applies an automatic response value for a single-word write to the configured trigger address. \endif
writeAddress— \if KO 원래 쓰기 대상 주소입니다. \endif \if EN The original write destination address. \endifvalues— \if KO 기록된 워드 값입니다. \endif \if EN The word values that were written. \endif\if KO 요청 프레임을 기반으로 지정한 종료 코드의 오류 응답을 생성합니다. \endif \if EN Builds an error response with the specified end code from a request frame. \endif
requestFrame— \if KO 응답 주소와 명령을 가져올 요청 프레임입니다. \endif \if EN The request frame from which response addresses and command are derived. \endifendCode— \if KO 응답에 기록할 FINS 종료 코드입니다. \endif \if EN The FINS end code to write to the response. \endif반환: \if KO 페이로드가 없는 FINS 오류 응답입니다. \endif \if EN A FINS error response without a payload. \endif
\if KO 요청의 주소를 반전하고 명령·종료 코드·페이로드를 포함하는 FINS 응답을 생성합니다. \endif \if EN Builds a FINS response by reversing request addresses and appending the command, end code, and payload. \endif
requestFrame— \if KO 헤더 값을 가져올 원본 요청 프레임입니다. \endif \if EN The original request frame from which header values are derived. \endifcommand— \if KO 응답에 에코할 명령 코드입니다. \endif \if EN The command code to echo in the response. \endifendCode— \if KO FINS 종료 코드입니다. \endif \if EN The FINS end code. \endifpayload— \if KO 응답 뒤에 추가할 페이로드입니다. \endif \if EN The payload to append to the response. \endif반환: \if KO 생성된 원시 FINS 응답 프레임입니다. \endif \if EN The generated raw FINS response frame. \endif
\if KO 구문 분석된 메모리 영역 읽기 요청을 공유 메모리에서 실행합니다. \endif \if EN Executes a parsed memory-area read request against shared memory. \endif
requestFrame— \if KO 응답 헤더 생성에 사용할 원본 요청 프레임입니다. \endif \if EN The original request frame used to construct the response header. \endifrequest— \if KO 구문 분석된 읽기 요청입니다. \endif \if EN The parsed read request. \endif반환: \if KO 비트 또는 워드 페이로드를 포함하는 FINS 응답입니다. \endif \if EN A FINS response containing a bit or word payload. \endif
\if KO 원시 FINS 요청 프레임을 처리하고 대응하는 원시 응답 프레임을 반환합니다. \endif \if EN Handles a raw FINS request frame and returns the corresponding raw response frame. \endif
requestFrame— \if KO 처리할 원시 FINS 요청 프레임입니다. \endif \if EN The raw FINS request frame to process. \endif반환: \if KO 성공 페이로드 또는 FINS 종료 코드를 포함하는 원시 응답 프레임입니다. \endif \if EN A raw response frame containing a success payload or FINS end code. \endif
\if KO 구문 분석된 메모리 영역 쓰기 요청을 공유 메모리에 실행합니다. \endif \if EN Executes a parsed memory-area write request against shared memory. \endif
requestFrame— \if KO 응답 헤더 생성에 사용할 원본 요청 프레임입니다. \endif \if EN The original request frame used to construct the response header. \endifrequest— \if KO 구문 분석된 쓰기 요청입니다. \endif \if EN The parsed write request. \endif반환: \if KO 성공 또는 유효성·메모리 오류 종료 코드를 포함하는 FINS 응답입니다. \endif \if EN A FINS response containing success or a validation or memory-error end code. \endif
\if KO 원시 FINS 요청 프레임의 명령·영역·주소·개수·데이터를 구문 분석합니다. \endif \if EN Parses the command, area, address, count, and data from a raw FINS request frame. \endif
frame— \if KO 구문 분석할 요청 프레임입니다. \endif \if EN The request frame to parse. \endifrequest— \if KO 성공 시 구문 분석된 요청을 받습니다. \endif \if EN Receives the parsed request on success. \endiferrorMessage— \if KO 실패 시 진단 메시지를 받습니다. \endif \if EN Receives a diagnostic message on failure. \endif반환: \if KO 프레임이 유효하고 지원되는 메모리 영역을 사용하면 입니다. \endif \if EN when the frame is valid and uses a supported memory area. \endif
\if KO memory 값을 보관합니다. \endif \if EN Stores the memory value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO 시뮬레이터 상태 또는 자동 응답 정보가 변경될 때 발생합니다. \endif \if EN Occurs when simulator status or automatic-response information changes. \endif
OmronFinsSimulatorServerOptions
\if KO 자동 응답 값에 더할 증분을 가져오거나 설정합니다. \endif \if EN Gets or sets the increment added to the automatic response value. \endif
\if KO 자동 응답을 기록할 메모리 오프셋을 가져오거나 설정합니다. \endif \if EN Gets or sets the memory offset to which the automatic response is written. \endif
\if KO 자동 응답을 시작하는 메모리 오프셋을 가져오거나 설정합니다. \endif \if EN Gets or sets the memory offset that triggers an automatic response. \endif
\if KO D100 단일 워드 쓰기에서 D101 자동 응답을 생성할지 여부를 가져오거나 설정합니다. \endif \if EN Gets or sets whether D100 single-word writes produce an automatic D101 response. \endif
\if KO 서버가 바인딩할 호스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the host to which the server binds. \endif
\if KO 서버가 바인딩할 포트를 가져오거나 설정합니다. \endif \if EN Gets or sets the port to which the server binds. \endif
OmronFinsTcpPacket
\if KO FINS/TCP 패킷에서 원시 FINS 프레임을 추출합니다. \endif \if EN Extracts the raw FINS frame from a FINS/TCP packet. \endif
packet— \if KO 검사하고 추출할 FINS/TCP 패킷입니다. \endif \if EN The FINS/TCP packet to validate and extract. \endif반환: \if KO 헤더가 제거된 원시 FINS 프레임입니다. \endif \if EN The raw FINS frame without the TCP header. \endif
\if KO 원시 FINS 명령 프레임을 FINS/TCP 패킷으로 래핑합니다. \endif \if EN Wraps a raw FINS command frame in a FINS/TCP packet. \endif
finsFrame— \if KO 래핑할 원시 FINS 프레임입니다. \endif \if EN The raw FINS frame to wrap. \endif반환: \if KO FINS/TCP 헤더가 추가된 새 패킷입니다. \endif \if EN A new packet containing the FINS/TCP header. \endif
\if KO Signature 값을 보관합니다. \endif \if EN Stores the signature value. \endif
OmronFinsTcpSimulatorServer
\if KO 새 메모리를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using new PLC memory. \endif
options— \if KO 바인딩 및 자동 응답 서버 옵션입니다. \endif \if EN The server binding and automatic-response options. \endif\if KO 지정한 공유 메모리를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the specified shared memory. \endif
options— \if KO 바인딩 및 자동 응답 서버 옵션입니다. \endif \if EN The server binding and automatic-response options. \endifmemory— \if KO 요청 간에 공유할 PLC 메모리입니다. \endif \if EN The PLC memory shared across requests. \endif\if KO TCP 클라이언트 연결을 수락하고 각각의 처리 루프를 백그라운드에서 시작합니다. \endif \if EN Accepts TCP client connections and starts a background processing loop for each client. \endif
cancellationToken— \if KO 연결 수락을 중지하는 토큰입니다. \endif \if EN A token that stops accepting connections. \endif반환: \if KO 수락 루프 수명 동안 실행되는 작업입니다. \endif \if EN A task that runs for the lifetime of the accept loop. \endif
\if KO 단일 TCP 클라이언트의 FINS/TCP 요청을 수신·처리·응답합니다. \endif \if EN Receives, processes, and responds to FINS/TCP requests for one TCP client. \endif
client— \if KO 처리할 연결된 TCP 클라이언트입니다. \endif \if EN The connected TCP client to process. \endifcancellationToken— \if KO 클라이언트 루프를 중지하는 토큰입니다. \endif \if EN A token that stops the client loop. \endif반환: \if KO 클라이언트 연결 수명 동안 실행되는 작업입니다. \endif \if EN A task that runs for the lifetime of the client connection. \endif
\if KO 서버를 중지해 비동기로 정리합니다. \endif \if EN Asynchronously disposes the server by stopping it. \endif
반환: \if KO 비동기 정리 작업을 나타내는 값 작업입니다. \endif \if EN A value task representing asynchronous disposal. \endif
\if KO 구성된 바인딩 호스트를 IP 주소로 변환하며 와일드카드와 잘못된 값은 모든 인터페이스로 처리합니다. \endif \if EN Converts a configured binding host to an IP address, treating wildcards and invalid values as all interfaces. \endif
host— \if KO 변환할 호스트 또는 와일드카드 문자열입니다. \endif \if EN The host or wildcard string to convert. \endif반환: \if KO 구문 분석된 주소 또는 입니다. \endif \if EN The parsed address or . \endif
\if KO 네트워크 스트림에서 대상 버퍼를 끝까지 채웁니다. \endif \if EN Fills the destination buffer completely from the network stream. \endif
stream— \if KO 읽을 네트워크 스트림입니다. \endif \if EN The network stream to read. \endifbuffer— \if KO 완전히 채울 대상 버퍼입니다. \endif \if EN The destination buffer to fill completely. \endifcancellationToken— \if KO 읽기를 취소하는 토큰입니다. \endif \if EN A token that cancels reading. \endif반환: \if KO 비동기 읽기 작업입니다. \endif \if EN A task representing the asynchronous read operation. \endif
\if KO FINS/TCP 헤더와 선언된 본문 길이를 기준으로 패킷 하나를 정확히 수신합니다. \endif \if EN Receives exactly one packet based on the FINS/TCP header and declared body length. \endif
stream— \if KO 읽을 클라이언트 네트워크 스트림입니다. \endif \if EN The client network stream to read. \endifcancellationToken— \if KO 수신을 취소하는 토큰입니다. \endif \if EN A token that cancels receiving. \endif반환: \if KO 헤더와 본문을 포함한 완전한 FINS/TCP 패킷입니다. \endif \if EN The complete FINS/TCP packet containing header and body. \endif
\if KO 구성된 주소와 포트에서 TCP 수신을 시작하고 연결 수락 루프를 실행합니다. \endif \if EN Starts TCP listening at the configured address and port and runs the accept loop. \endif
반환: \if KO 서버가 이미 실행 중이거나 시작이 완료되면 완료되는 작업입니다. \endif \if EN A task completed when the server is already running or startup is complete. \endif
\if KO TCP 수신기와 모든 클라이언트를 닫고 수락 루프를 종료합니다. \endif \if EN Stops the TCP listener, closes all clients, and terminates the accept loop. \endif
반환: \if KO 연결과 수락 루프의 종료 및 자원 정리를 나타내는 작업입니다. \endif \if EN A task representing connection and accept-loop termination and cleanup. \endif
\if KO TCP 수신기가 생성되어 서버가 실행 중인지 여부를 가져옵니다. \endif \if EN Gets whether the TCP listener exists and the server is running. \endif
\if KO accept Task 값을 보관합니다. \endif \if EN Stores the accept task value. \endif
\if KO clients 값을 보관합니다. \endif \if EN Stores the clients value. \endif
\if KO cts 값을 보관합니다. \endif \if EN Stores the cts value. \endif
\if KO listener 값을 보관합니다. \endif \if EN Stores the listener value. \endif
\if KO memory 값을 보관합니다. \endif \if EN Stores the memory value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO protocol 값을 보관합니다. \endif \if EN Stores the protocol value. \endif
\if KO sync Root 값을 보관합니다. \endif \if EN Stores the sync root value. \endif
\if KO 서버 상태 또는 프로토콜 상태가 변경될 때 발생합니다. \endif \if EN Occurs when server or protocol status changes. \endif
OmronFinsTransportType
\if KO FINS/TCP 전송을 사용합니다. \endif \if EN Uses FINS/TCP transport. \endif
\if KO FINS/UDP 전송을 사용합니다. \endif \if EN Uses FINS/UDP transport. \endif
OmronFinsUdpSimulatorServer
\if KO 새 메모리를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using new PLC memory. \endif
options— \if KO 바인딩 및 자동 응답 서버 옵션입니다. \endif \if EN The server binding and automatic-response options. \endif\if KO 지정한 공유 메모리를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the specified shared memory. \endif
options— \if KO 바인딩 및 자동 응답 서버 옵션입니다. \endif \if EN The server binding and automatic-response options. \endifmemory— \if KO 요청 간에 공유할 PLC 메모리입니다. \endif \if EN The PLC memory shared across requests. \endif\if KO 서버를 중지해 비동기로 정리합니다. \endif \if EN Asynchronously disposes the server by stopping it. \endif
반환: \if KO 비동기 정리 작업을 나타내는 값 작업입니다. \endif \if EN A value task representing asynchronous disposal. \endif
\if KO 구성된 바인딩 호스트를 IP 주소로 변환하며 와일드카드와 잘못된 값은 모든 인터페이스로 처리합니다. \endif \if EN Converts a configured binding host to an IP address, treating wildcards and invalid values as all interfaces. \endif
host— \if KO 변환할 호스트 또는 와일드카드 문자열입니다. \endif \if EN The host or wildcard string to convert. \endif반환: \if KO 구문 분석된 주소 또는 입니다. \endif \if EN The parsed address or . \endif
\if KO UDP 요청을 수신해 프로토콜로 처리하고 원격 끝점에 응답하는 루프를 실행합니다. \endif \if EN Runs the loop that receives UDP requests, processes them through the protocol, and replies to each remote endpoint. \endif
cancellationToken— \if KO 수신 루프를 중지하는 토큰입니다. \endif \if EN A token that stops the receive loop. \endif반환: \if KO 수신 루프 수명 동안 실행되는 작업입니다. \endif \if EN A task that runs for the lifetime of the receive loop. \endif
\if KO 구성된 주소와 포트에 UDP 소켓을 바인딩하고 수신 루프를 시작합니다. \endif \if EN Binds a UDP socket to the configured address and port and starts the receive loop. \endif
반환: \if KO 서버가 이미 실행 중이거나 시작이 완료되면 완료되는 작업입니다. \endif \if EN A task completed when the server is already running or startup is complete. \endif
\if KO UDP 소켓과 수신 루프를 중지하고 서버 자원을 정리합니다. \endif \if EN Stops the UDP socket and receive loop and releases server resources. \endif
반환: \if KO 수신 루프의 종료와 자원 정리를 나타내는 작업입니다. \endif \if EN A task representing receive-loop termination and resource cleanup. \endif
\if KO UDP 소켓이 생성되어 서버가 실행 중인지 여부를 가져옵니다. \endif \if EN Gets whether the UDP socket exists and the server is running. \endif
\if KO cts 값을 보관합니다. \endif \if EN Stores the cts value. \endif
\if KO memory 값을 보관합니다. \endif \if EN Stores the memory value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO protocol 값을 보관합니다. \endif \if EN Stores the protocol value. \endif
\if KO receive Task 값을 보관합니다. \endif \if EN Stores the receive task value. \endif
\if KO udp Client 값을 보관합니다. \endif \if EN Stores the udp client value. \endif
\if KO 서버 상태 또는 프로토콜 상태가 변경될 때 발생합니다. \endif \if EN Occurs when server or protocol status changes. \endif
TcpOmronFinsTransport
\if KO 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of . \endif
options— \if KO 대상과 제한 시간을 지정하는 FINS 연결 옵션입니다. \endif \if EN The FINS connection options specifying the endpoint and timeouts. \endif\if KO 현재 네트워크 스트림과 TCP 클라이언트를 닫고 참조를 초기화합니다. \endif \if EN Closes the current network stream and TCP client and clears their references. \endif
반환: \if KO 닫기 작업을 나타내는 완료 작업입니다. \endif \if EN A completed task representing the close operation. \endif
\if KO 구성된 제한 시간 안에 FINS TCP 대상에 연결합니다. \endif \if EN Connects to the configured FINS TCP endpoint within the configured timeout. \endif
cancellationToken— \if KO 연결 및 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels connection and lock acquisition. \endif반환: \if KO 연결 성공 또는 포착된 네트워크·제한 시간 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing success or a captured network or timeout error. \endif
\if KO 네트워크 스트림과 TCP 클라이언트를 닫아 FINS 연결을 해제합니다. \endif \if EN Disconnects FINS by closing the network stream and TCP client. \endif
cancellationToken— \if KO 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels lock acquisition. \endif반환: \if KO 연결 해제 성공 결과 작업입니다. \endif \if EN A task containing a successful disconnection result. \endif
\if KO 연결을 닫고 동기화 자원을 비동기로 정리합니다. \endif \if EN Closes the connection and asynchronously disposes synchronization resources. \endif
반환: \if KO 비동기 정리 작업을 나타내는 값 작업입니다. \endif \if EN A value task representing asynchronous disposal. \endif
\if KO 네트워크 스트림에서 대상 버퍼를 끝까지 채웁니다. \endif \if EN Fills the destination buffer completely from the network stream. \endif
stream— \if KO 읽을 네트워크 스트림입니다. \endif \if EN The network stream to read. \endifbuffer— \if KO 완전히 채울 대상 버퍼입니다. \endif \if EN The destination buffer to fill completely. \endifcancellationToken— \if KO 읽기를 취소하는 토큰입니다. \endif \if EN A token that cancels reading. \endif반환: \if KO 비동기 읽기 작업입니다. \endif \if EN A task representing the asynchronous read operation. \endif
\if KO FINS/TCP 헤더와 선언된 본문 길이를 기준으로 패킷 하나를 정확히 수신합니다. \endif \if EN Receives exactly one packet based on the FINS/TCP header and declared body length. \endif
stream— \if KO 읽을 연결된 네트워크 스트림입니다. \endif \if EN The connected network stream to read. \endifcancellationToken— \if KO 수신을 취소하는 토큰입니다. \endif \if EN A token that cancels receiving. \endif반환: \if KO 헤더와 본문을 포함한 완전한 FINS/TCP 패킷입니다. \endif \if EN The complete FINS/TCP packet containing header and body. \endif
\if KO 원시 FINS 프레임을 TCP 패킷으로 전송하고 완전한 응답 패킷을 수신합니다. \endif \if EN Sends a raw FINS frame as a TCP packet and receives one complete response packet. \endif
requestFrame— \if KO 전송할 원시 FINS 요청 프레임입니다. \endif \if EN The raw FINS request frame to send. \endifreceiveTimeoutMs— \if KO 밀리초 단위 송수신 제한 시간입니다. \endif \if EN The send-and-receive timeout in milliseconds. \endifretryCount— \if KO 인터페이스 호환성을 위한 재시도 횟수이며 TCP 구현에서는 사용하지 않습니다. \endif \if EN A retry count retained for interface compatibility; this TCP implementation does not use it. \endifcancellationToken— \if KO 잠금과 송수신을 취소하는 토큰입니다. \endif \if EN A token that cancels lock acquisition and I/O. \endif반환: \if KO 원시 FINS 응답 프레임 또는 연결·전송·프로토콜 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the raw FINS response frame or a connection, transport, or protocol error. \endif
\if KO 이 전송 인스턴스가 아직 정리되지 않았는지 확인합니다. \endif \if EN Verifies that this transport instance has not been disposed. \endif
\if KO TCP 클라이언트가 연결되고 네트워크 스트림이 준비되었는지 여부를 가져옵니다. \endif \if EN Gets whether the TCP client is connected and its network stream is ready. \endif
\if KO disposed 값을 보관합니다. \endif \if EN Stores the disposed value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO stream 값을 보관합니다. \endif \if EN Stores the stream value. \endif
\if KO sync Lock 값을 보관합니다. \endif \if EN Stores the sync lock value. \endif
\if KO tcp Client 값을 보관합니다. \endif \if EN Stores the tcp client value. \endif
UdpOmronFinsTransport
\if KO 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of . \endif
options— \if KO 대상과 제한 시간을 지정하는 FINS 연결 옵션입니다. \endif \if EN The FINS connection options specifying the endpoint and timeouts. \endif\if KO 현재 UDP 클라이언트를 닫고 연결 상태를 초기화합니다. \endif \if EN Closes the current UDP client and clears the connection state. \endif
\if KO 대상 호스트를 확인하고 연결된 UDP 클라이언트를 준비합니다. \endif \if EN Resolves the target host and prepares a connected UDP client. \endif
cancellationToken— \if KO DNS 확인과 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels DNS resolution and lock acquisition. \endif반환: \if KO 성공 또는 유효성·DNS·소켓 오류를 포함하는 연결 결과 작업입니다. \endif \if EN A task containing success or a validation, DNS, or socket error. \endif
\if KO UDP 클라이언트를 닫고 원격 끝점 정보를 초기화합니다. \endif \if EN Closes the UDP client and clears the remote endpoint information. \endif
cancellationToken— \if KO 잠금 대기를 취소하는 토큰입니다. \endif \if EN A token that cancels lock acquisition. \endif반환: \if KO 연결 해제 성공 결과 작업입니다. \endif \if EN A task containing a successful disconnection result. \endif
\if KO UDP 연결을 닫고 동기화 자원을 비동기로 정리합니다. \endif \if EN Closes the UDP connection and asynchronously disposes synchronization resources. \endif
반환: \if KO 비동기 정리 작업을 나타내는 값 작업입니다. \endif \if EN A value task representing asynchronous disposal. \endif
\if KO 원시 FINS UDP 프레임을 보내고 구성된 횟수만큼 응답 수신을 재시도합니다. \endif \if EN Sends a raw FINS UDP frame and retries response reception for the configured number of attempts. \endif
requestFrame— \if KO 전송할 원시 FINS 요청 프레임입니다. \endif \if EN The raw FINS request frame to send. \endifreceiveTimeoutMs— \if KO 각 시도의 밀리초 단위 수신 제한 시간입니다. \endif \if EN The receive timeout in milliseconds for each attempt. \endifretryCount— \if KO 총 시도 횟수이며 1보다 작으면 한 번 시도합니다. \endif \if EN The total attempt count; values below one result in one attempt. \endifcancellationToken— \if KO 잠금과 송수신을 취소하는 토큰입니다. \endif \if EN A token that cancels lock acquisition and I/O. \endif반환: \if KO 수신된 원시 FINS 응답 또는 마지막 전송 오류를 포함하는 결과 작업입니다. \endif \if EN A task containing the received raw FINS response or the last transport error. \endif
\if KO 이 전송 인스턴스가 아직 정리되지 않았는지 확인합니다. \endif \if EN Verifies that this transport instance has not been disposed. \endif
\if KO UDP 클라이언트와 원격 끝점이 준비되었는지 여부를 가져옵니다. \endif \if EN Gets whether the UDP client and remote endpoint are ready. \endif
\if KO disposed 값을 보관합니다. \endif \if EN Stores the disposed value. \endif
\if KO options 값을 보관합니다. \endif \if EN Stores the options value. \endif
\if KO remote End Point 값을 보관합니다. \endif \if EN Stores the remote end point value. \endif
\if KO sync Lock 값을 보관합니다. \endif \if EN Stores the sync lock value. \endif
\if KO udp Client 값을 보관합니다. \endif \if EN Stores the udp client value. \endif