You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

214 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CFX;
using CFX.Structures;
using Sln.Iot.CFX.Event;
namespace Sln.Iot.CFX
{
/// <summary>
/// 入场前CFX测试
/// </summary>
public class CFXTest
{
CFXHelper _cfxHelper = CFXHelper.Instance;
HeartbeatEvent heartbeatEvent = new HeartbeatEvent();
EndpointConnectedEvent endpointConnectedEvent = new EndpointConnectedEvent();
EndpointShuttingDownEvent endpointShuttingDownEvent = new EndpointShuttingDownEvent();
FaultAcknowledgedEvent faultAcknowledgedEvent = new FaultAcknowledgedEvent();
FaultClearedEvent faultClearedEvent = new FaultClearedEvent();
FaultOccurredEvent faultOccurredEvent = new FaultOccurredEvent();
LogEntryRecordedEvent logEntryRecordedEvent = new LogEntryRecordedEvent();
RecipeActivatedEvent recipeActivatedEvent = new RecipeActivatedEvent();
RecipeModifiedEvent recipeModifiedEvent = new RecipeModifiedEvent();
StationOfflineEvent stationOfflineEvent = new StationOfflineEvent();
StationOnlineEvent stationOnlineEvent = new StationOnlineEvent();
StationParametersModifiedEvent stationParametersModifiedEvent = new StationParametersModifiedEvent();
StationStateChangedEvent stationStateChangedEvent = new StationStateChangedEvent();
UnitsArrivedEvent unitsArrivedEvent = new UnitsArrivedEvent();
UnitsDepartedEvent unitsDepartedEvent = new UnitsDepartedEvent();
UnitsProcessedEvent unitsProcessedEvent = new UnitsProcessedEvent();
WorkCompletedEvent workCompletedEvent = new WorkCompletedEvent();
WorkStageCompletedEvent workStageCompletedEvent = new WorkStageCompletedEvent();
WorkStagePausedEvent workStagePausedEvent = new WorkStagePausedEvent();
WorkStageResumedEvent workStageResumedEvent = new WorkStageResumedEvent();
WorkStageStartedEvent workStageStartedEvent = new WorkStageStartedEvent();
WorkStartedEvent workStartedEvent = new WorkStartedEvent();
public void Test1()
{
// 实例化所有事件对象
// 发布所有事件
//_cfxHelper.PublishEvent(new CFXEnvelope(heartbeatEvent.Handle("CFX.A00.SDSH000003")));
_cfxHelper.PublishEvent(new CFXEnvelope(endpointConnectedEvent.Handle("CFX.A00.SDSH000003")));
_cfxHelper.PublishEvent(new CFXEnvelope(faultOccurredEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(faultAcknowledgedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(stationStateChangedEvent.Handle(ResourceState.USD_Repair)));
_cfxHelper.PublishEvent(new CFXEnvelope(faultClearedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(stationStateChangedEvent.Handle(ResourceState.PRD)));
_cfxHelper.PublishEvent(new CFXEnvelope(logEntryRecordedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(recipeActivatedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(recipeModifiedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(stationOfflineEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(stationOnlineEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "-1", "0", "-1", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "0", "1", "0", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "1", "4", "1", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "2", "2", "2", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "3", "2", "3", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "4", "2", "4", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "5", "2", "5", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "6", "1", "6", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "7", "2", "7", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "8", "2", "8", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "9", "2", "9", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "10", "3", "10", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "11", "3", "11", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(stationParametersModifiedEvent.Handle(ParameterSet("SDSH000003", "制程设备", "12", "2", "12", "1000", "0", "60", "3600", "4", "1", "5", "0", "0"))));
_cfxHelper.PublishEvent(new CFXEnvelope(unitsArrivedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(workStartedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreHeatOven", 1)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreHeatOven", 1)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreHeatOven", 1)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreHeatOven", 1)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreCureOven", 2)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreCureOven", 2)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreCureOven", 2)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreCureOven", 2)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("CureOven", 3)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("CureOven", 3)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("CureOven", 3)));
_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("CureOven", 3)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreHeatOven", 1)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageStartedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStagePausedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageResumedEvent.Handle("PreCureOven", 2)));
//_cfxHelper.PublishEvent(new CFXEnvelope(workStageCompletedEvent.Handle("PreCureOven", 2)));
_cfxHelper.PublishEvent(new CFXEnvelope(workCompletedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(unitsDepartedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(unitsProcessedEvent.Handle()));
_cfxHelper.PublishEvent(new CFXEnvelope(endpointShuttingDownEvent.Handle("CFX.A00.SDSH000003")));
_cfxHelper.SendValidateUnitsRequest("amqp://127.0.0.1:8888", "inline-control");
}
/// <summary>
/// stationParameters参数设置
/// </summary>
public List<Parameter> ParameterSet(
string interfaceID,
string equipType,
string status,
string light,
string statusCode,
string passQty,
string failQty,
string cycleTime,
string runningTime,
string waitingTime,
string selfCheck,
string inputQty,
string errorCnt,
string errorTimes
)
{
return new List<Parameter>()
{
new GenericParameter()
{
Name = "InterfaceID",
Value = interfaceID
},
new GenericParameter()
{
Name = "EquipType",
Value = equipType
},
new GenericParameter()
{
Name = "Status",
Value = status
},
new GenericParameter()
{
Name = "Light",
Value = light
},
new GenericParameter()
{
Name = "StatusCode",
Value = statusCode
},
new GenericParameter()
{
Name = "PassQty",
Value = passQty
},
new GenericParameter()
{
Name = "FailQty",
Value = failQty
},
new GenericParameter()
{
Name = "CycleTime",
Value = cycleTime
},
new GenericParameter()
{
Name = "RunningTime",
Value = runningTime
},
new GenericParameter()
{
Name = "WaitingTime",
Value = waitingTime
},
new GenericParameter()
{
Name = "SelfCheck",
Value = selfCheck
},
new GenericParameter()
{
Name = "InputQty",
Value = inputQty
},
new GenericParameter()
{
Name = "ErrorCnt",
Value = errorCnt
},
new GenericParameter()
{
Name = "ErrorTimes",
Value = errorTimes
},
};
}
}
}