2026-06-05 13:44:39 +09:00

94 lines
2.6 KiB
C#

using Aurora.Api;
using AuroraLaserScanner;
using Hermes;
using System;
using VisionCommon;
using WeldingCommon.Sequences;
namespace WeldingCommon.Vision.Adapter {
/// <summary>
/// 장비의 카메라 트리거 어댑터
/// </summary>
public class EquipTrigger : IEquipTrigger {
private Logger _Logger = new Logger(typeof(EquipTrigger).Name);
private Scanner _Scanner;
/// <summary>
/// SW or HW 트리거 모드 일괄 설정
/// </summary>
/// <param name="param">파라미터</param>
/// <returns>성공 유무</returns>
public int SetTrigger(object param = null) {
_Scanner = VisionEnv.AuroraEnv.DeviceManager[CommonDeviceIds.Scanner] as Scanner;
return E1.OK;
}
/// <summary>
/// SW 트리거 모드 설정
/// </summary>
/// <param name="param">파라미터</param>
/// <returns>성공 유무</returns>
public int SetSwTrigger(object param = null) {
// 장비에 맞게 구현
return E1.OK;
}
/// <summary>
/// HW 트리거 모드 설정
/// </summary>
/// <param name="param">파라미터</param>
/// <returns>성공 유무</returns>
public int SetHwTrigger(object param = null) {
// 장비에 맞게 구현
return E1.OK;
}
/// <summary>
/// 트리거 신호 ON
/// </summary>
/// <returns>성공 유무</returns>
public int TriggerOn() {
try {
_Scanner.SetLaserPinOut(0x01);
}
catch (Exception e) {
_Logger.FuncE();
return E1.GENERIC;
}
return E1.OK;
}
/// <summary>
/// 트리거 신호 OFF
/// </summary>
/// <returns>성공 유무</returns>
public int TriggerOff() {
try {
_Scanner.SetLaserPinOut(0x00);
}
catch (Exception e) {
_Logger.FuncE();
return E1.GENERIC;
}
return E1.OK;
}
/// <summary>
/// 트리거 신호 On
/// </summary>
/// <param name="camConfig">카메라 컨피그</param>
public void TriggerOn(CamConfig camConfig) {
// 장비에 맞게 구현
}
/// <summary>
/// 트리거 신호 Off
/// </summary>
/// <param name="camConfig">카메라 컨피그</param>
public void TriggerOff(CamConfig camConfig) {
// 장비에 맞게 구현
}
}
}