iconDreamine
← 목록

Dreamine.PLC.Wpf

stablev1.0.1

WPF PLC 모니터링 컨트롤 — 실시간 태그 바인딩, 알람 표시.

#communication#diagnostics#dreamine#industrial-automation#monitoring#plc#wpf
TFM net8.0-windowsPackage Dreamine.PLC.Wpf참조 Dreamine.MVVM.ViewModels, Dreamine.PLC.Abstractions, Dreamine.PLC.Core

Dreamine.PLC.Wpf

English documentation

Dreamine PLC 통신을 위한 WPF 모니터링 및 진단 UI 컴포넌트입니다.

이 패키지는 Dreamine PLC 패키지군의 모든 IPlcClient 구현체와 바인딩 가능한 재사용 PLC Monitor View를 제공합니다.

주요 기능

  • PLC 연결 상태 표시
  • 선택 가능한 Client 바인딩 흐름
  • Bit Read/Write 진단
  • Word Read/Write 진단
  • 동작 로그 표시
  • Faulted / Disconnected 상태 처리
  • 재사용 가능한 WPF Monitor Control

샘플에서 검증된 Client 타입

Monitor는 모든 IPlcClient와 사용할 수 있습니다. 현재 SampleSmart에서는 다음 Client 흐름이 검증되었습니다.

  • InMemory PLC Client
  • Dreamine Simulator TCP Client
  • Mitsubishi MC TCP Client
  • Mitsubishi MC UDP Client
  • Omron FINS TCP Client
  • Omron FINS UDP Client

샘플 Mode 매칭 규칙

샘플은 하나의 통합 PLC Protocol 페이지를 사용합니다. 시뮬레이터 기반 테스트에서는 서버와 클라이언트 Mode가 반드시 같아야 합니다.

SimulatorTcp ↔ SimulatorTcp
McTcp        ↔ McTcp
McUdp        ↔ McUdp
FinsTcp      ↔ FinsTcp
FinsUdp      ↔ FinsUdp

Mode가 다르면 통신 실패가 정상입니다.

PC-to-PC 테스트 요구사항

두 PC 간 테스트를 진행할 때는 서버 PC의 해당 프로토콜 포트를 열어야 합니다.

예: 55000 포트 사용 시

New-NetFirewallRule -DisplayName "Dreamine PLC TCP 55000" -Direction Inbound -Protocol TCP -LocalPort 55000 -Action Allow
New-NetFirewallRule -DisplayName "Dreamine PLC UDP 55000" -Direction Inbound -Protocol UDP -LocalPort 55000 -Action Allow

PowerShell은 관리자 권한으로 실행해야 합니다. 클라이언트 PC는 일반적으로 서버 역할을 하지 않으면 인바운드 규칙이 필요 없습니다.

실제 PLC 테스트 안내

WPF Monitor는 실제 PLC Client와 연결할 수 있지만, 실제 PLC 검증은 별도로 진행해야 합니다.

실제 PLC 연결 전 확인 항목:

  • PLC IP 주소와 Port
  • 프로토콜 Mode
  • TCP/UDP 방화벽 경로
  • PLC Ethernet Module 설정
  • PLC Memory 영역 매핑
  • 안전한 Polling 주기
  • Write 동작 안전성

실제 PLC에는 1ms Polling을 사용하지 마십시오. 모니터링은 100ms ~ 500ms, 제어 신호 Write는 이벤트 기반을 권장합니다.

패키지 범위

이 패키지는 벤더 프로토콜을 직접 구현하지 않습니다. UI 컴포넌트와 ViewModel만 제공합니다.

벤더 프로토콜 구현은 다음 패키지에 둡니다.

  • Dreamine.PLC.Mitsubishi.MC
  • Dreamine.PLC.Omron.Fins
  • 향후 벤더 패키지

라이선스

MIT License.

구조 다이어그램

