/// <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
        }
示例#2
0
 public PLC(SQLConnection.ComponentsTable module) : base(module)
 {
 }