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

Public 멤버 함수 | |
| MitsubishiMcBinary3ESimulatorProtocol (InMemoryPlcMemory memory, MitsubishiMcSimulatorServerOptions options) | |
| byte[] | Execute (ReadOnlySpan< byte > requestFrame) |
이벤트 | |
| EventHandler< string >? | StatusChanged |
Private 멤버 함수 | |
| byte[] | ExecuteRead (McRequest request) |
| byte[] | ExecuteWrite (McRequest request) |
| void | ApplyAutoWordResponse (McRequest request, IReadOnlyList< short > values) |
정적 Private 멤버 함수 | |
| static bool | TryParseRequest (ReadOnlySpan< byte > frame, out McRequest request, out string? errorMessage) |
| static byte[] | BuildErrorResponse (ReadOnlySpan< byte > requestFrame, ushort endCode) |
| static byte[] | BuildResponse (IReadOnlyList< byte > requestHeader, ushort endCode, IReadOnlyList< byte > data) |
| static byte[] | PackBits (IReadOnlyList< bool > values) |
| static bool[] | UnpackBits (ReadOnlySpan< byte > data, int count) |
| static ushort | ReadUInt16LittleEndian (ReadOnlySpan< byte > buffer, int offset) |
| static int | ReadUInt24LittleEndian (ReadOnlySpan< byte > buffer, int offset) |
| static bool | IsSupportedDeviceCode (byte deviceCode) |
| static PlcDeviceType | ToDeviceType (byte deviceCode) |
Private 속성 | |
| readonly InMemoryPlcMemory | _memory |
| readonly MitsubishiMcSimulatorServerOptions | _options |
| readonly record struct | McRequest (byte[] Header, ushort Command, ushort SubCommand, int DeviceOffset, byte DeviceCode, int Points, byte[] Data) |
정적 Private 속성 | |
| const ushort | RequestSubHeader = 0x5000 |
| const ushort | ResponseSubHeader = 0xD000 |
읽기·쓰기 테스트용 최소 Mitsubishi MC Binary 3E 시뮬레이션을 실행합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 16 번째 라인에서 정의되었습니다.
|
inline |
공유 PLC 메모리와 옵션으로 시뮬레이터 프로토콜을 초기화합니다.
| memory | 공유 PLC 메모리입니다. |
| options | 시뮬레이터 옵션입니다. |
| ArgumentNullException | 메모리 또는 옵션이 null인 경우 발생합니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 85 번째 라인에서 정의되었습니다.
|
inlineprivate |
트리거 요청에 대해 증가된 자동 워드 응답을 메모리에 씁니다.
| request | 쓰기 요청입니다. |
| values | 쓴 값입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 300 번째 라인에서 정의되었습니다.
다음을 참조함 : _memory, _options, McRequest, StatusChanged, ToDeviceType().
다음에 의해서 참조됨 : ExecuteWrite().


|
inlinestaticprivate |
가능한 요청 라우팅 정보를 보존해 오류 응답을 만듭니다.
| requestFrame | 원본 요청입니다. |
| endCode | 오류 종료 코드입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 440 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildResponse().
다음에 의해서 참조됨 : Execute().


|
inlinestaticprivate |
요청 라우팅 헤더, 종료 코드 및 데이터로 Binary 3E 응답을 만듭니다.
| requestHeader | 요청 헤더입니다. |
| endCode | 종료 코드입니다. |
| data | 응답 데이터입니다. |
| OverflowException | 응답 데이터 길이가 프로토콜 범위를 벗어난 경우 발생합니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 499 번째 라인에서 정의되었습니다.
다음을 참조함 : ResponseSubHeader, Dreamine.PLC.Mitsubishi.MC.Protocol.MitsubishiMcEndian.WriteUInt16LittleEndian().
다음에 의해서 참조됨 : BuildErrorResponse(), Execute(), ExecuteRead(), ExecuteWrite().


|
inline |
Binary 3E 요청 프레임 하나를 실행하고 응답 프레임을 반환합니다.
| requestFrame | MC 요청 프레임입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 126 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildErrorResponse(), BuildResponse(), ExecuteRead(), ExecuteWrite(), StatusChanged, TryParseRequest().

