You are on page 1of 28

Cơ bản của lập trình tự động hóa

quy trình công nghệ (Process control)

Hoàng Kim Hùng


Agenda
• Giới thiệu tiêu chuẩn ngành – ISA
• Bóc tách hệ thống điều khiển qua P&ID
• Bóc tách khối và lập trình khối điều khiển theo tiêu chuẩn ISA-88
• Thiết lập chương trình điều khiển theo Batch control ISA-88
ISA là gì
• ISA viết tắt của International Society
of Automation. Là tổ chức ngành nghề
lớn nhất về tự động hóa, xác lập các
tiêu chuẩn ngành quan trọng
• Thành lập 28/4/1945, với tên gọi là Logo hiện tại của ISA (2008)
Instrument Society of America ( Hiệp
hội khí cụ Hoa Kỳ).

Logo của ISA thời mới thành lập


Các tiêu chuẩn ngành quan trọng của ISA
• Instrumentation Symbols and Diagrams (ISA5)
• Management of Alarms (ISA18)
• Instrumented Systems to Achieve Functional Safety (ISA84)
• Batch Process Control (ISA88)
• Enterprise-Control System Integration (ISA95)
• Industrial Automation and Control Systems Security (ISA99)
• Wireless Systems for Automation (ISA100)
• Human-Machine Interface (ISA101)
• Procedure Automation for Continuous Process Operations (ISA106)
• Intelligent Device Management (ISA108)
• SCADA Systems (ISA112)
• Fossil and Nuclear Power Plants (ISA77 and ISA67)
• Control Valves (ISA75) and Valve Actuators (ISA96)
PFD
PFD (Process Flow Diagram)
miêu tả chung về hoạt động
của một cụm thiết bị công
nghệ ( Process Unit), về các
thiết bị chính và các tuyến
đường ống chính. PFD là
khởi nguồn đầu tiên để tạo
ra được P&ID
P&ID
P&ID (Piping & Instrument Diagram),
tránh nhầm lẫn với PID control, là bản
vẽ kỹ thuật miêu tả toàn bộ các đường
ống (piping) và khí cụ (instrument) –
bao gồm khí cụ đo lường, thực thi, và
khí cụ an toàn.

P&ID là bản vẽ quan trọng nhất của


một hệ thống công nghệ, và là bản vẽ
sẽ theo suốt vòng đời của hệ thống.
P&ID là điểm làm việc chung của các
nhóm kỹ thuật: công nghệ (process),
điện (electrical), khí cụ / điều khiển
(instrument & control), đường ống
(piping), thiết bị/ cụm thiết bị
(equipment / package)

P&ID là bản vẽ khởi nguồn của toàn


bộ hệ thống điều khiển
Các kỹ hiệu thường thấy trong P&ID
TAGGING – Đánh số
• Các ký hiệu trong P&ID tuân thủ theo
Instrumentation Symbols and Diagrams
(ISA5) và được TAG
• Mỗi công ty có một quy định cách đặt
Tagging riêng cho mình, nhưng hầu như
đều bao gồm
• Cụm mô tả thiết bị: ví dụ: PIT, PG, TT, LS,
FT, FQT…
• Mã định danh : 100, 5201, 45002…
• Các cụm định danh phân chia khu vực của
công ty
• Ví dụ: 052-PIT-45001
• Tuân thủ TAGGING là yếu tố cực kỳ
quan trọng để triển khai đúng một dự
án tự động hóa
Tại sao P&ID là gốc của điều khiển
P&ID Instrument List I/O list Cable List Material Take-Off

Installation
detail
Instrument
Datasheets

