Interlocking là gì?
Interlocking là gì?
Section titled “Interlocking là gì?”Interlocking là hệ thống kiểm tra và khóa an toàn để đảm bảo rằng các hành trình chạy tàu không xung đột với nhau.
Có thể hiểu đơn giản:
Interlocking là bộ não an toàn của khu vực ga hoặc khu vực điều khiển, chịu trách nhiệm quyết định route nào được phép thiết lập và route nào phải bị từ chối.
Khi một route được yêu cầu, interlocking sẽ kiểm tra trạng thái của block, ghi, tín hiệu, route xung đột và các điều kiện bảo vệ khác. Nếu tất cả điều kiện an toàn được thỏa mãn, route có thể được khóa và tín hiệu có thể được mở.
Nếu có bất kỳ điều kiện nào không an toàn, interlocking phải từ chối route.
Vì sao cần interlocking?
Section titled “Vì sao cần interlocking?”Trong đường sắt, tàu chạy trên ray nên không thể đánh lái để tránh nhau như ô tô. Tàu cũng có khối lượng lớn, quán tính lớn và khoảng cách hãm dài.
Vì vậy, trước khi cho tàu chạy, hệ thống phải đảm bảo:
- Không có tàu khác đang chiếm dụng đường phía trước.
- Ghi đã nằm đúng vị trí.
- Ghi không bị chuyển khi tàu đang đi qua.
- Không có route khác xung đột.
- Tín hiệu chỉ được mở khi route an toàn.
- Các vùng bảo vệ bên cạnh cũng được kiểm soát nếu cần.
Interlocking giúp biến các điều kiện đó thành một bộ quy tắc an toàn bắt buộc.
Ví dụ đơn giản
Section titled “Ví dụ đơn giản”Giả sử có một ga với hai route:
Route R1: Đường chính → Khu gian phía trướcRoute R2: Đường bên → Khu gian phía trướcNếu cả R1 và R2 cùng dẫn vào một khu gian, hệ thống không được phép mở cả hai route cùng lúc.
R1 và R2 cùng dùng chung khu gian phía trước→ R1 và R2 là route xung đột→ Nếu R1 đã locked, R2 phải bị từ chốiInterlocking chính là hệ thống kiểm tra và ngăn lỗi này.
Interlocking kiểm tra những gì?
Section titled “Interlocking kiểm tra những gì?”Một hệ thống interlocking thường kiểm tra nhiều nhóm điều kiện.
1. Trạng thái block
Section titled “1. Trạng thái block”Block là đoạn đường được hệ thống tín hiệu quản lý.
Nếu route cần đi qua một block, block đó phải ở trạng thái an toàn.
Ví dụ:
Block B01: FreeBlock B02: FreeBlock B03: OccupiedNếu route cần đi qua B03, route không được thiết lập vì B03 đang bị chiếm dụng.
2. Trạng thái ghi
Section titled “2. Trạng thái ghi”Ghi cho phép tàu chuyển từ đường này sang đường khác.
Interlocking cần kiểm tra:
- Ghi có tồn tại không?
- Ghi có điều khiển được không?
- Ghi đã nằm đúng vị trí chưa?
- Ghi có bị khóa bởi route khác không?
- Có tàu đang chiếm dụng vùng ghi không?
Ví dụ:
Route R1 cần:Point P01 = NormalPoint P02 = ReverseNếu P01 đang ở Reverse nhưng có thể chuyển được, hệ thống có thể điều khiển ghi về Normal.
Nếu P01 đang bị khóa bởi route khác, route R1 phải bị từ chối.
3. Route xung đột
Section titled “3. Route xung đột”Hai route được coi là xung đột nếu không thể cùng tồn tại an toàn.
Các lý do xung đột có thể là:
- Cùng dùng chung block.
- Cùng dùng chung ghi với vị trí khác nhau.
- Hai hướng chạy cắt nhau.
- Hai tàu có thể đi vào cùng khu vực.
- Một route làm mất vùng bảo vệ của route khác.
Ví dụ:
Route R1 dùng Point P01 = NormalRoute R2 dùng Point P01 = ReverseR1 và R2 không thể cùng locked vì cùng yêu cầu một ghi ở hai vị trí khác nhau.
4. Trạng thái tín hiệu
Section titled “4. Trạng thái tín hiệu”Tín hiệu không được mở nếu route phía sau tín hiệu chưa an toàn.
Interlocking cần đảm bảo:
Route chưa locked → Không mở tín hiệuRoute xung đột đang active → Không mở tín hiệuBlock phía trước occupied → Không mở tín hiệuGhi chưa đúng vị trí → Không mở tín hiệuNói cách khác, tín hiệu là kết quả hiển thị ra bên ngoài, còn interlocking là logic kiểm tra an toàn bên trong.
5. Flank protection
Section titled “5. Flank protection”Trong một số trường hợp, không chỉ đường đi trực tiếp của tàu cần được bảo vệ. Các hướng bên cạnh có thể xâm nhập vào route cũng cần được kiểm soát.
Đó là flank protection.
Ví dụ:
Một tàu đang chạy trên route chính.Một ghi bên cạnh nếu để sai vị trí có thể khiến phương tiện khác đi vào route chính.Khi đó interlocking có thể yêu cầu ghi bên cạnh phải được khóa ở vị trí an toàn, dù ghi đó không nằm trực tiếp trên đường đi của route chính.
Interlocking và route liên quan thế nào?
Section titled “Interlocking và route liên quan thế nào?”Route là hành trình mà dispatcher hoặc hệ thống muốn thiết lập.
Interlocking là hệ thống kiểm tra route đó có an toàn hay không.
Có thể hiểu:
Route = yêu cầu đường điInterlocking = kiểm tra và khóa an toàn cho đường đi đóQuy trình đơn giản:
Dispatcher chọn route→ Interlocking kiểm tra điều kiện→ Nếu không an toàn: từ chối route→ Nếu an toàn: khóa route→ Mở tín hiệu→ Tàu đi qua route→ Route được releaseInterlocking và tín hiệu liên quan thế nào?
Section titled “Interlocking và tín hiệu liên quan thế nào?”Tín hiệu chỉ được mở khi interlocking cho phép.
Ví dụ:
Signal A1 đang bảo vệ Route R1Nếu Route R1 chưa được thiết lập an toàn, Signal A1 phải giữ trạng thái dừng.
Route R1 chưa locked→ Signal A1 = StopNếu Route R1 đã locked và các điều kiện khác thỏa mãn:
Route R1 lockedBlock phía trước freeKhông có route xung đột→ Signal A1 có thể mởTín hiệu không tự quyết định an toàn. Tín hiệu chỉ hiển thị trạng thái dựa trên kết quả của interlocking và hệ thống điều khiển liên quan.
Interlocking và point machine liên quan thế nào?
Section titled “Interlocking và point machine liên quan thế nào?”Point machine là thiết bị điều khiển ghi.
Interlocking không chỉ gửi lệnh chuyển ghi, mà còn phải kiểm tra trạng thái phản hồi.
Ví dụ:
Interlocking yêu cầu Point P01 = Normal→ Point machine chuyển ghi→ Hệ thống nhận phản hồi P01 đã ở Normal→ Interlocking xác nhận điều kiện ghi đã thỏaNếu ghi không chuyển được hoặc không có phản hồi xác nhận, route không được thiết lập.
Không có xác nhận vị trí ghi→ Không khóa route→ Không mở tín hiệuInterlocking và block detection liên quan thế nào?
Section titled “Interlocking và block detection liên quan thế nào?”Interlocking cần biết đoạn đường có tàu hay không.
Thông tin này thường đến từ các hệ thống phát hiện tàu như:
- Track circuit.
- Axle counter.
- Hệ thống định vị hoặc báo cáo vị trí tàu trong các hệ thống hiện đại.
Ví dụ:
Block B01 = FreeBlock B02 = OccupiedBlock B03 = FreeNếu route yêu cầu B02, route phải bị từ chối.
Route R1 cần B02B02 đang Occupied→ R1 không được thiết lậpRoute locking trong interlocking
Section titled “Route locking trong interlocking”Khi interlocking chấp nhận một route, route đó sẽ được khóa.
Route locking có nghĩa là:
- Các ghi liên quan bị khóa ở vị trí yêu cầu.
- Các route xung đột bị chặn.
- Các block liên quan được bảo vệ.
- Tín hiệu liên quan có thể được mở nếu điều kiện đầy đủ.
- Route không thể bị hủy tùy tiện khi tàu đã tiếp cận hoặc đi vào route.
Ví dụ:
Route R1 lockedPoint P01 locked NormalPoint P02 locked ReverseConflicting routes R2, R3 blockedSignal A1 allowed to clearRoute release trong interlocking
Section titled “Route release trong interlocking”Sau khi tàu đi qua, route cần được giải phóng.
Quá trình này gọi là route release.
Có thể release theo nhiều cách, nhưng trong lab đơn giản có thể hiểu như sau:
Tàu vào route→ Block đầu tiên occupied→ Tàu đi qua các block→ Tàu rời khỏi block cuối→ Route được releaseSau khi route được release:
- Ghi có thể được dùng cho route khác.
- Route xung đột có thể được thiết lập nếu an toàn.
- Trạng thái route quay về available.
Interlocking trong ga
Section titled “Interlocking trong ga”Interlocking đặc biệt quan trọng trong ga vì ga thường có nhiều yếu tố phức tạp:
- Nhiều đường đón gửi.
- Nhiều ghi.
- Nhiều tín hiệu.
- Nhiều route ra/vào ga.
- Nhiều tàu có thể hoạt động cùng lúc.
- Một route có thể xung đột với nhiều route khác.
Ví dụ:
Đường chínhĐường số 1Đường số 2Đường tránhDepotTrong một ga như vậy, dispatcher có thể yêu cầu nhiều hành trình:
Route R1: Tàu vào đường số 1Route R2: Tàu vào đường số 2Route R3: Tàu ra khu gian phía trướcRoute R4: Tàu từ depot ra đường chínhInterlocking phải biết route nào có thể thiết lập đồng thời và route nào không thể.
Interlocking trong khu gian
Section titled “Interlocking trong khu gian”Trong khu gian đơn giản, interlocking có thể ít phức tạp hơn so với trong ga.
Ví dụ:
Ga A ─── Block AB ─── Ga BNếu Block AB đang có tàu, không được cho tàu khác đi vào cùng block theo cùng điều kiện vận hành bình thường.
Block AB = Occupied→ Không cấp route mới vào Block ABTuy nhiên, với tuyến hai chiều hoặc nhiều block liên tiếp, hệ thống vẫn cần kiểm soát hướng chạy, trạng thái block và các route xung đột.
Các loại interlocking
Section titled “Các loại interlocking”Ở mức nhập môn, có thể chia interlocking thành một số nhóm lớn.
1. Mechanical interlocking
Section titled “1. Mechanical interlocking”Đây là dạng liên động cơ khí, dùng thanh, khóa, cần gạt và cơ cấu vật lý để ngăn thao tác sai.
Ví dụ: không thể kéo cần mở tín hiệu nếu cần điều khiển ghi chưa nằm đúng vị trí.
2. Relay interlocking
Section titled “2. Relay interlocking”Dùng mạch relay để thực hiện logic an toàn.
Relay interlocking từng được sử dụng rộng rãi vì có khả năng thể hiện logic an toàn bằng phần cứng điện.
3. Electronic interlocking
Section titled “3. Electronic interlocking”Dùng máy tính, phần mềm và phần cứng chuyên dụng để thực hiện logic interlocking.
Electronic interlocking thường xuất hiện trong các hệ thống hiện đại, cho phép quản lý cấu hình phức tạp hơn và tích hợp tốt hơn với CTC, TMS, RBC hoặc các hệ thống giám sát khác.
Trong site nghiên cứu này, khi nói đến interlocking ở các bài sau, ta chủ yếu quan tâm đến tư duy logic:
Input trạng thái hệ thống→ Kiểm tra điều kiện an toàn→ Lock route/point/signal→ Output lệnh điều khiển hoặc từ chốiFail-safe trong interlocking
Section titled “Fail-safe trong interlocking”Một nguyên tắc rất quan trọng của interlocking là fail-safe.
Fail-safe có nghĩa là khi hệ thống gặp lỗi, trạng thái mặc định phải nghiêng về phía an toàn.
Ví dụ:
Mất thông tin trạng thái block→ Không coi block là free→ Không mở tín hiệuKhông xác nhận được vị trí ghi→ Không thiết lập route→ Không mở tín hiệuMất liên lạc với thiết bị→ Không cấp quyền chạy mớiNói cách khác:
Nếu không chứng minh được là an toàn, hệ thống phải coi là chưa an toàn.
Ví dụ logic interlocking đơn giản
Section titled “Ví dụ logic interlocking đơn giản”Giả sử route R1 cần:
Required blocks:- B01- B02
Required points:- P01 = Normal
Conflicting routes:- R2- R3Trạng thái hệ thống hiện tại:
B01 = FreeB02 = FreeP01 = NormalR2 = Not lockedR3 = Not lockedKhi dispatcher yêu cầu R1, interlocking kiểm tra:
B01 free? CóB02 free? CóP01 đúng vị trí? CóR2 có locked không? KhôngR3 có locked không? KhôngKết quả:
Route R1 được phép thiết lậpNếu B02 đang occupied:
B02 = Occupied→ Route R1 bị từ chốiNếu R2 đang locked:
R2 = Locked→ Route R1 bị từ chốiMô hình interlocking trong lab đơn giản
Section titled “Mô hình interlocking trong lab đơn giản”Trong lab mô phỏng đầu tiên, ta có thể mô hình hóa interlocking bằng các thành phần:
Track blocksPointsSignalsRoutesConflicting route matrixInterlocking engineEvent logLuồng xử lý:
User chọn route→ Interlocking engine đọc trạng thái hiện tại→ Kiểm tra block→ Kiểm tra point→ Kiểm tra route xung đột→ Nếu hợp lệ: lock route→ Nếu không hợp lệ: trả về lý do từ chốiTrạng thái route trong lab
Section titled “Trạng thái route trong lab”Một route trong lab có thể có các trạng thái:
| Trạng thái | Ý nghĩa |
|---|---|
| Available | Route có thể được yêu cầu thiết lập |
| Requested | Route đã được yêu cầu |
| Setting | Hệ thống đang kiểm tra và chuẩn bị route |
| Locked | Route đã được khóa |
| Occupied | Tàu đang đi trong route |
| Released | Route đã được giải phóng |
| Failed | Route không thiết lập được hoặc gặp lỗi |
Trạng thái point trong lab
Section titled “Trạng thái point trong lab”Một point có thể có các trạng thái:
| Trạng thái | Ý nghĩa |
|---|---|
| Normal | Ghi ở vị trí bình thường |
| Reverse | Ghi ở vị trí đảo |
| Moving | Ghi đang chuyển |
| Locked | Ghi đang bị khóa bởi route |
| Failed | Ghi lỗi hoặc không xác nhận được vị trí |
Trạng thái signal trong lab
Section titled “Trạng thái signal trong lab”Một signal có thể có các trạng thái đơn giản:
| Trạng thái | Ý nghĩa |
|---|---|
| Stop | Không cho phép tàu đi qua |
| Proceed | Cho phép tàu đi qua theo route đã thiết lập |
| Warning | Cho phép đi với điều kiện hạn chế |
| Failed | Tín hiệu lỗi hoặc không xác định |
Trong lab đầu tiên, chỉ cần hai trạng thái là đủ:
StopProceedPseudo-code kiểm tra interlocking
Section titled “Pseudo-code kiểm tra interlocking”Ví dụ đơn giản bằng TypeScript:
type BlockState = 'Free' | 'Occupied' | 'Failed';type PointPosition = 'Normal' | 'Reverse';type RouteState = 'Available' | 'Locked' | 'Occupied' | 'Released' | 'Failed';
interface TrackBlock { id: string; state: BlockState;}
interface Point { id: string; position: PointPosition; locked: boolean; failed: boolean;}
interface PointRequirement { pointId: string; requiredPosition: PointPosition;}
interface Route { id: string; requiredBlocks: string[]; requiredPoints: PointRequirement[]; conflictingRoutes: string[]; state: RouteState;}
interface InterlockingResult { allowed: boolean; reasons: string[];}
function checkRoute( route: Route, blocks: Record<string, TrackBlock>, points: Record<string, Point>, routes: Record<string, Route>): InterlockingResult { const reasons: string[] = [];
for (const blockId of route.requiredBlocks) { const block = blocks[blockId];
if (!block) { reasons.push(`Block ${blockId} không tồn tại.`); continue; }
if (block.state !== 'Free') { reasons.push(`Block ${blockId} không free.`); } }
for (const requirement of route.requiredPoints) { const point = points[requirement.pointId];
if (!point) { reasons.push(`Point ${requirement.pointId} không tồn tại.`); continue; }
if (point.failed) { reasons.push(`Point ${point.id} đang failed.`); }
if (point.locked) { reasons.push(`Point ${point.id} đang bị khóa.`); }
if (point.position !== requirement.requiredPosition) { reasons.push( `Point ${point.id} chưa đúng vị trí ${requirement.requiredPosition}.` ); } }
for (const conflictRouteId of route.conflictingRoutes) { const conflictRoute = routes[conflictRouteId];
if (conflictRoute?.state === 'Locked' || conflictRoute?.state === 'Occupied') { reasons.push(`Route xung đột ${conflictRouteId} đang active.`); } }
return { allowed: reasons.length === 0, reasons, };}Đoạn code này chỉ là mô hình học tập. Hệ thống thực tế sẽ phức tạp hơn rất nhiều, nhưng cấu trúc kiểm tra như vậy giúp hiểu vai trò của interlocking.
Interlocking trong kiến trúc tổng thể
Section titled “Interlocking trong kiến trúc tổng thể”Trong kiến trúc điều khiển chạy tàu, interlocking nằm giữa lớp điều độ và lớp thiết bị hiện trường.
Có thể hình dung:
Dispatcher / CTC / TMS ↓Route Request ↓Interlocking ↓Signals / Points / Track Detection ↓Train MovementNếu có hệ thống train control hiện đại, interlocking có thể liên quan đến RBC hoặc hệ thống cấp movement authority.
CTC / TMS ↓Interlocking ↓RBC / Train Control ↓Movement Authority ↓On-board ATPInterlocking khác gì với CTC?
Section titled “Interlocking khác gì với CTC?”CTC là hệ thống điều khiển chạy tàu tập trung, hỗ trợ dispatcher quan sát và điều khiển nhiều khu vực.
Interlocking là hệ thống kiểm tra và đảm bảo an toàn cho route tại khu vực cụ thể.
Có thể hiểu:
CTC:Giao diện và hệ thống điều khiển tập trung.
Interlocking:Logic an toàn tại hiện trường hoặc khu vực điều khiển.Dispatcher có thể yêu cầu thiết lập route từ CTC, nhưng interlocking mới là nơi quyết định route đó có được phép thiết lập hay không.
Interlocking khác gì với ATP?
Section titled “Interlocking khác gì với ATP?”ATP là hệ thống bảo vệ tàu tự động, thường nằm ở lớp giám sát chuyển động của tàu.
Interlocking bảo vệ route và trạng thái hạ tầng.
Có thể hiểu:
Interlocking:Đường đi có an toàn để thiết lập không?
ATP:Tàu có đang chạy đúng giới hạn an toàn không?Hai hệ thống này bổ sung cho nhau.
Ví dụ:
Interlocking đảm bảo route đã an toàn.ATP đảm bảo tàu không vượt quá tốc độ hoặc vượt quá giới hạn được phép.Những điều cần nhớ
Section titled “Những điều cần nhớ”Khi học interlocking, nên nhớ các ý chính:
- Interlocking không phải là tín hiệu.
- Interlocking là logic kiểm tra và khóa an toàn.
- Tín hiệu chỉ được mở nếu interlocking cho phép.
- Route phải được kiểm tra trước khi locked.
- Ghi phải đúng vị trí và bị khóa khi route active.
- Route xung đột không được thiết lập đồng thời.
- Nếu không xác định được trạng thái an toàn, hệ thống phải chọn trạng thái an toàn hơn.
Kết luận
Section titled “Kết luận”Interlocking là một trong những khái niệm quan trọng nhất của hệ thống thông tin tín hiệu đường sắt.
Nếu route là hành trình muốn thiết lập, thì interlocking là hệ thống quyết định hành trình đó có an toàn hay không.
Trong lab mô phỏng, interlocking sẽ là lõi logic đầu tiên cần xây dựng:
Route request→ Check blocks→ Check points→ Check conflicts→ Lock route→ Clear signal→ Release routeHiểu interlocking là nền tảng để học tiếp các chủ đề như route locking, signal control, movement authority, ATP, RBC và điều khiển chạy tàu tập trung.