classDiagram
    class PlcConnectionPanel {
        +IPlcClient Client
        +bool IsConnected
        +string StatusText
        +IRelayCommand ConnectCommand
        +IRelayCommand DisconnectCommand
    }
    class PlcAddressMonitorView {
        +IPlcClient Client
        +ObservableCollection~MonitorRow~ Rows
        +bool IsRunning
        +int RefreshMs
        +AddAddress(string, PlcDataType) void
        +RemoveAddress(string) void
        +StartMonitoring() void
        +StopMonitoring() void
    }
    class PlcSignalLamp {
        +string Address
        +IPlcClient Client
        +bool Value
        +Color OnColor
        +Color OffColor
    }
    class PlcValueDisplay {
        +string Address
        +IPlcClient Client
        +object Value
        +string Format
        +string Unit
    }
    class MonitorRow {
        +string Address
        +PlcDataType DataType
        +object Value
        +DateTime LastRead
    }
    UserControl <|-- PlcConnectionPanel
    UserControl <|-- PlcAddressMonitorView
    UserControl <|-- PlcSignalLamp
    UserControl <|-- PlcValueDisplay
    PlcAddressMonitorView o-- MonitorRow

API 문서

타입

DelegateCommand

\if KO 명령 매개변수를 전달받는 구현을 제공합니다. \endif \if EN Provides an implementation that accepts the command parameter. \endif

IPlcMonitorService

\if KO PLC 모니터 ViewModel을 애플리케이션에 노출하는 서비스 계약을 정의합니다. \endif \if EN Defines an application-facing service contract for a PLC monitor view model. \endif

PlcAddressViewItem

\if KO PLC 모니터 UI에 표시되는 주소 행을 나타냅니다. \endif \if EN Represents an address row displayed by PLC monitor UI surfaces. \endif

PlcChannelViewItem

\if KO PLC 모니터 UI에 표시되는 채널 행을 나타냅니다. \endif \if EN Represents a PLC channel row displayed by monitor UI surfaces. \endif

PlcConnectionStateBrushConverter

\if KO PLC 연결 상태 값을 표시용 브러시로 변환합니다. \endif \if EN Converts PLC connection-state values to display brushes. \endif

PlcMonitorService

\if KO 기본 PLC 모니터 서비스 구현을 제공합니다. \endif \if EN Provides the default PLC monitor service implementation. \endif

PlcMonitorView

\if KO PlcMonitorView의 WPF 상호 작용 논리를 제공합니다. \endif \if EN Provides WPF interaction logic for PlcMonitorView. \endif

PlcMonitorViewModel

\if KO 제조사에 독립적인 PLC 모니터 ViewModel을 제공합니다. \endif \if EN Provides a vendor-neutral PLC monitor view model. \endif

PlcOperationLogItem

\if KO PLC 모니터 작업 로그 항목을 나타냅니다. \endif \if EN Represents a PLC monitor operation-log item. \endif

DelegateCommand

#ctor Method

\if KO 실행 및 선택적 실행 가능 조건을 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of with execution and optional can-execute delegates. \endif

execute— \if KO 명령 실행 시 호출할 대리자입니다. \endif \if EN The delegate invoked when the command executes. \endif
canExecute— \if KO 실행 가능 여부를 평가할 선택적 대리자입니다. \endif \if EN The optional delegate that evaluates whether execution is allowed. \endif
CanExecute Method

\if KO 현재 매개변수로 명령을 실행할 수 있는지 확인합니다. \endif \if EN Determines whether the command can execute with the current parameter. \endif

parameter— \if KO 실행 가능 조건에 전달할 명령 매개변수입니다. \endif \if EN The command parameter passed to the can-execute predicate. \endif

반환: \if KO 조건이 없거나 조건이 허용하면 입니다. \endif \if EN when no predicate exists or the predicate permits execution. \endif

Execute Method

\if KO 실행 가능 조건이 허용하는 경우 명령 대리자를 호출합니다. \endif \if EN Invokes the command delegate when the can-execute condition permits it. \endif

parameter— \if KO 실행 가능 조건과 실행 대리자에 전달할 매개변수입니다. \endif \if EN The parameter passed to the can-execute predicate and execution delegate. \endif
RaiseCanExecuteChanged Method

\if KO 이벤트를 발생시킵니다. \endif \if EN Raises the event. \endif

_canExecute Field

\if KO can Execute 값을 보관합니다. \endif \if EN Stores the can execute value. \endif

_execute Field

\if KO execute 값을 보관합니다. \endif \if EN Stores the execute value. \endif

CanExecuteChanged Event

\if KO 명령의 실행 가능 상태가 변경되었음을 알릴 때 발생합니다. \endif \if EN Occurs when the command's ability to execute may have changed. \endif

IPlcMonitorService

AppendLog Method

