Ngay từ khi ra đời, DCS đã có đầy đủ các chức năng điều khiển Logic như các PLC vì DCS ra đời sau vì vậy DCS đã kịp kế thừa các chức năng này. Trong quá trình phát triển của PLC, đã có rất nhiều xu hướng làm xoá dần ranh giới của PLC và DCS. C7Module2906061PLC và DCS ra đời không cách xa nhau nhiều. Nếu PLC chuyên sâu về điều khiển Logic rời rạc (discrete) thì DCS lại thiên về điều khiển quá trình (Process control). Tuy nhiên, ứng dụng của DCS thường dành cho các nhà máy xí nghiệp lớn, cho nên nếu dùng điều khiển tập trung sẽ rất tốn kém, cả về đầu tư ban đầu lẫn giá thành bảo trìvận hành. Vì vậy, các hệ DCS đã ứng dụng phương thức điều khiển phân tán thay vì điều khiển tập trung như PLC. Ngay từ khi ra đời, DCS đã có đầy đủ các chức năng điều khiển Logic như các PLC vì DCS ra đời sau vì vậy DCS đã kịp kế thừa các chức năng này. Trong quá trình phát triển của PLC, đã có rất nhiều xu hướng làm xoá dần ranh giới của PLC và DCS. Thực tế, với các hệ thống PLC lớn như 9070 của GE Fanuc hay S7400 của Siemens đều có các hình bóng của DCS như điều khiển phân tán qua mạng, điều khiển PID, dự phòng nóng... và giá thành của các hệ PLC này cũng tiệm cận giá của các hệ DCS. Như vậy, các đặc điểm chính của 1 hệ thống DCS là: Điều khiển quá trìnhPID, Cascade PID, Ratio control, Feedforward... Điều khiển phân tán qua mạng FieldBUSProfibus, Device Net, FF... Dự phòng nóng (Redundancy) và có khả năng Hot plug. Nạp chương trình khi hệ thống đang chạy. Và nhiều đặc điểm khác. Do vậy, DCS là một trong các thiết bị sử dụng phương pháp điều khiển phân tán, nhưng không phải là duy nhất. Ngược lại, DCS không chỉ điều khiển phân tán mà còn rất nhiều chức năng như trên. C7Module2906061_copy Rất nhiều người nhầm lẫn các hệ SCADA với DCS, cũng có người cho rằng PLC+PC= DCS. Tại sao lại dễ nhầm như vậy? Vì hệ SCADA cũng có yếu tố điều khiển qua mạng, SCADA cũng có các phần mềm HMI, các data server. Tuy nhiên, đây là 2 hệ thống khác nhau. Trong hệ thống DCS, có cả điều khiển đối tượng và điều khiển giám sát. Chức năng điều khiển đối tượng được thực hiện bởi các trạm điều khiển (Control station), còn chức năng điều khiển giám sát được thực hiện tại trạm vận hành (Operator station). Trong khi đó, SCADA chỉ có điều khiển giám sát, còn điều khiển đối tượng cũng có thể tồn tại trong các hệ thống điều khiển chung, nhưng nằm ngoài chức năng của hệ SCADA. Còn PLC+PC=DCS, có đúng vậy không? Giống vậy nhưng không đúng vậy. Vì PLC dù đã còn rất ít sự khác biệt với DCS nhưng vẫn không phải là DCS do thiếu những tính năng chủ đạo hoặc các tính năng này không hoàn thiện như DCS. Còn PC trong hệ PLC và DCS có nhiệm vụ không hoàn toàn giống nhau. PC trong hệ DCS có cả chức năng trạm vận hành lẫn trạm thiết kếkỹ thuật. PC trong hệ PLC có thể chạy các phầm mềm HMI, SCADA, nhưng chưa thể là trạm vận hành một cách đầy đủ như trong hệ DCS. Để xây dựng một hệ thống điều khiển phân tán, chúng ta có thể sử dụng rất nhiều loại thiết bị khác nhau và có tích hợp của tất cả các loại thiết bị này. Ví dụ, chúng ta có thể dùng PLC để xây dựng 1 hệ thống điều khiển phân tán, nếu bài toán điều khiển thiên về Logic và ít đòi hỏi cao về điều khiển quá trình. Hiện nay, xuất hiện nhiều hệ điều khiển lai (hybrid) trong đó có cả PLC và DCS hoặc thực hiện chức năng của cả hai hệ thống này. CommanD Automation đang là đại lý của Supcon về DCS và GE Fanuc về PLC và HMI. Trong đó, Supcon DCS ngoài chức năng của hệ DCS còn rất mạnh về điều khiển logic. Vì vậy, Supcon DCS sẽ có lợi thế hơn các hệ điều khiển lai khác về tính đồng bộ và tính hệ thống. Còn GE Fanuc có các hệ thống PAC, có tính năng mạnh mẽ của cả PLC, DCS mà lại còn là hệ thống PC based tuyệt vời. PAC của GE Fanuc còn cho phép nhà sản xuất thứ ba nối ghép sản phẩm nhúng của mình vào bus hệ thống vì dùng chuẩn chung VME và Ex PCI. Chúng ta lại được nhìn thấy tính mở thật sự của 1 hệ thống điều khiển không thua kém gì với chiếc PC chúng ta đang dùng. Ngoài ra, CommanD Automation còn đang phát triển sản phẩm điều khiển phân tán riêng của mình với các thế hệ Preloaded PLC Cd5000, PLC tích hợp HMI Cd6000, Compact PLC C7. Các thiết bị này vừa có thể là 1 thiết bị điều khiển khả trình độc lập, vừa có thể là các Module điều khiển phân tán. Nghĩa phân tán của CommanD PLC không chỉ ở ý nghĩa phân tán chấp hành như các hệ DCS mà phân tán cả tính toán và điều khiển. Vì vậy, trong hệ điều khiển phân tán của CommanD, các Field device chấp hành các lệnh của Master Control Unit vừa có thể thực hiện một số chức năng riêng biệt của mình, cho nên khi hệ thống trung tâm có trục trặc thì các field device vẫn có khả năng tiếp tục thực hiện chức năng của mình.
Trang 1Chương 5: Phần mềm điều khiển
5.1 Vấn đề TGT trong các hệ thống điều khiển5.2 Lập trình theo chuẩn IEC 61131-3
5.3 Phương pháp luận khối chức năng và chuẩn
IEC 61499
Trang 2Khoa học máy tính
Công nghệ truyền thông
Hệ thời gian thực
Mạng truyền thông công nghiệp
Hệ phân tán
Hệ điều khiển PLC & DCS
Trang 3 Khái niệm tác vụ và vai trò của xử lý cạnh tranh
trong các hệ thống điều khiển
Lập trình điều khiển thời gian thực
Hệ điều hành thời gian thực
Trang 45.1.1 Khái niệm về hệ thời gian thực
A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced.
Một hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy của nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ thuộc vào thời điểm đưa ra kết quả để phản ứng với sự kiện bên ngoài Hệ thống có lỗi khi thời gian yêu cầu không
Trang 6kiện xuất hiện vào các thời điểm không biết trước.
cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời
và xử lý đồng thời nhiều sự kiện diễn ra
ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng
Trang 7Liên quan tới HTđiều khiển?
Mỗi hệ thống điều khiển là một hệ thời gian thực
Chất lượng điều khiển không chỉ phụ thuộc vào thuật toán điều khiển, mà còn phụ thuộc vào khả năng phản ứng của
hệ thống, thời điểm đọc tín hiệu đầu vào (tín hiệu đo), vào thời gian tính toán luật điều khiển và thời điểm đưa ra tín hiệu điều khiển
Tính năng thời gian thực của một HTĐK phụ thuộc cả vào phần cứng và phần mềm và vào kiến trúc hệ thống
Phần cứng: Tốc độ tính toán của vi xử lý, tốc độ chuyển đổi DA/AD,
cơ chế vào/ra, chậm trễ trong các thiết bị
Phần mềm: Thuật toán điều khiển, phương pháp lập trình, tổ chức thực hiện chương trình
Tính năng TGT của một HTĐK liên quan tới tính mạng con người
Phần lớn các hệ thời gian thực là các hệ thống điều khiển
Trang 9Xử lý thời gian thực là hình thức xử lý thông tin trong một
hệ thống để đảm bảo tính năng thời gian thực của nó.
Luôn liên quan với các sự kiện bên ngoài (tính phản
ứng)
Yêu cầu cao về hiệu suất phần mềm (tính nhanh
nhạy)
Đòi hỏi xử lý đồng thời nhiều tác vụ (tính đồng thời)
Đòi hỏi cơ sở lý thuyết chặt chẽ phục vụ phân tích
và đánh giá (tính tiền định)
Trang 10của mỗi bộ điều khiển, nhìn từ quan điểm tin học
Chất lượng điều khiển và độ tin cậy của hệ thống
điều khiển không chỉ phụ thuộc vào thuật toán điều
khiển, công nghệ phần cứng, mà còn phụ thuộc một
cách tất yếu vào phương pháp xử lý thời gian thực
Chúng ta còn biết quá ít về cơ chế thực hiện các
chức năng bên trong một bộ điều khiển (số)
Trang 11– Các tác vụ điều khiển logic – Các tác vụ xử lý biến cố –
Một tác vụ là sự thi hành một chương trình hoặc một phần chương trình
– Một chương trình chạy nhiều lần => nhiều tác vụ – Một đoạn mã chương trình (ví dụ một hàm) được gọi tuần hoàn với các chu kỳ khác nhau => nhiều tác vụ khác nhau
Multitasking (đa nhiệm): khả năng thi hành đồng thời nhiều tác vụ
Trang 12nhưng hệ điều hành không quản lý.
Trạng thái sẵn sàng (Ready state): Khi
nó có thể được điều hoạt nhưng hiện đang có một Task khác có mức ưu tiên cao hơn đang được thực hiện
Trạng thái chạy (Running state): Khi nó đang được điều khiển bởi CPU
Trạng thái đợi (Waiting state) : Khi nó đang chờ một sự kiện xảy ra để được sẵn sàng như một sự kiện vào/ra, khi tài nguyên chung có thể sử dụng hay là khi
có các ngắt thời gian.
RUNNING WAITING
Trang 13- Điều khiển logic
- Kiểm tra lỗi
Trang 14Quản lý tác vụ tuần hoàn
void OldTask(void *pdata) {
while(1){
// user codes //
OSTimeDly(nTick); }
} void NewTask(void *pdata) {
while(1){
// user codes //
OSWaitPeriod(); }
}
Trang 15thực hiện song song trên nhiều bộ xử lý
một bộ xử lý
riêng trên một máy tính (trường hợp đặc biệt của xử
lý song song)
Xử lý cạnh tranh là hình thức quan trọng nhất trong các hệ thống điều khiển (có thể kết hợp với xử lý phân tán)
Trang 16– Giao tiếp giữa các tác vụ – Đồng bộ hóa giữa các tác vụ
Trang 17– Lập lệnh tĩnh: thứ tự thực hiện các tác vụ được xác định trước khi
hệ thống đi vào hoạt động.
– Lập lệnh động: thứ tự thực hiện các tác vụ được xác định trong khi
hệ thống đang hoạt động.
Sách lược lập lịch
– FIFO: đến trước sẽ được thực hiện trước.
– Mức ưu tiên cố định/động: các tác vụ được đặt các mức ưu tiên cố định hoặc có thể thay đổi nếu cần.
– Preemptive: chen hàng, chọn một tác vụ để thực hiện trước các tác
vụ khác.
– Non-preemptive: không chen hàng, các tác vụ được thực hiện bình thường dựa trên mức ưu tiên của chúng.
Thuật toán lập lịch
– Rate monotonic: càng thường xuyên càng được ưu tiên.
– Deadline monotonic: càng gấp càng được ưu tiên.
– Least laxity: tỷ lệ thời gian tính toán/thời hạn cuối cùng (deadline) càng lớn càng được ưu tiên.
Trang 18I/O
Actuator Sensor
I/O
Actuator I/O
Trang 195.1.3 Hệ điều hành thời gian thực
Hệ điều hành thời gian thực là một hệ điều hành hỗ trợ các chương trình ứng dụng xử lý thời gian thực
Hầu hết các bộ điều khiển công nghiệp (PLC, DCS, ) đều hoạt động trên nền một hệ điều hành
thời gian thực (RTOS, Real-time Operating System)
Bản thân hệ điều hành thời gian thực cũng là một hệ thời gian thực
Một hệ điều hành thời gian thực bao giờ cũng là một
hệ đa nhiệm (multitasking), hỗ trợ xử lý cạnh trạnh
hoặc/và xử lý song song
Trang 20 Quản lý dữ liệu vào/ra và quản lý truyền thông
– Giúp các chương trình ứng dụng dễ dàng truy cập dữ liệu
mà không cần quan tâm tới cơ chế phần cứng cụ thể
Quản lý tác vụ:
– Lập lịch: Phân chia thời gian CPU cho thi hành các tác vụ
khác nhau (trong xử lý cạnh tranh) – Hỗ trợ đồng bộ hóa quá trình: Giúp các tác vụ chia sẻ tài
nguyên sử dụng chung (bộ nhớ, cổng vào/ra, ) – Hỗ trợ giao tiếp liên quá trình: Giúp các tác vụ thực hiện
giao tiếp, trao đổi dữ liệu hoặc phối hợp hoạt động
Các chức năng kiểm tra, chẩn đoán lỗi
Trang 21– Quản lý hiệu quả các tác vụ tuần hoàn, đảm bảo chính xác
về chu kỳ thời gian, độ rung nhỏ (jitter)
– Quản lý vào/ra hiệu quả, đơn giản
Trang 22QUẢN LÝ
BỘ NHỚ
QUẢN LÝ VÀO/RA
XỬ LÝ GIAO TIẾP
QUẢN LÝ
SỰ KIỆN GIAO DIỆN LẬP TRÌNH ỨNG DỤNG
CHƯƠNG TRÌNH ỨNG DỤNG
CHƯƠNG TRÌNH ỨNG DỤNG
CHƯƠNG TRÌNH ỨNG DỤNG
Cấu trúc tiêu biểu của một hệ điều hành thời gian thực
Trang 23CẤU HÌNH µC/OS-II
OS_CFG.H INCLUDE.H
CHUYỂN MÃ µC/OS-II
OS_CPU.H OS_CPU_A ASM OS_CPU_C.C
PHẦN MỀM
PHẦN CỨNG
Trang 24 Quản lý vào/ra, quản lý các ngoại vi
Quản lý, xử lý truyền thông
Nạp chương trình xuống (download) và lên (upload)
Chạy từng (phần) chương trình ứng dụng
Hỗ trợ chạy chế độ thử nghiệm, gỡ rối
Tạo và quản lý các tác vụ (sự kiện và tuần hoàn)
Quản lý bộ nhớ
Chẩn đoán lỗi
Giao diện người-máy đơn giản
Tự động hồi phục trạng thái làm việc sau khi khởiđộng lại (warm-start)
Trang 25 AdvantOCS (ABB): Advant Controller, hệ điều hành riêng
Freelance 2000 (ABB): D-PS hoặc D-FC, hệ điều hành pSOS
Symphonie (ABB): Melody, hệ điều hành pSOS
DeltaV (Fisher-Rosermount): Visual Controller, hệ điều hành TSOS
I/A Series (Foxboro): CP60, hệ điều hành VRTX
PlantScape (Honeywell): PlantScape Controller, hệ điều hành riêng
Centum CS1000/CS3000 (Yokogawa): PFCx-E, AFS10x/AFS20x, hệ điều hành ORKID
4Control (Softing): SoftPLC, hệ điều hành VxWorks
Trang 26 Giới thiệu chung về IEC 61131
Tiến trình chuẩn hóa IEC 61131
Mô hình phần mềm
Biến và kiểu dữ liệu
Tổ chức chương trình
Ngôn ngữ lập trình
Trang 27thiết bị điều khiển công nghiệp có khả năng lập trình (PLC, DCS, Soft PLC, )
– Phần 1 (General Information) – Phần 2 (Equipment requirements)
– Phần 4 (Guidelines for users) – Phần 5 (Communication)
– Phần 7 (Fuzzy Control) –
chuẩn IEC 61131-3
Trang 28 1979: Bắt đầu soạn bản thảo IEC 1131
1982: Hoàn thành bản thảo đầu tiên (5 nhóm làmviệc)
1983: DIN 19239 PLC-Programming
1992: Chuẩn hóa quốc tế IEC 1131-1 và 1131-2
1993: Chuẩn hóa quốc tế IEC 1131-3
1995: Chuẩn hóa quốc tế IEC 1131-TR4
1994-1997: Đính chính IEC 1131-3 (Corrigendum)
1996-1999: Sửa đổi, bổ sung (Amendment)
Từ 2000 -> IEC 61131-3 2nd Edition
Trang 29Các tiến bộ của IEC 61131-3
Các yếu tố cấu hình thống nhất (CONFIGURATION, TASK, RESOURCE), mô hình TASK và RESOURCE thích hợp cho nhiều hệ thống khác nhau
Mô hình phần mềm thống nhất, hiện đại, với các khối
tổ chức chương trình hợp lý (PROGRAM, FUNCTION BLOCK, FUNCTION)
Các ngôn ngữ lập trình thống nhất, phát triển trên cơ
sở chuẩn hóa các ngôn ngữ hiện có quen thuộc
Các kiểu dữ liệu đa dạng, khả mở
Một thư viện các hàm và khối chức năng chuẩn
Bước đầu có ý tưởng hướng đối tượng
Một mô hình giao tiếp thống nhất
Trang 30A C C E S S P A T H S
E xe cutio n c on trol path
V a ria ble access pa ths
F B
Fun ction block or
C om m un ication functio n (S ee IE C 1131-5)
Trang 31– Bao gồm một hay nhiều tài nguyên
Tài nguyên (RESOURCE)
– Tương ứng cho một CPU với các vào/ra và HMI (đơn giản) tương ứng
– Bao gồm một hoặc nhiều chương trình hoạt động dưới sự điều khiển của một hoặc nhiều tác vụ
Tác vụ (TASK)
– Tác vụ tuần hoàn (Periodic Task) – Tác vụ sự kiện, task đơn (Event Task, Single Task) – Tác vụ rỗi (Idle Task)
Biến toàn cục (Global Variables)
Lối truy nhập (Access Path)
Trang 32Các kiểu dữ liệu cơ bản
Kiểu Bool BOOL
Kiểu nguyên có dấu SINT, INT, DINT, LINT, INT
Kiểu nguyên dương USINT, UINT, UDINT, ULINT
Số thực REAL, LREAL
Khoảng thời gian TIME
Ngày tháng DATE
Thời gian trong ngày TIME_OF_DAY, TOD
Ngày tháng và thời gian DATE_AND_TIME, DT
Chuỗi ký tự STRING, WSTRING
Chuỗi bit BYTE, WORD, DWORD,
LWORD
Trang 34ANY_REAL LREAL REAL ANY_INT
LINT, DINT, INT, SINT ULINT, UDINT, UINT, USINT TIME
ANY_BIT LWORD, DWORD, WORD, BYTE, BOOL ANY_STRING
STRING WSTRING ANY_DATE DATE_AND_TIME DATE, TIME_OF_DAY
Trang 35Khai báo biến
Kiểu của biến:
– Kiểu cơ bản, – Kiểu dẫn xuất, – Kiểu tổng quát – Khối chức năng, – Khối chương trình
Từ khóa
– Bắt đầu với VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR_EXTERNAL, VAR_GLOBAL, VAR_ACCESS, VAR_TEMP hoặc VAR_CONFIG – Có thể kèm theo thuộc tính RETAIN, NON_RETAIN, CONSTANT, AT
– Kết thúc với END_VAR
Trang 36– X hoặc không ghi 1 bit, mặc định là BOOL – B 8 bit, mặc định là BYTE – W 16 bit, mặc định là WORD – D 32 bit, mặc định là DWORD – L 64 bit, mặc định là LWORD
Ví dụ:
– %QX75, %Q75 Bit ra vị trí 75 – %IW215 Từ vào vị trí 215 – %QB7 Byte vào vị trí 7 – %MD48 Từ đúp vào tại vị trí ô nhớ 48 – %IW2.5.7.1 Từ vào kênh 1, slot 7, rack 5, station 2 – %Q* Đầu vào chưa định vị trí
Trang 37LIM_SW_S5 AT %IX27 : BOOL = TRUE;
CONV_START AT %QX25 : BOOL;
TEMPERATURE AT %IW28: INT;
C2 AT %Q* : BYTE;
END_VAR VAR INARY AT %IW6 : ARRAY [0 9] OF INT; END_VAR VAR
Trang 38 Khối chức năng (FUNCTION BLOCK)
– Tương tự lớp trong lập trình HĐT, có thể có nhiều đầu ra – Như một hệ động, có trạng thái
– Phân biệt giữa kiểu và thể nghiệm theo ngữ cảnh – Có giá trị sử dụng lại
Chương trình (PROGRAM)
– Về cơ bản giống như khối chức năng – Truy cập được các biến trực tiếp (biến vào/ra, biến nhớ trực tiếp) và các biến toàn cục
– Không có giá trị sử dụng lại
Trang 39a, b: REAL;
c : REAL:= 1.0;
END_VAR fct1 := a*b/c;
END_FUNCTION
(* Gọi hàm *)
y := fct1(a:= x, b:= 2.0);
Name
P1 P2 P3
Data Type Data Type Data Type
Data Type
Các tham số hình thức KHAI BÁO HÀM
Name
P1 P2 P3
X 0.25
Các tham số thực tại
SỬ DỤNG HÀM
Trang 40END_VAR VAR_OUTPUT
END_VAR VAR
INTERNAL_STATE: BOOL; END_VAR
(* statements of functionblock body *) END_FUNCTION_BLOCK
X 0.25
Y Tên biến thể nghiệm
FB_NAME
P1 O1 P2 O2 P3
Data Type Data Type Data Type
Data Type
Các tham biến hình thức KHAI BÁO KHỐI CHỨC NĂMG
Data Type
Trang 41– Instruction List (IL) : Một dạng hợp ngữ – Structured Text (ST): Giống PASCAL – Các thành phần SFC có thể sử dụng phối hợp
– Ladder Diagram (LD): Giống mạch rơ le – Funtion Block Diagram (FBD): Giống mạch nguyên lý – Sequential Funtion Charts (SFC): Xuất xứ từ mạng Petri/Grafcet
Instruction List (IL) Structured Text (ST)
LD A ANDN B
ST C
C:= A AND NOT B
A B C -| | |/| -( )
AND
A C B
Sequential Function Charts
Trang 42VAR_ACCESS END_VAR VAR_GLOBAL END_VAR VAR_CONFIG END_VAR FUNCTION END_FUNCTION FUNCTION_BLOCK END_FUNCTION_BLOCK PROGRAM END_PROGRAM
STEP END_STEP TRANSITION END_TRANSITION ACTION END_ACTION
Trang 43AND( %IX1
)
Accu đa năng: chứa "giá trị tức thời"
• Thích hợp với các kiểu dữ liệu khác nhau
• Mã thực hiện cụ thể do trình biên dịch tạo ra
• Chuẩn không qui định về các cờ trạng thái accu
Trang 44 Ngôn ngữ hoàn toàn mới, dựa trên PASCAL/C
Ưu điểm: Đơn giản, mạnh
– Lập trình ở mức cao – Dễ mô tả nhiệm vụ điều khiển – Lập trình có cấu trúc
– Các lệnh điều khiển chương trình (IF, WHILE, FOR, )
Trang 45– Ký hiệu mô tả các khối và đường nét:
– Hướng của các dòng trong mạng
– SFC cho điều khiển trình tự, phối hợp sử dụng LD và FBD
Trang 46Cuộn dây âm (đầu ra nghịch đảo) Cuộn dây đặt
Cuộn dây xoá Cuộn dây cảm nhận sườn xung lên Cuộn dây cảm nhận sườn xung xuống
P N
S R P N
Trang 47IN OUT
>> Safety
LED
Trang 48Sequential Function Chart (SFC)
Step: Một bước thực hiện trong điều khiển trình tự
– Có thể bao gồm nhiều hành động đi kèm – Có ít nhất một bước tích cực
– Trạng thái hệ thống được xác định qua các bước tích cực
Transition: Chuyển tiếp, được thực hiện khi điều kiện chuyển tiếp thỏa mãn
– Lập trình bằng ST, FBD, LD hoặc IL
Action: Hành động đi với một bước
– Nằm trong một "Action Block"
– Được kiểm soát thực thi qua các "Qualifier"
Trang 505.3 Khối chức năng và chuẩn IEC 61499
Phương pháp luận khối chức năng
Các mô hình khối chức năng:
– IEC 61131-3 – IEC 61158-2, Foundation Fieldbus, Profibus-PA – IEC 61499
Chuẩn IEC 61499: Điều khiển và tự động hóa phân tán
– Các tư tưởng cơ bản – Các mô hình kiến trúc – Viễn cảnh tương lai
Trang 51Phương pháp luận khối chức năng
Gần như bất cứ một chương trình nào cũng có thểviết dưới dạng một sơ đồ khối chức năng (FBD)
FBD đơn giản, trực quan, đủ linh hoạt
FBD là ngôn ngữ lập trình bậc cao, không phụ thuộc vào cơ chế thực hiện bên dưới
Hỗ trợ kiểu "lập trình" cũng như "không lập trình" hay
"cấu hình"
Phù hợp với các ứng dụng tập trung cũng như phân tán
Khả năng sử dụng lại giống như các lớp đối tượng
Dễ mở rộng thông qua bổ sung các thư viện, mỗikhối chức năng có thể lập trình bằng một ngôn ngữriêng
Trang 52– Được hỗ trợ trong Foundation Fieldbus và Profibus-PA
Trang 53khả năng lập trình linh hoạt
linh hoạt khả năng phân tán khả năng cấu hình khả năng lập trình
HT sản xuất linh hoạt
Khối chức năng IEC 61499
PLC IEC 61131-3
Tập trung Khả năng lập trình Khả năng cấu hình
DCS IEC 61804
Phân tán Khả năng cấu hình
Chính đề
Phản đề
Tổng hợp
Trang 54H1 Fieldbus Segment # 1
H1 Fieldbus Segment # 2
CV-101 A/O
IP 102 20
19
21
AT 107A
LT 101
AT 107B TT
105
AT 106
Re-Burned Lime
LT
108
Purchased Lime
LT
112
Green Liquor Storage
IP 104A IP
DT 109
FT 110
SC 110
TT 104
FT 102
AT 103
Trang 55PID AO
AI LL
FIC 102
AT 107B
AT 107A
AT 106
AT 103
IP 102
FT 102
SC
107
AIC 107
AC 106 FRC
103
AY 103
AT107A
AT107B HS107 AIC107 AIC106
FRC103 SC103
IP102 FIC102
FT102
AT106 AY103
AT103
Trang 56Các tư tưởng chính của IEC 61499
Xuất phát từ các yêu cầu:
– Khả năng sử dụng lại và đóng gói phần mềm – Tính linhh hoạt, khả năng cấu hình động
– Lập lịch thực thi – Thiết kế trên cơ sở máy trạng thái – Tương tác giao tiếp/thực thi
– Yêu cầu thời gian đáp ứng – Lựa chọn các thuật toán
Các tư tưởng chính:
– Các ứng dụng phân tán – Đóng gói và sử dụng lại phần mềm hướng dối tượng – Giao diện dữ liệu và sự kiện
– Máy trạng thái điều khiển theo sự kiện – Giao diện dịch vụ
– Dịch vụ quản lý – Tính khả chuyển của phần mềm