예시로 사용할 아주 간단한 교차로를 만들어보자

복선이 이해하기 편할 것이라고 생각하고, 설명은 복선으로 진행할 것이다. 


이런교차로를 생각할수 있을것이다. 좌/우회전 및 U턴은 나중에 생각하고, 당장은 연속신호를 썼을때와 안썼을때 어떤변화를 가져오는지를 보기위해 간략하게 설치했다.


우선 이상태로 기차를 4개 배치하고 각 역으로 출발시키면


당연히 이렇게 충돌이 발생한다.

한개의 선로는 어떻게든 서로 상호작용하는 선로들 전부 포함한다고 정의하면, 열차 신호는 한 개의 선로에 2개 이상의 기차를 사용하기 위해 필요한 셈이다. 위의 경우엔 한 선로에 4개의 기차가 있으니 열차신호가 필요한데, 그게 없어서 충돌이 발생했다고 볼 수 있다.


아주 간단하게 생각해볼 수 있게 신호를 박아보았다. 교차로 전체의 입력과 출력 전부 일반신호를 박은 모습이다.


이상태로 열차 4대를 동시에 출발시켜보면, 교차로는 분명 한번에 2개의 기차라 서로 지나갈 수 있게 설계되어있는데 반해 무조건 교차로내에 1대만 통행하는 통행량이 저조해지는 현상이 발생한다.


이를 해결하기 위해 일반신호로 좀더 자세하게 구간을 쪼개보고 실험해보자. 아까와 똑같은 환경에서 가운데 일반신호만 4개추가되어 구간을 나눠주었다.


데드락이 걸리는 모습을 확인할 수 있다. 통행량을 개선하고자 일반신호를 박았는데 오히려 통행량이 무한히 떨어지는 현상이 벌어진 셈이다. 즉, 일반신호로는 교차로의 통행량 저하를 해결할 수 없다라는 것이다.


그래서 아까 세팅에서 안쪽에만 연속신호로 그대로 바꿔보면 스샷은 못찍었는데, 위에상황과 똑같이 데드락이 발생함. 이것은 열차가 교차로에 들어가기전에, 자신의 경로가 있는지를 확인해야하는데, 일반신호는 자신이 가고자 하는 경로가 완전히 막혀있는지 확인을 못해준다고 볼 수 있음. 

여기서 각 신호의 역할을 보면,

일반신호는 자기보다 앞의 신호까지 구간에 기차가 존재한다면 빨간색이 출력됨.

연속신호는 일반신호 역할에 더불어, 자신보다 앞의 신호의 정보를 그대로 반영함.

이는 교차로에 들어가기전에, 교차로 안의 신호를 앞서 반영할 수 있는 연속신호를 입구에 두면, 기차가 일단 교차로에 들어가는 상황을 미연에 방지할 수 있다고 생각해 볼 수 있음.


그렇게 해서 개선된 교차로 모습. 신호 안들고 사진 찍었어서 이번엔 들고 찍어서 구간이 정확히 어케 나눠졌나도 찍어봄. 이상태로 기차 4대를 동시에 출발시켜보자.


교차로가 허용 가능한 최대 통행량으로 열차들이 진행되는 모습을 볼 수 있다.


이제 요약을 해보자


1. 한선로에 기차가 2대 이상 있을 경우 충돌을 방지하기위해 열차신호를 사용해야함.

2. 교차로의 입력 출력에 전부 일반신호를 박는것으로 교차로는 구현 되지만, 통행량이 저조해짐.

3. 교차로의 통행량을 올리기 위해서는 연속신호를 사용해야하며, 교차로의 입구부분 및 교차로 내부 신호는 전부 연속신호를 사용하면 됨.


이상 연속신호를 사용하는 이유에 대해 알아보았다.