Bài 4 – Hệ thống điều khiển LINAC: từ màn hình Console đến Interlock và Beam Control
Ở 3 bài trước, chúng ta đã “đi vào bên trong” LINAC:
Bài 1: Toàn bộ kiến trúc máy
Bài 2: Electron Gun → RF → Accelerating Waveguide
Bài 3: Target → X-ray → Monitor Chamber → Jaw → MLC
Bây giờ chúng ta chuyển sang phần rất gần với lĩnh vực bạn đang học về STM32, cảm biến, motor, encoder và embedded control:
Làm thế nào con người ra lệnh cho LINAC, và làm thế nào LINAC kiểm tra rằng nó thực sự đang làm đúng điều đó?
1. LINAC không phải là một “máy tính điều khiển máy”
Đây là điều đầu tiên cần hiểu.
Nếu đơn giản hóa quá mức, ta có thể nghĩ:
Operator
↓
Computer
↓
LINAC
Nhưng thực tế phải hình dung gần như:
OPERATOR
│
▼
┌───────────────┐
│ Treatment │
│ Console │
└───────┬───────┘
│
▼
┌───────────────┐
│ Control │
│ System │
└───────┬───────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
GANTRY MLC BEAM
CONTROL CONTROL CONTROL
│ │ │
▼ ▼ ▼
Motors Motors RF/Beam
Encoders Encoders Sensors
│ │ │
└─────────────┼─────────────┘
▼
SAFETY SYSTEM
│
Interlocks
│
▼
BEAM ENABLE
Và Safety System không đơn giản là một nút trong phần mềm giao diện.
2. Treatment Console là gì?
Đây là nơi kỹ thuật viên vận hành LINAC từ bên ngoài phòng điều trị.
Có thể hình dung giao diện tổng quát:
┌─────────────────────────────────────────┐
│ TREATMENT CONTROL │
├─────────────────────────────────────────┤
│ Patient: XXXXX │
│ │
│ Energy: 6 MV │
│ Mode: Photon │
│ Dose Rate: XXXXX │
│ MU: XXXXX │
│ │
│ Gantry: 180.0° │
│ Collimator: 10.0° │
│ Couch: 0.0° │
│ │
│ MLC: READY │
│ Beam: OFF │
│ │
│ Interlocks: │
│ Door ✓ │
│ Vacuum ✓ │
│ Cooling ✓ │
│ Gantry ✓ │
│ Beam system ✓ │
│ │
│ READY │
└─────────────────────────────────────────┘
Giao diện thực tế thay đổi theo hãng/model, nên đây chỉ là mô hình để học.
3. Operator thực sự đang điều khiển những gì?
Không phải chỉ là “bật tia”.
Một treatment plan có thể chứa rất nhiều thông tin:
Treatment Plan
│
├── Energy
├── Beam angle
├── Field size
├── Collimator angle
├── MLC positions
├── Dose / MU
├── Dose rate
├── Couch position
└── Imaging information
LINAC phải kiểm tra những thông tin này trước khi delivery.
4. Gantry Control
Gantry là phần lớn quay quanh bệnh nhân.
Ví dụ:
0°
│
▼
●
╱ ╲
270° 90°
╲ ╱
│
180°
Console có thể hiển thị:
Gantry:
180.0°
Nhưng đằng sau con số đó có thể là:
Command
│
▼
Motion Controller
│
▼
Motor / Drive
│
▼
Gantry
│
▼
Encoder
│
└──────────────► Feedback
5. Đây là closed-loop control
Giả sử operator yêu cầu:
Gantry = 180°
Không thể chỉ:
Motor ON
mà phải:
Target = 180°
│
▼
Controller
│
▼
Motor
│
▼
Gantry
│
▼
Encoder
│
▼
Actual position
│
└──────► Controller
Khi:
Actual ≈ Target
hệ thống có thể xác định gantry đã đạt vị trí trong giới hạn cho phép.
6. Encoder là gì?
Encoder là thiết bị giúp xác định vị trí/chuyển động.
Ví dụ rất đơn giản:
Motor
│
▼
Gantry
│
▼
Encoder
│
▼
Position feedback
Nếu không có feedback, controller không biết chắc cơ cấu đã thực sự đi đến vị trí yêu cầu hay chưa.
Đây là tư duy mà bạn đã gặp khi học motor/STM32:
Command ≠ Actual Position
7. Collimator Control
Collimator cũng có thể có góc quay.
Ví dụ:
Collimator = 30°
Hệ thống phải:
- nhận command
- điều khiển motor
- đọc feedback
- kiểm tra vị trí
- xác nhận đạt vị trí
Target Angle
↓
Controller
↓
Motor
↓
Collimator
↓
Position Sensor
↓
Feedback
8. Couch Control
Couch phức tạp hơn nhiều người tưởng.
Có thể có các chuyển động:
- vertical
- longitudinal
- lateral
- rotation
Khái niệm:
Vertical
↑
│
┌──────────┴─────────┐
│ COUCH │
└────────────────────┘
↔ Lateral
Longitudinal: ◄──────►
Rotation: ↻
Mỗi trục cần được kiểm soát và giám sát.
9. Tại sao couch cực kỳ quan trọng?
Vì trong xạ trị, hình học cực kỳ quan trọng.
Ví dụ:
Treatment plan:
Tumor = Position A
Patient actual:
Tumor = Position A + Δ
Nếu vị trí bệnh nhân không chính xác, beam có thể không đến vị trí mong muốn.
Do đó imaging và positioning đóng vai trò rất quan trọng.
10. MLC Control
Đây là một trong những hệ thống điều khiển phức tạp.
Giả sử MLC có nhiều leaf:
Leaf 1
Leaf 2
Leaf 3
...
Leaf N
Mỗi leaf có:
Target position
↓
Controller
↓
Motor
↓
Leaf
↓
Position feedback
Như vậy hàng chục/hàng trăm leaf có thể tạo thành một hệ thống motion-control lớn.
11. MLC không chỉ có “đúng/sai”
Trong kỹ thuật điều khiển, có thể tồn tại:
Target = 25.0 mm
Actual = 25.1 mm
Câu hỏi là:
25.1 mm có nằm trong tolerance cho phép không?
Nếu có:
POSITION = VALID
Nếu không:
POSITION = INVALID
Đây là khái niệm tolerance window.
12. Beam Control
Đây là phần đặc biệt quan trọng.
LINAC phải kiểm soát các yếu tố liên quan đến beam delivery.
Khái niệm:
Treatment Command
│
▼
Beam Control
│
├── Energy
├── Dose Rate
├── Beam Mode
└── Beam Enable
│
▼
Beam System
│
▼
Monitor Chamber
│
▼
Feedback
13. Beam ON không phải một lệnh đơn giản
Một hệ thống an toàn không nên tư duy:
button == ON
↓
beam = ON
Mà phải gần giống:
Operator requests Beam ON
│
▼
Check conditions
│
┌──────┴──────┐
▼ ▼
FAIL PASS
│ │
▼ ▼
Beam OFF READY
│
▼
Safety checks
│
▼
ENABLE
│
▼
BEAM ON
Đây là tư duy permission-based control.
14. READY là gì?
Trên console bạn có thể gặp:
READY
Nó không đơn giản có nghĩa:
“Máy đã bật.”
Mà gần hơn với:
“Các điều kiện cần thiết để thực hiện trạng thái tiếp theo đang được thỏa mãn.”
Ví dụ khái niệm:
Door = CLOSED
Vacuum = OK
Cooling = OK
RF = READY
Gantry = VALID
Collimator = VALID
MLC = VALID
Beam system = READY
Treatment data = VALID
│
▼
READY
15. Interlock
Nếu một điều kiện không đúng:
READY
│
▼
Interlock detected
│
▼
NOT READY
│
▼
Beam inhibited
Đây là “người gác cổng” của LINAC.
16. Door Interlock
Một ví dụ dễ hiểu nhất:
Treatment room
│
▼
Door sensor
│
▼
Door CLOSED?
│
┌────┴────┐
NO YES
│ │
▼ ▼
INHIBIT Continue
Nếu cửa mở trong trạng thái mà beam phải bị ngắt:
Door OPEN
↓
Interlock
↓
Beam OFF / inhibited
17. Emergency Stop
Emergency Stop là một lớp bảo vệ khác.
EMERGENCY STOP
│
▼
Safety system
│
▼
Safe state
Điểm quan trọng:
Emergency Stop không phải là nút “tắt Windows”.
Nó thuộc kiến trúc an toàn của hệ thống.
18. Beam OFF phải có nhiều đường bảo vệ
Tư duy an toàn thường không dựa vào một điều kiện duy nhất.
Ở mức khái niệm:
Beam Enable
│
┌───────┴────────┐
│ │
Control logic Safety logic
│ │
└───────┬────────┘
▼
Beam allowed
Nếu safety logic không cho phép:
Beam không được phép hoạt động.
19. Monitor Chamber quay lại ở đây
Chúng ta đã học Monitor Chamber ở Bài 3.
Bây giờ nhìn nó dưới góc độ control:
Beam
│
▼
Monitor Chamber
│
▼
Measurement
│
▼
Beam Monitoring
│
├────► Treatment control
│
└────► Safety monitoring
Đây là lý do monitor chamber cực kỳ quan trọng.
20. MU accumulation
Ví dụ khái niệm:
Start
│
▼
MU = 0
│
▼
Beam ON
│
▼
Monitor Chamber
│
▼
MU increasing
│
▼
Target MU reached
│
▼
Beam OFF
Nhưng hệ thống thực tế có nhiều logic giám sát hơn sơ đồ này rất nhiều.
21. Dose Rate
Bạn có thể gặp thông số:
Dose Rate
Nó liên quan đến tốc độ delivery dose/output.
Ví dụ khái niệm:
Dose Rate
│
├── Low
├── Medium
└── High
Trong các kỹ thuật như VMAT, dose rate có thể được điều biến theo treatment plan.
22. Energy
LINAC có thể có nhiều lựa chọn năng lượng.
Ví dụ minh họa:
Photon:
6 MV
10 MV
15 MV
Electron:
6 MeV
9 MeV
12 MeV
...
Đây chỉ là ví dụ; mỗi máy có cấu hình năng lượng khác nhau.
Điều quan trọng là:
Energy selection phải được hệ thống kiểm tra và xác nhận trước khi beam delivery.
23. Record & Verify
Đây là một hệ thống rất quan trọng trong môi trường xạ trị.
Nó giúp quản lý:
Patient
↓
Treatment Plan
↓
Treatment Parameters
↓
Treatment Delivery
↓
Record
Mục tiêu là giảm nguy cơ sử dụng nhầm thông số điều trị.
24. Tại sao LINAC cần nhiều máy tính?
Một LINAC hiện đại không nhất thiết là:
“một PC chạy một chương trình.”
Mà có thể có nhiều bộ điều khiển và hệ thống máy tính chuyên dụng.
Khái niệm:
Main Control
│
┌──────────┼──────────┐
▼ ▼ ▼
Motion Beam Imaging
Control Control Control
│ │ │
▼ ▼ ▼
Gantry RF Detector
Couch Beam
MLC
Kiến trúc cụ thể phụ thuộc nhà sản xuất.
25. Communication giữa các module
Một hệ thống lớn cần trao đổi dữ liệu.
Khái niệm:
Controller A
│
├─────────────► Controller B
│
├─────────────► Controller C
│
└─────────────► Safety System
Trong thiết bị thực tế có thể sử dụng các giao tiếp và bus công nghiệp/chuyên dụng khác nhau.
Ở mức học tập, hãy nghĩ:
Command → Communication → Controller → Actuator → Feedback
26. Nếu liên hệ với STM32
Ví dụ bạn có:
STM32
│
├── ADC
├── GPIO
├── PWM
├── Timer
├── UART
└── Encoder input
Một hệ thống điều khiển LINAC về mặt khái niệm cũng có những chức năng tương tự:
LINAC Controller
│
├── Sensor inputs
├── Position feedback
├── Timing
├── Motor control
├── Communication
├── Beam monitoring
└── Safety status
Nhưng LINAC có yêu cầu safety, validation và độ tin cậy cao hơn rất nhiều.
27. Một ví dụ: điều khiển gantry
Hãy giả sử kế hoạch yêu cầu:
Gantry = 90°
Chuỗi khái niệm:
Treatment Plan
│
▼
Target = 90°
│
▼
Motion Controller
│
▼
Motor Drive
│
▼
Gantry
│
▼
Encoder
│
▼
Actual = 89.98°
│
▼
Controller
│
▼
Within tolerance?
│
YES
│
▼
Position valid
Đây là một ví dụ rất đẹp về closed-loop control.
28. Nếu encoder báo sai thì sao?
Ví dụ:
Target = 90°
Actual = 82°
Hệ thống không nên nói:
“Thôi cũng gần rồi.”
Mà có thể chuyển sang trạng thái không hợp lệ:
Position invalid
↓
Interlock / inhibit
↓
Beam not allowed
Đây chính là tư duy an toàn.
29. Safety chain
Một cách rất dễ hiểu để hình dung:
SAFETY CHAIN
Door
│
├──►
Emergency Stop
│
├──►
Gantry status
│
├──►
Couch status
│
├──►
MLC status
│
├──►
Beam monitoring
│
├──►
RF status
│
├──►
Vacuum
│
├──►
Cooling
│
▼
BEAM PERMISSION
Không phải tất cả các điều kiện trên đều được triển khai giống nhau trong mọi máy, nhưng đây là cách tốt để hiểu tư duy hệ thống.
30. Fail-safe
Đây là một từ bạn nên ghi nhớ.
Fail-safe = khi có lỗi, hệ thống ưu tiên trạng thái an toàn.
Ví dụ:
Normal
│
▼
READY
│
▼
Fault
│
▼
Beam inhibited
Thay vì:
Fault
↓
Continue operating
31. Nhưng fail-safe không có nghĩa “mọi lỗi đều được giải quyết”
Không.
Nó có nghĩa hệ thống được thiết kế để giảm khả năng một lỗi dẫn đến trạng thái nguy hiểm.
Vì vậy còn cần:
- preventive maintenance
- calibration
- QA
- periodic testing
- service procedures
- software validation
- hardware checks
32. QA quay trở lại
Đến đây bạn sẽ thấy tại sao QA rất quan trọng.
LINAC có:
Mechanical system
+
Electrical system
+
RF system
+
Beam system
+
Software
+
Safety system
Chỉ cần một thành phần sai lệch có thể ảnh hưởng đến delivery.
Vì vậy phải kiểm tra định kỳ.
33. Một ví dụ về QA hình học
Có thể kiểm tra sự nhất quán giữa:
Gantry angle
↓
Beam axis
↓
Collimator
↓
Couch
↓
Imaging coordinates
Mục tiêu là đảm bảo hệ thống hình học hoạt động đúng theo yêu cầu.
34. Màn hình Console thực sự là “cửa sổ” vào một hệ thống rất lớn
Khi bạn nhìn:
Gantry: 180°
đừng chỉ nghĩ:
“Một con số.”
Hãy nghĩ:
Console
↓
Command
↓
Controller
↓
Motor
↓
Gantry
↓
Encoder
↓
Feedback
↓
Safety validation
↓
Status → Console
Tương tự:
MLC: READY
có thể hiểu theo tư duy:
MLC command
↓
Leaf motion
↓
Position feedback
↓
Verification
↓
Valid?
↓
READY / NOT READY
35. Một màn hình LINAC có thể chia thành 6 nhóm thông tin
| Nhóm | Ví dụ |
|---|---|
| Patient | Patient / plan / fraction |
| Beam | Energy / mode / dose rate |
| Geometry | Gantry / collimator / couch |
| MLC | Leaf status / field |
| Dose | MU / monitor information |
| Safety | Ready / interlock / beam status |
Đây là cách rất tốt để đọc một console mà không bị ngợp.
36. Một chu trình điều trị ở mức khái niệm
Toàn bộ quá trình có thể hình dung:
Patient
↓
Treatment Plan
↓
Plan Verification
↓
Patient Setup
↓
Imaging
↓
Position Verification
↓
Treatment Parameters Loaded
↓
Machine Checks
↓
READY
↓
Beam Enable
↓
Beam Delivery
↓
Monitor / Feedback
↓
Required delivery reached
↓
BEAM OFF
↓
Treatment Record
37. Điều đặc biệt quan trọng: con người vẫn ở trong vòng điều khiển
LINAC không phải robot tự quyết định điều trị.
Khái quát:
Human
│
▼
Treatment Plan
│
▼
Machine Control
│
▼
LINAC
│
▼
Patient
│
▼
Verification
Bác sĩ, kỹ thuật viên xạ trị, vật lý y khoa và các chuyên gia liên quan đều có vai trò riêng trong quy trình.
38. Bài 4 – kết nối với kiến thức điện tử của bạn
Nếu chúng ta chuyển LINAC sang “ngôn ngữ kỹ sư embedded”, nó sẽ giống:
┌───────────────┐
│ APPLICATION │
│ Treatment Plan │
└───────┬───────┘
│
▼
┌───────────────┐
│ CONTROL │
│ SOFTWARE │
└───────┬───────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
MOTION BEAM IMAGING
CONTROL CONTROL CONTROL
│ │ │
▼ ▼ ▼
MOTOR RF/Beam Detector
│ System
▼ │
Encoder ▼
│ Monitor
└───────────────┬┘
▼
SAFETY SYSTEM
│
▼
INTERLOCK
│
▼
BEAM ENABLE
Nếu bạn đã hiểu:
ADC → MCU → PWM → Motor → Encoder → Feedback
thì bạn đã có một nền tảng tư duy rất tốt để tiếp tục tìm hiểu hệ thống điều khiển LINAC.
39. Tổng kết Bài 4
Có 7 khái niệm tôi muốn bạn nắm chắc:
① Console
Giao diện để con người tương tác với hệ thống.
② Controller
Nhận lệnh và điều khiển các subsystem.
③ Sensor/Encoder
Cho biết trạng thái thực tế.
④ Feedback
So sánh trạng thái thực với trạng thái yêu cầu.
⑤ Interlock
Không đủ điều kiện → không cho phép beam.
⑥ Beam Monitoring
Theo dõi output trong quá trình delivery.
⑦ Fail-safe
Khi phát hiện trạng thái bất thường, ưu tiên đưa hệ thống về trạng thái an toàn.
Bức tranh LINAC đến thời điểm này
┌─────────────────────────────────┐
│ CONTROL SYSTEM │
│ │
│ Console → Controller → Feedback │
└────────────────┬────────────────┘
│
▼
┌───────────────────┐
│ SAFETY SYSTEM │
│ Interlock / E-stop│
└─────────┬─────────┘
│
▼
Electron Gun
↓
RF System
↓
Accelerating Waveguide
↓
Electron Beam
↓
Bending Magnet
↓
Target
↓
X-ray
↓
Primary Collimator
↓
Filter / FFF
↓
Monitor Chamber
↓
Jaw
↓
MLC
↓
Patient
↑
Imaging
Bài 5
Bước tiếp theo rất đáng học là “Bài 5 – MLC và các kỹ thuật IMRT/VMAT”.
Ở bài đó chúng ta sẽ đi sâu vào một trong những phần tinh vi nhất của LINAC: tại sao hàng chục/hàng trăm lá MLC có thể chuyển động phối hợp, làm thế nào leaf position + gantry angle + dose rate biến một chùm tia đơn giản thành một kế hoạch IMRT/VMAT phức tạp, và tại sao QA của MLC lại quan trọng đến như vậy.