anchor.diff:  begin
     inherited LoadData(ini_tech, section, ini_rel, ini_stat);
   
  -  Self.RozpSettings.RCSAddrs := Self.LoadRCS(ini_tech, section);
  +  Self.m_settings.RCSAddrs := Self.LoadRCS(ini_tech, section);
     Self.LoadORs(ini_rel, 'R').Free();
  -  PushRCSToArea(Self.m_areas, Self.RozpSettings.RCSAddrs);
  -
  -  Self.RozpStav.note := ini_stat.ReadString(section, 'stit', '');
  +  PushRCSToArea(Self.m_areas, Self.m_settings.RCSAddrs);
  +
  +  Self.m_state.note := ini_stat.ReadString(section, 'stit', '');
   end;
   
   procedure TBlkDisconnector.SaveData(ini_tech: TMemIniFile; const section: string);
   begin
     inherited SaveData(ini_tech, section);
   
  -  Self.SaveRCS(ini_tech, section, Self.RozpSettings.RCSAddrs);
  +  Self.SaveRCS(ini_tech, section, Self.m_settings.RCSAddrs);
   end;
   
   procedure TBlkDisconnector.SaveStatus(ini_stat: TMemIniFile; const section: string);
   begin
  -  if (Self.RozpStav.note <> '') then
  -    ini_stat.WriteString(section, 'stit', Self.RozpStav.note);
  +  if (Self.m_state.note <> '') then
  +    ini_stat.WriteString(section, 'stit', Self.m_state.note);
   end;
   
   /// /////////////////////////////////////////////////////////////////////////////
  
positive.code: 
  function TBlkDisconnector.GetSettings(): TBlkDiscSettings;
  begin
    Result := Self.RozpSettings;
  end;
  
  procedure TBlkDisconnector.SetSettings(data: TBlkDiscSettings);
  begin
    if (Self.RozpSettings.RCSAddrs <> data.RCSAddrs) then
      Self.RozpSettings.RCSAddrs.Free();
  
    Self.RozpSettings := data;
    Self.Change();
  end;
  
  
negative.code: procedure TBlkDisconnector.Disable();
  begin
    Self.state := TBlkDiscBasicState.disabled;
    Self.m_state.rcsFailed := false;
    Self.Change(true);
  end;
  
  function TBlkDisconnector.UsesRCS(addr: TRCSAddr; portType: TRCSIOType): Boolean;
  begin
    Result := ((portType = TRCSIOType.output) and (Self.m_settings.RCSAddrs.Contains(addr)));
  end;
  
  /// /////////////////////////////////////////////////////////////////////////////
  
  procedure TBlkDisconnector.Update();
  begin
    if ((Self.state <> TBlkDiscBasicState.disabled) and (not RCSi.IsNonFailedModule(Self.m_settings.RCSAddrs[0].board)))
    then
    begin
      Self.state := TBlkDiscBasicState.disabled;
      Self.m_state.rcsFailed := true;
    end;
  
    case (Self.state) of
      TBlkDiscBasicState.disabled:
        begin
          if ((Self.m_state.rcsFailed) and (RCSi.IsNonFailedModule(Self.m_settings.RCSAddrs[0].board))) then
          begin
            Self.m_state.rcsFailed := false;
            Self.state := TBlkDiscBasicState.not_selected;
          end;
        end;
      TBlkDiscBasicState.mounting:
        begin
          if (Now > Self.m_state.finish) then
          begin
            Self.m_state.finish := Now + EncodeTime(0, Self._ACTIVE_TO_DISABLE_TIME_SEC div 60,
                                                     Self._ACTIVE_TO_DISABLE_TIME_SEC mod 60, 0);
            Self.state := TBlkDiscBasicState.active;
          end;
        end;
      TBlkDiscBasicState.active:
        if (Now > Self.m_state.finish) then
          Self.state := TBlkDiscBasicState.not_selected;
    end; // case
  
  