public VisMain() { InitializeComponent(); dgHaderLance.RowCount = LanceStringsCount; dgPatternLance.RowCount = LanceStringsCount; dgHaderAdditions.RowCount = MaterialsCount; dgPatternAdditions.RowCount = MaterialsCount; m_cntJobReadyList = new List<int>(); for (int i = 0; i < WeigherNum; i++) m_cntJobReadyList.Add(0); PushGate = new Client(); var o = new TestEvent(); ListenGate = new Client(new Listener()); ListenGate.Subscribe(); initTimer.Interval = 2000; initTimer.Start(); LanceHaderFill(); comJobW3Old = new comJobW3Event(); comJobW4Old = new comJobW4Event(); comJobW5Old = new comJobW5Event(); comJobW6Old = new comJobW6Event(); comJobW7Old = new comJobW7Event(); //gbW3.BackColor = Color.FromArgb(0,0,50); //gbW4.BackColor = Color.FromArgb(255,100,0); }
public void Process(comJobW4Event _event) { try { this._Module._Heat.comJobW4History.Add(_event); } catch { } }
public static int SenderWeigherLoadMaterial(List<WeigherQuant> weigherQuant) { // m_pushGate.PushEvent(new HeatSchemaStepEvent() { Step = currentStep }); //comAdditionsSchemaEvent bunkers = new comAdditionsSchemaEvent(); var jobW3Event = new comJobW3Event(); var jobW4Event = new comJobW4Event(); var jobW5Event = new comJobW5Event(); var jobW6Event = new comJobW6Event(); var jobW7Event = new comJobW7Event(); var w3HaveJob = false; var w4HaveJob = false; var w5HaveJob = false; var w6HaveJob = false; var w7HaveJob = false; // заполняем значениями, что не заполнили останется -1 - важно для правильной работы весов(только 1 материал грузим) int weigher = 0; if (weigherQuant[weigher].BunkerId == 0) // W3 RB5 (0,0) { jobW3Event.RB5Weight = weigherQuant[weigher].PortionWeight; jobW3Event.RB5Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW3Event.RB5Weight > 0) w3HaveJob = true; } if (weigherQuant[weigher].BunkerId == 1) // W3 RB6 (0,1) { jobW3Event.RB6Weight = weigherQuant[weigher].PortionWeight; jobW3Event.RB6Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW3Event.RB6Weight > 0) w3HaveJob = true; } weigher = 1; if (weigherQuant[weigher].BunkerId == 2) // W4 RB7 (1,2) { jobW4Event.RB7Weight = weigherQuant[weigher].PortionWeight; jobW4Event.RB7Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW4Event.RB7Weight > 0) w4HaveJob = true; } weigher = 2; if (weigherQuant[weigher].BunkerId == 3) // W5 RB8 (2,3) { jobW5Event.RB8Weight = weigherQuant[weigher].PortionWeight; jobW5Event.RB8Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW5Event.RB8Weight > 0) w5HaveJob = true; } weigher = 3; if (weigherQuant[weigher].BunkerId == 4) // W6 RB9 (3,4) { jobW6Event.RB9Weight = weigherQuant[weigher].PortionWeight; jobW6Event.RB9Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW6Event.RB9Weight > 0) w6HaveJob = true; } weigher = 4; if (weigherQuant[weigher].BunkerId == 5) // W7 RB10 (4,5) { jobW7Event.RB10Weight = weigherQuant[weigher].PortionWeight; jobW7Event.RB10Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW7Event.RB10Weight > 0) w7HaveJob = true; } if (weigherQuant[weigher].BunkerId == 6) // W7 RB11 (4,6) { jobW7Event.RB11Weight = weigherQuant[weigher].PortionWeight; jobW7Event.RB11Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW7Event.RB11Weight > 0) w7HaveJob = true; } if (weigherQuant[weigher].BunkerId == 7) // W7 RB12 (4,7) { jobW7Event.RB12Weight = weigherQuant[weigher].PortionWeight; jobW7Event.RB12Oxygen = weigherQuant[weigher].OxygenTreshold; if (jobW7Event.RB12Weight > 0) w7HaveJob = true; } // m_pushGate.PushEvent(bunkers); // отправляем задание for (int i = 0; i < weigherQuant.Count; i++) { var quant = weigherQuant[i]; if (quant.PortionWeight > 0) { InstantLogger.log("JOB SENDER:"); Thread.Sleep(DelayRefrashData); if (w3HaveJob) { m_pushGate.PushEvent(jobW3Event); InstantLogger.log(string.Format("PushEvent: jobW3Event ==> {0}", jobW3Event.ToString())); } if (w4HaveJob) { m_pushGate.PushEvent(jobW4Event); InstantLogger.log(string.Format("PushEvent: jobW4Event ==> {0}", jobW4Event.ToString())); } if (w5HaveJob) { m_pushGate.PushEvent(jobW5Event); InstantLogger.log(string.Format("PushEvent: jobW5Event ==> {0}", jobW5Event.ToString())); } if (w6HaveJob) { m_pushGate.PushEvent(jobW6Event); InstantLogger.log(string.Format("PushEvent: jobW6Event ==> {0}", jobW6Event.ToString())); } if (w7HaveJob) { m_pushGate.PushEvent(jobW7Event); InstantLogger.log(string.Format("PushEvent: jobW7Event ==> {0}", jobW7Event.ToString())); } Thread.Sleep(DelayRefrashData); if (w3HaveJob) { m_pushGate.PushEvent(new cntWeigher3JobReadyEvent() {Counter = m_cntWeighersJobReady[0]++}); // подтверждаем задание для весов w3 InstantLogger.log(string.Format("job for w3 ==> {0}", weigherQuant[0].ToString())); } if (w4HaveJob) { m_pushGate.PushEvent(new cntWeigher4JobReadyEvent() {Counter = m_cntWeighersJobReady[1]++}); // подтверждаем задание для весов w4 InstantLogger.log(string.Format("job for w4 ==> {0}", weigherQuant[1].ToString())); } if (w5HaveJob) { m_pushGate.PushEvent(new cntWeigher5JobReadyEvent() {Counter = m_cntWeighersJobReady[2]++}); // подтверждаем задание для весов w5 InstantLogger.log(string.Format("job for w5 ==> {0}", weigherQuant[2].ToString())); } if (w6HaveJob) { m_pushGate.PushEvent(new cntWeigher6JobReadyEvent() {Counter = m_cntWeighersJobReady[3]++}); // подтверждаем задание для весов w6 InstantLogger.log(string.Format("job for w6 ==> {0}", weigherQuant[3].ToString())); } if (w7HaveJob) { m_pushGate.PushEvent(new cntWeigher7JobReadyEvent() {Counter = m_cntWeighersJobReady[4]++}); // подтверждаем задание для весов w7 InstantLogger.log(string.Format("job for w7 ==> {0}", weigherQuant[4].ToString())); //InstantLogger.log(string.Format("job for w7 ==> {0}", jobW7Event.ToString())); } Thread.Sleep(DelayRefrashData); break; } } return 0; }