diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Stubs Collection/Procedures | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Stubs Collection/Procedures')
29 files changed, 1 insertions, 8983 deletions
diff --git a/Software/Stubs Collection/Procedures/ConnectionType.pproj b/Software/Stubs Collection/Procedures/ConnectionType.pproj deleted file mode 100644 index 9f87f5e00..000000000 --- a/Software/Stubs Collection/Procedures/ConnectionType.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","IsEntryPoint":true,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\t\t\r\n //Connection check example.\r\n \r\n if (context.IsConnected) //Check if there is an active machine connection.\r\n {\r\n \tif (context.ConnectionType == MachineConnectionTypes.Wifi) //Check enumeration of the active connection type.\r\n \t{\r\n \t\tcontext.WriteLine(\"The machine is connected via WiFi\");\t\r\n \t}\r\n }\r\n\r\n }\r\n}"},{"$id":"4","Name":"Service.csx","IsEntryPoint":false,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}"}]},"Inputs":{"$id":"5","$values":[]},"ReferenceAssemblies":{"$id":"6","$values":[{"$id":"7","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"8","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"11","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"17","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Dialogs":{"$id":"18","$values":[]},"ID":"d6aaf6ec-2a05-4edb-b150-fef4487acd80","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Dancer calibration.txt b/Software/Stubs Collection/Procedures/Dancer calibration.txt deleted file mode 100644 index d6b90c1f0..000000000 --- a/Software/Stubs Collection/Procedures/Dancer calibration.txt +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Google.Protobuf; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - -public class Program -{ - public void OnExecute(IProcedureContext context) - { - StubDancerPositionRequest stubDancerPositionRequest = new StubDancerPositionRequest(); - string response1 = context.GetInput<string>("ValidationPassword"); - List<uint> list = new List<uint>(); - if (response1 == "Aa123456") - { - context.WriteLine(response1); - stubDancerPositionRequest.DancerID = 0; - StubDancerPositionResponse response = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest); - Thread.Sleep(100); - list.Add (response.Position); - stubDancerPositionRequest.DancerID = 1; - response = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest); - Thread.Sleep(100); - list.Add (response.Position); - stubDancerPositionRequest.DancerID = 2; - response = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest); - Thread.Sleep(100); - list.Add (response.Position); - - context.AddResult(ResultType.Passed, "Array Result", list); - - } - else - { - context.AddResult(ResultType.Failed, "Wrong password", response1); - - } - - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Dancers calibration.pproj b/Software/Stubs Collection/Procedures/Dancers calibration.pproj deleted file mode 100644 index 53140f877..000000000 --- a/Software/Stubs Collection/Procedures/Dancers calibration.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Dancers calibration","Description":"This procedure calibrates the middle points of the dancers. you must enter the passord for the procedure to run.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\t\tStubDancerPositionRequest stubDancerPositionRequest = new StubDancerPositionRequest();\r\n\t\tstring response1 = context.GetInput<string>(\"ValidationPassword\");\r\n List<uint> list = new List<uint>();\r\n\t\tif (response1 == \"Aa123456\")\r\n\t\t{\r\n\t\t\tcontext.WriteLine(response1);\r\n\t\t\tstubDancerPositionRequest.DancerID = 0;\r\n\t\t\tStubDancerPositionResponse response = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest);\r\n\t\t\tThread.Sleep(100);\r\n\t\t\tlist.Add (response.Position);\r\n\t\t\tstubDancerPositionRequest.DancerID = 1;\r\n\t\t \tresponse = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest);\r\n\t\t\tThread.Sleep(100);\r\n\t\t\tlist.Add (response.Position);\r\n\t\t\tstubDancerPositionRequest.DancerID = 2;\r\n\t\t\tresponse = context.Send<StubDancerPositionResponse>(stubDancerPositionRequest);\r\n\t\t\tThread.Sleep(100);\r\n\t\t\tlist.Add (response.Position);\r\n\r\n\t context.AddResult(ResultType.Passed, \"Array Result\", list);\r\n\r\n\t }\r\n\t else\r\n\t {\r\n\t context.AddResult(ResultType.Failed, \"Wrong password\", response1);\r\n\r\n\t }\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Default","SelectionInputs":{"$id":"7","$values":[]},"DisplayName":"Validation Password","Description":"Validation Password","Key":"ValidationPassword","Value":"0"}]},"ReferenceAssemblies":{"$id":"8","$values":[{"$id":"9","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"19","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Dialogs":{"$id":"20","$values":[]},"ID":"23b690b1-bd08-45ba-807b-3faa244ed8c3","ApartmentState":"MTA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Debug Log Control.pproj b/Software/Stubs Collection/Procedures/Debug Log Control.pproj deleted file mode 100644 index c79f5f7e8..000000000 --- a/Software/Stubs Collection/Procedures/Debug Log Control.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Debug Log Control","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Debugging;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\t\tSetDebugLogCategoryRequest setDebugLogCategoryRequest = new SetDebugLogCategoryRequest();\r\n\t\tint Category = context.GetInput<int>(\"Category\");\r\n\t\tsetDebugLogCategoryRequest.MinimumCategory = (Tango.PMR.Debugging.DebugLogCategory)Category;\r\n\t\tvar response = context.Send<SetDebugLogCategoryResponse>(setDebugLogCategoryRequest);\r\n\r\n\t\tSetupDebugDisributorsRequest setupDebugDisributorsRequest = new SetupDebugDisributorsRequest();\r\n\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.ControlFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Control Filter\");\r\n\t\tvar response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.HeatersFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Heaters Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.JobFilter ;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Job Filter \");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.WasteFilter ;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Waste Filter \");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.AlarmFilter ;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Alarm Filter \");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.DiagnosticsFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Diagnostics Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\t//setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.IDSFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"IDS Filter\");\r\n\t\t//response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.ThreadFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Thread Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.GeneralFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"General Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.CommFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Comm Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\t//setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.FPGAFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"FPGA Filter\");\r\n\t\t//response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.LoadFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Load Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.InitFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Init Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.MaintFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Maint Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\t//setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.IFSFilter ;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"IFS Filter\");\r\n\t\t//response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\tsetupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.FilesFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Files Filter\");\r\n\t\tresponse1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\t//setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.I2CFilter ;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"I2C Filter\");\r\n\t\t//response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\t\t//setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.MotorFilter;\r\n\t\tsetupDebugDisributorsRequest.DistributorActive = context.GetInput<bool>(\"Motor Filter\");\r\n\t\t//response1 = context.Send<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);\r\n\r\n }\r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Selection","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Info","Value":"0"},{"$id":"9","Name":"Warning","Value":"1"},{"$id":"10","Name":"Error","Value":"2"},{"$id":"11","Name":"Critical","Value":"3"},{"$id":"12","Name":"Debug","Value":"4"}]},"DisplayName":"Category","Description":"Minimal category to display","Key":"Category","Value":"2"},{"$id":"13","Type":"Boolean","SelectionInputs":{"$id":"14","$values":[]},"DisplayName":"Control Filter","Description":"Control Filter","Key":"Control Filter","Value":true},{"$id":"15","Type":"Boolean","SelectionInputs":{"$id":"16","$values":[]},"DisplayName":"Heaters Filter","Description":"Heaters Filter","Key":"Heaters Filter","Value":true},{"$id":"17","Type":"Boolean","SelectionInputs":{"$id":"18","$values":[]},"DisplayName":"Job Filter","Description":"Job Filter","Key":"Job Filter","Value":true},{"$id":"19","Type":"Boolean","SelectionInputs":{"$id":"20","$values":[]},"DisplayName":"Waste Filter","Description":"Waste Filter","Key":"Waste Filter","Value":true},{"$id":"21","Type":"Boolean","SelectionInputs":{"$id":"22","$values":[]},"DisplayName":"Alarm Filter","Description":"Alarm Filter","Key":"Alarm Filter","Value":true},{"$id":"23","Type":"Boolean","SelectionInputs":{"$id":"24","$values":[]},"DisplayName":"Diagnostics Filter","Description":"Diagnostics Filter","Key":"Diagnostics Filter","Value":true},{"$id":"25","Type":"Boolean","SelectionInputs":{"$id":"26","$values":[]},"DisplayName":"IDS Filter","Description":"IDS Filter","Key":"IDS Filter","Value":true},{"$id":"27","Type":"Boolean","SelectionInputs":{"$id":"28","$values":[]},"DisplayName":"Thread Filter","Description":"Thread Filter","Key":"Thread Filter","Value":true},{"$id":"29","Type":"Boolean","SelectionInputs":{"$id":"30","$values":[]},"DisplayName":"General Filter","Description":"General Filter","Key":"General Filter","Value":true},{"$id":"31","Type":"Boolean","SelectionInputs":{"$id":"32","$values":[]},"DisplayName":"Comm Filter","Description":"Comm Filter","Key":"Comm Filter","Value":true},{"$id":"33","Type":"Boolean","SelectionInputs":{"$id":"34","$values":[]},"DisplayName":"FPGA Filter","Description":"FPGA Filter","Key":"FPGA Filter","Value":true},{"$id":"35","Type":"Boolean","SelectionInputs":{"$id":"36","$values":[]},"DisplayName":"Load Filter","Description":"Load Filter","Key":"Load Filter","Value":true},{"$id":"37","Type":"Boolean","SelectionInputs":{"$id":"38","$values":[]},"DisplayName":"Init Filter","Description":"Init Filter","Key":"Init Filter","Value":true},{"$id":"39","Type":"Boolean","SelectionInputs":{"$id":"40","$values":[]},"DisplayName":"Maint Filter","Description":"Maint Filter","Key":"Maint Filter","Value":true},{"$id":"41","Type":"Boolean","SelectionInputs":{"$id":"42","$values":[]},"DisplayName":"IFS Filter","Description":"IFS Filter","Key":"IFS Filter","Value":true},{"$id":"43","Type":"Boolean","SelectionInputs":{"$id":"44","$values":[]},"DisplayName":"Files Filter","Description":"Files Filter","Key":"Files Filter","Value":true},{"$id":"45","Type":"Boolean","SelectionInputs":{"$id":"46","$values":[]},"DisplayName":"I2C Filter","Description":"I2C Filter","Key":"I2C Filter","Value":true},{"$id":"47","Type":"Boolean","SelectionInputs":{"$id":"48","$values":[]},"DisplayName":"Motor Filter","Description":"Motor Filter","Key":"Motor Filter","Value":true}]},"Variables":{"$id":"49","$values":[]},"ReferenceAssemblies":{"$id":"50","$values":[{"$id":"51","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"52","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"53","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"54","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"55","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"56","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"57","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"58","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"59","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"60","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"61","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"62","$values":[]},"Dialogs":{"$id":"63","$values":[]},"ID":"6829ef05-2990-4989-afc3-a35ff89a3d0f","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.pproj b/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.pproj deleted file mode 100644 index 7f649fdf8..000000000 --- a/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"EmbeddedParametersBuild","Visibility":"Public","Description":"This procedure lets the FSE to define values for cleaning, tamper alarms, initial heating, WCF value and automatic dispenser filling.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.IO;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.PMR.EmbeddedParameters;\r\nusing Tango.PMR.IO;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Cleaning\r\n{\r\n\t[Description(\"Actuator Going up time\")]\r\n\tpublic int Tup;\r\n\t[Description(\"Actuator Wait up time\")]\r\n\tpublic int Tdelay1;\r\n\t[Description(\"Actuator Wait Down time\")]\r\n\tpublic int Tdelay2;\r\n}\r\npublic class Advanced\r\n{\r\n\t[Description(\"Automatic heating on machine StartUp\")]\r\n\tpublic bool InitialHeating;\r\n\t[Description(\"Waste pressure buildup factor\")]\r\n\tpublic int WFCF;\r\n\t[Description(\"Auto fill mode on/off\")]\r\n\tpublic bool Autofill;\r\n}\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\tstring description = \"\";\r\n context.AddResult(ResultType.Passed, \"My Value Name\", \"Test for this value has passed.\");\r\n\t\tConfigurationParameters configurationParameters = new ConfigurationParameters();\r\n\r\n\t\tbool AdvancedParams = context.GetInput<bool>(\"AdvancedParameters\");\r\n\t\tAdvanced Advancedparam = new Advanced();\r\n\t\tAdvancedparam.InitialHeating = true;\r\n\t\tAdvancedparam.WFCF = 40;\r\n\t\tAdvancedparam.Autofill = true;\r\n\t\tif (AdvancedParams == true)\r\n \tAdvancedparam =\tcontext.RequestUserInputFor<Advanced>(Advancedparam,\"Advanced parameters input Required\",\"Please fill in the form\");\r\n\t\tdescription += \"Version 1.5.3.3\"; \r\n\t\tconfigurationParameters.BreakSensorLimit = 10;\r\n\r\n\t\t//how many samples to collect in diagnostics before sending\r\n\t\tconfigurationParameters.DiagnosticCollectionLimit = 1;\r\n\r\n\t\t//how many consecutive readout before declaring DC over/underheat alarm\r\n\t\tconfigurationParameters.OverHeatCountLimit = 3;\r\n\t\tconfigurationParameters.UnderHeatCountLimit = 3;\r\n\r\n\t\t// time of motor activity before opening the valve or after closing the valve, in milliseconds\r\n\t\tconfigurationParameters.CloseValveTimeout = 20;\r\n\t\tconfigurationParameters.OpenValveTimeout = 20;\r\n\r\n\t\t//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)\r\n\t\tconfigurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure\r\n\t\tconfigurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps\r\n\t\tconfigurationParameters.InitialDispenserTimeLag = 100;\r\n\t\tdescription = description+\" \"+configurationParameters.InitialDispenserPressure+\"-\"+configurationParameters.InitialDispenserTimeout/1000;\r\n\r\n\t\t//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed\r\n\t\tconfigurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000\r\n\t\tconfigurationParameters.DispenserBuildPressureLimit = 0.85; \r\n\t\tconfigurationParameters.DispenserBuildPressureTimeout = 420000;\r\n\t\tconfigurationParameters.DispenserBuildPressureLag = 100;\r\n\t\tdescription = description+\" T \"+configurationParameters.DispenserBuildPressureTimeout/1000;\r\n\r\n\t\t//temperature band 1000 = 100% - thresholds for job start around target temprature - AC\r\n\t\tconfigurationParameters.ACHeatersLowerOperationLimit = 995;\r\n\t\tconfigurationParameters.ACHeatersUpperOperationLimit = 1005;\r\n\r\n\t\t//temperature band 1000 = 100% - thresholds for job start around target temprature - DC\r\n\t\tconfigurationParameters.DCHeatersLowerOperationLimit = 978;\r\n\t\tconfigurationParameters.DCHeatersUpperOperationLimit = 1005;\r\n\r\n\t\t// mid tank reading offset to add to the readout (OBSOLETE!)\r\n\t\tconfigurationParameters.MidTankPressureCorrection = 0.0;\r\n\r\n\t\t//waste factor for intersegment pressure building\r\n\t\tconfigurationParameters.DispenserPresegmentWFCF = Advancedparam.WFCF;\r\n\t\tdescription = description+\" WF\"+configurationParameters.DispenserPresegmentWFCF;\r\n\t\t\r\n\t\t//how much time to start the WFCF process (pressure buildup) before segment start\r\n\t\tconfigurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000;\r\n\r\n\t\t//flag: start heaters according to saved process parameters upon init?\r\n\t\tconfigurationParameters.StartHeatingOnInitSequence = Advancedparam.InitialHeating;\r\n\r\n\t\t// current test for the heaters - alarm thresholds\r\n\t\tconfigurationParameters.CurrentAlarmLowLimit = 0.78;\r\n\t\tconfigurationParameters.CurrentAlarmHighLimit = 1.07;\r\n\r\n\t\t//currently not in use\r\n\t\tconfigurationParameters.IDSSegmentRefillTimeout = 5000;\r\n\t\tconfigurationParameters.IDSPreSegmentBuildupTime = 5000;\r\n\t\t//cleaning!!!!!!!!!!\r\n\t\tconfigurationParameters.IDSCleaningSpeed = 800;\r\n\t\tconfigurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt\r\n\t\tconfigurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment\r\n\t\tdescription = description+\" Cl\"+configurationParameters.IDSCleaningStopBeforeSegmentTime/1000+\"-\"+configurationParameters.IDSCleaningStartSprayPreSegmentTime/1000;\r\n\t\t\r\n\t\tbool SetCleaning = context.GetInput<bool>(\"SetCleaningValues\");\r\n Cleaning Clean = new Cleaning();\r\n\t\tClean.Tup = 10;\r\n\t\tClean.Tdelay1 = 98;\r\n\t\tClean.Tdelay2 = 198;//300 milli up, stay 1 sec, stay down 2 sec\r\n\t\tif (SetCleaning == true)\r\n \tClean =\tcontext.RequestUserInputFor<Cleaning>(Clean,\"Cleaning Input Required\",\"Please fill in the form\");\r\n\r\n\t\t// Tup = LeftRockerSpeed/100;\r\n\t\t// Tdelay1 = LeftRockerSpeed%100;\r\n\t\t// Tdelay2 = RightRockerSpeed;\r\n\t\tint LeftRockerSpeed = Clean.Tup*100+Clean.Tdelay1;\r\n\t\tint RightRockerSpeed = Clean.Tdelay2;\r\n\r\n\t\tconfigurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;\r\n\t\tconfigurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;\r\n\t\tdescription = description+\"-\"+Clean.Tup+\".\"+Clean.Tdelay1+\".\"+Clean.Tdelay2;\r\n\r\n\t\tconfigurationParameters.SwitchToIdleTimeinSeconds = 3600;\r\n\t\tconfigurationParameters.IdleDrierTemperature = 80;\r\n\t\tconfigurationParameters.IdleHeadTemperature = 80;\r\n\t\tconfigurationParameters.IdleMixerTemperature = 0;\r\n\t\tconfigurationParameters.PowerOffTemperatureLimit = 60;\r\n\r\n\t\t//general parameters, ORDER MUST BE PRESERVED!!!!\r\n\t\t//check the dispensers hard limit alarms\r\n\t\t/*1*/\r\n\t\tDouble checkHardLimitAlarms = new Double();\r\n\t\tcheckHardLimitAlarms = 1.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(checkHardLimitAlarms);\r\n\r\n\t\t/*2*/\r\n\t\tDouble checkCurrentAlarms = new Double();\r\n\t\tcheckCurrentAlarms = 0.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(checkCurrentAlarms);\r\n\t\t//check the tamper alarms\r\n\r\n\t\t/*3*/\r\n\t\tDouble checkTamperAlarms = new Double();\r\n\t\tcheckTamperAlarms = context.GetInput<double>(\"CheckTampers\");\r\n\t\tconfigurationParameters.GeneralParameters.Add(checkTamperAlarms);\r\n\r\n\t\t/*4*/\r\n\t\tDouble checkMotorAlarms = new Double();\r\n\t\tcheckMotorAlarms = 1.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(checkMotorAlarms);\r\n\t\tdescription = description+\"-Cur\"+checkCurrentAlarms+\"Tamp\"+checkTamperAlarms+\"Mot\"+checkMotorAlarms;\r\n\r\n\t\t/*5*/\r\n\t\tDouble WinderBackToBaseTime = new Double();\r\n\t\tWinderBackToBaseTime = 820.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(WinderBackToBaseTime);\r\n\t\t/*6*/\r\n\t\tDouble DispenserInitialPressureSpeed = new Double();\r\n\t\tDispenserInitialPressureSpeed = 1050.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);\r\n\r\n\t\t/*7*/\r\n\t\tDouble SetDiagnosticMode = new Double();\r\n\t\tSetDiagnosticMode = 3.0;\t\t\r\n\t\tconfigurationParameters.GeneralParameters.Add(SetDiagnosticMode);\r\n\r\n\t\t/*8*/\t\t\r\n\t\tDouble SetAutoFill = new Double();\r\n\t\tSetAutoFill = 3.0;\t\t\r\n\t\tif (Advancedparam.Autofill == false)\r\n\t\t\tSetAutoFill = 0.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(SetAutoFill);\r\n\t\tdescription = description+\"-AF\"+SetAutoFill+\"DI\"+SetDiagnosticMode;\r\n\t\t/*9*/\r\n\t\tdouble PowerOffDisableCleaning = new Double();\r\n\t\tPowerOffDisableCleaning = 0.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(PowerOffDisableCleaning);\r\n\t\t/*10*/\r\n\t\tdouble SublimationBlowTime = new Double();\r\n\t\tSublimationBlowTime = 30.0;\r\n\t\tconfigurationParameters.GeneralParameters.Add(SublimationBlowTime);\r\n\t\t/*11*/\r\n\t\tdouble AllowedRangeForHeadBlowerDeviation = new Double();\r\n\t\tAllowedRangeForHeadBlowerDeviation = 7;\r\n\t\tconfigurationParameters.GeneralParameters.Add(AllowedRangeForHeadBlowerDeviation);\r\n\t\t/*12*/\r\n\t\tdouble AllowedRangeForWasteBlowerDeviation = new Double();\r\n\t\tAllowedRangeForWasteBlowerDeviation = 20;\r\n\t\tconfigurationParameters.GeneralParameters.Add(AllowedRangeForWasteBlowerDeviation);\r\n\t\t/*13*/\r\n\t\tdouble Voltage_Hysteresis = new Double();\r\n\t\tVoltage_Hysteresis = 4;\r\n\t\tconfigurationParameters.GeneralParameters.Add(Voltage_Hysteresis);\r\n\t\t/*14*/\r\n\t\tdouble Head_Blower_Calculation_C = new Double();\r\n\t\tHead_Blower_Calculation_C = 0.242;\r\n\t\tconfigurationParameters.GeneralParameters.Add(Head_Blower_Calculation_C);\r\n\t\t/*15*/\r\n\t\tdouble Head_Blower_Calculation_B = new Double();\r\n\t\tHead_Blower_Calculation_B = -0.134;\r\n\t\tconfigurationParameters.GeneralParameters.Add(Head_Blower_Calculation_B);\r\n\t\tdescription = description+\"-C\"+Head_Blower_Calculation_C+\"-B\"+Head_Blower_Calculation_B;\r\n\r\n\t\tconfigurationParameters.Description = description;\r\n\t\t\r\n\r\n\t\t//configurationParameters\t= context.RequestUserInputFor<ConfigurationParameters>(configurationParameters,\"ConfigurationParameters Input Required\",\"Please fill in the form\");\r\n\t\t/*Directory.CreateDirectory (\"C:/Temp\");\r\n\t\tFile.WriteAllBytes(\"C:/temp/EmbParam.cfg\",configurationParameters.ToBytes());\r\n\r\n\t\tbyte[] fileBytes1 = File.ReadAllBytes(\"C:/temp/EmbParam.cfg\");*/\r\n\t\tbyte[] fileBytes = configurationParameters.ToBytes();\r\n\r\n\r\n\t\tvar config = ConfigurationParameters.Parser.ParseFrom(fileBytes);\r\n\r\n\t\tcontext.Write( config);\r\n\t\tThread.Sleep(1000);\r\n\r\n\t\r\n\t\tcontext.Write(\"\\n\\n Deleting old file\");\r\n\r\n\t\tDeleteRequest deleteRequest = new DeleteRequest();\r\n\t\tdeleteRequest.Path = \"SYSINFO//EmbParam.cfg\";\r\n\t\tdeleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;\r\n\t\tDeleteResponse response5 = context.Send<DeleteResponse>(deleteRequest);\r\n\r\n\r\n\t\tThread.Sleep(1000);\r\n\t\tcontext.Write(\"\\n\\n Loading new file file\");\r\n\r\n\t\tFileUploadRequest fileUploadRequest = new FileUploadRequest();\r\n\t\tfileUploadRequest.Path = \"SYSINFO//EmbParam.cfg\";\r\n\t\tfileUploadRequest.Length = (int)fileBytes.Length;\r\n\t\tFileUploadResponse response2 = context.Send<FileUploadResponse>(fileUploadRequest);\r\n\t\tThread.Sleep(1000);\r\n\t\tlong chunk_size = response2.MaxChunkLength;\r\n\r\n\t\tcontext.Write(\"Chunk size \"+ chunk_size + \" file size \"+ fileBytes.Length +\"\\n\\n\");\r\n\t\tif (chunk_size < fileBytes.Length)\r\n\t\t{\r\n\t\t\tcontext.AddResult(ResultType.Failed, \"Chunk size too small\", chunk_size);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tFileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest();\r\n\t\t\tfileChunkUploadRequest.UploadID = response2.UploadID;\r\n\t\t\tfileChunkUploadRequest.Buffer = ByteString.CopyFrom(fileBytes);\t\r\n\t\t\tvar response3 = context.Send<FileChunkUploadResponse>(fileChunkUploadRequest);\r\n\t\t\r\n\t\t\t//if (response3.\r\n\r\n\t\t\t// activating the new file\r\n\t\t\tProgressRequest progressRequest = new ProgressRequest();\r\n\t\t\tprogressRequest.Amount = 0xCD;\r\n\t\t\tprogressRequest.Delay = 0xCD;\r\n\t\t\tvar response1 = context.Send<ProgressResponse>(progressRequest);\r\n\t\t\tcontext.AddResult(ResultType.Passed, \"parameters loaded\", chunk_size);\r\n\t\t}\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Selection","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Enable Tamper Check","Value":"1.0"},{"$id":"9","Name":"Disable Tamper Check","Value":"0.0"}]},"DisplayName":"Check Tamper / Fan alarms","Description":"Check Tamper / Fan alarms (1 -true, 0 - false)","Key":"CheckTampers","Value":"1.0"},{"$id":"10","Type":"Default","SelectionInputs":{"$id":"11","$values":[]},"DisplayName":"Set advanced parameters","Description":"Set advanced parameters","Key":"AdvancedParameters","Value":"false"},{"$id":"12","Type":"Default","SelectionInputs":{"$id":"13","$values":[]},"DisplayName":"Set Cleaning Values","Description":"Set to 1 if you want to update the cleaning values","Key":"SetCleaningValues","Value":"false"}]},"Variables":{"$id":"14","$values":[]},"ReferenceAssemblies":{"$id":"15","$values":[{"$id":"16","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"17","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"20","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"21","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"22","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"23","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"24","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"25","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"26","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"27","$values":[]},"Dialogs":{"$id":"28","$values":[]},"ID":"2bd29884-5eb9-4d27-be4e-6cfa31dc9f66","ApartmentState":"MTA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.txt b/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.txt deleted file mode 100644 index a4d81d3ba..000000000 --- a/Software/Stubs Collection/Procedures/EmbeddedParametersBuild.txt +++ /dev/null @@ -1,272 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.IO; -using Google.Protobuf; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Diagnostics; -using Tango.PMR.EmbeddedParameters; -using Tango.PMR.IO; -using Tango.FSE.Procedures; - - -public class Cleaning -{ - [Description("Actuator Going up time")] - public int Tup; - [Description("Actuator Wait up time")] - public int Tdelay1; - [Description("Actuator Wait Down time")] - public int Tdelay2; -} -public class Advanced -{ - [Description("Automatic heating on machine StartUp")] - public bool InitialHeating; - [Description("Waste pressure buildup factor")] - public int WFCF; - [Description("Auto fill mode on/off")] - public bool Autofill; -} - -public class Program -{ - public void OnExecute(IProcedureContext context) - { - string description = ""; - context.AddResult(ResultType.Passed, "My Value Name", "Test for this value has passed."); - ConfigurationParameters configurationParameters = new ConfigurationParameters(); - - bool AdvancedParams = context.GetInput<bool>("AdvancedParameters"); - Advanced Advancedparam = new Advanced(); - Advancedparam.InitialHeating = true; - Advancedparam.WFCF = 40; - Advancedparam.Autofill = true; - if (AdvancedParams == true) - Advancedparam = context.RequestUserInputFor<Advanced>(Advancedparam,"Advanced parameters input Required","Please fill in the form"); - description += "Version 1.5.3.3"; - configurationParameters.BreakSensorLimit = 10; - - //how many samples to collect in diagnostics before sending - configurationParameters.DiagnosticCollectionLimit = 1; - - //how many consecutive readout before declaring DC over/underheat alarm - configurationParameters.OverHeatCountLimit = 3; - configurationParameters.UnderHeatCountLimit = 3; - - // time of motor activity before opening the valve or after closing the valve, in milliseconds - configurationParameters.CloseValveTimeout = 20; - configurationParameters.OpenValveTimeout = 20; - - //backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) - configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure - configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps - configurationParameters.InitialDispenserTimeLag = 100; - description = description+" "+configurationParameters.InitialDispenserPressure+"-"+configurationParameters.InitialDispenserTimeout/1000; - - //job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed - configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000 - configurationParameters.DispenserBuildPressureLimit = 0.85; - configurationParameters.DispenserBuildPressureTimeout = 420000; - configurationParameters.DispenserBuildPressureLag = 100; - description = description+" T "+configurationParameters.DispenserBuildPressureTimeout/1000; - - //temperature band 1000 = 100% - thresholds for job start around target temprature - AC - configurationParameters.ACHeatersLowerOperationLimit = 995; - configurationParameters.ACHeatersUpperOperationLimit = 1005; - - //temperature band 1000 = 100% - thresholds for job start around target temprature - DC - configurationParameters.DCHeatersLowerOperationLimit = 978; - configurationParameters.DCHeatersUpperOperationLimit = 1005; - - // mid tank reading offset to add to the readout (OBSOLETE!) - configurationParameters.MidTankPressureCorrection = 0.0; - - //waste factor for intersegment pressure building - configurationParameters.DispenserPresegmentWFCF = Advancedparam.WFCF; - description = description+" WF"+configurationParameters.DispenserPresegmentWFCF; - - //how much time to start the WFCF process (pressure buildup) before segment start - configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000; - - //flag: start heaters according to saved process parameters upon init? - configurationParameters.StartHeatingOnInitSequence = Advancedparam.InitialHeating; - - // current test for the heaters - alarm thresholds - configurationParameters.CurrentAlarmLowLimit = 0.78; - configurationParameters.CurrentAlarmHighLimit = 1.07; - - //currently not in use - configurationParameters.IDSSegmentRefillTimeout = 5000; - configurationParameters.IDSPreSegmentBuildupTime = 5000; - //cleaning!!!!!!!!!! - configurationParameters.IDSCleaningSpeed = 800; - configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt - configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment - description = description+" Cl"+configurationParameters.IDSCleaningStopBeforeSegmentTime/1000+"-"+configurationParameters.IDSCleaningStartSprayPreSegmentTime/1000; - - bool SetCleaning = context.GetInput<bool>("SetCleaningValues"); - Cleaning Clean = new Cleaning(); - Clean.Tup = 10; - Clean.Tdelay1 = 98; - Clean.Tdelay2 = 198;//300 milli up, stay 1 sec, stay down 2 sec - if (SetCleaning == true) - Clean = context.RequestUserInputFor<Cleaning>(Clean,"Cleaning Input Required","Please fill in the form"); - - // Tup = LeftRockerSpeed/100; - // Tdelay1 = LeftRockerSpeed%100; - // Tdelay2 = RightRockerSpeed; - int LeftRockerSpeed = Clean.Tup*100+Clean.Tdelay1; - int RightRockerSpeed = Clean.Tdelay2; - - configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed; - configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed; - description = description+"-"+Clean.Tup+"."+Clean.Tdelay1+"."+Clean.Tdelay2; - - configurationParameters.SwitchToIdleTimeinSeconds = 3600; - configurationParameters.IdleDrierTemperature = 80; - configurationParameters.IdleHeadTemperature = 80; - configurationParameters.IdleMixerTemperature = 0; - configurationParameters.PowerOffTemperatureLimit = 60; - - //general parameters, ORDER MUST BE PRESERVED!!!! - //check the dispensers hard limit alarms - /*1*/ - Double checkHardLimitAlarms = new Double(); - checkHardLimitAlarms = 1.0; - configurationParameters.GeneralParameters.Add(checkHardLimitAlarms); - - /*2*/ - Double checkCurrentAlarms = new Double(); - checkCurrentAlarms = 0.0; - configurationParameters.GeneralParameters.Add(checkCurrentAlarms); - //check the tamper alarms - - /*3*/ - Double checkTamperAlarms = new Double(); - checkTamperAlarms = context.GetInput<double>("CheckTampers"); - configurationParameters.GeneralParameters.Add(checkTamperAlarms); - - /*4*/ - Double checkMotorAlarms = new Double(); - checkMotorAlarms = 1.0; - configurationParameters.GeneralParameters.Add(checkMotorAlarms); - description = description+"-Cur"+checkCurrentAlarms+"Tamp"+checkTamperAlarms+"Mot"+checkMotorAlarms; - - /*5*/ - Double WinderBackToBaseTime = new Double(); - WinderBackToBaseTime = 820.0; - configurationParameters.GeneralParameters.Add(WinderBackToBaseTime); - /*6*/ - Double DispenserInitialPressureSpeed = new Double(); - DispenserInitialPressureSpeed = 1050.0; - configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed); - - /*7*/ - Double SetDiagnosticMode = new Double(); - SetDiagnosticMode = 3.0; - configurationParameters.GeneralParameters.Add(SetDiagnosticMode); - - /*8*/ - Double SetAutoFill = new Double(); - SetAutoFill = 3.0; - if (Advancedparam.Autofill == false) - SetAutoFill = 0.0; - configurationParameters.GeneralParameters.Add(SetAutoFill); - description = description+"-AF"+SetAutoFill+"DI"+SetDiagnosticMode; - /*9*/ - double PowerOffDisableCleaning = new Double(); - PowerOffDisableCleaning = 0.0; - configurationParameters.GeneralParameters.Add(PowerOffDisableCleaning); - /*10*/ - double SublimationBlowTime = new Double(); - SublimationBlowTime = 30.0; - configurationParameters.GeneralParameters.Add(SublimationBlowTime); - /*11*/ - double AllowedRangeForHeadBlowerDeviation = new Double(); - AllowedRangeForHeadBlowerDeviation = 7; - configurationParameters.GeneralParameters.Add(AllowedRangeForHeadBlowerDeviation); - /*12*/ - double AllowedRangeForWasteBlowerDeviation = new Double(); - AllowedRangeForWasteBlowerDeviation = 20; - configurationParameters.GeneralParameters.Add(AllowedRangeForWasteBlowerDeviation); - /*13*/ - double Voltage_Hysteresis = new Double(); - Voltage_Hysteresis = 4; - configurationParameters.GeneralParameters.Add(Voltage_Hysteresis); - /*14*/ - double Head_Blower_Calculation_C = new Double(); - Head_Blower_Calculation_C = 0.242; - configurationParameters.GeneralParameters.Add(Head_Blower_Calculation_C); - /*15*/ - double Head_Blower_Calculation_B = new Double(); - Head_Blower_Calculation_B = -0.134; - configurationParameters.GeneralParameters.Add(Head_Blower_Calculation_B); - description = description+"-C"+Head_Blower_Calculation_C+"-B"+Head_Blower_Calculation_B; - - configurationParameters.Description = description; - - - //configurationParameters = context.RequestUserInputFor<ConfigurationParameters>(configurationParameters,"ConfigurationParameters Input Required","Please fill in the form"); - /*Directory.CreateDirectory ("C:/Temp"); - File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); - - byte[] fileBytes1 = File.ReadAllBytes("C:/temp/EmbParam.cfg");*/ - byte[] fileBytes = configurationParameters.ToBytes(); - - - var config = ConfigurationParameters.Parser.ParseFrom(fileBytes); - - context.Write( config); - Thread.Sleep(1000); - - - context.Write("\n\n Deleting old file"); - - DeleteRequest deleteRequest = new DeleteRequest(); - deleteRequest.Path = "SYSINFO//EmbParam.cfg"; - deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified; - DeleteResponse response5 = context.Send<DeleteResponse>(deleteRequest); - - - Thread.Sleep(1000); - context.Write("\n\n Loading new file file"); - - FileUploadRequest fileUploadRequest = new FileUploadRequest(); - fileUploadRequest.Path = "SYSINFO//EmbParam.cfg"; - fileUploadRequest.Length = (int)fileBytes.Length; - FileUploadResponse response2 = context.Send<FileUploadResponse>(fileUploadRequest); - Thread.Sleep(1000); - long chunk_size = response2.MaxChunkLength; - - context.Write("Chunk size "+ chunk_size + " file size "+ fileBytes.Length +"\n\n"); - if (chunk_size < fileBytes.Length) - { - context.AddResult(ResultType.Failed, "Chunk size too small", chunk_size); - } - else - { - FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest(); - fileChunkUploadRequest.UploadID = response2.UploadID; - fileChunkUploadRequest.Buffer = ByteString.CopyFrom(fileBytes); - var response3 = context.Send<FileChunkUploadResponse>(fileChunkUploadRequest); - - //if (response3. - - // activating the new file - ProgressRequest progressRequest = new ProgressRequest(); - progressRequest.Amount = 0xCD; - progressRequest.Delay = 0xCD; - var response1 = context.Send<ProgressResponse>(progressRequest); - context.AddResult(ResultType.Passed, "parameters loaded", chunk_size); - } - - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/FFS Rebuild.pproj b/Software/Stubs Collection/Procedures/FFS Rebuild.pproj deleted file mode 100644 index 2dca7e072..000000000 --- a/Software/Stubs Collection/Procedures/FFS Rebuild.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"FFS Rebuild","Description":"This procedure formats the flash file system of the embedded system. use it if the embedded storage looks malfunctioning. this call disconnects the tablet and holds the system for one minute.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\t\tStubDancerPositionRequest stubDancerPositionRequest = new StubDancerPositionRequest();\r\n\t\tstring response1 = context.GetInput<string>(\"ValidationPassword\");\r\n List<uint> list = new List<uint>();\r\n\t\tif (response1 == \"Aa123456\")\r\n\t\t{\r\n\t\t\t//CF - initialize FFS\r\n\t\t\tProgressRequest progressRequest = new ProgressRequest();\r\n\t\t\tprogressRequest.Amount = 0xCF;\r\n\t\t\tprogressRequest.Delay = 0xCF;\r\n\t\t\t\r\n\t\t\t\tvar response = context.Send<ProgressResponse>(progressRequest);\r\n\t }\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Default","SelectionInputs":{"$id":"7","$values":[]},"DisplayName":"Validation Password","Description":"Validation Password","Key":"ValidationPassword","Value":"0"}]},"Variables":{"$id":"8","$values":[]},"ReferenceAssemblies":{"$id":"9","$values":[{"$id":"10","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"20","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"21","$values":[]},"Dialogs":{"$id":"22","$values":[]},"ID":"23b690b1-bd08-45ba-807b-3faa244ed8c3","ApartmentState":"MTA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Loading Arm claibration.txt b/Software/Stubs Collection/Procedures/Loading Arm claibration.txt deleted file mode 100644 index 946cfc546..000000000 --- a/Software/Stubs Collection/Procedures/Loading Arm claibration.txt +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - -public class Program -{ - public void OnExecute(IProcedureContext context) - { - - - ProgressRequest progressRequest = new ProgressRequest(); - progressRequest.Amount = 0xB1; - //progressRequest.Delay = 1; - - var response = context.Send<ProgressResponse>(progressRequest); - - progressRequest.Amount = 0xB2; - progressRequest.Delay = 0; - - response = context.Send<ProgressResponse>(progressRequest); - - context.AddResult(ResultType.Passed, "Loading Arm Calibrated", "OK"); - - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Mid tank calibration.pproj b/Software/Stubs Collection/Procedures/Mid tank calibration.pproj deleted file mode 100644 index 655bbd099..000000000 --- a/Software/Stubs Collection/Procedures/Mid tank calibration.pproj +++ /dev/null @@ -1,477 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; -using System.IO; -using System.Windows.Forms; -using Tango.PMR.EmbeddedParameters; - -public class Program -{ -const double MIN_SLOP=0.7; -const double MAX_SLOP=1.4; -const double ERROR_SLOP=-1; -const double MIN_50cc_on_volt=2.3; -const double MAX_50cc_on_volt=3.2; -const double ERROR_50cc_on_volt=-1; - -int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8}; -uint [,] ADC_Add_Chnl = new uint [8,2] { - {0x44,0x20}, - {0x44,0x08}, - {0x46,0x80}, - {0x46,0x20}, - {0x44,0x10}, - {0x44,0x04}, - {0x46,0x40}, - {0x46,0x10}, - }; - - -const Int32 F3_VALVE_OUT = 0x600008E2 ; -string Machine_SN ; -private const string FILE_PATH = @"C:\MidTankLog\"; -string File_name; -double Full_Cartridge=1000; // on CC -double Slop=0.92; -//---------------------- -const Int32 I2C_ID = 2; -//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46 -//---------------------- - - -private IProcedureContext context; - - - - - public void OnExecute(IProcedureContext context) - { - - - Int32 Timout ; - Int32 Interval; - Int32 midtankno = 0; - double Full_Point=0; //on Voltage - double resualt; - double Sum=0 ; - double Old_Sum=0 ; - double Start_Point=0; - - - if (!Directory.Exists(FILE_PATH)) - { - Directory.CreateDirectory(FILE_PATH); - } - - - - var response =context.RequestUserInputFor<String>("Enter Midtank S/N: ", ""); - context.Write("\n"); - Machine_SN = response; - context.WriteLine(Machine_SN); - File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv"; - context.Write(File_name); - context.WriteToFile(File_name,"MidTank S/N:," + Machine_SN); - - - var response1 =context.RequestUserInputFor<String>("Enter Midtank number to calibrate (1-8):", ""); - context.WriteLine(response1); - midtankno = Int32.Parse(response1); - context.AppendToFile(File_name,"MidTank Number:\t" + response1); - if (midtankno==8) - { - Slop=1; - Timout=60; //60 minutes - Interval=60; //60 second - } - else - { - Slop=0.92; - Timout=10*2; //10 minutes - Interval=30; //30 second - - } - var response10 =context.RequestUserInputFor<String>("Enter Cartridge Valume on CC (500-1500):", ""); - context.WriteLine(response10); - Full_Cartridge = double.Parse(response10); - context.AppendToFile(File_name,"Cartridge Valume:\t" + response10); - context.AppendToFile(File_name,"Slop value:\t" + Slop); - - - DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.Yes) - { - - - - string box_msg = "Please Insert cartridge "; - - MessageBox.Show(box_msg); - - open_valve(midtankno,1,1) ; //open Air valve - open_valve(midtankno,0,1) ; //open Ink valve - Int32 i=0; - while (i<Timout) //check for 15 minitus - { - Sum=0; - for (Int32 j=0;j<Interval;j++) - { - resualt=read_pressure_sensor(midtankno); - context.AppendToFile(File_name,resualt+",V"); - Sum=Sum+resualt; - Thread.Sleep(1000); - } - - - if (i==0) - Start_Point=Sum/Interval; - - if (Sum>Old_Sum) - Old_Sum=Sum-Old_Sum; - else - Old_Sum=Old_Sum-Sum; - - - if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0)) - { - i++; - if ( Old_Sum <0.02) - i=Timout+1; //end - Old_Sum=Sum; - } - else - { - open_valve(midtankno,1,0) ; //open Air valve - open_valve(midtankno,0,0) ; //open Ink valve - Old_Sum=0; - - } - } - Full_Point=Sum/Interval; - - - close_valve(midtankno,1,1) ; //close Air valve - close_valve(midtankno,0,1) ; //close Ink valve - - - if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0) - { - box_msg ="Turn Power Off and On to finish the calibration."; - MessageBox.Show(box_msg); - - - context.AddResult(ResultType.Passed, "Test passed", "Test passed."); - - } - else - { - box_msg ="Calibration error"; - MessageBox.Show(box_msg); - - - context.AddResult(ResultType.Failed, "Test Fail", "Test Fail."); - - } - } - -} - - - int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint) -{ -// context.Write("\n "); - - StartPoint=FullPoint-StartPoint; - StartPoint=StartPoint/Full_Cartridge; - if ((StartPoint>0.7 ) && (StartPoint>1.3 )) - { - MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest(); - - MidTankData midTankData = new MidTankData(); - midTankData.MidTankId = Convert.ToUInt32 (midtankno-1); - midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop; - midTankData.SlopeB = Slop; - - context.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop); - context.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop); - - - midTankDataSetupRequest.MidTankInfo.Add(midTankData); - - - var response =context.Send<MidTankDataSetupResponse>(midTankDataSetupRequest); - - return 0; - } - else - context.Write("\nError"); - context.AppendToFile(File_name,"\n Slop Error"); - return 1; - - - } - - - -int adc_configuration(uint I2C_Slave_Add,uint channel ) - { - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write - stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels - stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write - - var response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; - } - - -int adc_set_for_read_ch(uint I2C_Slave_Add) - { - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write - - var response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; - } - - - - -double adc_read_ch(uint I2C_Slave_Add) - { - StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); - stubI2CReadBytesRequest.I2CId = I2C_ID; - stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add; - stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read - - var response1 =context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); - uint temph=0; - uint templ=0; - uint temp; - double calc; - double calc1; - double calc2; - temph=response1.ReadBytes[0]; - templ=response1.ReadBytes[1]; - temp = (temph << 8) | templ; - temp=temp & 0x0fff; - - calc = (double)temp *2.5 / 4096.0; - - calc1 = (1.96- calc) * 4.64 + 1.96; - context.Write("Vsensor [volts]:\t"); - context.Write(calc1 + "\n"); - - - return calc1; - } - -double read_pressure_sensor(Int32 i ) - { -double resualt =0 ; - switch (i) - { - case 1: - adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 2: - adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 3: - adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 4: - adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 5: - adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 6: - adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 7: - adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 8: - adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - default: - context.Write("Error"); - - break; - } - - return resualt; - } - - -//-------------------------------- -int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak -{ - int temp1=Convert_Midtank_No[valve_nm-1] ; - - string temp; - SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1); - - if (check_valve!=0) - { - temp="Air"; - if (valve_type==1) - temp="Ink"; - - DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.No) - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Fail"; - context.Write(temp +"Valve\tFail\n"); - return 0; - } - else - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Pass"; - context.Write(temp +"Valve\tOpen\n"); - return 1; - } - - } - return 1; - -} -//-------------------------------- -int close_valve (int valve_nm,int valve_type,int check_valve) -{ - int temp1=Convert_Midtank_No[valve_nm-1]; - - string temp; - SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0); - if (check_valve!=0) - { - temp="Air"; - if (valve_type==1) - temp="Ink"; - - DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.No) - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Fail"; - context.Write(temp +"Valve\tFail\n"); - return 0; - } - else - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Pass"; - context.Write(temp +"Valve\tclose\n"); - return 1; - } - } - return 1; - -} - -public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit) -{ - Int32 BitMask; - Int32 RetVal; - RetVal = Fpga_Read_Reg(Adr); - Int32 RV = RetVal ; - - if (Bit == 0x1) - { - BitMask = 0x1 << BitNo; - RV = RV | BitMask; - Fpga_Write_Reg( Adr, RV ); - } - else if (Bit == 0x0) - { - BitMask = ~(0x1 << BitNo); - RV = RV & BitMask; - Fpga_Write_Reg(Adr, RV ); - } - return 1; -} - -int Fpga_Write_Reg(Int32 Addr, Int32 Data) -{ - var response =context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data); - - return 1; -} - - -Int32 check_valve (Int32 valve_nm,int valve_type) -{ - Int32 temp1=Convert_Midtank_No[valve_nm-1]; - - var response =context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT); - Int32 RV =(Int32) response.Value & 0xffff ; - RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1)); - return RV; - -} - - -Int32 Fpga_Read_Reg(Int32 Addr) -{ - -context.Write("123"); - - var response =context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr); - context.Write("456"); - - Int32 RV= (Int32) response.Value & 0xffff; - context.Write("789"); - - return RV; -} - - - -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/MidTank Calibration.txt b/Software/Stubs Collection/Procedures/MidTank Calibration.txt deleted file mode 100644 index 655bbd099..000000000 --- a/Software/Stubs Collection/Procedures/MidTank Calibration.txt +++ /dev/null @@ -1,477 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; -using System.IO; -using System.Windows.Forms; -using Tango.PMR.EmbeddedParameters; - -public class Program -{ -const double MIN_SLOP=0.7; -const double MAX_SLOP=1.4; -const double ERROR_SLOP=-1; -const double MIN_50cc_on_volt=2.3; -const double MAX_50cc_on_volt=3.2; -const double ERROR_50cc_on_volt=-1; - -int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8}; -uint [,] ADC_Add_Chnl = new uint [8,2] { - {0x44,0x20}, - {0x44,0x08}, - {0x46,0x80}, - {0x46,0x20}, - {0x44,0x10}, - {0x44,0x04}, - {0x46,0x40}, - {0x46,0x10}, - }; - - -const Int32 F3_VALVE_OUT = 0x600008E2 ; -string Machine_SN ; -private const string FILE_PATH = @"C:\MidTankLog\"; -string File_name; -double Full_Cartridge=1000; // on CC -double Slop=0.92; -//---------------------- -const Int32 I2C_ID = 2; -//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46 -//---------------------- - - -private IProcedureContext context; - - - - - public void OnExecute(IProcedureContext context) - { - - - Int32 Timout ; - Int32 Interval; - Int32 midtankno = 0; - double Full_Point=0; //on Voltage - double resualt; - double Sum=0 ; - double Old_Sum=0 ; - double Start_Point=0; - - - if (!Directory.Exists(FILE_PATH)) - { - Directory.CreateDirectory(FILE_PATH); - } - - - - var response =context.RequestUserInputFor<String>("Enter Midtank S/N: ", ""); - context.Write("\n"); - Machine_SN = response; - context.WriteLine(Machine_SN); - File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv"; - context.Write(File_name); - context.WriteToFile(File_name,"MidTank S/N:," + Machine_SN); - - - var response1 =context.RequestUserInputFor<String>("Enter Midtank number to calibrate (1-8):", ""); - context.WriteLine(response1); - midtankno = Int32.Parse(response1); - context.AppendToFile(File_name,"MidTank Number:\t" + response1); - if (midtankno==8) - { - Slop=1; - Timout=60; //60 minutes - Interval=60; //60 second - } - else - { - Slop=0.92; - Timout=10*2; //10 minutes - Interval=30; //30 second - - } - var response10 =context.RequestUserInputFor<String>("Enter Cartridge Valume on CC (500-1500):", ""); - context.WriteLine(response10); - Full_Cartridge = double.Parse(response10); - context.AppendToFile(File_name,"Cartridge Valume:\t" + response10); - context.AppendToFile(File_name,"Slop value:\t" + Slop); - - - DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.Yes) - { - - - - string box_msg = "Please Insert cartridge "; - - MessageBox.Show(box_msg); - - open_valve(midtankno,1,1) ; //open Air valve - open_valve(midtankno,0,1) ; //open Ink valve - Int32 i=0; - while (i<Timout) //check for 15 minitus - { - Sum=0; - for (Int32 j=0;j<Interval;j++) - { - resualt=read_pressure_sensor(midtankno); - context.AppendToFile(File_name,resualt+",V"); - Sum=Sum+resualt; - Thread.Sleep(1000); - } - - - if (i==0) - Start_Point=Sum/Interval; - - if (Sum>Old_Sum) - Old_Sum=Sum-Old_Sum; - else - Old_Sum=Old_Sum-Sum; - - - if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0)) - { - i++; - if ( Old_Sum <0.02) - i=Timout+1; //end - Old_Sum=Sum; - } - else - { - open_valve(midtankno,1,0) ; //open Air valve - open_valve(midtankno,0,0) ; //open Ink valve - Old_Sum=0; - - } - } - Full_Point=Sum/Interval; - - - close_valve(midtankno,1,1) ; //close Air valve - close_valve(midtankno,0,1) ; //close Ink valve - - - if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0) - { - box_msg ="Turn Power Off and On to finish the calibration."; - MessageBox.Show(box_msg); - - - context.AddResult(ResultType.Passed, "Test passed", "Test passed."); - - } - else - { - box_msg ="Calibration error"; - MessageBox.Show(box_msg); - - - context.AddResult(ResultType.Failed, "Test Fail", "Test Fail."); - - } - } - -} - - - int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint) -{ -// context.Write("\n "); - - StartPoint=FullPoint-StartPoint; - StartPoint=StartPoint/Full_Cartridge; - if ((StartPoint>0.7 ) && (StartPoint>1.3 )) - { - MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest(); - - MidTankData midTankData = new MidTankData(); - midTankData.MidTankId = Convert.ToUInt32 (midtankno-1); - midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop; - midTankData.SlopeB = Slop; - - context.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop); - context.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop); - - - midTankDataSetupRequest.MidTankInfo.Add(midTankData); - - - var response =context.Send<MidTankDataSetupResponse>(midTankDataSetupRequest); - - return 0; - } - else - context.Write("\nError"); - context.AppendToFile(File_name,"\n Slop Error"); - return 1; - - - } - - - -int adc_configuration(uint I2C_Slave_Add,uint channel ) - { - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write - stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels - stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write - - var response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; - } - - -int adc_set_for_read_ch(uint I2C_Slave_Add) - { - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write - - var response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; - } - - - - -double adc_read_ch(uint I2C_Slave_Add) - { - StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); - stubI2CReadBytesRequest.I2CId = I2C_ID; - stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add; - stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read - - var response1 =context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); - uint temph=0; - uint templ=0; - uint temp; - double calc; - double calc1; - double calc2; - temph=response1.ReadBytes[0]; - templ=response1.ReadBytes[1]; - temp = (temph << 8) | templ; - temp=temp & 0x0fff; - - calc = (double)temp *2.5 / 4096.0; - - calc1 = (1.96- calc) * 4.64 + 1.96; - context.Write("Vsensor [volts]:\t"); - context.Write(calc1 + "\n"); - - - return calc1; - } - -double read_pressure_sensor(Int32 i ) - { -double resualt =0 ; - switch (i) - { - case 1: - adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 2: - adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 3: - adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 4: - adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 5: - adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 6: - adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5 - adc_set_for_read_ch(0x44); - resualt=adc_read_ch(0x44); - break; - - case 7: - adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - case 8: - adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3 - adc_set_for_read_ch(0x46); - resualt=adc_read_ch(0x46); - break; - - default: - context.Write("Error"); - - break; - } - - return resualt; - } - - -//-------------------------------- -int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak -{ - int temp1=Convert_Midtank_No[valve_nm-1] ; - - string temp; - SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1); - - if (check_valve!=0) - { - temp="Air"; - if (valve_type==1) - temp="Ink"; - - DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.No) - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Fail"; - context.Write(temp +"Valve\tFail\n"); - return 0; - } - else - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Pass"; - context.Write(temp +"Valve\tOpen\n"); - return 1; - } - - } - return 1; - -} -//-------------------------------- -int close_valve (int valve_nm,int valve_type,int check_valve) -{ - int temp1=Convert_Midtank_No[valve_nm-1]; - - string temp; - SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0); - if (check_valve!=0) - { - temp="Air"; - if (valve_type==1) - temp="Ink"; - - DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo); - if(result == DialogResult.No) - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Fail"; - context.Write(temp +"Valve\tFail\n"); - return 0; - } - else - { -// Units_status[(valve_nm-1)*3+valve_type,1]="Pass"; - context.Write(temp +"Valve\tclose\n"); - return 1; - } - } - return 1; - -} - -public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit) -{ - Int32 BitMask; - Int32 RetVal; - RetVal = Fpga_Read_Reg(Adr); - Int32 RV = RetVal ; - - if (Bit == 0x1) - { - BitMask = 0x1 << BitNo; - RV = RV | BitMask; - Fpga_Write_Reg( Adr, RV ); - } - else if (Bit == 0x0) - { - BitMask = ~(0x1 << BitNo); - RV = RV & BitMask; - Fpga_Write_Reg(Adr, RV ); - } - return 1; -} - -int Fpga_Write_Reg(Int32 Addr, Int32 Data) -{ - var response =context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data); - - return 1; -} - - -Int32 check_valve (Int32 valve_nm,int valve_type) -{ - Int32 temp1=Convert_Midtank_No[valve_nm-1]; - - var response =context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT); - Int32 RV =(Int32) response.Value & 0xffff ; - RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1)); - return RV; - -} - - -Int32 Fpga_Read_Reg(Int32 Addr) -{ - -context.Write("123"); - - var response =context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr); - context.Write("456"); - - Int32 RV= (Int32) response.Value & 0xffff; - context.Write("789"); - - return RV; -} - - - -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Priming.pproj b/Software/Stubs Collection/Procedures/Priming.pproj deleted file mode 100644 index 9139b1597..000000000 --- a/Software/Stubs Collection/Procedures/Priming.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Priming","Description":"Used for a dispenser priming","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_RUN,1068,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=6000;\r\n\t\telse\r\n\t\t\tMax_PBU=4000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\tStart_Table=BuildUp_Table; \r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\tvar stopwatch = new Stopwatch();\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\tlong elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser);\r\n\t\t\t\t\tif (Temp_Delay ==0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser )\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tTemp_Delay = Delay *10 -1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\n\t\t\tTemp_Delay--;\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"eb73dbd4-1e1e-4f5d-adc8-5f159edab802","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Priming1.pproj b/Software/Stubs Collection/Procedures/Priming1.pproj deleted file mode 100644 index adfed3f3e..000000000 --- a/Software/Stubs Collection/Procedures/Priming1.pproj +++ /dev/null @@ -1,1015 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; -using System.IO; -using System.Diagnostics; -using System.Windows.Forms; - - -public class Program -{ - - -private IProcedureContext context; - -//---------------------Start Command ---------------- -const Int32 CMD_RUN = 0; //Run on Pulse Per Secound .positive run Up and negative run Down b -const Int32 CMD_STOP= 1; //0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz -const Int32 CMD_VALVE= 2; //0-to Midtank ,1-to head -const Int32 CMD_DLY = 3; //delay in Seconds . -const Int32 CMD_TIME= 4; //Print Time . -const Int32 CMD_PRESS= 5; //return from Delay loop when pressure is high (on mBAR) . -const Int32 CMD_LOOP_NM=6; //NUMBER OF counter -const Int32 CMD_LOOP= 7; //jump up(+) or down(-) command u -const Int32 CMD_MTV_OPEN = 8; //0 Air ; 1 Ink -const Int32 CMD_MTV_CLOSE= 9; //0 Air ; 1 Ink -const Int32 CMD_LBL= 10; //label for user -const Int32 CMD_SMP= 11; //sample rate ,defualt 100msec (1); for 1 second is 10. -const Int32 CMD_PRESL= 12; //return from Delay loop when pressure is low (on mBAR) . - -const Int32 CMD_END = 13; //end loop . - - -Int32[] BuildUp_Table = new int [] -{ - CMD_VALVE,1, - CMD_PRESL,200, - CMD_DLY,200, - - CMD_LOOP_NM,3, - - CMD_VALVE,0, - CMD_DLY,1, - CMD_VALVE,1, - CMD_DLY,1, - CMD_LOOP,-4, - - CMD_VALVE,0, - CMD_RUN,1068, - CMD_PRESS,1000, //mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_DLY,150, - CMD_LBL,1, - CMD_PRESS,2000, //mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_DLY,60, - CMD_LBL,2, - CMD_PRESS,3000, - CMD_DLY,60, // to limit - CMD_STOP,0, - CMD_VALVE,1, - CMD_END,3, -}; - - -Int32[] Up_Table = new int [] -{ - CMD_VALVE,1, - CMD_PRESL,200, - CMD_DLY,200, - - CMD_PRESS,3000, //mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_RUN,534, // 100% - CMD_DLY,120, - CMD_STOP,0, - CMD_END,3, -}; -Int32 Dispenser_sample_rate= 1; - - string path = @"C:\Dispenser_setup\Log\"; -//---------------------- -const UInt32 I2C_ID = 4; //MCU_I2C4 -const UInt32 TCA9548A_address = 0xE2; -const UInt32 I2C_Slave_Low_Add = 0xA0; //eeprom address - 64k low -const UInt32 I2C_Slave_High_Add = 0xA2; //eeprom address - 64k High -//---------------------- -byte [] EEPROM_Data = new byte [128]; - - -//---------------------End Command ---------------- - -const Int32 Dispenser_Motor1 = 6; -const Int32 Dispenser_Motor2 = 7; -const Int32 Dispenser_Motor3 = 8; -const Int32 Dispenser_Motor4 = 9; -const Int32 Dispenser_Motor5 = 10; -const Int32 Dispenser_Motor6 = 11; -const Int32 Dispenser_Motor7 = 12; -const Int32 Dispenser_Motor8 = 13; - -const Int32 AN_IDS_PRESSENS_1 = 2; -const Int32 AN_IDS_PRESSENS_2 = 3; -const Int32 AN_IDS_PRESSENS_3 = 4; -const Int32 AN_IDS_PRESSENS_4 = 5; -const Int32 AN_IDS_PRESSENS_5 = 6; -const Int32 AN_IDS_PRESSENS_6 = 7; -const Int32 AN_IDS_PRESSENS_7 = 8; -const Int32 AN_IDS_PRESSENS_8 = 9; - -const Int32 F2_LS_01_Direct = 0x60000420 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_2 F2_LS_DISPENSER_25_2 F2_LS_DISPENSER_75_2 F2_LS_DISPENSER_DOWN_2 F2_LS_DISPENSER_50_2 F2_LS_DISPENSER_SPARE_2 F2_LS_DISPENSER_UP_1 F2_LS_DISPENSER_25_1 F2_LS_DISPENSER_75_1 F2_LS_DISPENSER_DOWN_1 F2_LS_DISPENSER_50_1 F2_LS_DISPENSER_SPARE_1 -const Int32 F2_LS_02_Direct = 0x60000430 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_4 F2_LS_DISPENSER_25_4 F2_LS_DISPENSER_75_4 F2_LS_DISPENSER_DOWN_4 F2_LS_DISPENSER_50_4 F2_LS_DISPENSER_SPARE_4 F2_LS_DISPENSER_UP_3 F2_LS_DISPENSER_25_3 F2_LS_DISPENSER_75_3 F2_LS_DISPENSER_DOWN_3 F2_LS_DISPENSER_50_3 F2_LS_DISPENSER_SPARE_3 -const Int32 F2_LS_03_Direct = 0x60000440 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_6 F2_LS_DISPENSER_25_6 F2_LS_DISPENSER_75_6 F2_LS_DISPENSER_DOWN_6 F2_LS_DISPENSER_50_6 F2_LS_DISPENSER_SPARE_6 F2_LS_DISPENSER_UP_5 F2_LS_DISPENSER_25_5 F2_LS_DISPENSER_75_5 F2_LS_DISPENSER_DOWN_5 F2_LS_DISPENSER_50_5 F2_LS_DISPENSER_SPARE_5 -const Int32 F2_LS_04_Direct = 0x60000480 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_8 F2_LS_DISPENSER_25_8 F2_LS_DISPENSER_75_8 F2_LS_DISPENSER_DOWN_8 F2_LS_DISPENSER_50_8 F2_LS_DISPENSER_SPARE_8 F2_LS_DISPENSER_UP_7 F2_LS_DISPENSER_25_7 F2_LS_DISPENSER_75_7 F2_LS_DISPENSER_DOWN_7 F2_LS_DISPENSER_50_7 F2_LS_DISPENSER_SPARE_7 - -const Int32 Dispenser_Valve1 = 0; -const Int32 Dispenser_Valve2 = 1; -const Int32 Dispenser_Valve3 = 2; -const Int32 Dispenser_Valve4 = 3; -const Int32 Dispenser_Valve5 = 4; -const Int32 Dispenser_Valve6 = 5; -const Int32 Dispenser_Valve7 = 6; -const Int32 Dispenser_Valve8 = 7; - -const ushort MinPress_Mbar_Add =0x5c ; -const ushort MaxPress_Mbar_Add =0x60 ; - -const Int32 F3_VALVE_OUT = 0x600000e2; - -//string path = "C:\\Dispenser_setup\\Log\\"; - - -//Int32[] Start_Table; - -Int32[] Start_Table = new Int32 [10000]; - -UInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0}; - -string Dispenser_Fname ; - -Int32 Dispenser_ptr =-1; - -Int32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0}; -Int32 max_pressure_level = 20000; -Int32 min_pressure_level = -20000; - -Int32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0}; -Int32 Loop_cnt= 1; -Int32 Loop_length=1; - -Int32 PressureSensorType= 1; //1- new -1up +10 . 0-old 0 to +10 -Int32 Temp_Delay=0; - - -UInt32 RD_LS_01_Direct; -UInt32 RD_LS_02_Direct; -UInt32 RD_LS_03_Direct; -UInt32 RD_LS_04_Direct; - -long Lebel1_time; -long Lebel2_time; - -long time_Table; - -Int32 msec_index=0; - -Int32 MaxPress_Mbar; -Int32 MinPress_Mbar; -string state; - - public Int32 OnExecute(IProcedureContext context) - { - long Max_PBU; - Int32 Index=0; - Int32 speed=0; - Int32 Dispenser_Nm; - this.context = context; - - string box_msg = "Make sure Mixer Hot "; - MessageBox.Show(box_msg); - - var response1 = context.RequestUserInputFor<String>("Dispenser Number", "Enter Dispenser number to make priming (1-8):"); - context.WriteLine(response1); - Dispenser_Nm = Int32.Parse(response1); - - check_Min_Max_Mbar(Dispenser_Nm); - - if (Dispenser_Nm==8) - Max_PBU=6000; - else - Max_PBU=4000; - - - if (!Directory.Exists(path)) - { - Directory.CreateDirectory(path); - } - context.WriteLine(path); - - context.Send<ProgressResponse>("ProgressRequest" ,0xe0, 1); - - Dispenser_Fname=path + "Dispenser_Nm_" + Dispenser_Nm+"_" + DateTime.Now.ToString("MM-dd-yy hh-mm")+ ".csv" ; - - context.WriteLine(Dispenser_Fname); - - context.WriteToFile(Dispenser_Fname,"Dispenser Nm," + Dispenser_Nm + "\n" ); - context.AppendToFile(Dispenser_Fname,"Pressure,Command,Value,DateTime,Remark\n" ); - for(int j=0; j<2;j++) - { - for(int i=0; i<4;i++) - { - state="PBU No. "+ (4*j+i+1 ); - Start_Table=BuildUp_Table; - Table_Run(Dispenser_Nm ); - if (time_Table>300000) - { - context.AddResult(ResultType.Failed,"PBU", "PBU No."+ (4*j+i+1 ) + " Fail"); - return 0; - } - context.AddResult(ResultType.Passed,"PBU","PBU No."+ (4*j+i+1 ) + " Pass"); - - } - state="Flow No."+ (j+1 ) ; - Start_Table=Up_Table; - Table_Run(Dispenser_Nm ); - if (time_Table<115000) - { - context.WriteLine("time_Table= " +time_Table); - context.AddResult(ResultType.Failed,"Flow", "Flow No."+ (j+1) + " Fail"); - return 0; - } - context.AddResult(ResultType.Passed,"Flow","Flow No."+ (j+1 ) + " Pass"); - - } - state="Last PBU " ; - Start_Table=BuildUp_Table; - Table_Run(Dispenser_Nm ); - long Time=Lebel2_time-Lebel1_time; - if (Time>Max_PBU) - { - context.AddResult(ResultType.Failed,"PBU", "PBU = " +Time + "msec "); - state="PBU = " +Time + "msec \tFail"; - } - else - { - context.AddResult(ResultType.Passed,"PBU", "PBU = " +Time + "msec "); - state="PBU = " +Time + "msec \tPass"; - } - return 0; - - } - -///////////////////////////////////////////// -void check_Min_Max_Mbar(Int32 i ) -{ - int k; - string s ; - i--; - - context.WriteLine("-------------- write Enable Channel ------------"); //debug - enable_channel(i); // Chanel 0-7 => Disp0enser 0-7 - context.WriteLine("-------------- Read_header ------------"); //debug - - context.WriteLine("-------------- write_address_eeprom ------------"); //debug - write_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add); - context.WriteLine("-------------- read_data_from_eeprom ------------"); //debug - read_data_from_eeprom (I2C_Slave_Low_Add,1); - if (EEPROM_Data[0]==0 ) - { PressureSensorType=0; - context.WriteLine("PressureSensorType=0" ); //debug - } - else - { - PressureSensorType=1; - context.WriteLine("PressureSensorType=1" ); //debug - } - -} -//----------------write address eeprom ------------------------- -public void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add) -{ - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8)); //Byte High add to write - stubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff)); //Byte Low add to write - context.WriteLine( (Eeprom_Add & 0xff00) >>8) ; //debug - context.WriteLine( Eeprom_Add & 0xff); //debug - - context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); -} -//------------------- read Data from EEprom-------------------------- - -public void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt ) -{ - StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); - stubI2CReadBytesRequest.I2CId = I2C_ID; - stubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1); - stubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read - - var response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); - - for(int i=0; i<cnt;i++) - { - EEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]); - context.WriteLine(EEPROM_Data[i] ); //debug - - } -} - - -/////////////////////////////////////////////// -//----------- enable I2c channel -------------- -public int enable_channel(Int32 Channel_ID) -{ - uint Const_temp = 0x01; - - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address; - - Const_temp = Const_temp << Channel_ID; - stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1 - - var response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; -} - - -////////////////////////////////////////////////////////////// -Int32 Table_Run(Int32 Dispenser ) - -{ - Int32 COMMAND=0; - Int32 Data=0; - Int32 count=0; - - Dispenser--; //check from 0-7 - - int j=0; - var stopwatch = new Stopwatch(); - stopwatch.Start(); - - long elapsed_time = stopwatch.ElapsedMilliseconds; - context.WriteLine(elapsed_time); - - while (count!=-1) - { - msec_index=msec_index+1; - - if (Dispenser<2) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - RD_LS_01_Direct=response1.Value ; - } - else if ( (Dispenser<4) ) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - RD_LS_02_Direct=response1.Value ; - } - else if ( (Dispenser<6) ) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_03_Direct); - RD_LS_03_Direct=response1.Value ; - } - else - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_04_Direct); - RD_LS_04_Direct=response1.Value ; - } - if (Dispenser<4) - { - var response2 = context.Send<StubIntADCReadResponse>("StubIntADCReadRequest" ,0x8000 + AN_IDS_PRESSENS_1); - A2D_Dispenser[0]=(response2.SamplingInBits)>>16; - A2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff; - A2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16; - A2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff; - } - else - { - var response3 = context.Send<StubIntADCReadResponse>("StubIntADCReadRequest" ,0x8000 + AN_IDS_PRESSENS_5); - A2D_Dispenser[4] =(response3.SamplingInBits)>>16; - A2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff; - A2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16; - A2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff; - } - - COMMAND=Start_Table[count]; - Data=Start_Table[(count+1)]; - //Index=Index+2; - switch (COMMAND) - { - case CMD_RUN: - Motor_Run(Data,Dispenser); - count = count+2; - break; - - case CMD_VALVE: - Valve_3W(Data,Dispenser); - count = count+2; - break; - - case CMD_STOP: - Motor_Stop(Data,Dispenser); - count = count+2; - break; - - case CMD_DLY: - Delay_on_second(Data,Dispenser); - if (Temp_Delay ==0) - { - max_pressure_level=20000; - min_pressure_level=-20000; - count = count+2; - } - break; - - case CMD_TIME: - Print_Time(); - count = count+2; - break; - - case CMD_PRESS: - max_pressure_level=Data; - context.AppendToFile(Dispenser_Fname,",Max_pressure_level is, " + Data +","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_PRESL: - min_pressure_level=Data; - context.AppendToFile(Dispenser_Fname,",Min_pressure_level is, " + Data +","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_LBL: - context.AppendToFile(Dispenser_Fname,",Label," + Data+","+DateTime.Now+"\n"); - if(Data==1) - Lebel1_time=stopwatch.ElapsedMilliseconds; - if(Data==2) - Lebel2_time=stopwatch.ElapsedMilliseconds; - count = count+2; - break; - - - case CMD_SMP: - context.AppendToFile(Dispenser_Fname,",SampleRate," + Data+","+DateTime.Now+"\n"); - Dispenser_sample_rate =Data; - count = count+2; - break; - - case CMD_END: - count=-1; - context.AppendToFile(Dispenser_Fname,",End testing,,"+DateTime.Now+"\n"); - break; - - case CMD_MTV_OPEN: - open_midtank_valve(Data,Dispenser); - context.AppendToFile(Dispenser_Fname,",OPEN MIDTANK, " + Dispenser+","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_MTV_CLOSE: - close_midtank_valve(Data,Dispenser); - context.AppendToFile(Dispenser_Fname,",CLOSE MIDTANK, " + Dispenser+","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_LOOP_NM: - - Loop_cnt=Data-1; - context.AppendToFile(Dispenser_Fname,",Counter Loop,"+ Data+","+DateTime.Now +"\n"); - count = count+2; - break; - - case CMD_LOOP: - - if (Loop_cnt!=0) - { - context.AppendToFile(Dispenser_Fname,"Counter Loop,"+ Loop_cnt+","+DateTime.Now+"\n" ); - count = count+2*Data; - Loop_cnt--; - - } - else - { - context.AppendToFile(Dispenser_Fname,",End loop,,"+DateTime.Now +"\n"); - count = count+2; - } - break; - - default: - break; - - } - - long elapsed_time1 = stopwatch.ElapsedMilliseconds; - long elapsed_time2= elapsed_time1-elapsed_time; - if (elapsed_time2>95) - elapsed_time2=95; //minimum time - Thread.Sleep(100-(int )(elapsed_time2)); - - elapsed_time = stopwatch.ElapsedMilliseconds; - - - j++; - if (j==10) - { - j=0; - context.WriteLine(Dispenser_press[Dispenser]+ " mBar\t"+state + "\tTime-" + (elapsed_time/1000)); - } - } - time_Table=elapsed_time; - return 0; -} - -/////////////////////////////////////////////////////////////////// -Int32 Motor_Run(Int32 speed,Int32 Dispenser) - -{ - - switch (Dispenser) - { - case 0: - if ( speed<0) - { - Motor_Dir[0]=2; - if ((RD_LS_01_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor1, false, (-speed)); - } - else - { - Motor_Dir[0]=1; - if ((RD_LS_01_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor1, true, (speed)); - } - break; - - case 1: - if ( speed<0) - { - Motor_Dir[1]=2; - if ((RD_LS_01_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor2, false, (-speed)); - } - else - { - Motor_Dir[1]=1; - if ((RD_LS_01_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor2, true, (speed)); - } - break; - - case 2: - if ( speed<0) - { - Motor_Dir[2]=2; - if ((RD_LS_02_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor3, false, (-speed)); - } - else - { - Motor_Dir[2]=1; - if ((RD_LS_02_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor3, true, (speed)); - } - break; - - case 3: - if ( speed<0) - { - Motor_Dir[3]=2; - - if ((RD_LS_02_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor4, false, (-speed)); - } - else - { - Motor_Dir[3]=1; - - if ((RD_LS_02_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor4, true, (speed)); - } - break; - - case 4: - if ( speed<0) - { - Motor_Dir[4]=2; - if ((RD_LS_03_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor5, false, (-speed)); - } - else - { - Motor_Dir[4]=1; - if ((RD_LS_03_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor5, true, (speed)); - } - break; - - case 5: - if ( speed<0) - { - Motor_Dir[5]=2; - if ((RD_LS_03_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor6, false, (-speed)); - } - else - { - Motor_Dir[5]=1; - if ((RD_LS_03_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor6, true, (speed)); - } - break; - - case 6: - if ( speed<0) - { - Motor_Dir[6]=2; - if ((RD_LS_04_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor7, false, (-speed)); - } - else - { - Motor_Dir[6]=1; - if ((RD_LS_04_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor7, true, (speed)); - } - break; - - case 7: - if ( speed<0) - { - Motor_Dir[7]=2; - - if ((RD_LS_04_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor8, false, (-speed)); - } - else - { - Motor_Dir[7]=1; - - if ((RD_LS_04_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor8, true, (speed)); - } - break; - - default: - break; - - } - context.AppendToFile(Dispenser_Fname,",Run," +speed+","+DateTime.Now +"\n" ); - - return 1; -} - - - Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser) -{ - if ( Valve_Value==1) - context.Send<StubValveResponse>("StubValveRequest" ,Dispenser_Valve1+Dispenser, 3, true); //3 3Way - else - context.Send<StubValveResponse>("StubValveRequest" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way - - context.AppendToFile(Dispenser_Fname,",Dispenser Valve position is, " + Valve_Value+","+DateTime.Now +"\n" ); - - return 1; -} -//--------------------------------------- - - Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser ) -{ - context.Send<StubMotorStopResponse>("StubMotorStopRequest" ,Dispenser_Motor1+Dispenser, Stop_Value); - - context.AppendToFile(Dispenser_Fname,",Motor Stop," + Stop_Value+","+DateTime.Now +"\n"); - Motor_Dir[Dispenser]=0; - return 1; -} - -//--------------------------------------- - - Int32 Delay_on_second(Int32 Delay,Int32 Dispenser ) -{ -//Int32 temp1; -Int32 pressure_om_mBAR=0; - if (Temp_Delay ==0) - { - context.AppendToFile(Dispenser_Fname,",DLY, " + Delay +","+DateTime.Now+"\n"); - Temp_Delay = Delay *10 -1; -// context.Write("A"); //debug - } - else - Temp_Delay--; - - if ( LimitSW_Dispenser(Dispenser)==0) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+",Warning Motor on Limit\n"); - MotorStop(Dispenser); - Temp_Delay =0; //end delay -// context.Write("C"); //debug - - return 0 ; - } - - pressure_om_mBAR=Calc_mBAR(Dispenser,true); - if (pressure_om_mBAR > max_pressure_level) - { - // MotorStop(Dispenser); - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Pressure too high\n"); - Temp_Delay =0; //end delay -// context.Write("D"); //debug - - return 0; - } - if (pressure_om_mBAR < min_pressure_level) - { - // MotorStop(Dispenser); - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Pressure too low\n"); - Temp_Delay =0; //end delay -// context.Write("D"); //debug - - return 0; - } - - - return 1; -} - -Int32 LimitSW_Dispenser(Int32 Dispenser) -{ - - if (Dispenser==0) - - { - -// var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - - if (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2)) - return 0; - else - if (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1)) - return 0; - else - return 1; - } - - if (Dispenser==1) - - { -// var response2 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2)) - return 0; - else - if (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1)) - return 0; - else - return 1; - } - - - if (Dispenser==2) - - { - - //var response3 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2)) - return 0; - else - if (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1)) - return 0; - else - return 1; - - } - - if (Dispenser==3) - - { - var response4 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2)) - return 0; - else - if (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1)) - return 0; - else - return 1; - } - - - - - if (Dispenser==4) - - { - -// var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2)) - return 0; - else - if (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1)) - return 0; - else - return 1; - } - - if (Dispenser==5) - - { -// var response2 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2)) - return 0; - else - if (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1)) - return 0; - else - return 1; - } - - - if (Dispenser==6) - - { - - //var response3 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2)) - return 0; - else - if (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1)) - return 0; - else - return 1; - - } - - if (Dispenser==7) - - { -// var response4 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2)) - return 0; - else - if (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1)) - return 0; - else - return 1; - } - - - return 0; -} - - -Int32 Print_Time() -{ - context.AppendToFile(Dispenser_Fname,",Time is\t,,"+ DateTime.Now +"\n" ); - - return 1; -} - - - -Int32 Calc_mBAR(Int32 Dispenser, bool save_press) -{ -Int32 Data; -Int32 Sense1; -Int32 temp=0; - - Data =A2D_Dispenser[Dispenser]; - if (Data<100) - temp=-1; - Data=Data-710; - if (Data<0) - Data=0; - - Data=Data*(10000+PressureSensorType*1000)/2840; // for -1 to 10 bar Press_Sensor_Type=1 else 0 - Data=Data-1000*PressureSensorType; // for -1 to 10 bar - - if (temp==-1) //if SamplingInBits <100 then No pressure sensor exist - Sense1=-9999 ; - else - Sense1=Data ; - if ( ((msec_index) % (Dispenser_sample_rate)) == 0) - { - context.AppendToFile(Dispenser_Fname,"" + Sense1+"\n"); - } - Dispenser_press[Dispenser]=Sense1; - return Sense1; - - } - - -//-------------------------------- -int open_midtank_valve (Int32 valve_type,Int32 valve_nm) //valve_type=0 is Air ,1 is Ink ; valve_nm 0-7 -{ - SetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1); - return 1; - -} -//-------------------------------- -int close_midtank_valve (Int32 valve_type,Int32 valve_nm) //valve_type=0 is Air ,1 is Ink ; valve_nm 0-7 -{ - SetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0); - return 1; -} -//-------------------------------- -Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit) -{ - Int32 BitMask; - - var response = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , F3_VALVE_OUT); - Int32 RV = (Int32) response.Value & 0xffff; - - - if (Bit == 0x1) - { - BitMask = 0x1 << BitNo; - RV = RV | BitMask; - context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV); - } - else if (Bit == 0x0) - { - BitMask = ~(0x1 << BitNo); - RV = RV & BitMask; - context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV); - } - return 1; -} -//---------------------------------- - void MotorStop(Int32 i) -{ - -context.Send<StubMotorStopResponse>("StubMotorStopRequest" ,Dispenser_Motor1+i, 2); -Motor_Dir[i]=0; //0 stop 1- up 2-dn - -} - -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Priming1.txt b/Software/Stubs Collection/Procedures/Priming1.txt deleted file mode 100644 index adfed3f3e..000000000 --- a/Software/Stubs Collection/Procedures/Priming1.txt +++ /dev/null @@ -1,1015 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; -using System.IO; -using System.Diagnostics; -using System.Windows.Forms; - - -public class Program -{ - - -private IProcedureContext context; - -//---------------------Start Command ---------------- -const Int32 CMD_RUN = 0; //Run on Pulse Per Secound .positive run Up and negative run Down b -const Int32 CMD_STOP= 1; //0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz -const Int32 CMD_VALVE= 2; //0-to Midtank ,1-to head -const Int32 CMD_DLY = 3; //delay in Seconds . -const Int32 CMD_TIME= 4; //Print Time . -const Int32 CMD_PRESS= 5; //return from Delay loop when pressure is high (on mBAR) . -const Int32 CMD_LOOP_NM=6; //NUMBER OF counter -const Int32 CMD_LOOP= 7; //jump up(+) or down(-) command u -const Int32 CMD_MTV_OPEN = 8; //0 Air ; 1 Ink -const Int32 CMD_MTV_CLOSE= 9; //0 Air ; 1 Ink -const Int32 CMD_LBL= 10; //label for user -const Int32 CMD_SMP= 11; //sample rate ,defualt 100msec (1); for 1 second is 10. -const Int32 CMD_PRESL= 12; //return from Delay loop when pressure is low (on mBAR) . - -const Int32 CMD_END = 13; //end loop . - - -Int32[] BuildUp_Table = new int [] -{ - CMD_VALVE,1, - CMD_PRESL,200, - CMD_DLY,200, - - CMD_LOOP_NM,3, - - CMD_VALVE,0, - CMD_DLY,1, - CMD_VALVE,1, - CMD_DLY,1, - CMD_LOOP,-4, - - CMD_VALVE,0, - CMD_RUN,1068, - CMD_PRESS,1000, //mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_DLY,150, - CMD_LBL,1, - CMD_PRESS,2000, //mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_DLY,60, - CMD_LBL,2, - CMD_PRESS,3000, - CMD_DLY,60, // to limit - CMD_STOP,0, - CMD_VALVE,1, - CMD_END,3, -}; - - -Int32[] Up_Table = new int [] -{ - CMD_VALVE,1, - CMD_PRESL,200, - CMD_DLY,200, - - CMD_PRESS,3000, //mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work - CMD_RUN,534, // 100% - CMD_DLY,120, - CMD_STOP,0, - CMD_END,3, -}; -Int32 Dispenser_sample_rate= 1; - - string path = @"C:\Dispenser_setup\Log\"; -//---------------------- -const UInt32 I2C_ID = 4; //MCU_I2C4 -const UInt32 TCA9548A_address = 0xE2; -const UInt32 I2C_Slave_Low_Add = 0xA0; //eeprom address - 64k low -const UInt32 I2C_Slave_High_Add = 0xA2; //eeprom address - 64k High -//---------------------- -byte [] EEPROM_Data = new byte [128]; - - -//---------------------End Command ---------------- - -const Int32 Dispenser_Motor1 = 6; -const Int32 Dispenser_Motor2 = 7; -const Int32 Dispenser_Motor3 = 8; -const Int32 Dispenser_Motor4 = 9; -const Int32 Dispenser_Motor5 = 10; -const Int32 Dispenser_Motor6 = 11; -const Int32 Dispenser_Motor7 = 12; -const Int32 Dispenser_Motor8 = 13; - -const Int32 AN_IDS_PRESSENS_1 = 2; -const Int32 AN_IDS_PRESSENS_2 = 3; -const Int32 AN_IDS_PRESSENS_3 = 4; -const Int32 AN_IDS_PRESSENS_4 = 5; -const Int32 AN_IDS_PRESSENS_5 = 6; -const Int32 AN_IDS_PRESSENS_6 = 7; -const Int32 AN_IDS_PRESSENS_7 = 8; -const Int32 AN_IDS_PRESSENS_8 = 9; - -const Int32 F2_LS_01_Direct = 0x60000420 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_2 F2_LS_DISPENSER_25_2 F2_LS_DISPENSER_75_2 F2_LS_DISPENSER_DOWN_2 F2_LS_DISPENSER_50_2 F2_LS_DISPENSER_SPARE_2 F2_LS_DISPENSER_UP_1 F2_LS_DISPENSER_25_1 F2_LS_DISPENSER_75_1 F2_LS_DISPENSER_DOWN_1 F2_LS_DISPENSER_50_1 F2_LS_DISPENSER_SPARE_1 -const Int32 F2_LS_02_Direct = 0x60000430 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_4 F2_LS_DISPENSER_25_4 F2_LS_DISPENSER_75_4 F2_LS_DISPENSER_DOWN_4 F2_LS_DISPENSER_50_4 F2_LS_DISPENSER_SPARE_4 F2_LS_DISPENSER_UP_3 F2_LS_DISPENSER_25_3 F2_LS_DISPENSER_75_3 F2_LS_DISPENSER_DOWN_3 F2_LS_DISPENSER_50_3 F2_LS_DISPENSER_SPARE_3 -const Int32 F2_LS_03_Direct = 0x60000440 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_6 F2_LS_DISPENSER_25_6 F2_LS_DISPENSER_75_6 F2_LS_DISPENSER_DOWN_6 F2_LS_DISPENSER_50_6 F2_LS_DISPENSER_SPARE_6 F2_LS_DISPENSER_UP_5 F2_LS_DISPENSER_25_5 F2_LS_DISPENSER_75_5 F2_LS_DISPENSER_DOWN_5 F2_LS_DISPENSER_50_5 F2_LS_DISPENSER_SPARE_5 -const Int32 F2_LS_04_Direct = 0x60000480 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_8 F2_LS_DISPENSER_25_8 F2_LS_DISPENSER_75_8 F2_LS_DISPENSER_DOWN_8 F2_LS_DISPENSER_50_8 F2_LS_DISPENSER_SPARE_8 F2_LS_DISPENSER_UP_7 F2_LS_DISPENSER_25_7 F2_LS_DISPENSER_75_7 F2_LS_DISPENSER_DOWN_7 F2_LS_DISPENSER_50_7 F2_LS_DISPENSER_SPARE_7 - -const Int32 Dispenser_Valve1 = 0; -const Int32 Dispenser_Valve2 = 1; -const Int32 Dispenser_Valve3 = 2; -const Int32 Dispenser_Valve4 = 3; -const Int32 Dispenser_Valve5 = 4; -const Int32 Dispenser_Valve6 = 5; -const Int32 Dispenser_Valve7 = 6; -const Int32 Dispenser_Valve8 = 7; - -const ushort MinPress_Mbar_Add =0x5c ; -const ushort MaxPress_Mbar_Add =0x60 ; - -const Int32 F3_VALVE_OUT = 0x600000e2; - -//string path = "C:\\Dispenser_setup\\Log\\"; - - -//Int32[] Start_Table; - -Int32[] Start_Table = new Int32 [10000]; - -UInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0}; - -string Dispenser_Fname ; - -Int32 Dispenser_ptr =-1; - -Int32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0}; -Int32 max_pressure_level = 20000; -Int32 min_pressure_level = -20000; - -Int32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0}; -Int32 Loop_cnt= 1; -Int32 Loop_length=1; - -Int32 PressureSensorType= 1; //1- new -1up +10 . 0-old 0 to +10 -Int32 Temp_Delay=0; - - -UInt32 RD_LS_01_Direct; -UInt32 RD_LS_02_Direct; -UInt32 RD_LS_03_Direct; -UInt32 RD_LS_04_Direct; - -long Lebel1_time; -long Lebel2_time; - -long time_Table; - -Int32 msec_index=0; - -Int32 MaxPress_Mbar; -Int32 MinPress_Mbar; -string state; - - public Int32 OnExecute(IProcedureContext context) - { - long Max_PBU; - Int32 Index=0; - Int32 speed=0; - Int32 Dispenser_Nm; - this.context = context; - - string box_msg = "Make sure Mixer Hot "; - MessageBox.Show(box_msg); - - var response1 = context.RequestUserInputFor<String>("Dispenser Number", "Enter Dispenser number to make priming (1-8):"); - context.WriteLine(response1); - Dispenser_Nm = Int32.Parse(response1); - - check_Min_Max_Mbar(Dispenser_Nm); - - if (Dispenser_Nm==8) - Max_PBU=6000; - else - Max_PBU=4000; - - - if (!Directory.Exists(path)) - { - Directory.CreateDirectory(path); - } - context.WriteLine(path); - - context.Send<ProgressResponse>("ProgressRequest" ,0xe0, 1); - - Dispenser_Fname=path + "Dispenser_Nm_" + Dispenser_Nm+"_" + DateTime.Now.ToString("MM-dd-yy hh-mm")+ ".csv" ; - - context.WriteLine(Dispenser_Fname); - - context.WriteToFile(Dispenser_Fname,"Dispenser Nm," + Dispenser_Nm + "\n" ); - context.AppendToFile(Dispenser_Fname,"Pressure,Command,Value,DateTime,Remark\n" ); - for(int j=0; j<2;j++) - { - for(int i=0; i<4;i++) - { - state="PBU No. "+ (4*j+i+1 ); - Start_Table=BuildUp_Table; - Table_Run(Dispenser_Nm ); - if (time_Table>300000) - { - context.AddResult(ResultType.Failed,"PBU", "PBU No."+ (4*j+i+1 ) + " Fail"); - return 0; - } - context.AddResult(ResultType.Passed,"PBU","PBU No."+ (4*j+i+1 ) + " Pass"); - - } - state="Flow No."+ (j+1 ) ; - Start_Table=Up_Table; - Table_Run(Dispenser_Nm ); - if (time_Table<115000) - { - context.WriteLine("time_Table= " +time_Table); - context.AddResult(ResultType.Failed,"Flow", "Flow No."+ (j+1) + " Fail"); - return 0; - } - context.AddResult(ResultType.Passed,"Flow","Flow No."+ (j+1 ) + " Pass"); - - } - state="Last PBU " ; - Start_Table=BuildUp_Table; - Table_Run(Dispenser_Nm ); - long Time=Lebel2_time-Lebel1_time; - if (Time>Max_PBU) - { - context.AddResult(ResultType.Failed,"PBU", "PBU = " +Time + "msec "); - state="PBU = " +Time + "msec \tFail"; - } - else - { - context.AddResult(ResultType.Passed,"PBU", "PBU = " +Time + "msec "); - state="PBU = " +Time + "msec \tPass"; - } - return 0; - - } - -///////////////////////////////////////////// -void check_Min_Max_Mbar(Int32 i ) -{ - int k; - string s ; - i--; - - context.WriteLine("-------------- write Enable Channel ------------"); //debug - enable_channel(i); // Chanel 0-7 => Disp0enser 0-7 - context.WriteLine("-------------- Read_header ------------"); //debug - - context.WriteLine("-------------- write_address_eeprom ------------"); //debug - write_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add); - context.WriteLine("-------------- read_data_from_eeprom ------------"); //debug - read_data_from_eeprom (I2C_Slave_Low_Add,1); - if (EEPROM_Data[0]==0 ) - { PressureSensorType=0; - context.WriteLine("PressureSensorType=0" ); //debug - } - else - { - PressureSensorType=1; - context.WriteLine("PressureSensorType=1" ); //debug - } - -} -//----------------write address eeprom ------------------------- -public void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add) -{ - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = I2C_Add; - - UInt32 uInt32 = new UInt32(); - stubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8)); //Byte High add to write - stubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff)); //Byte Low add to write - context.WriteLine( (Eeprom_Add & 0xff00) >>8) ; //debug - context.WriteLine( Eeprom_Add & 0xff); //debug - - context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); -} -//------------------- read Data from EEprom-------------------------- - -public void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt ) -{ - StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); - stubI2CReadBytesRequest.I2CId = I2C_ID; - stubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1); - stubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read - - var response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); - - for(int i=0; i<cnt;i++) - { - EEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]); - context.WriteLine(EEPROM_Data[i] ); //debug - - } -} - - -/////////////////////////////////////////////// -//----------- enable I2c channel -------------- -public int enable_channel(Int32 Channel_ID) -{ - uint Const_temp = 0x01; - - StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); - stubI2CWriteBytesRequest.I2CId = I2C_ID; - stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address; - - Const_temp = Const_temp << Channel_ID; - stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1 - - var response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); - - return 1; -} - - -////////////////////////////////////////////////////////////// -Int32 Table_Run(Int32 Dispenser ) - -{ - Int32 COMMAND=0; - Int32 Data=0; - Int32 count=0; - - Dispenser--; //check from 0-7 - - int j=0; - var stopwatch = new Stopwatch(); - stopwatch.Start(); - - long elapsed_time = stopwatch.ElapsedMilliseconds; - context.WriteLine(elapsed_time); - - while (count!=-1) - { - msec_index=msec_index+1; - - if (Dispenser<2) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - RD_LS_01_Direct=response1.Value ; - } - else if ( (Dispenser<4) ) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - RD_LS_02_Direct=response1.Value ; - } - else if ( (Dispenser<6) ) - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_03_Direct); - RD_LS_03_Direct=response1.Value ; - } - else - { - var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_04_Direct); - RD_LS_04_Direct=response1.Value ; - } - if (Dispenser<4) - { - var response2 = context.Send<StubIntADCReadResponse>("StubIntADCReadRequest" ,0x8000 + AN_IDS_PRESSENS_1); - A2D_Dispenser[0]=(response2.SamplingInBits)>>16; - A2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff; - A2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16; - A2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff; - } - else - { - var response3 = context.Send<StubIntADCReadResponse>("StubIntADCReadRequest" ,0x8000 + AN_IDS_PRESSENS_5); - A2D_Dispenser[4] =(response3.SamplingInBits)>>16; - A2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff; - A2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16; - A2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff; - } - - COMMAND=Start_Table[count]; - Data=Start_Table[(count+1)]; - //Index=Index+2; - switch (COMMAND) - { - case CMD_RUN: - Motor_Run(Data,Dispenser); - count = count+2; - break; - - case CMD_VALVE: - Valve_3W(Data,Dispenser); - count = count+2; - break; - - case CMD_STOP: - Motor_Stop(Data,Dispenser); - count = count+2; - break; - - case CMD_DLY: - Delay_on_second(Data,Dispenser); - if (Temp_Delay ==0) - { - max_pressure_level=20000; - min_pressure_level=-20000; - count = count+2; - } - break; - - case CMD_TIME: - Print_Time(); - count = count+2; - break; - - case CMD_PRESS: - max_pressure_level=Data; - context.AppendToFile(Dispenser_Fname,",Max_pressure_level is, " + Data +","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_PRESL: - min_pressure_level=Data; - context.AppendToFile(Dispenser_Fname,",Min_pressure_level is, " + Data +","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_LBL: - context.AppendToFile(Dispenser_Fname,",Label," + Data+","+DateTime.Now+"\n"); - if(Data==1) - Lebel1_time=stopwatch.ElapsedMilliseconds; - if(Data==2) - Lebel2_time=stopwatch.ElapsedMilliseconds; - count = count+2; - break; - - - case CMD_SMP: - context.AppendToFile(Dispenser_Fname,",SampleRate," + Data+","+DateTime.Now+"\n"); - Dispenser_sample_rate =Data; - count = count+2; - break; - - case CMD_END: - count=-1; - context.AppendToFile(Dispenser_Fname,",End testing,,"+DateTime.Now+"\n"); - break; - - case CMD_MTV_OPEN: - open_midtank_valve(Data,Dispenser); - context.AppendToFile(Dispenser_Fname,",OPEN MIDTANK, " + Dispenser+","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_MTV_CLOSE: - close_midtank_valve(Data,Dispenser); - context.AppendToFile(Dispenser_Fname,",CLOSE MIDTANK, " + Dispenser+","+DateTime.Now+"\n"); - count = count+2; - break; - - case CMD_LOOP_NM: - - Loop_cnt=Data-1; - context.AppendToFile(Dispenser_Fname,",Counter Loop,"+ Data+","+DateTime.Now +"\n"); - count = count+2; - break; - - case CMD_LOOP: - - if (Loop_cnt!=0) - { - context.AppendToFile(Dispenser_Fname,"Counter Loop,"+ Loop_cnt+","+DateTime.Now+"\n" ); - count = count+2*Data; - Loop_cnt--; - - } - else - { - context.AppendToFile(Dispenser_Fname,",End loop,,"+DateTime.Now +"\n"); - count = count+2; - } - break; - - default: - break; - - } - - long elapsed_time1 = stopwatch.ElapsedMilliseconds; - long elapsed_time2= elapsed_time1-elapsed_time; - if (elapsed_time2>95) - elapsed_time2=95; //minimum time - Thread.Sleep(100-(int )(elapsed_time2)); - - elapsed_time = stopwatch.ElapsedMilliseconds; - - - j++; - if (j==10) - { - j=0; - context.WriteLine(Dispenser_press[Dispenser]+ " mBar\t"+state + "\tTime-" + (elapsed_time/1000)); - } - } - time_Table=elapsed_time; - return 0; -} - -/////////////////////////////////////////////////////////////////// -Int32 Motor_Run(Int32 speed,Int32 Dispenser) - -{ - - switch (Dispenser) - { - case 0: - if ( speed<0) - { - Motor_Dir[0]=2; - if ((RD_LS_01_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor1, false, (-speed)); - } - else - { - Motor_Dir[0]=1; - if ((RD_LS_01_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor1, true, (speed)); - } - break; - - case 1: - if ( speed<0) - { - Motor_Dir[1]=2; - if ((RD_LS_01_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor2, false, (-speed)); - } - else - { - Motor_Dir[1]=1; - if ((RD_LS_01_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor2, true, (speed)); - } - break; - - case 2: - if ( speed<0) - { - Motor_Dir[2]=2; - if ((RD_LS_02_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor3, false, (-speed)); - } - else - { - Motor_Dir[2]=1; - if ((RD_LS_02_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor3, true, (speed)); - } - break; - - case 3: - if ( speed<0) - { - Motor_Dir[3]=2; - - if ((RD_LS_02_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor4, false, (-speed)); - } - else - { - Motor_Dir[3]=1; - - if ((RD_LS_02_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor4, true, (speed)); - } - break; - - case 4: - if ( speed<0) - { - Motor_Dir[4]=2; - if ((RD_LS_03_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor5, false, (-speed)); - } - else - { - Motor_Dir[4]=1; - if ((RD_LS_03_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor5, true, (speed)); - } - break; - - case 5: - if ( speed<0) - { - Motor_Dir[5]=2; - if ((RD_LS_03_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor6, false, (-speed)); - } - else - { - Motor_Dir[5]=1; - if ((RD_LS_03_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+ ",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor6, true, (speed)); - } - break; - - case 6: - if ( speed<0) - { - Motor_Dir[6]=2; - if ((RD_LS_04_Direct & 0x04)!=0x04) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor7, false, (-speed)); - } - else - { - Motor_Dir[6]=1; - if ((RD_LS_04_Direct & 0x20)!=0x20) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor7, true, (speed)); - } - break; - - case 7: - if ( speed<0) - { - Motor_Dir[7]=2; - - if ((RD_LS_04_Direct & 0x100)!=0x100) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor8, false, (-speed)); - } - else - { - Motor_Dir[7]=1; - - if ((RD_LS_04_Direct & 0x800)!=0x800) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Motor on Limit\n"); - return 0; - } - context.Send<StubMotorRunResponse>("StubMotorRunRequest" ,Dispenser_Motor8, true, (speed)); - } - break; - - default: - break; - - } - context.AppendToFile(Dispenser_Fname,",Run," +speed+","+DateTime.Now +"\n" ); - - return 1; -} - - - Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser) -{ - if ( Valve_Value==1) - context.Send<StubValveResponse>("StubValveRequest" ,Dispenser_Valve1+Dispenser, 3, true); //3 3Way - else - context.Send<StubValveResponse>("StubValveRequest" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way - - context.AppendToFile(Dispenser_Fname,",Dispenser Valve position is, " + Valve_Value+","+DateTime.Now +"\n" ); - - return 1; -} -//--------------------------------------- - - Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser ) -{ - context.Send<StubMotorStopResponse>("StubMotorStopRequest" ,Dispenser_Motor1+Dispenser, Stop_Value); - - context.AppendToFile(Dispenser_Fname,",Motor Stop," + Stop_Value+","+DateTime.Now +"\n"); - Motor_Dir[Dispenser]=0; - return 1; -} - -//--------------------------------------- - - Int32 Delay_on_second(Int32 Delay,Int32 Dispenser ) -{ -//Int32 temp1; -Int32 pressure_om_mBAR=0; - if (Temp_Delay ==0) - { - context.AppendToFile(Dispenser_Fname,",DLY, " + Delay +","+DateTime.Now+"\n"); - Temp_Delay = Delay *10 -1; -// context.Write("A"); //debug - } - else - Temp_Delay--; - - if ( LimitSW_Dispenser(Dispenser)==0) - { - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now+",Warning Motor on Limit\n"); - MotorStop(Dispenser); - Temp_Delay =0; //end delay -// context.Write("C"); //debug - - return 0 ; - } - - pressure_om_mBAR=Calc_mBAR(Dispenser,true); - if (pressure_om_mBAR > max_pressure_level) - { - // MotorStop(Dispenser); - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Pressure too high\n"); - Temp_Delay =0; //end delay -// context.Write("D"); //debug - - return 0; - } - if (pressure_om_mBAR < min_pressure_level) - { - // MotorStop(Dispenser); - context.AppendToFile(Dispenser_Fname,",,,"+DateTime.Now +",Warning Pressure too low\n"); - Temp_Delay =0; //end delay -// context.Write("D"); //debug - - return 0; - } - - - return 1; -} - -Int32 LimitSW_Dispenser(Int32 Dispenser) -{ - - if (Dispenser==0) - - { - -// var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - - if (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2)) - return 0; - else - if (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1)) - return 0; - else - return 1; - } - - if (Dispenser==1) - - { -// var response2 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2)) - return 0; - else - if (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1)) - return 0; - else - return 1; - } - - - if (Dispenser==2) - - { - - //var response3 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2)) - return 0; - else - if (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1)) - return 0; - else - return 1; - - } - - if (Dispenser==3) - - { - var response4 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2)) - return 0; - else - if (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1)) - return 0; - else - return 1; - } - - - - - if (Dispenser==4) - - { - -// var response1 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2)) - return 0; - else - if (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1)) - return 0; - else - return 1; - } - - if (Dispenser==5) - - { -// var response2 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_01_Direct); - if (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2)) - return 0; - else - if (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1)) - return 0; - else - return 1; - } - - - if (Dispenser==6) - - { - - //var response3 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2)) - return 0; - else - if (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1)) - return 0; - else - return 1; - - } - - if (Dispenser==7) - - { -// var response4 = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F2_LS_02_Direct); - if (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2)) - return 0; - else - if (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1)) - return 0; - else - return 1; - } - - - return 0; -} - - -Int32 Print_Time() -{ - context.AppendToFile(Dispenser_Fname,",Time is\t,,"+ DateTime.Now +"\n" ); - - return 1; -} - - - -Int32 Calc_mBAR(Int32 Dispenser, bool save_press) -{ -Int32 Data; -Int32 Sense1; -Int32 temp=0; - - Data =A2D_Dispenser[Dispenser]; - if (Data<100) - temp=-1; - Data=Data-710; - if (Data<0) - Data=0; - - Data=Data*(10000+PressureSensorType*1000)/2840; // for -1 to 10 bar Press_Sensor_Type=1 else 0 - Data=Data-1000*PressureSensorType; // for -1 to 10 bar - - if (temp==-1) //if SamplingInBits <100 then No pressure sensor exist - Sense1=-9999 ; - else - Sense1=Data ; - if ( ((msec_index) % (Dispenser_sample_rate)) == 0) - { - context.AppendToFile(Dispenser_Fname,"" + Sense1+"\n"); - } - Dispenser_press[Dispenser]=Sense1; - return Sense1; - - } - - -//-------------------------------- -int open_midtank_valve (Int32 valve_type,Int32 valve_nm) //valve_type=0 is Air ,1 is Ink ; valve_nm 0-7 -{ - SetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1); - return 1; - -} -//-------------------------------- -int close_midtank_valve (Int32 valve_type,Int32 valve_nm) //valve_type=0 is Air ,1 is Ink ; valve_nm 0-7 -{ - SetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0); - return 1; -} -//-------------------------------- -Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit) -{ - Int32 BitMask; - - var response = context.Send<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , F3_VALVE_OUT); - Int32 RV = (Int32) response.Value & 0xffff; - - - if (Bit == 0x1) - { - BitMask = 0x1 << BitNo; - RV = RV | BitMask; - context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV); - } - else if (Bit == 0x0) - { - BitMask = ~(0x1 << BitNo); - RV = RV & BitMask; - context.Send<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV); - } - return 1; -} -//---------------------------------- - void MotorStop(Int32 i) -{ - -context.Send<StubMotorStopResponse>("StubMotorStopRequest" ,Dispenser_Motor1+i, 2); -Motor_Dir[i]=0; //0 stop 1- up 2-dn - -} - -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Loading arm calibration.pproj b/Software/Stubs Collection/Procedures/Read main card EEPROM.pproj index e1aacdf5d..75baebae5 100644 --- a/Software/Stubs Collection/Procedures/Loading arm calibration.pproj +++ b/Software/Stubs Collection/Procedures/Read main card EEPROM.pproj @@ -1 +1 @@ -{"$id":"1","Name":"Loading arm calibration","Description":"This procedure stores the loading arm center according to the current hardware read. it also stores 0 as the number of cycles.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\r\n\r\n\t\tProgressRequest progressRequest = new ProgressRequest();\r\n\t\tprogressRequest.Amount = 0xB1;\r\n\t\t//progressRequest.Delay = 1;\r\n\t\r\n\t\tvar response = context.Send<ProgressResponse>(progressRequest);\r\n\t\r\n\t\tprogressRequest.Amount = 0xB2;\r\n\t\tprogressRequest.Delay = 0;\r\n\t\r\n\t\tresponse = context.Send<ProgressResponse>(progressRequest);\r\n\r\n context.AddResult(ResultType.Passed, \"Loading Arm Calibrated\", \"OK\");\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"68fd5a49-b7ad-4d85-a305-75dc06b35f2f","ApartmentState":"STA"}
\ No newline at end of file +{"$id":"1","Name":"Read main card EEPROM","Visibility":"Public","Description":"Reads the calibration data stored in the main card for backup.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.PMR.EmbeddedParameters;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tstring[] Main_Card_EEpromAddress = {\r\n\t\"DATA_SIZE\",\r\n\t\"DANCER_0\",\r\n\t\"DANCER_1\",\r\n\t\"DANCER_2\",\r\n\t\"DRYER_CENTER\",\r\n\t\"DRYER_CYCLES\",\r\n\t\"MIDTANK_1_A\",\r\n\t\"MIDTANK_1_B\",\r\n\t\"MIDTANK_2_A\",\r\n\t\"MIDTANK_2_B\",\r\n\t\"MIDTANK_3_A\",\r\n\t\"MIDTANK_3_B\",\r\n\t\"MIDTANK_4_A\",\r\n\t\"MIDTANK_4_B\",\r\n\t\"MIDTANK_5_A\",\r\n\t\"MIDTANK_5_B\",\r\n\t\"MIDTANK_6_A\",\r\n\t\"MIDTANK_6_B\",\r\n\t\"MIDTANK_7_A\",\r\n\t\"MIDTANK_7_B\",\r\n\t\"MIDTANK_8_A\",\r\n\t\"MIDTANK_8_B\",\r\n\t\"WINDER_CALIBRATION\",\r\n\t\"EMBEDDED_VERSION\",\r\n\t\"EEPROM_ALARM_SUPPORT\",\r\n\t\"EEPROM_ORIFICE1_ZERO_VALUE\",\r\n\t\"EEPROM_ORIFICE3_ZERO_VALUE\",\r\n\t\"EEPROM_WASTE_TANK_ZERO_VALUE\",\r\n\t\"EEPROM_PULLER_TENSION_POSITION\",\r\n\t\"EEPROM_WINDER_TENSION_POSITION\",\r\n\t\"EEPROM_INIT_FAILURE_COUNTER\",\r\n\t\"DANCER_3\",\r\n\t\"DANCER_4\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_0\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_1\",\r\n\t\"EEPROM_DRIER_LOADING_ARM_ANGLE\"};\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\tstring FileName;\r\n\t\tStubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();\r\n\t\tvar response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);\r\n\t\r\n\t\tFileName = \"C:/temp/mainEEProm\"+context.ConnectedMachine.SerialNumber+\".csv\";\r\n\t\tcontext.AppendToFile(FileName, \"Address,Name,Data\");\r\n\t for (int i = 1; i < 36; i++)\r\n\t {\r\n\t\t\tStubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();\r\n\t\t\tstubMainCardEEpromReadRequest.Address = i;\r\n\t\t\tstubMainCardEEpromReadRequest.Data = 0;\r\n\t\r\n\t\t\tvar response = context.Send<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);\r\n\t\t\tcontext.AppendToFile(FileName, \"\\r\\n\"+response.Address + \",\" + Main_Card_EEpromAddress[i] +\",\" + response.Data);\r\n\t\t}\t\t\r\n context.AddResult(ResultType.Passed, \"Successfuly read the Main card information\", \"Test passed.\");\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"8f58fb28-4fd5-40c0-a048-fc8b89ace4a9","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Read main card informatiom.txt b/Software/Stubs Collection/Procedures/Read main card informatiom.txt deleted file mode 100644 index 1252779df..000000000 --- a/Software/Stubs Collection/Procedures/Read main card informatiom.txt +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.PMR.EmbeddedParameters; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - - -private const string JSON_FILE_PATH = "C:/temp/maineeprom.json"; -private const string CSV_FILE_PATH = "C:/temp/maineeprom.csv"; -public class Program -{ - string[] Main_Card_EEpromAddress = { - "DATA_SIZE", - "DANCER_0", - "DANCER_1", - "DANCER_2", - "DRYER_CENTER", - "DRYER_CYCLES", - "MIDTANK_1_A", - "MIDTANK_1_B", - "MIDTANK_2_A", - "MIDTANK_2_B", - "MIDTANK_3_A", - "MIDTANK_3_B", - "MIDTANK_4_A", - "MIDTANK_4_B", - "MIDTANK_5_A", - "MIDTANK_5_B", - "MIDTANK_6_A", - "MIDTANK_6_B", - "MIDTANK_7_A", - "MIDTANK_7_B", - "MIDTANK_8_A", - "MIDTANK_8_B", - "WINDER_CALIBRATION", - "EMBEDDED_VERSION", - "EEPROM_ALARM_SUPPORT", - "EEPROM_ORIFICE1_ZERO_VALUE", - "EEPROM_ORIFICE3_ZERO_VALUE", - "EEPROM_WASTE_TANK_ZERO_VALUE", - "EEPROM_PULLER_TENSION_POSITION", - "EEPROM_WINDER_TENSION_POSITION", - "EEPROM_INIT_FAILURE_COUNTER", - "DANCER_3", - "DANCER_4", - "EEPROM_PRESSURE_SENSOR_V0_0", - "EEPROM_PRESSURE_SENSOR_V0_1", - "EEPROM_DRIER_LOADING_ARM_ANGLE"}; - public void OnExecute(IProcedureContext context) - { - string FileName; - StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest(); - var response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest); - - if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2)) - { - MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest(); - var response3 = context.Send<MainCardStoredDataResponse>(mainCardStoredDataRequest); - FileName - "C:/temp/mainEEProm"+context.ConnectedMachine.SerialNumber+".json"; - - context.AppendToFile(FileName, "MainCardStoredData: "+ response3); - } - else - { - context.AppendToFile(CSV_FILE_PATH, "Address,Name,Data"); - for (int i = 1; i < 36; i++) - { - StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest(); - stubMainCardEEpromReadRequest.Address = i; - stubMainCardEEpromReadRequest.Data = 0; - - var response = context.Send<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest); - context.AppendToFile(CSV_FILE_PATH, response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data); - } - } - context.AddResult(ResultType.Passed, "Successfuly read the Main card information", "Test passed."); - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Read main card information.pproj b/Software/Stubs Collection/Procedures/Read main card information.pproj deleted file mode 100644 index f17f47e80..000000000 --- a/Software/Stubs Collection/Procedures/Read main card information.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Read main card information","Visibility":"Public","Description":"This procedure reads the stored main card information and put it in a file in C:/temp/maineeprom.* for future use","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.PMR.EmbeddedParameters;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\nprivate const string JSON_FILE_PATH = \"C:/temp/maineeprom.json\";\r\nprivate const string CSV_FILE_PATH = \"C:/temp/maineeprom.csv\";\r\npublic class Program\r\n{\r\n\tstring[] Main_Card_EEpromAddress = {\r\n\t\"DATA_SIZE\",\r\n\t\"DANCER_0\",\r\n\t\"DANCER_1\",\r\n\t\"DANCER_2\",\r\n\t\"DRYER_CENTER\",\r\n\t\"DRYER_CYCLES\",\r\n\t\"MIDTANK_1_A\",\r\n\t\"MIDTANK_1_B\",\r\n\t\"MIDTANK_2_A\",\r\n\t\"MIDTANK_2_B\",\r\n\t\"MIDTANK_3_A\",\r\n\t\"MIDTANK_3_B\",\r\n\t\"MIDTANK_4_A\",\r\n\t\"MIDTANK_4_B\",\r\n\t\"MIDTANK_5_A\",\r\n\t\"MIDTANK_5_B\",\r\n\t\"MIDTANK_6_A\",\r\n\t\"MIDTANK_6_B\",\r\n\t\"MIDTANK_7_A\",\r\n\t\"MIDTANK_7_B\",\r\n\t\"MIDTANK_8_A\",\r\n\t\"MIDTANK_8_B\",\r\n\t\"WINDER_CALIBRATION\",\r\n\t\"EMBEDDED_VERSION\",\r\n\t\"EEPROM_ALARM_SUPPORT\",\r\n\t\"EEPROM_ORIFICE1_ZERO_VALUE\",\r\n\t\"EEPROM_ORIFICE3_ZERO_VALUE\",\r\n\t\"EEPROM_WASTE_TANK_ZERO_VALUE\",\r\n\t\"EEPROM_PULLER_TENSION_POSITION\",\r\n\t\"EEPROM_WINDER_TENSION_POSITION\",\r\n\t\"EEPROM_INIT_FAILURE_COUNTER\",\r\n\t\"DANCER_3\",\r\n\t\"DANCER_4\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_0\",\r\n\t\"EEPROM_PRESSURE_SENSOR_V0_1\",\r\n\t\"EEPROM_DRIER_LOADING_ARM_ANGLE\"};\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \tstring FileName;\r\n\r\n\t\tStubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();\r\n\t\tvar response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);\r\n\t\r\n\t\tif ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))\r\n\t\t{\r\n\t\t\tMainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();\r\n\t\t\tvar response3 = context.Send<MainCardStoredDataResponse>(mainCardStoredDataRequest);\r\n\t\t\t//context.AppendToFile(JSON_FILE_PATH, \"MainCardStoredData: \"+ response3);\r\n\t\t\tFileName = \"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".json\";\r\n\r\n\t\t\tcontext.AppendToFile(FileName, \"MainCardStoredData: \"+ response3);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tFileName = \"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".csv\";\r\n\r\n\t\t\tcontext.AppendToFile(FileName, \"Address,Name,Data\");\r\n\t\t for (int i = 1; i <= 30; i++)\r\n\t\t {\r\n\t\t\t\tStubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();\r\n\t\t\t\tstubMainCardEEpromReadRequest.Address = i;\r\n\t\t\t\tstubMainCardEEpromReadRequest.Data = 0;\r\n\t\t\r\n\t\t\t\tvar response = context.Send<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);\r\n\t\t\t\tcontext.AppendToFile(FileName, \"\\r\\n\"+response.Address + \",\" + Main_Card_EEpromAddress[i] +\",\" + response.Data);\r\n\t\t\t}\t\t\r\n\t\t} \r\n context.AddResult(ResultType.Passed, \"Successfuly read the Main card information\", \"Test passed.\");\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.DataStore.dll","HintType":"Tango.DataStore.IDataStoreItem, Tango.DataStore, Version=2.0.4.1608, Culture=neutral, PublicKeyToken=null"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"fa8293e8-0db3-4461-a0ed-6d9406d80df1","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Selection Input.pproj b/Software/Stubs Collection/Procedures/Selection Input.pproj deleted file mode 100644 index dfe8b2553..000000000 --- a/Software/Stubs Collection/Procedures/Selection Input.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Selection Input","Description":"Selection Input Demonstration","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\r\n context.AddResult(ResultType.Passed, \"Selection\", context.GetInput(\"select\"));\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Key":"select","Type":"Selection","DisplayName":"Parameter 1","Description":"Controls the 1 parameter.","Value":"Value1","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Value 1 Name","Value":"Value1"},{"$id":"9","Name":"Value 2 Name","Value":"Value2"}]}},{"$id":"10","Key":"param2","Type":"Default","DisplayName":"Parameter 2","Description":"Controls the 2 parameter.","Value":"0","SelectionInputs":{"$id":"11","$values":[]}}]},"ReferenceAssemblies":{"$id":"12","$values":[{"$id":"13","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"14","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"15","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"16","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"19","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"20","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"21","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"22","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"23","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Dialogs":{"$id":"24","$values":[]},"ID":"9c8ea90a-47ea-45d8-a5b6-06da13e8ddde","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Set_Head_Type_With_DB.pproj b/Software/Stubs Collection/Procedures/Set_Head_Type_With_DB.pproj deleted file mode 100644 index 2a8d146ca..000000000 --- a/Software/Stubs Collection/Procedures/Set_Head_Type_With_DB.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Set_Head_Type","Visibility":"Public","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing Tango.FSE.Common.SQL;\r\nusing Tango.PPC.Shared.SQL;\r\nusing Tango.FSE.Common.RemoteActions;\r\n\r\n\r\npublic class Program\r\n{\r\n private IProcedureContext context;\r\n private const Int32 I2C_ID = 3; //MCU_I2C3 \r\n private const Int32 TCA9548A_address = 0xE2;\r\n private const Int32 I2C_Slave_Add = 0xA0; //eeprom address - 32kByte \r\n private int Head_Mux_Channel_ID = 4; //Head MUX channel\r\n private const Int32 SerialNum = 0x01;\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n this.context = context;\r\n\r\n int headType = context.GetInput<int>(\"headType\"); //0 flate ; 1 Arc\r\n Byte HeadTtpe = (byte)(headType == 0 ? 3 : 4); //3 flate ; 4 Arc\r\n context.WriteLine(HeadTtpe);\r\n\r\n\t\t//Firmware -------------------------------------------------------------------------------------------------------------\r\n context.UpdateProgress(\"Updating machine EEPROM entry...\");\r\n\r\n //enable_all_channel();\r\n enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7 \r\n\r\n\r\n adc_write(I2C_Slave_Add, 0x00, HeadTtpe);\r\n context.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )\r\n\r\n context.Write(\"\\nPage 0x00 #\");\r\n context.Write(0);\r\n context.Write(\"\\t- The Buffer is: \");\r\n adc_set_for_read_ch(I2C_Slave_Add, 0x00);\r\n //Thread.Sleep(1); //Sleep for 10 milli.\r\n adc_read_ch(I2C_Slave_Add);\r\n\r\n context.Sleep(1000);\r\n\r\n\r\n\t\t//Software -------------------------------------------------------------------------------------------------------------\r\n context.UpdateProgress(\"Updating machine global and local database entries...\");\r\n\r\n //Create the SQL command and direct it to affect both the local machine's database and the global Twine's database.\r\n IRemoteSqlProvider sql = context.GetService<IRemoteSqlProvider>();\r\n RemoteSqlCommand command = new RemoteSqlCommand();\r\n command.Mode = RemoteSqlCommandMode.Both;\r\n command.SQL = \"UPDATE MACHINES SET HEAD_TYPE = \" + headType + \" WHERE SERIAL_NUMBER = '\" + context.ConnectedMachine.SerialNumber + \"'\";\r\n RemoteSqlCommandResult result = sql.ExecuteSqlCommand(command);\r\n\r\n if (result.HasGlobalError || result.HasLocalError)\r\n {\r\n context.Fail(\"Could not update the machine's global or local entry.\\n\" + result.GlobalError + \"\\n\" + result.LocalError);\r\n }\r\n\r\n context.ShowInfo(\"The machine head type was updated successfully. Changes will take effect after system restart.\");\r\n }\r\n\r\n private int enable_channel(int Channel_ID)\r\n {\r\n uint Const_temp = 0x01;\r\n\r\n StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n stubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\r\n Const_temp = Const_temp << Channel_ID;\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);\r\n\r\n var response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\r\n return 1;\r\n }\r\n\r\n\r\n private int adc_write(uint I2C_Slave_Add, uint Page, Byte HeadTtpe)\r\n {\r\n StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n stubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\r\n UInt32 uInt32 = new UInt32();\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write\r\n //--------------------------------------------------------------\r\n\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(SerialNum);//S/N\r\n //stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_FLAT\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(HeadTtpe);//HEAD_TYPE_ARC\r\n\r\n var response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\r\n return 1;\r\n }\r\n\r\n private int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page)\r\n {\r\n StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n stubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\r\n\r\n UInt32 uInt32 = new UInt32();\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write\r\n stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write\r\n\r\n var response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\r\n return 1;\r\n }\r\n\r\n private int adc_read_ch(uint I2C_Slave_Add)\r\n {\r\n StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n stubI2CReadBytesRequest.I2CId = I2C_ID;\r\n stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;\r\n stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read\r\n\r\n var response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n uint temph = 0;\r\n\r\n for (int i = 0; i < stubI2CReadBytesRequest.NumberOfBytesToRead; i++)\r\n {\r\n temph = response1.ReadBytes[i];\r\n context.WriteHex(temph, 2);\r\n }\r\n\r\n return 1;\r\n }\r\n\r\n}\r\n","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Selection","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Flat","Value":"0"},{"$id":"9","Name":"Arc","Value":"1"}]},"DisplayName":"Head Type","Description":"Select the new machine head type","Key":"headType","Value":"0"}]},"Variables":{"$id":"10","$values":[]},"ReferenceAssemblies":{"$id":"11","$values":[{"$id":"12","File":"Tango.BL.dll","HintType":null},{"$id":"13","File":"Tango.FSE.Common.dll","HintType":null},{"$id":"14","File":"Tango.FSE.Procedures.dll","HintType":null},{"$id":"15","File":"Tango.Integration.dll","HintType":null},{"$id":"16","File":"Tango.PMR.dll","HintType":null},{"$id":"17","File":"Tango.Transport.dll","HintType":null},{"$id":"18","File":"mscorlib.dll","HintType":null},{"$id":"19","File":"System.Core.dll","HintType":null},{"$id":"20","File":"System.Drawing.dll","HintType":null},{"$id":"21","File":"System.Windows.Forms.dll","HintType":null},{"$id":"22","File":"Tango.PPC.Shared.dll","HintType":null}]},"Resources":{"$id":"23","$values":[]},"Dialogs":{"$id":"24","$values":[]},"ID":"85cac11e-4694-43f9-adfb-b010967ff32b","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/WHS Loop Disable.pproj b/Software/Stubs Collection/Procedures/WHS Loop Disable.pproj deleted file mode 100644 index 8632288f2..000000000 --- a/Software/Stubs Collection/Procedures/WHS Loop Disable.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"WHS Loop Disable","Description":"This procedure controls the waste head flow control loop. Set the loop parameter to false to disable, to true to enable.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\r\n\t\tint ControlLoopEnable = context.GetInput<int>(\"WasteControlLoop\");\r\n\t\t\r\n\t\tProgressRequest progressRequest = new ProgressRequest();\r\n\t\tprogressRequest.Amount = 0x3e8;\r\n\t\tprogressRequest.Delay = ControlLoopEnable*0x1000+2700;\r\n\r\n\t\tvar response = context.Send<ProgressResponse>(progressRequest);\r\n context.AddResult(ResultType.Passed, \"Success\", response.Progress);\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[{"$id":"6","Type":"Selection","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Enable WHS Control","Value":"1"},{"$id":"9","Name":"Disable WHS Control","Value":"0"}]},"DisplayName":"Waste Control Loop Enable","Description":"Waste Control Loop Enable/Disable","Key":"WasteControlLoop","Value":"0"}]},"Variables":{"$id":"10","$values":[]},"ReferenceAssemblies":{"$id":"11","$values":[{"$id":"12","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"13","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"14","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"20","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"21","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"22","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"23","$values":[]},"Dialogs":{"$id":"24","$values":[]},"ID":"eb9234b2-2aa0-4bf2-bfe4-dcc8de49bda6","ApartmentState":"MTA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/WHS loopp control.txt b/Software/Stubs Collection/Procedures/WHS loopp control.txt deleted file mode 100644 index 3638af2a5..000000000 --- a/Software/Stubs Collection/Procedures/WHS loopp control.txt +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Google.Protobuf; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - -public class Program -{ - public void OnExecute(IProcedureContext context) - { - - int ControlLoopEnable = context.GetInput<int>("WasteControlLoop"); - - ProgressRequest progressRequest = new ProgressRequest(); - progressRequest.Amount = 0x3e8; - progressRequest.Delay = ControlLoopEnable*0x1000+2700; - - var response = context.Send<ProgressResponse>(progressRequest); - context.AddResult(ResultType.Passed, "Success", response.Progress); - - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.pproj b/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.pproj deleted file mode 100644 index 3bd4b1f84..000000000 --- a/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.pproj +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - - -public class Program -{ - double V0_default_ml = 8.7433; - - public void OnExecute(IProcedureContext context) - { - - var response1 = context.RequestUserInputFor<String>("Warning - you are going to change the value of Vo in the eeprom !!!\nPlease Enter Password to confirme:",""); - if (response1=="Aa123456") - { - context.WriteLine(response1); - - //Write_0_Vo_in_ml_to_eeprom - context.WriteLine("\nWrite_0_Vo_in_ml_to_eeprom"); - StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest(); - stubWhsEEpromRequest.BurnRequest = true; //write - StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData(); - stubWhsEEpromData.Orifice1Flow = 0; - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //wait_10mSec - context.WriteLine("\nwait_10mSec"); - Thread.Sleep(100); //Sleep for 10 milli. - - //Read_Vo_in_ml_from_eeprom & verify it is 0 - context.WriteLine("\nRead_Vo_in_ml_from_eeprom & verify it is 0"); - stubWhsEEpromRequest.BurnRequest = false; //write - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //Read_Vo_in_mV - context.WriteLine("\nRead_Vo_in_mV"); - var response3 = context.Send<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01); - //Print_Vo_in_mV - context.WriteLine(response3.Progress); - - //check validity - context.WriteLine("\ncheck validity"); - if((response3.Progress <= 800) || (response3.Progress >=1200)) - { - response3.Progress = 1076; //default - context.Write("\nERROR ------ Vreading value outside the defined range !!! ------"); - context.AddResult(ResultType.Failed , "Error", "ERROR ------ Vreading value outside the defined range !!! ------"); - } - else - { - //calculate_V0_in_ml - context.WriteLine("\ncalculate_V0_in_ml"); - V0_default_ml = V0_default_ml * response3.Progress; - - //print_Vo_in_ml - context.WriteLine("\nprint_Vo_in_ml"); - context.WriteLine(V0_default_ml); - context.WriteLine(""); - - //Write_Vo_in_ml_to_eeprom - context.WriteLine("\nWrite_Vo_in_ml_to_eeprom"); - stubWhsEEpromRequest.BurnRequest = true; //write - - stubWhsEEpromData.Orifice1Flow = V0_default_ml; - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //wait_10mSec - context.WriteLine("\nwait_10mSec"); - Thread.Sleep(100); //Sleep for 10 milli. - - //Read_Vo_in_ml_from_eeprom - context.WriteLine("\nRead_Vo_in_ml_from_eeprom"); - stubWhsEEpromRequest.BurnRequest = false; //write - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //Check if we read the correct value - context.WriteLine("\nVerify that we read the correct value of Orifice1Flow!!"); - context.AddResult(ResultType.Passed , "Pass", "Calibration Pass."); - - } - } - else - { - context.AddResult(ResultType.Failed , "Error", "Password Fail."); - } - context.WriteLine("\n -- END OF SCRIPT -- "); - } -} - diff --git a/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.txt b/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.txt deleted file mode 100644 index 3bd4b1f84..000000000 --- a/Software/Stubs Collection/Procedures/WHS_waste_Tank_Calibration_Save_V0.txt +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Drawing; -using Google.Protobuf; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Connection; -using Tango.FSE.Common.Diagnostics; -using Tango.FSE.Procedures; - - -public class Program -{ - double V0_default_ml = 8.7433; - - public void OnExecute(IProcedureContext context) - { - - var response1 = context.RequestUserInputFor<String>("Warning - you are going to change the value of Vo in the eeprom !!!\nPlease Enter Password to confirme:",""); - if (response1=="Aa123456") - { - context.WriteLine(response1); - - //Write_0_Vo_in_ml_to_eeprom - context.WriteLine("\nWrite_0_Vo_in_ml_to_eeprom"); - StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest(); - stubWhsEEpromRequest.BurnRequest = true; //write - StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData(); - stubWhsEEpromData.Orifice1Flow = 0; - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //wait_10mSec - context.WriteLine("\nwait_10mSec"); - Thread.Sleep(100); //Sleep for 10 milli. - - //Read_Vo_in_ml_from_eeprom & verify it is 0 - context.WriteLine("\nRead_Vo_in_ml_from_eeprom & verify it is 0"); - stubWhsEEpromRequest.BurnRequest = false; //write - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //Read_Vo_in_mV - context.WriteLine("\nRead_Vo_in_mV"); - var response3 = context.Send<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01); - //Print_Vo_in_mV - context.WriteLine(response3.Progress); - - //check validity - context.WriteLine("\ncheck validity"); - if((response3.Progress <= 800) || (response3.Progress >=1200)) - { - response3.Progress = 1076; //default - context.Write("\nERROR ------ Vreading value outside the defined range !!! ------"); - context.AddResult(ResultType.Failed , "Error", "ERROR ------ Vreading value outside the defined range !!! ------"); - } - else - { - //calculate_V0_in_ml - context.WriteLine("\ncalculate_V0_in_ml"); - V0_default_ml = V0_default_ml * response3.Progress; - - //print_Vo_in_ml - context.WriteLine("\nprint_Vo_in_ml"); - context.WriteLine(V0_default_ml); - context.WriteLine(""); - - //Write_Vo_in_ml_to_eeprom - context.WriteLine("\nWrite_Vo_in_ml_to_eeprom"); - stubWhsEEpromRequest.BurnRequest = true; //write - - stubWhsEEpromData.Orifice1Flow = V0_default_ml; - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //wait_10mSec - context.WriteLine("\nwait_10mSec"); - Thread.Sleep(100); //Sleep for 10 milli. - - //Read_Vo_in_ml_from_eeprom - context.WriteLine("\nRead_Vo_in_ml_from_eeprom"); - stubWhsEEpromRequest.BurnRequest = false; //write - stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData; - var response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest); - - //Check if we read the correct value - context.WriteLine("\nVerify that we read the correct value of Orifice1Flow!!"); - context.AddResult(ResultType.Passed , "Pass", "Calibration Pass."); - - } - } - else - { - context.AddResult(ResultType.Failed , "Error", "Password Fail."); - } - context.WriteLine("\n -- END OF SCRIPT -- "); - } -} - diff --git a/Software/Stubs Collection/Procedures/Waste Tank Calibration.pproj b/Software/Stubs Collection/Procedures/Waste Tank Calibration.pproj deleted file mode 100644 index 6667cdf67..000000000 --- a/Software/Stubs Collection/Procedures/Waste Tank Calibration.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Waste Tank Calibration","Description":"This procedure reads the values of waste tank volume when the tank is empty, and stores it in the WHS card EEPROM","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tdouble V0_default_ml = 8.7433;\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\tvar response1 = context.RequestUserInputFor<String>(\"Warning - you are going to change the value of Vo in the eeprom !!!\\nPlease Enter Password to confirme:\",\"\");\r\n\tif (response1==\"Aa123456\")\r\n\t{\r\n\t\tcontext.WriteLine(response1);\r\n\t\t\r\n\t\t//Write_0_Vo_in_ml_to_eeprom\r\n\t\tcontext.WriteLine(\"\\nWrite_0_Vo_in_ml_to_eeprom\");\t\r\n\t\tStubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();\r\n\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\tStubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();\r\n\t\tstubWhsEEpromData.Orifice1Flow = 0;\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t//wait_10mSec\r\n\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\tThread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\r\n\t\t//Read_Vo_in_ml_from_eeprom\t& verify it is 0\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\t& verify it is 0\");\r\n\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\r\n\t\t//Read_Vo_in_mV\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_mV\");\r\n\t\tvar response3 = context.Send<ProgressResponse>(\"ProgressRequest\" ,0x3EC, 0x01);\r\n\t\t//Print_Vo_in_mV\r\n\t\tcontext.WriteLine(response3.Progress);\r\n\t\t\r\n\t\t//check validity\r\n\t\tcontext.WriteLine(\"\\ncheck validity\");\r\n\t\t if((response3.Progress <= 800) || (response3.Progress >=1200))\r\n\t\t {\r\n\t\t \tresponse3.Progress = 1076; //default\r\n\t\t \tcontext.Write(\"\\nERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t \t context.AddResult(ResultType.Failed , \"Error\", \"ERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t }\r\n\t\telse\r\n\t\t{\t\t\t\r\n\t\t\t//calculate_V0_in_ml\r\n\t\t\tcontext.WriteLine(\"\\ncalculate_V0_in_ml\");\r\n\t\t\tV0_default_ml = V0_default_ml * response3.Progress;\r\n\t\t\t\r\n\t\t\t//print_Vo_in_ml\r\n\t\t\tcontext.WriteLine(\"\\nprint_Vo_in_ml\");\r\n\t\t\tcontext.WriteLine(V0_default_ml);\r\n\t\t\tcontext.WriteLine(\"\");\r\n\t\t\t\r\n\t\t\t//Write_Vo_in_ml_to_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nWrite_Vo_in_ml_to_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\r\n\t\t\tstubWhsEEpromData.Orifice1Flow = V0_default_ml;\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t\t//wait_10mSec\r\n\t\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\t\t Thread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\t \t\t\r\n\t\t\t //Read_Vo_in_ml_from_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\r\n\t\t\t//Check if we read the correct value\r\n\t\t\tcontext.WriteLine(\"\\nVerify that we read the correct value of Orifice1Flow!!\");\r\n\t\t\t context.AddResult(ResultType.Passed , \"Pass\", \"Calibration Pass.\");\r\n\r\n\t\t\t}\r\n\t}\r\n\t\telse\r\n \t{\r\n\t\t\tcontext.AddResult(ResultType.Failed , \"Error\", \"Password Fail.\");\r\n\t\t}\r\n\t\tcontext.WriteLine(\"\\n -- END OF SCRIPT -- \");\r\n }\r\n}\r\n\r\n","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"a0ac651d-3e18-4b62-a761-f55425b4129f","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Winder Calibration.pproj b/Software/Stubs Collection/Procedures/Winder Calibration.pproj deleted file mode 100644 index 88b3a0cd1..000000000 --- a/Software/Stubs Collection/Procedures/Winder Calibration.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Winder Calibration","Visibility":"Public","Description":"This procedure lets the FSE to set the correct location for the winder arm.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.IO;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.PMR.IO;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Windows.Forms;\r\n\r\n\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\t\tuint SCREW_MOTOR = 14;\r\n\t\tint offset = 200;\r\n\t\tint Calibration_Offset = 0;\r\n\t\tbool Located = false;\r\n\t\tstring box_msg = \"Keep your hands away from the winder\";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tMotorHomingRequest motorHomingRequest = new MotorHomingRequest();\r\n\t\tmotorHomingRequest.MotorType = Tango.PMR.Hardware.HardwareMotorType.MotoScrew;\r\n\t\tmotorHomingRequest.Speed = 800;\r\n\t\tmotorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward;\r\n\r\n\t\tProgressRequest progressRequest = new ProgressRequest();\r\n\t\tprogressRequest.Amount = 0xB21;\r\n\t\tprogressRequest.Delay = 500;\r\n\t\tcontext.Send<ProgressResponse>(progressRequest);\r\n\t\t\r\n \toffset = 200;//context.GetInput<int>(\"Initial Offset\");\r\n\r\n\t\tStubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest();\r\n\t\tstubMotorMovRequest.MotorID = SCREW_MOTOR;\r\n\t\tstubMotorMovRequest.Direction = false;\r\n\t\twhile (Located == false)\r\n\t\t{\r\n\t\t\tcontext.Send<MotorHomingResponse>(motorHomingRequest);\r\n\t\t\tThread.Sleep(1000);\r\n\t\t\tstubMotorMovRequest.Position = (uint)((offset + Calibration_Offset)*16);\r\n\t\t\t//stubMotorMovRequest.Direction = \r\n\t\t\tcontext.Send<StubMotorMovResponse>(stubMotorMovRequest);\r\n\t\t\tThread.Sleep(1000);\r\n\r\n \tLocated =\tcontext.RequestUserInputFor<bool>(Located,\"Is Winder located well?\",\"Please fill in the form\");\r\n\r\n\t\t\t\r\n\t\t\tif (Located == false)\r\n\t\t\t{\r\n\t\t\t\tCalibration_Offset = context.RequestUserInputFor<int>(Calibration_Offset,\"Enter new value for calibration offset\",\" (15 steps = 1mm. minus - toward the machine\");\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tprogressRequest.Amount = 0xB20;\r\n\t\tprogressRequest.Delay = Calibration_Offset;\r\n\t\tcontext.Send<ProgressResponse>(progressRequest);\r\n\t\tbox_msg = \"Writing new winder offset \" + Calibration_Offset+ \" to the main card EEPROM\";\r\n\t\t\r\n\t\tprogressRequest.Amount = 0xB21;\r\n\t\tprogressRequest.Delay = 1000000;\r\n\t\tcontext.Send<ProgressResponse>(progressRequest);\r\n\r\n\t\tMessageBox.Show(box_msg);\r\n\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"2bd29884-5eb9-4d27-be4e-6cfa31dc9f66","ApartmentState":"MTA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Winder Calibration.txt b/Software/Stubs Collection/Procedures/Winder Calibration.txt deleted file mode 100644 index b73f25e1e..000000000 --- a/Software/Stubs Collection/Procedures/Winder Calibration.txt +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.IO; -using Google.Protobuf; -using Tango.BL.Enumerations; -using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.FSE.Common.Diagnostics; -using Tango.PMR.IO; -using Tango.FSE.Procedures; -using System.IO; -using System.Windows.Forms; - - - -public class Program -{ - public void OnExecute(IProcedureContext context) - { - uint SCREW_MOTOR = 14; - int offset = 200; - int Calibration_Offset = 0; - bool Located = false; - string box_msg = "Keep your hands away from the winder"; - MessageBox.Show(box_msg); - - MotorHomingRequest motorHomingRequest = new MotorHomingRequest(); - motorHomingRequest.MotorType = Tango.PMR.Hardware.HardwareMotorType.MotoScrew; - motorHomingRequest.Speed = 800; - motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; - - ProgressRequest progressRequest = new ProgressRequest(); - progressRequest.Amount = 0xB21; - progressRequest.Delay = 500; - context.Send<ProgressResponse>(progressRequest); - - offset = 200;//context.GetInput<int>("Initial Offset"); - - StubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest(); - stubMotorMovRequest.MotorID = SCREW_MOTOR; - stubMotorMovRequest.Direction = false; - while (Located == false) - { - context.Send<MotorHomingResponse>(motorHomingRequest); - Thread.Sleep(2000); - stubMotorMovRequest.Position = (uint)((offset + Calibration_Offset)*16); - //stubMotorMovRequest.Direction = - context.Send<StubMotorMovResponse>(stubMotorMovRequest); - Thread.Sleep(1000); - - Located = context.RequestUserInputFor<bool>(Located,"Is Winder located well?","Please fill in the form"); - - - if (Located == false) - { - Calibration_Offset = context.RequestUserInputFor<int>(Calibration_Offset,"Enter new value for calibration offset"," (15 steps = 1mm. minus - toward the machine"); - } - } - - progressRequest.Amount = 0xB20; - progressRequest.Delay = Calibration_Offset; - context.Send<ProgressResponse>(progressRequest); - box_msg = "Writing new winder offset " + Calibration_Offset+ " to the main card EEPROM"; - - progressRequest.Amount = 0xB21; - progressRequest.Delay = 1000000; - context.Send<ProgressResponse>(progressRequest); - - MessageBox.Show(box_msg); - - } -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/Write main card information.pproj b/Software/Stubs Collection/Procedures/Write main card information.pproj deleted file mode 100644 index 915d47e27..000000000 --- a/Software/Stubs Collection/Procedures/Write main card information.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"Write main card information","Visibility":"Public","Description":"This procedure reads the stored main card information and put it in a file in C:/temp/maineeprom.* for future use","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.PMR.EmbeddedParameters;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tpublic void OnExecute(IProcedureContext context)\r\n {\r\n \tstring FileName;\r\n\r\n\t\tStubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();\r\n\t\tvar response2 = context.Send<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);\r\n\t\r\n\t\tif ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))\r\n\t\t{\r\n\t\t\t/*MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();\r\n\t\t\tvar response3 = context.Send<MainCardStoredDataResponse>(mainCardStoredDataRequest);\r\n\t\t\t//context.AppendToFile(JSON_FILE_PATH, \"MainCardStoredData: \"+ response3);\r\n\t\t\tFileName = \"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".json\";\r\n\r\n\t\t\tcontext.AppendToFile(FileName, \"MainCardStoredData: \"+ response3);*/\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tFileName = \"c:\\\\temp\\\\mainEEProm10104.csv\";//\"C:/temp/mainEEProm_\"+context.ConnectedMachine.SerialNumber+\".csv\";\r\n\t\t\tstring line; \r\n\t\t\tstring[] Table1 = new string [4];\r\n\t\t\tint i;\r\n\t\t\t\r\n\t\t\t// Read the file and display it line by line. \r\n\t\t\r\n\t\t\tcontext.Write(\"\\r\\nfile name \" + FileName);\t\r\n\t\t\tSystem.IO.StreamReader file = \t\tnew System.IO.StreamReader(FileName);\r\n\t\t\r\n\t\t\tline = file.ReadLine();\r\n\t\t\tcontext.Write(\"\\r\\n line \" + line);\t\r\n\t\t\tline = file.ReadLine();\r\n\t\t\tcontext.Write(\"\\r\\n line \" + line);\t\r\n\t\t\tint j=0;\r\n\t\t\twhile(line != null) \r\n\t\t\t{ \r\n\t\t\t\tj++;\r\n\t\t\t\t//stubManager.Write(\"\\r\\n line \" + line + \" null? \" + (line==null));\t\r\n\t\t\t\tstring[] words = line.Split(',');\r\n\t\t\t\ti=0;\r\n\t\t\t\tforeach (var word in words)\r\n\t\t\t\t{\r\n\t\t\t\t\tTable1[i]=word;\r\n\t\t\t\t\ti=i+1;\r\n\t\t\t\t}\r\n\t\t\t\t//stubManager.Write(\"\\r\\nfile read\\t\"+ (i) + \" \" + Table1[1] + \" \"+ Table1[2] + \" \"+ Table1[3] + \" \");\t\r\n\t\t\t\tint Address = Convert.ToInt32(Table1[0]);\r\n\t\t\t\tint Data = Convert.ToInt32(Table1[2]);\r\n\t\t\t\tstring name = Table1[1];\r\n\t\t\t\t//stubManager.Write(\"\\r\\nfile read\\t\"+ (i) + \" \" + j + \" \"+ Table1[2] + \" \"+ Data + \" \");\t\r\n\t\t\t\tif (Address>0)\r\n\t\t\t\t{\r\n\t\t\t\t\tStubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();\r\n\t\t\t\t\tstubMainCardEEpromWriteRequest.Address = j;\r\n\t\t\t\t\tstubMainCardEEpromWriteRequest.Data = Data;\r\n\t\t\t\r\n\t\t\t\t\tvar response = context.Send<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);\r\n\t\t\t\t\tcontext.Write(\"\\r\\nMain_Card_Data write \\t\"+ j + \" \" +Table1[1] + \" address \\t \"+ j+\" data: \\t\" + Data);\t\r\n\t\t\t\t}\r\n\t\t\t\tline = file.ReadLine();\r\n\t\t\t}\r\n\t\t\tcontext.Write(\"\\r\\n last line \" + line + \"null? \" + (line==null));\t\t\r\n\t\t} \r\n context.AddResult(ResultType.Passed, \"Successfuly write the Main card information\", \"Test passed.\");\r\n\t}\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"},{"$id":"19","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.DataStore.dll","HintType":"Tango.DataStore.IDataStoreItem, Tango.DataStore, Version=2.0.4.1608, Culture=neutral, PublicKeyToken=null"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"fa8293e8-0db3-4461-a0ed-6d9406d80df1","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/demo.pproj b/Software/Stubs Collection/Procedures/demo.pproj deleted file mode 100644 index b5be39462..000000000 --- a/Software/Stubs Collection/Procedures/demo.pproj +++ /dev/null @@ -1 +0,0 @@ -{"$id":"1","Name":"demo","Description":"Demo project for developers.","Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n\r\n context.WriteLine(\"Calculating...\");\r\n context.Sleep(2000);\r\n\r\n double a = context.GetInput<double>(\"n1\");\r\n double b = context.GetInput<double>(\"n2\");\r\n\r\n\r\n double d = context.RequestUserInputFor<double>(20, \"Additional Number\", \"Please provide another value\");\r\n \r\n Person pp = context.RequestUserInputFor<Person>(\"Person Input Required\",\"Please fill in the form\");\r\n \r\n if (pp.Name == \"Roy\")\r\n {\r\n \tif (context.ShowWarningQuestion(\"The name Roy is invalid are you sure?\"))\r\n \t{\r\n \t\tcontext.Fail(\"Name Roy is invalid!\");\r\n \t}\r\n }\r\n \r\n\r\n double c = a + b + d;\r\n\r\n\r\n\r\n context.AddResult(ResultType.Passed, \"Calc Result\", c);\r\n context.AddResult(ResultType.Warning, \"Other Value\", \"Some Value\");\r\n\r\n List<double> list = new List<double>();\r\n List<Person> persons = new List<Person>();\r\n\r\n for (int i = 0; i < 100; i++)\r\n {\r\n list.Add(i);\r\n\r\n Person p = new Person();\r\n p.Age = i;\r\n p.Name = \"Roy \" + i;\r\n persons.Add(p);\r\n }\r\n\r\n double sum = list.Sum();\r\n\r\n context.AddResult(ResultType.Passed, \"Array Result\", list);\r\n context.AddGraphResult(ResultType.Passed, \"Graph Result\", list);\r\n\r\n context.AddResult(ResultType.Passed, \"Persons\", persons);\r\n\r\n Bitmap bitmap = context.CreateBitmap(400, 200);\r\n Graphics g = context.GetDrawingContext(bitmap);\r\n\r\n g.Clear(Color.Blue);\r\n g.FillRectangle(Brushes.Red, 10, 10, 50, 50);\r\n\r\n context.AddBitmapResult(ResultType.Passed, \"Bitmap Demo\", bitmap);\r\n\r\n g.Dispose();\r\n\r\n List<double> dancerValues = new List<double>();\r\n\r\n context.WriteLine(\"Collecting dancer angle...\");\r\n\r\n for (int i = 0; i < 100; i++)\r\n {\r\n DiagnosticsPackage package = context.GetDiagnosticsPackage(true);\r\n double dancerAngle = package.GetMonitorLastValue(TechMonitors.Dancer2Angle);\r\n\r\n dancerValues.Add(dancerAngle);\r\n\r\n context.UpdateProgress(\"Collecting dancer position...\", false, i, 50);\r\n }\r\n\r\n context.AddGraphResult(ResultType.Passed, \"Dancer Angle\", dancerValues);\r\n }\r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n\tpublic const String WORD = \"123\";\r\n\tpublic const int NUM = 1;\r\n}","Name":"Service.csx","IsEntryPoint":false},{"$id":"5","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Person\r\n{\r\n\tpublic int Age;\r\n\t[Description(\"First Name\")]\r\n\tpublic String Name;\r\n}","Name":"Person.csx","IsEntryPoint":false}]},"Inputs":{"$id":"6","$values":[{"$id":"7","DisplayName":"Number A","Description":"First number for calc","Key":"n1","Value":"10"},{"$id":"8","DisplayName":"Number B","Description":"Second number for calc","Key":"n2","Value":"15"}]},"ReferenceAssemblies":{"$id":"9","$values":[{"$id":"10","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"13","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"19","File":"C:\\DATA\\Development\\Tango\\Software\\Visual_Studio\\Build\\FSE\\Debug\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"20","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Dialogs":{"$id":"21","$values":[]},"ID":"4d95f6b1-ee07-4bc8-85af-18bc12326f29","ApartmentState":"STA"}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/diagnostics shlomo.tdp b/Software/Stubs Collection/Procedures/diagnostics shlomo.tdp deleted file mode 100644 index f6f7b53fc..000000000 --- a/Software/Stubs Collection/Procedures/diagnostics shlomo.tdp +++ /dev/null @@ -1,2613 +0,0 @@ -{ - "Name": "Diagnostics Project", - "Tabs": [ - { - "Name": "Temperatures", - "Columns": [ - { - "Width": "86.1904761904762" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904762" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "83.1904761904761" - }, - { - "Width": "89.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerSecondaryHeater", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "4e1f30d3-0f63-403a-94b1-87d474bf8dbf", - "Column": 0, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerMainHeater", - "SetPoint": 39.0, - "EnableComponentSelection": false, - "ID": "972df749-0f5f-4b11-8225-b7e0a4fed444", - "Column": 2, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerAirHeater", - "SetPoint": 180.0, - "EnableComponentSelection": false, - "ID": "b089f312-1f35-4d3d-9bd6-0e6dae7f7014", - "Column": 4, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "MixerHeater", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "b63ec13e-b4e3-4d2c-9743-b25c2206a2d2", - "Column": 6, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "dryer & mixer", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "5fa35015-5641-48d8-8e70-519780cfd990", - "Column": 0, - "Row": 0, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone6", - "SetPoint": 135.0, - "EnableComponentSelection": false, - "ID": "e966098e-ce3f-4f59-898e-2adc99fe5ded", - "Column": 0, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone12", - "SetPoint": 145.0, - "EnableComponentSelection": false, - "ID": "51c18d1c-2b21-46d2-9500-ffc96eb7f53f", - "Column": 0, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone5", - "SetPoint": 135.0, - "EnableComponentSelection": false, - "ID": "0161829b-08d4-482c-ad02-5a8406a7d4f3", - "Column": 2, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone4", - "SetPoint": 120.0, - "EnableComponentSelection": false, - "ID": "4b0a8a4f-8391-4ab4-9e7f-0a5ac779901d", - "Column": 4, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone3", - "SetPoint": 120.0, - "EnableComponentSelection": false, - "ID": "a267bc1c-d67a-45f9-93fd-3f20158ce27b", - "Column": 6, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone2", - "SetPoint": 100.0, - "EnableComponentSelection": false, - "ID": "60dba38a-d852-417c-b587-f921e900ad82", - "Column": 8, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone1", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "b155d1d5-c32d-42b4-b08c-bdd03689d523", - "Column": 10, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone11", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "d013ea3a-cd95-457b-bebe-51675260a04f", - "Column": 2, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone10", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "73ef24de-d45e-421a-a1ce-c9ddfc556444", - "Column": 4, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone9", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "d538b7bb-9f43-4d1a-9180-1506b13172ac", - "Column": 6, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone8", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "085aafbd-8934-4388-bdc5-87931f0cb692", - "Column": 8, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone7", - "SetPoint": 135.0, - "EnableComponentSelection": false, - "ID": "f4a44bb8-47f7-4c23-90a1-0f625a8af955", - "Column": 10, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Flat Head", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "1e6f3722-d4cf-41b6-bd3d-a64a57e0b9fe", - "Column": 0, - "Row": 8, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "OverallTemperature", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "1247f28e-fff9-4605-8bd8-91300e49e385", - "Column": 9, - "Row": 1, - "ColumnSpan": 3, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Machine Temp." - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "ambient", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "7d9d39f8-97de-4790-a8fa-77d30eeb783d", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone3", - "SetPoint": 135.0, - "EnableComponentSelection": true, - "ID": "4cc384a5-58b8-40b8-bd7c-da77fff2ab4a", - "Column": 13, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone2", - "SetPoint": 135.0, - "EnableComponentSelection": false, - "ID": "2c2d9abf-06fb-4b05-ab24-bad87fdd1dc1", - "Column": 15, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone1", - "SetPoint": 120.0, - "EnableComponentSelection": false, - "ID": "d2c56d11-4048-428d-9639-a7861b7610dc", - "Column": 17, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "arc head temp.", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "4a6bb5ee-602f-4f78-91d9-c97356d5ffea", - "Column": 14, - "Row": 14, - "ColumnSpan": 6, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "HeadBlower2", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "be0a08fe-87ee-4751-b8c0-434495a7faf0", - "Column": 15, - "Row": 4, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 87.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "arc blowers air flow", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "6fbf6983-92e6-4d6a-8696-aff46e5b0fc0", - "Column": 13, - "Row": 0, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "HeadBlower1", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "85ee4ecf-ddb1-47f4-8065-a8d85f258ed0", - "Column": 15, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 87.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlowerVoltage2", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "4feb8076-1c1f-4c4c-9dc6-b79f41abcdeb", - "Column": 13, - "Row": 11, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlowerVoltage1", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "59df100b-f1d9-4d93-8360-519f158d06c9", - "Column": 16, - "Row": 11, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeadCoverHeater2", - "SetPoint": 135.0, - "EnableComponentSelection": true, - "ID": "85458771-e464-4f50-899c-8ac4ec908c44", - "Column": 13, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeadCoverHeater1", - "SetPoint": 135.0, - "EnableComponentSelection": true, - "ID": "fbd44490-0310-4338-9e17-a5169b3b9714", - "Column": 17, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlower2AirFlow", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b74ab243-1ed3-4972-8f7f-cd15b6b21426", - "Column": 13, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlower1AirFlow", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "89fcdbce-40d4-4ee1-a057-bf3f0f23fd33", - "Column": 16, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - } - ] - }, - { - "Name": "Dispensers", - "Columns": [ - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser8Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDEA437" - }, - "ID": "99496cd2-adb1-4fe9-8944-6f1785530095", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser8", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "3f83107f-ec56-4986-b7c8-22b270f650ec", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser8MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "7332455a-9cc3-4f39-b8f0-57a31eb1f78f", - "Column": 0, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser7Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF7FF372" - }, - "ID": "a0ebd9d7-b01c-4ca3-b62e-824b02a66c3c", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser7", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "6a22335a-50f3-482b-99a9-be846e8c084b", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser7MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "ef968e12-525e-4923-b36d-a04aa8b32a4f", - "Column": 3, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser6Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "52260052-843a-4fc1-88ec-64ef9dd13657", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser6", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "d770f52d-6722-4118-b156-061e69d821a8", - "Column": 6, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser6MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "2b65a99b-fcc6-448a-b53d-9e1a3adf2077", - "Column": 6, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser5Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF898A4B" - }, - "ID": "dd286e34-4441-4814-8aec-ffff471e1be8", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser5", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "d2a47d28-35f5-4974-b62d-f5f70dc91e04", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser5MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b039b3fc-6c93-4d70-a92a-c72d718444d9", - "Column": 9, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser4Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFEAF309" - }, - "ID": "b8c9e3f6-5f4d-44cd-8b6e-c7d16489e573", - "Column": 12, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser4", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "3898cc2c-8177-450a-8255-62d6f7df0fbb", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser4MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "49308835-57c5-45ca-807f-34fc2ff7a86f", - "Column": 12, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser3Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFE807D7" - }, - "ID": "82c2ee42-9b28-44ec-9ec2-ca69d9319ecc", - "Column": 15, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser3", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "73ebff65-537d-42ae-b364-2b5ad5452e1e", - "Column": 15, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser3MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b8bdd5e1-3441-49db-8573-d8efbfb1b64d", - "Column": 15, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser2Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF16A3E2" - }, - "ID": "99901934-8bad-4e99-b35f-591be4d32d49", - "Column": 18, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser2", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "a9cae28b-f141-4522-ae88-5294634d7471", - "Column": 18, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser2MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "42b8fc1f-f8ba-4201-85d2-66eeb739d766", - "Column": 18, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser1Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF0E0E0E" - }, - "ID": "65b945dd-30bb-4f59-a336-d36d22aac6bc", - "Column": 21, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser1", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "aaa1a635-469f-4d43-8070-cebb7bc82424", - "Column": 21, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser1MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "32356cb9-37bc-4191-a7f9-8f24fb1d8543", - "Column": 21, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MixerWasteValve", - "EnableComponentSelection": false, - "ID": "93fc15ce-6c61-4458-914b-3133727c730a", - "Column": 9, - "Row": 20, - "ColumnSpan": 6, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve8", - "EnableComponentSelection": true, - "ID": "834b7125-8740-400f-9378-ec606bca7afb", - "Column": 0, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve7", - "EnableComponentSelection": true, - "ID": "d76ba317-0f8c-41e2-974c-3c29e4a1aecd", - "Column": 3, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve5", - "EnableComponentSelection": true, - "ID": "83c7739e-120d-4d60-ab6d-6da021426ba5", - "Column": 9, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve4", - "EnableComponentSelection": true, - "ID": "8abc1879-9041-4a51-9aa1-6ad9cdba6944", - "Column": 12, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve3", - "EnableComponentSelection": true, - "ID": "c3e0304a-9154-46b8-b61c-c872d38a4015", - "Column": 15, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve2", - "EnableComponentSelection": true, - "ID": "b66ffd1d-96eb-4a6d-89b7-67e966773987", - "Column": 18, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve1", - "EnableComponentSelection": true, - "ID": "ca836926-17e6-416c-9357-1f82a15e74e0", - "Column": 21, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - } - ] - }, - { - "Name": "Waste", - "Columns": [ - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank1Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF0E0E0E" - }, - "ID": "50542753-1128-4c4a-b13f-397be9377fdd", - "Column": 21, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank2Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF16A3E2" - }, - "ID": "07904972-8ffe-4a4a-b372-c91e87d72371", - "Column": 18, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank3Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFE807D7" - }, - "ID": "b1da7145-a8dd-4c26-9585-7d481850a91b", - "Column": 15, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank4Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDFEC10" - }, - "ID": "168a83a0-a99b-4c66-ba4a-9ab1a49703bd", - "Column": 12, - "Row": -10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank5Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "80a362cf-52e8-4e1c-b032-bbd5162bf843", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank6Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "f00c9ac5-0f3e-4a93-aca0-0e792dd1d551", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank7Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FF4EE724" - }, - "ID": "63b22b2c-11ce-4f29-90f9-7c24bbfdd305", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank8Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDEA437" - }, - "ID": "cfcdf30f-29c9-4ad4-8eb8-5af1c6853501", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "BlowerVoltage", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "89b6640f-ca6e-48d4-82f0-7edb1191986b", - "Column": 0, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadAirFlow", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "ba94949e-6371-4041-906f-ccbcc1953254", - "Column": 2, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "DryerAirFlow", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "0763fb88-e1c1-40db-b883-04d25ce52a78", - "Column": 4, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "DefaultBlower", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "8e027edd-10a5-42e5-be6a-1a3eb6c01b21", - "Column": 1, - "Row": 17, - "ColumnSpan": 4, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "cartridge", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "068fbd16-93ce-440c-a6c0-7604573565f5", - "Column": 18, - "Row": 6, - "ColumnSpan": 4, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "GPI_TFEED_BREAK_1", - "EnableComponentSelection": true, - "ID": "d6706cbe-fa75-4b2f-b343-eff3b3f766e7", - "Column": 18, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink " - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "LS_DISPENSER_25_1", - "EnableComponentSelection": true, - "ID": "d5a84216-a8ca-4676-87b0-6c399aded459", - "Column": 18, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste High" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "LS_DH_CLEAN_DOWN", - "EnableComponentSelection": true, - "ID": "aadf643f-7652-484a-bee3-7957feff3638", - "Column": 18, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Low" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "WasteLevel", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "d3844b51-1842-4f96-a3f9-204fa3257391", - "Column": 16, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_WHS_WTANKPUMP2", - "EnableComponentSelection": true, - "ID": "c87815f5-b563-472b-b1e5-cd0ba750280d", - "Column": 16, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Valve" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_WASTECH_PUMP2", - "EnableComponentSelection": false, - "ID": "a36513f1-3038-4820-b7f4-033ae81749cc", - "Column": 14, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Pump" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve8", - "EnableComponentSelection": true, - "ID": "47805db1-34e9-4190-8bd7-8102bd213957", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 8" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve7", - "EnableComponentSelection": true, - "ID": "376973fb-b249-4f31-ba6d-d207f692f246", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 7" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve5", - "EnableComponentSelection": true, - "ID": "aae3c107-4f3b-4e3b-b534-961a1c2d156b", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 5" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve4", - "EnableComponentSelection": true, - "ID": "f31899df-105e-4b2c-a9b1-11e27cab6813", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 4" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve3", - "EnableComponentSelection": true, - "ID": "a5da1fdf-74dd-4870-9cf6-95b11c44fc42", - "Column": 15, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 3" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve3", - "EnableComponentSelection": true, - "ID": "ff292bee-e448-4e0e-a467-3f3c32f103ff", - "Column": 21, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 1" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve2", - "EnableComponentSelection": true, - "ID": "7ee9d1b1-0449-4aab-a777-4cf00868efb7", - "Column": 18, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 2" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve8", - "EnableComponentSelection": true, - "ID": "7cf0e6f5-a76c-4618-8c5d-0ead628716bf", - "Column": 0, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 8" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve7", - "EnableComponentSelection": true, - "ID": "e9e160ac-0e97-465f-ae5e-6fa405976682", - "Column": 3, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 7" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve5", - "EnableComponentSelection": true, - "ID": "943a16e3-b67e-4699-9cfb-4d561acc2701", - "Column": 9, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 5" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve4", - "EnableComponentSelection": true, - "ID": "0660f5cf-2137-4321-b50a-578d3609d046", - "Column": 12, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 4" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve3", - "EnableComponentSelection": true, - "ID": "92fb19fc-97be-491a-ab85-1692cf67edc7", - "Column": 15, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 3" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve2", - "EnableComponentSelection": true, - "ID": "5d68408a-78bd-4a34-bdeb-102bc1162b66", - "Column": 18, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 2" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve1", - "EnableComponentSelection": true, - "ID": "a8cf65e0-6f04-4d2d-9871-72ea03d32785", - "Column": 21, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 1" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "GasSensor", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "7bd54a0f-edf0-49b2-93db-e5a8b03011cb", - "Column": 14, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Gas Sensor" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone12", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "758645c5-5aca-4155-9dcb-7d665d192cdb", - "Column": 22, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Cooler" - } - ] - }, - { - "Name": "Thread Insertion", - "Columns": [ - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "64.0847665847665" - }, - { - "Width": "147.394348894349" - }, - { - "Width": "60.0208845208844" - }, - { - "Width": "64.0847665847665" - }, - { - "Width": "144.346437346437" - }, - { - "Width": "63.0687960687962" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_SCREW", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "85a82dd4-acdb-4c4e-a3c9-695867f653eb", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "115d0399-3aef-4b22-8ca0-e6d45fe668d7", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_DRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "e855ba30-b217-4597-9f0f-6cc146b70219", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RDRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "00f25fe2-7d74-4f79-ba1b-24413e5c95c3", - "Column": 12, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_WINDER", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "199de96d-42c5-4149-a38e-d164083ca386", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LLOADING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 350, - "Color": "#FF141414" - }, - "ID": "9277c669-26be-4997-8bea-f3c7ca3bc209", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_LID", - "EnableComponentSelection": false, - "Settings": { - "Speed": 10, - "Color": "#FF141414" - }, - "ID": "487cfead-4c4e-4770-a5b5-6d6e023e4ec7", - "Column": 6, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DH_LID", - "EnableComponentSelection": false, - "Settings": { - "Speed": 350, - "Color": "#FF141414" - }, - "ID": "315bcacc-f4ce-43b7-b4fe-226b5239ea1c", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RLOADING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "8cb7f490-0ccc-45e7-ab35-7f7737e84181", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDANCER2", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "3b1ea0eb-8879-47c8-beee-bc677e39ffef", - "Column": 0, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDANCER1", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "a1fc3115-5145-4782-86fc-27e3d8160292", - "Column": 3, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_LOADARM", - "EnableComponentSelection": false, - "Settings": { - "Speed": 200, - "Color": "#FF141414" - }, - "ID": "d3d05e7b-15c8-4e0e-84d4-1199b53c4718", - "Column": 6, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RDANCER", - "EnableComponentSelection": false, - "Settings": { - "Speed": 20, - "Color": "#FF141414" - }, - "ID": "b31aa0c3-663f-4739-904a-92991c292698", - "Column": 12, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_LED3", - "EnableComponentSelection": true, - "ID": "ea062fba-5dbe-4b92-b641-f6b18fb38e3f", - "Column": 10, - "Row": 2, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_TFEED_BREAK_1", - "EnableComponentSelection": true, - "ID": "419fa0da-9c51-49fc-82cf-83707c03a44a", - "Column": 10, - "Row": 12, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_BLOWER_PWM", - "EnableComponentSelection": true, - "ID": "1140ad8f-ac3c-449e-8d00-cf6cb6363d6c", - "Column": 7, - "Row": 17, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": "Dryer Blower" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Right Dye Head Actuator", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "3dc2a4c2-c7a8-40b6-94dc-2c535b5fc814", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 72.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Left Dye Head Actuator", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "ee9bd6ae-4567-4cd7-a4fa-bb18814fb831", - "Column": 9, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 72.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_SPARE_SSR13_CTRL", - "EnableComponentSelection": true, - "ID": "9809c577-baea-4c34-94cb-9c7df7e23943", - "Column": 10, - "Row": 17, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": "Dye Head Magnet" - } - ] - } - ] -}
\ No newline at end of file diff --git a/Software/Stubs Collection/Procedures/diagnostics.tdp b/Software/Stubs Collection/Procedures/diagnostics.tdp deleted file mode 100644 index d013b6521..000000000 --- a/Software/Stubs Collection/Procedures/diagnostics.tdp +++ /dev/null @@ -1,2597 +0,0 @@ -{ - "Name": "Diagnostics Project", - "Tabs": [ - { - "Name": "Temperatures", - "Columns": [ - { - "Width": "86.1904761904762" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904762" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904763" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "83.1904761904761" - }, - { - "Width": "89.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - }, - { - "Width": "86.1904761904761" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerSecondaryHeater", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "4e1f30d3-0f63-403a-94b1-87d474bf8dbf", - "Column": 0, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerMainHeater", - "SetPoint": 44.0, - "EnableComponentSelection": false, - "ID": "972df749-0f5f-4b11-8225-b7e0a4fed444", - "Column": 2, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "DryerAirHeater", - "SetPoint": 180.0, - "EnableComponentSelection": false, - "ID": "b089f312-1f35-4d3d-9bd6-0e6dae7f7014", - "Column": 4, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "MixerHeater", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "b63ec13e-b4e3-4d2c-9743-b25c2206a2d2", - "Column": 6, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "dryer & mixer", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "5fa35015-5641-48d8-8e70-519780cfd990", - "Column": 0, - "Row": 0, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone6", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "e966098e-ce3f-4f59-898e-2adc99fe5ded", - "Column": 0, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone12", - "SetPoint": 145.0, - "EnableComponentSelection": false, - "ID": "51c18d1c-2b21-46d2-9500-ffc96eb7f53f", - "Column": 0, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone5", - "SetPoint": 135.0, - "EnableComponentSelection": false, - "ID": "0161829b-08d4-482c-ad02-5a8406a7d4f3", - "Column": 2, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone4", - "SetPoint": 120.0, - "EnableComponentSelection": false, - "ID": "4b0a8a4f-8391-4ab4-9e7f-0a5ac779901d", - "Column": 4, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone3", - "SetPoint": 120.0, - "EnableComponentSelection": false, - "ID": "a267bc1c-d67a-45f9-93fd-3f20158ce27b", - "Column": 6, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone2", - "SetPoint": 100.0, - "EnableComponentSelection": false, - "ID": "60dba38a-d852-417c-b587-f921e900ad82", - "Column": 8, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone1", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "b155d1d5-c32d-42b4-b08c-bdd03689d523", - "Column": 10, - "Row": 9, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone11", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "d013ea3a-cd95-457b-bebe-51675260a04f", - "Column": 2, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone10", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "73ef24de-d45e-421a-a1ce-c9ddfc556444", - "Column": 4, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone9", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "d538b7bb-9f43-4d1a-9180-1506b13172ac", - "Column": 6, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone8", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "085aafbd-8934-4388-bdc5-87931f0cb692", - "Column": 8, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone7", - "SetPoint": 140.0, - "EnableComponentSelection": false, - "ID": "f4a44bb8-47f7-4c23-90a1-0f625a8af955", - "Column": 10, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Flat Head", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "1e6f3722-d4cf-41b6-bd3d-a64a57e0b9fe", - "Column": 0, - "Row": 8, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "OverallTemperature", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "1247f28e-fff9-4605-8bd8-91300e49e385", - "Column": 9, - "Row": 1, - "ColumnSpan": 3, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Machine Temp." - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "ambient", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "7d9d39f8-97de-4790-a8fa-77d30eeb783d", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone3", - "SetPoint": 120.0, - "EnableComponentSelection": true, - "ID": "4cc384a5-58b8-40b8-bd7c-da77fff2ab4a", - "Column": 13, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone2", - "SetPoint": 100.0, - "EnableComponentSelection": false, - "ID": "2c2d9abf-06fb-4b05-ab24-bad87fdd1dc1", - "Column": 15, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeaterZone1", - "SetPoint": 80.0, - "EnableComponentSelection": false, - "ID": "d2c56d11-4048-428d-9639-a7861b7610dc", - "Column": 17, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "arc head temp.", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "4a6bb5ee-602f-4f78-91d9-c97356d5ffea", - "Column": 14, - "Row": 14, - "ColumnSpan": 6, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "HeadBlower2", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "be0a08fe-87ee-4751-b8c0-434495a7faf0", - "Column": 15, - "Row": 4, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 87.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "arc blowers air flow", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "6fbf6983-92e6-4d6a-8696-aff46e5b0fc0", - "Column": 13, - "Row": 0, - "ColumnSpan": 8, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "HeadBlower1", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "85ee4ecf-ddb1-47f4-8065-a8d85f258ed0", - "Column": 15, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 87.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlowerVoltage2", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "4feb8076-1c1f-4c4c-9dc6-b79f41abcdeb", - "Column": 13, - "Row": 11, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlowerVoltage1", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "59df100b-f1d9-4d93-8360-519f158d06c9", - "Column": 16, - "Row": 11, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeadCoverHeater2", - "SetPoint": 250.0, - "EnableComponentSelection": true, - "ID": "85458771-e464-4f50-899c-8ac4ec908c44", - "Column": 13, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics", - "Heater": "HeadCoverHeater1", - "SetPoint": 15.0, - "EnableComponentSelection": true, - "ID": "fbd44490-0310-4338-9e17-a5169b3b9714", - "Column": 17, - "Row": 1, - "ColumnSpan": 2, - "RowSpan": 6, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlower2AirFlow", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "b74ab243-1ed3-4972-8f7f-cd15b6b21426", - "Column": 13, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadBlower1AirFlow", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "89fcdbce-40d4-4ee1-a057-bf3f0f23fd33", - "Column": 16, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "GasSensor", - "EnableComponentSelection": true, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "c196fc54-627e-47d7-a736-e8db7279b94e", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "VOC - Gas Sensor" - } - ] - }, - { - "Name": "Dispensers", - "Columns": [ - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser8Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "99496cd2-adb1-4fe9-8944-6f1785530095", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser8", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "3f83107f-ec56-4986-b7c8-22b270f650ec", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser8MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "7332455a-9cc3-4f39-b8f0-57a31eb1f78f", - "Column": 0, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser7Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "a0ebd9d7-b01c-4ca3-b62e-824b02a66c3c", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser7", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "6a22335a-50f3-482b-99a9-be846e8c084b", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser7MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "ef968e12-525e-4923-b36d-a04aa8b32a4f", - "Column": 3, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser6Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "52260052-843a-4fc1-88ec-64ef9dd13657", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser6", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "d770f52d-6722-4118-b156-061e69d821a8", - "Column": 6, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser6MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "2b65a99b-fcc6-448a-b53d-9e1a3adf2077", - "Column": 6, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser5Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "dd286e34-4441-4814-8aec-ffff471e1be8", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser5", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "d2a47d28-35f5-4974-b62d-f5f70dc91e04", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser5MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b039b3fc-6c93-4d70-a92a-c72d718444d9", - "Column": 9, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser4Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b8c9e3f6-5f4d-44cd-8b6e-c7d16489e573", - "Column": 12, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser4", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "3898cc2c-8177-450a-8255-62d6f7df0fbb", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser4MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "49308835-57c5-45ca-807f-34fc2ff7a86f", - "Column": 12, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser3Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "82c2ee42-9b28-44ec-9ec2-ca69d9319ecc", - "Column": 15, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser3", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "73ebff65-537d-42ae-b364-2b5ad5452e1e", - "Column": 15, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser3MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "b8bdd5e1-3441-49db-8573-d8efbfb1b64d", - "Column": 15, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser2Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "99901934-8bad-4e99-b35f-591be4d32d49", - "Column": 18, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser2", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "a9cae28b-f141-4522-ae88-5294634d7471", - "Column": 18, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser2MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "42b8fc1f-f8ba-4201-85d2-66eeb739d766", - "Column": 18, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser1Pressure", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "65b945dd-30bb-4f59-a336-d36d22aac6bc", - "Column": 21, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Dispenser.DispenserWidget, Tango.FSE.Diagnostics", - "Dispenser": "Dispenser1", - "EnableComponentSelection": false, - "Settings": { - "Speed": 400, - "Color": "#FF141414" - }, - "ID": "aaa1a635-469f-4d43-8070-cebb7bc82424", - "Column": 21, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "Dispenser1MotorFrequency", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "32356cb9-37bc-4191-a7f9-8f24fb1d8543", - "Column": 21, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MixerWasteValve", - "EnableComponentSelection": false, - "ID": "93fc15ce-6c61-4458-914b-3133727c730a", - "Column": 9, - "Row": 20, - "ColumnSpan": 6, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve8", - "EnableComponentSelection": true, - "ID": "834b7125-8740-400f-9378-ec606bca7afb", - "Column": 0, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve7", - "EnableComponentSelection": true, - "ID": "d76ba317-0f8c-41e2-974c-3c29e4a1aecd", - "Column": 3, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve5", - "EnableComponentSelection": true, - "ID": "83c7739e-120d-4d60-ab6d-6da021426ba5", - "Column": 9, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve4", - "EnableComponentSelection": true, - "ID": "8abc1879-9041-4a51-9aa1-6ad9cdba6944", - "Column": 12, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve3", - "EnableComponentSelection": true, - "ID": "c3e0304a-9154-46b8-b61c-c872d38a4015", - "Column": 15, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve2", - "EnableComponentSelection": true, - "ID": "b66ffd1d-96eb-4a6d-89b7-67e966773987", - "Column": 18, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "DispenserValve1", - "EnableComponentSelection": true, - "ID": "ca836926-17e6-416c-9357-1f82a15e74e0", - "Column": 21, - "Row": 16, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - } - ] - }, - { - "Name": "Waste", - "Columns": [ - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - }, - { - "Width": "*" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank1Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "50542753-1128-4c4a-b13f-397be9377fdd", - "Column": 21, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank2Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "07904972-8ffe-4a4a-b372-c91e87d72371", - "Column": 18, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank3Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "b1da7145-a8dd-4c26-9585-7d481850a91b", - "Column": 15, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank4Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "168a83a0-a99b-4c66-ba4a-9ab1a49703bd", - "Column": 12, - "Row": -10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank5Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "80a362cf-52e8-4e1c-b032-bbd5162bf843", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank6Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "f00c9ac5-0f3e-4a93-aca0-0e792dd1d551", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank7Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "63b22b2c-11ce-4f29-90f9-7c24bbfdd305", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "MidTank8Level", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "cfcdf30f-29c9-4ad4-8eb8-5af1c6853501", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "BlowerVoltage", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 0, - "Color": "#FFDCDCDC" - }, - "ID": "89b6640f-ca6e-48d4-82f0-7edb1191986b", - "Column": 0, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "HeadAirFlow", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "ba94949e-6371-4041-906f-ccbcc1953254", - "Column": 2, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "DryerAirFlow", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "0763fb88-e1c1-40db-b883-04d25ce52a78", - "Column": 4, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics", - "Blower": "DefaultBlower", - "SetPoint": 0.0, - "EnableComponentSelection": false, - "ID": "8e027edd-10a5-42e5-be6a-1a3eb6c01b21", - "Column": 1, - "Row": 17, - "ColumnSpan": 4, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "cartridge", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "068fbd16-93ce-440c-a6c0-7604573565f5", - "Column": 18, - "Row": 6, - "ColumnSpan": 4, - "RowSpan": 1, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "GPI_TFEED_BREAK_1", - "EnableComponentSelection": true, - "ID": "d6706cbe-fa75-4b2f-b343-eff3b3f766e7", - "Column": 18, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink " - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "LS_DISPENSER_25_1", - "EnableComponentSelection": true, - "ID": "d5a84216-a8ca-4676-87b0-6c399aded459", - "Column": 18, - "Row": 15, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste High" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Input.InputWidget, Tango.FSE.Diagnostics", - "IO": "LS_DH_CLEAN_DOWN", - "EnableComponentSelection": true, - "ID": "aadf643f-7652-484a-bee3-7957feff3638", - "Column": 18, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 80.0, - "Height": 80.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Low" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics", - "Monitor": "WasteLevel", - "EnableComponentSelection": false, - "Settings": { - "DecimalPlaces": 2, - "Color": "#FFDCDCDC" - }, - "ID": "d3844b51-1842-4f96-a3f9-204fa3257391", - "Column": 14, - "Row": 12, - "ColumnSpan": 2, - "RowSpan": 4, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_WHS_WTANKPUMP2", - "EnableComponentSelection": true, - "ID": "c87815f5-b563-472b-b1e5-cd0ba750280d", - "Column": 16, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Valve" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_WASTECH_PUMP2", - "EnableComponentSelection": false, - "ID": "a36513f1-3038-4820-b7f4-033ae81749cc", - "Column": 14, - "Row": 18, - "ColumnSpan": 2, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Waste Pump" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve8", - "EnableComponentSelection": true, - "ID": "47805db1-34e9-4190-8bd7-8102bd213957", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 8" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve7", - "EnableComponentSelection": true, - "ID": "376973fb-b249-4f31-ba6d-d207f692f246", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 7" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve5", - "EnableComponentSelection": true, - "ID": "aae3c107-4f3b-4e3b-b534-961a1c2d156b", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 5" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve4", - "EnableComponentSelection": true, - "ID": "f31899df-105e-4b2c-a9b1-11e27cab6813", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 4" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve3", - "EnableComponentSelection": true, - "ID": "a5da1fdf-74dd-4870-9cf6-95b11c44fc42", - "Column": 15, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 3" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve3", - "EnableComponentSelection": true, - "ID": "ff292bee-e448-4e0e-a467-3f3c32f103ff", - "Column": 21, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 1" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankInkValve2", - "EnableComponentSelection": true, - "ID": "7ee9d1b1-0449-4aab-a777-4cf00868efb7", - "Column": 18, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Ink Valve 2" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve8", - "EnableComponentSelection": true, - "ID": "7cf0e6f5-a76c-4618-8c5d-0ead628716bf", - "Column": 0, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 8" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve7", - "EnableComponentSelection": true, - "ID": "e9e160ac-0e97-465f-ae5e-6fa405976682", - "Column": 3, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 7" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve5", - "EnableComponentSelection": true, - "ID": "943a16e3-b67e-4699-9cfb-4d561acc2701", - "Column": 9, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 5" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve4", - "EnableComponentSelection": true, - "ID": "0660f5cf-2137-4321-b50a-578d3609d046", - "Column": 12, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 4" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve3", - "EnableComponentSelection": true, - "ID": "92fb19fc-97be-491a-ab85-1692cf67edc7", - "Column": 15, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 3" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve2", - "EnableComponentSelection": true, - "ID": "5d68408a-78bd-4a34-bdeb-102bc1162b66", - "Column": 18, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 2" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Valve.ValveWidget, Tango.FSE.Diagnostics", - "Valve": "MidTankAirValve1", - "EnableComponentSelection": true, - "ID": "a8cf65e0-6f04-4d2d-9871-72ea03d32785", - "Column": 21, - "Row": 8, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": "Air Valve 1" - } - ] - }, - { - "Name": "Thread Insertion", - "Columns": [ - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "64.0847665847665" - }, - { - "Width": "147.394348894349" - }, - { - "Width": "60.0208845208844" - }, - { - "Width": "64.0847665847665" - }, - { - "Width": "144.346437346437" - }, - { - "Width": "63.0687960687962" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - }, - { - "Width": "90.5" - } - ], - "Rows": [ - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - }, - { - "Height": "*" - } - ], - "Widgets": [ - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_SCREW", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "85a82dd4-acdb-4c4e-a3c9-695867f653eb", - "Column": 0, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "115d0399-3aef-4b22-8ca0-e6d45fe668d7", - "Column": 3, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_DRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "e855ba30-b217-4597-9f0f-6cc146b70219", - "Column": 6, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RDRIVING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "00f25fe2-7d74-4f79-ba1b-24413e5c95c3", - "Column": 12, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_WINDER", - "EnableComponentSelection": false, - "Settings": { - "Speed": 1000, - "Color": "#FF141414" - }, - "ID": "199de96d-42c5-4149-a38e-d164083ca386", - "Column": 0, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LLOADING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 350, - "Color": "#FF141414" - }, - "ID": "9277c669-26be-4997-8bea-f3c7ca3bc209", - "Column": 3, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_LID", - "EnableComponentSelection": false, - "Settings": { - "Speed": 10, - "Color": "#FF141414" - }, - "ID": "487cfead-4c4e-4770-a5b5-6d6e023e4ec7", - "Column": 6, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DH_LID", - "EnableComponentSelection": false, - "Settings": { - "Speed": 350, - "Color": "#FF141414" - }, - "ID": "315bcacc-f4ce-43b7-b4fe-226b5239ea1c", - "Column": 9, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RLOADING", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "8cb7f490-0ccc-45e7-ab35-7f7737e84181", - "Column": 12, - "Row": 5, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDANCER2", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "3b1ea0eb-8879-47c8-beee-bc677e39ffef", - "Column": 0, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_LDANCER1", - "EnableComponentSelection": false, - "Settings": { - "Speed": 500, - "Color": "#FF141414" - }, - "ID": "a1fc3115-5145-4782-86fc-27e3d8160292", - "Column": 3, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_DRYER_LOADARM", - "EnableComponentSelection": false, - "Settings": { - "Speed": 200, - "Color": "#FF141414" - }, - "ID": "d3d05e7b-15c8-4e0e-84d4-1199b53c4718", - "Column": 6, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Motor.MotorWidget, Tango.FSE.Diagnostics", - "Motor": "MOTO_RDANCER", - "EnableComponentSelection": false, - "Settings": { - "Speed": 20, - "Color": "#FF141414" - }, - "ID": "b31aa0c3-663f-4739-904a-92991c292698", - "Column": 12, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 5, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_LED3", - "EnableComponentSelection": true, - "ID": "ea062fba-5dbe-4b92-b641-f6b18fb38e3f", - "Column": 10, - "Row": 2, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_TFEED_BREAK_1", - "EnableComponentSelection": true, - "ID": "419fa0da-9c51-49fc-82cf-83707c03a44a", - "Column": 10, - "Row": 12, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Bottom", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_BLOWER_PWM", - "EnableComponentSelection": true, - "ID": "1140ad8f-ac3c-449e-8d00-cf6cb6363d6c", - "Column": 7, - "Row": 17, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": "Blower Control" - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Right Dye Head Actuator", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "3dc2a4c2-c7a8-40b6-94dc-2c535b5fc814", - "Column": 9, - "Row": 0, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 72.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics", - "Text": "Left Dye Head Actuator", - "Color": "#FFD3D3D3", - "Settings": {}, - "ID": "ee9bd6ae-4567-4cd7-a4fa-bb18814fb831", - "Column": 9, - "Row": 10, - "ColumnSpan": 3, - "RowSpan": 3, - "Width": 72.0, - "Height": 100.0, - "DisplayComponentName": false, - "ComponentNameAlignment": "Top", - "CustomComponentName": null - }, - { - "$type": "Tango.FSE.Diagnostics.Project.Widgets.Output.OutputWidget, Tango.FSE.Diagnostics", - "IO": "GPO_SPARE_SSR13_CTRL", - "EnableComponentSelection": true, - "ID": "9809c577-baea-4c34-94cb-9c7df7e23943", - "Column": 10, - "Row": 17, - "ColumnSpan": 1, - "RowSpan": 3, - "Width": 100.0, - "Height": 100.0, - "DisplayComponentName": true, - "ComponentNameAlignment": "Top", - "CustomComponentName": "Dye Head Magnet" - } - ] - } - ] -}
\ No newline at end of file |
