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