\if KO PLC 모니터에 진단 로그 항목을 추가합니다. \endif \if EN Adds a diagnostic log entry to the PLC monitor. \endif

operation— \if KO 작업 이름입니다. \endif \if EN The operation name. \endif
address— \if KO PLC 주소 텍스트입니다. \endif \if EN The PLC address text. \endif
values— \if KO 작업 값 텍스트입니다. \endif \if EN The operation-values text. \endif
isSuccess— \if KO 작업 성공 여부입니다. \endif \if EN Whether the operation succeeded. \endif
message— \if KO 진단 메시지입니다. \endif \if EN The diagnostic message. \endif
SetClient Method

\if KO 모니터링할 PLC 클라이언트와 채널 이름을 교체합니다. \endif \if EN Replaces the monitored PLC client and channel name. \endif

client— \if KO 모니터링할 PLC 클라이언트입니다. \endif \if EN The PLC client to monitor. \endif
channelName— \if KO UI에 표시할 채널 이름입니다. \endif \if EN The channel name displayed in the UI. \endif
ViewModel Property

\if KO 뷰에 노출되는 모니터 ViewModel을 가져옵니다. \endif \if EN Gets the monitor view model exposed to the view. \endif

PlcAddressViewItem

SetField``1 Method

\if KO 필드 값이 달라진 경우 값을 갱신하고 속성 변경 이벤트를 발생시킵니다. \endif \if EN Updates a field and raises the property-change event when the value differs. \endif

field— \if KO 갱신할 필드 참조입니다. \endif \if EN A reference to the field to update. \endif
value— \if KO 새 값입니다. \endif \if EN The new value. \endif
propertyName— \if KO 변경 이벤트에 사용할 속성 이름입니다. \endif \if EN The property name used for the change event. \endif

반환: \if KO 값이 변경되었으면 입니다. \endif \if EN when the value changed. \endif

ToAddress Method

\if KO 현재 행 값을 PLC 주소로 변환합니다. \endif \if EN Converts the current row values to a PLC address. \endif

반환: \if KO 장치 형식과 오프셋을 포함한 PLC 주소입니다. \endif \if EN The PLC address containing the device type and offsets. \endif

BitOffset Property

\if KO 선택적 비트 오프셋을 가져오거나 설정합니다. 은 워드 주소를 나타냅니다. \endif \if EN Gets or sets the optional bit offset. represents a word address. \endif

DeviceType Property

\if KO PLC 장치 형식을 가져오거나 설정합니다. \endif \if EN Gets or sets the PLC device type. \endif

DisplayName Property

\if KO 사용자에게 표시할 주소 레이블을 가져오거나 설정합니다. \endif \if EN Gets or sets the user-facing address label. \endif

Offset Property

\if KO PLC 주소 오프셋을 가져오거나 설정합니다. \endif \if EN Gets or sets the PLC address offset. \endif

_bitOffset Field

\if KO bit Offset 값을 보관합니다. \endif \if EN Stores the bit offset value. \endif

_deviceType Field

\if KO device Type 값을 보관합니다. \endif \if EN Stores the device type value. \endif

_displayName Field

\if KO display Name 값을 보관합니다. \endif \if EN Stores the display name value. \endif

_offset Field

\if KO offset 값을 보관합니다. \endif \if EN Stores the offset value. \endif

PropertyChanged Event

\if KO 속성 값이 변경될 때 발생합니다. \endif \if EN Occurs when a property value changes. \endif

PlcChannelViewItem

SetField``1 Method

\if KO 필드 값이 달라진 경우 값을 갱신하고 속성 변경 이벤트를 발생시킵니다. \endif \if EN Updates a field and raises the property-change event when the value differs. \endif

field— \if KO 갱신할 필드 참조입니다. \endif \if EN A reference to the field to update. \endif
value— \if KO 새 값입니다. \endif \if EN The new value. \endif
propertyName— \if KO 변경 이벤트에 사용할 속성 이름입니다. \endif \if EN The property name used for the change event. \endif

반환: \if KO 값이 변경되었으면 입니다. \endif \if EN when the value changed. \endif

Description Property

\if KO 채널 설명을 가져오거나 설정합니다. \endif \if EN Gets or sets the channel description. \endif

Name Property

\if KO 채널 표시 이름을 가져오거나 설정합니다. \endif \if EN Gets or sets the channel display name. \endif

State Property

