diff --git a/HitBotCSharpDemo/CSharpDemo.csproj b/HitBotCSharpDemo/CSharpDemo.csproj index d182c69..b7c2396 100644 --- a/HitBotCSharpDemo/CSharpDemo.csproj +++ b/HitBotCSharpDemo/CSharpDemo.csproj @@ -112,6 +112,7 @@ + ShowForm.cs diff --git a/HitBotCSharpDemo/CameraManager.cs b/HitBotCSharpDemo/CameraManager.cs index 05a3ecd..3912d2b 100644 --- a/HitBotCSharpDemo/CameraManager.cs +++ b/HitBotCSharpDemo/CameraManager.cs @@ -14,20 +14,25 @@ namespace HitBotCSharpDemo { public class CameraManager { - private string configFilePath = "Camera_config.txt"; - readonly DeviceTLayerType enumTLayerType = DeviceTLayerType.MvGigEDevice | DeviceTLayerType.MvUsbDevice - | DeviceTLayerType.MvGenTLGigEDevice | DeviceTLayerType.MvGenTLCXPDevice | DeviceTLayerType.MvGenTLCameraLinkDevice | DeviceTLayerType.MvGenTLXoFDevice; - List deviceInfoList = new List(); - IDevice device = null; - bool isGrabbing = false; - Thread receiveThread = null; + private readonly DeviceTLayerType enumTLayerType = DeviceTLayerType.MvGigEDevice | DeviceTLayerType.MvUsbDevice + | DeviceTLayerType.MvGenTLGigEDevice | DeviceTLayerType.MvGenTLCXPDevice | DeviceTLayerType.MvGenTLCameraLinkDevice | DeviceTLayerType.MvGenTLXoFDevice; + + private System.Collections.Generic.List deviceInfoList = new System.Collections.Generic.List(); + private IDevice device = null; + private bool isGrabbing = false; + private Thread receiveThread = null; private IFrameOut frameForSave; private readonly object saveImageLock = new object(); - // 添加曝光参数控制变量 private float currentExposure = 10000f; // 默认曝光时间 private float currentGain = 0f; // 默认增益 + private string configFilePath = "Camera_config.txt"; + private PictureBox displayControl; - private void InitializeCamera() + public CameraManager(PictureBox displayPictureBox) + { + displayControl = displayPictureBox; + } + public void Initialize() { // 枚举设备 int nRet = DeviceEnumerator.EnumDevices(enumTLayerType, out deviceInfoList); @@ -42,6 +47,189 @@ namespace HitBotCSharpDemo ConnectFirstCamera(); } } + public void LoadConfiguration() + { + try + { + if (File.Exists(configFilePath)) + { + string[] lines = File.ReadAllLines(configFilePath); + foreach (string line in lines) + { + if (line.StartsWith("Exposure=")) + { + if (float.TryParse(line.Substring(9), out float exposure)) + currentExposure = exposure; + } + else if (line.StartsWith("Gain=")) + { + if (float.TryParse(line.Substring(5), out float gain)) + currentGain = gain; + } + } + } + } + catch (Exception ex) + { + Console.WriteLine("加载相机配置失败: " + ex.Message); + } + } + public void TakePhoto() + { + if (frameForSave == null) + { + MessageBox.Show("没有可用的图像数据!"); + return; + } + try + { + string fileName = "Photo_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg"; + ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); + imageFormatInfo.FormatType = ImageFormatType.Jpeg; + imageFormatInfo.JpegQuality = 90; + lock (saveImageLock) + { + int result = device.ImageSaver.SaveImageToFile(fileName, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); + if (result == MvError.MV_OK) + { + MessageBox.Show($"照片已保存: {fileName}"); + } + else + { + MessageBox.Show("保存照片失败!" + result); + } + } + } + catch (Exception ex) + { + MessageBox.Show("拍照失败: " + ex.Message); + } + } + public void ShowParameterDialog() + { + if (device == null) + { + MessageBox.Show("相机未连接!"); + return; + } + // 创建参数调整窗体 + using (Form paramForm = new Form()) + { + paramForm.Text = "相机参数设置"; + paramForm.Size = new Size(300, 200); + paramForm.StartPosition = FormStartPosition.CenterParent; + // 曝光时间设置 + Label lblExposure = new Label() { Text = "曝光时间:", Location = new Point(10, 20), Size = new Size(80, 20) }; + TextBox txtExposure = new TextBox() { Location = new Point(100, 18), Size = new Size(100, 20), Text = currentExposure.ToString() }; + // 增益设置 + Label lblGain = new Label() { Text = "增益:", Location = new Point(10, 50), Size = new Size(80, 20) }; + TextBox txtGain = new TextBox() { Location = new Point(100, 48), Size = new Size(100, 20), Text = currentGain.ToString() }; + // 确定按钮 + Button btnOK = new Button() { Text = "应用", Location = new Point(50, 100), Size = new Size(60, 30) }; + btnOK.Click += (s, e) => { + try + { + float exposure = float.Parse(txtExposure.Text); + float gain = float.Parse(txtGain.Text); + SetCameraParameters(exposure, gain); + paramForm.Close(); + } + catch + { + MessageBox.Show("请输入正确的数值!"); + } + }; + // 取消按钮 + Button btnCancel = new Button() { Text = "取消", Location = new Point(130, 100), Size = new Size(60, 30) }; + btnCancel.Click += (s, e) => paramForm.Close(); + paramForm.Controls.AddRange(new Control[] { lblExposure, txtExposure, lblGain, txtGain, btnOK, btnCancel }); + paramForm.ShowDialog(); + } + } + public string SaveCurrentImageForDetection() + { + if (frameForSave == null) return null; + try + { + string fileName = "temp_detection_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg"; + string fullPath = Path.Combine(Application.StartupPath, fileName); + ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); + imageFormatInfo.FormatType = ImageFormatType.Jpeg; + imageFormatInfo.JpegQuality = 90; + lock (saveImageLock) + { + int result = device.ImageSaver.SaveImageToFile(fullPath, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); + if (result == MvError.MV_OK) + { + return fullPath; + } + } + } + catch (Exception ex) + { + MessageBox.Show("保存图像失败: " + ex.Message); + } + return null; + } + public string SaveImageToPositionFolder(int positionIndex, int currentCycle, string cycleStartTime) + { + if (frameForSave == null) return null; + try + { + string positionFolder = Path.Combine(Application.StartupPath, $"Position{positionIndex + 1}_Original_{cycleStartTime}"); + if (!Directory.Exists(positionFolder)) + { + Directory.CreateDirectory(positionFolder); + } + string fileName = $"Original_Pos{positionIndex + 1}_Cycle{currentCycle}_{DateTime.Now:yyyyMMddHHmmss}.jpg"; + string fullPath = Path.Combine(positionFolder, fileName); + ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); + imageFormatInfo.FormatType = ImageFormatType.Jpeg; + imageFormatInfo.JpegQuality = 90; + lock (saveImageLock) + { + int result = device.ImageSaver.SaveImageToFile(fullPath, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); + if (result == MvError.MV_OK) + { + return fullPath; + } + } + } + catch (Exception ex) + { + MessageBox.Show($"保存点位{positionIndex + 1}图像失败: " + ex.Message); + } + return null; + } + public void StopCamera() + { + // 停止采集 + if (isGrabbing) + { + isGrabbing = false; + if (receiveThread != null && receiveThread.IsAlive) + { + receiveThread.Join(); + } + } + // 关闭设备 + if (device != null) + { + device.StreamGrabber.StopGrabbing(); + device.Close(); + device.Dispose(); + device = null; + } + // 释放帧缓存 + lock (saveImageLock) + { + if (frameForSave != null) + { + frameForSave.Dispose(); + frameForSave = null; + } + } + } private void ConnectFirstCamera() { try @@ -70,9 +258,7 @@ namespace HitBotCSharpDemo // 设置采集模式 device.Parameters.SetEnumValueByString("AcquisitionMode", "Continuous"); device.Parameters.SetEnumValueByString("TriggerMode", "Off"); - SetCameraParameters(currentExposure, currentGain); - // 启动图像采集 StartGrabbing(); } @@ -110,7 +296,6 @@ namespace HitBotCSharpDemo { IFrameOut frameOut; int nRet = device.StreamGrabber.GetImageBuffer(1000, out frameOut); - if (MvError.MV_OK == nRet) { // 保存帧信息用于拍照 @@ -125,10 +310,10 @@ namespace HitBotCSharpDemo // 显示图像到PictureBox try { - //if (cam_feed.IsHandleCreated) - //{ - // device.ImageRender.DisplayOneFrame(cam_feed.Handle, frameOut.Image); - //} + if (displayControl.IsHandleCreated) + { + device.ImageRender.DisplayOneFrame(displayControl.Handle, frameOut.Image); + } } catch (Exception ex) { @@ -143,41 +328,14 @@ namespace HitBotCSharpDemo } } } - private void LoadCameraConfig() - { - try - { - if (File.Exists(configFilePath)) - { - string[] lines = File.ReadAllLines(configFilePath); - foreach (string line in lines) - { - if (line.StartsWith("Exposure=")) - { - if (float.TryParse(line.Substring(9), out float exposure)) - currentExposure = exposure; - } - else if (line.StartsWith("Gain=")) - { - if (float.TryParse(line.Substring(5), out float gain)) - currentGain = gain; - } - } - } - } - catch (Exception ex) - { - Console.WriteLine("加载相机配置失败: " + ex.Message); - } - } private void SaveCameraConfig() { try { string[] config = new string[] { - $"Exposure={currentExposure}", - $"Gain={currentGain}" + $"Exposure={currentExposure}", + $"Gain={currentGain}" }; File.WriteAllLines(configFilePath, config); } @@ -186,82 +344,6 @@ namespace HitBotCSharpDemo Console.WriteLine("保存相机配置失败: " + ex.Message); } } - - private void TakePhoto() - { - if (frameForSave == null) - { - MessageBox.Show("没有可用的图像数据!"); - return; - } - try - { - string fileName = "Photo_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg"; - - ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); - imageFormatInfo.FormatType = ImageFormatType.Jpeg; - imageFormatInfo.JpegQuality = 90; - lock (saveImageLock) - { - int result = device.ImageSaver.SaveImageToFile(fileName, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); - if (result == MvError.MV_OK) - { - MessageBox.Show($"照片已保存: {fileName}"); - } - else - { - MessageBox.Show("保存照片失败!" + result); - } - } - } - catch (Exception ex) - { - MessageBox.Show("拍照失败: " + ex.Message); - } - } - //private void ShowCameraParameterDialog() - //{ - // if (device == null) - // { - // MessageBox.Show("相机未连接!"); - // return; - // } - // // 创建参数调整窗体 - // using (Form paramForm = new Form()) - // { - // paramForm.Text = "相机参数设置"; - // paramForm.Size = new Size(300, 200); - // paramForm.StartPosition = FormStartPosition.CenterParent; - // // 曝光时间设置 - // Label lblExposure = new Label() { Text = "曝光时间:", Location = new Point(10, 20), Size = new Size(80, 20) }; - // TextBox txtExposure = new TextBox() { Location = new Point(100, 18), Size = new Size(100, 20), Text = currentExposure.ToString() }; - // // 增益设置 - // Label lblGain = new Label() { Text = "增益:", Location = new Point(10, 50), Size = new Size(80, 20) }; - // TextBox txtGain = new TextBox() { Location = new Point(100, 48), Size = new Size(100, 20), Text = currentGain.ToString() }; - // // 确定按钮 - // Button btnOK = new Button() { Text = "应用", Location = new Point(50, 100), Size = new Size(60, 30) }; - // btnOK.Click += (s, e) => { - // try - // { - // float exposure = float.Parse(txtExposure.Text); - // float gain = float.Parse(txtGain.Text); - - // SetCameraParameters(exposure, gain); - // paramForm.Close(); - // } - // catch - // { - // MessageBox.Show("请输入正确的数值!"); - // } - // }; - // // 取消按钮 - // Button btnCancel = new Button() { Text = "取消", Location = new Point(130, 100), Size = new Size(60, 30) }; - // btnCancel.Click += (s, e) => paramForm.Close(); - // paramForm.Controls.AddRange(new Control[] { lblExposure, txtExposure, lblGain, txtGain, btnOK, btnCancel }); - // paramForm.ShowDialog(this); - // } - //} - private void SetCameraParameters(float exposure, float gain) { if (device == null) return; @@ -286,7 +368,6 @@ namespace HitBotCSharpDemo currentExposure = exposure; currentGain = gain; SaveCameraConfig(); - //MessageBox.Show("参数设置成功!"); } catch (Exception ex) @@ -294,38 +375,5 @@ namespace HitBotCSharpDemo MessageBox.Show("设置参数失败: " + ex.Message); } } - //protected override void OnFormClosing(FormClosingEventArgs e) - //{ - // // 停止采集 - // if (isGrabbing) - // { - // isGrabbing = false; - // if (receiveThread != null && receiveThread.IsAlive) - // { - // receiveThread.Join(); - // } - // } - // // 关闭设备 - // if (device != null) - // { - // device.StreamGrabber.StopGrabbing(); - // device.Close(); - // device.Dispose(); - // device = null; - // } - // // 释放帧缓存 - // lock (saveImageLock) - // { - // if (frameForSave != null) - // { - // frameForSave.Dispose(); - // frameForSave = null; - // } - // } - // // 终结SDK - // SDKSystem.Finalize(); - - // base.OnFormClosing(e); - //} } } diff --git a/HitBotCSharpDemo/PositionManager.cs b/HitBotCSharpDemo/PositionManager.cs new file mode 100644 index 0000000..424f5f7 --- /dev/null +++ b/HitBotCSharpDemo/PositionManager.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace HitBotCSharpDemo +{ + public interface IPositionManager + { + bool LoadPositions(); + float[] GetPosition(int index); + int PositionCount { get; } + bool IsPositionValid(int index); + } + internal class PositionManager + { + private float[][] cameraPositions; + private string filePath = "Cam_pos_path.txt"; + public int PositionCount => cameraPositions?.Length ?? 0; + public bool LoadPositions() + { + try + { + if (File.Exists(filePath)) + { + string[] lines = File.ReadAllLines(filePath); + cameraPositions = new float[5][]; + int positionIndex = 0; + foreach (string line in lines) + { + if (string.IsNullOrWhiteSpace(line) || line.StartsWith("#")) + continue; + if (positionIndex < 5) + { + string[] coords = line.Split(','); + if (coords.Length == 4) + { + cameraPositions[positionIndex] = new float[4]; + for (int i = 0; i < 4; i++) + { + if (float.TryParse(coords[i].Trim(), out float value)) + { + cameraPositions[positionIndex][i] = value; + } + else + { + MessageBox.Show($"解析第{positionIndex + 1}行第{i + 1}个坐标时出错:{coords[i]}"); + return false; + } + } + positionIndex++; + } + else + { + MessageBox.Show($"第{positionIndex + 1}行坐标格式错误,应该包含4个值(X,Y,Z,R)"); + return false; + } + } + } + return true; + } + else + { + MessageBox.Show($"未找到文件:{filePath}"); + return false; + } + } + catch (Exception ex) + { + MessageBox.Show($"加载点位文件时出错:{ex.Message}"); + return false; + } + } + public float[] GetPosition(int index) + { + if (IsPositionValid(index)) + { + return cameraPositions[index]; + } + return null; + } + public bool IsPositionValid(int index) + { + return cameraPositions != null && + index >= 0 && + index < cameraPositions.Length && + cameraPositions[index] != null; + } + } +} diff --git a/HitBotCSharpDemo/RobotManager.cs b/HitBotCSharpDemo/RobotManager.cs new file mode 100644 index 0000000..39017a1 --- /dev/null +++ b/HitBotCSharpDemo/RobotManager.cs @@ -0,0 +1,133 @@ +using ControlBeanExDll; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TcpserverExDll; + +namespace HitBotCSharpDemo +{ + public interface IRobotManager + { + ControlBeanEx Robot { get; } + bool IsInitialized { get; } + bool Initialize(int robotId); + void MoveToPosition(float x, float y, float z, float r, int hand); + void JogMove(float deltaX, float deltaY, float deltaZ, float deltaR); + void StopMove(); + void GetCurrentPosition(); + int[] GetIOInputs(int count); + int[] GetIOOutputs(int count); + void SetDigitalOutput(int index, bool state); + void JointHome(int jointNumber); + float X { get; } + float Y { get; } + float Z { get; } + float Rotation { get; } + int Hand { get; } + bool MoveFlag { get; } + } + internal class RobotManager + { + private ControlBeanEx robot; + private bool isInitialized = false; + public ControlBeanEx Robot => robot; + public bool IsInitialized => isInitialized; + public float X => robot?.x ?? 0; + public float Y => robot?.y ?? 0; + public float Z => robot?.z ?? 0; + public float Rotation => robot?.rotation ?? 0; + public int Hand => robot?.get_lr() ?? 0; + public bool MoveFlag => robot?.move_flag ?? false; + public RobotManager() + { + TcpserverEx.net_port_initial(); + } + public bool Initialize(int robotId) + { + robot = TcpserverEx.get_robot(robotId); + + if (robot.is_connected()) + { + robot.check_joint(4, false); + int ret = robot.initial(1, 240); + + if (ret == 1) + { + robot.unlock_position(); + isInitialized = true; + MessageBox.Show("机械臂初始化完成"); + return true; + } + else + { + MessageBox.Show($"机械臂初始化失败,返回值 = {ret}"); + return false; + } + } + else + { + MessageBox.Show("机械臂未连接"); + return false; + } + } + public void MoveToPosition(float x, float y, float z, float r, int hand) + { + if (!isInitialized) return; + + robot.get_scara_param(); + robot.new_set_acc(30, 30, 30, 30); + robot.new_movej_xyz_lr(x, y, z, r, 100, 0, hand); + } + public void JogMove(float deltaX, float deltaY, float deltaZ, float deltaR) + { + if (!isInitialized) return; + + robot.jog_move2(deltaX, deltaY, deltaZ, deltaR, 1); + } + public void StopMove() + { + if (!isInitialized) return; + robot.new_stop_move(); + } + public void GetCurrentPosition() + { + if (!isInitialized) return; + robot.get_scara_param(); + } + public int[] GetIOInputs(int count) + { + if (!isInitialized) return new int[count]; + + int[] inputs = new int[count]; + for (int i = 0; i < count; i++) + { + inputs[i] = robot.get_digital_in(i); + } + return inputs; + } + public int[] GetIOOutputs(int count) + { + if (!isInitialized) return new int[count]; + + int[] outputs = new int[count]; + for (int i = 0; i < count; i++) + { + outputs[i] = robot.get_digital_out(i); + } + return outputs; + } + public void SetDigitalOutput(int index, bool state) + { + if (!isInitialized) return; + robot.set_digital_out(index, state); + } + public void JointHome(int jointNumber) + { + if (!isInitialized) return; + robot.joint_home(jointNumber); + } + } +} diff --git a/HitBotCSharpDemo/ShowForm.Designer.cs b/HitBotCSharpDemo/ShowForm.Designer.cs index 73e6b64..4933d5d 100644 --- a/HitBotCSharpDemo/ShowForm.Designer.cs +++ b/HitBotCSharpDemo/ShowForm.Designer.cs @@ -103,6 +103,7 @@ this.btn_Pause = new System.Windows.Forms.Button(); this.btn_Start = new System.Windows.Forms.Button(); this.tap_Cam = new System.Windows.Forms.TabPage(); + this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.checkBox4 = new System.Windows.Forms.CheckBox(); this.checkBox3 = new System.Windows.Forms.CheckBox(); @@ -118,12 +119,52 @@ this.cam_btn_3 = new System.Windows.Forms.Button(); this.cam_btn_2 = new System.Windows.Forms.Button(); this.cam_btn_1 = new System.Windows.Forms.Button(); + this.tap_tempCtrl = new System.Windows.Forms.TabPage(); + this.grb_temport = new System.Windows.Forms.GroupBox(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.button3 = new System.Windows.Forms.Button(); this.panel1 = new System.Windows.Forms.Panel(); this.cob_Robot_ID = new System.Windows.Forms.ComboBox(); this.lbl_Refresh_ID = new System.Windows.Forms.Label(); this.tim_IO_Refresh = new System.Windows.Forms.Timer(this.components); this.rit_Coord = new System.Windows.Forms.RichTextBox(); - this.label1 = new System.Windows.Forms.Label(); + this.grb_pos1 = new System.Windows.Forms.GroupBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.button4 = new System.Windows.Forms.Button(); + this.button5 = new System.Windows.Forms.Button(); + this.label7 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label8 = new System.Windows.Forms.Label(); + this.button6 = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label13 = new System.Windows.Forms.Label(); + this.button8 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.label18 = new System.Windows.Forms.Label(); + this.button10 = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.label22 = new System.Windows.Forms.Label(); this.tac_MainForm.SuspendLayout(); this.tap_Axis.SuspendLayout(); this.grb_R.SuspendLayout(); @@ -139,7 +180,13 @@ this.tap_Cam.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.cam_feed)).BeginInit(); + this.tap_tempCtrl.SuspendLayout(); + this.grb_temport.SuspendLayout(); this.panel1.SuspendLayout(); + this.grb_pos1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); this.SuspendLayout(); // // btn_Init @@ -160,6 +207,7 @@ this.tac_MainForm.Controls.Add(this.tap_joint); this.tac_MainForm.Controls.Add(this.tap_Move); this.tac_MainForm.Controls.Add(this.tap_Cam); + this.tac_MainForm.Controls.Add(this.tap_tempCtrl); this.tac_MainForm.Dock = System.Windows.Forms.DockStyle.Fill; this.tac_MainForm.Location = new System.Drawing.Point(0, 0); this.tac_MainForm.Margin = new System.Windows.Forms.Padding(4); @@ -1023,10 +1071,19 @@ this.tap_Cam.Padding = new System.Windows.Forms.Padding(3); this.tap_Cam.Size = new System.Drawing.Size(1214, 760); this.tap_Cam.TabIndex = 4; - this.tap_Cam.Text = "相机点位"; + this.tap_Cam.Text = "晶体检测"; this.tap_Cam.UseVisualStyleBackColor = true; this.tap_Cam.Click += new System.EventHandler(this.tap_Cam_Click); // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(847, 79); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(170, 18); + this.label1.TabIndex = 17; + this.label1.Text = "停留时间(分钟):"; + // // textBox1 // this.textBox1.Location = new System.Drawing.Point(1023, 74); @@ -1177,6 +1234,62 @@ this.cam_btn_1.UseVisualStyleBackColor = true; this.cam_btn_1.Click += new System.EventHandler(this.button1_Click); // + // tap_tempCtrl + // + this.tap_tempCtrl.Controls.Add(this.groupBox3); + this.tap_tempCtrl.Controls.Add(this.groupBox2); + this.tap_tempCtrl.Controls.Add(this.groupBox1); + this.tap_tempCtrl.Controls.Add(this.grb_pos1); + this.tap_tempCtrl.Controls.Add(this.grb_temport); + this.tap_tempCtrl.Location = new System.Drawing.Point(4, 28); + this.tap_tempCtrl.Name = "tap_tempCtrl"; + this.tap_tempCtrl.Padding = new System.Windows.Forms.Padding(3); + this.tap_tempCtrl.Size = new System.Drawing.Size(1214, 760); + this.tap_tempCtrl.TabIndex = 5; + this.tap_tempCtrl.Text = "温度控制"; + this.tap_tempCtrl.UseVisualStyleBackColor = true; + this.tap_tempCtrl.Click += new System.EventHandler(this.tabPage1_Click); + // + // grb_temport + // + this.grb_temport.Controls.Add(this.comboBox1); + this.grb_temport.Controls.Add(this.label2); + this.grb_temport.Controls.Add(this.button3); + this.grb_temport.Location = new System.Drawing.Point(61, 30); + this.grb_temport.Name = "grb_temport"; + this.grb_temport.Size = new System.Drawing.Size(271, 169); + this.grb_temport.TabIndex = 3; + this.grb_temport.TabStop = false; + this.grb_temport.Text = "串口设置"; + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(108, 46); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(91, 26); + this.comboBox1.TabIndex = 5; + this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(40, 49); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(62, 18); + this.label2.TabIndex = 4; + this.label2.Text = "端口:"; + // + // button3 + // + this.button3.Location = new System.Drawing.Point(43, 101); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(156, 40); + this.button3.TabIndex = 0; + this.button3.Text = "打开串口"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click_1); + // // panel1 // this.panel1.Controls.Add(this.tac_MainForm); @@ -1223,14 +1336,358 @@ this.rit_Coord.Text = ""; this.rit_Coord.TextChanged += new System.EventHandler(this.rit_Coord_TextChanged); // - // label1 + // grb_pos1 // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(847, 79); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(170, 18); - this.label1.TabIndex = 17; - this.label1.Text = "停留时间(分钟):"; + this.grb_pos1.Controls.Add(this.label7); + this.grb_pos1.Controls.Add(this.button5); + this.grb_pos1.Controls.Add(this.button4); + this.grb_pos1.Controls.Add(this.textBox2); + this.grb_pos1.Controls.Add(this.label6); + this.grb_pos1.Controls.Add(this.label5); + this.grb_pos1.Controls.Add(this.label4); + this.grb_pos1.Controls.Add(this.label3); + this.grb_pos1.Location = new System.Drawing.Point(61, 227); + this.grb_pos1.Name = "grb_pos1"; + this.grb_pos1.Size = new System.Drawing.Size(1055, 100); + this.grb_pos1.TabIndex = 6; + this.grb_pos1.TabStop = false; + this.grb_pos1.Text = "点位1"; + this.grb_pos1.Enter += new System.EventHandler(this.groupBox1_Enter); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(26, 42); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(98, 18); + this.label3.TabIndex = 0; + this.label3.Text = "实际温度:"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(116, 43); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(17, 18); + this.label4.TabIndex = 1; + this.label4.Text = "0"; + this.label4.Click += new System.EventHandler(this.label4_Click); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(227, 42); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(98, 18); + this.label5.TabIndex = 2; + this.label5.Text = "调节温度:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(458, 42); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(98, 18); + this.label6.TabIndex = 7; + this.label6.Text = "设定温度:"; + this.label6.Click += new System.EventHandler(this.label6_Click); + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(321, 38); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(100, 28); + this.textBox2.TabIndex = 8; + this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged); + // + // button4 + // + this.button4.Location = new System.Drawing.Point(901, 31); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(113, 40); + this.button4.TabIndex = 7; + this.button4.Text = "开始升温"; + this.button4.UseVisualStyleBackColor = true; + // + // button5 + // + this.button5.Location = new System.Drawing.Point(761, 31); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(113, 40); + this.button5.TabIndex = 8; + this.button5.Text = "保存"; + this.button5.UseVisualStyleBackColor = true; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(549, 43); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(17, 18); + this.label7.TabIndex = 9; + this.label7.Text = "0"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.button6); + this.groupBox1.Controls.Add(this.button7); + this.groupBox1.Controls.Add(this.textBox3); + this.groupBox1.Controls.Add(this.label9); + this.groupBox1.Controls.Add(this.label10); + this.groupBox1.Controls.Add(this.label11); + this.groupBox1.Controls.Add(this.label12); + this.groupBox1.Location = new System.Drawing.Point(61, 360); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(1055, 100); + this.groupBox1.TabIndex = 7; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "点位2"; + this.groupBox1.Enter += new System.EventHandler(this.groupBox1_Enter_1); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(549, 43); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(17, 18); + this.label8.TabIndex = 9; + this.label8.Text = "0"; + // + // button6 + // + this.button6.Location = new System.Drawing.Point(761, 31); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(113, 40); + this.button6.TabIndex = 8; + this.button6.Text = "保存"; + this.button6.UseVisualStyleBackColor = true; + // + // button7 + // + this.button7.Location = new System.Drawing.Point(901, 31); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(113, 40); + this.button7.TabIndex = 7; + this.button7.Text = "开始升温"; + this.button7.UseVisualStyleBackColor = true; + // + // textBox3 + // + this.textBox3.Location = new System.Drawing.Point(321, 38); + this.textBox3.Name = "textBox3"; + this.textBox3.Size = new System.Drawing.Size(100, 28); + this.textBox3.TabIndex = 8; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(458, 42); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(98, 18); + this.label9.TabIndex = 7; + this.label9.Text = "设定温度:"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(227, 42); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(98, 18); + this.label10.TabIndex = 2; + this.label10.Text = "调节温度:"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(116, 43); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(17, 18); + this.label11.TabIndex = 1; + this.label11.Text = "0"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(26, 42); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(98, 18); + this.label12.TabIndex = 0; + this.label12.Text = "实际温度:"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label13); + this.groupBox2.Controls.Add(this.button8); + this.groupBox2.Controls.Add(this.button9); + this.groupBox2.Controls.Add(this.textBox4); + this.groupBox2.Controls.Add(this.label14); + this.groupBox2.Controls.Add(this.label15); + this.groupBox2.Controls.Add(this.label16); + this.groupBox2.Controls.Add(this.label17); + this.groupBox2.Location = new System.Drawing.Point(61, 488); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(1055, 100); + this.groupBox2.TabIndex = 10; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "点位3"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(549, 43); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(17, 18); + this.label13.TabIndex = 9; + this.label13.Text = "0"; + // + // button8 + // + this.button8.Location = new System.Drawing.Point(761, 31); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(113, 40); + this.button8.TabIndex = 8; + this.button8.Text = "保存"; + this.button8.UseVisualStyleBackColor = true; + // + // button9 + // + this.button9.Location = new System.Drawing.Point(901, 31); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(113, 40); + this.button9.TabIndex = 7; + this.button9.Text = "开始升温"; + this.button9.UseVisualStyleBackColor = true; + // + // textBox4 + // + this.textBox4.Location = new System.Drawing.Point(321, 38); + this.textBox4.Name = "textBox4"; + this.textBox4.Size = new System.Drawing.Size(100, 28); + this.textBox4.TabIndex = 8; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(458, 42); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(98, 18); + this.label14.TabIndex = 7; + this.label14.Text = "设定温度:"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(227, 42); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(98, 18); + this.label15.TabIndex = 2; + this.label15.Text = "调节温度:"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(116, 43); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(17, 18); + this.label16.TabIndex = 1; + this.label16.Text = "0"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(26, 42); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(98, 18); + this.label17.TabIndex = 0; + this.label17.Text = "实际温度:"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.label18); + this.groupBox3.Controls.Add(this.button10); + this.groupBox3.Controls.Add(this.button11); + this.groupBox3.Controls.Add(this.textBox5); + this.groupBox3.Controls.Add(this.label19); + this.groupBox3.Controls.Add(this.label20); + this.groupBox3.Controls.Add(this.label21); + this.groupBox3.Controls.Add(this.label22); + this.groupBox3.Location = new System.Drawing.Point(61, 615); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(1055, 100); + this.groupBox3.TabIndex = 11; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "点位4"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(549, 43); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(17, 18); + this.label18.TabIndex = 9; + this.label18.Text = "0"; + // + // button10 + // + this.button10.Location = new System.Drawing.Point(761, 31); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(113, 40); + this.button10.TabIndex = 8; + this.button10.Text = "保存"; + this.button10.UseVisualStyleBackColor = true; + // + // button11 + // + this.button11.Location = new System.Drawing.Point(901, 31); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(113, 40); + this.button11.TabIndex = 7; + this.button11.Text = "开始升温"; + this.button11.UseVisualStyleBackColor = true; + // + // textBox5 + // + this.textBox5.Location = new System.Drawing.Point(321, 38); + this.textBox5.Name = "textBox5"; + this.textBox5.Size = new System.Drawing.Size(100, 28); + this.textBox5.TabIndex = 8; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(458, 42); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(98, 18); + this.label19.TabIndex = 7; + this.label19.Text = "设定温度:"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(227, 42); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(98, 18); + this.label20.TabIndex = 2; + this.label20.Text = "调节温度:"; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(116, 43); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(17, 18); + this.label21.TabIndex = 1; + this.label21.Text = "0"; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(26, 42); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(98, 18); + this.label22.TabIndex = 0; + this.label22.Text = "实际温度:"; // // ShowForm // @@ -1274,7 +1731,18 @@ this.tap_Cam.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.cam_feed)).EndInit(); + this.tap_tempCtrl.ResumeLayout(false); + this.grb_temport.ResumeLayout(false); + this.grb_temport.PerformLayout(); this.panel1.ResumeLayout(false); + this.grb_pos1.ResumeLayout(false); + this.grb_pos1.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -1376,6 +1844,47 @@ private System.Windows.Forms.CheckBox checkBox1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label1; + private System.Windows.Forms.TabPage tap_tempCtrl; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.GroupBox grb_temport; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.GroupBox grb_pos1; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.TextBox textBox5; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.TextBox textBox4; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label17; } } diff --git a/HitBotCSharpDemo/ShowForm.cs b/HitBotCSharpDemo/ShowForm.cs index ed03a70..0fd6135 100644 --- a/HitBotCSharpDemo/ShowForm.cs +++ b/HitBotCSharpDemo/ShowForm.cs @@ -45,31 +45,19 @@ namespace HitBotCSharpDemo Thread thread_PosMove; private float[][] cameraPositions; private string filePath = "Cam_pos_path.txt"; - private string configFilePath = "Camera_config.txt"; - - readonly DeviceTLayerType enumTLayerType = DeviceTLayerType.MvGigEDevice | DeviceTLayerType.MvUsbDevice - | DeviceTLayerType.MvGenTLGigEDevice | DeviceTLayerType.MvGenTLCXPDevice | DeviceTLayerType.MvGenTLCameraLinkDevice | DeviceTLayerType.MvGenTLXoFDevice; - List deviceInfoList = new List(); - IDevice device = null; - bool isGrabbing = false; - Thread receiveThread = null; - private IFrameOut frameForSave; - private readonly object saveImageLock = new object(); - private float currentExposure = 10000f; // 默认曝光时间 - private float currentGain = 0f; // 默认增益 private TcpClient tcpClient; private NetworkStream networkStream; private Thread detectionThread; private bool isDetectionRunning = false; private const int SERVER_PORT = 8888; // Python服务器端口 - private const string SERVER_IP = "192.168.124.4"; // 本机IP + private const string SERVER_IP = "127.0.0.1"; // 本机IP private float receivedWidth = 0; private float receivedHeight = 0; private bool isCycleRunning = false; private Thread cycleThread; - //private string xlsFilePath = Path.Combine(Application.StartupPath, "DetectionResults.xlsx"); + private List detectionData = new List(); // 存储每轮检测数据 private int currentCycle = 0; @@ -77,6 +65,9 @@ namespace HitBotCSharpDemo private int dwellTimeMinutes = 1; // 停留时间(分钟) private string cycleStartTime = ""; // 循环开始时间 + private CameraManager cameraManager; + private tempControl tempControl; + private ControlBeanEx robot; public ShowForm() { @@ -87,272 +78,6 @@ namespace HitBotCSharpDemo //InitializeCamera(); // 初始化相机 Control.CheckForIllegalCrossThreadCalls = false; } - private void InitializeCamera() - { - // 枚举设备 - int nRet = DeviceEnumerator.EnumDevices(enumTLayerType, out deviceInfoList); - if (nRet != MvError.MV_OK) - { - MessageBox.Show($"枚举设备失败!,{ nRet}"); - return; - } - // 如果有设备,自动连接第一个 - if (deviceInfoList.Count > 0) - { - ConnectFirstCamera(); - } - } - private void ConnectFirstCamera() - { - try - { - // 创建设备 - IDeviceInfo deviceInfo = deviceInfoList[0]; - device = DeviceFactory.CreateDevice(deviceInfo); - // 打开设备 - int result = device.Open(); - if (result != MvError.MV_OK) - { - MessageBox.Show($"打开设备失败!,{result}"); - return; - } - // GigE设备优化 - if (device is IGigEDevice) - { - IGigEDevice gigEDevice = device as IGigEDevice; - int optionPacketSize; - result = gigEDevice.GetOptimalPacketSize(out optionPacketSize); - if (result == MvError.MV_OK) - { - device.Parameters.SetIntValue("GevSCPSPacketSize", (long)optionPacketSize); - } - } - // 设置采集模式 - device.Parameters.SetEnumValueByString("AcquisitionMode", "Continuous"); - device.Parameters.SetEnumValueByString("TriggerMode", "Off"); - - SetCameraParameters(currentExposure, currentGain); - - // 启动图像采集 - StartGrabbing(); - } - catch (Exception ex) - { - MessageBox.Show("连接相机失败: " + ex.Message); - } - } - private void StartGrabbing() - { - if (device == null) return; - try - { - isGrabbing = true; - receiveThread = new Thread(ReceiveThreadProcess); - receiveThread.Start(); - // 开始采集 - int result = device.StreamGrabber.StartGrabbing(); - if (result != MvError.MV_OK) - { - isGrabbing = false; - receiveThread.Join(); - MessageBox.Show("开始采集失败!" + result); - return; - } - } - catch (Exception ex) - { - MessageBox.Show("启动采集线程失败: " + ex.Message); - } - } - public void ReceiveThreadProcess() - { - while (isGrabbing) - { - IFrameOut frameOut; - int nRet = device.StreamGrabber.GetImageBuffer(1000, out frameOut); - - if (MvError.MV_OK == nRet) - { - // 保存帧信息用于拍照 - lock (saveImageLock) - { - if (frameForSave != null) - { - frameForSave.Dispose(); - } - frameForSave = frameOut.Clone() as IFrameOut; - } - // 显示图像到PictureBox - try - { - if (cam_feed.IsHandleCreated) - { - device.ImageRender.DisplayOneFrame(cam_feed.Handle, frameOut.Image); - } - } - catch (Exception ex) - { - // 处理显示异常 - Console.WriteLine("显示图像异常: " + ex.Message); - } - device.StreamGrabber.FreeImageBuffer(frameOut); - } - else - { - Thread.Sleep(5); - } - } - } - private void LoadCameraConfig() - { - try - { - if (File.Exists(configFilePath)) - { - string[] lines = File.ReadAllLines(configFilePath); - foreach (string line in lines) - { - if (line.StartsWith("Exposure=")) - { - if (float.TryParse(line.Substring(9), out float exposure)) - currentExposure = exposure; - } - else if (line.StartsWith("Gain=")) - { - if (float.TryParse(line.Substring(5), out float gain)) - currentGain = gain; - } - } - } - } - catch (Exception ex) - { - Console.WriteLine("加载相机配置失败: " + ex.Message); - } - } - private void SaveCameraConfig() - { - try - { - string[] config = new string[] - { - $"Exposure={currentExposure}", - $"Gain={currentGain}" - }; - File.WriteAllLines(configFilePath, config); - } - catch (Exception ex) - { - Console.WriteLine("保存相机配置失败: " + ex.Message); - } - } - - private void TakePhoto() - { - if (frameForSave == null) - { - MessageBox.Show("没有可用的图像数据!"); - return; - } - try - { - string fileName = "Photo_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg"; - - ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); - imageFormatInfo.FormatType = ImageFormatType.Jpeg; - imageFormatInfo.JpegQuality = 90; - lock (saveImageLock) - { - int result = device.ImageSaver.SaveImageToFile(fileName, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); - if (result == MvError.MV_OK) - { - MessageBox.Show($"照片已保存: {fileName}"); - } - else - { - MessageBox.Show("保存照片失败!"+ result); - } - } - } - catch (Exception ex) - { - MessageBox.Show("拍照失败: " + ex.Message); - } - } - private void ShowCameraParameterDialog() - { - if (device == null) - { - MessageBox.Show("相机未连接!"); - return; - } - // 创建参数调整窗体 - using (Form paramForm = new Form()) - { - paramForm.Text = "相机参数设置"; - paramForm.Size = new Size(300, 200); - paramForm.StartPosition = FormStartPosition.CenterParent; - // 曝光时间设置 - Label lblExposure = new Label() { Text = "曝光时间:", Location = new Point(10, 20), Size = new Size(80, 20) }; - TextBox txtExposure = new TextBox() { Location = new Point(100, 18), Size = new Size(100, 20), Text = currentExposure.ToString() }; - // 增益设置 - Label lblGain = new Label() { Text = "增益:", Location = new Point(10, 50), Size = new Size(80, 20) }; - TextBox txtGain = new TextBox() { Location = new Point(100, 48), Size = new Size(100, 20), Text = currentGain.ToString() }; - // 确定按钮 - Button btnOK = new Button() { Text = "应用", Location = new Point(50, 100), Size = new Size(60, 30) }; - btnOK.Click += (s, e) => { - try - { - float exposure = float.Parse(txtExposure.Text); - float gain = float.Parse(txtGain.Text); - - SetCameraParameters(exposure, gain); - paramForm.Close(); - } - catch - { - MessageBox.Show("请输入正确的数值!"); - } - }; - // 取消按钮 - Button btnCancel = new Button() { Text = "取消", Location = new Point(130, 100), Size = new Size(60, 30) }; - btnCancel.Click += (s, e) => paramForm.Close(); - paramForm.Controls.AddRange(new Control[] { lblExposure, txtExposure, lblGain, txtGain, btnOK, btnCancel }); - paramForm.ShowDialog(this); - } - } - private void SetCameraParameters(float exposure, float gain) - { - if (device == null) return; - try - { - // 设置曝光时间 - device.Parameters.SetEnumValue("ExposureAuto", 0); // 关闭自动曝光 - int result = device.Parameters.SetFloatValue("ExposureTime", exposure); - if (result != MvError.MV_OK) - { - MessageBox.Show("设置曝光时间失败!"+ result); - return; - } - // 设置增益 - device.Parameters.SetEnumValue("GainAuto", 0); // 关闭自动增益 - result = device.Parameters.SetFloatValue("Gain", gain); - if (result != MvError.MV_OK) - { - MessageBox.Show("设置增益失败!"+result); - return; - } - currentExposure = exposure; - currentGain = gain; - SaveCameraConfig(); - - //MessageBox.Show("参数设置成功!"); - } - catch (Exception ex) - { - MessageBox.Show("设置参数失败: " + ex.Message); - } - } protected override void OnFormClosing(FormClosingEventArgs e) { // 停止循环检测 @@ -362,35 +87,10 @@ namespace HitBotCSharpDemo // 恢复控件状态 SetControlsEnabled(true); } + // 停止相机 + cameraManager?.StopCamera(); - // 停止采集 - if (isGrabbing) - { - isGrabbing = false; - if (receiveThread != null && receiveThread.IsAlive) - { - receiveThread.Join(); - } - } - // 关闭设备 - if (device != null) - { - device.StreamGrabber.StopGrabbing(); - device.Close(); - device.Dispose(); - device = null; - } - // 释放帧缓存 - lock (saveImageLock) - { - if (frameForSave != null) - { - frameForSave.Dispose(); - frameForSave = null; - } - } StopDetection(); - // 终结SDK SDKSystem.Finalize(); base.OnFormClosing(e); @@ -502,9 +202,16 @@ namespace HitBotCSharpDemo { lbl_Current_Input = new Label[] { lbl_InputState_0, lbl_InputState_1, lbl_InputState_2, lbl_InputState_3, lbl_InputState_4, lbl_InputState_5 };//输入信号数组 lbl_Current_Output = new Label[] { lbl_OutputState_0, lbl_OutputState_1, lbl_OutputState_2, lbl_OutputState_3, lbl_OutputState_4, lbl_OutputState_5 };//输出信号数组 + LoadCameraPositions(); - LoadCameraConfig(); - InitializeCamera(); + + cameraManager = new CameraManager(cam_feed); + cameraManager.LoadConfiguration(); + cameraManager.Initialize(); + + Label[] temperatureLabels = new Label[] { label4, label11, label16, label21 }; + tempControl = new tempControl(temperatureLabels); + tempControl.LoadAvailablePorts(comboBox1); } private void cob_Robot_ID_Click(object sender, EventArgs e) @@ -973,12 +680,12 @@ namespace HitBotCSharpDemo } private void button1_Click_1(object sender, EventArgs e) { - TakePhoto(); + cameraManager.TakePhoto(); } private void cam_feed_Click(object sender, EventArgs e) { - ShowCameraParameterDialog(); + cameraManager.ShowParameterDialog(); } private void button1_Click_2(object sender, EventArgs e) @@ -1055,7 +762,7 @@ namespace HitBotCSharpDemo try { // 保存当前图像 - string imagePath = SaveCurrentImage(); + string imagePath = cameraManager.SaveCurrentImageForDetection(); if (!string.IsNullOrEmpty(imagePath)) { // 发送图像到Python服务器 @@ -1082,35 +789,7 @@ namespace HitBotCSharpDemo } } - // 保存当前图像 - private string SaveCurrentImage() - { - if (frameForSave == null) return null; - try - { - string fileName = "temp_detection_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg"; - string fullPath = Path.Combine(Application.StartupPath, fileName); - - ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); - imageFormatInfo.FormatType = ImageFormatType.Jpeg; - imageFormatInfo.JpegQuality = 90; - - lock (saveImageLock) - { - int result = device.ImageSaver.SaveImageToFile(fullPath, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); - if (result == MvError.MV_OK) - { - return fullPath; - } - } - } - catch (Exception ex) - { - MessageBox.Show("保存图像失败: " + ex.Message); - } - return null; - } // 发送图像到服务器 private void SendImageToServer(string imagePath) { @@ -1559,87 +1238,9 @@ namespace HitBotCSharpDemo private string SaveImageToPositionFolder(int positionIndex) { - if (frameForSave == null) return null; - - try - { - string positionFolder = Path.Combine(Application.StartupPath, $"Position{positionIndex + 1}_Original_{cycleStartTime}"); - if (!Directory.Exists(positionFolder)) - { - Directory.CreateDirectory(positionFolder); - } - - string fileName = $"Original_Pos{positionIndex + 1}_Cycle{currentCycle}_{DateTime.Now:yyyyMMddHHmmss}.jpg"; - string fullPath = Path.Combine(positionFolder, fileName); - - ImageFormatInfo imageFormatInfo = new ImageFormatInfo(); - imageFormatInfo.FormatType = ImageFormatType.Jpeg; - imageFormatInfo.JpegQuality = 90; - - lock (saveImageLock) - { - int result = device.ImageSaver.SaveImageToFile(fullPath, frameForSave.Image, imageFormatInfo, CFAMethod.Optimal); - if (result == MvError.MV_OK) - { - return fullPath; - } - } - } - catch (Exception ex) - { - MessageBox.Show($"保存点位{positionIndex + 1}图像失败: " + ex.Message); - } - return null; + return cameraManager.SaveImageToPositionFolder(positionIndex, currentCycle, cycleStartTime); } - //private void UpdateExcelFile() - //{ - // try - // { - // ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // 设置EPPlus许可证 - - // FileInfo file = new FileInfo(xlsFilePath); - // using (ExcelPackage package = new ExcelPackage(file)) - // { - // ExcelWorksheet worksheet; - - // if (package.Workbook.Worksheets.Count == 0) - // { - // // 创建新的工作表 - // worksheet = package.Workbook.Worksheets.Add("检测结果"); - - // // 设置表头 - // worksheet.Cells[1, 1].Value = "循环次数"; - // worksheet.Cells[1, 2].Value = "pos1_width"; - // worksheet.Cells[1, 3].Value = "pos1_height"; - // worksheet.Cells[1, 4].Value = "pos2_width"; - // worksheet.Cells[1, 5].Value = "pos2_height"; - // worksheet.Cells[1, 6].Value = "pos3_width"; - // worksheet.Cells[1, 7].Value = "pos3_height"; - // worksheet.Cells[1, 8].Value = "pos4_width"; - // worksheet.Cells[1, 9].Value = "pos4_height"; - // } - // else - // { - // worksheet = package.Workbook.Worksheets[0]; - // } - // // 添加数据行 - // int row = worksheet.Dimension?.Rows + 1 ?? 2; - // float[] lastCycleData = detectionData[detectionData.Count - 1]; - - // worksheet.Cells[row, 1].Value = currentCycle; - // for (int i = 0; i < 8 && i < lastCycleData.Length; i++) - // { - // worksheet.Cells[row, i + 2].Value = lastCycleData[i]; - // } - // package.Save(); - // } - // } - // catch (Exception ex) - // { - // MessageBox.Show("更新Excel文件失败: " + ex.Message); - // } - //} private void StopCycle() { isCycleRunning = false; @@ -1693,5 +1294,50 @@ namespace HitBotCSharpDemo if (checkBox3.Checked) selectedPositions.Add(2); // 点位3 if (checkBox4.Checked) selectedPositions.Add(3); // 点位4 } + + private void button3_Click_1(object sender, EventArgs e) + { + tempControl.ToggleSerialPort(button3, comboBox1); + } + + private void tabPage1_Click(object sender, EventArgs e) + { + + } + private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) + { + tempControl.OnComboBoxSelectedIndexChanged(comboBox1, button3); + } + + private void Form1_FormClosing(object sender, FormClosingEventArgs e) + { + tempControl.OnFormClosing(); + } + + private void groupBox1_Enter(object sender, EventArgs e) + { + + } + + private void label6_Click(object sender, EventArgs e) + { + + } + + private void textBox2_TextChanged(object sender, EventArgs e) + { + + } + + private void groupBox1_Enter_1(object sender, EventArgs e) + { + + } + + private void label4_Click(object sender, EventArgs e) + { + + } + } } diff --git a/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.exe b/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.exe index 66af9e5..a7a4cd8 100644 Binary files a/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.exe and b/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.exe differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.pdb b/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.pdb index 5274b67..777b9cc 100644 Binary files a/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.pdb and b/HitBotCSharpDemo/bin/x64/Debug/HitBotCSharpDemo.pdb differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_253_2025-06-12.hilog b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_253_2025-06-12.hilog new file mode 100644 index 0000000..2ec75e2 --- /dev/null +++ b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_253_2025-06-12.hilog @@ -0,0 +1,18 @@ +2025-06-12 18:50:26.130 ROBOT_ERROR_CODE = 1101 +2025-06-12 18:50:26.134 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 0 0 0 0 0 0 diff --git a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-12.hilog b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-12.hilog index d3539f2..29c10a5 100644 --- a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-12.hilog +++ b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-12.hilog @@ -2014,3 +2014,410 @@ 2025-06-12 17:34:53.150 trail_number1.998897 2025-06-12 17:34:53.150 tcp_distance 199.889740 2025-06-12 17:34:53.151 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 17:40:27.016 SDK_VERSION_V2.0.0.29_Release +2025-06-12 17:40:27.016 robot connected +2025-06-12 17:40:27.016 26 +2025-06-12 17:40:27.018 current generation=26 +2025-06-12 17:40:27.520 0x1a +2025-06-12 17:40:28.405 initial joint2 4444931 +2025-06-12 17:40:28.405 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-12 17:40:28.405 robot WritePID +2025-06-12 17:40:28.712 initial joint1 -1269935 +2025-06-12 17:40:28.757 initial joint2 4444932 +2025-06-12 17:40:28.805 initial joint3 -12991 +2025-06-12 17:40:28.850 initial joint4 -25056187 +2025-06-12 17:40:28.866 initial joint1 -1269935 +2025-06-12 17:40:28.911 initial joint2 4444933 +2025-06-12 17:40:28.958 initial joint3 -12991 +2025-06-12 17:40:29.004 initial joint4 -25056187 +2025-06-12 17:40:29.020 initial joint1 -1269935 +2025-06-12 17:40:29.067 initial joint2 4444934 +2025-06-12 17:40:29.115 initial joint3 -12991 +2025-06-12 17:40:29.161 initial joint4 -25056188 +2025-06-12 17:40:31.399 initial_thread initialized +2025-06-12 17:40:31.399 servo enable +2025-06-12 17:40:31.400 brake open +2025-06-12 17:40:31.400 set_brake_state 0 1 +2025-06-12 17:40:31.614 robot initialized +2025-06-12 17:40:32.172 get_scara_param -87.199501 152.604797 -4.460100 -1027.919800 +2025-06-12 17:40:32.172 get_scara_real_coor -87.199501 152.604706 -4.460400 -1027.919922 +2025-06-12 17:40:32.172 λɢ +2025-06-12 17:40:32.173 position -1269934.750000 4444937.000000 -12990.983398 -25056188.000000 -1192152.375000 4246483.500000 -39104.808594 -25018550.000000 +2025-06-12 17:40:32.173 speed 5340.891602 6813.359863 8965.470703 1550.637817 +2025-06-12 17:40:32.173 set_first_position_after_initial +2025-06-12 17:40:32.173 movej_old start_pos: -87.199501 152.604797 -4.460100 -1027.919800 end_pos: -87.199501 152.604797 -4.460100 -1027.919800 org_sp 10.000000 end_sp 10.000000 +2025-06-12 17:40:32.481 J3 Belt Meilage=40.911091km +2025-06-12 17:41:24.274 30 30 30 30 +2025-06-12 17:41:24.275 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:41:24.276 goal_angle -44.911705 98.661697 +2025-06-12 17:41:24.276 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:41:24.276 z1 -4.460100 z2 -75.466103 +2025-06-12 17:41:24.276 angle1_1 -87.199501 angle2_1 152.604797 z1 -4.460100 r1 -1027.919800 +2025-06-12 17:41:24.277 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:41:24.277 speed 100.000000 +2025-06-12 17:41:24.277 tcp_distance 200.024445 +2025-06-12 17:41:24.277 new_end_speed 100.000000 j1_acc_t 1.000122 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 46.246586 +2025-06-12 17:41:24.277 new_end_speed 100.000000 j2_acc_t 1.000122 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 58.993004 +2025-06-12 17:41:24.277 new_end_speed 100.000000 j3_acc_t 1.000122 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 77.653259 +2025-06-12 17:41:24.278 new_end_speed 100.000000 j4_acc_t 1.000122 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 24.276962 +2025-06-12 17:41:24.278 end_speed 100.000000 +2025-06-12 17:41:24.278 trail_number2.000244 +2025-06-12 17:41:24.278 tcp_distance 200.024445 +2025-06-12 17:41:24.279 angle1_1 = -87.199501 angle2_1 = 152.604797 z1 = -4.460100 r1 = -1027.919800 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:41:59.083 30 30 30 30 +2025-06-12 17:41:59.083 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-12 17:41:59.083 goal_angle -87.199585 152.604431 +2025-06-12 17:41:59.085 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-12 17:41:59.085 z1 -75.466103 z2 -4.457100 +2025-06-12 17:41:59.086 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:41:59.086 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-12 17:41:59.086 speed 100.000000 +2025-06-12 17:41:59.086 tcp_distance 199.889740 +2025-06-12 17:41:59.086 new_end_speed 100.000000 j1_acc_t 0.999449 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 46.277863 +2025-06-12 17:41:59.087 new_end_speed 100.000000 j2_acc_t 0.999449 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 59.032387 +2025-06-12 17:41:59.087 new_end_speed 100.000000 j3_acc_t 0.999449 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 77.708908 +2025-06-12 17:41:59.087 new_end_speed 100.000000 j4_acc_t 0.999449 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 24.293588 +2025-06-12 17:41:59.087 end_speed 100.000000 +2025-06-12 17:41:59.087 trail_number1.998897 +2025-06-12 17:41:59.088 tcp_distance 199.889740 +2025-06-12 17:41:59.088 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 17:42:05.453 30 30 30 30 +2025-06-12 17:42:05.453 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:42:05.453 goal_angle -67.226128 86.401024 +2025-06-12 17:42:05.453 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:42:05.453 z1 -4.457100 z2 -75.466103 +2025-06-12 17:42:05.454 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-12 17:42:05.454 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:42:05.454 speed 100.000000 +2025-06-12 17:42:05.454 tcp_distance 218.567566 +2025-06-12 17:42:05.454 new_end_speed 100.000000 j1_acc_t 1.092838 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 19.990139 +2025-06-12 17:42:05.454 new_end_speed 100.000000 j2_acc_t 1.092838 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 66.258698 +2025-06-12 17:42:05.455 new_end_speed 100.000000 j3_acc_t 1.092838 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 71.068306 +2025-06-12 17:42:05.455 new_end_speed 100.000000 j4_acc_t 1.092838 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 22.217565 +2025-06-12 17:42:05.455 end_speed 100.000000 +2025-06-12 17:42:05.455 trail_number2.185676 +2025-06-12 17:42:05.455 tcp_distance 218.567566 +2025-06-12 17:42:05.456 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:43:12.639 30 30 30 30 +2025-06-12 17:43:12.640 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:43:12.640 goal_angle -44.911705 98.661697 +2025-06-12 17:43:12.640 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:43:12.640 z1 -75.466103 z2 -75.466103 +2025-06-12 17:43:12.640 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:43:12.642 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:43:12.642 speed 100.000000 +2025-06-12 17:43:12.643 tcp_distance 144.069748 +2025-06-12 17:43:12.643 new_end_speed 100.000000 j1_acc_t 0.720349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.881371 +2025-06-12 17:43:12.643 new_end_speed 100.000000 j2_acc_t 0.720349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.616140 +2025-06-12 17:43:12.643 new_end_speed 100.000000 j3_acc_t 0.720349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:43:12.643 new_end_speed 100.000000 j4_acc_t 0.720349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:43:12.643 end_speed 100.000000 +2025-06-12 17:43:12.644 trail_number1.440697 +2025-06-12 17:43:12.644 tcp_distance 144.069748 +2025-06-12 17:43:12.644 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:44:19.272 30 30 30 30 +2025-06-12 17:44:19.273 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:44:19.273 goal_angle -67.226128 86.401024 +2025-06-12 17:44:19.275 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:44:19.275 z1 -75.466103 z2 -75.466103 +2025-06-12 17:44:19.275 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:44:19.275 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:44:19.276 speed 100.000000 +2025-06-12 17:44:19.276 tcp_distance 143.985626 +2025-06-12 17:44:19.276 new_end_speed 100.000000 j1_acc_t 0.719928 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.901131 +2025-06-12 17:44:19.276 new_end_speed 100.000000 j2_acc_t 0.719928 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.626997 +2025-06-12 17:44:19.277 new_end_speed 100.000000 j3_acc_t 0.719928 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:44:19.277 new_end_speed 100.000000 j4_acc_t 0.719928 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:44:19.277 end_speed 100.000000 +2025-06-12 17:44:19.278 trail_number1.439856 +2025-06-12 17:44:19.278 tcp_distance 143.985626 +2025-06-12 17:44:19.278 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:45:25.722 30 30 30 30 +2025-06-12 17:45:25.723 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:45:25.723 goal_angle -44.911705 98.661697 +2025-06-12 17:45:25.723 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:45:25.724 z1 -75.466103 z2 -75.466103 +2025-06-12 17:45:25.724 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:45:25.724 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:45:25.724 speed 100.000000 +2025-06-12 17:45:25.724 tcp_distance 144.069748 +2025-06-12 17:45:25.725 new_end_speed 100.000000 j1_acc_t 0.720349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.881371 +2025-06-12 17:45:25.725 new_end_speed 100.000000 j2_acc_t 0.720349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.616140 +2025-06-12 17:45:25.725 new_end_speed 100.000000 j3_acc_t 0.720349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:45:25.725 new_end_speed 100.000000 j4_acc_t 0.720349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:45:25.725 end_speed 100.000000 +2025-06-12 17:45:25.726 trail_number1.440697 +2025-06-12 17:45:25.726 tcp_distance 144.069748 +2025-06-12 17:45:25.726 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:46:32.240 30 30 30 30 +2025-06-12 17:46:32.241 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:46:32.241 goal_angle -67.226128 86.401024 +2025-06-12 17:46:32.241 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:46:32.241 z1 -75.466103 z2 -75.466103 +2025-06-12 17:46:32.242 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:46:32.242 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:46:32.242 speed 100.000000 +2025-06-12 17:46:32.242 tcp_distance 143.985626 +2025-06-12 17:46:32.243 new_end_speed 100.000000 j1_acc_t 0.719928 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.901131 +2025-06-12 17:46:32.243 new_end_speed 100.000000 j2_acc_t 0.719928 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.626997 +2025-06-12 17:46:32.243 new_end_speed 100.000000 j3_acc_t 0.719928 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:46:32.243 new_end_speed 100.000000 j4_acc_t 0.719928 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:46:32.244 end_speed 100.000000 +2025-06-12 17:46:32.244 trail_number1.439856 +2025-06-12 17:46:32.244 tcp_distance 143.985626 +2025-06-12 17:46:32.245 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:47:38.625 30 30 30 30 +2025-06-12 17:47:38.625 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:47:38.626 goal_angle -44.911705 98.661697 +2025-06-12 17:47:38.626 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:47:38.626 z1 -75.466103 z2 -75.466103 +2025-06-12 17:47:38.626 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:47:38.627 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:47:38.627 speed 100.000000 +2025-06-12 17:47:38.627 tcp_distance 144.069748 +2025-06-12 17:47:38.627 new_end_speed 100.000000 j1_acc_t 0.720349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.881371 +2025-06-12 17:47:38.628 new_end_speed 100.000000 j2_acc_t 0.720349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.616140 +2025-06-12 17:47:38.628 new_end_speed 100.000000 j3_acc_t 0.720349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:47:38.628 new_end_speed 100.000000 j4_acc_t 0.720349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:47:38.628 end_speed 100.000000 +2025-06-12 17:47:38.629 trail_number1.440697 +2025-06-12 17:47:38.629 tcp_distance 144.069748 +2025-06-12 17:47:38.630 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:48:05.961 30 30 30 30 +2025-06-12 17:48:05.961 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-12 17:48:05.962 goal_angle -87.199585 152.604431 +2025-06-12 17:48:05.962 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-12 17:48:05.962 z1 -75.466103 z2 -4.457100 +2025-06-12 17:48:05.962 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:48:05.962 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-12 17:48:05.963 speed 100.000000 +2025-06-12 17:48:05.963 tcp_distance 199.889740 +2025-06-12 17:48:05.963 new_end_speed 100.000000 j1_acc_t 0.999449 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 46.277863 +2025-06-12 17:48:05.963 new_end_speed 100.000000 j2_acc_t 0.999449 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 59.032387 +2025-06-12 17:48:05.964 new_end_speed 100.000000 j3_acc_t 0.999449 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 77.708908 +2025-06-12 17:48:05.964 new_end_speed 100.000000 j4_acc_t 0.999449 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 24.293588 +2025-06-12 17:48:05.964 end_speed 100.000000 +2025-06-12 17:48:05.964 trail_number1.998897 +2025-06-12 17:48:05.964 tcp_distance 199.889740 +2025-06-12 17:48:05.965 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 17:48:30.433 30 30 30 30 +2025-06-12 17:48:30.433 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:48:30.434 goal_angle -67.226128 86.401024 +2025-06-12 17:48:30.434 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:48:30.434 z1 -4.457100 z2 -75.466103 +2025-06-12 17:48:30.434 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-12 17:48:30.434 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:48:30.435 speed 100.000000 +2025-06-12 17:48:30.435 tcp_distance 218.567566 +2025-06-12 17:48:30.435 new_end_speed 100.000000 j1_acc_t 1.092838 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 19.990139 +2025-06-12 17:48:30.435 new_end_speed 100.000000 j2_acc_t 1.092838 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 66.258698 +2025-06-12 17:48:30.435 new_end_speed 100.000000 j3_acc_t 1.092838 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 71.068306 +2025-06-12 17:48:30.436 new_end_speed 100.000000 j4_acc_t 1.092838 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 22.217565 +2025-06-12 17:48:30.436 end_speed 100.000000 +2025-06-12 17:48:30.436 trail_number2.185676 +2025-06-12 17:48:30.436 tcp_distance 218.567566 +2025-06-12 17:48:30.437 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:49:37.652 30 30 30 30 +2025-06-12 17:49:37.653 new_movej_xyz_lr 274.065002 149.383698 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:49:37.653 goal_angle -11.002804 84.112190 +2025-06-12 17:49:37.653 new_movej_angle -11.002804 84.112190 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:49:37.654 z1 -75.466103 z2 -75.466103 +2025-06-12 17:49:37.655 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:49:37.655 angle1_2 -11.002804 angle2_2 84.112190 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:49:37.655 speed 100.000000 +2025-06-12 17:49:37.655 tcp_distance 296.269745 +2025-06-12 17:49:37.655 new_end_speed 100.000000 j1_acc_t 1.481349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 41.512333 +2025-06-12 17:49:37.656 new_end_speed 100.000000 j2_acc_t 1.481349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 1.689954 +2025-06-12 17:49:37.656 new_end_speed 100.000000 j3_acc_t 1.481349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:49:37.656 new_end_speed 100.000000 j4_acc_t 1.481349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:49:37.656 end_speed 100.000000 +2025-06-12 17:49:37.656 trail_number2.962698 +2025-06-12 17:49:37.657 tcp_distance 296.269745 +2025-06-12 17:49:37.657 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -11.002804 angle2_2 = 84.112190 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:49:54.895 30 30 30 30 +2025-06-12 17:49:54.895 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-12 17:49:54.897 goal_angle -87.199585 152.604431 +2025-06-12 17:49:54.897 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-12 17:49:54.897 z1 -75.466103 z2 -4.457100 +2025-06-12 17:49:54.897 angle1_1 -11.002804 angle2_1 84.112190 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:49:54.898 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-12 17:49:54.898 speed 100.000000 +2025-06-12 17:49:54.898 tcp_distance 288.737366 +2025-06-12 17:49:54.898 new_end_speed 100.000000 j1_acc_t 1.443687 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 57.727364 +2025-06-12 17:49:54.899 new_end_speed 100.000000 j2_acc_t 1.443687 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 51.890335 +2025-06-12 17:49:54.899 new_end_speed 100.000000 j3_acc_t 1.443687 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 53.797054 +2025-06-12 17:49:54.899 new_end_speed 100.000000 j4_acc_t 1.443687 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 16.818187 +2025-06-12 17:49:54.899 end_speed 100.000000 +2025-06-12 17:49:54.899 trail_number2.887374 +2025-06-12 17:49:54.900 tcp_distance 288.737366 +2025-06-12 17:49:54.901 angle1_1 = -11.002804 angle2_1 = 84.112190 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 17:52:09.217 SDK_VERSION_V2.0.0.29_Release +2025-06-12 17:52:09.217 robot connected +2025-06-12 17:52:09.217 26 +2025-06-12 17:52:09.217 current generation=26 +2025-06-12 17:52:09.726 0x1a +2025-06-12 17:52:10.624 initial joint2 4444931 +2025-06-12 17:52:10.624 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-12 17:52:10.624 robot WritePID +2025-06-12 17:52:10.935 initial joint1 -1269935 +2025-06-12 17:52:10.983 initial joint2 4444932 +2025-06-12 17:52:11.029 initial joint3 -12993 +2025-06-12 17:52:11.090 initial joint4 -25056187 +2025-06-12 17:52:11.121 initial joint1 -1269935 +2025-06-12 17:52:11.168 initial joint2 4444932 +2025-06-12 17:52:11.215 initial joint3 -12993 +2025-06-12 17:52:11.262 initial joint4 -25056188 +2025-06-12 17:52:11.277 initial joint1 -1269935 +2025-06-12 17:52:11.322 initial joint2 4444933 +2025-06-12 17:52:11.368 initial joint3 -12993 +2025-06-12 17:52:11.413 initial joint4 -25056189 +2025-06-12 17:52:13.557 initial_thread initialized +2025-06-12 17:52:13.557 servo enable +2025-06-12 17:52:13.557 brake open +2025-06-12 17:52:13.557 set_brake_state 0 1 +2025-06-12 17:52:13.761 robot initialized +2025-06-12 17:52:14.332 get_scara_param -87.199501 152.604797 -4.461100 -1027.919922 +2025-06-12 17:52:14.332 get_scara_real_coor -87.199501 152.604706 -4.461100 -1027.920044 +2025-06-12 17:52:14.333 λɢ +2025-06-12 17:52:14.333 position -1269934.750000 4444937.000000 -12993.895508 -25056190.000000 -160242.156250 2449945.250000 -219810.953125 -25369358.000000 +2025-06-12 17:52:14.333 speed 76196.546875 68492.601563 71005.007813 12902.124023 +2025-06-12 17:52:14.333 set_first_position_after_initial +2025-06-12 17:52:14.334 movej_old start_pos: -87.199501 152.604797 -4.461100 -1027.919922 end_pos: -87.199501 152.604797 -4.461100 -1027.919922 org_sp 10.000000 end_sp 10.000000 +2025-06-12 17:52:14.623 J3 Belt Meilage=40.911598km +2025-06-12 17:52:23.059 30 30 30 30 +2025-06-12 17:52:23.059 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:52:23.059 goal_angle -63.500324 35.083988 +2025-06-12 17:52:23.061 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:52:23.061 z1 -4.461100 z2 -75.466103 +2025-06-12 17:52:23.061 angle1_1 -87.199501 angle2_1 152.604797 z1 -4.461100 r1 -1027.919922 +2025-06-12 17:52:23.061 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:52:23.061 speed 100.000000 +2025-06-12 17:52:23.062 tcp_distance 347.515656 +2025-06-12 17:52:23.062 new_end_speed 100.000000 j1_acc_t 1.737578 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.917871 +2025-06-12 17:52:23.062 new_end_speed 100.000000 j2_acc_t 1.737578 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.975578 +2025-06-12 17:52:23.062 new_end_speed 100.000000 j3_acc_t 1.737578 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.695370 +2025-06-12 17:52:23.062 new_end_speed 100.000000 j4_acc_t 1.737578 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.973507 +2025-06-12 17:52:23.062 end_speed 100.000000 +2025-06-12 17:52:23.063 trail_number3.475157 +2025-06-12 17:52:23.063 tcp_distance 347.515656 +2025-06-12 17:52:23.063 angle1_1 = -87.199501 angle2_1 = 152.604797 z1 = -4.461100 r1 = -1027.919922 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:53:03.721 30 30 30 30 +2025-06-12 17:53:03.721 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-12 17:53:03.721 goal_angle -87.199585 152.604431 +2025-06-12 17:53:03.722 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-12 17:53:03.723 z1 -75.466103 z2 -4.457100 +2025-06-12 17:53:03.723 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:53:03.723 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-12 17:53:03.723 speed 100.000000 +2025-06-12 17:53:03.723 tcp_distance 346.692505 +2025-06-12 17:53:03.724 new_end_speed 100.000000 j1_acc_t 1.733463 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.953341 +2025-06-12 17:53:03.724 new_end_speed 100.000000 j2_acc_t 1.733463 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 74.150970 +2025-06-12 17:53:03.724 new_end_speed 100.000000 j3_acc_t 1.733463 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.804005 +2025-06-12 17:53:03.724 new_end_speed 100.000000 j4_acc_t 1.733463 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 14.006761 +2025-06-12 17:53:03.724 end_speed 100.000000 +2025-06-12 17:53:03.724 trail_number3.466925 +2025-06-12 17:53:03.724 tcp_distance 346.692505 +2025-06-12 17:53:03.725 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 17:53:08.981 30 30 30 30 +2025-06-12 17:53:08.981 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:53:08.982 goal_angle -63.500324 35.083988 +2025-06-12 17:53:08.982 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:53:08.982 z1 -4.457100 z2 -75.466103 +2025-06-12 17:53:08.982 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-12 17:53:08.982 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:53:08.983 speed 100.000000 +2025-06-12 17:53:08.983 tcp_distance 347.514679 +2025-06-12 17:53:08.983 new_end_speed 100.000000 j1_acc_t 1.737573 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.917970 +2025-06-12 17:53:08.983 new_end_speed 100.000000 j2_acc_t 1.737573 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.975578 +2025-06-12 17:53:08.983 new_end_speed 100.000000 j3_acc_t 1.737573 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.698025 +2025-06-12 17:53:08.983 new_end_speed 100.000000 j4_acc_t 1.737573 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.973623 +2025-06-12 17:53:08.984 end_speed 100.000000 +2025-06-12 17:53:08.984 trail_number3.475147 +2025-06-12 17:53:08.984 tcp_distance 347.514679 +2025-06-12 17:53:08.985 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:54:17.439 30 30 30 30 +2025-06-12 17:54:17.440 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:54:17.440 goal_angle -67.226128 86.401024 +2025-06-12 17:54:17.440 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:54:17.440 z1 -75.466103 z2 -75.466103 +2025-06-12 17:54:17.440 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:54:17.441 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:54:17.441 speed 100.000000 +2025-06-12 17:54:17.441 tcp_distance 158.906982 +2025-06-12 17:54:17.441 new_end_speed 100.000000 j1_acc_t 0.794535 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 5.128908 +2025-06-12 17:54:17.441 new_end_speed 100.000000 j2_acc_t 0.794535 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 70.642578 +2025-06-12 17:54:17.442 new_end_speed 100.000000 j3_acc_t 0.794535 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:54:17.442 new_end_speed 100.000000 j4_acc_t 0.794535 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:54:17.442 end_speed 100.000000 +2025-06-12 17:54:17.442 trail_number1.589070 +2025-06-12 17:54:17.442 tcp_distance 158.906982 +2025-06-12 17:54:17.443 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:55:23.941 30 30 30 30 +2025-06-12 17:55:23.942 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:55:23.942 goal_angle -44.911705 98.661697 +2025-06-12 17:55:23.942 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:55:23.942 z1 -75.466103 z2 -75.466103 +2025-06-12 17:55:23.942 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:55:23.943 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:55:23.943 speed 100.000000 +2025-06-12 17:55:23.943 tcp_distance 144.069748 +2025-06-12 17:55:23.943 new_end_speed 100.000000 j1_acc_t 0.720349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.881371 +2025-06-12 17:55:23.943 new_end_speed 100.000000 j2_acc_t 0.720349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.616140 +2025-06-12 17:55:23.944 new_end_speed 100.000000 j3_acc_t 0.720349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:55:23.944 new_end_speed 100.000000 j4_acc_t 0.720349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:55:23.944 end_speed 100.000000 +2025-06-12 17:55:23.944 trail_number1.440697 +2025-06-12 17:55:23.945 tcp_distance 144.069748 +2025-06-12 17:55:23.945 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:56:30.348 30 30 30 30 +2025-06-12 17:56:30.349 new_movej_xyz_lr 274.065002 149.383698 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-12 17:56:30.349 goal_angle -11.002804 84.112190 +2025-06-12 17:56:30.349 new_movej_angle -11.002804 84.112190 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-12 17:56:30.349 z1 -75.466103 z2 -75.466103 +2025-06-12 17:56:30.349 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:56:30.350 angle1_2 -11.002804 angle2_2 84.112190 z2 -75.466103 r2 -1005.721008 +2025-06-12 17:56:30.350 speed 100.000000 +2025-06-12 17:56:30.350 tcp_distance 144.322098 +2025-06-12 17:56:30.350 new_end_speed 100.000000 j1_acc_t 0.721610 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 51.395920 +2025-06-12 17:56:30.350 new_end_speed 100.000000 j2_acc_t 0.721610 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.052773 +2025-06-12 17:56:30.350 new_end_speed 100.000000 j3_acc_t 0.721610 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-12 17:56:30.350 new_end_speed 100.000000 j4_acc_t 0.721610 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-12 17:56:30.351 end_speed 100.000000 +2025-06-12 17:56:30.351 trail_number1.443221 +2025-06-12 17:56:30.351 tcp_distance 144.322098 +2025-06-12 17:56:30.351 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -11.002804 angle2_2 = 84.112190 z2 = -75.466103 r2 = -1005.721008 +2025-06-12 17:57:16.229 30 30 30 30 +2025-06-12 17:57:16.229 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-12 17:57:16.230 goal_angle -87.199585 152.604431 +2025-06-12 17:57:16.230 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-12 17:57:16.230 z1 -75.466103 z2 -4.457100 +2025-06-12 17:57:16.230 angle1_1 -11.002804 angle2_1 84.112190 z1 -75.466103 r1 -1005.721008 +2025-06-12 17:57:16.231 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-12 17:57:16.231 speed 100.000000 +2025-06-12 17:57:16.231 tcp_distance 288.737366 +2025-06-12 17:57:16.231 new_end_speed 100.000000 j1_acc_t 1.443687 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 57.727364 +2025-06-12 17:57:16.231 new_end_speed 100.000000 j2_acc_t 1.443687 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 51.890335 +2025-06-12 17:57:16.231 new_end_speed 100.000000 j3_acc_t 1.443687 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 53.797054 +2025-06-12 17:57:16.232 new_end_speed 100.000000 j4_acc_t 1.443687 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 16.818187 +2025-06-12 17:57:16.232 end_speed 100.000000 +2025-06-12 17:57:16.232 trail_number2.887374 +2025-06-12 17:57:16.232 tcp_distance 288.737366 +2025-06-12 17:57:16.233 angle1_1 = -11.002804 angle2_1 = 84.112190 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-12 18:50:28.157 ROBOT_ERROR_CODE = 1001 +2025-06-12 18:50:28.158 +0 : 9999 9999 9999 9999 10000 0 +1 : 9999 9999 9999 9999 10000 0 +2 : 9999 9999 9999 9999 10000 0 +3 : 9999 9999 9999 9999 10000 0 +4 : 9999 9999 9999 9999 10000 0 +5 : 9999 9999 9999 9999 10000 0 +6 : 9999 9999 9999 9999 10000 0 +7 : 9999 9999 9999 9999 10000 0 +8 : 9999 9999 9999 9999 10000 0 +9 : 9999 9999 9999 9999 10000 0 +10 : 9999 9999 9999 9999 10000 0 +11 : 9999 9999 9999 9999 10000 0 +12 : 9999 9999 9999 9999 10000 0 +13 : 9999 9999 9999 9999 10000 0 +14 : 9999 9999 9999 9999 10000 0 +15 : 9999 9999 9999 9999 10000 0 diff --git a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-13.hilog b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-13.hilog new file mode 100644 index 0000000..a9d15ec --- /dev/null +++ b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-13.hilog @@ -0,0 +1,338 @@ +2025-06-13 09:45:56.614 ROBOT_ERROR_CODE = 1004 +2025-06-13 09:45:56.614 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 9999 9999 9999 9999 9999 0 +2025-06-13 09:46:03.052 SDK_VERSION_V2.0.0.29_Release +2025-06-13 09:46:03.052 robot connected +2025-06-13 09:46:03.053 26 +2025-06-13 09:46:03.053 current generation=26 +2025-06-13 09:46:03.618 0x1a +2025-06-13 09:46:04.542 initial joint2 4434858 +2025-06-13 09:46:04.543 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-13 09:46:04.543 robot WritePID +2025-06-13 09:46:04.854 initial joint1 -1265142 +2025-06-13 09:46:04.900 initial joint2 4434858 +2025-06-13 09:46:04.946 initial joint3 -13276 +2025-06-13 09:46:04.992 initial joint4 -25059016 +2025-06-13 09:46:05.008 initial joint1 -1265141 +2025-06-13 09:46:05.054 initial joint2 4434858 +2025-06-13 09:46:05.100 initial joint3 -13276 +2025-06-13 09:46:05.147 initial joint4 -25059016 +2025-06-13 09:46:05.162 initial joint1 -1265156 +2025-06-13 09:46:05.209 initial joint2 4434858 +2025-06-13 09:46:05.270 initial joint3 -13276 +2025-06-13 09:46:05.331 initial joint4 -25059016 +2025-06-13 09:46:07.474 initial_thread initialized +2025-06-13 09:46:07.474 servo enable +2025-06-13 09:46:07.474 brake open +2025-06-13 09:46:07.475 set_brake_state 0 1 +2025-06-13 09:46:07.688 robot initialized +2025-06-13 09:46:08.238 get_scara_param -86.871300 152.258804 -4.557900 -1027.915771 +2025-06-13 09:46:08.239 get_scara_real_coor -86.871300 152.258804 -4.557900 -1027.915771 +2025-06-13 09:46:08.239 λɢ +2025-06-13 09:46:08.240 position -1265155.000000 4434859.000000 -13275.845703 -25059018.000000 0.000000 0.000000 0.000000 0.000000 +2025-06-13 09:46:08.240 speed 86871.296875 152258.796875 4557.899902 1032399.750000 +2025-06-13 09:46:08.240 set_first_position_after_initial +2025-06-13 09:46:08.242 movej_old start_pos: -86.871300 152.258804 -4.557900 -1027.915771 end_pos: -86.871300 152.258804 -4.557900 -1027.915771 org_sp 10.000000 end_sp 10.000000 +2025-06-13 09:46:08.547 J3 Belt Meilage=40.912121km +2025-06-13 09:46:22.800 30 30 30 30 +2025-06-13 09:46:22.802 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 09:46:22.802 goal_angle -63.500324 35.083988 +2025-06-13 09:46:22.803 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 09:46:22.803 z1 -4.557900 z2 -75.466103 +2025-06-13 09:46:22.803 angle1_1 -86.871300 angle2_1 152.258804 z1 -4.557900 r1 -1027.915771 +2025-06-13 09:46:22.804 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-13 09:46:22.804 speed 100.000000 +2025-06-13 09:46:22.804 tcp_distance 346.922180 +2025-06-13 09:46:22.805 new_end_speed 100.000000 j1_acc_t 1.734611 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.736454 +2025-06-13 09:46:22.806 new_end_speed 100.000000 j2_acc_t 1.734611 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.884003 +2025-06-13 09:46:22.806 new_end_speed 100.000000 j3_acc_t 1.734611 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.710819 +2025-06-13 09:46:22.806 new_end_speed 100.000000 j4_acc_t 1.734611 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.994794 +2025-06-13 09:46:22.806 end_speed 100.000000 +2025-06-13 09:46:22.807 trail_number3.469222 +2025-06-13 09:46:22.807 tcp_distance 346.922180 +2025-06-13 09:46:22.808 angle1_1 = -86.871300 angle2_1 = 152.258804 z1 = -4.557900 r1 = -1027.915771 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 09:46:28.000 30 30 30 30 +2025-06-13 09:46:28.000 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-13 09:46:28.001 goal_angle -87.199585 152.604431 +2025-06-13 09:46:28.001 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-13 09:46:28.001 z1 -75.466103 z2 -4.457100 +2025-06-13 09:46:28.001 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-13 09:46:28.001 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-13 09:46:28.002 speed 100.000000 +2025-06-13 09:46:28.002 tcp_distance 346.692505 +2025-06-13 09:46:28.002 new_end_speed 100.000000 j1_acc_t 1.733463 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.953341 +2025-06-13 09:46:28.002 new_end_speed 100.000000 j2_acc_t 1.733463 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 74.150970 +2025-06-13 09:46:28.002 new_end_speed 100.000000 j3_acc_t 1.733463 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.804005 +2025-06-13 09:46:28.003 new_end_speed 100.000000 j4_acc_t 1.733463 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 14.006761 +2025-06-13 09:46:28.003 end_speed 100.000000 +2025-06-13 09:46:28.003 trail_number3.466925 +2025-06-13 09:46:28.003 tcp_distance 346.692505 +2025-06-13 09:46:28.004 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-13 09:50:24.244 30 30 30 30 +2025-06-13 09:50:24.245 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 09:50:24.245 goal_angle -63.500324 35.083988 +2025-06-13 09:50:24.245 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 09:50:24.245 z1 -4.457100 z2 -75.466103 +2025-06-13 09:50:24.245 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-13 09:50:24.246 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-13 09:50:24.246 speed 100.000000 +2025-06-13 09:50:24.246 tcp_distance 347.514679 +2025-06-13 09:50:24.247 new_end_speed 100.000000 j1_acc_t 1.737573 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.917970 +2025-06-13 09:50:24.247 new_end_speed 100.000000 j2_acc_t 1.737573 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.975578 +2025-06-13 09:50:24.247 new_end_speed 100.000000 j3_acc_t 1.737573 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.698025 +2025-06-13 09:50:24.247 new_end_speed 100.000000 j4_acc_t 1.737573 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.973623 +2025-06-13 09:50:24.247 end_speed 100.000000 +2025-06-13 09:50:24.248 trail_number3.475147 +2025-06-13 09:50:24.248 tcp_distance 347.514679 +2025-06-13 09:50:24.248 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 09:51:32.946 30 30 30 30 +2025-06-13 09:51:32.947 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 09:51:32.947 goal_angle -67.226128 86.401024 +2025-06-13 09:51:32.947 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 09:51:32.947 z1 -75.466103 z2 -75.466103 +2025-06-13 09:51:32.947 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-13 09:51:32.948 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-13 09:51:32.948 speed 100.000000 +2025-06-13 09:51:32.948 tcp_distance 158.906982 +2025-06-13 09:51:32.948 new_end_speed 100.000000 j1_acc_t 0.794535 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 5.128908 +2025-06-13 09:51:32.948 new_end_speed 100.000000 j2_acc_t 0.794535 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 70.642578 +2025-06-13 09:51:32.949 new_end_speed 100.000000 j3_acc_t 0.794535 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-13 09:51:32.949 new_end_speed 100.000000 j4_acc_t 0.794535 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-13 09:51:32.949 end_speed 100.000000 +2025-06-13 09:51:32.949 trail_number1.589070 +2025-06-13 09:51:32.949 tcp_distance 158.906982 +2025-06-13 09:51:32.950 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 09:51:47.206 30 30 30 30 +2025-06-13 09:51:47.206 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-13 09:51:47.206 goal_angle -87.199585 152.604431 +2025-06-13 09:51:47.207 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-13 09:51:47.207 z1 -75.466103 z2 -4.457100 +2025-06-13 09:51:47.207 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-13 09:51:47.207 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-13 09:51:47.207 speed 100.000000 +2025-06-13 09:51:47.207 tcp_distance 218.265945 +2025-06-13 09:51:47.208 new_end_speed 100.000000 j1_acc_t 1.091330 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 20.017746 +2025-06-13 09:51:47.208 new_end_speed 100.000000 j2_acc_t 1.091330 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 66.350204 +2025-06-13 09:51:47.208 new_end_speed 100.000000 j3_acc_t 1.091330 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 71.166458 +2025-06-13 09:51:47.208 new_end_speed 100.000000 j4_acc_t 1.091330 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 22.248268 +2025-06-13 09:51:47.208 end_speed 100.000000 +2025-06-13 09:51:47.209 trail_number2.182659 +2025-06-13 09:51:47.209 tcp_distance 218.265945 +2025-06-13 09:51:47.209 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-13 09:52:35.169 SDK_VERSION_V2.0.0.29_Release +2025-06-13 09:52:35.169 robot connected +2025-06-13 09:52:35.169 26 +2025-06-13 09:52:35.170 current generation=26 +2025-06-13 09:52:35.681 0x1a +2025-06-13 09:52:36.555 initial joint2 4444929 +2025-06-13 09:52:36.555 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-13 09:52:36.556 robot WritePID +2025-06-13 09:52:36.864 initial joint1 -1269935 +2025-06-13 09:52:36.911 initial joint2 4444930 +2025-06-13 09:52:36.956 initial joint3 -12994 +2025-06-13 09:52:37.003 initial joint4 -25056189 +2025-06-13 09:52:37.019 initial joint1 -1269935 +2025-06-13 09:52:37.066 initial joint2 4444933 +2025-06-13 09:52:37.114 initial joint3 -12995 +2025-06-13 09:52:37.175 initial joint4 -25056190 +2025-06-13 09:52:37.191 initial joint1 -1269935 +2025-06-13 09:52:37.238 initial joint2 4444935 +2025-06-13 09:52:37.285 initial joint3 -12995 +2025-06-13 09:52:37.332 initial joint4 -25056191 +2025-06-13 09:52:39.492 initial_thread initialized +2025-06-13 09:52:39.492 servo enable +2025-06-13 09:52:39.493 brake open +2025-06-13 09:52:39.493 set_brake_state 0 1 +2025-06-13 09:52:39.693 robot initialized +2025-06-13 09:52:40.253 get_scara_param -87.199501 152.604797 -4.461800 -1027.919922 +2025-06-13 09:52:40.253 get_scara_real_coor -87.199501 152.604797 -4.461800 -1027.920044 +2025-06-13 09:52:40.253 λɢ +2025-06-13 09:52:40.254 position -1269934.750000 4444937.000000 -12995.934570 -25056190.000000 -980521.375000 2526356.500000 -218765.796875 -24043154.000000 +2025-06-13 09:52:40.254 speed 19872.439453 65869.234375 70645.476563 41735.800781 +2025-06-13 09:52:40.254 set_first_position_after_initial +2025-06-13 09:52:40.255 movej_old start_pos: -87.199501 152.604797 -4.461800 -1027.919922 end_pos: -87.199501 152.604797 -4.461800 -1027.919922 org_sp 10.000000 end_sp 10.000000 +2025-06-13 09:52:40.553 J3 Belt Meilage=40.912525km +2025-06-13 10:09:14.293 SDK_VERSION_V2.0.0.29_Release +2025-06-13 10:09:14.294 robot connected +2025-06-13 10:09:14.294 26 +2025-06-13 10:09:14.294 current generation=26 +2025-06-13 10:09:14.801 0x1a +2025-06-13 10:09:15.716 initial joint2 4444939 +2025-06-13 10:09:15.716 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-13 10:09:15.717 robot WritePID +2025-06-13 10:09:16.028 initial joint1 -1269934 +2025-06-13 10:09:16.073 initial joint2 4444943 +2025-06-13 10:09:16.119 initial joint3 -13000 +2025-06-13 10:09:16.164 initial joint4 -25056191 +2025-06-13 10:09:16.196 initial joint1 -1269933 +2025-06-13 10:09:16.244 initial joint2 4444945 +2025-06-13 10:09:16.291 initial joint3 -13000 +2025-06-13 10:09:16.338 initial joint4 -25056195 +2025-06-13 10:09:16.354 initial joint1 -1269933 +2025-06-13 10:09:16.401 initial joint2 4444946 +2025-06-13 10:09:16.462 initial joint3 -13000 +2025-06-13 10:09:16.523 initial joint4 -25056197 +2025-06-13 10:09:18.731 initial_thread initialized +2025-06-13 10:09:18.731 servo enable +2025-06-13 10:09:18.732 brake open +2025-06-13 10:09:18.732 set_brake_state 0 1 +2025-06-13 10:09:18.934 robot initialized +2025-06-13 10:09:19.490 get_scara_param -87.199303 152.605194 -4.463500 -1027.919800 +2025-06-13 10:09:19.490 get_scara_real_coor -87.199303 152.605194 -4.463500 -1027.919800 +2025-06-13 10:09:19.490 λɢ +2025-06-13 10:09:19.490 position -1269931.875000 4444948.500000 -13000.885742 -25056200.000000 -980521.375000 2526356.500000 -218765.796875 -24043154.000000 +2025-06-13 10:09:19.491 speed 19872.242188 65869.632813 70643.773438 41736.210938 +2025-06-13 10:09:19.491 set_first_position_after_initial +2025-06-13 10:09:19.491 movej_old start_pos: -87.199303 152.605194 -4.463500 -1027.919800 end_pos: -87.199303 152.605194 -4.463500 -1027.919800 org_sp 10.000000 end_sp 10.000000 +2025-06-13 10:09:19.783 J3 Belt Meilage=40.912582km +2025-06-13 10:20:44.817 30 30 30 30 +2025-06-13 10:20:44.819 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:20:44.819 goal_angle -63.500324 35.083988 +2025-06-13 10:20:44.819 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:20:44.820 z1 -4.463500 z2 -75.466103 +2025-06-13 10:20:44.820 angle1_1 -87.199303 angle2_1 152.605194 z1 -4.463500 r1 -1027.919800 +2025-06-13 10:20:44.820 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:20:44.821 speed 100.000000 +2025-06-13 10:20:44.821 tcp_distance 347.517059 +2025-06-13 10:20:44.822 new_end_speed 100.000000 j1_acc_t 1.737585 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.917685 +2025-06-13 10:20:44.822 new_end_speed 100.000000 j2_acc_t 1.737585 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.975517 +2025-06-13 10:20:44.823 new_end_speed 100.000000 j3_acc_t 1.737585 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.693676 +2025-06-13 10:20:44.823 new_end_speed 100.000000 j4_acc_t 1.737585 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.973373 +2025-06-13 10:20:44.823 end_speed 100.000000 +2025-06-13 10:20:44.823 trail_number3.475171 +2025-06-13 10:20:44.823 tcp_distance 347.517059 +2025-06-13 10:20:44.823 angle1_1 = -87.199303 angle2_1 = 152.605194 z1 = -4.463500 r1 = -1027.919800 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:21:53.749 30 30 30 30 +2025-06-13 10:21:53.750 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:21:53.750 goal_angle -67.226128 86.401024 +2025-06-13 10:21:53.750 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:21:53.750 z1 -75.466103 z2 -75.466103 +2025-06-13 10:21:53.751 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:21:53.751 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:21:53.751 speed 100.000000 +2025-06-13 10:21:53.751 tcp_distance 158.906982 +2025-06-13 10:21:53.751 new_end_speed 100.000000 j1_acc_t 0.794535 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 5.128908 +2025-06-13 10:21:53.751 new_end_speed 100.000000 j2_acc_t 0.794535 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 70.642578 +2025-06-13 10:21:53.751 new_end_speed 100.000000 j3_acc_t 0.794535 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-13 10:21:53.752 new_end_speed 100.000000 j4_acc_t 0.794535 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-13 10:21:53.752 end_speed 100.000000 +2025-06-13 10:21:53.752 trail_number1.589070 +2025-06-13 10:21:53.753 tcp_distance 158.906982 +2025-06-13 10:21:53.753 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:23:00.752 30 30 30 30 +2025-06-13 10:23:00.752 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:23:00.752 goal_angle -44.911705 98.661697 +2025-06-13 10:23:00.753 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:23:00.753 z1 -75.466103 z2 -75.466103 +2025-06-13 10:23:00.753 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:23:00.753 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:23:00.753 speed 100.000000 +2025-06-13 10:23:00.754 tcp_distance 144.069748 +2025-06-13 10:23:00.754 new_end_speed 100.000000 j1_acc_t 0.720349 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 33.881371 +2025-06-13 10:23:00.754 new_end_speed 100.000000 j2_acc_t 0.720349 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 18.616140 +2025-06-13 10:23:00.754 new_end_speed 100.000000 j3_acc_t 0.720349 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-13 10:23:00.754 new_end_speed 100.000000 j4_acc_t 0.720349 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-13 10:23:00.754 end_speed 100.000000 +2025-06-13 10:23:00.755 trail_number1.440697 +2025-06-13 10:23:00.755 tcp_distance 144.069748 +2025-06-13 10:23:00.755 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:24:07.687 30 30 30 30 +2025-06-13 10:24:07.687 new_movej_xyz_lr 274.065002 149.383698 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:24:07.688 goal_angle -11.002804 84.112190 +2025-06-13 10:24:07.688 new_movej_angle -11.002804 84.112190 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:24:07.688 z1 -75.466103 z2 -75.466103 +2025-06-13 10:24:07.689 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:24:07.689 angle1_2 -11.002804 angle2_2 84.112190 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:24:07.689 speed 100.000000 +2025-06-13 10:24:07.689 tcp_distance 144.322098 +2025-06-13 10:24:07.689 new_end_speed 100.000000 j1_acc_t 0.721610 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 51.395920 +2025-06-13 10:24:07.689 new_end_speed 100.000000 j2_acc_t 0.721610 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.052773 +2025-06-13 10:24:07.689 new_end_speed 100.000000 j3_acc_t 0.721610 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-13 10:24:07.690 new_end_speed 100.000000 j4_acc_t 0.721610 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-13 10:24:07.690 end_speed 100.000000 +2025-06-13 10:24:07.690 trail_number1.443221 +2025-06-13 10:24:07.691 tcp_distance 144.322098 +2025-06-13 10:24:07.691 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -11.002804 angle2_2 = 84.112190 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:25:15.075 30 30 30 30 +2025-06-13 10:25:15.075 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:25:15.075 goal_angle -63.500324 35.083988 +2025-06-13 10:25:15.076 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:25:15.076 z1 -75.466103 z2 -75.466103 +2025-06-13 10:25:15.076 angle1_1 -11.002804 angle2_1 84.112190 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:25:15.076 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:25:15.077 speed 100.000000 +2025-06-13 10:25:15.077 tcp_distance 482.199493 +2025-06-13 10:25:15.077 new_end_speed 100.000000 j1_acc_t 2.410997 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 23.815506 +2025-06-13 10:25:15.077 new_end_speed 100.000000 j2_acc_t 2.410997 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.241650 +2025-06-13 10:25:15.077 new_end_speed 100.000000 j3_acc_t 2.410997 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-13 10:25:15.078 new_end_speed 100.000000 j4_acc_t 2.410997 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-13 10:25:15.078 end_speed 100.000000 +2025-06-13 10:25:15.078 trail_number4.821995 +2025-06-13 10:25:15.078 tcp_distance 482.199493 +2025-06-13 10:25:15.079 angle1_1 = -11.002804 angle2_1 = 84.112190 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:25:25.937 30 30 30 30 +2025-06-13 10:25:25.937 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-13 10:25:25.937 goal_angle -87.199585 152.604431 +2025-06-13 10:25:25.938 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-13 10:25:25.938 z1 -75.466103 z2 -4.457100 +2025-06-13 10:25:25.938 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:25:25.938 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-13 10:25:25.939 speed 100.000000 +2025-06-13 10:25:25.939 tcp_distance 346.692505 +2025-06-13 10:25:25.939 new_end_speed 100.000000 j1_acc_t 1.733463 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.953341 +2025-06-13 10:25:25.939 new_end_speed 100.000000 j2_acc_t 1.733463 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 74.150970 +2025-06-13 10:25:25.939 new_end_speed 100.000000 j3_acc_t 1.733463 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.804005 +2025-06-13 10:25:25.940 new_end_speed 100.000000 j4_acc_t 1.733463 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 14.006761 +2025-06-13 10:25:25.940 end_speed 100.000000 +2025-06-13 10:25:25.940 trail_number3.466925 +2025-06-13 10:25:25.940 tcp_distance 346.692505 +2025-06-13 10:25:25.941 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-13 10:56:01.430 30 30 30 30 +2025-06-13 10:56:01.431 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-13 10:56:01.433 goal_angle -63.500324 35.083988 +2025-06-13 10:56:01.433 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-13 10:56:01.433 z1 -4.457100 z2 -75.466103 +2025-06-13 10:56:01.433 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-13 10:56:01.435 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-13 10:56:01.435 speed 100.000000 +2025-06-13 10:56:01.435 tcp_distance 347.514679 +2025-06-13 10:56:01.435 new_end_speed 100.000000 j1_acc_t 1.737573 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.917970 +2025-06-13 10:56:01.436 new_end_speed 100.000000 j2_acc_t 1.737573 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.975578 +2025-06-13 10:56:01.436 new_end_speed 100.000000 j3_acc_t 1.737573 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.698025 +2025-06-13 10:56:01.436 new_end_speed 100.000000 j4_acc_t 1.737573 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 13.973623 +2025-06-13 10:56:01.436 end_speed 100.000000 +2025-06-13 10:56:01.436 trail_number3.475147 +2025-06-13 10:56:01.436 tcp_distance 347.514679 +2025-06-13 10:56:01.437 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-13 10:56:40.940 30 30 30 30 +2025-06-13 10:56:40.940 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-13 10:56:40.941 goal_angle -87.199585 152.604431 +2025-06-13 10:56:40.942 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-13 10:56:40.942 z1 -75.466103 z2 -4.457100 +2025-06-13 10:56:40.942 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-13 10:56:40.942 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-13 10:56:40.942 speed 100.000000 +2025-06-13 10:56:40.943 tcp_distance 346.692505 +2025-06-13 10:56:40.943 new_end_speed 100.000000 j1_acc_t 1.733463 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.953341 +2025-06-13 10:56:40.943 new_end_speed 100.000000 j2_acc_t 1.733463 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 74.150970 +2025-06-13 10:56:40.943 new_end_speed 100.000000 j3_acc_t 1.733463 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.804005 +2025-06-13 10:56:40.943 new_end_speed 100.000000 j4_acc_t 1.733463 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 14.006761 +2025-06-13 10:56:40.943 end_speed 100.000000 +2025-06-13 10:56:40.944 trail_number3.466925 +2025-06-13 10:56:40.944 tcp_distance 346.692505 +2025-06-13 10:56:40.946 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 diff --git a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-16.hilog b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-16.hilog new file mode 100644 index 0000000..ecd3dbc --- /dev/null +++ b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-16.hilog @@ -0,0 +1,118 @@ +2025-06-16 16:46:43.024 ROBOT_ERROR_CODE = 1004 +2025-06-16 16:46:43.024 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 9999 9999 9999 9999 9999 0 +2025-06-16 16:47:00.542 SDK_VERSION_V2.0.0.29_Release +2025-06-16 16:47:00.542 robot connected +2025-06-16 16:47:00.542 26 +2025-06-16 16:47:00.542 current generation=26 +2025-06-16 16:47:01.125 0x1a +2025-06-16 16:47:01.968 initial joint2 4432239 +2025-06-16 16:47:01.969 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-16 16:47:01.969 robot WritePID +2025-06-16 16:47:02.275 initial joint1 -1248502 +2025-06-16 16:47:02.323 initial joint2 4432240 +2025-06-16 16:47:02.379 initial joint3 -13281 +2025-06-16 16:47:02.423 initial joint4 -25060087 +2025-06-16 16:47:02.440 initial joint1 -1248503 +2025-06-16 16:47:02.492 initial joint2 4432238 +2025-06-16 16:47:02.539 initial joint3 -13281 +2025-06-16 16:47:02.588 initial joint4 -25060089 +2025-06-16 16:47:02.622 initial joint1 -1248502 +2025-06-16 16:47:02.663 initial joint2 4432239 +2025-06-16 16:47:02.706 initial joint3 -13281 +2025-06-16 16:47:02.754 initial joint4 -25060089 +2025-06-16 16:47:04.876 initial_thread initialized +2025-06-16 16:47:04.876 servo enable +2025-06-16 16:47:04.877 brake open +2025-06-16 16:47:04.880 set_brake_state 0 1 +2025-06-16 16:47:05.093 robot initialized +2025-06-16 16:47:05.652 get_scara_param -85.727798 152.168793 -4.559600 -1026.870483 +2025-06-16 16:47:05.652 get_scara_real_coor -85.727898 152.168900 -4.559600 -1026.870483 +2025-06-16 16:47:05.652 λɢ +2025-06-16 16:47:05.654 position -1248501.500000 4432237.500000 -13280.796875 -25060090.000000 0.000000 0.000000 0.000000 0.000000 +2025-06-16 16:47:05.654 speed 85727.796875 152168.796875 4559.600098 1032443.937500 +2025-06-16 16:47:05.654 set_first_position_after_initial +2025-06-16 16:47:05.654 movej_old start_pos: -85.727798 152.168793 -4.559600 -1026.870483 end_pos: -85.727798 152.168701 -4.559600 -1026.870483 org_sp 10.000000 end_sp 0.660932 +2025-06-16 16:47:05.951 J3 Belt Meilage=40.917797km +2025-06-16 16:49:10.728 SDK_VERSION_V2.0.0.29_Release +2025-06-16 16:49:10.728 robot connected +2025-06-16 16:49:10.728 26 +2025-06-16 16:49:10.728 current generation=26 +2025-06-16 16:49:11.237 0x1a +2025-06-16 16:49:12.043 initial joint2 4432242 +2025-06-16 16:49:12.044 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-16 16:49:12.044 robot WritePID +2025-06-16 16:49:12.347 initial joint1 -1248500 +2025-06-16 16:49:12.393 initial joint2 4432242 +2025-06-16 16:49:12.440 initial joint3 -13281 +2025-06-16 16:49:12.485 initial joint4 -25060091 +2025-06-16 16:49:12.501 initial joint1 -1248500 +2025-06-16 16:49:12.548 initial joint2 4432243 +2025-06-16 16:49:12.588 initial joint3 -13281 +2025-06-16 16:49:12.636 initial joint4 -25060092 +2025-06-16 16:49:12.651 initial joint1 -1248500 +2025-06-16 16:49:12.708 initial joint2 4432245 +2025-06-16 16:49:12.755 initial joint3 -13281 +2025-06-16 16:49:12.793 initial joint4 -25060093 +2025-06-16 16:49:14.903 initial_thread initialized +2025-06-16 16:49:14.903 servo enable +2025-06-16 16:49:14.903 brake open +2025-06-16 16:49:14.903 set_brake_state 0 1 +2025-06-16 16:49:15.126 robot initialized +2025-06-16 16:49:15.705 get_scara_param -85.727600 152.169098 -4.559600 -1026.870361 +2025-06-16 16:49:15.705 get_scara_real_coor -85.727699 152.169098 -4.559600 -1026.870483 +2025-06-16 16:49:15.705 λɢ +2025-06-16 16:49:15.706 position -1248498.625000 4432246.000000 -13280.796875 -25060098.000000 0.000000 0.000000 0.000000 0.000000 +2025-06-16 16:49:15.706 speed 85727.593750 152169.093750 4559.600098 1032444.250000 +2025-06-16 16:49:15.706 set_first_position_after_initial +2025-06-16 16:49:15.707 movej_old start_pos: -85.727600 152.169098 -4.559600 -1026.870361 end_pos: -85.727600 152.169098 -4.559600 -1026.870361 org_sp 10.000000 end_sp 10.000000 +2025-06-16 16:49:16.015 J3 Belt Meilage=40.917816km +2025-06-16 16:49:25.932 30 30 30 30 +2025-06-16 16:49:25.934 new_movej_xyz_lr 274.065002 -137.158203 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-16 16:49:25.934 goal_angle -67.226128 86.401024 +2025-06-16 16:49:25.935 new_movej_angle -67.226128 86.401024 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-16 16:49:25.935 z1 -4.559600 z2 -75.466103 +2025-06-16 16:49:25.935 angle1_1 -85.727600 angle2_1 152.169098 z1 -4.559600 r1 -1026.870361 +2025-06-16 16:49:25.935 angle1_2 -67.226128 angle2_2 86.401024 z2 -75.466103 r2 -1005.721008 +2025-06-16 16:49:25.935 speed 100.000000 +2025-06-16 16:49:25.935 tcp_distance 217.840149 +2025-06-16 16:49:25.937 new_end_speed 100.000000 j1_acc_t 1.089201 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 18.578747 +2025-06-16 16:49:25.937 new_end_speed 100.000000 j2_acc_t 1.089201 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 66.042763 +2025-06-16 16:49:25.937 new_end_speed 100.000000 j3_acc_t 1.089201 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 71.202652 +2025-06-16 16:49:25.937 new_end_speed 100.000000 j4_acc_t 1.089201 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 21.237688 +2025-06-16 16:49:25.937 end_speed 100.000000 +2025-06-16 16:49:25.938 trail_number2.178401 +2025-06-16 16:49:25.938 tcp_distance 217.840149 +2025-06-16 16:49:25.938 angle1_1 = -85.727600 angle2_1 = 152.169098 z1 = -4.559600 r1 = -1026.870361 angle1_2 = -67.226128 angle2_2 = 86.401024 z2 = -75.466103 r2 = -1005.721008 +2025-06-16 16:49:37.836 30 30 30 30 +2025-06-16 16:49:37.836 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-16 16:49:37.837 goal_angle -87.199585 152.604431 +2025-06-16 16:49:37.837 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-16 16:49:37.837 z1 -75.466103 z2 -4.457100 +2025-06-16 16:49:37.837 angle1_1 -67.226128 angle2_1 86.401024 z1 -75.466103 r1 -1005.721008 +2025-06-16 16:49:37.837 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-16 16:49:37.837 speed 100.000000 +2025-06-16 16:49:37.837 tcp_distance 218.265945 +2025-06-16 16:49:37.838 new_end_speed 100.000000 j1_acc_t 1.091330 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 20.017746 +2025-06-16 16:49:37.838 new_end_speed 100.000000 j2_acc_t 1.091330 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 66.350204 +2025-06-16 16:49:37.838 new_end_speed 100.000000 j3_acc_t 1.091330 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 71.166458 +2025-06-16 16:49:37.838 new_end_speed 100.000000 j4_acc_t 1.091330 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 22.248268 +2025-06-16 16:49:37.838 end_speed 100.000000 +2025-06-16 16:49:37.838 trail_number2.182659 +2025-06-16 16:49:37.839 tcp_distance 218.265945 +2025-06-16 16:49:37.839 angle1_1 = -67.226128 angle2_1 = 86.401024 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 diff --git a/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-17.hilog b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-17.hilog new file mode 100644 index 0000000..6bc415c --- /dev/null +++ b/HitBotCSharpDemo/bin/x64/Debug/SDK_LOG/id_74_2025-06-17.hilog @@ -0,0 +1,206 @@ +2025-06-17 10:26:55.925 ROBOT_ERROR_CODE = 1004 +2025-06-17 10:26:55.925 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 9999 9999 9999 9999 9999 0 +2025-06-17 14:55:40.251 ROBOT_ERROR_CODE = 1004 +2025-06-17 14:55:40.252 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 9999 9999 9999 9999 9999 0 +2025-06-17 16:14:21.376 ROBOT_ERROR_CODE = 1004 +2025-06-17 16:14:21.377 +0 : 0 0 0 0 0 0 +1 : 0 0 0 0 0 0 +2 : 0 0 0 0 0 0 +3 : 0 0 0 0 0 0 +4 : 0 0 0 0 0 0 +5 : 0 0 0 0 0 0 +6 : 0 0 0 0 0 0 +7 : 0 0 0 0 0 0 +8 : 0 0 0 0 0 0 +9 : 0 0 0 0 0 0 +10 : 0 0 0 0 0 0 +11 : 0 0 0 0 0 0 +12 : 0 0 0 0 0 0 +13 : 0 0 0 0 0 0 +14 : 0 0 0 0 0 0 +15 : 9999 9999 9999 9999 9999 0 +2025-06-17 16:14:29.575 SDK_VERSION_V2.0.0.29_Release +2025-06-17 16:14:29.576 robot connected +2025-06-17 16:14:29.577 26 +2025-06-17 16:14:29.577 current generation=26 +2025-06-17 16:14:30.205 0x1a +2025-06-17 16:14:31.083 initial joint2 4433675 +2025-06-17 16:14:31.084 C:\Users\fusy_\source\repos\HitBotCSharpDemo_x64\HitBotCSharpDemo\HitBotCSharpDemo\bin\x64\Debug\\j4_pid.txt do not exist +2025-06-17 16:14:31.084 robot WritePID +2025-06-17 16:14:31.387 initial joint1 -1267890 +2025-06-17 16:14:31.433 initial joint2 4433677 +2025-06-17 16:14:31.479 initial joint3 -13279 +2025-06-17 16:14:31.525 initial joint4 -25059762 +2025-06-17 16:14:31.541 initial joint1 -1267892 +2025-06-17 16:14:31.588 initial joint2 4433676 +2025-06-17 16:14:31.635 initial joint3 -13279 +2025-06-17 16:14:31.681 initial joint4 -25059761 +2025-06-17 16:14:31.696 initial joint1 -1267900 +2025-06-17 16:14:31.743 initial joint2 4433675 +2025-06-17 16:14:31.789 initial joint3 -13279 +2025-06-17 16:14:31.851 initial joint4 -25059762 +2025-06-17 16:14:34.062 initial_thread initialized +2025-06-17 16:14:34.062 servo enable +2025-06-17 16:14:34.063 brake open +2025-06-17 16:14:34.063 set_brake_state 0 1 +2025-06-17 16:14:34.277 robot initialized +2025-06-17 16:14:34.847 get_scara_param -87.060097 152.218201 -4.558900 -1028.159668 +2025-06-17 16:14:34.848 get_scara_real_coor -87.060097 152.218094 -4.558900 -1028.159668 +2025-06-17 16:14:34.848 λɢ +2025-06-17 16:14:34.848 position -1267904.500000 4433676.500000 -13278.758789 -25059764.000000 0.000000 0.000000 0.000000 0.000000 +2025-06-17 16:14:34.849 speed 87060.093750 152218.203125 4558.899902 1032430.500000 +2025-06-17 16:14:34.849 set_first_position_after_initial +2025-06-17 16:14:34.850 movej_old start_pos: -87.060089 152.218201 -4.558900 -1028.159668 end_pos: -87.059998 152.218201 -4.558900 -1028.159668 org_sp 10.000000 end_sp 0.357694 +2025-06-17 16:14:35.138 J3 Belt Meilage=40.921722km +2025-06-17 16:14:44.004 30 30 30 30 +2025-06-17 16:14:44.005 new_movej_xyz_lr 274.065002 -292.061096 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:14:44.005 goal_angle -63.500324 35.083988 +2025-06-17 16:14:44.006 new_movej_angle -63.500324 35.083988 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:14:44.006 z1 -4.558900 z2 -75.466103 +2025-06-17 16:14:44.006 angle1_1 -87.059998 angle2_1 152.218201 z1 -4.558900 r1 -1028.159668 +2025-06-17 16:14:44.006 angle1_2 -63.500324 angle2_2 35.083988 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:14:44.007 speed 100.000000 +2025-06-17 16:14:44.007 tcp_distance 346.322388 +2025-06-17 16:14:44.007 new_end_speed 100.000000 j1_acc_t 1.731612 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 14.881173 +2025-06-17 16:14:44.008 new_end_speed 100.000000 j2_acc_t 1.731612 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 73.986359 +2025-06-17 16:14:44.008 new_end_speed 100.000000 j3_acc_t 1.731612 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 44.787647 +2025-06-17 16:14:44.008 new_end_speed 100.000000 j4_acc_t 1.731612 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 14.173085 +2025-06-17 16:14:44.008 end_speed 100.000000 +2025-06-17 16:14:44.008 trail_number3.463224 +2025-06-17 16:14:44.009 tcp_distance 346.322388 +2025-06-17 16:14:44.009 angle1_1 = -87.059998 angle2_1 = 152.218201 z1 = -4.558900 r1 = -1028.159668 angle1_2 = -63.500324 angle2_2 = 35.083988 z2 = -75.466103 r2 = -1005.721008 +2025-06-17 16:14:47.994 30 30 30 30 +2025-06-17 16:14:47.994 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:14:47.994 goal_angle -44.911705 98.661697 +2025-06-17 16:14:47.994 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:14:47.994 z1 -75.466103 z2 -75.466103 +2025-06-17 16:14:47.994 angle1_1 -63.500324 angle2_1 35.083988 z1 -75.466103 r1 -1005.721008 +2025-06-17 16:14:47.995 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:14:47.995 speed 100.000000 +2025-06-17 16:14:47.995 tcp_distance 318.237030 +2025-06-17 16:14:47.995 new_end_speed 100.000000 j1_acc_t 1.591185 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 12.777455 +2025-06-17 16:14:47.995 new_end_speed 100.000000 j2_acc_t 1.591185 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 43.702080 +2025-06-17 16:14:47.995 new_end_speed 100.000000 j3_acc_t 1.591185 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-17 16:14:47.995 new_end_speed 100.000000 j4_acc_t 1.591185 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-17 16:14:47.996 end_speed 100.000000 +2025-06-17 16:14:47.996 trail_number3.182370 +2025-06-17 16:14:47.996 tcp_distance 318.237030 +2025-06-17 16:14:47.997 angle1_1 = -63.500324 angle2_1 = 35.083988 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-17 16:14:51.588 30 30 30 30 +2025-06-17 16:14:51.588 new_movej_xyz_lr 274.065002 149.383698 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:14:51.588 goal_angle -11.002804 84.112190 +2025-06-17 16:14:51.589 new_movej_angle -11.002804 84.112190 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:14:51.589 z1 -75.466103 z2 -75.466103 +2025-06-17 16:14:51.589 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-17 16:14:51.589 angle1_2 -11.002804 angle2_2 84.112190 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:14:51.589 speed 100.000000 +2025-06-17 16:14:51.590 tcp_distance 144.322098 +2025-06-17 16:14:51.590 new_end_speed 100.000000 j1_acc_t 0.721610 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 51.395920 +2025-06-17 16:14:51.590 new_end_speed 100.000000 j2_acc_t 0.721610 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.052773 +2025-06-17 16:14:51.590 new_end_speed 100.000000 j3_acc_t 0.721610 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-17 16:14:51.590 new_end_speed 100.000000 j4_acc_t 0.721610 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-17 16:14:51.591 end_speed 100.000000 +2025-06-17 16:14:51.591 trail_number1.443221 +2025-06-17 16:14:51.591 tcp_distance 144.322098 +2025-06-17 16:14:51.592 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -11.002804 angle2_2 = 84.112190 z2 = -75.466103 r2 = -1005.721008 +2025-06-17 16:14:55.998 30 30 30 30 +2025-06-17 16:14:55.998 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:14:55.998 goal_angle -44.911705 98.661697 +2025-06-17 16:14:55.998 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:14:55.998 z1 -75.466103 z2 -75.466103 +2025-06-17 16:14:55.998 angle1_1 -11.002804 angle2_1 84.112190 z1 -75.466103 r1 -1005.721008 +2025-06-17 16:14:55.999 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:14:55.999 speed 100.000000 +2025-06-17 16:14:55.999 tcp_distance 144.406967 +2025-06-17 16:14:55.999 new_end_speed 100.000000 j1_acc_t 0.722035 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 51.365715 +2025-06-17 16:14:56.000 new_end_speed 100.000000 j2_acc_t 0.722035 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.039812 +2025-06-17 16:14:56.000 new_end_speed 100.000000 j3_acc_t 0.722035 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-17 16:14:56.000 new_end_speed 100.000000 j4_acc_t 0.722035 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-17 16:14:56.000 end_speed 100.000000 +2025-06-17 16:14:56.000 trail_number1.444070 +2025-06-17 16:14:56.000 tcp_distance 144.406967 +2025-06-17 16:14:56.001 angle1_1 = -11.002804 angle2_1 = 84.112190 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-17 16:14:58.547 30 30 30 30 +2025-06-17 16:14:58.547 new_movej_xyz_lr 93.989304 -37.882999 -4.457100 -1027.920044 100.000000 0.000000 1 +2025-06-17 16:14:58.547 goal_angle -87.199585 152.604431 +2025-06-17 16:14:58.548 new_movej_angle -87.199585 152.604431 -4.457100 -1027.920044 0.000000 100.000000 +2025-06-17 16:14:58.548 z1 -75.466103 z2 -4.457100 +2025-06-17 16:14:58.548 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-17 16:14:58.548 angle1_2 -87.199585 angle2_2 152.604431 z2 -4.457100 r2 -1027.920044 +2025-06-17 16:14:58.548 speed 100.000000 +2025-06-17 16:14:58.549 tcp_distance 199.889740 +2025-06-17 16:14:58.549 new_end_speed 100.000000 j1_acc_t 0.999449 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 46.277863 +2025-06-17 16:14:58.549 new_end_speed 100.000000 j2_acc_t 0.999449 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 59.032387 +2025-06-17 16:14:58.549 new_end_speed 100.000000 j3_acc_t 0.999449 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 77.708908 +2025-06-17 16:14:58.549 new_end_speed 100.000000 j4_acc_t 0.999449 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 24.293588 +2025-06-17 16:14:58.549 end_speed 100.000000 +2025-06-17 16:14:58.550 trail_number1.998897 +2025-06-17 16:14:58.550 tcp_distance 199.889740 +2025-06-17 16:14:58.550 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -87.199585 angle2_2 = 152.604431 z2 = -4.457100 r2 = -1027.920044 +2025-06-17 16:15:01.023 30 30 30 30 +2025-06-17 16:15:01.023 new_movej_xyz_lr 274.065002 5.965300 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:15:01.023 goal_angle -44.911705 98.661697 +2025-06-17 16:15:01.023 new_movej_angle -44.911705 98.661697 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:15:01.024 z1 -4.457100 z2 -75.466103 +2025-06-17 16:15:01.024 angle1_1 -87.199585 angle2_1 152.604431 z1 -4.457100 r1 -1027.920044 +2025-06-17 16:15:01.024 angle1_2 -44.911705 angle2_2 98.661697 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:15:01.024 speed 100.000000 +2025-06-17 16:15:01.024 tcp_distance 200.024658 +2025-06-17 16:15:01.024 new_end_speed 100.000000 j1_acc_t 1.000123 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 46.246628 +2025-06-17 16:15:01.024 new_end_speed 100.000000 j2_acc_t 1.000123 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 58.992538 +2025-06-17 16:15:01.024 new_end_speed 100.000000 j3_acc_t 1.000123 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 77.656456 +2025-06-17 16:15:01.025 new_end_speed 100.000000 j4_acc_t 1.000123 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 24.277203 +2025-06-17 16:15:01.025 end_speed 100.000000 +2025-06-17 16:15:01.025 trail_number2.000247 +2025-06-17 16:15:01.025 tcp_distance 200.024658 +2025-06-17 16:15:01.025 angle1_1 = -87.199585 angle2_1 = 152.604431 z1 = -4.457100 r1 = -1027.920044 angle1_2 = -44.911705 angle2_2 = 98.661697 z2 = -75.466103 r2 = -1005.721008 +2025-06-17 16:15:05.186 30 30 30 30 +2025-06-17 16:15:05.187 new_movej_xyz_lr 274.065002 149.383698 -75.466103 -1005.721008 100.000000 0.000000 1 +2025-06-17 16:15:05.187 goal_angle -11.002804 84.112190 +2025-06-17 16:15:05.187 new_movej_angle -11.002804 84.112190 -75.466103 -1005.721008 0.000000 100.000000 +2025-06-17 16:15:05.187 z1 -75.466103 z2 -75.466103 +2025-06-17 16:15:05.187 angle1_1 -44.911705 angle2_1 98.661697 z1 -75.466103 r1 -1005.721008 +2025-06-17 16:15:05.187 angle1_2 -11.002804 angle2_2 84.112190 z2 -75.466103 r2 -1005.721008 +2025-06-17 16:15:05.187 speed 100.000000 +2025-06-17 16:15:05.189 tcp_distance 144.322098 +2025-06-17 16:15:05.189 new_end_speed 100.000000 j1_acc_t 0.721610 j1_avg_time 0.000000 j1_max_acc 237.000000 j1_max_sp 51.395920 +2025-06-17 16:15:05.189 new_end_speed 100.000000 j2_acc_t 0.721610 j2_avg_time 0.000000 j2_max_acc 2566.500000 j2_max_sp 22.052773 +2025-06-17 16:15:05.189 new_end_speed 100.000000 j3_acc_t 0.721610 j3_avg_time 0.000000 j3_max_acc 3869.100098 j3_max_sp 0.000000 +2025-06-17 16:15:05.189 new_end_speed 100.000000 j4_acc_t 0.721610 j4_avg_time 0.000000 j4_max_acc 1572.900024 j4_max_sp 0.000000 +2025-06-17 16:15:05.189 end_speed 100.000000 +2025-06-17 16:15:05.190 trail_number1.443221 +2025-06-17 16:15:05.190 tcp_distance 144.322098 +2025-06-17 16:15:05.190 angle1_1 = -44.911705 angle2_1 = 98.661697 z1 = -75.466103 r1 = -1005.721008 angle1_2 = -11.002804 angle2_2 = 84.112190 z2 = -75.466103 r2 = -1005.721008 diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163325.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163325.jpg deleted file mode 100644 index 5cda88d..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163325.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163426.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163426.jpg deleted file mode 100644 index 1bc0a3e..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163426.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163528.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163528.jpg deleted file mode 100644 index 5432917..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163528.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163630.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163630.jpg deleted file mode 100644 index eb68af1..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163630.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163732.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163732.jpg deleted file mode 100644 index 4dee512..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163732.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163822.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163822.jpg deleted file mode 100644 index d6ab1f2..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163822.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163925.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163925.jpg deleted file mode 100644 index 35788b2..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612163925.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164411.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164411.jpg deleted file mode 100644 index 5cb7524..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164411.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164512.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164512.jpg deleted file mode 100644 index cdc2609..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164512.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164753.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164753.jpg deleted file mode 100644 index e6db98e..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164753.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164955.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164955.jpg deleted file mode 100644 index 4bdfb4c..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612164955.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165158.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165158.jpg deleted file mode 100644 index 1ae0d10..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165158.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165403.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165403.jpg deleted file mode 100644 index 2e5713a..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612165403.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612170336.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612170336.jpg deleted file mode 100644 index 74b9803..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612170336.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171033.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171033.jpg deleted file mode 100644 index bfa2440..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171033.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171135.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171135.jpg deleted file mode 100644 index 12508d9..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171135.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171237.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171237.jpg deleted file mode 100644 index 04cc890..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171237.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171347.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171347.jpg deleted file mode 100644 index 49ab390..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171347.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171448.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171448.jpg deleted file mode 100644 index ee4c85f..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171448.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171550.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171550.jpg deleted file mode 100644 index 5d87153..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171550.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171652.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171652.jpg deleted file mode 100644 index 65414b4..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171652.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171754.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171754.jpg deleted file mode 100644 index 993a24e..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171754.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171933.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171933.jpg deleted file mode 100644 index c424f03..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612171933.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612172455.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612172455.jpg deleted file mode 100644 index c9276d6..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612172455.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173416.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173416.jpg deleted file mode 100644 index c726199..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173416.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173440.jpg b/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173440.jpg deleted file mode 100644 index 924340e..0000000 Binary files a/HitBotCSharpDemo/bin/x64/Debug/received_detection_20250612173440.jpg and /dev/null differ diff --git a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.AssemblyReference.cache b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.AssemblyReference.cache index 57ef0d6..fce5aca 100644 Binary files a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.AssemblyReference.cache and b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.AssemblyReference.cache differ diff --git a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.CoreCompileInputs.cache b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.CoreCompileInputs.cache index b8ac810..6f6d7c3 100644 --- a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.CoreCompileInputs.cache +++ b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -d2d0757b578ccf65dbeb538a88f077879bb6f6ea29b9d3d8e25a6e4f8c33ed7d +5c4765cc5751b3038bbbfc77461925fc32c32c7429e0f32c686d1470e388eeb2 diff --git a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.GenerateResource.cache b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.GenerateResource.cache index cb68330..d7c7697 100644 Binary files a/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.GenerateResource.cache and b/HitBotCSharpDemo/obj/x64/Debug/CSharpDemo.csproj.GenerateResource.cache differ diff --git a/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.exe b/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.exe index 66af9e5..a7a4cd8 100644 Binary files a/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.exe and b/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.exe differ diff --git a/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.pdb b/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.pdb index 5274b67..777b9cc 100644 Binary files a/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.pdb and b/HitBotCSharpDemo/obj/x64/Debug/HitBotCSharpDemo.pdb differ diff --git a/HitBotCSharpDemo/tempControl.cs b/HitBotCSharpDemo/tempControl.cs new file mode 100644 index 0000000..cc8d854 --- /dev/null +++ b/HitBotCSharpDemo/tempControl.cs @@ -0,0 +1,270 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO.Ports; +using System.Windows.Forms; + +namespace HitBotCSharpDemo +{ + internal class tempControl + { + private SerialPort serialPort; + private System.Windows.Forms.Timer temperatureTimer; + private string[] temperatureCommands = { + "TC1:TCACTUALTEMP?@0\r", + "TC1:TCACTUALTEMP?@1\r", + "TC1:TCACTUALTEMP?@2\r", + "TC1:TCACTUALTEMP?@3\r" + }; + private Label[] temperatureLabels; + private int currentCommandIndex = 0; + private string receivedData = ""; + public tempControl(Label[] labels) + { + temperatureLabels = labels; + InitializeSerialPort(); + InitializeTemperatureTimer(); + } + public void LoadAvailablePorts(ComboBox comboBox) + { + try + { + comboBox.Items.Clear(); + string[] ports = SerialPort.GetPortNames(); + if (ports.Length > 0) + { + foreach (string port in ports) + { + comboBox.Items.Add(port); + } + // 默认选择第一个串口 + comboBox.SelectedIndex = 0; + } + else + { + MessageBox.Show("系统中没有找到可用的串口!", "提示", + MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + catch (Exception ex) + { + MessageBox.Show($"获取串口列表时发生错误: {ex.Message}", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + public void ToggleSerialPort(Button button, ComboBox comboBox) + { + try + { + if (serialPort.IsOpen) + { + // 串口已打开,执行关闭操作 + temperatureTimer.Stop(); // 停止温度查询定时器 + serialPort.Close(); + UpdateUIStatus(false, button, comboBox); + MessageBox.Show("串口已关闭", "提示", + MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + // 串口未打开,执行打开操作 + if (string.IsNullOrEmpty(serialPort.PortName)) + { + MessageBox.Show("请先选择一个串口!", "提示", + MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + serialPort.Open(); + temperatureTimer.Start(); // 启动温度查询定时器 + UpdateUIStatus(true, button, comboBox); + MessageBox.Show($"串口 {serialPort.PortName} 已成功打开", "提示", + MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + catch (UnauthorizedAccessException) + { + MessageBox.Show("串口访问被拒绝,可能已被其他程序占用!", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (ArgumentException) + { + MessageBox.Show("串口名称无效!", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (InvalidOperationException) + { + MessageBox.Show("串口已经处于打开状态!", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (Exception ex) + { + MessageBox.Show($"操作串口时发生错误: {ex.Message}", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + public void OnComboBoxSelectedIndexChanged(ComboBox comboBox, Button button) + { + if (serialPort != null && serialPort.IsOpen) + { + try + { + temperatureTimer.Stop(); // 停止温度查询定时器 + serialPort.Close(); + UpdateUIStatus(false, button, comboBox); + } + catch (Exception ex) + { + MessageBox.Show($"关闭串口时发生错误: {ex.Message}", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + // 设置新选择的串口名称 + if (comboBox.SelectedItem != null) + { + serialPort.PortName = comboBox.SelectedItem.ToString(); + } + } + public void OnFormClosing() + { + try + { + temperatureTimer?.Stop(); + temperatureTimer?.Dispose(); + if (serialPort != null && serialPort.IsOpen) + { + serialPort.Close(); + } + serialPort?.Dispose(); + } + catch (Exception ex) + { + MessageBox.Show($"关闭串口时发生错误: {ex.Message}", "错误", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void InitializeSerialPort() + { + serialPort = new SerialPort(); + serialPort.BaudRate = 57600; // 波特率 + serialPort.DataBits = 8; // 数据位 + serialPort.StopBits = StopBits.One; // 停止位 + serialPort.Parity = Parity.None; // 奇偶校验 + // 可选:添加数据接收事件处理 + serialPort.DataReceived += SerialPort_DataReceived; + } + private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) + { + try + { + string newData = serialPort.ReadExisting(); + receivedData += newData; + // 检查是否接收到完整的数据(以\r结尾) + if (receivedData.Contains("\r")) + { + string[] messages = receivedData.Split('\r'); + for (int i = 0; i < messages.Length - 1; i++) + { + if (!string.IsNullOrEmpty(messages[i])) + { + ProcessTemperatureData(messages[i]); + } + } + // 保留最后一部分未完整的数据 + receivedData = messages[messages.Length - 1]; + } + } + catch (Exception ex) + { + Console.WriteLine($"处理串口接收数据时发生错误: {ex.Message}"); + } + } + private void ProcessTemperatureData(string data) + { + try + { + // 匹配温度数据格式: TC1:TCACTUALTEMP=25.94@0 + if (data.StartsWith("TC1:TCACTUALTEMP=")) + { + // 解析地址和温度值 + string[] parts = data.Split('@'); + if (parts.Length == 2) + { + string temperaturePart = parts[0]; + string addressPart = parts[1]; + // 提取温度值 + string[] tempParts = temperaturePart.Split('='); + if (tempParts.Length == 2) + { + string temperatureValue = tempParts[1]; + int address = int.Parse(addressPart); + // 更新对应标签的温度显示 + UpdateTemperatureLabel(address, temperatureValue); + } + } + } + } + catch (Exception ex) + { + Console.WriteLine($"解析温度数据时发生错误: {ex.Message}"); + } + } + private void UpdateTemperatureLabel(int address, string temperature) + { + if (address >= 0 && address < temperatureLabels.Length) + { + // 使用Invoke确保在UI线程中更新界面 + if (temperatureLabels[address].InvokeRequired) + { + temperatureLabels[address].Invoke(new Action(() => + { + temperatureLabels[address].Text = $"{temperature}°C"; + })); + } + else + { + temperatureLabels[address].Text = $"{temperature}°C"; + } + } + } + private void InitializeTemperatureTimer() + { + temperatureTimer = new System.Windows.Forms.Timer(); + temperatureTimer.Interval = 1000; // 1秒间隔 + temperatureTimer.Tick += TemperatureTimer_Tick; + } + private void TemperatureTimer_Tick(object sender, EventArgs e) + { + if (serialPort != null && serialPort.IsOpen) + { + try + { + // 发送当前索引对应的温度查询命令 + serialPort.Write(temperatureCommands[currentCommandIndex]); + // 更新索引,循环发送四个命令 + currentCommandIndex = (currentCommandIndex + 1) % temperatureCommands.Length; + } + catch (Exception ex) + { + // 可以记录日志或显示错误信息 + Console.WriteLine($"发送温度查询命令时发生错误: {ex.Message}"); + } + } + } + private void UpdateUIStatus(bool isPortOpen, Button button, ComboBox comboBox) + { + if (isPortOpen) + { + button.Text = "关闭串口"; + comboBox.Enabled = false; // 串口打开时禁用选择框 + } + else + { + button.Text = "打开串口"; + comboBox.Enabled = true; // 串口关闭时启用选择框 + } + } + } + +}