|
Dreamine.IO.Fastech.Ethernet 1.0.1
Dreamine.IO.Fastech.Ethernet 산업 자동화 및 I/O 기능을 제공합니다.
|


Public 멤버 함수 | |
| byte[] | BuildGetSlaveInfo () |
| IoResult< string > | ParseSlaveInfo (IReadOnlyList< byte > responseFrame) |
| byte[] | BuildReadDigitalInputs (IReadOnlyList< IoPoint > points) |
| IoResult< bool[]> | ParseDigitalInputs (IReadOnlyList< byte > responseFrame, int count) |
| byte[] | BuildReadDigitalOutputs (IReadOnlyList< IoPoint > points) |
| IoResult< bool[]> | ParseDigitalOutputs (IReadOnlyList< byte > responseFrame, int count) |
| byte[] | BuildWriteDigitalOutputs (IReadOnlyDictionary< IoPoint, bool > values) |
| byte[] | BuildReadAnalogInputs (IReadOnlyList< AnalogIoPoint > points) |
| IoResult< double[]> | ParseAnalogInputs (IReadOnlyList< byte > responseFrame, int count) |
| byte[] | BuildReadAnalogOutputs (IReadOnlyList< AnalogIoPoint > points) |
| IoResult< double[]> | ParseAnalogOutputs (IReadOnlyList< byte > responseFrame, int count) |
| byte[] | BuildWriteAnalogOutputs (IReadOnlyDictionary< AnalogIoPoint, double > values) |
| IoResult | ParseWriteResponse (IReadOnlyList< byte > responseFrame) |
Private 멤버 함수 | |
| byte[] | BuildFrame (byte frameType, IReadOnlyList< byte > data) |
| IoResult< byte[]> | ParseReply (IReadOnlyList< byte > responseFrame, byte expectedFrameType, int minimumPayloadLength) |
| byte | NextSyncNo () |
정적 Private 멤버 함수 | |
| static NotSupportedException | CreateNotSupportedException (string message) |
| static IoResult< double[]> | CreateUnsupportedAnalogResult (string message) |
| static bool[] | ToInputBits (IReadOnlyList< byte > payload, int count) |
| static bool[] | ToOutputBits (IReadOnlyList< byte > payload, int count) |
| static uint | GetDigital16PointOutputWriteBit (int channel) |
| static uint | ReadUInt32BigEndian (IReadOnlyList< byte > bytes, int offset) |
| static void | WriteUInt32BigEndian (uint value, byte[] bytes, int offset) |
Private 속성 | |
| readonly object | _syncLock = new() |
| byte | _syncNo |
정적 Private 속성 | |
| const byte | Header = 0xAA |
| const byte | Reserved = 0x00 |
| const byte | StatusOk = 0x00 |
| const byte | GetInputFrameType = 0xC0 |
| const byte | GetOutputFrameType = 0xC5 |
| const byte | SetOutputFrameType = 0xC6 |
| const byte | GetSlaveInfoFrameType = 0x01 |
| const uint | Digital16PointResetMask = 0xFFFF_FFFF |
| const string | AnalogInputNotSupportedMessage = "Fastech Ezi-IO Plus-E 16-point DIO protocol does not support analog input." |
| const string | AnalogOutputNotSupportedMessage = "Fastech Ezi-IO Plus-E 16-point DIO protocol does not support analog output." |
Fastech Ezi-IO Plus-E 16점 디지털 I/O UDP 프레임을 생성하고 파싱합니다.
FastechPlusE16PointProtocol.cs 파일의 14 번째 라인에서 정의되었습니다.
|
inlineprivate |
헤더, 길이, 동기 번호, 예약 바이트, 프레임 형식 및 데이터로 요청 프레임을 조립합니다.
| frameType | Fastech 프레임 형식 바이트입니다. |
| data | 최대 252바이트의 프레임 데이터입니다. |
| ArgumentOutOfRangeException | 데이터가 252바이트를 초과한 경우 발생합니다. |
FastechPlusE16PointProtocol.cs 파일의 676 번째 라인에서 정의되었습니다.
다음을 참조함 : Header, NextSyncNo(), Reserved.
다음에 의해서 참조됨 : BuildGetSlaveInfo(), BuildReadDigitalInputs(), BuildReadDigitalOutputs(), BuildWriteDigitalOutputs().


|
inline |
슬레이브 정보 조회 요청 프레임을 만듭니다.
FastechPlusE16PointProtocol.cs 파일의 141 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildFrame(), GetSlaveInfoFrameType.

