From 634648af2c9f3b6cc711876ba41a64a26d426928 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Fri, 23 Oct 2020 06:37:51 +0300 Subject: winder calibration procedure --- .../Procedures/Winder Calibration.pproj | 1 + .../Procedures/Winder Calibration.txt | 66 ++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 Software/Stubs Collection/Procedures/Winder Calibration.pproj create mode 100644 Software/Stubs Collection/Procedures/Winder Calibration.txt (limited to 'Software') diff --git a/Software/Stubs Collection/Procedures/Winder Calibration.pproj b/Software/Stubs Collection/Procedures/Winder Calibration.pproj new file mode 100644 index 000000000..0f1908344 --- /dev/null +++ b/Software/Stubs Collection/Procedures/Winder Calibration.pproj @@ -0,0 +1 @@ +{"$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\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\t\t\r\n \toffset = context.GetInput(\"Initial Offset\");\r\n\r\n\t\tStubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest();\r\n\t\tstubMotorMovRequest.MotorID = SCREW_MOTOR;\r\n\t\tstubMotorMovRequest.Direction = true;\r\n\t\twhile (Located == false)\r\n\t\t{\r\n\t\t\tcontext.Send(motorHomingRequest);\r\n\t\t\tThread.Sleep(3000);\r\n\t\t\tstubMotorMovRequest.Position = (uint)(offset + Calibration_Offset)*8;\r\n\t\t\tcontext.Send(stubMotorMovRequest);\r\n\t\t\tThread.Sleep(3000);\r\n\r\n \tLocated =\tcontext.RequestUserInputFor(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\toffset = context.RequestUserInputFor(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 progressRequest = new ProgressRequest();\r\n\t\tprogressRequest.Amount = 0xB20;\r\n\t\tprogressRequest.Delay = Calibration_Offset;\r\n\t\tcontext.Send(progressRequest);\r\n\t\tbox_msg = \"Writing new winder offset \" + Calibration_Offset+ \"to the main card EEPROM\";\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":[{"$id":"6","Type":"Default","SelectionInputs":{"$id":"7","$values":[{"$id":"8","Name":"Enable Tamper Check","Value":"1.0"},{"$id":"9","Name":"Disable Tamper Check","Value":"0.0"}]},"DisplayName":"Initial offset","Description":"Initial offset for the winder arm","Key":"Initial Offset","Value":"200"},{"$id":"10","Type":"Boolean","SelectionInputs":{"$id":"11","$values":[]},"DisplayName":"Located","Description":"is winder located correctly?","Key":"Located","Value":"0"},{"$id":"12","Type":"Default","SelectionInputs":{"$id":"13","$values":[]},"DisplayName":"Calibration offset","Description":"Controls the 3 parameter.","Key":"Offset","Value":"0"}]},"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/Winder Calibration.txt b/Software/Stubs Collection/Procedures/Winder Calibration.txt new file mode 100644 index 000000000..a06e94e31 --- /dev/null +++ b/Software/Stubs Collection/Procedures/Winder Calibration.txt @@ -0,0 +1,66 @@ +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.Backward; + + offset = context.GetInput("Initial Offset"); + + StubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest(); + stubMotorMovRequest.MotorID = SCREW_MOTOR; + stubMotorMovRequest.Direction = true; + while (Located == false) + { + context.Send(motorHomingRequest); + Thread.Sleep(3000); + stubMotorMovRequest.Position = (uint)(offset + Calibration_Offset); + context.Send(stubMotorMovRequest); + Thread.Sleep(3000); + + + Located = context.GetInput("Is Winder located well?"); + if (Located == false) + { + offset = context.GetInput("Enter new value for calibration offset (15 steps = 1mm. minus - toward the machine"); + } + } + + ProgressRequest progressRequest = new ProgressRequest(); + progressRequest.Amount = 0xB20; + progressRequest.Delay = Calibration_Offset; + context.Send(progressRequest); + box_msg = "Writing new winder offset " + Calibration_Offset+ "to the main card EEPROM"; + MessageBox.Show(box_msg); + + } +} \ No newline at end of file -- cgit v1.3.1