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
|
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.PMR.Hardware;
using Tango.Stubs.UI;
public void OnExecute(StubManager stubManager)
{
/* for (int i = 0; i < 10; i++)
{
var response = stubManager.Run<CalculateResponse>("calculate", 10, 5);
if (response.Sum == 15)
{
stubManager.WriteLine("OK!");
}
}
*/
// Request ----
// Double : DryerZone1Temp
// Double : DryerZone2Temp
// RepeatedField`1 : HardwarePidControl
// RepeatedField`1 : ProcessParameters
// Response ----
// UInt32 : HeaterGroupId
// UInt32 : Zone1Temp
// UInt32 : Zone2Temp
// Boolean : Heater1Active
// Boolean : Heater2Active
// UInt32 : Heater1Percentage
// UInt32 : Heater2Percentage
HardwarePidControl Pid1 = new HardwarePidControl();
HardwarePidControl Pid2 = new HardwarePidControl();
//Pid1.has_hardwarepidcontroltype = true;
Pid1.HardwarePidControlType = (HardwarePidControlType)0;
// Pid1.has_outputproportionalpowerlimit = true;
Pid1.OutputProportionalPowerLimit = 50;
// Pid1.has_outputproportionalband = true;
Pid1.OutputProportionalBand = 3;
// Pid1.has_kp = true;
Pid1.Kp = 2.0;
//Pid1.has_ki = true;
Pid1.Ki = 0.01;
//Pid2.has_hardwarepidcontroltype = true;
Pid2.HardwarePidControlType = (HardwarePidControlType)1;
// Pid2.has_outputproportionalpowerlimit = true;
Pid2.OutputProportionalPowerLimit = 40;
// Pid2.has_outputproportionalband = true;
Pid2.OutputProportionalBand = 3;
// Pid2.has_kp = true;
Pid2.Kp = 0.5;
//Pid2.has_ki = true;
Pid2.Ki = 0.1;
var response = stubManager.Run<StubHeatingTestResponse>("StubHeatingTestRequest" ,200.0, 200.0, Pid1, Pid2);
int i=0;
// Request ----
// Response ----
// UInt32 : HeaterGroupId
// UInt32 : Zone1Temp
// UInt32 : Zone2Temp
// Boolean : Heater1Active
// Boolean : Heater2Active
// UInt32 : Heater1Percentage
// UInt32 : Heater2Percentage
var response1 = stubManager.RunContinuous<StubHeatingTestPollResponse>(response1){
stubManager.WriteLine ("{0}, {1}, {2}, {3}, {4}, {5}, {6}",++1,response1.Zone1Temp,response1.Zone2Temp,response1.Heater1Active,response1.Heater2Active,response1.Heater1Percentage,response1.Heater2Percentage);
};
}
|