using System; using System.Text; using System.Linq; using System.Drawing; using System.Diagnostics; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; using Tango.Stubs; UInt32 Dispenser_ID = 6; //Software Dispensers 0..7, BP Dispensers 1..8 (4 for bp disp 5) public void OnExecute(StubManager stubManager) { // Request ---- // UInt32 : DispenserId // Boolean : Start --- true for ByPass // Boolean : SetDirection --- true for TestRelay // UInt32 : SetMicrostepDivision -- 1 for TestByPassTestRelay // Int32 : SetSpeed // Response ---- // UInt32 : DispenserId // UInt32 : DispenserPosition --- MSB for Disp_UP, LSB for Disp_Down // UInt32 : InkWorningLevel ---- MSB for Realy_On, LSB for Over_Press // String : Status // UInt32 : StatusWord stubManager.Write("read inputs "); stubManager.WriteLine(""); var response = stubManager.Run("StubDispenserRequest" ,Dispenser_ID, false, false, 0, 0);//read inputs stubManager.Write("MSB for Disp_UP, LSB for Disp_Down "); stubManager.WriteHex((response.DispenserPosition),4); stubManager.WriteLine(""); stubManager.Write("MSB for Realy_On, LSB for Over_Press "); stubManager.WriteHex((response.InkWorningLevel),4); stubManager.WriteLine(""); stubManager.WriteLine("----"); stubManager.WriteLine(""); stubManager.Write("TestRelay + read inputs "); stubManager.WriteLine(""); response = stubManager.Run("StubDispenserRequest" ,Dispenser_ID, false, true, 0, 0);//TestRelay + read inputs stubManager.Write("MSB for Disp_UP, LSB for Disp_Down "); stubManager.WriteHex((response.DispenserPosition),4); stubManager.WriteLine(""); stubManager.Write("MSB for Realy_On, LSB for Over_Press "); stubManager.WriteHex((response.InkWorningLevel),4); stubManager.WriteLine(""); stubManager.WriteLine("----"); stubManager.WriteLine(""); stubManager.Write("ByPass + TestRelay + read inputs "); stubManager.WriteLine(""); response = stubManager.Run("StubDispenserRequest" ,Dispenser_ID, true, true, 0, 0);//ByPass + TestRelay + read inputs stubManager.Write("MSB for Disp_UP, LSB for Disp_Down "); stubManager.WriteHex((response.DispenserPosition),4); stubManager.WriteLine(""); stubManager.Write("MSB for Realy_On, LSB for Over_Press "); stubManager.WriteHex((response.InkWorningLevel),4); stubManager.WriteLine(""); stubManager.WriteLine("----"); stubManager.WriteLine(""); stubManager.Write("Remove ByPass (TestRelay + read inputs) "); stubManager.WriteLine(""); response = stubManager.Run("StubDispenserRequest" ,Dispenser_ID, false, true, 0, 0);//TestRelay + read inputs stubManager.Write("MSB for Disp_UP, LSB for Disp_Down "); stubManager.WriteHex((response.DispenserPosition),4); stubManager.WriteLine(""); stubManager.Write("MSB for Realy_On, LSB for Over_Press "); stubManager.WriteHex((response.InkWorningLevel),4); stubManager.WriteLine(""); stubManager.WriteLine("----"); stubManager.WriteLine(""); stubManager.Write("Rempve TestRelay and read inputs "); stubManager.WriteLine(""); response = stubManager.Run("StubDispenserRequest" ,Dispenser_ID, false, false, 0, 0);//read input stubManager.Write("MSB for Disp_UP, LSB for Disp_Down "); stubManager.WriteHex((response.DispenserPosition),4); stubManager.WriteLine(""); stubManager.Write("MSB for Realy_On, LSB for Over_Press "); stubManager.WriteHex((response.InkWorningLevel),4); stubManager.WriteLine(""); stubManager.WriteLine("----"); stubManager.WriteLine(""); }