\if KO 현재 채널 연결 상태를 가져오거나 설정합니다. \endif \if EN Gets or sets the current channel connection state. \endif

_description Field

\if KO description 값을 보관합니다. \endif \if EN Stores the description value. \endif

_name Field

\if KO name 값을 보관합니다. \endif \if EN Stores the name value. \endif

_state Field

\if KO state 값을 보관합니다. \endif \if EN Stores the state value. \endif

PropertyChanged Event

\if KO 속성 값이 변경될 때 발생합니다. \endif \if EN Occurs when a property value changes. \endif

PlcConnectionStateBrushConverter

Convert Method

\if KO PLC 연결 상태를 해당 상태 색상의 WPF 브러시로 변환합니다. \endif \if EN Converts a PLC connection state to the WPF brush representing that state. \endif

value— \if KO 변환할 연결 상태 값입니다. \endif \if EN The connection-state value to convert. \endif
targetType— \if KO 바인딩 대상 형식이며 이 변환기에서는 사용하지 않습니다. \endif \if EN The binding target type, which this converter does not use. \endif
parameter— \if KO 선택적 변환 매개변수이며 이 변환기에서는 사용하지 않습니다. \endif \if EN An optional conversion parameter, which this converter does not use. \endif
culture— \if KO 변환 문화권이며 이 변환기에서는 사용하지 않습니다. \endif \if EN The conversion culture, which this converter does not use. \endif

반환: \if KO 상태별 브러시이며 알 수 없는 값은 회색 브러시입니다. \endif \if EN The state-specific brush, or a gray brush for an unrecognized value. \endif

ConvertBack Method

\if KO 단방향 변환기이므로 역변환하지 않고 을 반환합니다. \endif \if EN This is a one-way converter; it does not convert back and returns . \endif

value— \if KO 역변환할 값이며 사용하지 않습니다. \endif \if EN The value to convert back, which is ignored. \endif
targetType— \if KO 대상 형식이며 사용하지 않습니다. \endif \if EN The target type, which is ignored. \endif
parameter— \if KO 변환 매개변수이며 사용하지 않습니다. \endif \if EN The conversion parameter, which is ignored. \endif
culture— \if KO 변환 문화권이며 사용하지 않습니다. \endif \if EN The conversion culture, which is ignored. \endif

반환: \if KO 항상 입니다. \endif \if EN Always . \endif

PlcMonitorService

#ctor Method

\if KO 새 ViewModel을 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using a new view model. \endif

#ctor Method

\if KO 지정한 ViewModel을 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the specified view model. \endif

viewModel— \if KO 서비스에서 노출할 모니터 ViewModel입니다. \endif \if EN The monitor view model exposed by the service. \endif
AppendLog Method

\if KO ViewModel의 작업 로그에 진단 항목을 추가합니다. \endif \if EN Adds a diagnostic entry to the view model's operation log. \endif

operation— \if KO 작업 이름입니다. \endif \if EN The operation name. \endif
address— \if KO PLC 주소 텍스트입니다. \endif \if EN The PLC address text. \endif
values— \if KO 작업 값 텍스트입니다. \endif \if EN The operation-values text. \endif
isSuccess— \if KO 성공 여부입니다. \endif \if EN Whether the operation succeeded. \endif
message— \if KO 진단 메시지입니다. \endif \if EN The diagnostic message. \endif
DisposeAsync Method

\if KO 소유한 ViewModel을 비동기로 정리합니다. \endif \if EN Asynchronously disposes the owned view model. \endif

반환: \if KO ViewModel의 비동기 정리 작업입니다. \endif \if EN The view model's asynchronous disposal operation. \endif

SetClient Method

\if KO ViewModel이 모니터링할 PLC 클라이언트를 교체합니다. \endif \if EN Replaces the PLC client monitored by the view model. \endif

client— \if KO 모니터링할 PLC 클라이언트입니다. \endif \if EN The PLC client to monitor. \endif
channelName— \if KO 표시할 채널 이름입니다. \endif \if EN The channel name to display. \endif
ViewModel Property

\if KO 뷰에 노출되는 PLC 모니터 ViewModel을 가져옵니다. \endif \if EN Gets the PLC monitor view model exposed to the view. \endif

PlcMonitorView

#ctor Method

\if KO XAML 구성 요소를 로드해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of by loading its XAML components. \endif

