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
89
90
91
92
93
|
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.Debugging;
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.SensorCorrectionAdjustment = 2.0;
//Pid1.has_ki = true;
Pid1.IntegralTime = 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.SensorCorrectionAdjustment = 0.5;
//Pid2.has_ki = true;
Pid2.IntegralTime = 0.1;
var response = stubManager.Run<StubHeatingTestResponse>("StubHeatingTestRequest" ,200.0, 0.0, Pid1, Pid2);
int i=0;
// Request ----
// Response ----
// UInt32 : HeaterGroupId
// UInt32 : Zone1Temp
// UInt32 : Zone2Temp
// Boolean : Heater1Active
// Boolean : Heater2Active
// UInt32 : Heater1Percentage
// UInt32 : Heater2Percentage
//StubHeatingTestPollResponse response1;
stubManager.RunContinuous<StubHeatingTestPollResponse>("StubHeatingTestPollRequest",(response1) =>
{
stubManager.WriteLine (String.Format("Data, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}",++i,response1.Zone1Temp,response1.Zone2Temp,response1.Heater1Active,response1.Heater2Active,response1.Heater1Percentage,response1.Heater2Percentage,response1.InfoMessage));
},0);
/*stubManager.RunContinuous<DebugLogResponse>("DebugLogRequest",(response2) =>
{
stubManager.WriteLine (String.Format("Report, {0}, {1}, {2}",response2.FileName,response2.LineNumber,response2.Message));
},0);
*/
}
|