|
|
|
|
@ -6,7 +6,7 @@ namespace CncSimulator.Generator
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// FANUC品牌JSON数据生成器。
|
|
|
|
|
/// 根据设备状态生成10个Tag的FANUC格式JSON,与实际FANUC采集数据结构一致。
|
|
|
|
|
/// 根据设备状态生成12个Tag的FANUC格式JSON,与实际FANUC采集数据结构一致。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FanucDataGenerator : IBrandGenerator
|
|
|
|
|
{
|
|
|
|
|
@ -27,7 +27,7 @@ namespace CncSimulator.Generator
|
|
|
|
|
return device;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>生成10个Tag的JArray</summary>
|
|
|
|
|
/// <summary>生成12个Tag的JArray</summary>
|
|
|
|
|
private JArray GenerateTags(DeviceState state)
|
|
|
|
|
{
|
|
|
|
|
var tags = new JArray();
|
|
|
|
|
@ -68,7 +68,7 @@ namespace CncSimulator.Generator
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 严格按实际FANUC采集数据的10个Tag生成
|
|
|
|
|
// 严格按实际FANUC采集数据的12个Tag生成
|
|
|
|
|
AddNumericTag("_io_status", "设备状态", state.DeviceStatus);
|
|
|
|
|
AddNumericTag("Tag1", "加工零件总数", state.TotalPartCount);
|
|
|
|
|
AddStringTag("Tag5", "执行的NC主程序名", state.ProgramName);
|
|
|
|
|
@ -79,11 +79,20 @@ namespace CncSimulator.Generator
|
|
|
|
|
: state.ProgramContent);
|
|
|
|
|
AddNumericTag("Tag8", "当前加工零件数", state.PartCount);
|
|
|
|
|
AddNumericTag("Tag9", "运行状态", state.RunStatus);
|
|
|
|
|
AddNumericTag("Tag11", "操作模式", state.OperateMode);
|
|
|
|
|
AddNumericTag("Tag22", "开机时间", state.PowerOnTime);
|
|
|
|
|
AddNumericTag("Tag23", "运行时间", state.RunTime);
|
|
|
|
|
AddNumericTag("Tag24", "切削时间", state.CuttingTime);
|
|
|
|
|
AddNumericTag("Tag25", "循环时间", state.CycleTime);
|
|
|
|
|
AddStringTag("Tag26", "加工状态", GetRandomMachiningStatus());
|
|
|
|
|
|
|
|
|
|
return tags;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>随机返回加工状态: G01/G02/G03</summary>
|
|
|
|
|
private string GetRandomMachiningStatus()
|
|
|
|
|
{
|
|
|
|
|
string[] statuses = { "G01", "G02", "G03" };
|
|
|
|
|
return statuses[_rng.Next(statuses.Length)];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|