1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
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;
include "..\..\Defines\Tango_Defines_Basic.cs"
include "Tango_Defines_LimitSwitch.cs"
//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_LimitSwitch.cs"
int LimitSW_Dispenser(Int32 Fpga, Int32 Adr, int DispenserNo)
{
uint Temp = 0;
int counter = 0;
stubManager.Write("\n\nTesting limit switches dispensers no. "); stubManager.Write(DispenserNo);
stubManager.Write("\nReading register "); stubManager.Write(Adr); stubManager.Write(", Value: ");
var RetVal = Fpga_Read_Reg(Fpga, Adr, 0);
stubManager.WriteHex(RetVal.Value,4);
Temp = RetVal.Value;
stubManager.Write("\nActivate limit switches one-by-one");
while ( counter != 100)
{
RetVal = Fpga_Read_Reg(Fpga, Adr, 0);
if (RetVal.Value != Temp)
{
stubManager.Write("\nRegister new value: ");
stubManager.WriteHex(RetVal.Value,4);
counter = counter + 1;
}
Thread.Sleep(100);
Temp = RetVal.Value;
}
return 1;
}
public void OnExecute(StubManager stubManager)
{
int DispenserNo = 0;
stubManager.Write("\n\n*** Dispenser Limit Switch Test ***\n");
//Invoke the response window with custom message and default response.
var response = stubManager.ShowResponseWindow("Enter dispenser number to test (1-8):", "");
stubManager.Write("\n");
DispenserNo = int.Parse(response);
switch (DispenserNo)
{
case 1:
LimitSW_Dispenser(FPGA2, F2_LS_01_Direct, 1);
break;
case 2:
LimitSW_Dispenser(FPGA2, F2_LS_01_Direct, 2);
break;
case 3:
LimitSW_Dispenser(FPGA2, F2_LS_02_Direct, 3);
break;
case 4:
LimitSW_Dispenser(FPGA2, F2_LS_02_Direct, 4);
break;
case 5:
LimitSW_Dispenser(FPGA2, F2_LS_03_Direct, 5);
break;
case 6:
LimitSW_Dispenser(FPGA2, F2_LS_03_Direct, 6);
break;
case 7:
LimitSW_Dispenser(FPGA2, F2_LS_04_Direct, 7);
break;
case 8:
LimitSW_Dispenser(FPGA2, F2_LS_04_Direct, 8);
break;
}
}
|