Process
System Cause & Effect Control system
Control HMI - SCADA
Architecture (interlock list) programming
Description
Các tài liệu cần được làm
• Instrument list: Bảng bóc tách từ P&ID danh sách theo TAG, phân loại chức
năng, khoảng đo, khoảng điều khiển.
• IO List: bảng bóc tách các I/O ra vào hệ thống, dựa vào Instrument List.
Trong bảng này, yêu cầu làm rõ điểm đầu (TAG), điểm tới, đánh số I/O trên
hệ thống điều khiển. Bảng I/O cực kỳ quan trọng cho bước lập trình.
• Cable list: danh sách dây, bóc tách từ I/O list. Các dây từ các điểm trong hệ
thống cần được TAG dựa theo điểm đầu-cuối, phân loại loại dây và dự
toán khối lượng.
• Installation details: cách lắp đặt các thiết bị như thế nào (và kèm vật tư gì)
• Material Take-Off (MTO): tổng khối lượng vật tư cần dùng trong dự án.
Các tài liệu cần được làm
• System architecture: Mô tả tổng thể kiến trúc hệ thống: Bao nhiêu controller, mỗi control quản lý khu
vực nào, có bao nhiêu server, bao nhiêu HMI, địa chỉ mỗi thiết bị như thế nào, kết nối với nhau
chuẩn truyền thông gì.
• PROCESS CONTROL DESCRIPTION (PCD) / USER REQUIREMENT SPECIFICATION (URS) / FUNCTIONAL
DESIGN SPECIFICATION (FDS): Tất cả các tài liệu này đều có một mục đích chung: Phân tách từng
nhóm (Unit) theo tiêu chuẩn ISA-88, miêu tả cách từng thiết bị (control module), cụm thiết bị
(equipment module) trong nhóm. Các thiết bị/ cụm thiết bị khi hoạt động chung với nhau hoàn
thành các tác vụ - Phase / Task. Nhiều tác vụ chạy tuần tự với nhau sẽ tạo thành 1 quy trình –
Sequence. Nhiều Sequence chạy chung với nhau sẽ tạo thành 1 hoạt động chung – Unit Operation.
• Tài liệu này phải được tạo ra và được duyệt trước khi bắt đầu lập trình
• Không lập trình khi không viết ra PCD
• thiết bị / cụm thiết bị/unit được định danh bằng TAG
• Cause & Effect (nguyên nhân và kết quả) / Interlock list: là tài liệu bổ trợ cho hoặc 1 phần của PCD.
Tài liệu này miêu tả toàn bộ các trạng thái khóa / khóa an toàn/ khóa liên động của hệ thống để đảm
bảo an toàn thiết bị.
Kiến trúc hệ thống – System architecture
Phân loại quá trình công nghệ
Dưới góc độ công nghệ, các quá trình sản xuất có thể phân chia làm 3 loại:
• Quá trình gián đoạn (Discrete process): toàn bộ quá trình được chia thành
các công đoạn rời rạc, độc lập với nhau.
• Quá trình liên tục (Continuous process): toàn bộ quá trình là một dòng
chảy liên tục của nguyên vật liệu
• Quá trình theo mẻ (Batch process): là quá trình sản xuất trong đó một
lượng hữu hạn thành phẩm hoặc bán thành phẩm được tạo ra từ một
lượng các nguyên liệu đầu vào theo một quy trình xử lý cho trước trong
một khoảng thời gian nhất định và sử dụng một hoặc nhiều thiết bị.
Các mô hình của ISA-88
ISA 88 (còn được gọi đơn giản hơn là S88 ) là một bộ tiêu chuẩn để
thực hiện các hệ thống Batch Control. Mục đích của nó là cung cấp
thuật ngữ nhất quán và khung để thiết kế và mô đun hóa các hệ thống
kiểm soát hàng loạt cho các hệ thống tự động hóa sản xuất theo mẻ.
Tiêu chuẩn S88 chi tiết ba mô hình để xác định hệ thống kiểm soát hàng
loạt:
• Mô hình vật lý – xác định cấu hình thiết bị vật lý
• Mô hình thủ tục – xác định các hướng dẫn chung được sử dụng để
kiểm soát hàng loạt
• Mô hình quy trình – xác định các hành động xử lý cho từng đơn vị
Mô hình S88
Để có thể phát triển một hệ thống điều khiển sản
xuất theo mẻ thành công, cần phải xác định ba
yếu tố quan trọng sau:
– Cách thức tạo ra sản phẩm (công thức)
– Các công cụ vật lý cần thiết để sản xuất (thiết
bị)
– Cách vận hành các thiết bị đó (hành động điều
khiển)
Chuẩn S88 đưa ra khái niệm công thức (Recipe)
và hai loại mô hình:
– Mô hình vật lý (Physical Model) dùng để mô tả
thiết bị
– Mô hình thủ tục (Procedure Model) dùng để mô
tả trình tự xử lý một quá trình dựa trên công thức.
Mô hình Vật lý
Equipment
Module

