SampleSmart 1.0.0.0
SampleSmart 사용 방법을 보여 주는 예제 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
SampleSmart.Pages.PageSub.PagePlcMonitorEvent 클래스 참조sealed

더 자세히 ...

SampleSmart.Pages.PageSub.PagePlcMonitorEvent에 대한 협력 다이어그램:

Public 멤버 함수

 PagePlcMonitorEvent (PlcSampleRuntime runtime)
void UseInMemory ()
void StartServer ()
void StopServer ()
void UseSelectedClient ()
void UseTcpClient ()
void UseMcClient ()
void RunHandshakeTest ()

속성

PlcMonitorViewModel Monitor [get]
string Host = "127.0.0.1" [get, set]
string PortText = "55000" [get, set]
string ClientModeText = "SimulatorTcp" [get, set]
string MxProgId = MitsubishiMxComponentOptions.DefaultProgId [get, set]
string MxLogicalStationNumberText = "0" [get, set]
string CxProgId = "OMRON.Compolet.CJ2Compolet" [get, set]
string CxPeerAddress = "127.0.0.1" [get, set]
string McHost = "127.0.0.1" [get, set]
string McPortText = "5000" [get, set]
string McTransportText = "Tcp" [get, set]
string McRetryCountText = "1" [get, set]
string HandshakeStartValueText = "1000" [get, set]
string HandshakeIterationsText = "100" [get, set]
string HandshakeDelayMsText = "10" [get, set]

Private 멤버 함수

void UseMitsubishiMxComponentClient ()
void UseOmronCxComponentClient ()
void UseOmronFinsClient (string host, int port, string transportText)
void UseMitsubishiMcClient (string host, int port, string transportText)
bool TryGetPort (out int port)

Private 속성

readonly PlcSampleRuntime _runtime

상세한 설명

Dreamine PLC 모니터 샘플 페이지 이벤트 처리 클래스입니다.

PagePlcMonitor.xaml.Event.cs 파일의 15 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ PagePlcMonitorEvent()

SampleSmart.Pages.PageSub.PagePlcMonitorEvent.PagePlcMonitorEvent ( PlcSampleRuntime runtime)
inline

PagePlcMonitorEvent 클래스의 새 인스턴스를 초기화합니다.

매개변수
runtimePLC 샘플 실행 컨텍스트입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

PagePlcMonitor.xaml.Event.cs 파일의 51 번째 라인에서 정의되었습니다.

52 {
53 _runtime = runtime ?? throw new ArgumentNullException(nameof(runtime));
54 }

다음을 참조함 : _runtime.

멤버 함수 문서화

◆ RunHandshakeTest()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.RunHandshakeTest ( )
inline

D100/D101 기반 자동 응답 Handshake 테스트를 실행합니다.

PagePlcMonitor.xaml.Event.cs 파일의 481 번째 라인에서 정의되었습니다.

482 {
483 if (!short.TryParse(HandshakeStartValueText, out var startValue))
484 {
485 _runtime.Monitor.StatusMessage = "Handshake start value must be a 16-bit integer.";
486 return;
487 }
488
489 if (!int.TryParse(HandshakeIterationsText, out var iterations) || iterations <= 0)
490 {
491 _runtime.Monitor.StatusMessage = "Handshake iterations must be greater than zero.";
492 return;
493 }
494
495 if (!int.TryParse(HandshakeDelayMsText, out var delayMs) || delayMs < 0)
496 {
497 _runtime.Monitor.StatusMessage = "Handshake delay must be zero or greater.";
498 return;
499 }
500
501 _ = _runtime.RunHandshakeTestAsync(startValue, iterations, delayMs);
502 }

다음을 참조함 : _runtime, HandshakeDelayMsText, HandshakeIterationsText, HandshakeStartValueText.

◆ StartServer()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.StartServer ( )
inline

PLC Simulator 서버를 시작합니다.

PagePlcMonitor.xaml.Event.cs 파일의 229 번째 라인에서 정의되었습니다.

230 {
231 var mode = string.IsNullOrWhiteSpace(ClientModeText) ? "SimulatorTcp" : ClientModeText.Trim();
232 if (mode.Equals("MxComponent", StringComparison.OrdinalIgnoreCase)
233 || mode.Equals("CxComponent", StringComparison.OrdinalIgnoreCase))
234 {
235 _runtime.Monitor.StatusMessage = "MxComponent/CxComponent modes use vendor runtime directly. Press Use Client, then Connect.";
236 return;
237 }
238
239 if (!TryGetPort(out var port))
240 {
241 return;
242 }
243
244 _ = _runtime.StartProtocolServerAsync(ClientModeText, Host, port);
245 }

