Skip to content

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.

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.

Giả sử có một ga với hai route:

Route R1: Đường chính → Khu gian phía trước
Route R2: Đường bên → Khu gian phía trước

Nế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ối

Interlocking chính là hệ thống kiểm tra và ngăn lỗi này.

Một hệ thống interlocking thường kiểm tra nhiều nhóm điều kiện.

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: Free
Block B02: Free
Block B03: Occupied

Nếu route cần đi qua B03, route không được thiết lập vì B03 đang bị chiếm dụng.

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 = Normal
Point P02 = Reverse

Nế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.

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 = Normal
Route R2 dùng Point P01 = Reverse

R1 và R2 không thể cùng locked vì cùng yêu cầu một ghi ở hai vị trí khác nhau.

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ệu
Route xung đột đang active → Không mở tín hiệu
Block phía trước occupied → Không mở tín hiệu
Ghi chưa đúng vị trí → Không mở tín hiệu

Nó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.

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 đi
Interlocking = 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 release

Interlocking 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 R1

Nế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 = Stop

Nếu Route R1 đã locked và các điều kiện khác thỏa mãn:

Route R1 locked
Block phía trước free
Khô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ỏa

Nế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ệu

Interlocking 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 = Free
Block B02 = Occupied
Block B03 = Free

Nếu route yêu cầu B02, route phải bị từ chối.

Route R1 cần B02
B02 đang Occupied
→ R1 không được thiết lập

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 locked
Point P01 locked Normal
Point P02 locked Reverse
Conflicting routes R2, R3 blocked
Signal A1 allowed to clear

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 release

Sau 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 đặ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ánh
Depot

Trong 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ố 1
Route R2: Tàu vào đường số 2
Route R3: Tàu ra khu gian phía trước
Route R4: Tàu từ depot ra đường chính

Interlocking phải biết route nào có thể thiết lập đồng thời và route nào không thể.

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 B

Nế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 AB

Tuy 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.

Ở mức nhập môn, có thể chia interlocking thành một số nhóm lớn.

Đâ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í.

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.

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ối

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ệu
Không xác nhận được vị trí ghi
→ Không thiết lập route
→ Không mở tín hiệu
Mất liên lạc với thiết bị
→ Không cấp quyền chạy mới

Nó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.

Giả sử route R1 cần:

Required blocks:
- B01
- B02
Required points:
- P01 = Normal
Conflicting routes:
- R2
- R3

Trạng thái hệ thống hiện tại:

B01 = Free
B02 = Free
P01 = Normal
R2 = Not locked
R3 = Not locked

Khi 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ông
R3 có locked không? Không

Kết quả:

Route R1 được phép thiết lập

Nếu B02 đang occupied:

B02 = Occupied
→ Route R1 bị từ chối

Nếu R2 đang locked:

R2 = Locked
→ Route R1 bị từ chối

Mô 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 blocks
Points
Signals
Routes
Conflicting route matrix
Interlocking engine
Event log

Luồ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ối

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

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í

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à đủ:

Stop
Proceed

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 Movement

Nế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 ATP

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.

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.

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.

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 route

Hiể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.