正在改尺寸测量

This commit is contained in:
2025-04-18 14:04:02 +08:00
parent 6182dc2192
commit ae11376f5a
47 changed files with 6732 additions and 1834 deletions

View File

@ -36,8 +36,11 @@ using System.Windows.Forms;
using XKRS.UI.Device.Winform;
using static AntdUI.Math3D;
using static DH.Commons.Enums.EnumHelper;
using Button = System.Windows.Forms.Button;
using Camera = DHSoftware.Models.Camera;
using Label = AntdUI.Label;
using LogLevel = DH.Commons.Enums.EnumHelper.LogLevel;
using Point = System.Drawing.Point;
using ResultState = DH.Commons.Base.ResultState;
using Timer = System.Threading.Timer;
@ -189,7 +192,15 @@ namespace DHSoftware
SetPermission(list, this.Controls);
}
}
public void ResetAllCameraCounts()
{
CameraSummaries.ForEach(camera =>
{
camera.OKCount = 0;
camera.NGCount = 0;
camera.TiggerCount = 0;
});
}
private void SetPermission(List<SysPermission> list, Control.ControlCollection controls)
{
foreach (Control control in controls)
@ -689,8 +700,27 @@ namespace DHSoftware
{
cam.OnLog -= _visionEngine_OnLog;
cam.OnLog += _visionEngine_OnLog;
cam.CameraConnect();
cam.OnHImageOutput += OnCameraHImageOutput;
Button CamLabel = new Button();
CamLabel.Name = cameraBase.CameraName;
CamLabel.Text = cameraBase.CameraName; // 关键1必须有文本
CamLabel.AutoSize = true;
CamLabel.Size = new System.Drawing.Size(20, 20); // 关键2自动调整大小
CamLabel.Location = new Point(20 + 50 * i, 12); // 关键3明确位置
if (cam.CameraConnect())
CamLabel.BackColor = Color.Green; // 关键4避免透明
else
CamLabel.BackColor = Color.Yellow; // 关键4避免透明
CamLabel.ForeColor = Color.Black; // 关键4避免透明
CamLabel.Font = new Font("Microsoft YaHei", 9); // 可选:字体
// 关键5确保添加到父控件
if (pageHeader1 != null && !pageHeader1.Controls.Contains(CamLabel))
{
pageHeader1.Controls.Add(CamLabel);
}
}
}
@ -707,7 +737,7 @@ namespace DHSoftware
}
}
}
public void ConnectPLC()
{
if (ConfigModel.PLCBaseList.Count > 0)
@ -725,7 +755,31 @@ namespace DHSoftware
PLC.Port = plcBase.Port;
PLC.OnLog -= _visionEngine_OnLog;
PLC.OnLog += _visionEngine_OnLog;
PLC.PLCConnect();
if(PLC.Enable)
{
PLC.PLCConnect();
Button CamLabel = new Button();
CamLabel.Name = PLC.PLCName;
CamLabel.Text = PLC.PLCName; // 关键1必须有文本
CamLabel.AutoSize = true;
CamLabel.Size = new System.Drawing.Size(20, 20); // 关键2自动调整大小
CamLabel.Location = new Point(20 + 50 * (i + ConfigModel.CameraBaseList.Count), 12); // 关键3明确位置
if (PLC.Connected)
CamLabel.BackColor = Color.Green; // 关键4避免透明
else
CamLabel.BackColor = Color.Yellow; // 关键4避免透明
CamLabel.ForeColor = Color.Black; // 关键4避免透明
//CamLabel.ForeColor = Color.Green; // 关键4避免透明
CamLabel.Font = new Font("Microsoft YaHei", 9); // 可选:字体
// 关键5确保添加到父控件
if (pageHeader1 != null && !pageHeader1.Controls.Contains(CamLabel))
{
pageHeader1.Controls.Add(CamLabel);
}
}
}
}
}
@ -1125,10 +1179,13 @@ namespace DHSoftware
// DataSavePath = string.IsNullOrEmpty(DataSavePath) ? Path.Combine(X018PLCConfig.ImgDirectory, DateTime.Now.ToString("yyyyMMdd"), BatchNO) : DataSavePath;
}
private void HandleStartButton()
{
InitialCameraSumsView();
LogAsync(DateTime.Now, LogLevel.Information, "流程启动中,请稍候...");
ResetAllCameraCounts();
//开始流程
StartProcess();
LogAsync(DateTime.Now, LogLevel.Action, "流程启动完成!");
}