다음을 참조함 : _runtime, ClientModeText, Host, TryGetPort().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ StopServer()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.StopServer ( )
inline

PLC Simulator 서버를 중지합니다.

PagePlcMonitor.xaml.Event.cs 파일의 255 번째 라인에서 정의되었습니다.

256 {
257 _ = _runtime.StopProtocolServerAsync();
258 }

다음을 참조함 : _runtime.

◆ TryGetPort()

bool SampleSmart.Pages.PageSub.PagePlcMonitorEvent.TryGetPort ( out int port)
inlineprivate

Get Port 작업을 시도하고 성공 여부를 반환합니다.

매개변수
portport에 사용할 int 값입니다.
반환값
Try Get Port 조건이 충족되면 true이고, 그렇지 않으면 false입니다.

PagePlcMonitor.xaml.Event.cs 파일의 528 번째 라인에서 정의되었습니다.

529 {
530 if (!int.TryParse(PortText, out port) || port is <= 0 or > 65535)
531 {
532 _runtime.Monitor.StatusMessage = "Port must be between 1 and 65535.";
533 return false;
534 }
535
536 return true;
537 }

다음을 참조함 : PortText.

다음에 의해서 참조됨 : StartServer(), UseSelectedClient(), UseTcpClient().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UseInMemory()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseInMemory ( )
inline

InMemory PLC Client를 선택합니다.

PagePlcMonitor.xaml.Event.cs 파일의 216 번째 라인에서 정의되었습니다.

217 {
218 _runtime.UseInMemoryClient();
219 }

다음을 참조함 : _runtime.

◆ UseMcClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseMcClient ( )
inline

Mitsubishi MC Client를 선택합니다.

PagePlcMonitor.xaml.Event.cs 파일의 456 번째 라인에서 정의되었습니다.

457 {
458 if (!int.TryParse(McPortText, out var port) || port is <= 0 or > 65535)
459 {
460 _runtime.Monitor.StatusMessage = "MC port must be between 1 and 65535.";
461 return;
462 }
463
464 if (!int.TryParse(McRetryCountText, out var retryCount) || retryCount <= 0)
465 {
466 _runtime.Monitor.StatusMessage = "MC retry count must be greater than zero.";
467 return;
468 }
469
470 _runtime.UseMitsubishiMcClient(McHost, port, McTransportText, retryCount);
471 }

다음을 참조함 : _runtime, McHost, McPortText, McRetryCountText, McTransportText.

◆ UseMitsubishiMcClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseMitsubishiMcClient ( string host,
int port,
string transportText )
inlineprivate

Use Mitsubishi Mc Client 작업을 수행합니다.

매개변수
hosthost에 사용할 string 값입니다.
portport에 사용할 int 값입니다.
transportTexttransport Text에 사용할 string 값입니다.

PagePlcMonitor.xaml.Event.cs 파일의 436 번째 라인에서 정의되었습니다.

437 {
438 if (!int.TryParse(McRetryCountText, out var retryCount) || retryCount <= 0)
439 {
440 _runtime.Monitor.StatusMessage = "MC retry count must be greater than zero.";
441 return;
442 }
443
444 _runtime.UseMitsubishiMcClient(host, port, transportText, retryCount);
445 }

다음을 참조함 : _runtime, McRetryCountText.

다음에 의해서 참조됨 : UseSelectedClient().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UseMitsubishiMxComponentClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseMitsubishiMxComponentClient ( )
inlineprivate

Use Mitsubishi Mx Component Client 작업을 수행합니다.

PagePlcMonitor.xaml.Event.cs 파일의 313 번째 라인에서 정의되었습니다.

314 {
315 if (!int.TryParse(MxLogicalStationNumberText, out var logicalStationNumber) || logicalStationNumber < 0)
316 {
317 _runtime.Monitor.StatusMessage = "MX logical station number must be zero or greater.";
318 return;
319 }
320
321 var progId = string.IsNullOrWhiteSpace(MxProgId)
322 ? MitsubishiMxComponentOptions.DefaultProgId
323 : MxProgId;
324
325 _runtime.UseMitsubishiMxComponentClient(progId, logicalStationNumber);
326 }

