You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using leak_test_project.Models;
|
|
|
|
|
|
|
|
|
|
namespace leak_test_project.Infrastructure
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// DIO 보드 추상화 인터페이스.
|
|
|
|
|
/// 실제 하드웨어(JunSystem DIO) 또는 시뮬레이션 보드를 교체 가능하게 설계.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public interface IDioBoard : IDisposable
|
|
|
|
|
{
|
|
|
|
|
/// <summary>DIO 보드를 초기화합니다.</summary>
|
|
|
|
|
bool Initialize();
|
|
|
|
|
|
|
|
|
|
/// <summary>지정된 입력 포인트의 현재 값을 읽습니다.</summary>
|
|
|
|
|
bool ReadInput(string pointName);
|
|
|
|
|
|
|
|
|
|
/// <summary>지정된 출력 포인트에 값을 씁니다.</summary>
|
|
|
|
|
void WriteOutput(string pointName, bool value);
|
|
|
|
|
|
|
|
|
|
/// <summary>모든 입력 포인트 목록을 반환합니다.</summary>
|
|
|
|
|
List<DioPoint> GetInputPoints();
|
|
|
|
|
|
|
|
|
|
/// <summary>모든 출력 포인트 목록을 반환합니다.</summary>
|
|
|
|
|
List<DioPoint> GetOutputPoints();
|
|
|
|
|
|
|
|
|
|
/// <summary>입력 포인트의 값이 OFF→ON으로 변경되었을 때 발생합니다.</summary>
|
|
|
|
|
event EventHandler<DioEventArgs> InputChanged;
|
|
|
|
|
|
|
|
|
|
/// <summary>보드 동작 중 오류가 발생했을 때 발생합니다.</summary>
|
|
|
|
|
event EventHandler<string> ErrorOccurred;
|
|
|
|
|
}
|
|
|
|
|
}
|