InitializeComponent Method

InitializeComponent

PlcMonitorViewModel

#ctor Method

\if KO 메모리 PLC 클라이언트를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using an in-memory PLC client. \endif

#ctor Method

\if KO 지정한 PLC 클라이언트를 사용해 클래스의 새 인스턴스를 초기화합니다. \endif \if EN Initializes a new instance of using the specified PLC client. \endif

client— \if KO 모니터링할 PLC 클라이언트입니다. \endif \if EN The PLC client to monitor. \endif
channelName— \if KO UI에 표시할 채널 이름입니다. \endif \if EN The channel name displayed in the UI. \endif
AddLog Method

\if KO 작업 로그의 앞에 항목을 추가하고 최대 500개로 제한합니다. \endif \if EN Inserts an operation-log item at the front and limits the collection to 500 entries. \endif

operation— \if KO 작업 이름입니다. \endif \if EN The operation name. \endif
address— \if KO PLC 주소 텍스트입니다. \endif \if EN The PLC address text. \endif
values— \if KO 값 텍스트입니다. \endif \if EN The values text. \endif
isSuccess— \if KO 작업 성공 여부입니다. \endif \if EN Whether the operation succeeded. \endif
message— \if KO 결과 메시지입니다. \endif \if EN The result message. \endif
AppendLog Method

\if KO 외부 진단 로그 항목을 PLC 모니터에 추가합니다. \endif \if EN Adds an external diagnostic log entry to the PLC monitor. \endif

operation— \if KO 작업 이름입니다. \endif \if EN The operation name. \endif
address— \if KO PLC 주소 텍스트입니다. \endif \if EN The PLC address text. \endif
values— \if KO 작업 값 텍스트입니다. \endif \if EN The operation-values text. \endif
isSuccess— \if KO 작업 성공 여부입니다. \endif \if EN Whether the operation succeeded. \endif
message— \if KO 진단 메시지입니다. \endif \if EN The diagnostic message. \endif
ClearLog Method

\if KO 모든 작업 로그를 지우고 상태 메시지를 갱신합니다. \endif \if EN Clears all operation logs and updates the status message. \endif

ConnectAsync Method

\if KO 현재 PLC 클라이언트를 연결하고 상태와 로그를 갱신합니다. \endif \if EN Connects the current PLC client and updates status and logging. \endif

반환: \if KO 비동기 연결 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous connection and UI updates. \endif

DisconnectAsync Method

\if KO 현재 PLC 클라이언트의 연결을 해제하고 상태와 로그를 갱신합니다. \endif \if EN Disconnects the current PLC client and updates status and logging. \endif

반환: \if KO 비동기 연결 해제 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous disconnection and UI updates. \endif

DisposeAsync Method

\if KO 상태 이벤트 구독을 해제하고 현재 PLC 클라이언트를 비동기로 정리합니다. \endif \if EN Unsubscribes from state events and asynchronously disposes the current PLC client. \endif

반환: \if KO 클라이언트의 비동기 정리 작업입니다. \endif \if EN The client's asynchronous disposal operation. \endif

OnClientStateChanged Method

\if KO PLC 클라이언트 상태 변경을 ViewModel의 상태 속성에 반영합니다. \endif \if EN Reflects a PLC client state change in the view model's state property. \endif

sender— \if KO 상태 이벤트를 발생시킨 클라이언트입니다. \endif \if EN The client that raised the state event. \endif
e— \if KO 새 PLC 연결 상태입니다. \endif \if EN The new PLC connection state. \endif
OnPropertyChanged Method

\if KO 지정한 속성 이름으로 이벤트를 발생시킵니다. \endif \if EN Raises for the specified property name. \endif

propertyName— \if KO 변경된 속성 이름입니다. \endif \if EN The changed property name. \endif
ParseBit Method

\if KO 단일 비트 텍스트를 부울 값으로 변환합니다. \endif \if EN Converts one bit-value token to a Boolean value. \endif

text— \if KO 0, 1 또는 부울 문자열입니다. \endif \if EN A 0, 1, or Boolean string. \endif

반환: \if KO 구문 분석된 비트 값입니다. \endif \if EN The parsed bit value. \endif

ReadBitsAsync Method

\if KO UI 입력에서 비트 읽기 요청을 만들고 결과를 상태와 로그에 표시합니다. \endif \if EN Builds a bit-read request from UI input and displays its result in status and logging. \endif

반환: \if KO 비동기 비트 읽기 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous bit reading and UI updates. \endif

ReadWordsAsync Method

\if KO UI 입력에서 워드 읽기 요청을 만들고 결과를 상태와 로그에 표시합니다. \endif \if EN Builds a word-read request from UI input and displays its result in status and logging. \endif

반환: \if KO 비동기 워드 읽기 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous word reading and UI updates. \endif

SetClient Method

\if KO 현재 PLC 클라이언트와 상태 이벤트 구독을 새 클라이언트로 교체합니다. \endif \if EN Replaces the current PLC client and state-event subscription with a new client. \endif

client— \if KO 새로 모니터링할 PLC 클라이언트입니다. \endif \if EN The new PLC client to monitor. \endif
channelName— \if KO 새 채널 표시 이름입니다. \endif \if EN The new channel display name. \endif
SetField``1 Method

\if KO 필드 값이 달라진 경우 값을 갱신하고 속성 변경 알림을 발생시킵니다. \endif \if EN Updates a field and raises property-change notification when the value differs. \endif

field— \if KO 갱신할 필드 참조입니다. \endif \if EN A reference to the field to update. \endif
value— \if KO 새 값입니다. \endif \if EN The new value. \endif
propertyName— \if KO 알림에 사용할 속성 이름입니다. \endif \if EN The property name used for notification. \endif

반환: \if KO 값이 변경되었으면 입니다. \endif \if EN when the value changed. \endif

TryCreateReadRequest Method

\if KO 주소와 양수 개수 텍스트를 읽기 요청 값으로 구문 분석합니다. \endif \if EN Parses the address and positive count text into read-request values. \endif

address— \if KO 성공 시 구문 분석된 PLC 주소를 받습니다. \endif \if EN Receives the parsed PLC address on success. \endif
count— \if KO 성공 시 양수 읽기 개수를 받습니다. \endif \if EN Receives the positive read count on success. \endif

반환: \if KO 두 입력이 모두 유효하면 입니다. \endif \if EN when both inputs are valid. \endif

TryParseAddress Method

\if KO 현재 주소 텍스트를 PLC 주소로 구문 분석하고 실패 상태를 기록합니다. \endif \if EN Parses the current address text into a PLC address and records validation failure state. \endif

address— \if KO 성공 시 구문 분석된 PLC 주소를 받습니다. \endif \if EN Receives the parsed PLC address on success. \endif

반환: \if KO 주소가 유효하면 입니다. \endif \if EN when the address is valid. \endif

TryParseBits Method

\if KO 쉼표 구분 비트 텍스트를 부울 배열로 구문 분석하고 오류를 로그에 기록합니다. \endif \if EN Parses comma-separated bit text into a Boolean array and logs validation errors. \endif

text— \if KO 구문 분석할 비트 값 텍스트입니다. \endif \if EN The bit-values text to parse. \endif
values— \if KO 성공 시 구문 분석된 비트 배열을 받습니다. \endif \if EN Receives the parsed bit array on success. \endif

반환: \if KO 하나 이상의 값이 유효하게 구문 분석되면 입니다. \endif \if EN when one or more values are parsed successfully. \endif

TryParseWords Method

\if KO 쉼표 구분 워드 텍스트를 16비트 정수 배열로 구문 분석하고 오류를 로그에 기록합니다. \endif \if EN Parses comma-separated word text into a 16-bit integer array and logs validation errors. \endif

text— \if KO 구문 분석할 워드 값 텍스트입니다. \endif \if EN The word-values text to parse. \endif
values— \if KO 성공 시 구문 분석된 워드 배열을 받습니다. \endif \if EN Receives the parsed word array on success. \endif

반환: \if KO 하나 이상의 값이 유효하게 구문 분석되면 입니다. \endif \if EN when one or more values are parsed successfully. \endif

WriteBitsAsync Method

\if KO UI 입력의 비트 값을 구문 분석해 PLC에 쓰고 결과를 표시합니다. \endif \if EN Parses bit values from UI input, writes them to the PLC, and displays the result. \endif

반환: \if KO 비동기 비트 쓰기 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous bit writing and UI updates. \endif

WriteWordsAsync Method

\if KO UI 입력의 워드 값을 구문 분석해 PLC에 쓰고 결과를 표시합니다. \endif \if EN Parses word values from UI input, writes them to the PLC, and displays the result. \endif

반환: \if KO 비동기 워드 쓰기 및 UI 갱신 작업입니다. \endif \if EN A task representing asynchronous word writing and UI updates. \endif

AddressText Property

\if KO 입력된 PLC 주소 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the entered PLC address text. \endif

BitValuesText Property

\if KO 쓸 비트 값의 쉼표 구분 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the comma-separated bit-values text to write. \endif

ChannelName Property

\if KO 채널 표시 이름을 가져오거나 설정합니다. \endif \if EN Gets or sets the channel display name. \endif

ClearLogCommand Property

\if KO 작업 로그 지우기 명령을 가져옵니다. \endif \if EN Gets the operation-log clear command. \endif

ConnectCommand Property

\if KO PLC 연결 명령을 가져옵니다. \endif \if EN Gets the PLC connection command. \endif

CountText Property

\if KO 읽기 개수 입력 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the read-count input text. \endif

DisconnectCommand Property

\if KO PLC 연결 해제 명령을 가져옵니다. \endif \if EN Gets the PLC disconnection command. \endif

Logs Property

\if KO 최신 항목이 앞에 위치하는 PLC 작업 로그를 가져옵니다. \endif \if EN Gets the PLC operation log with newest entries first. \endif

ReadBitsCommand Property

\if KO PLC 비트 읽기 명령을 가져옵니다. \endif \if EN Gets the PLC bit-read command. \endif

ReadWordsCommand Property

\if KO PLC 워드 읽기 명령을 가져옵니다. \endif \if EN Gets the PLC word-read command. \endif

State Property

\if KO 현재 PLC 연결 상태를 가져옵니다. \endif \if EN Gets the current PLC connection state. \endif

StatusMessage Property

\if KO 사용자에게 표시할 상태 메시지를 가져오거나 설정합니다. \endif \if EN Gets or sets the status message displayed to the user. \endif

WordValuesText Property

\if KO 쓸 워드 값의 쉼표 구분 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the comma-separated word-values text to write. \endif

WriteBitsCommand Property

\if KO PLC 비트 쓰기 명령을 가져옵니다. \endif \if EN Gets the PLC bit-write command. \endif

WriteWordsCommand Property

\if KO PLC 워드 쓰기 명령을 가져옵니다. \endif \if EN Gets the PLC word-write command. \endif

_addressParser Field

\if KO address Parser 값을 보관합니다. \endif \if EN Stores the address parser value. \endif

_addressText Field

\if KO address Text 값을 보관합니다. \endif \if EN Stores the address text value. \endif

_bitValuesText Field

\if KO bit Values Text 값을 보관합니다. \endif \if EN Stores the bit values text value. \endif

_channelName Field

\if KO channel Name 값을 보관합니다. \endif \if EN Stores the channel name value. \endif

_client Field

\if KO client 값을 보관합니다. \endif \if EN Stores the client value. \endif

_countText Field

\if KO count Text 값을 보관합니다. \endif \if EN Stores the count text value. \endif

_state Field

\if KO state 값을 보관합니다. \endif \if EN Stores the state value. \endif

_statusMessage Field

\if KO status Message 값을 보관합니다. \endif \if EN Stores the status message value. \endif

_wordValuesText Field

\if KO word Values Text 값을 보관합니다. \endif \if EN Stores the word values text value. \endif

PropertyChanged Event

\if KO ViewModel 속성 값이 변경될 때 발생합니다. \endif \if EN Occurs when a view-model property value changes. \endif

PlcOperationLogItem

Address Property

\if KO PLC 주소 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the PLC address text. \endif

IsSuccess Property

\if KO 작업 성공 여부를 가져오거나 설정합니다. \endif \if EN Gets or sets whether the operation succeeded. \endif

Message Property

\if KO 결과 메시지를 가져오거나 설정합니다. \endif \if EN Gets or sets the result message. \endif

Operation Property

\if KO 작업 이름을 가져오거나 설정합니다. \endif \if EN Gets or sets the operation name. \endif

Time Property

\if KO 작업 시각을 가져오거나 설정합니다. \endif \if EN Gets or sets the operation timestamp. \endif

Values Property

\if KO 작업 값 텍스트를 가져오거나 설정합니다. \endif \if EN Gets or sets the operation-values text. \endif