다음을 참조함 : _runtime, MxLogicalStationNumberText, MxProgId.

다음에 의해서 참조됨 : UseSelectedClient().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UseOmronCxComponentClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseOmronCxComponentClient ( )
inlineprivate

Use Omron Cx Component Client 작업을 수행합니다.

PagePlcMonitor.xaml.Event.cs 파일의 336 번째 라인에서 정의되었습니다.

337 {
338 _runtime.UseOmronCxComponentClient(CxProgId, CxPeerAddress);
339 }

다음을 참조함 : _runtime, CxPeerAddress, CxProgId.

다음에 의해서 참조됨 : UseSelectedClient().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UseOmronFinsClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseOmronFinsClient ( string host,
int port,
string transportText )
inlineprivate

Use Omron Fins Client 작업을 수행합니다.

매개변수
hosthost에 사용할 string 값입니다.
portport에 사용할 int 값입니다.
transportTexttransport Text에 사용할 string 값입니다.

PagePlcMonitor.xaml.Event.cs 파일의 374 번째 라인에서 정의되었습니다.

375 {
376 if (!int.TryParse(McRetryCountText, out var retryCount) || retryCount <= 0)
377 {
378 _runtime.Monitor.StatusMessage = "FINS retry count must be greater than zero.";
379 return;
380 }
381
382 _runtime.UseOmronFinsClient(host, port, transportText, retryCount);
383 }

다음을 참조함 : _runtime, McRetryCountText.

다음에 의해서 참조됨 : UseSelectedClient().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UseSelectedClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseSelectedClient ( )
inline

선택된 PLC Client를 모니터에 연결합니다.

PagePlcMonitor.xaml.Event.cs 파일의 268 번째 라인에서 정의되었습니다.

269 {
270 if (!TryGetPort(out var port))
271 {
272 return;
273 }
274
275 var mode = string.IsNullOrWhiteSpace(ClientModeText) ? "SimulatorTcp" : ClientModeText.Trim();
276 switch (mode.ToUpperInvariant())
277 {
278 case "SIMULATORTCP":
279 _runtime.UseSimulatorTcpClient(Host, port);
280 return;
281 case "MCTCP":
282 UseMitsubishiMcClient(Host, port, "Tcp");
283 return;
284 case "MCUDP":
285 UseMitsubishiMcClient(Host, port, "Udp");
286 return;
287 case "FINSTCP":
288 UseOmronFinsClient(Host, port, "Tcp");
289 return;
290 case "FINSUDP":
291 UseOmronFinsClient(Host, port, "Udp");
292 return;
293 case "MXCOMPONENT":
294 UseMitsubishiMxComponentClient();
295 return;
296 case "CXCOMPONENT":
297 UseOmronCxComponentClient();
298 return;
299 default:
300 _runtime.Monitor.StatusMessage = "Client mode must be SimulatorTcp, McTcp, McUdp, FinsTcp, FinsUdp, MxComponent, or CxComponent.";
301 return;
302 }
303 }

다음을 참조함 : _runtime, ClientModeText, Host, TryGetPort(), UseMitsubishiMcClient(), UseMitsubishiMxComponentClient(), UseOmronCxComponentClient(), UseOmronFinsClient().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ UseTcpClient()

void SampleSmart.Pages.PageSub.PagePlcMonitorEvent.UseTcpClient ( )
inline

PLC Simulator TCP Client를 선택합니다.

PagePlcMonitor.xaml.Event.cs 파일의 393 번째 라인에서 정의되었습니다.

394 {
395 if (!TryGetPort(out var port))
396 {
397 return;
398 }
399
400 _runtime.UseSimulatorTcpClient(Host, port);
401 }

다음을 참조함 : _runtime, Host, TryGetPort().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _runtime

readonly PlcSampleRuntime SampleSmart.Pages.PageSub.PagePlcMonitorEvent._runtime
private

속성 문서화

◆ ClientModeText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.ClientModeText = "SimulatorTcp"
getset

PLC Client 선택 모드 문자열입니다. SimulatorTcp, McTcp, McUdp, FinsTcp, FinsUdp, MxComponent, CxComponent를 사용합니다.

PagePlcMonitor.xaml.Event.cs 파일의 95 번째 라인에서 정의되었습니다.

95{ get; set; } = "SimulatorTcp";

다음에 의해서 참조됨 : StartServer(), UseSelectedClient().

