2. 1. 제품 설명.
2. 왜 소프트웨어로??
3. 발견된 버그.
4. 어떤 상황에서 발생??
5. 구조도
6. 흐름도
*
3. * 엘리베이터
- 동력을 사용하여 사람이나 화물을 아래위로 나
르는 장치. ‘승강기’, ‘자동 승강기’로 순화.
*
4. • 고층의 건물과 같이 인간이 올라가기 힘든 곳을 빠르고 편리하게 올라
엘리베이터
VS
인간
갈 수 있다.
• 엘리베이터를 이용하면 화물 운반과 같은 작업을 효율적으로 수행 할
수 있다.
• 해당 층에서 엘리베이터를 호출 했을 경우 실시간으로 작동 되야 하므
Software
VS
Hardware
로.
• 엘리베이터를 사용하는 곳마다 층별로 높이, 층의 수, 속도 등등.. 다
다르기 때문에 소프트웨어로 유동적으로 관리해야 되기 때문에.
*
5. * 자동으로 문이 열렸다 닫히는 버그.
* 갑자기 승강기가 멈추는 버그.
* 층 표시 오류.
* 여러 층이 눌려있는 경우 중간층에
서지 않고 제일 윗층으로 가는 오류.
* 호출 시 다른 층에서 서는 오류.
* 버튼이 눌리지 않는 오류….등등
*
6. * 풍압, 기압..
- 각층에 설치된 배연 창이 조금이라도 열렸을 시 풍압과 기압에 의하여
엘리베이터 홀 내의 바람이 외부로 방출 내지 이동되면서 모뎀장애 등이
발생되어 버튼 오작동 및 순간 작동 정지 될 수 있음.
* Inverter 고장
- 직류전력을 교류전력으로 변환하는 장치인데, 변환 과정의 오류로 인한
제약성이 많은 임베디드 소프트웨어에 영향을 준다고 함.
* 먼지..
- 수 많은 불순물 중 전기가 미세하게 흐르는 물질로 인해..
* 열에 의한 오작동..
- 반도체 소자가 손상, 그로 인해 cpu 온도 증가하여 시스템 다운, 재부팅,
연산오류
*
9. 시작
버튼 누름
상태 정보 출력
위치에 따라
Door
*
문 작동
2
Elevator
1
엘리베이터 작동
10. 1
문 작동
문 열기 전 딜레이
문열기(모터2 정회전)
문 작동 종료
문이 완전히 열렸나?
No
Yes
문 닫은 후 딜레이
Yes
문 정지(모터2 정지)
사람이 타는 동안의 딜레이
같은 층에서 버튼이
눌려졌나?
문닫기(모터2 역회전)
No
문이 완전히 닫혔나?
No
*
11. 2
No
버튼이 눌려졌나?
엘리베이터 작동
Yes
프로그램 초기화
눌려진 층수에 따라
엘리베이터 상태에 따라
정지
상위층
하강
상승
상승(모터1 정회전)
하강(모터1 역회전)
하위층
같은층
적외선 센서 층 감지?
No
*
Yes
엘리베이터 상태
= 상승
엘리베이터 상태
= 하강
Task = Door
(문 열었다 닫기)
Yes
목적층인가?
No
모터1 정지
엘리베이터 작동 주기 끝