public void Start() { if (Listener == null) { Listener = Task.Run(() => { while (true) { int cam_index = 0; foreach (var one in Config.IOCard.Line) { bool b = ReadDI((ushort)one.TriggerNo); Trigger(b, cam_index); cam_index++; } ChangeUI(); Task.Delay(10).Wait(); } }); //初始化DO口 uint CtrlByte = 0; foreach (var line in Config.IOCard.Line) { CtrlByte |= (uint)0 << line.MachineWaringNo; } USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); } }
public void Start() { if (Listener == null) { Listener = Task.Run(() => { while (true) { bool trayState = ReadDI((ushort)Config.IOCard.TrayNo); SetTrayChange(trayState); bool machineState = ReadDI((ushort)Config.IOCard.MachineStateNo); SetMachineChange(machineState); bool machineWaring = ReadDO((ushort)Config.IOCard.MachineWaringNo); bool machineControl = ReadDO((ushort)Config.IOCard.MachineControlNo); ChangeUI(trayState, machineState, machineWaring, machineControl); Task.Delay(10).Wait(); } }); //初始化DO口 uint CtrlByte = 0; CtrlByte |= (uint)0 << Config.IOCard.MachineControlNo; CtrlByte |= (uint)0 << Config.IOCard.MachineWaringNo; USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); } }
void SetMachine() { try { uint CtrlByte = 0; CtrlByte |= MachineControl << Config.IOCard.MachineControlNo; CtrlByte |= MachineWaring << Config.IOCard.MachineWaringNo; var res = USBDASK.UD_DO_WritePort((ushort)CardNo, 0, CtrlByte); if (res != 0) { LogError.Log.Error($"写入IO卡 DO 信号失败:Code {res}"); } } catch (Exception ex) { LogError.Log.Error($"写入IO卡 DO 信号失败:{ex.Message}"); } }