◆ CxPeerAddress

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.CxPeerAddress = "127.0.0.1"
getset

CX-Compolet peer address입니다.

PagePlcMonitor.xaml.Event.cs 파일의 135 번째 라인에서 정의되었습니다.

135{ get; set; } = "127.0.0.1";

다음에 의해서 참조됨 : UseOmronCxComponentClient().

◆ CxProgId

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.CxProgId = "OMRON.Compolet.CJ2Compolet"
getset

CX-Compolet ProgID입니다.

PagePlcMonitor.xaml.Event.cs 파일의 125 번째 라인에서 정의되었습니다.

125{ get; set; } = "OMRON.Compolet.CJ2Compolet";

다음에 의해서 참조됨 : UseOmronCxComponentClient().

◆ HandshakeDelayMsText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.HandshakeDelayMsText = "10"
getset

Handshake 반복 간격 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 206 번째 라인에서 정의되었습니다.

206{ get; set; } = "10";

다음에 의해서 참조됨 : RunHandshakeTest().

◆ HandshakeIterationsText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.HandshakeIterationsText = "100"
getset

Handshake 반복 횟수 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 196 번째 라인에서 정의되었습니다.

196{ get; set; } = "100";

다음에 의해서 참조됨 : RunHandshakeTest().

◆ HandshakeStartValueText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.HandshakeStartValueText = "1000"
getset

Handshake 시작 값 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 186 번째 라인에서 정의되었습니다.

186{ get; set; } = "1000";

다음에 의해서 참조됨 : RunHandshakeTest().

◆ Host

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.Host = "127.0.0.1"
getset

Simulator Host입니다.

PagePlcMonitor.xaml.Event.cs 파일의 74 번째 라인에서 정의되었습니다.

74{ get; set; } = "127.0.0.1";

다음에 의해서 참조됨 : StartServer(), UseSelectedClient(), UseTcpClient().

◆ McHost

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.McHost = "127.0.0.1"
getset

Mitsubishi MC Host입니다.

PagePlcMonitor.xaml.Event.cs 파일의 146 번째 라인에서 정의되었습니다.

146{ get; set; } = "127.0.0.1";

다음에 의해서 참조됨 : UseMcClient().

◆ McPortText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.McPortText = "5000"
getset

Mitsubishi MC Port 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 156 번째 라인에서 정의되었습니다.

156{ get; set; } = "5000";

다음에 의해서 참조됨 : UseMcClient().

◆ McRetryCountText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.McRetryCountText = "1"
getset

Mitsubishi MC Retry Count 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 176 번째 라인에서 정의되었습니다.

176{ get; set; } = "1";

다음에 의해서 참조됨 : UseMcClient(), UseMitsubishiMcClient(), UseOmronFinsClient().

◆ McTransportText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.McTransportText = "Tcp"
getset

Mitsubishi MC Transport 문자열입니다. Tcp 또는 Udp를 사용합니다.

PagePlcMonitor.xaml.Event.cs 파일의 166 번째 라인에서 정의되었습니다.

166{ get; set; } = "Tcp";

다음에 의해서 참조됨 : UseMcClient().

◆ Monitor

PlcMonitorViewModel SampleSmart.Pages.PageSub.PagePlcMonitorEvent.Monitor
get

PLC Monitor ViewModel입니다.

PagePlcMonitor.xaml.Event.cs 파일의 64 번째 라인에서 정의되었습니다.

◆ MxLogicalStationNumberText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.MxLogicalStationNumberText = "0"
getset

MX Component logical station number 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 115 번째 라인에서 정의되었습니다.

115{ get; set; } = "0";

다음에 의해서 참조됨 : UseMitsubishiMxComponentClient().

◆ MxProgId

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.MxProgId = MitsubishiMxComponentOptions.DefaultProgId
getset

MX Component ProgID입니다.

PagePlcMonitor.xaml.Event.cs 파일의 105 번째 라인에서 정의되었습니다.

105{ get; set; } = MitsubishiMxComponentOptions.DefaultProgId;

다음에 의해서 참조됨 : UseMitsubishiMxComponentClient().

◆ PortText

string SampleSmart.Pages.PageSub.PagePlcMonitorEvent.PortText = "55000"
getset

Simulator Port 문자열입니다.

PagePlcMonitor.xaml.Event.cs 파일의 84 번째 라인에서 정의되었습니다.

84{ get; set; } = "55000";

다음에 의해서 참조됨 : TryGetPort().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: