/// <summary> /// Nastavení dat komunikace dle požadovaného stavu z WindowSerizovani /// </summary> private void nastaveniVystupuSerizovani() { OPCZ215060_8 opcClient = Stroj.OpcClient; opcClient.DataKOdeslani.RucniOvladani.Value = ((WinSerizovaniL != null) || (WinSerizovaniP != null)); if (WinSerizovaniL != null) //Levá strana { opcClient.DataKOdeslani.L.DwManual1.Value = WinSerizovaniL.GetOutDWord(1); opcClient.DataKOdeslani.L.DwManual2.Value = WinSerizovaniL.GetOutDWord(2); } else { opcClient.DataKOdeslani.L.DwManual1.Value = 0; opcClient.DataKOdeslani.L.DwManual2.Value = 0; } if (WinSerizovaniP != null) //Pravá strana { opcClient.DataKOdeslani.P.DwManual1.Value = WinSerizovaniP.GetOutDWord(1); opcClient.DataKOdeslani.P.DwManual2.Value = WinSerizovaniP.GetOutDWord(2); } else { opcClient.DataKOdeslani.P.DwManual1.Value = 0; opcClient.DataKOdeslani.P.DwManual2.Value = 0; } }
/// <summary> /// Nastavení aktuálních hodnot vstupů windowIO dle přijatých dat z PLC /// </summary> private void nastaveniVstupuSerizovani() { OPCZ215060_8 opcClient = Stroj.OpcClient; if (!opcClient.PrijataData.EnableManual.Value && !InitInfo.Ladeni) //Zavření formuláře pro seřizování, není-li enable { if (WinSerizovaniL != null) { WinSerizovaniL.Close(); WinSerizovaniL = null; } if (WinSerizovaniP != null) { WinSerizovaniP.Close(); WinSerizovaniP = null; } } if (WinSerizovaniL != null && opcClient != null) { WinSerizovaniL.SetIn(1, opcClient.PrijataData.L.DwManual1.Value); WinSerizovaniL.SetIn(2, opcClient.PrijataData.L.DwManual2.Value); } if (WinSerizovaniP != null && opcClient != null) { WinSerizovaniP.SetIn(1, opcClient.PrijataData.P.DwManual1.Value); WinSerizovaniP.SetIn(2, opcClient.PrijataData.P.DwManual2.Value); } }
//Obsluha komunikace s PLC na úrovni práce s přijatými a odesílanými daty #region KomunikacePLC /// <summary> /// Připojení k OPC serveru pomocí objektu opcClient a spuštění WatchDogů pro sledování liveBitu !!!upravit komentář /// </summary> public void InicializaceOpc() { try { OpcClient = new OPCZ215060_8(150); OpcClient.OnPrijataData += new OPCClient.PrijataDataHandler(opcClient_OnPrijataData); OpcClient.OnNaplneniDatKOdeslani += () => obsluhaNaplneniDatKOdeslani(); //!!! OpcClient.pripojit("opcda://localhost/Kepware.KEPServerEX.V5"); } catch (Exception ex) { throw new Exception("Nepodařilo se připojit k OPC serveru!\n" + ex.Message); } }