Commit 120b4e9c 张东亮

软件无响应优化

1 个父辈 8edbb1a0
...@@ -9,6 +9,7 @@ using System.Linq; ...@@ -9,6 +9,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web.Management;
using System.Windows.Forms; using System.Windows.Forms;
namespace DeviceLibrary namespace DeviceLibrary
...@@ -18,6 +19,10 @@ namespace DeviceLibrary ...@@ -18,6 +19,10 @@ namespace DeviceLibrary
static string visionUrl = ConfigHelper.Config.Get("VisionUrl", "http://localhost:8089/vision/eyem"); static string visionUrl = ConfigHelper.Config.Get("VisionUrl", "http://localhost:8089/vision/eyem");
public static bool ReelStatusCheck(string configName) public static bool ReelStatusCheck(string configName)
{ {
if(ConfigHelper.Config.Get("Func_ReelStatusCheck", false))
{
return true;
}
string cameraName = ConfigHelper.Config.Get("MonitorCamName", "cam1"); string cameraName = ConfigHelper.Config.Get("MonitorCamName", "cam1");
string url = visionUrl + $"/reelStatusCheck/cam?camName={cameraName}&configName={configName.Replace("#", "%23")}"; string url = visionUrl + $"/reelStatusCheck/cam?camName={cameraName}&configName={configName.Replace("#", "%23")}";
try try
......
...@@ -26,6 +26,7 @@ namespace DeviceLibrary ...@@ -26,6 +26,7 @@ namespace DeviceLibrary
public AxisMoveControl() public AxisMoveControl()
{ {
InitializeComponent(); InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
crc.OpenResourceLog = true; crc.OpenResourceLog = true;
crc.LanguageChangeEvent += Crc_LanguageChangeEvent; crc.LanguageChangeEvent += Crc_LanguageChangeEvent;
crc.CurrLanguage = ConfigHelper.Config.Get("Device_Default_Language", "zh-CN"); crc.CurrLanguage = ConfigHelper.Config.Get("Device_Default_Language", "zh-CN");
...@@ -47,7 +48,7 @@ namespace DeviceLibrary ...@@ -47,7 +48,7 @@ namespace DeviceLibrary
cmbAxis.Items.Clear(); cmbAxis.Items.Clear();
foreach (var a in axisList) foreach (var a in axisList)
{ {
cmbAxis.Items.Add(crc.GetString(a.Config.ProName,a.Config.Explain)); cmbAxis.Items.Add(crc.GetString(a.Config.ProName, a.Config.Explain));
} }
cmbAxis.SelectedIndex = 0; cmbAxis.SelectedIndex = 0;
currentAxis = axisList[0]; currentAxis = axisList[0];
...@@ -78,7 +79,7 @@ namespace DeviceLibrary ...@@ -78,7 +79,7 @@ namespace DeviceLibrary
{ {
if (axis == null) if (axis == null)
{ {
MessageBox.Show(crc.GetString("Res0011","请先选择运动轴"), crc.GetString("Res0012","警告 "), MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(crc.GetString("Res0011", "请先选择运动轴"), crc.GetString("Res0012", "警告 "), MessageBoxButtons.OK, MessageBoxIcon.Error);
return false; return false;
} }
...@@ -87,13 +88,13 @@ namespace DeviceLibrary ...@@ -87,13 +88,13 @@ namespace DeviceLibrary
private void btnOpenAxis_Click(object sender, EventArgs e) private void btnOpenAxis_Click(object sender, EventArgs e)
{ {
//timer1.Start(); //timer1.Start();
LogUtil.info(""+"点击【打开伺服】,【" + PortName + "_" + SlvAddr + "】 "); LogUtil.info("" + "点击【打开伺服】,【" + PortName + "_" + SlvAddr + "】 ");
AxisManager.ServoOn(PortName, SlvAddr); AxisManager.ServoOn(PortName, SlvAddr);
} }
private void btnCloseAxis_Click(object sender, EventArgs e) private void btnCloseAxis_Click(object sender, EventArgs e)
{ {
LogUtil.info(""+"点击【关闭伺服】,【" + PortName + "_" + SlvAddr + "】 "); LogUtil.info("" + "点击【关闭伺服】,【" + PortName + "_" + SlvAddr + "】 ");
AxisManager.ServoOff(PortName, SlvAddr); AxisManager.ServoOff(PortName, SlvAddr);
} }
...@@ -105,13 +106,13 @@ namespace DeviceLibrary ...@@ -105,13 +106,13 @@ namespace DeviceLibrary
} }
int position = FormUtil.GetIntValue(txtAPosition); int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed); int speed = FormUtil.GetIntValue(txtASpeed);
if (!currentAxis.IsSafe(position,out string msg)) if (!currentAxis.IsSafe(position, out string msg))
{ {
MessageBox.Show(msg); MessageBox.Show(msg);
return; return;
} }
LogUtil.info(""+"点击【绝对运动】,【" + PortName + "_" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】"); LogUtil.info("" + "点击【绝对运动】,【" + PortName + "_" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
var targetSpeed = speed; var targetSpeed = speed;
var AddSpeed = currentAxis.Config.AddSpeed > 0 ? currentAxis.Config.AddSpeed : targetSpeed * 4; var AddSpeed = currentAxis.Config.AddSpeed > 0 ? currentAxis.Config.AddSpeed : targetSpeed * 4;
var DelSpeed = currentAxis.Config.DelSpeed > 0 ? currentAxis.Config.DelSpeed : targetSpeed * 4; var DelSpeed = currentAxis.Config.DelSpeed > 0 ? currentAxis.Config.DelSpeed : targetSpeed * 4;
...@@ -127,13 +128,13 @@ namespace DeviceLibrary ...@@ -127,13 +128,13 @@ namespace DeviceLibrary
int position = FormUtil.GetIntValue(txtAPosition); int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed); int speed = FormUtil.GetIntValue(txtASpeed);
if (!currentAxis.IsSafe(currentAxis.GetAclPosition()+position, out string msg)) if (!currentAxis.IsSafe(currentAxis.GetAclPosition() + position, out string msg))
{ {
MessageBox.Show(msg); MessageBox.Show(msg);
return; return;
} }
LogUtil.info(""+"点击【相对运动】,【" + PortName + "_" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】"); LogUtil.info("" + "点击【相对运动】,【" + PortName + "_" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
var targetSpeed = speed; var targetSpeed = speed;
var AddSpeed = currentAxis.Config.AddSpeed > 0 ? currentAxis.Config.AddSpeed : targetSpeed * 4; var AddSpeed = currentAxis.Config.AddSpeed > 0 ? currentAxis.Config.AddSpeed : targetSpeed * 4;
var DelSpeed = currentAxis.Config.DelSpeed > 0 ? currentAxis.Config.DelSpeed : targetSpeed * 4; var DelSpeed = currentAxis.Config.DelSpeed > 0 ? currentAxis.Config.DelSpeed : targetSpeed * 4;
...@@ -160,7 +161,7 @@ namespace DeviceLibrary ...@@ -160,7 +161,7 @@ namespace DeviceLibrary
} }
private void btnAxisStop_Click(object sender, EventArgs e) private void btnAxisStop_Click(object sender, EventArgs e)
{ {
LogUtil.info(""+"点击【停止运动】,【" + PortName + "_" + SlvAddr + "】 "); LogUtil.info("" + "点击【停止运动】,【" + PortName + "_" + SlvAddr + "】 ");
AxisManager.SuddenStop(PortName, SlvAddr); AxisManager.SuddenStop(PortName, SlvAddr);
if (btnAddMove.BackColor == Color.Green) if (btnAddMove.BackColor == Color.Green)
{ {
...@@ -175,7 +176,7 @@ namespace DeviceLibrary ...@@ -175,7 +176,7 @@ namespace DeviceLibrary
private void btnComAlarmClear_Click(object sender, EventArgs e) private void btnComAlarmClear_Click(object sender, EventArgs e)
{ {
LogUtil.info(""+"点击【清理报警】,【" + PortName + "_" + SlvAddr + "】 "); LogUtil.info("" + "点击【清理报警】,【" + PortName + "_" + SlvAddr + "】 ");
AxisManager.AlarmClear(PortName, SlvAddr); AxisManager.AlarmClear(PortName, SlvAddr);
Thread.Sleep(100); Thread.Sleep(100);
AxisManager.ServoOn(PortName, SlvAddr); AxisManager.ServoOn(PortName, SlvAddr);
...@@ -277,7 +278,7 @@ namespace DeviceLibrary ...@@ -277,7 +278,7 @@ namespace DeviceLibrary
} }
private void AxisMove(int speed) private void AxisMove(int speed)
{ {
LogUtil.info("" + "【" + PortName + "_" + SlvAddr + "】点动: 速度:" + speed ); LogUtil.info("" + "【" + PortName + "_" + SlvAddr + "】点动: 速度:" + speed);
AxisManager.SpeedMove(PortName, SlvAddr, speed, 0, 0); AxisManager.SpeedMove(PortName, SlvAddr, speed, 0, 0);
} }
private void btnAddMove_MouseDown(object sender, MouseEventArgs e) private void btnAddMove_MouseDown(object sender, MouseEventArgs e)
...@@ -291,7 +292,7 @@ namespace DeviceLibrary ...@@ -291,7 +292,7 @@ namespace DeviceLibrary
int speed = Convert.ToInt32(comjSpeed.Text); int speed = Convert.ToInt32(comjSpeed.Text);
if (speed <= 0) if (speed <= 0)
{ {
MessageBox.Show(crc.GetString("title","提示"), crc.GetString("Res0013","请先输入正确的速度")); MessageBox.Show(crc.GetString("title", "提示"), crc.GetString("Res0013", "请先输入正确的速度"));
return; return;
} }
btnAddMove.BackColor = Color.Green; btnAddMove.BackColor = Color.Green;
...@@ -320,7 +321,7 @@ namespace DeviceLibrary ...@@ -320,7 +321,7 @@ namespace DeviceLibrary
int speed = Convert.ToInt32(comjSpeed.Text); int speed = Convert.ToInt32(comjSpeed.Text);
if (speed <= 0) if (speed <= 0)
{ {
MessageBox.Show(crc.GetString("title","提示"), crc.GetString("Res0013","请先输入正确的速度")); MessageBox.Show(crc.GetString("title", "提示"), crc.GetString("Res0013", "请先输入正确的速度"));
return; return;
} }
btnDelMove.BackColor = Color.Green; btnDelMove.BackColor = Color.Green;
...@@ -342,18 +343,32 @@ namespace DeviceLibrary ...@@ -342,18 +343,32 @@ namespace DeviceLibrary
{ {
Clipboard.SetDataObject(lblCountPulse.Text, true); Clipboard.SetDataObject(lblCountPulse.Text, true);
} }
object readObj = new object();
private void timer1_Tick(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
{ {
LogUtil.OutputDebugString($"timer1_Tick:{this.Visible}"); LogUtil.OutputDebugString($"timer1_Tick:{this.Visible}");
if (!this.IsHandleCreated) return;
if (this.Visible) if (this.Visible)
{ {
if (Monitor.TryEnter(readObj, 300))
{
try
{
this.Invoke(new Action(() =>
{
ReadAxisStatus(); ReadAxisStatus();
}));
}
finally { Monitor.Exit(readObj); }
}
} }
} }
private void ReadAxisStatus() private void ReadAxisStatus()
{ {
groupBox2.Text = cmbAxis.Text + "-"+crc.GetString(L.AxisMoveControl_status_monitor, "状态监控"); groupBox2.Text = cmbAxis.Text + "-" + crc.GetString(L.AxisMoveControl_status_monitor, "状态监控");
//【1】更新轴号 //【1】更新轴号
short axisNo = SlvAddr; short axisNo = SlvAddr;
if (axisNo < 0) if (axisNo < 0)
...@@ -383,7 +398,7 @@ namespace DeviceLibrary ...@@ -383,7 +398,7 @@ namespace DeviceLibrary
return; return;
} }
//【3】更新界面显示 //【3】更新界面显示
ShowlbSts(lblALM, sts.ALM,true); //报警信号 ShowlbSts(lblALM, sts.ALM, true); //报警信号
ShowlbSts(lblWARN, sts.WARN); //警告信号 ShowlbSts(lblWARN, sts.WARN); //警告信号
ShowlbSts(lblEMG, sts.EMG);//急停信号 ShowlbSts(lblEMG, sts.EMG);//急停信号
ShowlbSts(lblSvOn, sts.ServoOn); //使能信号 ShowlbSts(lblSvOn, sts.ServoOn); //使能信号
...@@ -414,17 +429,17 @@ namespace DeviceLibrary ...@@ -414,17 +429,17 @@ namespace DeviceLibrary
lblhomeSts.Text = value.ToString(); lblhomeSts.Text = value.ToString();
btnReadPosition_Click(null, null); btnReadPosition_Click(null, null);
} }
private void ShowlbSts(Label lbl, int value,bool isAlarm=false ) private void ShowlbSts(Label lbl, int value, bool isAlarm = false)
{ {
if (value.Equals(1)) if (value.Equals(1))
{ {
if (isAlarm) if (isAlarm)
{ {
lbl.BackColor = Color.Red ; lbl.BackColor = Color.Red;
lblAlarmcode.Visible = true; lblAlarmcode.Visible = true;
lblAlarmcode.ForeColor = Color.Red; lblAlarmcode.ForeColor = Color.Red;
lblAlarmcode.Text = crc.GetString("Res0014","错误码:") + HCBoardManager.GetAxErrCode(SlvAddr); lblAlarmcode.Text = crc.GetString("Res0014", "错误码:") + HCBoardManager.GetAxErrCode(SlvAddr);
} }
else else
{ {
...@@ -436,7 +451,7 @@ namespace DeviceLibrary ...@@ -436,7 +451,7 @@ namespace DeviceLibrary
lbl.BackColor = Color.LightGray; lbl.BackColor = Color.LightGray;
if (isAlarm) if (isAlarm)
{ {
lblAlarmcode.Visible = false ; lblAlarmcode.Visible = false;
} }
} }
else else
......
...@@ -214,7 +214,6 @@ namespace TheMachine ...@@ -214,7 +214,6 @@ namespace TheMachine
return; return;
} }
} }
TabPage lineTabPage = new TabPage(text); TabPage lineTabPage = new TabPage(text);
lineTabPage.Name = id; lineTabPage.Name = id;
Panel linePan = new Panel(); Panel linePan = new Panel();
...@@ -227,6 +226,7 @@ namespace TheMachine ...@@ -227,6 +226,7 @@ namespace TheMachine
form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left))); form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Show(); form.Show();
tabc.TabPages.Add(lineTabPage); tabc.TabPages.Add(lineTabPage);
} }
private void 启用调试模式ToolStripMenuItem_Click(object sender, EventArgs e) private void 启用调试模式ToolStripMenuItem_Click(object sender, EventArgs e)
......
...@@ -33,6 +33,7 @@ namespace TheMachine ...@@ -33,6 +33,7 @@ namespace TheMachine
} }
public ConfigControl() public ConfigControl()
{ {
CheckForIllegalCrossThreadCalls = false;
InitializeComponent(); InitializeComponent();
this.Tag = "not"; this.Tag = "not";
crc.LanguageChangeEvent += Crc_LanguageChangeEvent; crc.LanguageChangeEvent += Crc_LanguageChangeEvent;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!