|
inlineprivate |
워드 또는 비트 일괄 읽기 요청을 실행합니다.
| request | 구문 분석된 요청입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 164 번째 라인에서 정의되었습니다.
다음을 참조함 : _memory, BuildResponse(), McRequest, PackBits(), ToDeviceType(), Dreamine.PLC.Mitsubishi.MC.Protocol.MitsubishiMcEndian.WriteUInt16LittleEndian().
다음에 의해서 참조됨 : Execute().


|
inlineprivate |
워드 또는 비트 일괄 쓰기 요청을 실행합니다.
| request | 구문 분석된 요청입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 227 번째 라인에서 정의되었습니다.
다음을 참조함 : _memory, ApplyAutoWordResponse(), BuildResponse(), McRequest, ReadUInt16LittleEndian(), ToDeviceType(), UnpackBits().
다음에 의해서 참조됨 : Execute().


|
inlinestaticprivate |
시뮬레이터가 디바이스 코드를 지원하는지 확인합니다.
| deviceCode | 디바이스 코드입니다. |
true입니다.MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 699 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryParseRequest().

|
inlinestaticprivate |
두 비트씩 상·하위 니블에 압축합니다.
| values | 비트 값입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 543 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteRead().

|
inlinestaticprivate |
리틀 엔디언 16비트 값을 읽습니다.
| buffer | 버퍼입니다. |
| offset | 오프셋입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 638 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteWrite(), TryParseRequest().

|
inlinestaticprivate |
리틀 엔디언 24비트 값을 읽습니다.
| buffer | 버퍼입니다. |
| offset | 오프셋입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 672 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryParseRequest().

|
inlinestaticprivate |
MC 디바이스 코드를 공통 PLC 타입으로 변환합니다.
| deviceCode | 디바이스 코드입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 726 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplyAutoWordResponse(), ExecuteRead(), ExecuteWrite().

|
inlinestaticprivate |
Binary 3E 요청 헤더, 명령, 주소, 점 수 및 데이터를 구문 분석합니다.
| frame | 요청 프레임입니다. |
| request | 구문 분석된 요청입니다. |
| errorMessage | 실패 메시지입니다. |
true입니다.MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 362 번째 라인에서 정의되었습니다.
다음을 참조함 : IsSupportedDeviceCode(), McRequest, ReadUInt16LittleEndian(), ReadUInt24LittleEndian(), RequestSubHeader.
다음에 의해서 참조됨 : Execute().


|
inlinestaticprivate |
니블로 압축된 데이터를 비트 배열로 풉니다.
| data | 압축 데이터입니다. |
| count | 풀 비트 수입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 595 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteWrite().

|
private |
memory 값을 보관합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 44 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplyAutoWordResponse(), ExecuteRead(), ExecuteWrite(), MitsubishiMcBinary3ESimulatorProtocol().
|
private |
options 값을 보관합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 53 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplyAutoWordResponse(), MitsubishiMcBinary3ESimulatorProtocol().
|
private |
구문 분석된 MC 요청 필드를 보관합니다.
| Header | 라우팅 헤더입니다. |
| Command | 명령입니다. |
| SubCommand | 하위 명령입니다. |
| DeviceOffset | 디바이스 오프셋입니다. |
| DeviceCode | 디바이스 코드입니다. |
| Points | 점 수입니다. |
| Data | 요청 데이터입니다. |
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 800 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplyAutoWordResponse(), ExecuteRead(), ExecuteWrite(), TryParseRequest().
|
staticprivate |
Request Sub Header 값을 보관합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 26 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryParseRequest().
|
staticprivate |
Response Sub Header 값을 보관합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 35 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildResponse().
| EventHandler<string>? Dreamine.PLC.Mitsubishi.MC.Simulation.MitsubishiMcBinary3ESimulatorProtocol.StatusChanged |
시뮬레이터 진단 상태 메시지가 발생할 때 발생합니다.
MitsubishiMcBinary3ESimulatorProtocol.cs 파일의 101 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ApplyAutoWordResponse(), Execute().