Files
2026-05-29 10:07:05 +08:00

962 lines
21 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Global;
using KinematicsBase;
using System;
using System.Collections.Generic;
using System.Threading;
/// <summary>
/// 项目参数
/// 2021.5.25
/// 2021.12.22
/// </summary>
public class PP
{
#region SystemUser
/// <summary>
///
/// </summary>
public static string UserID
{
get;
set;
} = "";
/// <summary>
///
/// </summary>
public static string UserName
{
get;
set;
} = "";
/// <summary>
///
/// </summary>
public static string UserPassword
{
get;
set;
} = "";
/// <summary>
///
/// </summary>
public static Type_Jurisdiction Jurisdiction
{
get;
set;
} = Type_Jurisdiction.Administrator;
/// <summary>
///
/// </summary>
public static List<String> ProjectList
{
get;
set;
} = new List<String> ();
#endregion
#region Current Operation Data
/// <summary>
/// 设备类型的代码
/// </summary>
public static DeviceType DeviceTypeCode = DeviceType.Device;
/// <summary>
/// 当前的Web模型代码
/// </summary>
public static string ModelCode = "-1";
/// <summary>
/// 当前的Web模型名称
/// </summary>
public static string ModelName = "-1";
/// <summary>
/// 当前的Web模型代码
/// </summary>
public static string ModelCodeBase = "-1";
/// <summary>
/// 当前的Web模型名称
/// </summary>
public static string ModelNameBase = "-1";
/// <summary>
/// 当前的Web模型代码
/// </summary>
public static string ModelCodeTool = "-1";
/// <summary>
/// 当前的Web模型名称
/// </summary>
public static string ModelNameTool = "-1";
/// <summary>
/// 当前的Web模型代码
/// </summary>
public static string ModelCodeTcp = "-1";
/// <summary>
/// 当前的Web模型名称
/// </summary>
public static string ModelNameTcp = "-1";
/// <summary>
/// 当前的Web模型位置X
/// </summary>
public static double TX = 0;
/// <summary>
/// 当前的Web模型位置Y
/// </summary>
public static double TY = 0;
/// <summary>
/// 当前的Web模型位置Z
/// </summary>
public static double TZ = 0;
/// <summary>
/// 当前的Web模型位置RX
/// </summary>
public static double RX = 0;
/// <summary>
/// 当前的Web模型位置RY
/// </summary>
public static double RY = 0;
/// <summary>
/// 当前的Web模型位置RZ
/// </summary>
public static double RZ = 0;
/// <summary>
/// 当前的Web模型位置QX
/// </summary>
public static double QX = 0;
/// <summary>
/// 当前的Web模型位置QY
/// </summary>
public static double QY = 0;
/// <summary>
/// 当前的Web模型位置QZ
/// </summary>
public static double QZ = 0;
/// <summary>
/// 当前的Web模型位置QW
/// </summary>
public static double QW = 0;
/// <summary>
/// 当前的Web_Base模型位置X
/// </summary>
public static double TX_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置Y
/// </summary>
public static double TY_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置Z
/// </summary>
public static double TZ_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置RX
/// </summary>
public static double RX_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置RY
/// </summary>
public static double RY_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置RZ
/// </summary>
public static double RZ_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置QX
/// </summary>
public static double QX_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置QY
/// </summary>
public static double QY_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置QZ
/// </summary>
public static double QZ_Base = 0;
/// <summary>
/// 当前的Web_Base模型位置QW
/// </summary>
public static double QW_Base = 0;
/// <summary>
/// 当前的Web_Tool模型位置X
/// </summary>
public static double TX_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置Y
/// </summary>
public static double TY_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置Z
/// </summary>
public static double TZ_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置RX
/// </summary>
public static double RX_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置RY
/// </summary>
public static double RY_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置RZ
/// </summary>
public static double RZ_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置QX
/// </summary>
public static double QX_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置QY
/// </summary>
public static double QY_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置QZ
/// </summary>
public static double QZ_Tool = 0;
/// <summary>
/// 当前的Web_Tool模型位置QW
/// </summary>
public static double QW_Tool = 0;
/// <summary>
/// 当前的Web_Tcp模型位置X
/// </summary>
public static double TX_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置Y
/// </summary>
public static double TY_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置Z
/// </summary>
public static double TZ_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置RX
/// </summary>
public static double RX_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置RY
/// </summary>
public static double RY_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置RZ
/// </summary>
public static double RZ_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置QX
/// </summary>
public static double QX_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置QY
/// </summary>
public static double QY_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置QZ
/// </summary>
public static double QZ_Tcp = 0;
/// <summary>
/// 当前的Web_Tcp模型位置QW
/// </summary>
public static double QW_Tcp = 0;
#endregion
#region Param
public static bool ReLoadPara_IsCompleted
{
get;
set;
} = false;
/// <summary>
/// 项目配置参数
/// 2021.10.17.LLX
/// </summary>
public static PCP_Json PCP
{
get;
set;
}
/// <summary>
/// 数据库链接
/// </summary>
public static string ConnectionStr
{
get;
set;
} = "-1";
public static string Url_WebApi
{
get;
set;
} = "http://localhost:41181";
public static string Url_WebApi2
{
get;
set;
} = "http://localhost:41182";
/// <summary>
/// 项目代码
/// </summary>
public static string ProjectCode
{
get;
set;
} = "-1";
public static string IsWebApp
{
get;
set;
} = System.Configuration.ConfigurationManager.AppSettings["IsWebApp"];
/// <summary>
/// 项目名称
/// </summary>
public static string ProjectName
{
get;
set;
} = "-1";
/// <summary>
/// 程序的运行模式
/// 2021.12.3.LLX
/// </summary>
public static Mode_Run RunMode
{
get;
set;
} = Mode_Run.Simulation;
/// <summary>
///
/// </summary>
public static string currCefDownLoadPath
{
get;
set;
} = "";
/// <summary>
/// 允许机器人计算
/// </summary>
public static bool AllowRobotCalculation
{
get;
set;
} = true;
/// <summary>
/// 生成工艺序列的全局帧值
/// 2021.5.24
/// </summary>
public static int gFrameValue
{
get;
set;
} = 0;
#endregion
#region Collections Generic
/// <summary>
/// 模型列表
/// </summary>
public static System.Data.DataTable gDT_ModelTree
{
get;
set;
} = null;
/// <summary>
/// 模型代码对应的模型属性
/// </summary>
public static Dictionary<String, ModelAttribute> DC_ModelCode_ModelAttribute
{
get;
set;
} = null;
/// <summary>
/// 工艺执行任务
/// </summary>
public static Dictionary<String, Thread> dc_Craft_ExecTask
{
get;
set;
} = new Dictionary<String, Thread>();
public static System.Collections.Generic.Dictionary<System.String, System.String> DC_TagID_CurrValue
{
get;
set;
} = null;
/// <summary>
/// TagID触发时候的内容
/// 2021.12.21.LLX
/// </summary>
public static Dictionary<String, List<OperationResult<String, String, String, String, String, String, String>>> dc_TagID_Content
{
get;
set;
} = null;
/// <summary>
/// 当前的微分点记录
/// 2021.3.29
/// </summary>
public static System.Collections.Generic.List<double[]> pList_g
{
get;
set;
} = null;
/// <summary>
/// 当前逆解的的记录
/// 2021.3.29
/// </summary>
public static System.Collections.Generic.List<System.Collections.Generic.List<double>> jList_g
{
get;
set;
} = null;
/// <summary>
///
/// </summary>
public static Dictionary<String, LogicalBlock.LogicalBlockBasic> DC_ResourcesCode_LogicalBlockBasic = new Dictionary<String, LogicalBlock.LogicalBlockBasic>();
#endregion
#region DebugOption
/// <summary>
/// 允许外部查看模型
/// 2021.5.11
/// </summary>
public static bool g_AllowSelectModel = false;
/// <summary>
/// 允许外部查看工艺
/// 2021.5.11
/// </summary>
public static bool g_AllowSelectCraft = false;
/// <summary>
/// 允许外部查看TagID绑定的信号
/// 2021.5.11
/// </summary>
public static bool g_AllowSelectTagIDSignal = false;
/// <summary>
/// 允许控制工艺
/// </summary>
public static bool g_AllowControlCraft = true;
/// <summary>
/// 允许控制信号
/// </summary>
public static bool g_AllowControlSignal = true;
/// <summary>
/// 允许控制显隐
/// </summary>
public static bool g_AllowControlVisible = true;
/// <summary>
/// 允许控制自转
/// </summary>
public static bool g_AllowControlRotation = true;
/// <summary>
/// 允许控制等待
/// 2021.11.04.1652.LLX
/// </summary>
public static bool g_AllowControlWait = true;
#endregion
#region Messy
/// <summary>
/// 全球变量的接口
/// </summary>
public static IGlobalVar iGlobalVar = null;
/// <summary>
/// 允许执行关闭窗体
/// </summary>
public static bool isCanClose = false;
/// <summary>
/// 加载完成
/// </summary>
public static bool LoadFinish = false;
/// <summary>
/// 是同步顺序,或起始时间排序
/// </summary>
public static bool ActGantt_Is_SyncOrder_Or_StartTime = true;
/// <summary>
/// 当前执行的路径
/// </summary>
public static string currExecPath = "";
#endregion
#region CraftTree
/// <summary>
/// 当前选中的工艺代码
/// </summary>
public static string currTreeCraftCode = "-1";
/// <summary>
/// 当前选中的工艺名称
/// </summary>
public static string currTreeCraftName = "-1";
/// <summary>
/// 当前选中的工艺父节点
/// </summary>
public static string currTreeCraftTypeCode = "-1";
/// <summary>
/// 当前选中的工艺驱动类型
/// </summary>
public static Type_Craft currTreeCraftDeviceTypeCode = Type_Craft.LinearFlow;
/// <summary>
/// 当前选中的工艺的模型代码
/// </summary>
public static string currCraftTree_ModelCode = "-1";
/// <summary>
/// 当前选中的工艺的模型名称
/// </summary>
public static string currCraftTree_ModelName = "-1";
#endregion
#region DeviceSignalSimTree
/// <summary>
/// 当前选中的设备信号仿真代码
/// </summary>
public static string currTreeDeviceSignalSimCode = "-1";
/// <summary>
/// 当前选中的设备信号仿真名称
/// </summary>
public static string currTreeDeviceSignalSimName = "-1";
#endregion
#region MesWork
public static string BasicDataTableFile = "";
public static int IsDemoMesServer = 0;
public static int IsWriteMonitorLog = 1;
#endregion
#region P_KinematicsEditorDevice PoseCreator
public static int PoseCreatorStepLength = 1;
#endregion
#region Func
/// <summary>
/// 模型代码找到模型属性
/// 2021.12.22.LLX
/// </summary>
/// <param name="modelCode"></param>
/// <returns></returns>
public static ModelAttribute ModelCodeFindModelAttribute(string modelCode)
{
ModelAttribute ma = new ModelAttribute() { ModelName = "不存在这个模型" };
if (PP.DC_ModelCode_ModelAttribute == null)
{
return ma;
}
if (PP.DC_ModelCode_ModelAttribute.ContainsKey(modelCode))
{
ma = PP.DC_ModelCode_ModelAttribute[modelCode];
}
return ma;
}
public static List<Kinematics> ReturnKinematicsList()
{
var kL = new List<Kinematics>();
if (PP.DC_ModelCode_ModelAttribute == null)
{
return kL;
}
foreach (ModelAttribute item in DC_ModelCode_ModelAttribute.Values)
{
if (item != null)
{
if (item.KinematicsData != null)
{
kL.Add(item.KinematicsData);
}
}
}
return kL;
}
public static Kinematics ReturnKinematics(string modelCode)
{
Kinematics k = null;
if (PP.DC_ModelCode_ModelAttribute == null)
{
return k;
}
if (DC_ModelCode_ModelAttribute.ContainsKey(modelCode))
{
k = new Kinematics();
k = DC_ModelCode_ModelAttribute[modelCode].KinematicsData;
}
return k;
}
#endregion
}
///// <summary>
///// 项目配置参数
///// 2021.10.17.LLX
///// </summary>
//public class PCP
//{
// /// <summary>
// /// 导出序列的帧值
// /// </summary>
// public static int FrameValue
// {
// get;
// set;
// } = -1;
// /// <summary>
// /// 发送数据时间间隔
// /// </summary>
// public static int SendInterval
// {
// get;
// set;
// } = -1;
// /// <summary>
// /// 通讯服务URLCS
// /// </summary>
// public static string ConnSvrURL
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 通讯标头CS
// /// </summary>
// public static string Prefix
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 通讯项目标头CS
// /// </summary>
// public static string ObjectHeader
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 通讯服务URLBS
// /// </summary>
// public static string ConnSvrURLBS
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 通讯标头BS
// /// </summary>
// public static string PrefixBS
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 通讯项目标头BS
// /// </summary>
// public static string ObjectHeaderBS
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// OPC连接的URL
// /// </summary>
// public static string OpcUrl
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 三维网页的URL
// /// </summary>
// public static string WebUrl
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 三维网页文件的路径
// /// </summary>
// public static string WebFilePath
// {
// get;
// set;
// } = "-1";
// /// <summary>
// /// 程序启用Chrome浏览器
// /// </summary>
// public static bool IsStartChrome
// {
// get;
// set;
// } = true;
// /// <summary>
// /// 使用服务器通讯方式
// /// </summary>
// public static string ConnMode
// {
// get;
// set;
// } = "1";
// /// <summary>
// /// 是允许修改模型可见性
// /// </summary>
// public static bool IsAllowVisible
// {
// get;
// set;
// } = true;
// /// <summary>
// /// 是修改数据库模型可见性
// /// </summary>
// public static bool IsUpdateSqlVisible
// {
// get;
// set;
// } = false;
// /// <summary>
// /// 是记录现场真实数据
// /// </summary>
// public static bool IsRecordData
// {
// get;
// set;
// } = false;
// /// <summary>
// /// 行为附加状态数据
// /// </summary>
// public static bool ActAttachStateData
// {
// get;
// set;
// } = true;
// /// <summary>
// /// 模型文件路径
// /// </summary>
// public static string ModelFilePath
// {
// get;
// set;
// } = "";
//}
/// <summary>
/// 项目配置参数
/// 2021.10.17.LLX
/// </summary>
public class PCP_Json
{
/// <summary>
///
/// </summary>
public PCP_Json()
{
WebUrl = System.Configuration.ConfigurationManager.AppSettings["WebUrl"];
ConnSvrURL = System.Configuration.ConfigurationManager.AppSettings["ConnSvrURL"];
ConnSvrURLBS = System.Configuration.ConfigurationManager.AppSettings["ConnSvrURLBS"];
PrefixBS = System.Configuration.ConfigurationManager.AppSettings["PrefixBS"];
WebFilePath = System.Configuration.ConfigurationManager.AppSettings["WebFilePath"];
SqlBakPath = System.Configuration.ConfigurationManager.AppSettings["SqlBakPath"];
}
/// <summary>
/// 导出序列的帧值
/// </summary>
public int FrameValue
{
get;
set;
} = 20;
/// <summary>
/// 发送数据时间间隔
/// </summary>
public int SendInterval
{
get;
set;
} = 20;
/// <summary>
/// 通讯服务URLCS
/// </summary>
public string ConnSvrURL
{
get;
set;
} = "127.0.0.1:41102,OP1010";
/// <summary>
/// 通讯标头CS
/// </summary>
public string Prefix
{
get;
set;
} = "TOBS??SCADAMain?";
/// <summary>
/// 通讯项目标头CS
/// </summary>
public string ObjectHeader
{
get;
set;
} = "DT";
/// <summary>
/// 通讯服务URLBS
/// </summary>
public string ConnSvrURLBS
{
get;
set;
} = "127.0.0.1:61101,SCADAMain";
/// <summary>
/// 通讯标头BS
/// </summary>
public string PrefixBS
{
get;
set;
} = "TOCS??OP1010?";
/// <summary>
/// 通讯项目标头BS
/// </summary>
public string ObjectHeaderBS
{
get;
set;
} = "DT";
///// <summary>
///// OPC连接的URL
///// </summary>
//public string OpcUrl
//{
// get;
// set;
//} = "127.0.0.1:41102,OP1020";
/// <summary>
/// 三维网页的URL
/// </summary>
public string WebUrl
{
get;
set;
} = "http://192.168.1.188:1257/editor/index_RobotPlan.html";
/// <summary>
/// 三维网页文件的路径
/// </summary>
public string WebFilePath
{
get;
set;
} = @"C:\00-资料夹\DT_WebFile\00-DT_";
/// <summary>
/// 程序启用Chrome浏览器
/// </summary>
public bool IsStartChrome
{
get;
set;
} = true;
/// <summary>
/// 使用服务器通讯方式
/// </summary>
public bool ConnMode
{
get;
set;
} = true;
/// <summary>
/// 是允许修改模型可见性
/// </summary>
public bool IsAllowVisible
{
get;
set;
} = true;
/// <summary>
/// 是记录现场真实数据
/// </summary>
public bool IsRecordData
{
get;
set;
} = false;
///// <summary>
///// 行为附加状态数据
///// </summary>
//public bool ActAttachStateData
//{
// get;
// set;
//} = true;
/// <summary>
/// 模型文件路径
/// </summary>
public string ModelFilePath
{
get;
set;
} = "";
/// <summary>
/// 数据库备份的路径
/// 2021.12.3.LLX
/// </summary>
public string SqlBakPath
{
get;
set;
} = @"C:\mwdf_bak";
/// <summary>
/// 是虚拟的PLC模式
/// 2021.12.3.LLX
/// </summary>
public bool IsPlcSim
{
get;
set;
} = true;
}