NỘI DUNG Thiết kế giao diện cho mô hình đo lường độ Oxy hòa tan sử dụng phần mềm WinCC và bộ điều khiển PLC S7300 – Sử dụng khối hàm FB PHẦN THUYẾT MINH Chương 1 Tìm hiểu các cảm biến đo độ Oxy hòa tan Chương 2 Thiết kế phần mềm đo lường trên S7300 Chương 3 Thiết kế giao diện giám sát Chương 4 Kết quả mô phỏng.
Trang 1ĐỒ ÁN MÔN HỌC
HỆ THỐNG SCADA , DCS VÀ MẠNG TRUYỀN THÔNG TRONG
CÔNG NGHIỆP NHÓM 10.
Giáo viên hướng dẫn : Hoàng Quốc Xuyên
Sinh viên thực hiện : Nguyễn Mạnh Cường
Đào Văn MạnhNguyễn Văn QuỳnhNội dung đề tài : Thiết kế giao diện cho mô hình đo lường độ Oxy hòa tan sửdụng phần mềm WinCC và bộ điều khiển PLC S7-300 – Sử dụng khối hàm FB
Trang 2Bé C«ng TH¦¥NG
Trêng §H C«ng nghiÖp Hµ Néi
Céng hoµ x· héi chñ nghÜa ViÖt Nam
Giáo viên hướng dẫn : Hoàng Quốc Xuyên
NỘI DUNG
Thiết kế giao diện cho mô hình đo lường độ Oxy hòa tan sử dụng phần mềm
WinCC và bộ điều khiển PLC S7-300 – Sử dụng khối hàm FB
PHẦN THUYẾT MINH
Chương 1- Tìm hiểu các cảm biến đo độ Oxy hòa tan
Chương 2- Thiết kế phần mềm đo lường trên S7-300
Chương 3- Thiết kế giao diện giám sát
Chương 4- Kết quả mô phỏng
Ngày giao đề : 5/10/2015 Ngày hoàn thành : 10/12/2015
GIÁO VIÊN HƯỚNG DẪN
Hoàng Quốc Xuyên
MỞ ĐẦU
MÉu: MC - 11)
Trang 3Cũng như các loài sinh vật sống trên cạn, các thủy sinh vật cũng cần có oxy đểduy trì sự sống.Đa phần thủy sinh vật điều sử dụng oxy hòa tan trongnước.Lượng oxy hòa tan trong nước gọi tắt là DO ( Dessolved Oxygen )
Ngày nay trong công nghiệp nuôi trồng thủy sản cũng như công nghệ xử lýnước rất chú trọng tới việc đánh giá lượng DO nhằm giúp thủy hải sản phát triểntốt cũng như việc đánh giá mức độ ô nhiễm nước Vì vậy với đề tài này chúng
em xin đưa ra mô hình điều khiển giám sát mức độ DO trong nước sử dụngphần mềm Wincc và bộ điều khiển PLC S7-300 để giám sát điều chỉnh độ oxyhòa tan DO trong nước, giúp sing vật phát triển
MỤC LỤC
Trang 4Chương 1 Tìm hiểu các cảm biến đo độ Oxy hòa tan 6
1.Có thể xác định DO bằng hai phương pháp khác nhau: 6
2 Kỹ thuật phân tích 6
2.1.Phương pháp Winkler 6
2.2.Phương pháp điện cực oxy hoà tan- máy đo oxy 6
III.Lựa chọn thiết bị 8
1.Giới thiệu cảm biến 8
2 Thông số kỹ thuật 8
Chương 2 :Thiết kế phần mềm đo lường trên S7-300 9
I.Sơ lươc về PLC Siemens S7-300 9
Giới thiệu PLC S7-300 9
1.Tổ chức bộ nhớ CPU 11
2.Vòng quét chương trình của PLC 13
3.Cấu trúc chương trình 14
4.Ngôn ngữ lập trình 17
II lựa chọn loại PLC sử dụng và thiết bị 18
1.Module nguồn PS 307 18
2.Module nguồn PS 307 10A 19
3.Đèn báo 220V 19
4.Nút ấn 20
III Thiết kế giao diện giám sát 20
3.1: Lập trình khối hàm FB 20
3.2: Sử dụng phần mềm simatic 21
Trang 53.2.1: Cấu hình phần cứng trong simatic manager hình 3.2 21
3.2.3: chương trình chính OB1 gọi chươn trình con đọc và cảnh báo mức oxy hòa tan 26
Chương 3- Thiết kế giao diện giám sát 28
I.Tìm hiểu về wincc 28
1.Tổng quan về WinCC 28
2.Cấu trúc của WinCC 28
3.Kết nối PLC S7-300 với Wincc qua MPI 31
Chương 4.Kết quả mô phỏng 33
Trang 6Chương 1 Tìm hiểu các cảm biến đo độ Oxy hòa tan
I.Tìm hiểu DO
Oxy hoà tan trong nước đóng vai trò rất quan trọng đối với động vật thuỷ sinhnói chung và động vật thuỷ sản nói riêng, oxy hoà tan của thuỷ vực có hainguồn chính: khuyếch tán từ không khí (nhờ gió, sóng) và do tảo quang hợp tạo
ra, oxy bị tiêu hao bởi các quá trình: thoát vào không khí, hô hấp của tảo vàđộng vật, phân huỷ chất hữu cơ do vi sinh vật, do các chất sa lắng trong lớp bùn.Đảm bảo lượng oxy hoà tan cần thiết cho thuỷ vực là đảm bảo năng suất nuôitrồng thủy sản, chất lượng sản phẩm thuỷ sản
Nhằm mục đích theo dõi đánh giá nồng độ oxy tan trong nước để đảm bảo sựsống cho sinh vật thủy sinh ta sử dụng cảm biến oxy hòa tan DO
II.Phương pháp xác định DO
1.Có thể xác định DO bằng hai phương pháp khác nhau:
- Phương pháp Winkler (hóa học)
- Phương pháp điện cực oxy hòa tan - máy đo oxy
2 Kỹ thuật phân tích.
2.1.Phương pháp Winkler
Cách tiến hành: Oxy trong nước được cố định ngay sau khi lấy mẫu bằng hỗnhợp chất cố định (MnSO4, KI, NaN3), lúc này oxy hòa tan trong mẫu sẽ phảnứng với Mn2+ tạo thành MnO2 Khi đem mẫu về phòng thí nghiệm, thêm acidsulfuric hay phosphoric vào mẫu, lúc này MnO2 sẽ oxy hóa I- thành I2 Chuẩn
độ I2 tạo thành bằng Na2S2O3 với chỉ thị hồ tinh bột Tính ra lượng O2 có trongmẫu theo công thức:
8: là đương lượng gam của oxy
VM: là thể tích (ml) mẫu nước đem chuẩn độ
1.000: là hệ số chuyển đổi thành lít
2.2.Phương pháp điện cực oxy hoà tan- máy đo oxy
Đây là phương pháp được sử dụng rất phổ biến hiện nay Máy đo DO đượcdùng để xác định nồng độ oxy hòa tan ngay tại hiện trường Điện cực của máy
đo DO hoạt động theo nguyên tắc: dòng điện xuất hiện trong điện cực tỷ lệ vớilượng oxy hòa tan trong nước khuếch tán qua màng điện cực, trong lúc đó
Trang 7lượng oxy khuếch tán qua màng lại tỷ lệ với nồng độ của oxy hòa tan Đo cường
độ dòng điện xuất hiện này cho phép xác định được DO
Các cảm biến đo hàm lượng oxy hòa tan thông dụng hoạt động dựa trên nguyên
lý do Macbeth đề xuất, trong đó, cảm biến hoạt động giống như một pin điệnhóa
Nguyên lý về cấu tạo và hoạt động của cảm biến này được trình bày trên sơ đồ
Cảm biến đo hàm lượng oxy hòa tan
Trong cảm biến chứa dung dịch KCl và 2 điện cực, anốt bằng kẽm hay chì vàcatốt bằng bạc Một màng chắn xốp ngăn cách phần trong cảm biến và dungdịch cần đo nhưng cho phép oxy di chuyển vào trong cảm biến
Tại anốt xẩy ra sự oxy hóa : Zn → Zn2 + + 2 e
-Tại catốt xẩy ra sự khử oxy : 2 e -+ ½ O2 + H2O → 2 OH
-Do các phản ứng oxy hóa khử trên mà cảm biến hoạt động giống như một pinđiện hóa và tạo ra dòng điện Cường độ dòng điện này phụ thuộc vào hàm lượngoxy hòa tan trong dung dịch đo Khi đo được cường độ dòng điện ta xác địnhđược hàm lượng oxy hòa tan
Trang 8Cấu tạo thực tế của cảm biến được trình bày trong Hình 9b, trong đó catốt làmột lõi ở giữa, anốt là một ống bọc ngoài catốt Tất cả đặt trong một thân.
III.Lựa chọn thiết bị
Nhằm đáp ứng nhu cầu công nghệ nhóm chúng em xin đưa ra cảm biếnGLI5500 –một loại cảm biến đo DO rất hay được sử dụng trên thị trường hiệnnay
1.Giới thiệu cảm biến
GLI5500 sử dụng công nghệ tế bào polarographic Clark, hệ thống cảm biến baogồm ba bộ đo một anot bạc, một catot vàng và một điện cực bạc thamchiếu Cảm biến tham chiếu bạc cho ra tín hiệu rõ nhờ sử dụng một hằng sốphép đo điện áp phân cực đóng vai trò ổn định, để tránh sự gián đoạn của hệthống cảm biến Với việc sử dụng bộ ba cảm biến tế bào kết hợp với việc điệncực oxy hòa tan GLI 5500 cho phép ta xác đinh DO với độ chính xác và ổn địnhcao
Tính năng
- Màng chống bám bẩn và bền
Màng thẩm thấu có tính năng kị nước dày 50 micron đảm bảo sensor không bịđóng bám cặn và hoạt động được trong môi trường khắc nghiệt như trong cácnhà máy xử lý nước thải
Đầu ra Analog :4-20mA
Giao thức truyền thông RS-232 & 485, Profibus DPV1 RS-232 N / A
Lớp bảo vệ NEMA4X (IP66), 1 / 2DIN NEMA4X (IP65), 1 / 4DIN (panel)NEMA4X
Trang 9Chương 2 :Thiết kế phần mềm đo lường trên S7-300
I.Sơ lươc về PLC Siemens S7-300
Giới thiệu PLC S7-300
a Thiết bị điều khiển logic khả trình
Thiết bị điều khiển logic khả trình (Programmable Logic Controller) là loại thiết bị thực hiện linh hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình, thay vì phải thực hiện thuật toán đó bằng mạch số Như vậy, PLC là một bộ điều khiển gọn, nhẹ và dễ trao đổi thông tin với môi trường bên ngoài (với các PLC khác hoặc máy tính) Toàn bộ chương trình điều khiển được lưu trữ trong bộ nhớ của PLC dưới dạng các khối chương trình và được thực hiện theo chu kỳ của vòng quét (scan)
Cấu trúc bên trong của một PLC
Để thực hiện một chương trình điều khiển, tất nhiên PLC phải có tính năngnhư một máy tính, nghĩa là phải có một bộ vi xử lý (CPU), một hệ điều hành, bộnhớ để lưu chương trình điều khiển, dữ liệu và tất nhiên phải có các cổng vào/ra
để giao tiếp với đối tượng điều khiển và để trao đổi thông tin với môi trườngxung quanh Bên cạnh đó nhằm khắc phục bài toán điều khiển số, PLC còn phải
có thêm một số khối chức năng đặc biệt khác như bộ đếm (Counter), bộ địnhthời (Timer)…và những khối hàm chuyên dùng
- Ưu điểm của bộ điều khiển lập trình được so với điều khiển nối dây:
Trang 10 Tính năng mở rộng: khả năng mở rộng xử lý bằng cách thay đổi chương trìnhlập trình một cách dễ dàng
Độ tin cậy cao
Cách kết nối các thiết bị điều khiển đơn giản
Hình dáng PLC gọn nhẹ
Phù hợp với môi trường công nghiệp
- Các ứng dụng của PLC trong sản xuất và trong dân dụng
Điều khiển Robot trong công nghiệp
Hệ thống xử lý nước sạch
Công nghệ thực phẩm
Công nghệ chế biến dầu mỏ
Công nghệ sản xuất vi mạch
Điều khiển các máy công cụ
Điều khiển và giám sát dây chuyền sản xuất
Điều khiển hệ thống đèn giao thông
b Các module của PLC S7-300
Để tăng tính mềm deo trong các ứng dụng thực tế mà ở đó phần lớn các đốitượng điều khiển có số tín hiệu đầu vào, đầu ra cũng như chủng loại tín hiệuvào/ra khác nhau mà các bộ điều khiển PLC được thiết kế không bị cứng hóa vềcấu hình Chúng được chia nhỏ thành các module Số các module được sử dụngnhiều hay ít tùy thuộc vào từng bài toán, song tối thiểu bao giờ cũng có modulechính (module CPU, module nguồn) Các module còn lại là những moduletruyền nhận tín hiệu với các đối tượng điều khiển, chúng được ogị là cácmodule mở rộng Tất cả các module đều được gá trên một thanh Rack
Đây là loại module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian,
bộ đếm, cổng truyền thông,… và có thể có các cổng vào/ra số Các cổng vào/ratích hợp trên CPU gọi là cổng vào ra onbroad
Trong họ PLC S7-300, các module CPU có nhiều loại và được đặt tên theo bộ
vi xử lý bên trong như: CPU 312, CPU 314, CPU 316,… Những module cùngmột bộ vi xử lý nhưng khác nhau số cổng vào/ra onbroad cũng như các khốihàm đặc biệt thì được phân biệt bằng cụm chữ cái IFM (Intergrated FunctionModule) Ví dụ như: CPU 312IFM, CPU 314IFM,…
Ngoài ra, còn có các loại module CPU có 2 cổng truyền thông, trong đó cổngthứ 2 dùng để nối mạng phân tấn như mạng PROFIBUS (PROcess FIeld BUS).Loại này đi kèm với cụm từ DP (Distributed Port) trong tên gọi Ví dụ: moduleCPU 315-DP
Trang 11- Module mở rộng:
Các module mở rộng được chia thành 5 loại
PS (Power Supply): module nguồn là module tạo ra nguồn có điện áp 24 VDCcấp cho các module khác Có loại: 2A, 5A và 10A
SM (Signal Module): Module mở rộng vào/ra
o DI (Digital Input): module mở rộng cổng vào số Số các cổng vào số mở rộng
có thể là 8, 16 hoặc 32 tùy thuộc vào từng loại module
o DO (Digital Ouput): module mở rộng cổng ra số Số các cổng vào số mở rộng
có thể là 8, 16 hoặc 32 tùy thuộc vào từng loại module
o DI/DO (Digital Input/Digital Output): module mở rộng cổng vào/ra số Số cáccổng vào/ra mở rộng có thể là 8 vào/ra hoặc 16 vào/ra tùy thuộc vào từng loạimodule
o AI (Analog Input): module mở rộng cổng vào tương tự Bản chất chúng lànhững bộ chuyển đổi tương tự sang số (ADC) Số các cổng vào tương tự có thể
là 2, 4 hoặc 8 tùy từng loại module, số bit có thể là 8, 10, 12, 14, 16 tùy theotừng loại module Các dạng tín hiệu đọc được: Điện áp, dòng điện, điện trở,nhiệt độ
o AO (Analog Output): module mở rộng cổng ra tương tự Chúng là những bộchuyển đổi từ số sang tương tự (DAC) Số cổng ra tương tự có thể là 2 hoặc 4tùy từng loại module
o AI/AO (Analog Input/Analog Output): module mở rộng vào/ra tương tự Số cáccổng vào ra tương tự có thể là 4 vào/2 ra hoặc 4 vào/4 ra tùy từng loại module
IM (Interface Module): Module kết nối
Đây là loại module dùng để kết nối từng nhóm các module mở rộng thành mộtkhối và được quản lý bởi một module CPU Thông thường các module mở rộngđược gá liền nhau trên một thanh rack Mỗi thanh rack chỉ có thể gá được nhiềunhất 8 module mở rộng (không kể module CPU và nguồn) Một module CPU cóthể làm việc nhiều nhất với 4 thanh rack và các rack này phải được nối với nhaubằng module IM
FM (Function Module): Module có chức năng điều khiển riêng như: moduleđiều khiển động cơ bước, module điều khiển động cơ servo, module PID,…
CP (Communication Processor): Module truyền thông giữa PLC với PLC haygiữa PLC với PC
1.Tổ chức bộ nhớ CPU
- Vùng nhớ chứa các thanh ghi: ACCU1, ACCU2, AR1, AR2,…
- Load memory: là vùng nhớ chứa chương trình ứng dụng (do người sử dụngviết) bao gồm tất cả các khối chương trình ứng dụng OB, FC, FB, các khối
Trang 12chương trình trong thư viện hệ thống được sử dụng (SFC, SFB) và các khối dữliệu DB Vùng nhớ này được tạo bởi một phần bộ nhớ RAM của CPU vàEEPROM (nếu có EEPROM) Khi thực hiện động tác xóa bộ nhớ (MRES) toàn
bộ các khối chương trình và khối dữ liệu nằm trong RAM sẽ bị xóa Cũng nhưvậy, khi chương trình hay khối dữ liệu được tải xuống (download) từ thiết bị lậptrình (PG, máy tính) vào CPU, chugns sẽ được ghi lên phần RAM của vùng nhớLoad Memory
- Work memory: là vùng nhớ chứa các khối DB đang được mở, khối chươngtrình (OB, FC, FB, SFC hoặc SFB) đang được CPU thực hiện và phần bộ nhớcấp phát cho những tham số hình thức để các khối chương trình này trao đổitham trị với hệ điều hành và với các khối chương trình khác (local block) Tạimột thời điểm nhất định vùng Work Memory chỉ chứa một khối chương trình.Sau khi khối chương trình đó được thực hiện xong thì hệ điều hành sẽ xóa khỏiWork Memory và nạp vào đó khối chương trình kế tiếp đền lượt được thực hiện
- System memory: là vùng nhớ chứa các bộ đệm vào/ra số (Q, I), các biến cờ (M),thanh ghi C-Word, PV, T-bit của timer, thanh ghi C-Word, PV, C-bit củacounter Việc truy cập, sửa lỗi dữ liệu những ô nhớ này được phân chia hoặc bởi
hệ điều hành của CPU hoặc do chương trình ứng dụng
Có thể thấy rằng trong các vùng nhớ được trình bày ở trên không có vùng nhớ nào được dùng làm bộ đệm cho các cổng vào/ra tương tự Nói cách khác các cổng vào/ra tương tự không có bộ đệm
và như vậy mỗi lệnh truy cập module tương tự (đọc hoặc gửi giá trị) đều có tác dụng trực tiếp tới các cổng vật lý của module
MMBMWMD
Trang 13Data block (DB)
Khối dữ liệu chia sẻ
DBXDBBDBWDBD
0.0 ÷ 65535.7
0 ÷ 65535
0 ÷ 65534
0 ÷ 65532
Data instance (DI)
Khối dữ liệu mẫu
DIXDIBDIWDID
0.0 ÷ 65535.7
0 ÷ 65535
0 ÷ 65534
0 ÷ 65532Local block (L)
Miền nhớ cục bộ cho
các tham số hình thức
LLBLWLD
0.0 ÷ 65535.7
0 ÷ 65535
0 ÷ 65534
0 ÷ 65532Peripheral input (PI)
Đầu ra phân tán
PIBPIWPID
0 ÷ 65535
0 ÷ 65534
0 ÷ 65532Peripheral input (PQ)
Đầu vào phân tán
PQBPQWPQD
ở chế độ mặc định không có khả năng tự nhớ (non-retentive) Khi mất nguồnnuôi hoặc khi thực hiện công việc xóa bộ nhớ (MRES), toàn bộ nội dung củaphần bộ nhớ non-retentive sẽ bị mất
2.Vòng quét chương trình của PLC
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp được gọi làvòng quét (scan) Mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từcác cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chươngtrình Trong từng vòng quét, chương trình được thực hiện từ lệnh đầu tiên đếnlệnh kết thúc của khối OB1 Sau giai đoạn thực hiện chương trình là giai đoạnchuyển các nội dung của bộ đệm ảo Q tới các cổng ra số Vòng quét được kếtthúc bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi
Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòng quét (Scan time) Thời gian vòng quét không cố định, tức là không phải vòng quét nào cũng được thực hiện lâu, có vòng quét được thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện, vào khối
dữ liệu được truyền thông…trong vòng quét đó
Trang 14Vòng quét CPUNhư vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, thhh toán và việc gửitín hiệu điều khiển tii đối tượng có một khoảng thời gian trễ đúng bằng thờigian vòng quét Nói cách khác, thời gian vòng quét quyết định tính thời gianthực của chương trình điều khiển trong PLC Thời gian vòng quét càng ngắn,tính thời gian thực của chương trình càng cao
Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ như khốiOB40, OB80,… Chương trình của các khối đó sẽ được thực hiện trong vòngquét khi xuất hiện tín hiệu báo ngắt cùng chủng loại Các khối chương trình này
có thể được thực hiện tại mọi điểm trong vòng quết chứ không bị gò ép là phải
ở trong giai đoạn thực hiện chương trình Chẳng hạn nếu một tín hiệu báo ngắtxuất hiện khi PLC đang ở giai đoạn truyền thông và kiểm tra nội bộ, PLC sẽtạm ngững công việc truyền thông, kiểm tra, để thực hiện khối chương trìnhtương ứng với khối tín hiệu báo ngắt đó Với hình thức xử lý tín hiệu ngắt nhưvậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiệntrong vòng quét Do đó, để nâng cao tính thời gian thực cho chương trình điềukhiển tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc qua lạmdụng việc sử dụng chế độ ngắt trong chương trình điều khiển
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trựctiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham
số Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 3 do
hệ điều hành CPU quản lý Ở một số module CPU, khi gặp lệnh vào/ra ngay lậptức, hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt,
để thực hiện lệnh trực tiếp với cổng vào/ra
Trang 15Vòng quết PLCKhối được chọn là khối OB1, là khối mà PLC luôn quét và thực hiện các lệnhtrong nó thường xuyên, từ lệnh đầu tiên đến lệnh cuối cùng và quay lại từ đầu
b Lập trình cấu trúc
Chương trình được chia thành những phần nhỏ với từng nhiệm vụ riêng biệt
và các phần này nằm trong những khối chương trình khác nhau Loại lập trình
có cấu trúc phù hợp với những bài toán điều khiển nhiều nhiệm vụ và phức tạp.Các khối cơ bản:
- Khối OB (Organization Block): khối tổ chức và quản lý chương trình điềukhiển Có nhiều loại khối OB với những chức năng khác nhau Chúng đượcphân biệt với nhau bằng số nguyên theo sau nhóm ký tự OB, ví dụ: OB1, OB35,OB80…
- Khối FC (Program Block): khối chương trình với những chức năng riêng biệtgiống như một chương trình con hay một hàm (chương trình con có biến hìnhthức) Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC nàyđược phân biệt với nhau bằng số nguyên theo sau nhóm ký tự FC, chẳng hạnnhư FC1, FC2,…
- Khối FB (Function Block): khối FC đặc biệt có khả năng trao đổi một lượng dữliệu lớn với các khối chương trình khác Các dữ liệu này phải được tổ chứcthành khối dữ liệu riêng được gọi là Data Block Một chương trình ứng dụng cóthể có nhiều khối FB và các khối FB này được phân biệt với nhau bằng sốnguyên theo sau nhóm ký tự FB Chẳng hạn như FB1, FB2, …
- Khối DB (Data Block): khối lượng dữ liệu cần thiết để thực hiện chương trình.Các tham số của khối do người sử dụng tự đặt Một chương trình ứng dụng cóthể có nhiều khối DB và các khối DB này được phân biệt với nhau bằng sốnguyên theo sau nhóm ký tự DB Chẳng hạn như DB1, DB2,…
Chương trình trong các khối được liên kết vii nhau bằng các lệnh gọi khối và chuyển khối Các chương trình con được phép gọi lồng nhau, nghĩa là từ một chương trình con này gọi 1 chương trình con khác và từ chương trình con được gọi lại một chương trình con thứ 3
Trang 16Lập trình có cấu trúc
c Các khối OB đặc biệt
- OB10 (Time of Day Interrupt): Chương trình trong khối OB10 sẽ được thựchiện khi giá trị thời gian của đồng hồ thời gian thực nằm trong một khoảng thờigian đã được quy định Việc quy định khoảng thời gian hay số lần gọi OB10được thực hiện nhờ chương trình hệ thống SFC28 hay trong bảng tham số củamodule CPU nhờ phần mềm STEP 7
- OB20 (Time Relay Interrupt): Chương trình trong khối OB20 sẽ được thực hiệnsau một khoảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thốngSFC32 để đặt thời gian trễ
- OB35 (Cyclic Interrupt): Chương trình trong khối OB35 sẽ được thực hiện cáchđều nhau một khoảng thời gian cố định Mặc định, khoảng thời gian này là100ms, nhưng ta có thể thay đổi nhờ STEP 7
- OB40 (Hardware Interrupt): Chương trình trong khối OB40 sẽ được thực hiệnkhi xuất hiện một tín hiệu báo ngắt từ ngoại vi đưa vào CPU thông qua các cổngonbroad đặc biệt, hoặc thông qua các module SM, CP, FM
- OB80 (Cycle Time Fault): Chương trình trong khối OB80 sẽ được thực hiện khithời gian vòng quét (scan time) vượt quá khoảng thời gian cực đại đã quy địnhhoặc khi có một tín hiệu ngắt gọi một khối OB nào đó mà khối OB này chưa kếtthuc ở lần gọi trước Thời gian quét mặc định là 150ms
- OB81 (Power Supply Fault): Chương trình trong khối OB81 sẽ được thực hiệnkhi thấy có xuất hiện lỗi về bộ nguồn nuôi
- OB82 (Diagnostic Interrupt): Chương trình trong khối OB82 sẽ được thực hiện
có sự cố từ các module mở rộng vào/ra Các module này phải là các module cókhả năng tự kiểm tra mình (diagnostic cabilities)
- OB87 (Communication Fault): Chương trình trong khối OB87 sẽ được thựchiện có xuất hiện lỗi trong truyền thông
- OB100 (Start Up Information): Chương trình trong khối OB100 sẽ được thựchiện một lần khi CPU chuyển từ trạng thái STOP sang RUN
Trang 17- OB121 (Synchronous Error): Chương trình trong khối OB121 sẽ được thực hiệnkhi CPU phát hiện thấy lỗi logic trong chương trhhh đổi sai kiuu dữ liệu hay lỗitruy nhập khối DB, FC, FB không có trong bộ nhớ
4.Ngôn ngữ lập trình
PLC S7-300 có ba ngôn ngữ lập trình cơ bản sau:
- Ngôn ngữ lập trình liệt kê lệnh STL (Statement List) Đây là dạng ngôn ngữ lậptrình thông thường của máy tính Một chương trình được hoàn chỉnh bởi sựghép nối của nhiều câu lệnh theo một thuật toán nhất định, mỗi lệnh chiếm mộthàng và có cấu trúc chung “tên lệnh” + “toán hạng”
- Ngôn ngữ lập trình LAD (Ladder Logic) Đây là dạng ngôn ngữ đồ họa, thíchhợp với những người lập trình quen với việc thiết kế mạch điều khiển logic
- Ngôn ngữ lập trình FBD (Function Block Diagram) Đây cũng là dạng ngônngữ đồ họa, thích hợp cho những người quen thiết kế mạch điều khiển số
Trong PLC có nhiều ngôn ngữ lập trình nhằm phục vụ cho các đối tượng sửdụng khác nhau Tuy nhiên một chương trình viết trên ngồn ngữ LAD hay FBD
có thể chuyển sang dạng STL, nhưng ngược lại thì không Và trong STL cónhiều lệnh mà LAD hoặc FBD không có Đây cũng là thế mạnh của ngôn ngữSTL