Professional Documents
Culture Documents
1. BÀI 1 ................................................................................................................5
GIỚI THIỆU CHUNG VỀ THIẾT BỊ LOGIC KHẢ TRÌNH S7-300
1.1. Giới thiệu chung về S7-300........................................................................5
1.1.1. Khái niệm chung PLC S7-300.............................................................5
1.1.2. Các module trong hệ PLC S7-300.......................................................5
1.1.2.1. Giới thiệu về các module CPU.....................................................6
1.1.2.2. Module xuất nhập tín hiệu tương tự/số SM..................................7
1.1.2.3. Module chức năng FM.................................................................8
1.1.2.4. Module truyền thông CP-300.......................................................9
1.1.2.5. Module nguồn PS-300..................................................................9
1.1.2.6. Module ghép nối IM...................................................................10
1.2. Cách lắp đặt một trạm PLC S7-300..........................................................10
1.2.1. Nguyên tắc lắp đặt các module..........................................................10
1.2.2. Nguyên tắc nối dây từ nguồn đến CPU.............................................11
1.3. Làm việc với phần mềm Step7.................................................................13
1.3.1. Cách tạo một Project.........................................................................14
1.3.2. Khai báo và mở một Project..............................................................15
1.3.3. Xây dựng cấu hình cứng cho trạm PLC............................................21
1.3.4. Đặt tham số quy định chế độ làm việc cho Module..........................26
1.3.5. Soạn thảo chương trình cho các khối logic.......................................28
1.3.6. Sử dụng thư viện của Step7...............................................................30
1.3.7. Sử dụng tên hình thức........................................................................31
1.4. Làm việc với một trạm PLC.....................................................................34
1.4.1. Quy định địa chỉ MPI cho Module CPU...........................................34
1.4.2. Đổ chương trình xuống CPU.............................................................36
1.4.3. Giám sát việc thực hiện chương trình...............................................37
1.4.4. Giám sát module CPU.......................................................................39
1.4.5. Quan sát nội dung ô nhớ....................................................................42
1.5. Các cấu trúc vào ra trong hệ thống...........................................................43
1.5.1. Vào ra tập trung IM mở rộng rack.....................................................43
1.5.2. Vào ra phân tán sử dụng Bus trường.................................................48
2. BÀI 2...............................................................................................................59
LẬP TRÌNH CHO S7-300 VÀ MÔ PHỎNG BẰNG PLCSIM
2.1. Cấu trúc của S7-300.................................................................................59
2.1.1. Cấu trúc chung...................................................................................59
2.1.2. Cấu trúc bộ nhớ.................................................................................60
2.1.3. Các thanh ghi.....................................................................................61
2.1.3.1. Thanh ghi trạng thái ..................................................................61
2.1.3.2. Thanh ghi ACCU.......................................................................63
1
2.2. Các kiểu dữ liệu và các phép toán............................................................64
2.2.1. Các kiểu dữ liệu.................................................................................64
2.2.2. Các phép toán....................................................................................65
2.2.2.1. Các phép toán logic....................................................................65
2.2.2.2. Các phép toán số học..................................................................66
2.2.2.3. Các phép toán chuyển đổi kiểu dữ liệu và so sánh.....................66
2.3. Kỹ thuật lập trình......................................................................................67
2.3.1. Vòng quét chương trình.....................................................................67
2.3.2. Phương pháp lập trình.......................................................................68
2.3.2.1. Lập trình tuyến tính....................................................................68
2.3.2.2. Lập trình cấu trúc.......................................................................68
2.4. Giới thiệu ngôn ngữ lập trình với S7-300................................................69
2.5. Ứng dụng module vào ra số với bài toán điều khiển cổng các công sở.. .75
2.5.1. Giới thiệu về các module vào và ra số..............................................75
2.5.2. Ứng dụng điều khiển đóng mở cổng ở các công sở..........................77
2.5.2.1. Mô tả thiết bị..............................................................................77
2.5.2.2. Yêu cầu của bài toán..................................................................79
2.5.2.3. Phương án thiết kế......................................................................80
2.5.2.4. Thi công .....................................................................................81
2.6. Giới thiệu phần mềm PLCSIM để mô phỏng PLC..................................82
2.6.1. Khởi động phần mềm PLCSIM.........................................................83
2.6.2. Truy nhập các module ......................................................................84
2.6.3. Tiến hành download chương trình xuống CPU.................................85
2.6.3.1. Download cấu hình cứng............................................................85
2.6.3.2. Download chương trình .............................................................87
2.6.4. Tiến hành mô phỏng .........................................................................87
3. BÀI 3...............................................................................................................90
SỬ DỤNG BỘ TIMER/COUNTER
3.1. Sử dụng bộ TIMER..................................................................................90
3.1.1. Nguyên tắc hoạt động........................................................................90
3.1.2. Các loại Timer của S7-300................................................................93
3.1.2.1. Tổng quan chung........................................................................93
3.1.2.2. Khai báo sử dụng Timer.............................................................93
3.1.3. Bài tập ứng dụng bộ timer...............................................................107
3.2. Sử dụng bộ COUNTER..........................................................................111
3.2.1. Giới thiệu về Counter......................................................................111
3.2.1.1. Nguyên tắc làm việc.................................................................111
3.2.1.2. Phân loại...................................................................................111
3.2.2. Ví dụ ứng dụng bộ counter..............................................................115
3.2.3. Bài tập ứng dụng bộ Counter..........................................................117
4. BÀI 4.............................................................................................................118
SỬ DỤNG MODULE ANALOG
2
4.1. Giới thiệu chung về Module analog.......................................................118
4.1.1. Khái niệm module analog................................................................118
4.1.2. Analog input module.......................................................................118
4.1.3. Analog output module.....................................................................119
4.2. Nguyên lý hoạt động chung của các cảm biến và các tín hiệu đo chuẩn
trong công nghiệp..........................................................................................119
4.3. Giới thiệu về hai module vào ra analog SM331 (AI2x12Bit) và SM332
(AO2x12Bit)..................................................................................................120
4.3.1. Đặc điểm của module SM331 (AI2x12Bit)....................................120
4.3.2. Đặc điểm của module ra analog SM332 (AO2x12Bit)...................123
4.4. Sử dụng hàm thư viện FC105 và FC106................................................124
4.4.1. Hàm căn chỉnh tín hiệu đầu vào FC105 “SCALE “........................124
4.4.2. Hàm căn chỉnh tín hiệu đầu ra FC106 “UNSCALE”......................127
4.5. Ứng dụng module analog input trong thực tế.........................................130
4.5.1. Bài toán............................................................................................130
4.5.2. Tính toán mức nước từ cảm biến.....................................................131
4.5.3. Điều khiển van.................................................................................132
4.5.4. Viết chương trình trong phần mềm Step7.......................................133
4.6. Bài tập.....................................................................................................137
5. BÀI 5.............................................................................................................138
SỬ DUNG MODULE PID VÀ THỜI GIAN THỰC
5.1. Module PID mềm có trong phần mềm Step7.........................................138
5.2. Đặc điểm của bộ điều khiển PID............................................................139
5.3. Sử dụng module mềm FB41 “CONT_C” ..............................................139
5.3.1. Sử dụng khối FB41 “CONT_C” trong phần mềm Step7................148
5.3.1.1. Tạo một trạm PLC S7-300 :.....................................................148
5.3.1.2. Chèn khối FB41 vào trong Project :.........................................148
5.3.1.3. Lựa chọn khối thư viện và copy :.............................................149
5.3.1.4. Paste vào phần Blocks:.............................................................150
5.3.1.5. Tạo khối dữ liệu dạng Instance cho FB41:...............................150
5.3.1.6. Gán tham số cho bộ điều khiển :..............................................151
5.3.2. Ví dụ sử dụng bộ PID mềm “CONT_C”.........................................153
5.3.2.1. Mô tả bài toán :.........................................................................153
5.3.2.2. Các bước giải bài toán :............................................................154
5.4. Sử dụng các hàm thời gian thực.............................................................159
5.4.1. Giới thiệu các hàm sử dụng với thời gian thực...............................160
5.4.1.1. Các hàm thiết lập thời gian thực SFC0 (SET_CLK)................160
5.4.1.2. Hàm đọc thời gian của hệ thống SFC1 “READ_CLK” :.........161
5.4.2. Các hàm kèm theo để xử lý thời gian (FC3,FC6,FC7,FC8)............161
5.4.2.1. Hàm FC3 “D_TOD_DT”.........................................................161
5.4.2.2. Hàm FC6 “DT_DATE”............................................................162
5.4.2.3. Hàm FC7 “DT_DAY”..............................................................162
3
5.4.2.4. Hàm FC8 “DT_TOD”..............................................................163
5.4.3. Ứng dụng hàm thời gian thực..........................................................164
6. BÀI 6.............................................................................................................170
TRUYỀN THÔNG PROFIBUS TRONG HỆ S7-300
6.1. Khái niệm...............................................................................................170
6.2. Đặc điểm và phạm vi ứng dụng hệ thống PROFIBUS trong công nghiệp.
.......................................................................................................................170
6.3. Cấu trúc và lập trình mạng Profibus-DP trong hệ S7-300.....................171
6.3.1. Cấu trúc mạng profibus-dp..............................................................171
6.3.2. Nguyên tắc trao đổi dữ liệu trong mạng PROFIBUS-DP:.............172
6.3.3. Các thành phần trong mạng PROFIBUS-DP..................................172
6.4. Ví dụ về cách cấu hình và lập trình một mạng profibus-dp sử dụng phần
mềm Step7.....................................................................................................175
6.4.1. Cấu hình phần cứng:........................................................................177
6.4.2. Viết chương trình giao tiếp cho hệ thống........................................190
6.5. Bài tập.....................................................................................................191
1. BÀI 1
4
GIỚI THIỆU CHUNG VỀ THIẾT BỊ LOGIC
KHẢ TRÌNH S7-300
5
1.1.2.1. Giới thiệu về các module CPU.
Các module CPU khác nhau có hình dạng, chức năng, tốc độ xử lý lệnh, bộ
nhớ khác nhau...
PLC S7-300 có các loại sau:
Loại thường: Gồm CPU 312, 313, 314, 315, 316.
Loại này có Work memory từ (12 128)KB tùy loại, kết nối MPI. CPU
312 và 313 ghép được với 8 module, các loại còn lại ghép được với 32
module. Loại module này không tích hợp sẵn các cổng vào/ra.
CPU 31xC
Loại IFM: Gồm CPU 312IFM, 314IFM
có kết nối MPI, tích hợp sẵn cổng vào/ra,
ghép nối được 8 hoặc 31 module mở rộng.
Cũng tương tự như loại compact.
CPU 314 IFM
6
Loại có tích hợp DP: Gồm CPU315-2DP, 316-2DP, 317-2DP, 318-2DP,
có kết nối MPI+DP, truyền thông S7, có thể gửi/nhận data trực tiếp.
Ngoài ra còn một số loại CPU kết hợp một trong những loại trên:
313C-2DP, 313C-2PtP, 314C-2DP, 315F-2DP, 317-2PN/DP,…
7
Module vào tương tự: SM331 (có 2,4,8 đầu nối, và có 12-14
bit với tín hiệu dòng hoặc áp có thể lựa chọn tùy ý)
Module ra tương tự.: SM332 (có 2,4,8 đầu nối, và có 12-14
bit với tín hiệu dòng hoặc áp có thể lựa chọn tùy ý)
Module vào/ra tương tự: SM334,SM335 (có 4 đầu nối với
8/12/14 bit với tín hiệu dòng hoặc áp có thể lựa chọn tùy ý)
8
Module FM 357- Module FM 355
2
9
PS307 5A
1.1.2.6. Module ghép nối IM.
Module giao tiếp các rack mở rộng:
- IM 360 IM S: Nằm trong rack trung tâm, mở rộng tối đa 3 rack.
- IM 361 IM R: Thuộc rack mở rộng, nối với IM 360.
- IM 365 IM S-R: Module nối rack trung tâm với
một rack mở rộng.
IM 360-IM S
10
Slot 3: Đặt module giao tiếp IM.
Slot 4 11: Các module vào/ra, module chức năng, bộ xử lý truyền
thông hoặc để trống.
Các rack 1, 2, 3 quy tắc tương tự. Nếu rack 0 có chứa CPU thì slot 3 của các
rack còn lại để trống. Dưới đây là sơ đồ minh họa việc ghép nối các module.
Thanh rack
…..
11
Biểu đồ nối dây của nguồn PS 307 2A
12
Sơ đồ đấu dây nguồn:
13
LAD/STL/FDB: viết chương trình ứng dụng.
S7-PLCSIM: Cho phép mô phỏng.
Ngoài ra còn rất nhiều phần kèm theo khác.
Dưới đây ta sẽ từng bước làm việc với phần mềm Step7.
Cách 1:
14
Từ màn hình chính của Step7 ta chọn File New hoặc kích chuột vào
biểu tượng “ New Project /Library”. Một hộp thoại sẽ xuất hiện như hình
dưới. Gõ tên Project và nhấn OK và như vậy đã khai báo xong một Project mới.
Cách mở này tạo ra một Project mới hoàn toàn rỗng, ta phải khai báo
phần cứng cũng như tạo các khối logic…
Cách 2:
Cách tạo này sẽ tạo ra một Project mới có trạm S7-300 mặc định, cho
phép chọn CPU, chọn các Blocks và đặt tên cho Project mới đó ngay từ đầu.
Đây là cách tạo một Project nhanh. Thực hiện như sau: Vào File”New
Project” Wizard
15
Đánh dấu nếu muốn cách chọn này xuất
hiện mỗi khi mở SIMATIC Manager
16
Chọn loại CPU Chọn địa chỉ MPI
(Nói ở phần sau)
Nhấn Next sau khi chọn được CPU và địa chỉ MPI:
17
Nhấn Finish để hoàn tất việc tạo một Project mới.
Project mới tạo ra là một Project không rỗng mà đã chứa một trạm PLC, các
Block…có hình như bên dưới:
Ngoài ra, ta có thể chọn nơi sẽ cất giữ một Project trên ổ cứng. Mặc định,
nơi cất sẽ là thư mục đã được quy định khi cài Step7 là thư mục C:\Program
Files\Siemens\Step7\s7proj. Sau khi gõ tên Project mới ta kích vào Browse
trong phần Storage location (path) chọn nơi ta muốn cất giữ Project và nhấn
OK
18
Chọn nơi cất Project
Trong trường hợp muốn mở một Project đã có, ta chọn File Open hoặc
kích chuột vào “Open Project /Library” (Hình 1.2) từ cửa sổ chính của Step7
rồi chọn tên Project muốn mở từ hộp thoại có dạng như hình dưới, cuối cùng ấn
OK để kết thúc.
19
1.3.3. Xây dựng cấu hình cứng cho trạm PLC.
Sau khi khi khai báo xong một Project mới, trên màn hình sẽ xuất hiện
Project đó nhưng ở dạng rỗng (chưa có gì trong Project ),
Biểu
tượng thư
mục rỗng
20
Tiếp theo là xây dựng cấu hình cứng cho trạm PLC. Điều này không bắt
buộc,có thể không cần khai báo cấu hình cứng cho trạm mà đi ngay vào phần
chương trình ứng dụng. Tuy nhiên, để tránh xảy ra lỗi ta nên thực hiện bước này
vì khi có cấu hình trong Project, lúc bật nguồn PLC, hệ điều hành của S7-300
luôn kiểm tra các Module hiện có trong trạm, so sánh với cấu hình mà ta xây
dựng và nếu phát hiện thấy sự không thống nhất sẽ phát ngay tín hiệu báo lỗi
hoặc thiếu Module chứ không cần phải đợi đến khi thực hiện chương trình ứng
dụng.
Trước hết ta khai báo cấu hình cứng cho một trạm PLC với Simatic S7-
300 bằng cách vào Insert Station Simatic 300 Station:
Khai báo
một trạm
PLC
S7-300
21
Trường hợp không muốn khai báo cấu hình cứng mà đi ngay vào chương
trình ứng dụng ta có thể chọn: InsertProgramS7 program.
Sau khi đã khai báo một trạm, thư mục Project chuyển sang dạng không rỗng
với thư mục con bên trong có tên mặc định là SIMATIC300(1). Ta có thể đổi
lại tên mặc định này. Thư mục SIMATIC300(1) chứa tệp thông tin về cấu hình
phần cứng của trạm.
Để vào màn hình khai báo cấu hình cứng, ta nháy chuột tại biểu tượng
Hardware. Trong hộp thoại hiện ra ta khai báo thanh rack và các Module có
trên thanh rack đó. Hình dưới là bảng cấu hình cứng cho trạm PLC.
22
Kéo và thả Rail sang màn hình bên
trái
1.3.4. Đặt tham số quy định chế độ làm việc cho Module
Step7 hỗ trợ việc đặt tham số quy định chế độ làm việc cho từng Module.
Chẳng hạn Step7 có thể hỗ trợ việc tích cực ngắt theo thời điểm cho Module
CPU để Module này phát một tín hiệu ngắt gọi khối OB10 một lần vàolúc 7 giờ,
7 phút, 7 giây ngày 07/07/2007. Để làm được điều này ta nháy kép vào chuột tại
25
tên của Module CPU ở Slot 2 rồi chọn ô Time-Of-Day Interrup, trên màn hình
sẽ xuất hiện hộp hội thoại như hình dưới. Điền thời điểm, tần suất phát tín hiệu
ngắt rồi đánh dấu tích cực chế độ ngắt vào các ô tương ứng trong hộp thoại, cuối
cùng nhấn OK.
26
Cũng trong hộp hội thoại ta thấy Module CPU314 chỉ cho phép sử dụng
OB10 trong số các Module OB10 OB17 với mức ưu tiên là 2 để chứa chương
trình xử lý tín hiệu ngắt theo thời điểm.
Các chế độ làm việc khác của Module CPU cũng được quy định nhờ
Step7 như sửa đổi vòng quét (scan time) , xác định chế độ làm việc với dạng tín
hiệu điện áp với dải 10V cho Module AI, tích cực tín hiệu ngắt tự chẩn đoán
cho Module DI/DO, tích cực ngắt cứng theo sườn lên tại cổng vào I0.0 cho
Module DI...Cuối cùng nhấn Save để kết thúc.
28
Chức năng chương trình soạn thảo của Step7 về cơ bản cũng giống như
các chương trình khác, tức là cũng có các phím nóng để gõ nhanh, có chế độ
cắt và dán, có chế độ kiểm tra lỗi cú pháp…
29
1.3.7. Sử dụng tên hình thức.
Để chương trình dễ hiểu, dễ theo dõi, dễ bảo dưỡng và đặc biệt trở nên
thân thiện với người sử dụng hơn, Step7 đã cung cấp them khả năng sử dụng
tên hình thức trong lập trình thay vì các ký hiệu địa chỉ, chữ số khối FC,
FB…khó nhớ. Các tên hình thức của một địa chỉ hay một tên khối…phải
được khai báo trước trong bảng có tên là Symbols.
Do tên hình thức sẽ có giá trị thay thế trong toàn bộ chương trình ứng dụng
nên bảng khai báo tên hình thức phải có vị trí ngang bằng với chương trình
ứng dụng, nói cách khác nó phải nằm trong cùng thư mục với thư mục
Blocks (chứ không phải nằm trong thư mục Blocks).
Symbols và blocks
ngang hang nhau
30
Kích chuột vào thư mục mẹ của Blocks, ở đây là thư mục với tên mặc định
S7 Program(1), sau đó nháy chuột trái vào biểu tượng Symbols ta sẽ được
màn hình soạn thảo bảng các tên hình thức như sau:
Sau khi điền đầy đủ tên hình thức, địa chỉ ô nhớ mà nó thay thế (phần lớn
kiểu dữ liệu sẽ được Step7 tự xác định căn cứ vào địa chỉ ô nhớ) và cất vào
Project, ta quay trở lại màn hình chính của Step7. Mở một khối chương trình,
ví dụ OB1, và chọn View Display with Symbolic Representation
trên thanh công cụ của màn hình soạn thảo hoặc dung phím nóng Ctrl+Q,
chương trình trong OB1 sẽ được chuyển sang dạng biểu diễn với tên hình
thức có trong bảng Symbol.
Chương trình chuyển sang biểu diễn với tên hình thức khi viết code dạng
LAD
31
Chương trình chuyển sang biểu diễn với tên hình thức khi viết code dạng STL
32
Muốn quay vè sử dụng lại ký hiệu địa chỉ tuyệt đối ta nhấn phím nóng
Ctrl+Q hoặc chọn View Display with Symbolic Representation trên
thanh công cụ.
33
Thay đổi địa chỉ MPI của module CPU
Sau khi đã định nghĩa lại địa chỉ MPI cho trạm PLC, ta phải ghi lại địa chỉ
đó lên module CPU và chỉ khi đó module CPU mới thực sự làm việc theo địa
34
chỉ mới này. Công việc ghi địa chỉ MPI mới này lên module CPU được thực
hiện cùng với việc ghi tất cả tham số quy định chế độ làm việc của module
bằng cách kích vào biểu tượng Dowload trên thanh công cụ hoặc chọn
PLCDowload
Bên cạnh việc ghi cấu hình cứng vừa soạn thảo vào module PLC ta cũng
có thể đọc ngược bảng cấu hình cứng hiện có từ module PLC vào Project
bằng cách kích chuột vào biểu tượng Upload trên thanh công cụ của màn
hình hoặc chọn PLCUpload. Với việc đọc ngược cấu hình cứng này ta
cũng đọc luôn cả toàn bộ chương trình hiện có trong Load memory của
module CPU vào Project.
35
tượng Dowload. Với cách đổ này ta có thể đổ toàn bộ chương trình ứng dụng có
trong thư mục Blocks hoặc đổ những khối mà ta đánh dấu. Muốn đổ toàn bộ thư
mục Blocks ta phả kích chuột vào tên thư mục trước, sau đó mới kích vào
Dowload. Trong trường hợp chỉ đổ một sô khối, ta đánh dấu những khối sẽ
được đổ trước bằng bằng cách giữ phím Ctrl đồng thời kích chuột tại tên của
từng khối. Cuối cùng, sau khi đã chọn xong các khối thì kích chuột vào biểu
tượng Dowload.
Sau khi kích vào phím Monitor trên màn hình xuất hiện cửa sổ như sau:
36
Mặc định Step7 chỉ cho hiển thị nội dung các bits RLO, STA (than ghi trạng
thái) và ACCU1. Tuy nhiên, ta có thể cho hiện them nội dung toàn bộ thanh ghi
trạng thái hoặc các thanh ghi khác bằng cách nhấn phải chuột chọn ShowTên
thanh ghi
Ngoài ra, ta cũng có thể thay đổi kiểu dữ liệu được hiển thị. Mặc định Step7 sẽ
cho hiển thị nội dung các thanh ghi dưới dạng mã hexadecimal, song ta có thể
sang các dạng khác như Decimal hay Floating-Point bằng cách đưa chuột vào
37
vùng dữ liệu được hiển thị, ấn phải chuột chọn RepresentationKiểu dữ liệu
trong hộp thoại hiện ra có dạng như hình dưới:
Chú ý:
Không thể sửa đổi được chương trình nếu cửa sổ màn hình giám sát đang
ở trạng thái tích cực. Muốn quay trở về trạng thái soạn thảo, ta phải rời khỏi màn
hình giám sát bằng cách ấn biểu tượng Monitor trên thanh công cụ.
Tương tự, ta cũng không tích cực được cửa sổ màn hình giám sát nếu
chương trình có trong Project không đồng nhất với chương trình có trong Load
memory của module CPU. Bởi vậy để có thể giám sát được chương trình vừa
sửa đổi, trước tiên ta ghi chương trình đó vào module CPU rồi sau đó mới tích
cực màn hình giám sát. Chỉ giám sát việc thực hiện chương trình trong một khối
và đó là khối đang được mở ở màn hình soạn thảo.
38
Nếu chỉ muốn giám sát module CPU ta kích vào Module information.
Trên màn hình sẽ hiện tiếp ra cửa sổ cho phép ta lựa chọn cụ thể công việc được
giám sát. Chẳng hạn nếu muốn quan sát bộ đệm tự chẩn đoán của module ta
kích chuột vào Diagnose Buffer sẽ có được thông báo về nguyên nhân thay đổi
39
trạng thái của module CPU (Start<-->Stop) từ trước tới nay hoặc muốn quan
sát thời gian thực hiện vòng quét ta chọn ô Scan Cycle Time.
40
chuột tại PLC từ thanh công cụ màn hình của Step7 sau đó chọn
Monitor/Modify Variable.
Chỉ quan sát ở Quan sát liên tục
thời điểm kích
Sau khi khai báo xong bảng tên các ô nhớ đựoc quan sát ta kích phím
quan sát. Trên thanh công cụ có hai phím quan sát như hình trên.
Cũng có thể thay đổi cách trình bày kiểu dữ liệu cho từng ô nhớ bằng
cách đưa chuột vào ô nhớ cần thay đổi và kích phím phải chuột và chọn kiểu
thích hợp trong hộp hội thoại hiện ra.
41
CPU
I/O
A S A S A S
Trong hệ S7-300 hỗ trợ kiểu kiểu vào ra này với các rack, và việc mở
rộng các rack nếu hệ thống có số đầu vào ra nhiều. Cấu trúc vào/ra tập trung IM
mở rộng rack là một CPU điều khiển toàn bộ các rack khác thông qua module
giao tiếp IM. Tối đa một trạm S7-300 có 4 rack.
Luật Slots trong S7-300
42
Rack 0:
- Slot 1: Chứa nguồn hoặc để trống
- Slot 2: Chứa CPU
- Slot 3: Chứa module giao tiếp IM
- Slot 4 11: Các module vào/ra, module chức năng, bộ xử lý truyền thông
hoặc để trống.
Rack 1 3:
- Slot 1: Chứa nguồn hoặc để trống
- Slot 2: Để trống
- Slot 3: Chứa module giao tiếp IM
- Slot 4 11: Các module vào/ra, module chức năng, bộ xử lý truyền thông
hoặc để trống.
Nguyên tắc lắp đặt module IM:
- Tại rack có chứa CPU (rack 0) chỉ chứa module IM 360 IM S(IM chỉ
gửi), hoặc IM 365 IM S-R(IM cả gửi và nhận). IM 360 S thì có thể nối được với
3 rack khác (rack 1, 2, 3), IM 365 S-R chỉ nối được với 1 rack duy nhất.
43
Các rack 1, 2, 3 chứa IM 361 R. Các bước xây dựng một cấu trúc vào/ra tập
trung như sau:
- Vào khai báo phần cứng (xem mục 2.3 xây dựng cấu hình cứng cho trạm
PLC).
- Lần lượt tạo số lượng các rack (tối đa là 4)
- 4 rack vừa tạo là 4 rack rỗng. Ta sẽ lần lượt thêm các module cho các rack
này. Rack 0 sẽ chứa module CPU, các rack 1, 2 và 3 là các rack mở rộng.
Bằng cách nhấn chuột phải vào từng Slot ta sẽ thêm các thêm các module
cần thiết chuột phải vào SlotInsert Object…:
44
Chọn module cần thiết đặt vào Slot đó. Các module khác làm tương tự
Ngoài ra, cũng có thể đặt các module vào các rack bằng cách vào ViewCtalog
(hoặc nhấn tổ hợp phím Ctrl+K).
45
Bảng Catalog sẽ xuất hiện như hình dưới:
Sau khi khai báo các module cần thiết ta có hình như dưới đây:
46
Nhấn Save để hoàn tất công việc.
CPU
CPU (dự phòng)
Bus hệ thống
A S A S A S
47
Trong trạm điều khiển vào/ra phân tán, các trạm cục bộ sẽ được nối với
các trạm vào ra từ xa (Remote I/O) thông qua các module giao diện Bus. Yêu
cầu đối với Bus trường là tính năng thời gian thực, mức độ đơn giản và giá
thành thấp. Ngoài ra, đối với môi trường dễ cháy nổ còn có các yêu cầu kỹ thuật
đặc biệt khác về chuẩn truyền dẫn, tính năng điện học của các linh kiện mạng,
cáp truyền…Các loại Bus trường được hỗ trợ mạnh nhất là Profibus-DP,
Profibus-PA, Profibus-FMS, Foundation Fieldbus, DeviceNet và AS-i… Trong
môi trường đòi hỏi an toàn cháy nổ thì Profibus-PA và Foundation Fieldbus H1
là 2 hệ được sử dụng phổ biến nhất.
Dưới đây là các bước khai báo cấu hình mạng vào ra phân tán trong phàn
mềm Step7. Đây là một hình ảnh ví dụ về mạng PROFIBUS-DP trong thực tế.
48
Mạng PROFIBUS
Master-Slave
DP Master
(VD : CPU318-2DP)
49
Sau đó save lai dưới tên PROFIBUS_DP_EX.
- Tạo một mạng PROFIBUS-DP
50
Một mạng PROFIBUS được tạo ra :
- Cấu hình phần cứng cho trạm S7-300 (phần này đã được giới thiệu ở
trên ). Ở đây ta chọn CPU loại CPU318-2DP, câu hình phần cứng như
sau:
51
- Cấu hình cho hệ thống DP-Master :
Chọn DP-Master ở trong Slot 2.1 (X2), Click chuột phải chọn Add Master
System:
52
Bảng cho phép thiết lập các tham số hiện ra :
Trong đó :
Trường Address : cho phép ta đặt địa chỉ cho DP-Master (CPU318-2DP).
Trường Subnet : cho phép ta chọn mạng PROFIBUS cần nối tới.
Click OK để hoàn tất .
53
DP-Master Đường dây
(CPU318- mạng
2DP) PROFIBUS
Sau đó kéo và thả vào đường dây hệ thống master (DP-Master system (1)),
đến khi bạn thấy có dấu “ + ” hiện lên, khi đó một bảng tham số hiện ra :
54
Cho phép ta gán địa chỉ cho module này và chọn mạng cần nối tới. Click
OK để đồng ý.
- Hoàn toàn tương tự với ET200B – 16 DO
- Tiếp theo ta lựa chọn Module giao diện IM135 và kéo thả vào hệ thống
Master system :
55
Bước tiếp theo la ta cấu hình cho module IM153 (tương tự như một trạm
S7-300):
- Đến đây ta đã coi như cấu hình xong cho một hệ thống vào ra phân tán.
Save lại và biên dịch (Ctrl + S).
56
Chuyển sang phần SIMATIC Manager. Click đúp chuột trái vào phần
PROFIBUS(1) :
Một cửa sổ NetPro hiện ra cho phép ta xem toàn bộ hệ thống mạng đã được kết
nối.
57
2. BÀI 2
Khối vi xử lý Timer
Bộ đệm
vào/ra trung tâm Counter
+ Bit cờ
Hệ điều
hành
Cổng
Cổngvào/ra
vào/ra Bus của PLC
onboard
onboard Quản
Quảnlýlýghép
ghépnối
nối
Cổng
Cổngngắt
ngắtvà
và
đếm tốc độ cao
đếm tốc độ cao
58
2.1.2. Cấu trúc bộ nhớ
Bộ nhớ S7-300 được chia làm 3 vùng chính :
Vùng 1: Vùng chứa chương trình ứng dụng. Gồm 3 miền
OB (Organisation block) :Miền chương trình tổ chức.
FC (Function) : Miền chương trình con được tổ chức thành hàm có
biến hình thức để trao đổi dữ liệu với chương trình đã gọi nó .
FB (Function block) : Miền chương trình con, dược tổ chức thành
hàm và có khả năng trao đổi dữ liệu vớ bất cứ khối chương trình khác
và các dữ liệu này phải được xây dựng trong khối dữ liệu riêng DB
( Data block)
Vùng 2: Vùng chứa tham số của HDH và chương trình ứng dụng, được
phân chia thành 7 miền khác nhau, gồm có:
I (Process image input ): Miền bộ đệm các dữ liệu cổng vào số.
Trước khi bắt đầu thực hiện chương trình, PLC sẽ chuyển giá trị
logic của bộ đệm Q tới các cổng ra số.
Q (Process image output): Miền đệm các dữ liệu cổng ra số. Kết thúc
chương trình, PLC sẽ đọc giá trị logic của bộ đệm Q tới các cổng ra
số.
M: Miền biến cờ. Chương trình lưu giữ các tham số cần thiết.
T: Miền nhớ phục vụ thời gian (Timer)
C: Miền nhớ phục vụ bộ đếm (Counter)
PI: Miền địa chỉ cổng vào các module tương tự (I/O External input)
PQ: Miền địa chỉ cổng ra cho các module tương tự (I/O External
output)
Vùng 3: Vùng chứa các khối dữ liệu, chia thành 2 loại:
DB(data block): Miền chứa dữ liệu được tổ chức thành khối. Kích
thước cũng như số lượng do người sử dụng quy định.
L (local data block): Miền dữ liệu địa phương.
59
2.1.3. Các thanh ghi.
FC(First check): Khi phải thực hiện các lệnh logic liên tiếp nhau gồm
các phép tính ^, v và nghịch đảo, bit FC có giá trị bằng 1.
RLO(Result of logic operation): Kết quả tức thời của phép tính logic
vừa đươc thực hiện.
STA(Status bit): luôn có giá trị logic của tiếp điểm được chỉ định
trong lệnh.
OR: Ghi lại giá trị của phép logic cuối cùng thực hiện phụ giúp cho
việc thực hiện phép toán sau đó.
OS(Stored overflow bit): Bit ghi lại giá trị bit bị tràn ra ngoài mảng ô
nhớ.
OV(Overflow bit): Bit báo kết quả phép tính bị tràn ra ngoài mảng ô
nhớ.
CC0, CC1 (condition code): Hai bit báo trạng thái của kết quả phép
tính với số nguyên, số thực, phép dịch chuyển hoặc phép tính logic
trong ACCU.
Cụ thể :
60
Khi thực hiện lệnh toán học như cộng, trừ, nhân ,chia với số nguyên
hoặc số thực.
CC1 CC0 Ý nghĩa
0 0 kết quả bằng 0
0 1 kết quả nhỏ hơn 0
1 0 kết quả lơn hơn 0
Khi thực hiện lệnh toán học với số nguyên nhưng kết quả bị tràn ô nhớ
CC1 CC0 Ý nghĩa
kết quả quá nhỏ khi thực
0 0
hiện lệnh cộng(I,D)
kết quả quá nhỏ khi thực
hiện nhân(I,D) hoặc quá lớn
0 1
khi thực hiện lệnh cộng
trừ(I,D)
kết quả quá lớn khi thực
hiện lệnh nhân, chia (I,D)
1 0
hoặc quá nhỏ khi thực hiện
lệnh cộng, trừ
kết quả bị tràn do thực hiện
1 1
lệnh chia cho 0
Khi thực hiện lệnh toán học với số thực nhưng kết quả bị tràn ô nhớ
CC1 CC0 Ý nghĩa
0 0 Kết quả có mũ e quá lớn
0 1 KQ có mantissa quá nhỏ
1 0 KQcó mantissa quá lớn
1 0 Phép tính sai quy chuẩn
Khi thực hiện lệnh dịch chuyển.
CC1 CC0 Ý nghĩa
61
0 0 GT bit bị đẩy ra bằng 0
1 0 GT bit bị đẩy ra bằng 1
Khi thực hiện lệnh logic trong ACCU.
CC1 CC0 Ý nghĩa
0 0 KQ bằng 0
1 0 KQ khác 0
-BR(Binary result bit): Bit trạng thái cho phép liên kết 2 loại ngôn ngữ STL và
LAD
ACCU2
31 24 23 16 15 87 0
Byte cao Byte thấp Byte cao Byte thấp
62
TT Kiểu dữ liệu Giá trị
1 BOOL Có giá trị logic 0,1
Gồm 8 bit, thường dùng dùng để biểu diễn một
số nguyên dương trong khoảng 255 hoặc mã
ACSII của một ký tự
2 BYTE
VD: L B#16#07
// Nạp số nguyên 07 theo cơ số 16 độ dài 1 byte
vào thanh ghi ACCU1
Gồm 2 byte, biểu diễn một số nguyên dương
3 WORD trong khoảng 0 đến 65535
VD: L 100
Dung lượng 2 byte, dùng dể biểu diễn một số
4 INT nguyen trong khoảng -32768 đến 32767
VD:
Gồm 4 byte, dùng để biểu diễn 1 số nguyên từ -
5 DINT 2147483648 đến 2147483647
VD : L #100
Gồm 4 bytes, dùng để biểu diễn 1 số thực dấu
6 REAL phẩy động.
VD: L 100.0
Khoảng thòi gian, tính theo giờ/phút/giây/mili
7 S5T(S5TIME) giây
VD : L S5T2h_1m_0s_5ms
Biểu diễn giá trị thời gian theo giờ/phut/giây
8 TOD
VD : L TOD#5:20:07
9 DATE Biểu diễn giá trị thờ gian tính theo
năm/tháng/ngày
VD : L DATE#2007-8-1
63
// Lệnh khai báo ngày 1 tháng 8 năm 2007
Biểu diễn 1 hoặc nhiều ký tự (nhiều nhất 4 ký
10 CHAR tự)
VD : L ‘DKS’
64
2.2.2.2. Các phép toán số học
65
2.3. Kỹ thuật lập trình
Vòng
quét
Thời gian vòng quét: Là thời gian cần thiết để PLC thực hiện 1 vòng
quét.
Chú ý : Thời gian vòng quét không cố định. Nó tùy thuộc vào số lệnh trong
chương trình thực hiện, vào khối lương dữ liệu được truyền thông… trong vòng
quét đó.
66
2.3.2. Phương pháp lập trình
Chuyển OB1 từ
load memory vào
Work memory và
cấp phát local System
Thực memory
Hệ
block cho nó Thựchiện
hiện
Hệ OB1
điều
điều
OB1 Share
hành trong
trong
hành Work DB
Work
memory
memory Instance
Xóa OB1 và giải DB
phóng local block
trong Work
memory
67
Tương tự, một nhiệm vụ con lại có thể chia nhỏ thành nhiều nhiệm vụ nhỏ
và cụ thể hơn nữa, do đó một khối chương trình con cũng có thể được gọi từ một
khối chương trình con khác.
Chú ý :
-Không bao giờ một khối chương trình con lại gọi chính nó.
-Ngoài ra do sự hạn chế về ngăn xếp của các module CPU nên không
được tổ chức chương trình con gọi bằng lồng nhau quá số lần mà module
CPU cho phép.
68
Ví dụ:
Lập trình kiểu FBD (Function Block Diagram): chương trình ứng dụng
được viết bằng cách kết nối các hộp. FBD cung cấp các hộp chức năng để
thực hiện các phép toán logic theo trạng thái tín hiệu, các hộp đơn giản
dùng xử lý kết quả của phép toán logic và các hộp phức tạp dùng cho các
hàm không phải nhị phân.
Ví dụ:
Lập trình LAD(Ladder logic): cho phép viết chương trình bằng cách sắp
xếp các phần tử theo dạng biểu đồ. Các phần tử chủ yếu gồm các tiếp
điểm, cuộn dây, hộp, liên kết với nhau thành một sơ đồ điều khiển rơ le
dạng bậc thang.
Ví dụ:
69
trình các thuật toán phức tạp hay các ứng dụng xử lý dữ liệu , S7-SCL
chỉ chạy được khi đã có SIMATIC Manager.
Ví dụ:
Biểu đồ chức năng liên tục CFC (Continuous Function Chart): Phần mềm
CFC là một phần mềm soạn thảo dưới dạng đồ họa, cho phép nối các
khối bằng cách vẽ một lưu đồ chức năng. CFC. Chương trình quản lý
SIMATIC Manager (STEP 7 Standard Tool) làm phần mềm cơ sở và
phần mềm SCL để biên dịch .
Ví dụ :
70
Điều khiển tuần tự GRAPH (sequential Control GRAPH): S7-GRAPH là
một phương pháp lập trình đồ họa cho các hệ thống điều khiển tuần tự.
Phần mềm này tương thích với ngôn ngữ SFC theo tiêu chuẩn IEC 1131-3
(DIN EN 61131-3). Để sử dụng S7-GRAPH bạn phải cần SIMATIC
Manager (STEP 7 Basic).
Ví dụ:
71
Điều khiển theo đồ hình trạng thái (HIGRAPH): Lập trình S7-HIGRAPH
là một phương pháp lập trình đồ họa cho các hệ điều khiển đồ hình trạng
thái. Nó cần phần mềm cơ sở là SIMATIC Manager (STEP 7).
Ví dụ :
72
Trong giáo trình này, chúng ta sẽ sử dụng chủ yếu 2 ngôn ngữ lập trình STL và
LAD.
73
2.5. Ứng dụng module vào ra số với bài toán điều khiển cổng các công sở.
Các module vào ra số tạo ra một giao diện cho phép CPU có thể giao tiếp
và xử lý các tín hiệu số từ bên ngoài
74
Các sơ đồ đấu dây thường dùng:
1 L+
K1
K2
SM321
.....
Module ra số SM322.
75
Module SM322 có :
Có 16 đầu ra, gộp thành hai
nhóm, mỗi nhóm có 8 đầu ra.
Dải điện áp cho tải là 24VDC
Các đầu ra thường là các công
tắc tơ, các cuộn hút của van điện
từ, các đèn báo....
2.5.2. Ứng dụng điều khiển đóng mở cổng ở các công sở.
76
Cổng đóng – piston đẩy ra Cổng mở – piston đóng lại
Đường dầu đi
vào
Khi dầu đi vào đường bên trái, piston được đẩy sang bên phải, làm cho
cổng mở ra. Khi đường đi vào đường bên phải, xi lanh được đẩy sang bên trái
làm cho cổng đóng lại. Nếu cấp dầu cả hai bên và điều chỉnh lưu lượng thì ta có
thể cho xi lanh dừng ở vị trí tùy ý nào đó (điều khiển vị trí).
- Hai đường ống cấp dầu cho xi lanh lại được điều khiển bằng một van điện
từ. Nguyên lý như sau:
77
Cuộn hút 1 Cuộn hút 2
Đường
dầu
Đóng mở hai cuộn hút sẽ đóng mở hai đường dầu cấp cho cơ cấu xi lanh.
78
2.5.2.3. Phương án thiết kế.
Để giải bài toán này ta có rất nhiều phương án. Ở đây ta chỉ quan tâm tới
hai phương án. Và tìm ra sự liên quan.
Phương án 1. : Sử dụng các rơ le số và các nút bấm
Dưới đây là một sơ đồ được thiết kế bằng mạch điện chứa các rơ le và nút
bấm.
Dừng R1
Mở
K1
K2’
R2
Đóng
K2
K1’
79
2.5.2.4. Thi công .
Ở đây ta sẽ chọn phương án thiết kế trên PLC.
Bảng điều khiển và sơ đồ kết nối với module như sau.
Đ1 Đ2
C1 C2 Đ1 Đ2
1 2 3 4 5
SM322
10
K1 K2 K3
SM321
2 3 4
Bảng điều khiển 1
K1 K2 K3
80
Viết chương trình trong khối OB1:
81
Dưới đây là chi tiết từng bước sử dụng PLCSIM để mô phỏng cho bài ví dụ
ứng dụng ở trên.
82
Trong đó :
- Vùng một chính là một cái CPU giống như thực tế : có thể RUN, STOP,
RUN-P và MRES giống như CPU thật. Ngoài ra cũng có các đèn báo như
ở trên CPU.
- Vùng 2 là các short menu cho phép người sử dụng quan sát, tác động vào
các miền nhớ, cũng cũng như các đầu vào ra của các module trong thực
tế.
- Chi tiết xem thêm trong tài liệu hướng dẫn sử dụng kèm theo phần mềm
Step7.
Đổi tên QB0 thành QB4 vì module SM322 được đánh địa chỉ từ QB4 trở
đi (xem thêm trong phần cấu hình cứng ở trên).
83
2.6.3. Tiến hành download chương trình xuống CPU.
Trong phần HW Config, click vào biểu tượng trên short menu hoặc
vào PLC/Download trong phần menu chính.
Cửa sổ chọn CPU hiện ra
84
Chọn OK.
85
Ta lại click vào I0.0 để đưa bit về 0 tương ứng với động tác nhả phím nhấn
“Mở”. Ta thấy Q0.0 và Q0.2 vẫn bằng 1. Tức là của vẫn được mở và đèn
xanh vẫn sáng.
Ta click sang I0.1 (nút đóng cửa) :
Nhưng Q0.0 và Q0.2 vẫn bằng 1. Chứng tỏ khi cổng đang mở thì không thể đóng
lại được.
Bây giờ ta bỏ click I0.1 và click I0.2 (nút dừng):
86
Ta thấy không còn bít nào đầu ra được bật, chứng tỏ cổng đã dừng lại.
Bỏ click I0.2 và click vào I0.1(nút đóng):
Ta thấy cuộn 2 (Q4.1) được đóng lại và đèn đỏ (Q4.3) sáng , chứng tỏ cổng đang
được đóng lại.
Bỏ click ở I0.1, ta thấy cổng vẫn được đóng.
Như vậy PLCSIM có thể mô phỏng được quá trình hoạt động của PLC như
trong thực tế. Giúp cho người thực hành có thể hiểu được thực tế mà không cần
tới thiết bị thật, giảm chi phí đầu tư.
Tuy nhiên, nó vẫn có những mặt hạn chế. Được thực hành thực tế sẽ có nhiều
vấn đề nảy sinh, giúp cho người học hiểu sâu hơn về hoạt động của PLC và cách
87
ứng dụng PLC vào các bài toán cụ thể, tăng thêm sự hiểu biết cũng như kinh
nghiệm làm việc.
3. BÀI 3
SỬ DỤNG BỘ TIMER/COUNTER
88
Nội dung chính:
Giới thiệu về các bộ timer và nguyên tắc hoạt động
Ứng dụng Timer
Giới thiệu về các bộ counter và nguyên tắc hoạt động
Ứng dụng Counter
Bộ thời gian (Timer) là bộ tạo thời gian trễ mong muốn giữa tín hiệu logic
đầu vào u(t) và tín hiệu logic đầu ra y(t).
u(t)
Timer y(t)
PV T-bit
CV
Thời gian
trễ đặt trước
S7-300 có 5 loại Timer khác nhau. Thời gian trễ mong muốn được khai
báo với Timer bằng một giá trị 16 bits bao gồm hai thành phần:
- Độ phân dải với đơn vị ms. Timer của S7-300 có 4 loại độ phân dải khác
nhau là 10ms, 100ms, 1s và 10s.
89
- Một số nguyên (BCD) trong khoảng 0 999 được gọi là PV (Preset Value-
giá trị đặt trước).
Vậy thời gian trễ mong muốn sẽ là:
= Độ phân dải x PV
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Độ phân dải
0 0 10ms
0 1 100ms
1 0 1s
1 1 10s
Ngay tại thời điểm kích Timer, giá trị PV được chuyển vào thanh ghi 16
bits của Timer T-Word (gọi là thanh ghi CV). Timer sẽ ghi nhớ khoảng thời
gian trôi qua kể từ khi được kích bằng cách giảm dần một cách tương ứng
nội dung thanh ghi CV. Nếu nội dung thanh ghi trở về 0 thì Timer đã đạt
được giá trị mong muốn và điều này sẽ được báo ra ngoài bằng cách đổi
trạng thái tín hiệu y(t). Việc thông báo ra ngoài bằng cách thay đổi trạng thái
tín hiệu đầu ra y(t) như thế nào còn phụ thuộc vào loại Timer nào được sử
dụng.
Bên cạnh sườn lên của tín hiệu đầu vào u(t), Timer còn có thể được kích
bằng sườn lên của tín hiệu kích chủ động có tên là tín hiệu enable nếu như tại
thời điểm có sườn lên của tín hiệu enable và tín hiệu đầu vào u(t) có giá trị
logic 1.
Nguyên lý làm việc của Timer
90
Tín hiệu đầu vào u(t)
Giá trị PV
Nội dung thanh ghi CV
Thời điểm Timer được kích
Từng loại Timer được đánh số từ 0 255. Tùy thuộc từng loại CPU. Timer
ký hiệu là Tx với x là số hiệu của Timer (0 x 255). Ký hiệu Tx đồng thời
cũng là địa chỉ hình thức của thanh ghi CV (T-Word) và đầu ra (T_bit) của
Timer đó. Tuy có cùng địa chỉ hình thức nhưng T-Word và T-bit vẫn được
phân biệt với nhau nhờ toán hạng Tx. Khi dùng lệnh làm việc làm việc với
từ, T-bit được hiểu là địa chỉ của T-Word, ngược lại khi sử dụng lệnh làm
việc với tiếp điểm, Tx được hiểu là địa chỉ của T-bit.
Một Timer có thể được đưa về trạng thái chờ khởi động ban đầu bằng lệnh
Reset. Khi đó, T-Word và T-bit đồng thời được xóa về 0, tức là thanh ghi
đếm tức thời CV được đặt về 0 và tín hiệu đầu ra cũng có trạng thái logic
bằng 0.
91
3.1.2.2. Khai báo sử dụng Timer
Khai báo sử dụng một Timer bao gồm các bước :
- Khai báo tín hiệu enable nếu muốn sử dụng tín hiệu chủ động kích
- Khai báo tín hiệu đầu vào u(t)
- Khai báo thời gian trễ mong muốn
- Khai báo loại Timer được sử dụng (SD, SS, SP, SE, SF)
- Khai báo tín hiệu xóa Timer nếu muốn sử dụng chế độ reset chủ động
Trong tất cả các bước thì bước 2, 3, 4 là bắt buộc.
Timer S_PULSE .
Kí hiệu
Txx
x
S_PULSE
S Q
TV BI
R BCD
S gian:
Giản đồ thời
R
C 92
V
Q
Timer S_PULSE bắt đầu đếm giảm từ giá trị đặt TV về 0 khi đầu vào cho
phép hoạt động của Timer có giá trị chuyển từ 01.
Trạng thái đầu ra Q bật lên “1” trong quá trình Timer đếm. Tuy nhiên, nếu
tín hiệu vào S chuyển từ 10 trước khi Timer đếm về 0 thì trạng thái của bit
đầu ra Q chuyển ngay xuống 0.
Bộ Timer được reset (R) khi tín hiệu đầu vào R chuyển từ 01. Khi đó,
T-Word (thanh ghi CV) và T-bit cũng đồng thời được đưa về 0. Nếu tín hiệu
xóa về 0, Timer sẽ chờ được kích lai.
Thanh ghi trạng thái:
BR CC1 CC0 OV OS OR STA RLO FC
- - - - - x x x 1
Ví dụ:
93
Mô phỏng bằng PLCSIM:
Nếu tín hiệu đầu vào I124.0 chuyển từ 01, Timer sẽ bắt đầu đếm lùi. Bộ
đếm sẽ tiếp tục đếm hết 20s trong khi tín hiệu I124.0 giữ là 1. Nếu trước khi
thời gian đặt của Timer được đếm về 0 mà tín hiệu I124.0 chuyển từ 1 xuống
0 thì Timer sẽ dừng lại.
Đầu ra Q124.0 là 1 khi Timer đang đếm và bằng 0 khi có tín hiệu reset
hay hết thời gian đặt.
94
Timer S_PEXT.
Txx
x
S_PEXT
Kí hiệu S Q
TV BI
R BCD
R
C
V
Q
95
Thời gian giữ trễ được bắt đầu tính từ khi xuất hiện sườn lên của tín hiệu
vào(S), tức là ở ngay thời điểm đó giá trị PV được chuyển vào thanh ghi T-
Word(CV). Trong khoảng thời gian trễ, tức là khi T-Word 0, T-bit có giá trị
bằng 1. Ngoài khoảng thời gian trễ T-bit có giá trị bằng 0. Nếu chưa hết thời
gian trễ mà tín hiệu đầu vào về 0 thì thời gian trễ vẫn được tính tiếp tục, tức
là T-bit và T-Word không về 0 theo tín hiệu đầu vào.
Thanh ghi trạng thái:
BR CC1 CC0 OV OS OR STA RLO FC
- - - - - x x x 1
Ví dụ:
Nếu tín hiệu vào I124.0 chuyển từ 0 lên 1, Timer T5 sẽ được khởi động.
Timer sẽ tiếp tục chạy hết thời gian đặt (PV) mà không phụ thuộc vào tín
hiệu đầu vào S. Tín hiệu đầu ra Q124.0 bằng 1 từ khi có đầu vào I 124.0 đến
hết thời gian đặt PV. Timer sẽ được reset lại khi tín hiệu vào I 124.1 bằng 1.
Mô phỏng bằng PLCSIM:
96
Timer S_ODT.
Kí hiệu
Txx
x
S_ODT
S Q
TV BI
R BCD
97
S BOOL I, Q, M, L, D Tín hiệu vào
TV S5TIME I, Q, M, L, D Thời gian đặt
R BOOL I, Q, M, L, D Reset
Thời gian còn lại
BI WORD I, Q, M, L, D
Dạng I
Thời gian còn lại
BCD WORD I, Q, M, L, D
Dạng BCD
Q BOOL I, Q, M, L, D Trạng thái Timer
R
C
V
Q
Thời gian giữ trễ được bắt đầu khi có sườn lên của tín hiệu đầu vào(S),
tức là ở ngay thời điểm đó giá trị PV được chuyển vào thanh ghi T-
Word(CV). Trong đó, khoảng thời gian trễ T-bit có giá trị bằng 0. Khi hết
thời gian trễ T-bit có giá trị bằng 1. Như vậy, T-bit có giá trị bằng 1 khi T-
Word bằng 0.
Khoảng thời gian trễ chính là khoảng thời gian giữa thời điểm xuất hiện
sườn lên của tín hiệu đầu vào và sườn lên của T-bit.
Khi tín hiệu vào bằng 0, T-bit và T-Word cùng nhận giá trị 0. Khi có tín
hiệu reset ở đầu vào R tín hiệu ra Q (T-Word) trở về 0.
Thanh ghi trạng thái:
98
Ví dụ:
Nếu tín hiệu đầu vào I 124.0 chuyển trạng thái từ 0 lên 1, Timer T30 sẽ
được khởi động. Nếu như thời gian trễ kết thúc và tín hiệu đầu vào I 124.0
vẫn là 1 thì tín hiệu đầu ra Q124.0 sẽ đươc bật lên 1. Nếu tín hiệu đầu vào I
124.0 chuyển trạng thái từ 1 xuống 0, bộ Timer dừng lại và đầu ra Q 124.0 sẽ
bằng 0. Nếu tín hiệu đầu vào R chuyển trạng thái từ 1 lên 0, Timer sẽ được
reset dù thời gian trễ còn hay không.
Mô phỏng bằng PLCSIM:
99
Timer S_ODTS.
Txx
Kí hiệu x
S_ODTS
S Q
TV BI
R BCD
R
C 100
V
Q
Thời gian giữ trễ được bắt đầu khi có sườn lên của tín hiệu đầu vào(S), tức
là ở ngay thời điểm đó giá trị PV được chuyển vào thanh ghi T-Word(CV).
Khi hết thời gian trễ, tức là khi T-Word =0, T-bit có giá trị băng 1.
Khoảng thời gian trễ chính là khoảng thời gian giữa thời điểm xuất hiện
sườn lên của tín hiệu đầu vào và sườn lên của T-bit.
Với bộ Timer có nhớ thời gian trễ vẫn được tính cho dù lúc đó tín hiệu đầu
vào đã về 0.
Khi tín hiệu vào bằng 0, T-bit và T-Word cùng nhận giá trị 0. Khi có tín hiệu
reset ở đầu vào R tín hiệu ra Q(T-Word) trở về 0.
Ví dụ:
101
Nếu tín hiệu đầu vào I 124.0 chuyển trạng thái từ 0 lên 1, Timer T30 sẽ
được khởi động. Timer sẽ chạy mà không quan tâm đến tín hiệu đầu vào I
124.0. Nếu tín hiệu đầu vào I 124.0 chuyển trạng thái từ 0 lên 1 trước khi hết
thời gian trễ, bộ Timer sẽ khởi động lại. Đầu ra Q 124.0 sẽ bằng 1 khi thời
gian trễ kết thúc.. Nếu tín hiệu đầu vào R chuyển trạng thái từ 1 lên 0, Timer
sẽ được reset dù thời gian trễ còn hay không.
Mô phỏng bằng PLCSIM:
Txx
x
S_OFFDT
Timer S_OFFDT
S Q
TV BI
102
R BCD
Kí hiệu
R
C
V
Q
Thời gian giữ trễ được bắt đầu khi có sườn xuống của tín hiệu đầu vào(S),
tức là ở ngay thời điểm đó giá trị PV được chuyển vào thanh ghi T-
Word(CV).
Trong khoảng thời gian giữa sườn lên của tín hiệu vào hoặc T-Word khác
0, thì T-bit có giá bằng 1. Ngoài khoảng đó T-bit có giá trị bằng 0.
103
Khi tín hiệu vào bằng 0, T-bit và T-Word cùng nhận giá trị 0. Khi có tín
hiệu reset ở đầu vào R, tín hiệu ra Q(T-Word) trở về 0.
Thanh ghi trạng thái:
BR CC1 CC0 OV OS OR STA RLO FC
- - - - - x x x 1
Ví dụ:
Nếu tín hiệu đầu vào I 124.0 chuyển trạng thái từ 1 xuống 0, Timer sẽ được
khởi động. Đầu ra Q có giá trị bằng 0 khi đầu vào I 124.0 bằng 1 hoặc khi bộ
Timer đang đếm.
Nếu tín hiệu đầu vào I 124.1 chuyển từ 0 lên 1 trong khi bộ Timer chưa hết
thời gian trễ, Timer sẽ bị reset.
104
3.1.3. Bài tập ứng dụng bộ timer.
Điều khiển động cơ chạy, dừng theo chế độ sao- tam giác :
Yêu cầu bài toán :
Bấm nút Start đóng động cơ chạy.
105
Khi chạy có khởi động sao tam giác
Bấm nút Stop dừng động cơ.
Ký hiệu:
Start : I0.0
Stop : I0.1
K1 : Q0.0
K2 : Q0.1
K3 : Q0.2
Phân tích bài toán
Khi nhấn Start động cơ chạy theo theo chế độ sao
Khi hoạt động cơ ở chế độ sao thì đóng Contactor K1, K2.
Khởi tạo timer T0, tạo trễ trong khoảng thời gian 5s
Khi hoạt động cơ ở chế tam giác thì đóng Contactor K1, K3.
Chương trình main:
106
107
Bài tập về nhà :
5ms 10ms
108
Giản đồ thời gian được cho như sau (bạn đọc hãy tự phân tích để có giản đồ
này)
Timer
Blue(A)
Yellow(A)
Red(A)
Red(B)
Blue(B)
Yellow(B)
109
3.2. Sử dụng bộ COUNTER.
C-Word
Số sườn xung đếm được ghi vào thanh ghi 2 byte ( Word ) của bộ đếm gọi
là thanh ghi C_Word ( CV). Bộ đếm khai báo trạng thái của C_Work ra ngoài
qua chân C_Bit của nó :
Nếu CV # 0 thì C_bit =1. Ngược lại CV=1 thì C_bit = 0
Giá trị đặt trước PV ( Present Value ) của bộ đếm chỉ được truyền vào
C_Word tại thời điểm xuất hiện sườn lên của tín hiệu đặt ( Set ) S.
Bộ đếm có thể được xóa bằng tín hiệu Reset. Khi bộ đếm được xóa thì cả
C_Word và C_bit đều có giá trị = 0
110
Ký hiệu:
Trong đó:
CU- Ngõ vào tín hiệu đếm lên(Theo sườn). Có giá trị kiểu BOOL
S- Cho phép đặt giá trị PV vào bộ đếm CV
PV- Giá trị đặt. Có giá trị trong khoảng 0->999
R- Reset giá trị CV
Q- Ngõ ra trạng thái Counter
CV- Ngõ ra giá trị tức thời của Counter ( dạng Hex )
CV_BCD- Ngõ ra giá trị tức thời của Counter ( dạng BCD )
111
Ký hiệu:
Trong đó:
CD- Ngõ vào tín hiệu đếm lùi (Theo sườn). Có giá trị kiểu BOOL
S- Cho phép đặt giá trị PV vào bộ đếm CV
PV- Giá trị đặt. Có giá trị trong khoảng 0->999
R- Reset giá trị CV
Q- Ngõ ra trạng thái Counter
CV- Ngõ ra giá trị tức thời của Counter ( dạng Hex )
CV_BCD- Ngõ ra giá trị tức thời của Counter ( dạng BCD )
Ví dụ về bộ đếm Counter Down:
Ký hiệu:
112
Trong đó:
CU/CD- Ngõ vào tín hiệu đếm tiến/lùi (Theo sườn). Có giá trị kiểu
BOOL
S- Cho phép đặt giá trị PV vào bộ đếm CV
PV- Giá trị đặt. Có giá trị trong khoảng 0->999
R- Reset giá trị CV
Q- Ngõ ra trạng thái Counter
CV- Ngõ ra giá trị tức thời của Counter ( dạng Hex )
CV_BCD- Ngõ ra giá trị tức thời của Counter ( dạng BCD )
113
Tại cửa ra vào bố trí 2 cảm biến quang .
Có 2 đèn báo khi có người vào và người ra.
Phòng khách
S S
1 2
114
115
3.2.3. Bài tập ứng dụng bộ Counter
Đếm sản phẩm và đóng hộp trong các dây truyền sản suất.
4. BÀI 4
116
Nguyên lý hoạt động của module analog
Sử dụng các hàm trong thư viện để làm việc với module analog
Ứng dụng module analog
117
4.2. Nguyên lý hoạt động chung của các cảm biến và các tín hiệu đo
chuẩn trong công nghiệp.
Thông thường đầu vào của các module analog là các tín hiệu điện áp hoặc
dòng điện. Trong khi đó các tín hiệu tương tự cần xử lý lại thường là các tín hiệu
không điện như nhiệt độ, độ ẩm, áp suất, lưu lượng, khối lượng…Vì vậy người
ta cần phải có một thiết bị trung gian để chuyển các tín hiệu này về tín hiệu điện
áp hoặc tín hiệu dòng điện. Thiết bị này được gọi là các đầu đo hay cảm biến.
Để tiện dụng và đơn giản các tín hiệu vào của module analog input và tín
hiệu ra của module analog output tuân theo chuẩn tín hiệu của công nghiệp.
Có 2 loại chuẩn phổ biến là chuẩn điện áp và chuẩn dòng điện.
- Điện áp : (0 10)V, (0 5)V, 5V…
- Dòng điện : (4 20)mA, (0 20)mA, 10mA…
Trong khi đó tín hiệu từ các cảm biến đưa ra lại không đúng theo chuẩn.
Vì vậy người ta cần phải dùng thêm một thiết bị chuyển đổi để đưa chúng về
chuẩn công nghiệp. Thiết bị này được gọi là các Transmiter.
Kết hợp các đầu cảm biến và các thiết bị chuyển đổi này thành một bộ
cảm biến hoàn chỉnh, thường gọi tắt là thiết bị cảm biến, hay chính xác là thiết
bị đo và chuyển đổi đo (Transducer).
(010)V
Thiết bị Analog Input
Đầu đo chuyển (A/D)
đổi Các con số
(420)mA
Analog Output
Tín hiệu ra tương tự (D/A)
(010)V Các con số
(420)mA 118
4.3. Giới thiệu về hai module vào ra analog SM331 (AI2x12Bit) và
SM332 (AO2x12Bit).
119
Sơ đồ khối của module SM331:
120
±1000 mV
±2.5 V B
±5 V
1 tới 5V
±10 V
Các loại cặp nhiệt A
TC-I, TC-E
R-4L A
TC-IL A
TC-EL A
RTD-4L A
121
4.3.2. Đặc điểm của module ra analog SM332 (AO2x12Bit)
SM332 là module đầu ra tương tự có:
Hai kênh đầu ra riêng lẻ
Đầu ra có thể lựa chọn kiểu dòng hoặc áp.
Độ phân giải 12 Bit
Sơ đồ khối:
122
4÷20mA
4.4.1. Hàm căn chỉnh tín hiệu đầu vào FC105 “SCALE “.
123
K2 = +27648.0
Nếu giá trị integer đầu vào lớn hơn K2 thì đầu ra (OUT) được giữ ở
HI_LIM và báo lỗi. Nếu giá trị integer đầu vào thấp hơn K1 thì đầu ra được giữ
ở LO_LIM và báo lỗi.
Các tham số của hàm FC105:
Loại Vùng
Tham số Tên Miêu tả
Data nhớ
I, Q, M, Cho phép đầu vào với trạng thái
EN Input BOOL
D, L tín hiệu của 1
Cho phép đầu ra có một trạng thái
I, Q, M,
ENO Output BOOL tín hiệu ra của 1 nếu chức năng
D, L
được thực hiện không bị lỗi
I, Q, M,
Giá trị đầu vào được scale thành
IN Input INT D, L, P,
giá trị thực của các đơn vị điện
const
I, Q, M,
HI_LIM Input REAL D, L, P, Giới hạn trên của các đơn vị điện
const
I, Q, M,
LO_LIM Input REAL D, L, P, Giới hạn dưới của các đơn vị điện
const
Trạng thái tín hiệu của 1 chỉ thị
I, Q, M, giá trị Input là Bipolar.
BIPOLAR Input BOOL
D, L, P Trạng thái tín hiệu 0 chỉ thị giá trị
input là Unipolar
I, Q, M,
OUT Output REAL Kết quả của Scale
D, L, P
RET_VAL Output WORD I, Q, M, Giá trị trả về của W#16#0000 nếu
124
D, L, P chỉ dẫn lệnh không bị lỗi.
Thông tin lỗi:
Nếu giá trị integer đầu vào lớn hơn K2 thì đầu ra (OUT) được giữ ở HI_LIM
và báo lỗi. Nếu giá trị integer đầu vào nhỏ hơn K1 thì đầu ra được giữ ở
LO_LIM và bào lỗi. Trạng thái tín hiệu của ENO là 0 và RET_VAL bằng với
W#16#0008.
Ví dụ sử dụng:
125
4.4.2. Hàm căn chỉnh tín hiệu đầu ra FC106 “UNSCALE”
Mô tả chức năng.
Chức năng UNSCALE nhận một giá trị kiểu Real (IN) trong các đơn vị điện
và được scale giữa giới hạn thấp và giới hạn cao (LO_LIM và HI_LIM) sau
chuyển đổi thành giá trị kiểu nguyên. Kết quả được ghi vào cổng OUT.
UNSCALE sử dụng phương trình:
OUT=[((IN – LO_LIM)/(HI_LIM – LO_LIM))*(K2 – K1)]+ K1
Hằng số K1 và K2 được set dựa vào giá trị đầu vào hoặc BIPOLAR hoặc
UNIPOLAR.
IPOLAR: Giá trị integer đầu ra nằm giữa -27648 và +27648.
K2 = -27648.0
K2 = +27648.0
UNIPOLAR: Giá trị đầu ra integer nằm giữa 0 và 27648.
K1 = 0.0
K2 = +27648.0
Nếu giá trị đầu vào nằm ngoài dải LO_LIM và HI_LIM thì đầu ra (OUT)
được giữ gần hơn với hoặc giới hạn thấp hoặc giới hạn cao trong một dải xác
định (BIPOLAR hoặc UNIPOLAR) và báo lỗi.
Thông tin lỗi:
Nếu giá trị đầu vào nằm ngoài dải LO_LIM và HI_LIM thì đầu ra (OUT)
được giữ gần hơn với hoặc giới hạn thấp hoặc giới hạn cao trong một dải xác
126
định (BIPOLAR hoặc UNIPOLAR) và báo lỗi. Trạng thái tín hiệu ENO là 0 và
RET_VAL bằng với W#16#0008.
Các tham số FC106:
Loại
Tham số Tên Vùng nhớ Miêu tả
Data
I, Q, M, Cho phép đầu vào khi trạng thái tín
EN Input BOOL
D, L hiệu của 1
Cho phép đầu ra có trạng thái 1
I, Q, M,
ENO Output BOOL nếu chức năng được thực hiện
D, L
không bị lỗi
I, Q, M,
Giá trị đầu vào được unscale thành
IN Input REAL D, L, P,
giá trị nguyên
const
I, Q, M,
HI_LIM Input REAL D, L, P, Giới hạn trên của các đơn vị điện
const
I, Q, M,
LO_LIM Input REAL D, L, P, Giới hạn dưới của các đơn vị điện
const
Trạng thái tín hiệu 1 chỉ thị giá trị
I, Q, M, Input là Bipolar.
BIPOLAR Input BOOL
D, L, Trạng thái tín hiệu 0 chỉ thị giá trị
input là Unipolar
I, Q, M,
OUT Output INT Kết quả của unscale
D, L, P
I, Q, M, Giá trị trả về của W#16#0000 nếu
RET_VAL Output WORD
D, L, P chỉ dẫn lệnh không bị lỗi.
127
Ví dụ sử dụng:
128
output SP
PID
Controller
PV
Q P-2
Cảm biến đo khoảng cách
Input : h1 – h2
Output : 4-20mA
V-1
h2
Cảm biến
khoảng cách
h
h1
V-2
Ở đây ta sẽ quan tâm tới hai tín hiệu analog và ứng dụng module analog cũng
như sử dụng các hàm trong thư viện vào bài toán này:
- Tín hiệu ra điều khiển van.
- Tín hiệu đo mức nước từ cảm biến siêu âm.
Yêu cầu :
- Viết chương trình đọc mức nước thực.
129
- Viết chương trình mở van ở một vị trí bất kì.
Tín hiệu
tương tự
h2
(20mA)
h?
h1
(4mA)
130
Dựa vào phương trình trên ta có thể viết chương trình tính toán. Hoặc là
sử dụng hàm có sẵn trong thư viện, là hàm FC105 “SCALE”.
Giá trị số
27648
Tương tự ta cũng xây dựng được phương trình biểu diễn mối quan hệ:
y = 1728x -6912. Nếu chọn x là dòng điện cần tạo ra.
131
y= x . Nếu chọn x là độ mở van.
Ta có thể viết hàm để tính toán theo phương trình trên. Hoặc sử dụng hàm sẵn
có trong thư viện, là FC106 “UNSCALE”
132
Tiến hành mô phỏng trên PLCSIM.
Khởi động PLCSIM với cửa sổ như sau :
133
Download các khối hàm FC105,FC106.
Download khối chương trình trong OB1.
134
4.6. Bài tập
Sử dụng các module analog trong bài toán điều khiển quá trình trao đổi
nhiệt không tiếp xúc.
135
5. BÀI 5
137
5.2. Đặc điểm của bộ điều khiển PID
Khối tổ chức của bộ điều khiển PID
PID Control
S7-300 và S7-400
138
139
Module mềm PID gồm có tín hiệu chủ đạo SP_INT, tín hiệu ra của đối
tượng PVF_PER, tín hiệu giả để mô phỏng tín hiệu ra của đối tượng PV_IN, các
biến trung gian trong trong quá trình thực hiện luật và thuật toán điều khiển PID
như PV_PERON, P_SEL, I_SEL…
Tín hiệu chủ đạo SP_INT : được nhập dưới dạng dấu phẩy động.
Tín hiệu ra của đối tượng PV_PER : được nhập dưới dạng số nguyên có
dấu hoặc dưới dạng số thực dấu phảy động. Thông qua một hàm nội CRP_IN nó
sẽ chuyển đổi kiểu biểu diễn của PV_PER sang số thực dấu phảy động có giá trị
nằm trong khoản -100…100% theo công thức:
Hàm chuẩn hóa : PV_NORM sẽ chuẩn hóa tín hiệu ra của CRP_IN theo công
thức :
Tín hiệu ra của PV_NORM = (Tín hiệu ra của CRP_IN).PV_FAC +
PV_OFF
Bảng mô tả các tham số của bộ điều khiển :
Bảng mô tả tham số đầu vào :
Tham số Kiểu Dải Giá trị Mô tả
loại giá trị mặc
định
COM_RST BOOL FALS COMPLETE RESTART
E Khối có chức năng khởi tạo lại
hệ thống hoàn toàn khi đầu vào
“complete restart” được thiết lập
giá trị logic là TRUE
MAIN_ON BOOL TRUE MANUAL VALUE ON
Khi đầu vào “manual value on”
là TRUE, mạch vòng điều khiển
140
sẽ bị ngắt , các giá trị sẽ được
thiết lập bằng tay.
PVPER_ON BOOL FALS PROCESS VARIABLE
E PERIPHERAL ON
Khi đọc biến quá trình từ các
cổng vào/ra đầu vào PV_PER
phải được nối tới các cổng vào
ra và đầu vào “process variable
peripheral” có giá trị là TRUE
P_SEL BOOL TRUE PROPORTIONAL ACTION
ON
Chọn luật điều khiển P
I_SEL BOOL TRUE INTEGRAL ACTION ON
Chọn luật điều khiển I
INT_HOLD BOOL FALS INTEGRAL ACTION HOLD
E Đầu ra của bộ điều khiển I có
thể bị giữ lại không được sử
dụng khi ta thiết lập TRUE cho
thông số này
I_ITL_ON BOOL FALS INITIALIZATION OF THE
E INTEGRAL ACTION
Đầu ra của bộ điều khiển I có
thể được nối vào cổng vào
I_ITL_VAL nếu đầu vào
I_ITL_ON có giá trị là TRUE
D_SEL BOOL FALS DERIVATIVE ACTION ON
E Chọn thành phần D
CYCLE TIME >=1ms T#1s SAMPLING TIME
141
Thời gian lấy mẫu
SP_INT REAL 100.0… 0.0 INTERNAL SETPOINT
100.0% Tín hiệu chủ đạo
PV_IN REAL 100.0… 0.0 PROCESS VARIABLE IN
100.0% Giá trị khởi tạo có thể đặt ở đầu
vào PV_IN cũng có thể được đặt
từ biến quá trình
PV_PER WORD W#16 PROCESS VARIABLE
#0000 PERIPHERAL
Biến quá trình được nối với
CPU thông qua cổng vào tương
tự
MAIN REAL 100.0… 0.0 MANUAL VALUE
100.0% Cổng vào “manual value” được
sử dụng để đặt giá trị bằng các
hàm giao diện
GAIN REAL 2.0 PROPORTIONAL GAIN
Hệ số tỉ lệ của luật P
TI TIME >= T#20s RESET TIME
CYCLE Hằng số thời gian tích phân
TD TIME >= T#10s DERIVATIVE TIME
CYCLE Hằng số thời gian vi phân
TM_LAG TIME >= T#2s TIME LAG OF THE
CYCLE DERIVATIVE ACTION
/2 Chọn thời gian tích cực của luật
điều khiển vi phân
DEADB_W REAL >=0.0% 0.0 DEAD BAND WIDTH
Để xử lý tính hiệu nhiễu
142
LMN_HLM REAL LMN_L 100.0 MANIPULATED VALUE
LM… HIGH LIMIT
100% Thiết lập bằng tay giới hạn trên
LMN_LLM REAL -100… 0.0 MANIPULATED VALUE
LMN_H LOW LIMIT
LM % Thiết lập bằng tay giới hạn dưới
PV_FAC REAL 1.0 PROCESS VARIABLE
FACTOR
Biến quá trình được nhân với hệ
số phù hợp với phạm vi của biến
này, Hệ số chọn thông qua cổng
PV_FAC
PV_OFF REAL 0.0 PROCESS VARIABLE
OFFSET
Biến quá trình được cộng với
một lượng bù cho phù hợp với
phạm vi quy định của biến này.
Giá trị bù được chọn thông qua
PV_OFF
LMN_FAC REAL 1.0 MANIPULATED VALUE
FACTOR
Giá trị giới hạn được nhân với
một hệ số bù cho phù hợp với
phạm vi quy định của biến quá
trình, giá trị bù này được thiết
lập thông qua LMN_FAC
143
OFFSET
Giá trị giới hạn được cộng với
với một hệ số bù cho phù hợp
với phạm vi quy định của biến
quá trình, giá trị bù này được
thiết lập thông qua LMN_OFF
144
lập bằng tay theo kiểu
biểu diễn phù hợp với
cổng vào ra tương tự được
chọn qua LMN_PER
145
LMN_D REAL 0.0 DERIVATIVE
COMPONENT
Tín hiệu ra của bộ điều
khiển vi phân
146
5.3.1.3. Lựa chọn khối thư viện và copy :
147
5.3.1.4. Paste vào phần Blocks:
148
5.3.1.6. Gán tham số cho bộ điều khiển :
Vào Start / SIMATIC /STEP 7 / PID Control Parameter Assignment
Bạn chọn Open , sau đó chọn khối DB1 vừa tạo:
149
Cửa sổ hiện ra cho phép ta thiết lập các giá trị cho bộ tham số:
Để hiểu ý nghĩa của các tham số cần thiết lập, ta tra bảng tham số của bộ PID.
PV
Q P-2
Cảm biến đo khoảng cách
Input : h1 – h2
Output : 4-20mA
V-1
h2
Cảm biến
khoảng cách
h
h1
V-2
150
5.3.2.1. Mô tả bài toán :
Nước được bơm vào bình thông qua một van V-1. Van này có thể điều
khiển được. Tín hiệu điều khiển van la tín hiệu dòng điện chuẩn công
nghiệp : 4-20mA tương ứng với độ mở của van là 0-100%.
Van V-2 là van xả , van này không điều khiển, độ mở của van được thực
hiện bằng tay và được đặt trước.
Một cảm biến C-1 là loại cảm biến khoảng cách , tín hiệu ra dưới dạng
dòng điện : 4-20mA tương ứng với khoảng cách đặt là h1-h2
Yêu cầu bài toán là ổn định mức nước trong bình với một mức h nào đó
đạt yêu cầu chất lượng là :
Độ quá điều chỉnh là 0%.
Thời gian quá độ nhỏ.
Vì tín hiệu từ cảm biến về và tín hiệu đưa tới điều khiển van là tín
hiệu analog nên ta chọn một module analog có ít nhất 1 đầu vào và một
đầu ra dưới dạng dòng điện. Cần một số phím điều khiển và một số đèn
151
báo hiệu, nên ta sẽ lựa chọn module vào ra số. Với CPU ta cũng tùy chọn,
phụ thuộc rất nhiều yếu tố như khả năng nối mạng, khả năng mở rộng nếu
cần…
Ví dụ với bài toán này ta lựa chọn như sau:
CPU : chọn CPU318-2DP.
module vào ra số : SM323 (6ES7 323-1BH01-0AA0 Digital I/O module
DI 8/DO 8xDC24V/0.5A).
module vào tương tự SM331(6ES7 331-7KB00-0AB0 Analog input
module AI2/12 to 14 bits).
module ra tương tự (6ES7 332-5HB00-0AB0 Analog output module
AO2/12 bits)
Xây dựng phần cứng trên phần mềm Step7
Cấu hình một trạm CPU với các module như trên :
152
Chi tiết xem thêm trong tài liệu kỹ thuật đi kèm.
Xây dựng chương trình phần mềm.
Lựa chọn và cấu hình cho bộ PID mềm “CONT_C” như phần trên.
153
Viết chương trình trong khối OB1:
154
155
5.4. Sử dụng các hàm thời gian thực.
Thực tế có rất nhiều hệ thống hoạt động theo một thời gian thực đặt trước.
Ta lấy một ví dụ như sau:
Hệ thống điều khiển bơm nước gồm có 3 bơm. Mỗi hôm chỉ chạy có 2
bơm, một bơm nghỉ, và cứ xoay vòng như vậy, nếu một bơm hỏng thì bơm còn
lại sẽ chạy nếu có từ 2 bơm bị hỏng trở nên thì báo lỗi.
Hoặc một ví dụ khác như hệ thống sấy sử dụng ánh nắng mặt trời. Đối với
những ngày nắng, hệ thống sẽ qui định các mốc thời gian để xoay góc sấy của
giàn phơi.
156
v.v..
Đối với những hệ thống như vậy người ta phải dùng tới thời gian thực tế.
Trong phần mềm Step7 đã có những hàm được xây dựng phục vụ cho mục đích
này.
5.4.1. Giới thiệu các hàm sử dụng với thời gian thực.
5.4.1.1. Các hàm thiết lập thời gian thực SFC0 (SET_CLK)
Hàm SET_CLK cho phép thiết lập thời gian của hệ thống.
Mô tả :
Đầu vào :
PDT : đầu vào có kiểu DAT_OF_TIME mà ta muốn thiết lập
Vùng nhớ : D,L
Ví dụ : 15/01/1995 lúc 10h:30m:30s DT#1995-01-15-10:30:30.
Đầu ra :
RET_VAL : là giá trị trả về trạng thái nếu hệ thống có lỗi, có kiểu INT
Vùng nhớ I,Q,M,D,L
157
5.4.1.2. Hàm đọc thời gian của hệ thống SFC1 “READ_CLK” :
Mô tả :
Hàm READ_CLK cho phép đọc thời gian thực của hệ thống.
RET_VAL
SFC1
Read System Clock CDT
“READ_CLK”
Đầu vào :
Không có.
Đầu ra :
RET_VAL : là giá trị trả về trạng thái nếu hệ thống có lỗi, có kiểu
INT(I,Q,M,D,L)
CDT : đầu ra có kiểu DAT_OF_TIME mà ta lấy được(D,L)
IN1
FC3 RET_VAL
IN2 “D_TOD_DT”
Đầu vào :
IN1 : là đầu vào kiểu DATE (I,Q,M,L,D,Const)
158
IN2 : là đầu vào kiểu TOD (I,Q,M,L,D,Const)
Đầu ra :
RET_VAL : là giá trị trả về kiểu DATE_AND_TIME (D,L)
IN FC6 RET_VAL
DT to DATE
“DT_DATE”
Đầu vào :
IN : là đầu vào kiểu DATE_AND_TIME (D,L)
Đầu ra :
RET_VAL : là giá trị trả về kiểu DATE (I,Q,M,D,L)
IN FC7 RET_VAL
DT to DAY
“DT_DAY”
Đầu vào :
159
N : là đầu vào kiểu DATE_AND_TIME (D,L)
Đầu ra :
RET_VAL : là giá trị trả về kiểu INT (I,Q,M,D,L) là ngày trong
tuần:
1 = Sunday
2 = Monday
3 = Tuesday
4 = Wednesday
5 = Thursday
6 = Friday
7 = Saturday
IN FC8 RET_VAL
DT to TOD
“DT_TOD”
Đầu vào :
IN : là đầu vào kiểu DATE_AND_TIME (D,L)
Đầu ra :
RET_VAL : là giá trị trả về kiểu TIME_OF_DAY (I,Q,M,D,L)
160
Yêu cầu của bài toán :
Mỗi một ngày sẽ có 2 bơm được phép chạy, và cứ liên tiếp thay phiên nhau.
161
Viết chương trình thực hiện:
Tạo các khối cần thiết :
162
Khởi tạo trong khối OB100:
163
164
165
166
6. BÀI 6
6.2. Đặc điểm và phạm vi ứng dụng hệ thống PROFIBUS trong công
nghiệp.
PROFIBUS định nghĩa ba giao thức gồm: + PROFIBUS – FMS.
+ PROFIBUS – DP.
+ PROFIBUS – PA.
PROFIBUS – FMS (Fieldbus Message Specification): Giao thức
nguyên bản của PROFIBUS, được dùng chủ yếu cho việc giao tiếp giữa các
máy tính điều khiển và điều khiển giám sát. Được sử dụng phổ biến trong các
ngành chế tạo, lắp ráp.
PROFIBUS – DP: Giao thức đơn giản và nhanh hơn nhiều so với
FMS. PROFIBUS – DP được xây dựng tối ưu cho việc kết nối các thiết bị
167
vào/ra phân tán và thiết bị trường với các máy tính điều khiển. Lúc đầu được
sử dụng phổ biến trong các ngành chế tạo và lắp ráp. Tuy nhiên, ngày nay
PROFIBUS – DP đã lan rộng sang nhiều lĩnh vực khác.
PROFIBUS – PA (Process Automation): Là kiểu đặc biệt được sử
dụng ghép nối trực tiếp các thiết bị trường trong các lĩnh vực tự động hóa các
quá trình có môi trường dễ cháy nổ, đặc biệt trong công nghiệp chế biến.
Thực chất PROFIBUS – PA là sự mở rộng của PROFIBUS – DP xuống cấp
trường trong lĩnh vực công nghiệp chế biến.
Tóm lại, PROFIBUS là giải pháp chuẩn, đáng tin cậy cho nhiều phạm
vi ứng dụng khác nhau, đặc biệt là những ứng dụng có yêu cầu cao về tính
năng thời gian thực
Trong giới thạn bài học này chúng ta sẽ đi tìm hiểu về cách cấu hình và lập
trình sử dụng mạng Profibus-DP.
DP Master
Cấp 1
168
6.3.2. Nguyên tắc trao đổi dữ liệu trong mạng PROFIBUS-DP:
Yêu cầu
Hỏi tuần hoàn
........................
169
Trạm tớ DP (DP - Slave): Không có vai trò kiểm soát truy nhập bus. Thường
đó là các thiết bị vào/ra, các thiết bị trường (truyền động, HMI, van, cảm
biến…) hoặc các bộ điều khiển phân tán.
Cảm biến: Thiết bị đưa ra các nhận biết vật thể khác nhau về hình
dạng, mầu sắc, vật liệu…
Van: Thiết bị điều khiển lưu lượng chất lỏng, chất khí…
170
ET 200S: Hệ thống vào/ra phân tán.
Bộ lặp :
171
Ví dụ về một cấu hình mạng:
6.4. Ví dụ về cách cấu hình và lập trình một mạng profibus-dp sử dụng
phần mềm Step7
Bài toán : Lập trình giao tiếp 2 trạm S7-300 với Master CPU315-2DP / Slave
CPU315-2DP
172
Trong đó:
1) Máy tính có cấu hình cài đặt được phần mềm STEP 7.
2) Phần mềm STEP 7 v5.x.
3) Cáp MPI.
4) Trạm master PLC SIMATIC S7-300 với CPU315-2DP.
Với :
PS307 2A
CPU315-2DP
16DI/16DO
5) Trạm Slave PLC SIMATIC S7-300 với CPU315-2DP.
Với :
PS307 2A
CPU315-2DP
16DI/16DO
6) Cáp Profibus
173
và tạo một Project mới.
174
4) Sau đó, đặt trạm S7-300: Inser Station SIMATIC 300 Station:
175
6) Cấu hình phần cứng bằng cách kích đúp vào Hardware:
7) Việc đặt cấu hình phần cứng tương tự như các chương trước đã giới thiệu,
ở đây ta chú ý cấu hình cứng cụ thể như sau :
- Nguồn : PS 307 2A.
- CPU : CPU-315 – 2DP V1.1
- 16 DI
- 16 DO
176
Đặt nguồn và CPU lần luột vào slot 1 và 2
177
Kích đúp vào module giao diện DP để đặt chế độ hoạt động cho
Slave : Operation Mode DP Slave OK.
178
Chuyển sang tab Configuration, Chon New : để tạo ra các vùng
trao đổi dữ liệu
179
10) Kết thúc bằng cách kích nút combile để save và dịch cấu hình :
180
11) Quay trở lại cửa sổ SIMATIC Manage để thêm trạm mới và đổi tên
thành Master :
181
- CPU : CPU 315-2DP –> V1.1
182
Trong cửa sổ catalog chọn PROFIBUS DP =>Configured Stations
= >CPU31x
183
Chuyển sang tab Configuration : Ta sẽ thấy các vùng truyền nhận
giữa Master và Slave
Nháy đúp vào các vùng nhớ và cấu hình cho master
184
185
16) Cuối cùng là biên dịch : Kích để lưu và biên dịch chương
trình:
186
6.4.2. Viết chương trình giao tiếp cho hệ thống.
Trở lại cửa sổ SIMATIC Manager mở khối OB1 trạm Slave, kích đúp vào
OB1
Tiếp theo ta mởi khối OB1 của trạm Master và viết chương trình
truyền nhận
187
Cuối cùng là Download chương trình xuống các PLC. Master và
Slave
188