597 lines
12 KiB
C#
597 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
namespace LogicalBlock
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlockBasic
|
|
{
|
|
/// <summary>
|
|
/// 模型代码 或 工艺代码
|
|
/// </summary>
|
|
public string ResourcesCode
|
|
{
|
|
get;
|
|
set;
|
|
} = "";
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Type_Resources ResourcesType
|
|
{
|
|
get;
|
|
set;
|
|
} = Type_Resources.Model;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string LogicalBlockCode
|
|
{
|
|
get;
|
|
set;
|
|
} = Guid.NewGuid().ToString().ToUpper();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string LogicalBlockName
|
|
{
|
|
get;
|
|
set;
|
|
} = "空逻辑块";
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LogicalBlock_Input> List_LogicalBlock_Input
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<LogicalBlock_Input>();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LogicalBlock_Output> List_LogicalBlock_Output
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<LogicalBlock_Output>();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LogicalBlock_Param> List_LogicalBlock_Param
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<LogicalBlock_Param>();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LogicalBlock_Const> List_LogicalBlock_Const
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<LogicalBlock_Const>();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LogicalBlock_Operation> List_LogicalBlock_Operation
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<LogicalBlock_Operation>();
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public void GetConnectedSignalStr_Input()
|
|
{
|
|
foreach (LogicalBlock_Input logicalBlock_Input in List_LogicalBlock_Input)
|
|
{
|
|
var ConnectedSignal = logicalBlock_Input.ConnectedSignal;
|
|
logicalBlock_Input.ConnectedSignalStr = string.Join(", ", ConnectedSignal.Select(k => k.SignalName).ToArray());
|
|
}
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public void GetConnectedSignalStr_Output()
|
|
{
|
|
foreach (LogicalBlock_Output logicalBlock_Output in List_LogicalBlock_Output)
|
|
{
|
|
var ConnectedSignal = logicalBlock_Output.ConnectedSignal;
|
|
logicalBlock_Output.ConnectedSignalStr = string.Join(", ", ConnectedSignal.Select(k => k.SignalName).ToArray());
|
|
}
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlock_Output : LogicalBlock_Input
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ScriptText
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlock_Input
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string VarName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Type_Signal VarType
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ConnectedSignalStr
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<LB_Device_Signal> ConnectedSignal
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string Explain
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlock_Param
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string VarName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Type_Sensor SensorType
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string Explain
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ScriptText
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
/// 姿态代码,或者是位置数据代码等,即参数的代码。
|
|
/// </summary>
|
|
public string ParamCode
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlock_Const
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string VarName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Type_Signal VarType
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string VarValue
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string Explain
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LogicalBlock_Operation
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string OperationName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Type_Operation ApplyType
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ApplyToCode
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ApplyToName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string Explain
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ScriptText
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string ScriptText_Speed
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class LB_Device_Signal
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string SignalCode
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string SignalName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string SignalRegion
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 资源类型
|
|
/// </summary>
|
|
public enum Type_Resources
|
|
{
|
|
/// <summary>
|
|
/// 模型资源
|
|
/// </summary>
|
|
Model = 1,
|
|
/// <summary>
|
|
/// 工艺资源
|
|
/// </summary>
|
|
Craft = 2
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class JsSymbolTable
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string SymbolName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string SymbolValue
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class ResourcesArithmeticUnit
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Dictionary<String, JsSymbolTable> DC_SignalCode_JsSymbolTable
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Dictionary<String, LogicalBlock_Param> DC_ParamCode_LogicalBlockParam
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Dictionary<String, String> DC_ParamName_ParamValue
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public enum Type_Signal
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
BOOL = 1,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
BYTE = 2,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
WORD = 3,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
DWORD = 4,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
INT = 5,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
DINT = 6,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
REAL = 7,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
LREAL = 8
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public enum Type_Sensor
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
BOOL = 1,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
BYTE = 2,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
WORD = 3,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
DWORD = 4,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
INT = 5,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
DINT = 6,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
REAL = 7,
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
LREAL = 8,
|
|
/// <summary>
|
|
/// 关节值传感器(BOOL)
|
|
/// 姿态传感器
|
|
/// 2021.11.26.LLX
|
|
/// </summary>
|
|
JointValueSensor = 9,
|
|
/// <summary>
|
|
/// 关节距离传感器(REAL)
|
|
/// 2021.11.26.LLX
|
|
/// </summary>
|
|
JointDistanceSensor = 10,
|
|
/// <summary>
|
|
/// 关节运行中传感器(BOOL)
|
|
/// 2021.12.07.LLX
|
|
/// </summary>
|
|
JointRuningSensor = 11,
|
|
/// <summary>
|
|
/// 位置传感器
|
|
/// 2021.11.26.LLX
|
|
/// </summary>
|
|
PositionSensor = 12
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public enum Type_Operation
|
|
{
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
MoveToAttitude = 1,
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
JumpToAttitude = 2,
|
|
/// <summary>
|
|
/// REAL
|
|
/// </summary>
|
|
MoveToJoint = 3,
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
CraftInvoke = 4,
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
Visible = 5,
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
Rotation = 6,
|
|
/// <summary>
|
|
/// BOOL
|
|
/// </summary>
|
|
Attach = 7
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public struct SensorParamChangedParam
|
|
{
|
|
/// <summary>
|
|
/// 资源代码
|
|
/// </summary>
|
|
public string ResourcesCode
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
/// 姿态代码,或轴数据等代码
|
|
/// 传感器代码
|
|
/// </summary>
|
|
public string ParamCode
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
/// <summary>
|
|
/// 传感器值发生变化
|
|
/// </summary>
|
|
public string ChangedValue
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|