|
Dreamine.PLC.Omron.Fins 1.0.1
Dreamine.PLC.Omron.Fins 산업 자동화 및 I/O 기능을 제공합니다.
|


Public 멤버 함수 | |
| TcpOmronFinsTransport (OmronFinsConnectionOptions options) | |
| async Task< PlcResult > | ConnectAsync (CancellationToken cancellationToken=default) |
| async Task< PlcResult > | DisconnectAsync (CancellationToken cancellationToken=default) |
| async Task< PlcResult< byte[]> > | SendAndReceiveAsync (IReadOnlyList< byte > requestFrame, int receiveTimeoutMs, int retryCount, CancellationToken cancellationToken=default) |
| async ValueTask | DisposeAsync () |
속성 | |
| bool | IsConnected [get] |
Private 멤버 함수 | |
| async Task | CloseCoreAsync () |
| void | ThrowIfDisposed () |
정적 Private 멤버 함수 | |
| static async Task< byte[]> | ReceiveFinsTcpPacketAsync (NetworkStream stream, CancellationToken cancellationToken) |
| static async Task | ReadExactlyAsync (NetworkStream stream, byte[] buffer, CancellationToken cancellationToken) |
Private 속성 | |
| readonly SemaphoreSlim | _syncLock = new(1, 1) |
| readonly OmronFinsConnectionOptions | _options |
| TcpClient? | _tcpClient |
| NetworkStream? | _stream |
| bool | _disposed |
Omron FINS 통신을 위한 TCP 전송을 제공합니다.
TcpOmronFinsTransport.cs 파일의 16 번째 라인에서 정의되었습니다.
|
inline |
T:Dreamine.PLC.Omron.Fins.Transport.TcpOmronFinsTransport 클래스의 새 인스턴스를 초기화합니다.
| options | 대상과 제한 시간을 지정하는 FINS 연결 옵션입니다. |
| ArgumentNullException | options 가 null일 때 발생합니다. |
TcpOmronFinsTransport.cs 파일의 88 번째 라인에서 정의되었습니다.
다음을 참조함 : _options.
|
inlineprivate |
현재 네트워크 스트림과 TCP 클라이언트를 닫고 참조를 초기화합니다.
TcpOmronFinsTransport.cs 파일의 547 번째 라인에서 정의되었습니다.
다음을 참조함 : _stream, _tcpClient.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync().

|
inline |
구성된 제한 시간 안에 FINS TCP 대상에 연결합니다.
| cancellationToken | 연결 및 잠금 대기를 취소하는 토큰입니다. |
| OperationCanceledException | 동기화 잠금을 기다리는 동안 취소되면 발생합니다. |
| ObjectDisposedException | 전송 또는 동기화 잠금이 이미 정리된 경우 발생할 수 있습니다. |
Dreamine.PLC.Omron.Fins.Transport.IOmronFinsTransport를 구현.
TcpOmronFinsTransport.cs 파일의 143 번째 라인에서 정의되었습니다.
다음을 참조함 : _options, _stream, _syncLock, _tcpClient, CloseCoreAsync(), IsConnected, ThrowIfDisposed().

|
inline |
네트워크 스트림과 TCP 클라이언트를 닫아 FINS 연결을 해제합니다.
| cancellationToken | 잠금 대기를 취소하는 토큰입니다. |
| OperationCanceledException | 동기화 잠금을 기다리는 동안 취소되면 발생합니다. |
| ObjectDisposedException | 동기화 잠금이 이미 정리된 경우 발생할 수 있습니다. |
Dreamine.PLC.Omron.Fins.Transport.IOmronFinsTransport를 구현.
TcpOmronFinsTransport.cs 파일의 219 번째 라인에서 정의되었습니다.
다음을 참조함 : _syncLock, CloseCoreAsync().
다음에 의해서 참조됨 : DisposeAsync().


|
inline |
연결을 닫고 동기화 자원을 비동기로 정리합니다.
| ObjectDisposedException | 동시 정리로 동기화 잠금이 이미 정리된 경우 발생할 수 있습니다. |
TcpOmronFinsTransport.cs 파일의 370 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed, _syncLock, DisconnectAsync().

