이러한 시스템 eHouse에 대한 자신의 제어 알고리즘을 만드는 홈 오토메이션

건물 관리 eHouse는 자신의 오버레이를 (응용 프로그램이있는 eHouse 시스템 서버 PC에서 실행) 만들 수 있습니다 , 쉽게 델파이에 대한 우리의 소프트웨어 EhouseLogAnalizer 템플릿을 사용하여 자신의 개인 프로그래밍 알고리즘을 개발 할 수있는 . 이 소프트웨어는에서 논의되었습니다 ” 로그 분석기 스마트 홈 eHouse ” 시스템 eHouse의 기능의 확장 홈 자동화 .
오늘날의 안정성과 ; 님의 PC에 , 및 Windows는 KillExec 응용 프로그램에 의해 모니터링 지능형 홈 관리 소프트웨어 eHouse의 원활한 지속적으로 운영 할 수 있습니다 . EXE .
응용 프로그램 오류 정지의 경우 폐쇄 및 사용자 개입없이 시스템을 다시 시작 .
Windows 및 시스템 eHouse 연속성의 설정 적절한는 여러 달 동안 PC에서 스마트 홈 소프트웨어를 작동 할 수 있습니다으로 .
적절한 쓰기 소프트웨어를 스마트 홈 제어 시스템은 순차적 인 테스트 eHouse 변화 측정 (필요하며 필요한 경우 적절한 컨트롤 이벤트를 보내 – 시간) .
소프트웨어를 만드는 데 자신의 제어 알고리즘을 작성하는 경우 – 무분별 반복적으로 동일한 이벤트를 전송하지 않도록 이벤트의 완료에 attesting 플래그 : 예를 들어, , 이미 폐쇄 블라인드를 닫 2 초마다 .
응용 프로그램은 여러 타이머에 할당 할 수 있습니다 :
처음으로 – 이러한 데이터 드라이버에게 10 초 업데이트로 주요 .
다른 – 값 â € <â € <현상의 다양성에 따라 :
예 . 블라인드의 제어를위한 , 야외 온도 및 조명 수준 awnings은 몇 분있을 수 있습니다 .
드라이브 제어 블라인드의 경우 , 문 , 후작 , 창 , 등 . 갈대 스마트 홈 컨트롤러 eHouse 디지털 입력에 연결 사용할 수 있습니다 , 자신의 가까이의 증거와 입력 데이터를 RoomManager의 상태에 제어 작업을 , 어떤 플래그 Sofware보다 훨씬 더와 truer 수 있습니다 , 값이 드라이브에 의한 소프트웨어 버그 또는 오류의 결과 (안의 폐쇄로 잘못 설정할 수 있습니다 , 기계적인 , 블록 , 등 . ) .

예를 들면 (간격 몇 초마다 운영 반복적 인 루프에서) 응용 프로그램 eHouseLogAnalizer의 컨트롤러에서 데이터를 사용하여 .

/ / 컨트롤러 보일러 HeatManagera의 데이터를 초기화
TzewnetrznaPN : = HADC [HM_ZEWNPN] ; / / 외부 온도 북
TemperaturaGWC : = HADC [HM_GWC] ; GWC에 대한 / / 온도 – recuperator에 대한 기본 열교환 기
TemperaturaKominekPlaszcz : = HADC [HM_KOM1] ; 굴뚝 한 센서의 물 / / 온도
TemperaturaKominekKonvekcja : = HADC [HM_KOMKONV] ; / / 온도 대류 벽난로 – 벽난로의 실제 작품의 굴뚝에서 센서
TemperaturaKominekPlaszcz : = HADC [HM_KOM2] ; / / 소방 물 재킷 온도 센서 2 – (백업)
TemperaturaWewnÄ ™ trzna : = HADC [HM_TWEWN] ; / / 내부 실내 온도 – CO에 대한
TemperaturaSolar : = HADC [HM_SOLAR] ; / / 온도 태양열 집열기 파이프 피크 (뜨거운)
TzewnetrznaPD : = HADC [HM_ZEWNPD] ; / / 외부 온도 정오
Tkociol : = HADC [HM_KOC] ; / / 보일러 튜브 온도 피크 (뜨거운)
TemperaturaBuforaCODol : = HADC [HM_BANDOL] ; / / 온도 CO / 온수 탱크 아래로
TemperaturaRecuIn : = HADC [HM_REQIN] ; / / 입력 recuperator 온도 깨끗한 공기
TemperaturaRecuOut : = HADC [HM_REQOUT] ; / / 출력 공기 온도 recuperator 집
TemperaturaZaworTrojDrozny : = HADC [HM_NAG] ; / / 온도 제어 세 – 이러한 히터 또는 라디에이터를위한 방법 밸브
TemperaturaRecuWyciog : = HADC [HM_REQWYC] ; 집 더러운 공기의 / / 압축 recuperator 온도
TemperaturaBuforaCOGora : = HADC [HM_BANGORA] ; / / 온도 난방 / 온수 탱크까지
TemperaturaBuforaCOSrodek : = HADC [HM_BANSRO] ; / / 온도 난방 / 온수 탱크 센터
센서로부터 RoomManager에 / / 측정
TzewWschod : = RMGetTempNr (get_index_rm ( ‘ 55 – 이 ‘ ) , 8) ; RM이 없음 / / 야외 온도 센서 동쪽 . 주소 55 8 – 이
TzewZachod : = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; 없음으로 서 외부 / / 온도 센서 . 주소 55 RM 8 – 3
TzewPolnoc : = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; 북한 외부 / / 온도 센서 없음 . 주소 55 RM 8 – 4
TzewPoludnie : = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; 한국 밖에서 / / 온도 센서 없음 . 주소 55 RM 8 – 5
LNaslonecznienieWschod : = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 이 ‘ ) , 1) ; 센서의 주변 광 동쪽 / / 레벨 없음 . 주소 55 RM 1 – 이
LNaslonecznienieZachod : = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / 주변 광 센서 수준 웨스트 없음 . 주소 55 RM 1 – 3
LNaslonecznieniePolnoc : = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / 주변 광 센서 수준의 북쪽 없음 . 주소 55 RM 1 – 4
LNaslonecznieniePoludnie : = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / 주변 광 센서 수준의 남부 없음 . 주소 55 RM 1 – 5
SilaWiatru : = : = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / 주변 광 센서 수준의 남부 없음 . 주소 55 RM 1 – 5
제어 알고리즘은 임의 수 있으며, 매개 변수 및 측정의 지금까지 특정 물리적 수량을 사용하고 센서가 설치되어 포함되어있을 수 있습니다 .
같은 느린 반복 타이머에 포함 된 / / 알고리즘 . 매 10 분마다
에너지 / / 예 – 롤러 셔터와 awnings (태양으로 인해 상당한 비용 절감의 결과로 '의 효율적 관리 ; s은 (는) 선 겨울에 집에 가열하는), 무료 태양 에너지의 축적
태양 광을 건물의 동쪽에 객실 / / 무료 및 생태 난방
그런 다음 / / (RoletyWschod되지 않음)하면 더 이상 개방없는 경​​우
경우 (LNaslonecznienieWschod> ; 80) 후 / / 경우 일 – 경험적으로의 가치를 확인
경우 (월 < ; ; 5) 월> ; 8) 후 / / 경우 9 월부터 4 월까지 한 달
경우 (TzewWschod> ; 0C보다 0) 태양의 다음 / / 온도 센서가 예열 ​​높은
경우 (시간> ; 8) 및 (시간 < ; ; 11) 후 / / 아침에 태양이 동쪽에서 직접 테니까요
시작하다
RoletyWschod : = true ; / / 플래그는 셔터 동쪽을 엽니 다
OtworzRoletyWschod ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
ZamknijMarkizyWschod ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;
건물의 남쪽에 객실 / / 무료 및 생태 난방 , 태양 ' ; S 선
그런 다음 / / (안 RoletyPoludnie)하면 더 이상 개방없는 경​​우
경우 (LNaslonecznieniePolodnie> ; 80) 후 / / 경우 일 – 경험적으로의 가치를 확인
경우 (월 < ; ; 5) 월> ; 8) 후 / / 경우 9 월부터 4 월까지 한 달
경우 (TzewPoludnie> ; 0C보다 0) 태양의 다음 / / 온도 센서가 예열 ​​높은
경우 (시간> ; 10) 및 (시간 < ; ; 14) 후 / / 아침에 태양이 남쪽에서 직접 테니까요
시작하다
RoletyPoludnie : = true ; / / 셔터 남부 플래그를 엽니 다
OtworzRoletyPolodnie ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
ZamknijMarkizyPolodnie ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;
건물의 서쪽에 방 / / 무료 및 생태 난방 , 태양 ' ; S 선
그런 다음 / / (RoletyZachod되지 않음)하면 더 이상 개방없는 경​​우
경우 (LNaslonecznienieZachod> ; 80) 후 / / 경우 일 – 경험적으로의 가치를 확인
경우 (월 < ; ; 5) 월> ; 8) 후 / / 경우 9 월부터 4 월까지 한 달
경우 (TzewZachod> ; 0C보다 0) 태양의 다음 / / 온도 센서가 예열 ​​높은
경우 (시간> ; 14) 및 (시간 < ; ; 태양이 서쪽에서 직접 빛을 아침에 후 / / 18)
시작하다
RoletyZachod : = true ; / / 플래그는 셔터 서양 엽니 다
OtworzRoletyZachod ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
ZamknijMarkizyZachod ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;
/ / 생태와 경제적 인 여름에는 태양 광선에 의해 공간이 가열의 영향을 제한 – 제어 awnings
천막 / / 제어 – 태양 방사선을 줄이기 위해 awnings을 열고 여름에 집에 난방 – 동쪽
그런 다음 / / (안 MarkizaWschodA)하면 더 이상 개방없는 경​​우
경우 (SilaWiatru < ; ; 5) 다음 / / 경우 바람 없습니다
(IF (월> ; 4) 및 (월 < ; ; 9))가 / / 여름 개월
경우 (LNaslonecznienieWschod> ; 태양이 빛난다 50) 후 / / 경우
경우 (시간> ; 6) 및 (시간 < ; ; 12) 후 / / 경우 아침 시간
경우 (TwewnWschodA> ; 방은 너무 따뜻한 25) 후 / / 경우
시작하다
MarkizaWschodA : = true ; 열려있는 방에게 A를 천막 / / 국기
OtworzMarkizeWchodA ; / / 시스템 드라이버 eHouse에 이벤트 보내기
끝 ;
/ / 마찬가지로 , 당신은 다른 값으로 변경의 동쪽 외관의 다른 영역에서 awnings의 독립 제어 코드를 복제 할 수 있습니다
천막 / / 제어 – 태양 방사선을 줄이기 위해 awnings을 열고 여름 정오에 집을 가열
그런 다음 / / (안 MarkizaPoludnieA)하면 더 이상 개방없는 경​​우
경우 (SilaWiatru < ; ; 5) 다음 / / 경우 바람 없습니다
(IF (월> ; 4) 및 (월 < ; ; 9))가 / / 여름 개월
경우 (LNaslonecznieniePoludnie> ; 태양이 빛난다 50) 후 / / 경우
경우 (시간> ; 8) 및 (시간 < ; ; 18) 후 / / 힘든 태양은 남쪽에서 운영 시간하는 경우
경우 (TwewnPoludnieA> ; 방은 너무 따뜻한 25) 후 / / 경우
시작하다
MarkizaPoludnieA : = true ; 열려있는 방에게 A를 천막 / / 국기
OtworzMarkizePoludnieA ; / / 시스템 드라이버 eHouse에 이벤트 보내기
끝 ;
/ / 마찬가지로 , 당신은 다른 값으로 변경 남쪽 해발 고도의 다른 영역에서 awnings의 독립 제어 코드를 복제 할 수 있습니다
천막 / / 제어 – 오픈 awnings 태양 방사선을 줄이고 한다구 여름에 집에 가열로
그런 다음 / / (안 MarkizaZachodA)하면 더 이상 개방없는 경​​우
경우 (SilaWiatru < ; ; 5) 다음 / / 경우 바람 없습니다
(IF (월> ; 4) 및 (월 < ; ; 9))가 / / 여름 개월
경우 (LNaslonecznieniePoludnie> ; 태양이 빛난다 50) 후 / / 경우
경우 (시간> ; 8) 및 (시간 < ; ; 18) 후 / / 힘든 태양은 남쪽에서 운영 시간하는 경우
경우 (TwewnZachodA> ; 방은 너무 따뜻한 25) 후 / / 경우
시작하다
MarkizaZachodA : = true ; 열려있는 방에게 A를 천막 / / 국기
OtworzMarkizeZachodA ; / / 시스템 드라이버 eHouse에 이벤트 보내기
끝 ;
/ / 마찬가지로 , 당신은 다른 값으로 변경의 서쪽 외관의 다른 영역에서 awnings의 독립 제어 코드를 복제 할 수 있습니다
/ / 닫기 후작이 너무 바람입니다
경우 (LNaslonecznieniePoludnie < ; ; 20) 후 / / 태양이 빛나지 않을 경우 (경험적으로 비를 갖는 및 강우량 선택)
경우 (MarkizaPoludnieA)가 / / 경우 오픈 차양
시작하다
MarkizaPoludnieA : = false를 ; / /이 플래그를 변경
ZamknijMarkizePoludnieA ; / / 마이크로 프로세서 컨트롤러 eHouse 이벤트를 보내기
끝 ;
경우 (LNaslonecznienieZachod < ; ; 20) 후 / / 태양이 빛나지 않을 경우 (경험적으로 선택)
경우 (MarkizaZachodA)가 / / 경우 오픈 차양
시작하다
MarkizaZachodA : = false를 ; / /이 플래그를 변경
ZamknijMarkizeZachodA ; / / 마이크로 프로세서 컨트롤러 eHouse 이벤트를 보내기
끝 ;
경우 (LNaslonecznienieWschod < ; ; 20) 후 / / 태양이 빛나지 않을 경우 (경험적으로 선택)
경우 (MarkizaWschodA)가 / / 경우 오픈 차양
시작하다
MarkizaWschodA : = false를 ; / /이 플래그를 변경
ZamknijMarkizeWschodA ; / / 마이크로 프로세서 컨트롤러 eHouse 이벤트를 보내기
끝 ;
경우 (SilaWiatru> ; 5) 다음 / / 바람 블라인드를 닫습니다
하나는 열려 있으면 (MarkizaZachodA 또는 MarkizaWschodA 또는 MarkizaPoludnieA)가 / / 경우
시작하다
ZamknijWszystkieMarkizy ; / / 시스템 드라이버 eHouse에 이벤트 보내기
MarkizaZachodA : = false를 ;
MarkizaWschodA : = false를 ;
MarkizaPoludnieA : = false를 ;
끝 ;
/ / 닫는 셔터 자동 제어 온도는 창 밖의 제한적인 구멍을 통해 외부 탈출 할 수있는 열이 너무 낮은
/ / 남 – 남쪽 해발에 대한 태양의 추위와 부족에서 셔터를 닫은
(RoletyPoludnie)가 / /이 열려 있으면 경우
경우 (TzewPoludnie < – 10) then // temperature sensor smaller than the southern – 10C indicating the large cold and lack of sun heating the sensor on the south side

시작하다
RoletyPoludnie : = false를 ; / / 셔터 남부 플래그를 엽니 다
ZamknijRoletyPolodnie ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
/ / ZamknijMarkizyPolodnie ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;
동부 외관에 추위와 태양의 부족에서 / / 홈 히가시 닫는 블라인드
(RoletyWschod)가 / /이 열려 있으면 경우
경우 (TzewWschod < – 10) then // temperature sensor lower than the Eastern – 10C indicating the large cold and lack of sun heating the sensor on the east side

시작하다
RoletyWschod : = false를 ; / / 플래그는 셔터 동쪽을 엽니 다
ZamknijRoletyWschod ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
/ / ZamknijMarkizyWschod ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;
/ / 서쪽 해발 고도에 블라인드 서쪽에게 태양의 추위와 부족을 닫습니다
(RoletyZachod)가 / /이 열려 있으면 경우
경우 (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

시작하다
RoletyZachod : = false를 ; / / 플래그는 셔터 서양 엽니 다
ZamknijRoletyZachod ; 시스템 드라이버 eHouse에 이벤트를 전달 / / 기능
/ / ZamknijMarkizyZachod ; 태양이 너무 낮은이기 때문에 / / 아무것도주지 마
끝 ;