Control
Module
Plant / Area

Process Cell Equipment


PROCESS UNIT Module
Mô hình thủ tục
• Thủ tục (Procedure): là chiến lược thực
hiện một quá trình. Nó bao gồm nhiều thủ
tục đơn vị.
• Thủ tục đơn vị (Unit Procedure): là một
chiến lược thực hiện các hành động và chức
năng quá trình trong một đơn vị. Mỗi thủ
tục đơn vị bao gồm một hoặc nhiều hoạt
động (ví dụ: thủ tục đơn vị bình xử lý
chính, thủ tục đơn vị bình trộn nước).
• Hoạt động (Operation): là một phần tử
trong thủ tục. Nó định nghĩa một hành động
xử lý độc lập được thực hiện bởi một hoặc
nhiều pha trong một đơn vị (ví dụ: hoạt
động thêm nguyên liệu thô, hoạt động phản
ứng).
• Công đoạn (Phase): là phần tử nhỏ nhất
trong mô hình thủ tục. Nó thực hiện một
chức năng duy nhất hoặc độc lập trong một
đơn vị (ví dụ: trộn, khuấy, điều khiển nhiệt
độ, vận chuyển).
Lập trình dựa trên ISA-88
• Mô hình vật lý được miêu tả trong:
• Instrument list
• IO list
• System architecture
• Mô hình thủ tục, miêu tả trong
• Process Control Description
• Các thiết bị cùng loại sẽ được miêu tả cách hoạt động giống nhau
• Các công đoạn, hoạt động được mô tả dưới dạng thủ tục tuần tự
• Các công đoạn, hoạt động kiểm soát bởi Mô hình trạng thái
• Các tham số được lưu dưới dạng công thức Recipe, đưa vào trong các công đoạn và hoạt động
• Cause & effect:
• Các khóa liên động quy trình / liên động an toàn được mô tả dưới dạng bảng matrix
Ví dụ Các kiểu thiết bị (Control module/Equipment
Module)
• Analog instrument
• Discrete instrument
• Valve
• Control Valve
• VSD control motor
Các công đoạn:
• Giải nhiệt
• Bơm vào
• Khuấy
• Bơm ra theo yêu cầu từ máy đóng gói
Thủ tục đơn vị
• Chạy sản xuất
• Dừng vệ sinh
Phân tách và xử lý các thiết bị/ công đoạn
• Tạo các Object / Function / Add-On-Instruction / Function block
• Viết chương trình theo dạng Object Oriented Programming, với tất cả thông
tin được xác định thuộc tính trước.
• Mỗi object đã có sẵn TAG name theo P&ID, và trong chương trình cần tuân
thủ tag name chung
• Xây dựng sẵn thư viện object trong HMI / SCADA -> chỉ cần map Tag vào HMI
object là phần HMI/SCADA có thể chạy
Phân tách và xử lý các thiết bị - ví dụ: input
• Xác định phạm vi dựa theo PCD:
• Scale tín hiệu
• REAL or DINT: .input, .inputmin , .inputmax , .readingmin , .readingmax ,.reading
• Mức Alarm LL/L/H/HH và enable alarm
• BOOL: .enablealarm, .enablealarmL, .enablealarmLL, .enablealarmH, .enablealarmHH,
• DINT: .alarmLSetpoint, alarmLLSetpoint, alarmHSetpoint, alarmHHsetpoint
• Đơn vị:
• String: .EngineeringUnit
Phân tách và xử lý các thiết bị - ví dụ: Output
On/Off Valve
• Xác định phạm vi dựa theo PCD:
• Trạng thái:
• .feedbackOpenEnable, .feedbackOpen, .feedbackCloseEnable, .feedbackClose
• Trạng thái tự động hay trạng thái tay
• .ManualState , .AutoState, .RequestManual, .RequestAuto
• Yêu cầu đóng hay yêu cầu mở
• .RequestOpen, .RequestClose, .AutoRequestOpen, .AutoRequestClose
• Trạng thái khóa liên động quy trình (process interlock) và khóa liên động an
toàn (safety interlock)
Xử lý mô hình trạng thái cho Quy trình
• Lập trình 1 function để xử lý
quy trình trạng thái
• Trong quy trình trạng thái, ở
Running, thêm DINT về
bước .STEP để điều khiển tuần
tự
Mô tả quy trình
• Dựa trên số .STEP, mô tả quy trình theo tuần tự.
• Điều kiện chuyển .STEP sẽ dùng các Input đã được xử lý hoặc công
thức
• Tùy theo yêu cầu chương trình, .Step sẽ được dùng để tạo ra output
đối với thiết bị output
Ví dụ: mô tả công đoạn Bơm ra
• Bước 0, hệ thống ngừng, kiểm • Khi TransferOut4600.Run = 1
• Nếu TransferOut4600.Step = 0  nếu
tra nếu có dung dịch trong bồn LIT1001.reading > 1000  Set TransferOut4500.Step
= 100
(>1000) • Nếu TransferOut4600.Step = 100  nếu
V4617.feedbackopen -> TransferOut4600.Step = 200
• Bước 1, mở van V4617. Kiểm tra • Nếu TransferOut4600.Step = 200, LIT1001.reading <
van đã mở trước khi sang bước 10  TransferOut4600.Stop