|
inline |
이 16점 DIO 프로토콜에서 지원하지 않는 아날로그 입력 요청을 거부합니다.
| points | 요청된 아날로그 입력 지점입니다. |
| NotSupportedException | 항상 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 451 번째 라인에서 정의되었습니다.
다음을 참조함 : AnalogInputNotSupportedMessage, CreateNotSupportedException().

|
inline |
이 프로토콜에서 지원하지 않는 아날로그 출력 읽기 요청을 거부합니다.
| points | 요청된 출력 지점입니다. |
| NotSupportedException | 항상 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 525 번째 라인에서 정의되었습니다.
다음을 참조함 : AnalogOutputNotSupportedMessage, CreateNotSupportedException().

|
inline |
16점 디지털 입력 전체 조회 프레임을 만듭니다.
| points | 결과 매핑에 사용되는 요청 지점입니다. |
| ArgumentNullException | points 가 null인 경우 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 218 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildFrame(), GetInputFrameType.

|
inline |
16점 디지털 출력 전체 조회 프레임을 만듭니다.
| points | 결과 매핑에 사용되는 요청 지점입니다. |
| ArgumentNullException | points 가 null인 경우 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 300 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildFrame(), GetOutputFrameType.

|
inline |
이 프로토콜에서 지원하지 않는 아날로그 출력 쓰기 요청을 거부합니다.
| values | 요청된 출력 값입니다. |
| NotSupportedException | 항상 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 599 번째 라인에서 정의되었습니다.
다음을 참조함 : AnalogOutputNotSupportedMessage, CreateNotSupportedException().

|
inline |
0~15 채널 변경 값을 설정/해제 마스크로 인코딩한 출력 쓰기 프레임을 만듭니다.
| values | 지점별 출력 상태입니다. |
| ArgumentNullException | values 가 null인 경우 발생합니다. |
| ArgumentOutOfRangeException | 채널이 0~15 범위를 벗어난 경우 발생합니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 390 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildFrame(), Digital16PointResetMask, GetDigital16PointOutputWriteBit(), SetOutputFrameType, WriteUInt32BigEndian().

|
inlinestaticprivate |
지정한 설명의 미지원 예외를 만듭니다.
| message | 예외 설명입니다. |
FastechPlusE16PointProtocol.cs 파일의 722 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildReadAnalogInputs(), BuildReadAnalogOutputs(), BuildWriteAnalogOutputs().

|
inlinestaticprivate |
아날로그 작업 미지원 실패 결과를 만듭니다.
| message | 실패 설명입니다. |
FastechPlusE16PointProtocol.cs 파일의 751 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ParseAnalogInputs(), ParseAnalogOutputs().

|
inlinestaticprivate |
논리 채널을 Plus-E 16점 출력 쓰기 마스크 비트 위치로 변환합니다.
| channel | 0~15 논리 채널입니다. |
FastechPlusE16PointProtocol.cs 파일의 997 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildWriteDigitalOutputs().

|
inlineprivate |
잠금으로 보호된 다음 8비트 동기 번호를 반환합니다.
FastechPlusE16PointProtocol.cs 파일의 870 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildFrame().

|
inline |
미지원 아날로그 입력 응답에 실패 결과를 반환합니다.
| responseFrame | 무시되는 응답입니다. |
| count | 무시되는 지점 수입니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 488 번째 라인에서 정의되었습니다.
다음을 참조함 : AnalogInputNotSupportedMessage, CreateUnsupportedAnalogResult().

|
inline |
미지원 아날로그 출력 응답에 실패 결과를 반환합니다.
| responseFrame | 무시되는 응답입니다. |
| count | 무시되는 지점 수입니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 562 번째 라인에서 정의되었습니다.
다음을 참조함 : AnalogOutputNotSupportedMessage, CreateUnsupportedAnalogResult().

|
inline |
입력 응답을 검증하고 요청 개수만큼 부울 상태로 변환합니다.
| responseFrame | 입력 응답 프레임입니다. |
| count | 반환할 지점 수입니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 257 번째 라인에서 정의되었습니다.
다음을 참조함 : GetInputFrameType, ParseReply(), ToInputBits().

|
inline |
출력 응답을 검증하고 요청 개수만큼 부울 상태로 변환합니다.
| responseFrame | 출력 응답 프레임입니다. |
| count | 반환할 지점 수입니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 339 번째 라인에서 정의되었습니다.
다음을 참조함 : GetOutputFrameType, ParseReply(), ToOutputBits().

