/// <summary> /// Konstruktor klasy PLCMapper z pobraniem danych z obiektu typu ComponentsTable (pobieranego przez entity framework z SQLa. Pobiera zmienne potrzebne do rozpoczęcia komunikacji, inicjuje mapę zmiennych, rozpoczyna działanie timera. /// </summary> /// <param name="module">Obiekt typu ComponentsTable przechowujący dane na temat modułu ze sterownika PLC</param> public PLCMapper(SQLConnection.ComponentsTable module) : base(module) { establishingConnection = false; CpuType cpuType = ModuleType.ToS7CpuType(); unchecked //żeby nie wyrzucało błędu przepełnienia przy rzutowaniu int na short { short sl = Convert.ToInt16(module.Slot); short rk = Convert.ToInt16(module.Rack); plc = new Plc(cpuType, this.IPAddress.ToString(), rk, sl); //inicjowanie obiektu typu S7.Net.PLC - potrzebny do komunikacji } this.initializeMap(); //inicjowanie mapy zmiennych (musi być wykonana po utworzeniu obiektu dla zmiennej plc this.startTimer(); //uruchamianie timera odświeżającego zmapowane zmienne }