2 //output
• Nếu TransferOut4600.Run =
• Bước 2, bật bơm PUMP4621. 1, .TransferOut4600.Step = 100 
V4617.AutoRequestOpen
Nếu hết dung dịch (<10) thì • NếuTransferOut4600.Run = 1, .TransferOut4600.Step
ngưng = 200, TransferRequest4600 =1
PUMP4621.AutoRequestRun
Ví dụ: Thủ tục đơn vị
• Khi được yêu cầu chạy sản • Tank4600.Sequence.Run=1
xuất: • .step = 100  TransferIn4600.Complete  .step =
200
• Bơm vào và giải nhiệt song • .step = 200  Mixing4600.Complete  .step 300
song • .step = 300  TransferOut4600.Complete 
• Khi bơm vào xong, khuấy Tank4600.Sequence.Run=0
trong 10 phút //output
• Khuấy xong , bơm ra • Tank4600.Sequence.Run=1, .step = 100 
TransferIn4600.Run,
• Tank4600.Sequence.Run=1, .step = 100 
Cooling4600.Run
• Tank4600.Sequence.Run=1, .step = 200 
TransferIn4600.Run
• Tank4600.Sequence.Run=1, .step = 300 
TransferOut4600.Run
Ví dụ: Thủ tục đơn vị
• Khi được yêu cầu chạy sản • Tank4600.Sequence.Run=1
xuất: • .step = 100  TransferIn4600.Complete  .step =
200
• Bơm vào, giải nhiệt, khuấy • .step = 200  Mixing4600.Complete  .step 300
song song • .step = 300  TransferOut4600.Complete 
• Khi bơm vào xong, khuấy Tank4600.Sequence.Run=0
trong 10 phút //output
• Khuấy xong , bơm ra • Tank4600.Sequence.Run=1, .step = 100 
TransferIn4600.Run,
• Tank4600.Sequence.Run=1, .step = 100 
Cooling4600.Run
• Tank4600.Sequence.Run=1, .step = 100 or 200 
Mixing4600.Run
• Tank4600.Sequence.Run=1, .step = 300 
TransferOut4600.Run

You might also like