using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Data;
using System.Xml.Serialization;
using Mesnac.Action.ChemicalWeighing.Entity;
using System.Configuration;
namespace Mesnac.Action.ChemicalWeighing
{
///
/// 小料称量系统全局常量和变量和方法
///
public class Global
{
#region 协议头常量
///
/// 协议头常量
///
public class ProtocalHeader
{
}
#endregion
#region 系统全局变量
///
/// 系统全局变量
///
public class PublicVar
{
#region 字段定义
private bool _chemicalWeighingPlcOnlineFlag = false;
private bool _localPlanIsRefresh = false;
private List _lstRubCtrl = new List();
#endregion
#region 单例实现
private static PublicVar instance;
public static PublicVar Instance
{
get
{
if (instance == null)
{
instance = new PublicVar();
}
return instance;
}
}
private PublicVar()
{
}
#endregion
#region 应用配置变量
///
/// Socket通信侦听的IP地址
///
public readonly string ListenServerIP = Mesnac.Basic.AppConfigHelper.GetAppSettingValue("ListenServerIP", "127.0.0.1");
///
/// Socket通讯侦听的端口号
///
public readonly int Port = Mesnac.Basic.AppConfigHelper.GetAppSettingValue("Port", 6666);
#endregion
#region RunSchema配置项
///
/// 单机/网络:0为单机,1为网络
///
public Mesnac.Action.Base.BaseAction.NetTypes NetType
{
get
{
int intNetType = Mesnac.Basic.RunSchema.Instance.GetConfigValue("NetType", 0);
if (intNetType == 0)
{
return Base.BaseAction.NetTypes.Local;
}
else
{
return Base.BaseAction.NetTypes.Net;
}
}
}
///
/// 网络服务器连接检测模式:0-网络库检测,1-Ping检测
///
public int CheckConnectMode
{
get
{
int checkConnectMode = Mesnac.Basic.RunSchema.Instance.GetConfigValue("CheckConnectMode", 1);
return checkConnectMode;
}
}
///
/// 网络数据库服务器IP地址
///
public string NetDbServerIP
{
get
{
string netDbServerIP = Mesnac.Basic.RunSchema.Instance.GetConfigValue("NetDbServerIP", String.Empty);
return netDbServerIP;
}
}
///
/// 当前机台编号
///
public string EquipCode
{
get
{
string equipCode = Mesnac.Basic.RunSchema.Instance.GetConfigValue("EquipCode", "01001");
return equipCode;
}
}
///
/// 是否开启本地测试,一旦开启,则在配方下传、报表存盘时会增加支持测试的逻辑处理
///
public bool IsLocalTest
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsLocalTest", false);
}
}
///
/// PLC交互最大超时次数(每次500毫秒)
///
public int MaxReadPlcCount
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("MaxReadPlcCount", 10);
}
}
///
/// PLC交互时,清除请求信号前等待的时间,单位(毫秒)默认0秒,主要是方便PLC调试
///
public int ClearRequestSleep
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("ClearRequestSleep", 0);
}
}
///
/// 消息窗口显示模式,0-显示3秒自动关闭,1-手动关闭
///
public int MessageDialogMode
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("MessageDialogMode", 0);
}
}
///
/// 计划执行方式:0为单个执行,1为连续执行
///
public int PlanExecuteType
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("PlanExecuteType", 0);
}
}
///
/// 是否强制换班
///
public bool IsForceShift
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsForceShift", false);
}
}
///
/// 是否保存密炼曲线至MSSQLServer数据库
///
public bool IsSaveMixCurveDataToMsSQL
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsSaveMixCurveDataToMsSQL", true);
}
}
///
/// 是否保存开炼曲线至MSSQL数据库
///
public bool IsSaveMillCurveDataToMsSQL
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsSaveMillCurveDataToMsSQL", true);
}
}
///
/// 是否保存密炼曲线至InfluxDb数据库
///
public bool IsSaveMixCurveDataToInfluxDb
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsSaveMixCurveDataToInfluxDb", false);
}
}
///
/// 是否保存开炼曲线至InfluxDb数据库,请先正确配置InfluxDb数据库信息
///
public bool IsSaveMillCurveDataToInfluxDb
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("IsSaveMillCurveDataToInfluxDb", false);
}
}
///
/// 保存同一配方的最大版本数
///
public int SaveRecipeVersionMaxCount
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("SaveRecipeVersionMaxCount", 5);
}
}
///
/// 默认小数精度,即保留几位小数
///
public int DefaultPrecision
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("DefaultPrecision", 3);
}
}
///
/// 配方下传模式:0:非交互,直接下传;1:交互
///
public int PlcDownloadMode
{
get
{
return Mesnac.Basic.RunSchema.Instance.GetConfigValue("PlcDownloadMode", 0);
}
}
#endregion
#region 系统常量定义
///
/// 登录业务GUID
///
public readonly string LoginGUID = "CD72C0AB64BB4F81824C22A4A4BED295";
///
/// 配方数据导出路径
///
public readonly string RecipeExportPath = System.IO.Path.Combine(ICSharpCode.Core.FileUtility.ApplicationRootPath, "Data", "RecipeDataExport");
#endregion
#region 系统属性定义
///
/// 机台计划刷新标识,在刷新机台计划时设置为true,在更新计划状态后设置为false
///
public bool LocalPlanIsRefresh
{
get
{
return this._localPlanIsRefresh;
}
set
{
this._localPlanIsRefresh = value;
}
}
#endregion
#region 属性定义
///
/// 项目名称
///
public string ProjectWizardName { get; set; }
///
/// 小料称量PLC在线标志
///
public bool ChemicalWeighingPlcOnlineFlag
{
get { return _chemicalWeighingPlcOnlineFlag; }
set { _chemicalWeighingPlcOnlineFlag = value; }
}
///
/// 要展示的报警信息List
///
public List AlarmStrList = new List();
///
/// 监控画面是否刷新显示标识(主屏监控画面)
///
public bool isFlashFlag = false;
///
/// 监控画面是否刷新显示标识(扩展屏监控画面)
///
public bool isFlashFlagExtend = false;
///
/// 测试时所用变量(测试用)
///
public int alarmNumCount = 0;
///
/// 扫码枪条码开始截取位置(三元现场未用到)
///
public int ScanCodeStrStart = 0;
///
/// 扫码枪条码结束截取位置(三元现场未用到)
///
public int ScanCodeStrEnd = 10;
///
/// 手动秤启用标志
///
public bool ManualWeightFlag = false;
///
/// 下传计划的物料信息
///
public List currentListPmt_weigh = new List();
///
/// 班次编号
///
public int globalShiftID = 0 ;
#endregion
}
#endregion
}
}