|
inlineprivate |
응답 헤더, 길이, 예약 바이트, 프레임 형식, 상태 및 최소 페이로드 길이를 검증합니다.
| responseFrame | 검증할 응답 프레임입니다. |
| expectedFrameType | 예상 프레임 형식입니다. |
| minimumPayloadLength | 필요한 최소 페이로드 바이트 수입니다. |
| ArgumentNullException | responseFrame 이 null인 경우 발생합니다. |
FastechPlusE16PointProtocol.cs 파일의 804 번째 라인에서 정의되었습니다.
다음을 참조함 : Header, Reserved, StatusOk.
다음에 의해서 참조됨 : ParseDigitalInputs(), ParseDigitalOutputs(), ParseSlaveInfo(), ParseWriteResponse().

|
inline |
슬레이브 정보 응답에서 장치 형식과 ASCII 이름을 파싱합니다.
| responseFrame | 수신 프레임입니다. |
FastechPlusE16PointProtocol.cs 파일의 170 번째 라인에서 정의되었습니다.
다음을 참조함 : GetSlaveInfoFrameType, ParseReply().

|
inline |
디지털 출력 쓰기 응답을 검증하여 성공 또는 실패 결과로 변환합니다.
| responseFrame | 쓰기 응답 프레임입니다. |
Dreamine.IO.Fastech.Ethernet.Protocol.IFastechEthernetIoProtocol를 구현.
FastechPlusE16PointProtocol.cs 파일의 628 번째 라인에서 정의되었습니다.
다음을 참조함 : ParseReply(), SetOutputFrameType.

|
inlinestaticprivate |
지정 오프셋에서 big-endian 32비트 부호 없는 정수를 읽습니다.
| bytes | 원본 바이트 목록입니다. |
| offset | 첫 바이트 오프셋입니다. |
FastechPlusE16PointProtocol.cs 파일의 1039 번째 라인에서 정의되었습니다.
|
inlinestaticprivate |
입력 페이로드의 첫 두 바이트를 최대 16개 부울 상태로 변환합니다.
| payload | 입력 상태 페이로드입니다. |
| count | 반환할 상태 수입니다. |
FastechPlusE16PointProtocol.cs 파일의 911 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ParseDigitalInputs().

|
inlinestaticprivate |
출력 페이로드의 상태 바이트를 최대 16개 부울 상태로 변환합니다.
| payload | 출력 상태 페이로드입니다. |
| count | 반환할 상태 수입니다. |
FastechPlusE16PointProtocol.cs 파일의 958 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ParseDigitalOutputs().

|
inlinestaticprivate |
32비트 부호 없는 정수를 지정 오프셋에 big-endian으로 씁니다.
| value | 쓸 값입니다. |
| bytes | 대상 바이트 배열입니다. |
| offset | 첫 바이트 오프셋입니다. |
FastechPlusE16PointProtocol.cs 파일의 1079 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildWriteDigitalOutputs().

|
private |
sync Lock 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 114 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : NextSyncNo().
|
private |
sync No 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 123 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : NextSyncNo().
|
staticprivate |
Analog Input Not Supported Message 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 96 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildReadAnalogInputs(), ParseAnalogInputs().
|
staticprivate |
Analog Output Not Supported Message 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 105 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildReadAnalogOutputs(), BuildWriteAnalogOutputs(), ParseAnalogOutputs().
|
staticprivate |
Digital16 Point Reset Mask 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 87 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildWriteDigitalOutputs().
|
staticprivate |
Get Input Frame Type 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 51 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildReadDigitalInputs(), ParseDigitalInputs().
|
staticprivate |
Get Output Frame Type 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 60 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildReadDigitalOutputs(), ParseDigitalOutputs().
|
staticprivate |
Get Slave Info Frame Type 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 78 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildGetSlaveInfo(), ParseSlaveInfo().
|
staticprivate |
Header 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 24 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildFrame(), ParseReply().
|
staticprivate |
Reserved 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 33 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildFrame(), ParseReply().
|
staticprivate |
Set Output Frame Type 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 69 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildWriteDigitalOutputs(), ParseWriteResponse().
|
staticprivate |
Status Ok 값을 보관합니다.
FastechPlusE16PointProtocol.cs 파일의 42 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ParseReply().