1 在湿混机下面加个Rva 小车 信息。 监控有没有报警

dep_nodyang
nodyang 1 year ago
parent d4223bf026
commit 799c0ea68c

@ -0,0 +1,24 @@
using Mesnac.Controls.ChemicalWeighing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.MainDetailControl.Entity
{
public class HslLanternAlarmEntity
{
public HslLanternAlarm HslLanternAlarm1 { get; set; }
public HslLanternAlarm HslLanternAlarm2 { get; set; }
public HslLanternAlarm HslLanternAlarm3 { get; set; }
public HslLanternAlarm HslLanternAlarm4 { get; set; }
public HslLanternAlarm HslLanternAlarm5 { get; set; }
public HslLanternAlarm HslLanternAlarm6 { get; set; }
public HslLanternAlarm HslLanternAlarm7 { get; set; }
public HslLanternAlarm HslLanternAlarm8 { get; set; }
}
}

@ -27,6 +27,9 @@ using Timer = System.Windows.Forms.Timer;
using Mesnac.Action.ChemicalWeighing.LjMaterial;
using System.Data;
using Mesnac.Action.ChemicalWeighing.MainDetailControl.Entity;
using Mesnac.Action.ChemicalWeighing.RgvPlc;
using System.Reflection;
using System.Security.AccessControl;
namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
{
@ -54,6 +57,9 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
private PlcReadTempEntity PlcReadTemp = new PlcReadTempEntity();
private DbMCControl AlarmForm = null; //物料列表控件
private MCLabel MCWatchDog;
HslLanternAlarmEntity hslAlarmEntity;
#endregion
@ -71,7 +77,8 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
//this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "AlarmForm").FirstOrDefault(); //获取物料数据控件
Controls = GetAllControls();
//更细自定义控件报警灯
FillControlHslLanternAlarm();
MCWatchDog =Controls.FirstOrDefault(x => x.Name == "MCWatchDog") as MCLabel;
ParametersWithPCTable.Columns.Add("id", typeof(string));
@ -100,8 +107,27 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
}
#endregion
private void FillControlHslLanternAlarm()
{
hslAlarmEntity = new HslLanternAlarmEntity();
var sourceType= hslAlarmEntity.GetType();
PropertyInfo[] sourcePropertyInfoList = sourceType.GetProperties();
foreach ( PropertyInfo sourceProperty in sourcePropertyInfoList)
{
string name = sourceProperty.Name;
var pro= Controls.FirstOrDefault(x => x.Name == name) as HslLanternAlarm;
sourceProperty.SetValue(hslAlarmEntity, pro);
}
}
#region 线程新建,计时器调用
/// <summary>
@ -115,7 +141,7 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
if (conCurrentCache.Count == 0)
{
MesnacServiceManager.Instance.LoggingService.Info("开始");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
@ -129,13 +155,22 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
NewThreadDb2103();
NewThreadDb2107();
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm3, list[2].Error);
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm4, list[3].Error);
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm5, list[4].Error);
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm6, list[5].Error);
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm7, list[6].Error);
//SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm8, list[7].Error);
conCurrentCache.Clear();
stopwatch.Stop();
var send = stopwatch.ElapsedMilliseconds;
MesnacServiceManager.Instance.LoggingService.Info("结束" + send);
conCurrentCache.Clear();
}
else
{
@ -163,6 +198,17 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
timer.Dispose();
}
//目前只有主线程可以
var list = RgvPlcUtil.GetRGVAllError();
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm1, list[0].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm2, list[1].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm3, list[2].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm4, list[3].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm5, list[4].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm6, list[5].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm7, list[6].Error);
SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm8, list[7].Error);
ThreadPool.QueueUserWorkItem(new WaitCallback(NewThread));
@ -2111,6 +2157,20 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl
}
}
public void SetHslLanternAlarm(HslLanternAlarm lanternAlarm, bool error)
{
if (lanternAlarm.IsAlarm == error)
{
return;
}
lanternAlarm.IsAlarm = error;
}
public SwitchLight GetSwitchLight(string name)
{
return Controls.First(x => x.Name == name) as SwitchLight;

@ -512,6 +512,7 @@
<DependentUpon>Loading.cs</DependentUpon>
</Compile>
<Compile Include="LoadingHelper.cs" />
<Compile Include="MainDetailControl\Entity\HslLanternAlarmEntity.cs" />
<Compile Include="MainDetailControl\Entity\PlcReadTempEntity.cs" />
<Compile Include="MainDetailControl\MainDetailControlAction.cs" />
<Compile Include="ManualControl\InitAction.cs" />
@ -591,6 +592,7 @@
<Compile Include="Report\WetMixer\InitFormAction.cs" />
<Compile Include="Report\WetMixer\SelectAction.cs" />
<Compile Include="Report\WetMixer\SelectRowAction.cs" />
<Compile Include="RgvPlc\RGVEntity.cs" />
<Compile Include="RoleManage\FrmRole.cs">
<SubType>Form</SubType>
</Compile>

@ -0,0 +1,64 @@
using DataBlockHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.RgvPlc
{
public class RGVEntity
{
public RGVEntity() { }
public bool Error { get; set; }
}
public class RgvPlcUtil
{
static string Db = "DB2118";
public static List<RGVEntity> GetRGVAllError()
{
List<RGVEntity> ls = new List<RGVEntity>();
//第一台 330.2 倒序
// 330.2 308.2 286.2 264.2 242.2 220.2 198.2 176.2
List<string> strings = new List<string>()
{
"330.2",
"308.2",
"286.2",
"264.2",
"242.2",
"220.2",
"198.2",
"176.2",
};
foreach (string s in strings)
{
ls.Add(new RGVEntity()
{
Error = Read(s)
});
}
return ls;
}
private static bool Read(string dian)
{
return PlcConnect.Instance.ReadBool($"{Db}.{dian}").Content;
}
}
}

@ -13,9 +13,11 @@ using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.LjReport.OpenDoor;
using Mesnac.Action.ChemicalWeighing.MinAn;
using Mesnac.Action.ChemicalWeighing.RgvPlc;
using Mesnac.Basic;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
using Mesnac.Controls.ChemicalWeighing;
using Mesnac.Controls.Default;
@ -24,25 +26,28 @@ namespace Mesnac.Action.ChemicalWeighing.Test
{
public class TestAction : DatabaseAction, IAction
{
HslLanternAlarm lanternAlarm;
MCButton mCButton;
public void timer1EventProcessor(object source, EventArgs e)
{
lanternAlarm.IsAlarm = !lanternAlarm.IsAlarm;
DialogResult result =
MessageBox.Show("正在上料", "温馨提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (result == DialogResult.OK)
{
return;
}
//DialogResult result =
// MessageBox.Show("正在上料", "温馨提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
//if (result == DialogResult.OK)
//{
// return;
//}
string a = MinAnPlc.Heir1.ToString();
string b = MinAnPlc.Heir2.ToString();
string c = MinAnPlc.Heir3.ToString();
var list = RgvPlcUtil.GetRGVAllError();
}
public void Run(RuntimeParameter runtime)
@ -54,6 +59,13 @@ namespace Mesnac.Action.ChemicalWeighing.Test
mCButton.Click += new EventHandler(timer1EventProcessor);
lanternAlarm = allDb.FirstOrDefault(x => x.Name == "HslLanternAlarm1") as HslLanternAlarm;
lanternAlarm.NormalColor = System.Drawing.Color.Green;
lanternAlarm.AlarmColor = System.Drawing.Color.Red;
lanternAlarm.IsAlarm = false;
//MCButton1

@ -0,0 +1,37 @@
namespace Mesnac.Controls.ChemicalWeighing
{
partial class HslLanternAlarm
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
}
#endregion
}
}

@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Text;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesnac.Controls.ChemicalWeighing
{
[Description("报警灯控件,支持闪烁,颜色设置")]
public partial class HslLanternAlarm : UserControl
{
private Color bottomColor = Color.DimGray;
// Token: 0x040002B5 RID: 693
private Brush bottomBrush = new SolidBrush(Color.DimGray);
// Token: 0x040002B6 RID: 694
private Color lightColor = Color.Green;
// Token: 0x040002B7 RID: 695
private Brush lightBrush = new SolidBrush(Color.Green);
// Token: 0x040002B8 RID: 696
private Color alarmColor = Color.Tomato;
// Token: 0x040002B9 RID: 697
private Color normalColor = Color.Green;
// Token: 0x040002BA RID: 698
private bool isAlarm = false;
// Token: 0x040002BB RID: 699
private bool alarmStatus = false;
// Token: 0x040002BC RID: 700
private Timer timer = new Timer();
// Token: 0x040002BD RID: 701
private StringFormat sf = null;
// Token: 0x040002BE RID: 702
private float buttonHeight = 0.1f;
///// <summary>
///// 清理所有正在使用的资源。
///// </summary>
///// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
//// Token: 0x0600057A RID: 1402 RVA: 0x00035E68 File Offset: 0x00034068
//protected override void Dispose(bool disposing)
//{
// bool flag = disposing && this.components != null;
// if (flag)
// {
// this.components.Dispose();
// }
// base.Dispose(disposing);
//}
private void Timer_Tick(object sender, EventArgs e)
{
bool flag = this.isAlarm;
if (flag)
{
bool flag2 = this.alarmStatus;
if (flag2)
{
this.LightColor = this.AlarmColor;
}
else
{
this.LightColor = this.NormalColor;
}
this.alarmStatus = !this.alarmStatus;
}
else
{
this.LightColor = this.NormalColor;
}
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
Graphics graphics = e.Graphics;
this.PaintHslControls(graphics, base.Width, base.Height);
base.OnPaint(e);
}
public void PaintHslControls(Graphics g, int width, int height)
{
int num = (this.buttonHeight >= 1f) ? ((int)this.buttonHeight) : ((int)(this.buttonHeight * (float)height));
int num2 = width * 4 / 10;
bool flag2 = height - num2 - 2 * num > 0;
if (flag2)
{
g.FillRectangle(this.lightBrush, width / 10, num2, width * 8 / 10, height - num2 - 2 * num);
}
g.FillPie(this.lightBrush, width / 10, 1, width * 8 / 10, num2 * 2, 180, 180);
g.FillRectangle(this.bottomBrush, new Rectangle(0, height - 1 - num, width, num));
g.FillRectangle(this.bottomBrush, new Rectangle(width / 20, height - 1 - num * 2, width - width / 10, num));
}
public HslLanternAlarm()
{
InitializeComponent();
base.SuspendLayout();
base.AutoScaleMode = AutoScaleMode.None;
this.BackColor = Color.Transparent;
base.Name = "HslLanternAlarm";
base.Size = new Size(99, 129);
base.ResumeLayout(false);
this.sf = new StringFormat();
this.sf.Alignment = StringAlignment.Center;
this.sf.LineAlignment = StringAlignment.Center;
base.SetStyle(ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true);
base.SetStyle(ControlStyles.ResizeRedraw, true);
base.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
base.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.timer.Interval = 500;
this.timer.Tick += this.Timer_Tick;
NormalColor = System.Drawing.Color.Green;
AlarmColor = System.Drawing.Color.Red;
}
/// <summary>
/// 获取或设置控件的背景色
/// </summary>
// Token: 0x170001A9 RID: 425
// (get) Token: 0x06000567 RID: 1383 RVA: 0x00035B51 File Offset: 0x00033D51
// (set) Token: 0x06000568 RID: 1384 RVA: 0x00035B59 File Offset: 0x00033D59
[Browsable(true)]
[Description("获取或设置控件的背景色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "Transparent")]
[EditorBrowsable(EditorBrowsableState.Always)]
public override Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value;
}
}
/// <summary>
/// 获取或设置底座的背景色
/// </summary>
// Token: 0x170001AA RID: 426
// (get) Token: 0x06000569 RID: 1385 RVA: 0x00035B64 File Offset: 0x00033D64
// (set) Token: 0x0600056A RID: 1386 RVA: 0x00035B7C File Offset: 0x00033D7C
[Browsable(true)]
[Description("获取或设置底座的背景色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "DimGray")]
public Color BottomColor
{
get
{
return this.bottomColor;
}
set
{
this.bottomColor = value;
this.bottomBrush.Dispose();
this.bottomBrush = new SolidBrush(value);
base.Invalidate();
}
}
/// <summary>
/// 获取或设置报警灯的颜色,可以设置为任意的颜色
/// </summary>
// Token: 0x170001AB RID: 427
// (get) Token: 0x0600056B RID: 1387 RVA: 0x00035BA8 File Offset: 0x00033DA8
// (set) Token: 0x0600056C RID: 1388 RVA: 0x00035BC0 File Offset: 0x00033DC0
[Browsable(true)]
[Description("获取或设置报警灯的颜色,可以设置为任意的颜色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "Tomato")]
public Color LightColor
{
get
{
return this.lightColor;
}
set
{
this.lightColor = value;
this.lightBrush.Dispose();
this.lightBrush = new SolidBrush(value);
base.Invalidate();
}
}
/// <summary>
/// 获取或设置报警状态下的颜色
/// </summary>
// Token: 0x170001AC RID: 428
// (get) Token: 0x0600056D RID: 1389 RVA: 0x00035BEC File Offset: 0x00033DEC
// (set) Token: 0x0600056E RID: 1390 RVA: 0x00035C04 File Offset: 0x00033E04
[Browsable(true)]
[Description("获取或设置报警状态下的颜色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "Tomato")]
public Color AlarmColor
{
get
{
return this.alarmColor;
}
set
{
this.alarmColor = value;
base.Invalidate();
}
}
/// <summary>
/// 获取或设置正常状态的背景色
/// </summary>
// Token: 0x170001AD RID: 429
// (get) Token: 0x0600056F RID: 1391 RVA: 0x00035C18 File Offset: 0x00033E18
// (set) Token: 0x06000570 RID: 1392 RVA: 0x00035C30 File Offset: 0x00033E30
[Browsable(true)]
[Description("获取或设置正常状态的背景色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "LightGray")]
public Color NormalColor
{
get
{
return this.normalColor;
}
set
{
this.normalColor = value;
base.Invalidate();
}
}
/// <summary>
/// 一旦设置本属性,启动信号灯闪烁
/// </summary>
// Token: 0x170001AE RID: 430
// (get) Token: 0x06000571 RID: 1393 RVA: 0x00035C44 File Offset: 0x00033E44
// (set) Token: 0x06000572 RID: 1394 RVA: 0x00035C5C File Offset: 0x00033E5C
[Browsable(true)]
[Description("一旦设置本属性,启动信号灯闪烁,信号灯在正常色和报警色之间进行闪烁")]
[Category("HslControls")]
[DefaultValue(false)]
public bool IsAlarm
{
get
{
return this.isAlarm;
}
set
{
this.isAlarm = value;
bool flag = this.isAlarm;
if (flag)
{
this.timer.Start();
}
else
{
this.timer.Stop();
this.LightColor = this.NormalColor;
}
}
}
/// <summary>
/// 获取或设置报警灯闪烁的频率单位是毫秒默认为500
/// </summary>
// Token: 0x170001AF RID: 431
// (get) Token: 0x06000573 RID: 1395 RVA: 0x00035CA6 File Offset: 0x00033EA6
// (set) Token: 0x06000574 RID: 1396 RVA: 0x00035CB3 File Offset: 0x00033EB3
[Browsable(true)]
[Description("获取或设置报警灯闪烁的频率单位是毫秒默认为500")]
[Category("HslControls")]
[DefaultValue(500)]
public int AlarmFlushTime
{
get
{
return this.timer.Interval;
}
set
{
this.timer.Interval = value;
}
}
/// <summary>
/// 获取或设置当前报警灯控件底部的高度信息如果小于0则表示百分比如果大于1则表示绝对像素单位
/// </summary>
// Token: 0x170001B0 RID: 432
// (get) Token: 0x06000575 RID: 1397 RVA: 0x00035CC2 File Offset: 0x00033EC2
// (set) Token: 0x06000576 RID: 1398 RVA: 0x00035CCA File Offset: 0x00033ECA
[Browsable(true)]
[Description("获取或设置当前报警灯控件底部的高度信息如果小于0则表示百分比如果大于1则表示绝对像素单位")]
[Category("HslControls")]
[DefaultValue(0.1f)]
public float ButtonHeight
{
get
{
return this.buttonHeight;
}
set
{
this.buttonHeight = value;
base.Invalidate();
}
}
}
}

@ -132,6 +132,12 @@
<Compile Include="HslConveyerStyle.cs" />
<Compile Include="HslDirectionStyle.cs" />
<Compile Include="HslHelper.cs" />
<Compile Include="HslLanternAlarm.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="HslLanternAlarm.Designer.cs">
<DependentUpon>HslLanternAlarm.cs</DependentUpon>
</Compile>
<Compile Include="HslPipeLine.cs">
<SubType>UserControl</SubType>
</Compile>

@ -1623,7 +1623,19 @@
</DataBinding>
</Component>
<Component Name="HslLanternAlarm" Namespace="Mesnac.Controls.ChemicalWeighing" Asm="Mesnac.Controls.ChemicalWeighing.dll">
<Propertys>
<Property Name="Location" Caption="位置" Group=""/>
<Property Name="Name" Caption="名称" Group=""/>
<Property Name="Size" Caption="大小" Group=""/>
<Property Name="Status" Caption="状态" Group=""/>
</Propertys>
<DataBinding>
</DataBinding>
</Component>
<Component Name="DailyTank" Namespace="Mesnac.Controls.ChemicalWeighing" Asm="Mesnac.Controls.ChemicalWeighing.dll">
<Propertys>

@ -1,6 +1,11 @@
<Object type="Mesnac.Gui.Common.FrmRunTemplate, Mesnac.Gui.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="Form1" children="Controls">
<Object type="System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="Panel1" children="Controls">
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm1" children="Controls">
<Property name="Location">563, 216</Property>
<Property name="Name">HslLanternAlarm1</Property>
<Property name="Size">29, 51</Property>
</Object>
<Object type="Mesnac.Controls.Default.MCButton, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCButton1" children="Controls">
<Property name="ClickActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAALAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAANBAs=</Binary>

@ -1,6 +1,46 @@
<Object type="Mesnac.Gui.Common.FrmRunTemplate, Mesnac.Gui.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MainDetail" children="Controls">
<Object type="System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="Panel1" children="Controls">
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm8" children="Controls">
<Property name="Location">1850, 506</Property>
<Property name="Name">HslLanternAlarm8</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm7" children="Controls">
<Property name="Location">1673, 506</Property>
<Property name="Name">HslLanternAlarm7</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm6" children="Controls">
<Property name="Location">1530, 505</Property>
<Property name="Name">HslLanternAlarm6</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm5" children="Controls">
<Property name="Location">1358, 505</Property>
<Property name="Name">HslLanternAlarm5</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm4" children="Controls">
<Property name="Location">1289, 505</Property>
<Property name="Name">HslLanternAlarm4</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm3" children="Controls">
<Property name="Location">1116, 505</Property>
<Property name="Name">HslLanternAlarm3</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm2" children="Controls">
<Property name="Location">988, 505</Property>
<Property name="Name">HslLanternAlarm2</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm, Mesnac.Controls.ChemicalWeighing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="HslLanternAlarm1" children="Controls">
<Property name="Location">809, 505</Property>
<Property name="Name">HslLanternAlarm1</Property>
<Property name="Size">22, 31</Property>
</Object>
<Object type="Mesnac.Controls.Default.MCLabel, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCLabel142" children="Controls">
<Property name="Format" />
<Property name="TextName" />

@ -114,6 +114,9 @@
<ToolComponent chineseName="人工小料口右" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.RightTong" />
<ToolComponent chineseName="备料桶" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.BeiLiaoTong" />
<ToolComponent chineseName="自定义小车" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.HslTruck" />
<ToolComponent chineseName="HslLanternAlarm" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.HslLanternAlarm" />
<!--<ToolComponent chineseName="管道" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.HslPipeLine" />-->
<ToolComponent chineseName="3管道" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.HslPipeLineThree" />
<ToolComponent chineseName="罐子" assembly="3" enabled="True" class="Mesnac.Controls.ChemicalWeighing.HslBottle" />

Loading…
Cancel
Save