|
inlinestaticprivate |
네트워크 스트림에서 대상 버퍼를 끝까지 채웁니다.
| stream | 읽을 네트워크 스트림입니다. |
| buffer | 완전히 채울 대상 버퍼입니다. |
| cancellationToken | 읽기를 취소하는 토큰입니다. |
| IOException | 버퍼를 채우기 전에 원격 끝점이 연결을 닫으면 발생합니다. |
| OperationCanceledException | 읽기가 취소되면 발생합니다. |
TcpOmronFinsTransport.cs 파일의 516 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReceiveFinsTcpPacketAsync().

|
inlinestaticprivate |
FINS/TCP 헤더와 선언된 본문 길이를 기준으로 패킷 하나를 정확히 수신합니다.
| stream | 읽을 연결된 네트워크 스트림입니다. |
| cancellationToken | 수신을 취소하는 토큰입니다. |
| InvalidOperationException | 헤더의 패킷 길이가 8보다 작을 때 발생합니다. |
| IOException | 완전한 패킷을 받기 전에 원격 끝점이 연결을 닫으면 발생합니다. |
| OperationCanceledException | 수신이 취소되면 발생합니다. |
TcpOmronFinsTransport.cs 파일의 439 번째 라인에서 정의되었습니다.
다음을 참조함 : ReadExactlyAsync(), Dreamine.PLC.Omron.Fins.Protocol.OmronFinsEndian.ReadInt32().
다음에 의해서 참조됨 : SendAndReceiveAsync().


|
inline |
원시 FINS 프레임을 TCP 패킷으로 전송하고 완전한 응답 패킷을 수신합니다.
| requestFrame | 전송할 원시 FINS 요청 프레임입니다. |
| receiveTimeoutMs | 밀리초 단위 송수신 제한 시간입니다. |
| retryCount | 인터페이스 호환성을 위한 재시도 횟수이며 TCP 구현에서는 사용하지 않습니다. |
| cancellationToken | 잠금과 송수신을 취소하는 토큰입니다. |
| ArgumentNullException | requestFrame 이 null일 때 발생합니다. |
| OperationCanceledException | 동기화 잠금을 기다리는 동안 취소되면 발생합니다. |
| ObjectDisposedException | 전송 또는 동기화 잠금이 이미 정리된 경우 발생할 수 있습니다. |
Dreamine.PLC.Omron.Fins.Transport.IOmronFinsTransport를 구현.
TcpOmronFinsTransport.cs 파일의 305 번째 라인에서 정의되었습니다.
다음을 참조함 : _stream, _syncLock, _tcpClient, Dreamine.PLC.Omron.Fins.Protocol.OmronFinsTcpPacket.Extract(), ReceiveFinsTcpPacketAsync(), ThrowIfDisposed(), Dreamine.PLC.Omron.Fins.Protocol.OmronFinsTcpPacket.Wrap().

|
inlineprivate |
이 전송 인스턴스가 아직 정리되지 않았는지 확인합니다.
| ObjectDisposedException | 인스턴스가 이미 정리된 경우 발생합니다. |
TcpOmronFinsTransport.cs 파일의 572 번째 라인에서 정의되었습니다.
다음을 참조함 : _disposed.
다음에 의해서 참조됨 : ConnectAsync(), SendAndReceiveAsync().

|
private |
disposed 값을 보관합니다.
TcpOmronFinsTransport.cs 파일의 62 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DisposeAsync(), ThrowIfDisposed().
|
private |
options 값을 보관합니다.
TcpOmronFinsTransport.cs 파일의 35 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), TcpOmronFinsTransport().
|
private |
stream 값을 보관합니다.
TcpOmronFinsTransport.cs 파일의 53 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CloseCoreAsync(), ConnectAsync(), SendAndReceiveAsync().
|
private |
sync Lock 값을 보관합니다.
TcpOmronFinsTransport.cs 파일의 26 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), DisposeAsync(), SendAndReceiveAsync().
|
private |
tcp Client 값을 보관합니다.
TcpOmronFinsTransport.cs 파일의 44 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CloseCoreAsync(), ConnectAsync(), SendAndReceiveAsync().
|
get |
TCP 클라이언트가 연결되고 네트워크 스트림이 준비되었는지 여부를 가져옵니다.
Dreamine.PLC.Omron.Fins.Transport.IOmronFinsTransport를 구현.
TcpOmronFinsTransport.cs 파일의 101 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync().