/// <summary> /// 设备管理器异常处理方法 /// </summary> /// <param name="exception">设备异常类型</param> /// <param name="device_id">设备中断号</param> void IDeviceInterrupt.Interrupt(DeviceException_Type exception, string device_id) { switch (exception) { case DeviceException_Type.Add_Failed: break; case DeviceException_Type.Not_Exist: break; case DeviceException_Type.Off_Line: break; case DeviceException_Type.Work_Failed: if (DeviceTables.TryGetValue(device_id, out DeviceTable table)) { base.ControlInterrupt.Interrupt(DeviceException_Type.Work_Failed, table.Device_ID, table.DevicePointer); } break; } }
/// <summary> /// 设备中断接口 /// </summary> /// <param name="exception">异常</param> /// <param name="device_id">设备号</param> /// <param name="device">设备主体</param> public abstract void Interrupt(DeviceException_Type exception, int device_id, IOBase device);
void IDeviceControlInterrupt.Interrupt(DeviceException_Type exception, int device_id, IOBase device) { Console.WriteLine("设备控制器:" + exception.ToString() + " " + device_id); }
/// <summary> /// 设备控制器运行时中断回调接口 /// </summary> /// <param name="exception"></param> /// <param name="device_id"></param> /// <param name="device"></param> public override void Interrupt(DeviceException_Type exception, int device_id, IOBase device) { Show.Show("设备控制器:" + exception.ToString() + " " + device_id); }