Sau 12 tuần đi sâu nghiên cứu tìm tòi đồ án tốt nghiệp, dưới sự phân
công của các thầy cô trong bộ Điện tự động khoa Điện – Điện tử, được sự chỉ
bảo nhiệt tình của thầy Ths. Đặng Hồng Hải cùng với sự cố gắng, nỗ lực hết
sức của bản thân em, bản đồ án tôt nghiệp đã hoàn chỉnh.
Đồ án đã đạt được kết quả như sau:
- Nghiên cứu thành công bộ PID trên PLC S7 – 300.
- Sử dụng được phần mềm S7-300 thành thạo
83 trang |
Chia sẻ: baoanh98 | Lượt xem: 809 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu và thực hiện bộ điều khiển PID trênPLC S7 - 300, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hàm là "1". Các RLO được nối nối tiếp bởi Logic
AND còn nối song song thì được nối bởi logic OR
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
X X X 0 _ 0 X X 1
27
2.2.3. CMP ? D Lệnh so sánh hai số nguyên
Kí hiệu
Tham số Kiểu dữ
liệu
Vùng nhớ Mô tả
box input BOOL
I, Q, M, L, D
Kết quả của các hoạt động
logic trước
box output BOOL
I, Q, M, L, D
Kết quả so sánh, chỉ tiếp tục
nếu RLO tại đầu vào = 1
IN1 INT I, Q, M, L, D
Giá trị đầu tiên để so sánh
IN2 INT I, Q, M, L, D Giá trị thứ hai để so sánh
Mô tả
CMP? D (So sánh hai số nguyên) có thể được sử dụng như một liên lạc
bình thường. Nó có thể được đặt ở bất kỳ vị trí mà một số liên lạc bình thường
có thể được đặt. IN1 và IN2 được so sánh theo kiểu so sánh bạn chọn. Nếu so
sánh là đúng, các RLO của hàm là "1". Các RLO được nối nối tiếp bởi Logic
AND còn nối song song thì được nối bởi logic OR
D
IN2
IN1
CMP
D
IN2
IN1
CMP
D
IN2
IN1
CMP
D
IN2
IN1
CMP
D
IN2
IN1
CMP
D
IN2
IN1
CMP
28
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
X X X 0 _ 0 X X 1
2.2.4. CMP ? R Lệnh so sánh giá trị thực
Kí hiệu
Tham số Kiểu dữ
liệu
Vùng nhớ Mô tả
box input BOOL
I, Q, M, L, D
Kết quả của các hoạt động
logic trước
box output BOOL
I, Q, M, L, D
Kết quả so sánh, chỉ tiếp tục
nếu RLO tại đầu vào = 1
IN1 INT I, Q, M, L, D
Giá trị đầu tiên để so sánh
IN2 INT I, Q, M, L, D Giá trị thứ hai để so sánh
Mô tả
CMP? I (So sánh số thực) có thể được sử dụng như một liên lạc bình
thường. Nó có thể được đặt ở bất kỳ vị trí mà một số liên lạc bình thường có
R
IN2
IN1
CMP
R
IN2
IN1
CMP
R
IN2
IN1
CMP
R
IN2
IN1
CMP
R
IN2
IN1
CMP
R
IN2
IN1
CMP
29
thể được đặt. IN1 và IN2 được so sánh theo kiểu so sánh bạn chọn. Nếu so
sánh là đúng, các RLO của hàm là "1". Các RLO được nối nối tiếp bởi Logic
AND còn nối song song thì được nối bởi logic OR
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
X X X 0 _ 0 X X 1
2.3. H-íng dÉn chuyÓn ®æi
Mô tả
Các hướng dẫn chuyển đổi đọc nội dung của các tham số IN và chuyển đổi
hoặc thay đổi các ký hiệu. Kết quả có thể được truy vấn tại tham số OUT.
Các hướng dẫn chuyển đổi sau đây có sẵn:
• BCD_I BCD tới số nguyên
• I_BCD số nguyên tới BCD
• BCD_DI BCD tới hai số nguyên
• I_DINT số nguyên tới hai số nguyên
• DI_BCD hai số nguyên tới BCD
• DI_REAL hai số nguyên tới dấu phẩy động
Nhóm lệnh chuyển đổi
2.3.1. lệnh BCD_I
Kí hiệu
EN
IN OUT
ENO
BCD_I
30
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D BCD number
OUT INT I, Q, M, L, D Integer value of BCD
number
Mô tả
Chuyển ổi từ số định dạng dưới dạng BCD ( chứa 3 Digit) sang số nguyên 16
Bit, Số BCD có tầm (+/- 999) chứa trong 12Bit.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 _ _ _ _ 0 1 1 1
2.3.2. Lệnh I_BCD
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Integer number
OUT INT I, Q, M, L, D BCD value of integer
number
Mô tả
Chuyển đổi từ số nguyên sang số được định dạng dưới dạng BCD ( chứa 3 Digit),
do số BCD tối đa 999 nên số nguyên phải tối đa 999
EN
IN OUT
ENO
I_BCD
31
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 _ _ _ _ 0 1 1 1
2.3.3. Lệnh I_DINT
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Integer value to convert
OUT INT I, Q, M, L, D Double integer result
Mô tả
Chuyển đổi số nguyên từ 16Bit sang số nguyên 32 Bit ể thực hiện cho các phép
toán trên số 32 Bit.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 _ _ _ _ 0 1 1 1
2.3.4. Lệnh BCD_DI
Kí hiệu
EN
IN OUT
ENO
I_DINT
EN
IN OUT
ENO
BCD_DI
32
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D BCD number
OUT INT I, Q, M, L, D Double integer value of
BCD number
Mô tả
Chuyển đổi từ số định dạng dưới dạng BCD ( chứa 7 Digit)sang số nguyên 32 Bit
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 _ _ _ _ 0 1 1 1
2.3.5. Lệnh DI_BCD
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Double integer number
OUT INT I, Q, M, L, D BCD value of a double
integer number
EN
IN OUT
ENO
DI_BCD
33
Mô tả
Chuyển đổi từ số nguyên 32 Bit sang số được định dạng dưới dạng BCD ( chứa 7
Digit), do số BCD tối đa 9999999 nên số nguyên phải tối đa 9999999
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 _ _ _ _ 0 1 1 1
2.3.6. Lệnh DI_REAL
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Double integer value to
convert
OUT INT I, Q, M, L, D Floating-point number result
Mô tả
Chuyển ổi từ số nguyên 32 Bit sang số thực ể phục vụ cho các phép toán trên số
thực.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 _ _ _ _ 0 1 1 1
EN
IN OUT
ENO
DI_REAL
34
2.3.7. Lệnh INV_I
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Integer input value
OUT INT I, Q, M, L, D Ones compelement of the
integer
Mô tả
đảo tất cả các Bit của số nguyên 16 Bit
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 _ _ _ _ 0 1 1 1
3.8. Lệnh INV_ID
Kí hiệu
EN
IN OUT
ENO
INV_I
EN
IN OUT
ENO
INV_ID
35
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D Double integer input value
OUT INT I, Q, M, L, D Ones compelement of the
Double integer IN
Mô tả
đảo tất cả các Bit của số nguyên 32 Bit
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 _ _ _ _ 0 1 1 1
2.4. COUNTER
2.4.1. Hướng dẫn tổng quan.
Bộ nhớ trong:
Có một khu vực dành riêng cho Counter trong bộ nhớ của CPU. Vùng bộ
nhớ này dự trữ một từ 16-bit cho mỗi địa chỉ truy cập. Các thiết lập logic
ladder hướng dẫn hỗ trợ 256 counters.
Các counters truy cập là các chức năng duy nhất mà có thể truy cập vào
vùng bộ nhớ truy cập.
Giá trị đếm:
Bits 0 đến 9 của từ truy cập có chứa giá trị số trong mã nhị phân. Giá trị
tính được chuyển đến từ truy cập khi truy cập được thiết lập. Phạm vi giá trị
số là 0-999.
Bạn có thể thay đổi giá trị số nằm trong phạm vi này bằng cách sử dụng
theo hướng dẫn truy cập:
36
• S_CUD bộ đếm tiến lùi
• S_CD bộ đếm tiến
• S_CU bộ đếm lùi
•---( SC ) bộ nhớ đếm
•---( CU ) cuộn đếm tiến
•---( CD ) cuộn đếm lùi
Cấu hình bit counter
Bạn cung cấp một truy cập với một giá trị định sẵn bằng cách nhập một số
0-999, ví dụ như 127, định dạng sau: C # 127. C # là viết tắt của định dạng mã
nhị phân thập phân (dạng BCD: mỗi bộ bốn bit có chứa mã nhị phân cho một
giá trị thập phân).
Bits 0 đến 11 của chứa truy cập các giá trị tính trong định dạng mã nhị
phân thập phân.
Những con số sau đây cho thấy nội dung của các truy cập sau khi bạn đã tải các
giá trị tính 127, và nội dung của các counter sau khi truy cập đã được thiết lập.
37
2.4.2. Bộ S_CUD
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
C no COUNTER C Lượt truy cập, phạm vi truy
cập phụ thuộc vào CPU
CU BOOL I, Q, M, L, D Đếm lên
CD BOOL I, Q, M, L, D Đếm xuống
S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của
counter
PV WORD I, Q, M, L, D
và constant
Nhập giá trị truy cập như C #
trong khoảng 0-999
PV WORD I, Q, M, L, D Tới giá trị thiết lập couter
R BOOL I, Q, M, L, D Reset đầu vào
CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số
thập lục phân
CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã
BCD
Q BOOL I, Q, M, L, D Trạng thái của các truy cập
Mô tả
Sô sườn xung đếm được , được ghi vào thanh ghi 2 byte của bộ đếm, gọi
là thanh ghi C-Word. Nội dung của thanh ghi C-Word được gọi là giá trị đếm
tức thời của bộ đếm và kí hiệu bằng CV và CV_BCD. Bộ đếm báo trạng thái
của C-Word ra ngoài C-bit qua chân Q của nó. Nếu CV0, C-bit có giá trị
38
“1”. Ngược lại khi CV= “0”, bit nhận giá trị 0. CV luôn là giá trị không âm.
Bộ đếm sẽ không đếm lùi khi CV=0.
Đối với Counter, giá trị đặt trước PV chỉ được chuyể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ới chân S.
Bộ đếm sẽ được xóa tức thời bằng tín hiệu xóa R(Reset). Khi bộ đếm
được xóa cả C-Word và C-bit đều nhận giá trị 0.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.4.3. Bộ S_CU
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
C no COUNTER C Lượt truy cập, phạm vi truy cập
phụ thuộc vào CPU
CU BOOL I, Q, M, L, D Đếm lên
S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của counter
PV WORD I, Q, M, L, D
và constant
Nhập giá trị truy cập như C #
trong khoảng 0-999
PV WORD I, Q, M, L, D Tới giá trị thiết lập couter
R BOOL I, Q, M, L, D Reset đầu vào
CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số thập
lục phân
CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã BCD
Q BOOL I, Q, M, L, D Trạng thái của các truy cập
39
Mô tả
S_CU (Up Counter) là cài sẵn với giá trị tại PV đầu vào nếu có một cạnh
tích cực ở đầu vào S. Truy cập được thiết lập lại nếu có giá trị"1" tại R đầu
vào và giá trị số sau đó được thiết lập về.
Số lượt truy cập là tăng thêm một khi thay đổi tín hiệu tại CU đầu vào từ
"0" đến "1" và giá trị của các truy cập ít hơn "999".
Nếu truy cập được thiết lập và nếu RLO = 1 tại đầu vào CU, việc
Counter sẽ tính phù hợp trong chu kỳ quét tiếp theo.
Tín hiệu tại đầu ra Q là "1" nếu đếm số lớn hơn số không và "0" nếu
không thì Q=0
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.4.4. Bộ S_CD
Kí hiệu
40
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
C no COUNTER C Lượt truy cập, phạm vi truy
cập phụ thuộc vào CPU
CD BOOL I, Q, M, L, D Đếm lùi
S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của
counter
PV WORD I, Q, M, L, D
và constant
Nhập giá trị truy cập như C #
trong khoảng 0-999
PV WORD I, Q, M, L, D Tới giá trị thiết lập couter
R BOOL I, Q, M, L, D Reset đầu vào
CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số
thập lục phân
CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã
BCD
Q BOOL I, Q, M, L, D Trạng thái của các truy cập
Mô tả
S_CU (Up COUNTER) là cài sẵn với giá trị tại PV đầu vào nếu có một
cạnh tích cực ở đầu vào S.truy cập được thiết lập lại nếu có một "1" tại R đầu
vào và giá trị số sau đó được thiết lập về.
Số lượt truy cập là tăng thêm một khi nhà nước thay đổi tín hiệu tại CU
đầu vào từ "0" đến "1" và giá trị của các truy cập ít hơn "999".
Nếu truy cập được thiết lập và nếu RLO = 1 tại đầu vào CU, việc truy
cập sẽ tính phù hợp trong chu kỳ quét tiếp theo.
Tín hiệu tại đầu ra Q là "1" nếu đếm số lớn hơn số không và "0" nếu
không thì Q=0
41
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết quả _ _ _ _ _ X X X 1
2.4.5. ---( SC ) nhớ giá trị Counter
Kí hiệu ---( SC )
Tham số Kiều dữ liệu Vùng nhớ Mô tả
COUNTER C Số lượng truy cập sẽ
được cài sẵn
WORD I, Q, M, L, D or
constant
Giá trị xác lập cho
BCD(0 đến 999)
Mô tả
--- (SC) (nhớ giá trị counter) chỉ thực hiện nếu có giá trị tích cực trong RLO.
Vào thời điểm đó, giá trị định sẵn chuyển vào truy cập được chỉ định.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
0 _ _ _ _ 0 X _ 0
2.4.6. ---( CU ) bộ đếm lên
kí hiệu
---( CU )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
COUNTER C Lượt truy cập mã số; phạm
vi phụ thuộc vào CPU
Mô tả
--- (CU) (Up Counter Coil) Cứ mỗi xung cạnh lên trong RLO, bộ đếm
COUNTER sẽ tăng 1 đơn vị. Khi giá trị tăng đến 999 thì tín hiệu kích tăng
không còn tác dụng.
42
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ 0 _ _ 0
2.4.7. ---( CD ) bộ đếm xuống
Kí hiệu
---( CD )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
COUNTER C Lượt truy cập mã số; phạm
vi phụ thuộc vào CPU
Mô tả
--- (CD) (Down Counter Coil) Cứ mỗi xung cạnh lên trong RLO, bộ đếm
Counter sẽ giảm 1 đơn vị. Khi giá trị giảm đến 0 thì tín hiệu kích giảm không
còn tác dụng, đồng thời lúc đó ---( CD ) sẽ OFF. Nếu bộ đếm khác 0, ---( CD )
sẽ ON.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ 0 _ _ 0
2.5. khèi d÷ liÖu
2.5.1. ---(OPN) Lệnh mở khối dữ liệu :DB hay DI
Kí hiệu or
---(OPN)
Biến số Kiểu dữ liệu Bộ nhớ Mô tả
BLOCK_DB DB, DI Số DB / DI; phạm vi phụ
thuộc vào CPU
43
--- (OPN) (Open a Data Block) sẽ mở ra một khối dữ liệu được chia sẻ
(DB) hoặc dữ liệu Ví dụ một khối (DI). Các --- (OPN) chức năng là một cuộc
gọi vô điều kiện của một khối dữ liệu. Số lượng các khối dữ liệu được chuyển
vào DB hoặc đăng ký DI. Các DB DI lệnh tiếp theo và truy cập vào các khối
tương ứng, tuỳ theo nội dung đăng ký.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ _ _ _ _
2.6. nhãm lÖnh nh¶y
2.6.1. ---(JMP)--- Lệnh nhảy vô điều kiện
Kí hiệu
---( JMP )
Mô tả
Nhảy nếu RLO=1,Nếu RLO=1 chương trình sẽ nhảy đến nhãn nhảy
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ _ _ _ _
2.6.2. ---(JMP)--- Lệnh Nhảy có điều kiện
Kí hiệu
---( JMP )
Mô tả
--- (JMP) (nhảy trong vòng cấm khi 1) chức năng như một bước nhảy có
điều kiện khi RLO của các hoạt động logic trước đây là "1".
Một điểm đến (nhãn) cũng phải tồn tại cho mỗi --- (JMP).
Tất cả các hướng dẫn giữa các hướng dẫn nhảy và nhãn không được thực thi.
44
Nếu một bước nhảy có điều kiện là không được thực hiện, những thay
đổi RLO tới "1" sau khi hướng dẫn nhảy
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ 0 1 1 0
2.6.3. ---( JMPN ) Lệnh Jump-If-Not
Kí hiệu
---( JMPN )
Mô tả
Nhảy nếu RLO=0,Nếu RLO=0 chương trình sẽ nhảy đến nhãn nhảy
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ 0 1 1 0
2.6.5. LABEL Lệnh nhãn
Kí hiệu
Mô tả
LABEL là nhận diện cho đích đến của một chỉ dẫn nhảy.Các ký tự đầu
tiên phải là chữ cái, các ký tự khác có thể là chữ cái hoặc số. Một nhãn nhảy
(LABEL) phải tồn tại cho mỗi --- (JMP) hoặc --- (JMPN).
2.7. lÖnh Time
2.7.1. Lệnh S_PULSE
Kí hiệu
R
TV
BCD
BI
Q
S_PULSE
S
T no.
45
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
T no. TIMER T Mã số timer:phạm vi phụ thuộc
vào CPU
S BOOL I, Q, M, L, D Bắt đầu đầu vào
TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
R BOOL I, Q, M, L, D Thiết lập lại đầu vào
BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
số nguyên
BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
BCD
Q BOOL I, Q, M, L, D Trạng thái của Timer
Mô tả
Nếu tín hiệu ở đầu vào S là “1” Timer được kích hoạt chạy, khi tín hiệu
đầu vào S là “0” hoặc chạy đủ thời gian đặt ở TV thì Timer dừng hoặc tín
hiệu ở đầu vào R là “1” thì Timer cũng dừng. Timer chỉ có tín hiệu chạy lại
khi có tín hiệu ở đầu vào S( tức là đầu vào S chuyển trạng thái từ 0 lên 1).
Tín hiệu ra của Q là “1” khi mà Timer đang chạy Ngược lại Timer ngừng
chạy thì Q có tín hiệu ra là “0”
Đầu ra BI lưu giá trị đếm của Timer theo dạng Integer
Đầu ra BCD lưu giá trị đếm của Timer theo dạng BCD
Chức năng Timer này là tạo xung có thời gian được đặt sẵn
Sơ đồ thời gian
Đặc điểm của mạch xung hẹn giờ
46
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.2 . Lệnh S_PEXT
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
T no. TIMER T Mã số timer:phạm vi phụ thuộc
vào CPU
S BOOL I, Q, M, L, D Bắt đầu đầu vào
TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
R BOOL I, Q, M, L, D Thiết lập lại đầu vào
BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
số nguyên
BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
BCD
Q BOOL I, Q, M, L, D Trạng thái của Timer
R
TV
BCD
BI
Q
S_PEXT
S
T no.
47
Mô tả
Timer kích có nhớ, khi có tín hiệu cạnh lên ở đầu vào S Timer chạy. nếu
thời gian đặt tại TV đủ thì Timer dừng lại.
Trong quá trình chạy nếu có tín hiệu mới từ đầu vào S thì Timer lại được
tính lại từ đầu
Trong quá trình chạy mà có tín hiệu ở đầu vào R thì Timer dùng lại
Đầu ra Q=1 khi Timer đang chạy ngược lại Q=0 khi Timer không chạy
Đầu ra BI lưu giá trị hiện thời của Timer theo dạng Integer
Đầu ra BCD lưu giá trị hiện thời của Timet theo dạng BCD
Sơ đồ thời gian
Đặc điểm của mạch xung hẹn giờ
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.3 . Lệnh S_ODT
Kí hiệu
R
TV
BCD
BI
Q
S_ODT
S
T no.
48
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
T no. TIMER T Mã số timer:phạm vi phụ thuộc
vào CPU
S BOOL I, Q, M, L, D Bắt đầu đầu vào
TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
R BOOL I, Q, M, L, D Thiết lập lại đầu vào
BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
số nguyên
BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
BCD
Q BOOL I, Q, M, L, D Trạng thái của Timer
Mô tả
Nếu tín hiệu vào S là “1” thì Timer bắt đầu chạy khi đủ thời gian thì
ngưng khi đó ngõ ra Q sẽ có tín hiệu ra là “1”. Nếu tín hiệu đầu vào của S vẫn
giữ trạng thái tín hiệu là “1”, khi có tín hiệu Reset (tín hiệu đầu vào của R=1)
thì tất cả phải được Reset về 0
Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu
giá trị hiện thời của Timer theo dạng BCD
Sơ đồ thời gian
Đặc điểm của mạch xung hẹn giờ
49
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết _ _ _ _ _ X X X 1
2.7.4. Lệnh S_ODTS
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
T no. TIMER T Mã số timer:phạm vi phụ thuộc
vào CPU
S BOOL I, Q, M, L, D Bắt đầu đầu vào
TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
R BOOL I, Q, M, L, D Thiết lập lại đầu vào
BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
số nguyên
BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
BCD
Q BOOL I, Q, M, L, D Trạng thái của Timer
Mô tả
Timer kích có nhớ, khi có tín hiệu xung cạnh lên ở đầu vào S thì Timer bắt
đầu chạy, ngõ ra của Q=1 khi Timer đang chạy ngược lại Timer dừng thì tín hiệu
ra của Q là “0”. Timer chỉ tắt khi có tín hiệu Reset và đã đếm hết thời gian
Trong qua trình Timer chạy nếu có sự chuyển đổi tín hiệu từ đầu vào S
thêm 1 lần nữa thì Timer sẽ nhớ và tiếp tục chạy khi hết thời gian lần trước.
Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu
giá trị hiện thời của Timer theo dạng BCD
R
TV
BCD
BI
Q
S_ODTS
S
T no.
50
Sơ đồ thời gian
Đặc điểm của mạch xung hẹn giờ
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết _ _ _ _ _ X X X 1
2.7.5. Lệnh S_OFFDT
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
T no. TIMER T Mã số timer:phạm vi phụ thuộc
vào CPU
S BOOL I, Q, M, L, D Bắt đầu đầu vào
TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
R BOOL I, Q, M, L, D Thiết lập lại đầu vào
BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
số nguyên
BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng
BCD
Q BOOL I, Q, M, L, D Trạng thái của Timer
R
TV
BCD
BI
Q
S_OFFDT
S
T no.
51
Mô tả
S_OFFDT đầu ra Q =1 khi có tín hiệu tích cực của chân đầu vào S và Timer
chạy khi bắt dầu sườn xuống của đầu vào S. Q=0 khi đủ thời gian và đầu vào
S vẫn =0.
Khi có tín hiệu Reset I0.1 thì tất cả tín hiệu đều = “0”
Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu giá
trị hiện thời của Timer theo dạng BCD
Sơ đồ thời gian
Đặc điểm của mạch xung hẹn giờ
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.6 . Xung ---( SP )
Kí hiệu
---( SP )
52
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
TIMER T Mã số timer:phạm vi phụ
thuộc vào CPU
S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
Mô tả
--- (SP) (Pulse Timer Coil) bắt đầu đếm thời gian quy định với <time
value> khi có tín hiệu cạnh tích cực của RLO. Ngõ ra của Tno sẽ On ngay lập
tức. Khi hết thời gian cài đặt () mà tín hiệu vào của RLO vẫn là
1 thì Tno vẫn On. Trong trường hợp chua đủ mà tín hiệu của
RLO là “0” thì Time sẽ được Reset và ngõ ra của Tno sẽ OFF.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.7 . Xung ---( SE )
Kí hiệu
---( SE )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
TIMER T Mã số timer:phạm vi phụ
thuộc vào CPU
S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
Mô tả
---( SE ) (Extended Pulse Timer Coil) bắt đầu đếm thời gian quy định với
khi có tín hiệu cạnh tích cực của RLO. Ngõ ra của Tno sẽ On
ngay lập tức và Tno vẫn tiếp tục chạy cho đến khi thời gian đã được định trước
ngay cả khi có sự thay đổi của RLO tới “0”trước khi bộ đếm thời gian hết hạn.
53
Các tín hiệu ra của Tno là “1” khi mà Tno đang chạy. Time sẽ được khởi động
lại khi có sự thay đổi RLO từ “0” đến “1” trong khi hẹn giờ đang chạy.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.8 . Xung ---( SD )
Kí hiệu
---( SD )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
TIMER T Mã số timer:phạm vi phụ
thuộc vào CPU
S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
Mô tả
---( SD ) (On Delay Timer Coil) bắt đầu đếm thời gian quy định với <time
value> khi có tín hiệu cạnh tích cực của RLO. Khi thời gian cài đặt <time
value> đủ mà không có báo lỗi thì bit đầu ra của Tno tác động là “1”. Khi
những thay đổi RLO từ "1" thành "0" trong khi bộ đếm thời gian đang chạy,
hẹn giờ đã được đặt lại. Trong trường hợp này đầu ra của Tno luôn cho kết
quả là “0”
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
54
2.7.9. Xung ---( SS )
Kí hiệu
---( SS )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
TIMER T Mã số timer:phạm vi phụ
thuộc vào CPU
S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
Mô tả
---( SS ) (Retentive On-Delay Timer Coil) bắt đầu đếm thời gian quy định với
khi có tín hiệu cạnh tích cực của RLO. Tín hiệu của Time là “1”
nếu giá trị thời gian đặt đã trôi qua. Khi có tín hiệu vào của Reset thì giá trị
hiện tại của Time cũng như tín hiệu đầu ra của Ton được Reset về “0”
Việc khởi động lại bộ đếm thời gian với giá trị thời gian quy định nếu những
thay đổi RLO từ "0" đến "1" trong khi hẹn giờ đang chạy.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.7.10. Xung ---( SF )
Kí hiệu
---( SF )
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
TIMER T Mã số timer:phạm vi phụ
thuộc vào CPU
S5TIME I, Q, M, L, D Giá trị thời gian định sẵn
55
Mô tả
--- (SF) (Off-Delay Timer cuộn) bắt đầu đếm thời gian quy định nếu có một
cạnh tiêu cực về tình RLO. hẹn giờ này là "1" khi RLO là "1" hoặc miễn là
hẹn giờ đang chạy trong khoảng . Time thiết lập lại khi RLO đi
từ "0" đến "1" trong khi Time đang chạy. Time luôn luôn khởi động lại khi có
thay đổi RLO từ "1" thành "0".
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
_ _ _ _ _ X X X 1
2.8. c¸c phÐp tÝnh trªn word
2.8.1. Lệnh WAND_W
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động
logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động
logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
Mô tả
Lệnh WAND_W thực hiện việc giao 2 Word, kết quả được cất vào ô Word
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 X 0 0 _ X 1 1 1
IN2
IN1 OUT
ENO
WAND_
W
EN
56
2.8.2 Lệnh WOR_W
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động
logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động
logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
Mô tả
Lệnh WOR_W: lệnh thực hiện việc hợp 2 Word, kết quả được cất vào ô Word
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 X 0 0 _ X 1 1 1
2.8.3. Lệnh WAND_DW
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động
logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động
logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
IN2
IN1 OUT
ENO
WOR_W
EN
IN2
IN1 OUT
ENO
WAND_DW
EN
57
Mô tả
Lệnh WAND_DW : lệnh thực hiện việc giao 2 Double Word, kết quả được cất
vào ô Double Word.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 X 0 0 _ X 1 1 1
2.8.4. Lệnh WOR_DW
Kí hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
Mô tả
Lệnh WOR_DW : lệnh thực hiện việc hợp 2 Double Word, kết quả được cất
vào ô Double Word.
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Kết
quả
1 X 0 0 _ X 1 1 1
2.8.5. Lệnh WXOR_W
Kí hiệu
IN2
IN1 OUT
ENO
WOR_DW
EN
IN
2
IN1 OUT
ENO
WXOR_W
EN
58
I
2
IN1 OUT
ENO
WOR_DW
EN
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động
logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động
logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
Mô tả
Lệnh WXOR_W : Lệnh thực hiện việc Xor Word, kết quả được cất vào ô Word
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 X 0 0 _ X 1 1 1
2.8.6. Lệnh WXOR_DW Kí hiệu
ký hiệu
Tham số Kiểu dữ liệu Vùng nhớ Mô tả
EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào
ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra
IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic
IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic
OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic
59
Mô tả
Lệnh WXOR_DW : lệnh được thực hiện việc Xor 2 Double Word, kết quả
được cất vào ô Double Word
Trạng thái
BR CC1 CC0 OV OS OR STA RLO /FC
Viết 1 X 0 0 _ X 1 1 1
60
Ch-¬ng 3. bé biÕn ®æi PID trªn S7-300
3.1. nh÷ng module pid mÒm cã trong step7
Phấn mềm Step7 cung cấp các module mềm PID để điều khiển các đối
tượng có mô hình liên tục như lò, động cơ, mức Đầu ra của đối tượng được
đưa vào đầu vào của bộ điều khiển qua các cổng vào tương tự của các module
vào tương tự của Simatic S7-300/400. Tín hiệu ra của bộ điều khiển có nhiều
dạng và được đưa đến các cơ cấu chấp hành qua những module vào ra khác
nhau như:
Qua cổng ra tương tự của module ra tương tự (AO),
Qua các cổng ra số của module ra số (DO), hoặc
Qua các cổng phát xung ra tốc độ cao.
Mỗi module mềm PID đều có một khối dữ liệu riêng (DB) để lưu giữ
các dữ liệu phục vụ cho chu trình tính toán thực hiện luật điều khiển. Các khối
hàm FB của module mềm PID đều cập nhật được những khối dữ liệu này ở
mọi thời điểm.
Module mềm FB PULSEGEN được sử dụng kết hợp với module FB
CONT_C nhằm tạo ra bộ điều khiển có tín hiệu dạng xung tốc độ cao thích
ứng với những cơ cấu chấp hành tỷ lệ.
Một bộ điều khiển PID mềm được hoàn thiện thông qua khôi hàm FB
nhiều chức năng tạo ra tính linh hoạt cao trong thiết kế. Người sử dụng có thể
chọn chức năng này hoặc loại bỏ các chức năng không cần cho hệ thống. Các
chức năng cơ bản khác như xử lý tín hiệu chủ đạo, tín hiệu quá trình và tính
toán các biến khác cùng với bộ điều khiển theo thuật điều khiển PID cũng
được tich hợp sẵn trong một module điều khiển mềm.
Những module mềm không toàn năng tới mức có thể ứng dụng được
vào mọi bài toán điều khiển. Đặc tính điều khiển và tốc độ xử lý của module
PID mềm phụ thuộc vòa loại CPU được chọn để giải quyết bài toán điều
61
khiển. Do khi xử lý một mạch vòng điều khiển người ta phải thực hiện công
việc trích mẫu tín hiệu đầu vào cho mạch vòng điều khiển đó (liên quan đến tín
hiệu báo ngắt cho chu kì thời gian OB30÷OB38), nên cần phải có sự tương thích
giữa số mạch vòng điều khiển PID và khả năng cũng như tốc độ tính toán của
CPU. Nếu bài toán điều khiển yêu cầu tần suất cập nhật càng cao thì số vòng
điều khiển phải càng giảm. Chỉ ở những bài toán có số vòng điều khiển ít người
ta mới có thể sử dụng các module mềm có tần suất truy nhập cao.
Tất cả các module PID mếm đều cung cấp nhiều giải pháp lựa chọn luật
điều khiển trong khi thiết kế để bộ điều khiển phù hợp với đối tượng như: luật
điều khiển tỷ lệ P, luật điều khiển tỷ lệ-vi phân PD, luật điều khiển tỷ lệ-tích
phân PI Chất lượng của hệ thống hoàn toàn phụ thuộc vào các tham số của
bộ điều khiển. Do đó, điều kiện bắt buộc đảm bảo thành công trong thiết kế là
ngưòi sử dụng phải có mô hình đối tượng chính xác. Đó cũng chính là nhược
điểm cơ bản của phương pháp điều khiển kinh điển.
Phụ thuộc vào cơ cấu chấp hành, người sử dụng có thể chọn được
module mềm PID tương thích. Ba module PID được tích hợp trong phần mềm
Step7 phù hợp với ba kiểu cơ cấu chấp hành nêu trên đó là:
1) Điều khiển liên tục với module mềm FB41 (tên hình thức CONT_C)
2) Điều khiển bước với module mềm FB42 (tên hình thức CONT_S)
3) Điều khiển kiểu phát xung với khối hàm hỗ trợ FB43 (tên hình thức
PULSEGEN).
Với đối tượng trong đề tài này, module mềm FB41 cần được tìm hiểu
để giải quyết bài toán.
3.2. ®iÒu khiÓn liªn tôc víi fb41 “ cont_c”
3.2.1. Giới thiệu chung về FB41
FB41 “CONT_C” được sử dung để điều khiển các quá trình kĩ thuật
với các biến đầu vào và đầu ra tương tự trên cơ sở thiết bị khả trình Simatic.
Trong khi thiết lập tham số, có thể tích cực hoặc không tích cực một số thành
62
phần chức năng của bộ điều khiển PID cho phù hợp với đối tượng. Có thể sử
dụng module mềm PID như một bộ điều khiển với tín hiệu chủ đạo đặt cứng
(fĩed setpoint) hoặc thiết kế một hệ thống điều khiển nhiều mạch vòng theo
kiểu điều khiển cascade. Những chức năng điều khiển được thiết kế trên cơ sở
của thuật điều khiển PID của bộ điều khiển mẫu với tín hiệu tương tự.
Cấu trúc modul mềm PID FB41 “CONT_C”.
Sơ đồ cấu trúc của module mềm FB41 “CONT_C” được minh họa như
sau:
CRP-IN
%
PV-NORM
DEADBAND
INT
DIF
SP-INT
PV_INT
PV_PER
PVPER_ON
GAIN
ER
PV
P-SEL
I-SEL
PV-FAC
PV-OFF
%
CRP_OUT
D-SEL
LMN-P
LMN-I
LMN-D
MAIL_ON
MAN
LMNLIMIT LMN_NORM
LMN_HLM
LMN_LLM
LMN_FAC
LMN_OFF
LMN
LMN_PER
DISV
0
1
0
1
1
1
1
0
0.0
0.0
0.0
TD,TM,LAG
QLMN-HLM
QLMN-LLM
TI, I-ITL-ON
I-ITLVAL
0
0
Hình 3.1: Sơ đồ cấu trúc modul mềm FB41
Module mềm PID bao gồm tín hiệu chủ đạo SP-INT, tín hiệu ra của đối
tượng PV-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 quá trình thực hiện luật và thuật điều khiển PID như
PVPER-ON, P-SEL, I-SEL, D-SEL,MAN-ON
63
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: Thông qua hàm nội của FB41 có
tên CRP-IN, tín hiệu ra của đối tượng có thể dược nhập dưới dạng số nguyên
có dấu hoặc số thực dấu phảy động. Chức năng của CRP-IN là chuyển đổi
kiểu biểu diễn của PV-PER từ dạng số nguyên sang số thực dấu phảy động có
giá trị nằm trong khoảng -100 đến 100% theo công thức:
Tín hiệu ra của CRP-IN = PV-PER
27648
100
Chuẩn hóa: Chức năng của hàm chuẩn hóa PV-NORM tín hiệu ra của
đối tượng là chuẩn hóa tín hiệu ra của hàm 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-OFF
Hai tham trị khống chế dải giá trị cho phép của PV-NORM là PV-FAC và
PV-OFF. Mặc định PV-FAC của hàm PV-NORM có giá trị bằng 1 và PV-
OFF có giá trị 0.
Lọc nhiễu tác động trong lân cận điểm làm việc: Tín hiệu sai lệch giữa
tín hiệu chủ đạo và tín hiệu ra của đối tượng. Nó dược tọa ngay ra trong FB41
là dầu vào của khối DEADBAND có tác dụng lọc những dao động nhỏ xung
quanh giá trị xác lập. Nếu không muốn sử dụng DEADBAND hoặc với đối
tượng mà có thể bỏ qua sự ảnh hưởng của nhiễu trong lân cận điểm làm việc
ta chọn DEAD-W=0.
Chọn luật điều khiển trên module FB41 “CONT_C”
Thuật PID được thiết kế theo kiểu song song của ba thuật điều khiển
đơn lẻ tỷ lệ (P), tích phân (I), vi phân (D) theo sơ đồ cấu trúc sau:
INT
DIF
I-SEL
D-SEL
1
1
0
0.0
0.0
0.0
TD,TM,LAG
TI, I-ITL-ON
I-ITLVAL
0
0
P-SEL
GAIN
Hình 3.2:Thuật điều khiển PID
64
Chính vì cấu trúc song song như vậy nên ta có thể thông qua các tham
trị P-SEL, I-SEL hay D-SEL mà tích hợp được các thuật điều khiển khác
nhau từ bộ điều khiển mẫu này như thuật điều khiển P,PI, PD, PID.
Khai báo tham số và các biến của Modul mềm PID
Chúng ta có thể khai báo tham số và các biến cho bộ điều khiển trong
khối dữ liệu cơ sở thông qua các bước sau:
START→ SIMATIC→ STEP7→PID PARAMETTER ASIGNMENT
Trên thanh công cụ trong cửa sổ của màn hình soạn thảo có biểu tượng của
các hàm thư viện có trong Step7. Kích chuột vào biểu tượng này ta nhận được
bảng danh mục các khối hàm thư viện ngay trong cửa sổ màn hình soạn thảo.
Đặt giá trị cho khối FB41
Phần mềm cho phép chọn chế độ tự động (automatic mode) hoặc chế độ
bằng tay. Ở chế độ bằng tay các giá trị của các biến được chọn bằng tay. Bộ
tích phân (INT) tự thiết lập chế độ LNM-LNM-P-DISV và bộ vi phân (DIF)
tự động về 0. Điều đó đảm bảo việc chuyển chế độ từ thiết lập giá trị bằng tay
về chế độ tự động không gây một biến đổi đột ngột nào đối với các biến đã
được thiết lập giá trị bằng tay.
Cũng có thể giới hạn cho cho các giá trị được thiết lập bằng tay nhờ hàm
LMNLIMIT.Một bít cờ sẽ có giá trị bằng 1 khi biến vào coa giá trị vượt quá
giới hạn đã chọn. Hàm LMN-NORM sẽ chuẩn hóa tín hiệu ra của hàm
LMNLIMIT theo công thức:
LMN = (Tín hiệu ra của LMNLIMIT) * LMN-FAC + LMN-OFF
Mặc định LMN-FAC có giá trị bằng 1, còn LMN-OFF có giá trị bằng
0. Các giá trị đặt bằng tay có thể theo một cách biểu diễn riêng. Hàm CRP-
OUT có chức năng biến đổi từ kiểu biểu diễn số thực dấu phảy động sang
kiểu biểu diễn riêng theo công thức: LMN-PER = LMN *
100
27648
Ngoài ra nhiễu có thể được lọc trước bằng cách đưa qua đầu vào DISV.
65
3.2.2. Khai báo tham biến hình thức đầu vào và đầu ra
khối FB41 “CONT_C” có 26 tham biến hình thức đầu vào như sau:
Tên
biến
Kiểu
dữ liệu
Phạm vi
giới hạn
Giá trị
mặc định
Mô tả chức năng
COM-
RST
BOOL FALSE COMPLETE RESTART
Khối 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 true
MAN-
ON
BOOL TRUE MANUAL VALUE ON
Khi đầu vào “manual value on” có
giá trị logic TRUE mạch vòng điều
khiển sẽ bị ngắt, các fía trị sẽ được
thiết lập bằng tay
PVPE
R-ON
BOOL FALSE PROCESS VARIABLE
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 với các cổng vào/ra và đầu vào
“process variable peripheral on” có
giá trị logic TRUE
P-SEL BOOL TRUE PROPORTIONAL ACTION ON
Hoạt động của bộ điều khiển PID có
thể tích cực hoặc không tích cực từng
phần riêng trong thuật điều khiển
PID. Thuật điều khiển tỷ lệ khi giá trị
logic TRUE được thiết lập tại cổng
vào “proportional action on”.
66
I-SEL BOOL TRUE INTERGRAL ACTION ON
Hoạt động của bộ điều khiển PID có
thể tích cực hoặc không tích cực
từng phần riêng trong thuật điều
khiển PID. Thuật điều khiển tích
phân được kích hoạt khi giá trị logic
TRUE được thiết lập tại cổng vào
“intergral action on”
INT-
HOLD
BOOL FALSE INTERGRAL ACTION HOLD
Đầu ra của bộ điều khiển tích phân có
thể bị “đông lạnh” (không được sử
dụng) khi thiết lập giá trị logic TRUE
cho đầu vào “intergral action hold”.
I-ITL-
ON
BOOL FALSE INITIALIZATION OFTHE
INTERGRAL ACTION
Đầu ra của bộ điều khiển tích phân
có thể được nối vào cổng I-ITL-
VAL nếu như cổng vào
“initialization” of the intergral
action on” có giá trị logic TRUE.
D-
SEL
BOOL FALSE DERIVATE ACTION ON
Hoạt động của bộ điều khiển PID có
thể tích cực hoặc không tích cực
từng phần riêng trog htuật điều
khiển PID. Thuật điều khiển vi phân
được kích hoạt khi giá trị logic
TRUE được thiết lập tại cổng vào
“derivate action on”
67
CYCLE TIME ≥ 1ms T#1s SAMPLING TIME
Thời gian lấy mẫu là khoảng thời
gian không đổi giữa các lần khối
được cập nhật
SP-
INT
REAL -100100%
Hoặc giá trị
vật lý
0.0 INTERNAL SETPOINT
Đầu vào “internal setpoint” được sử
dụng để thiết lập tín hiệu chủ đạo
(tín hiệu mẫu).
PV-IN REAL -100100%
Hoặc giá trị
vật lý
0.0 PROCESS VARIBLE IN
Giá trị khởi tạo có thể đặt ở đầu vào
“process variable on” hoặc từ biến
quá trình được biểu diễn dưới dang
số thực dấu phảy động.
PV-
PER
WORD W#16#00
00
PROCESS VARIABLE
PERIPHERAL
Biến quá trình được nối với CPU
thông qua cổng vào tương tự .
MAN REAL -100100%
Hoặc giá trị
vật lý
0.0 MANUAL VALUE
Cổng vào “manual value” được sử
dụng đẻ đặt giá trị bằng các hàm gia
diện.
GAIN REAL 2.0 PROPOTIONAL GAIN
Đầu vào “propotional gain” được sử
dụng đẻ thiết lập hệ số tỷ lệ cho bộ
điều khiển theo luật tỷ lệ
TI TIME ≥ CYCLE T#20s RESET TIME
Cổng Vào “reset time” được sử
dụng để thiết lập hằng số thời gian
tích phân cho bộ điều khiển tích
phân.
68
TD TIME ≥ CYCLE T#10s DERIVATE TIME
Cổng vào “derivate time”sử dụng để
thiết lập hằng số thời gian vi phân
cho bộ điều khiển vi phân.
TM-
LAG
TIME ≥ CYCLE T#2s TIME LAG OF DERIVATE ACTION
Thời gian tích cực của luật điều
khiển vi phân được chọn thông qua
cổng vào “time lag of derivate
action”.
DEA
B-W
REAL >=0.0% hoặc
giá trị vật lý
0.0 DEAD BAND WIDTH
Một vùng kém nhạy được sử dụng
để xủ lý tín hiệu sai lệch. Độ rộng
của vùng kém nhạy được đặt thông
qua cổng vào “dead band width”.
LMN-
HLM
REAL LMN-LLM
100%
hoặc giá trị
vật lý
100.0 MANIPULATED VALUE HIGH
LIMIT
Giá trị hạn chế trên được thiết lập
bằng tay qua cổng vào “manipulated
value high limit”.
LMN-
LLN
REAL -100%...
LMN-LLM
hoặc giá trị
vật lý
0.0 MANIPULATED VALUE LOW
LIMIT
Giá trị hạn chế dưới được thiết lập
bằng tay qua cổng vào “manipulated
value low limit”.
PV-
FAC
REAL 1.0 PROCESS VARIALE FACTOR
Biến quá trình được nhân với một hệ
số cho phù hợp với phạm vi qui định
của biến này. Hệ số được chọn
thông qua cổng vào “process
variable factor”.
69
LMN-
FAC
REAL 1.0 MANIPULATED VALUE
FACTOR
Giá trị giới hạn được nhân với một
hệ số cho phù hợp với phạm vi qui
định của biến quá trình. Hệ số này
được đặt qua cổng vào “manipulated
value factor”.
LMN-
OFF
REAL 0.0 MANIPULATED VALUE OFFSET
Giá trị giới hạn được nhân với một
hệ số cho phù hợp với phạm vi qui
định của biến quá trình. Hệ số này
được đặt qua cổng vào “manipulated
value offset”.
I-
ITLV
AL
REAL -100100%
Hoặc giá trị
vật lý
0.0 INITIALIZATION VALUE OF
THE INTERGRAL ACTION
Giá trị đầu ra của bộ điều khiển tích
phân có được thiết lập thông qua
cổng vào “initialization value of the
intergral action”.
DISV REAL -100100%
Hoặc giá trị
vật lý
0.0 DISTURBANCE VARIABLE
Khi điều khiển hệ thống bằng
phương pháp feedforward thì một
giá trị bù nhiễu được đặt thông qua
cổng vào “disturbance variable”.
PV-
OF
REAL 1.0 PROCESS VARIALE 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
qui định của biến này. Giá trị bù
được chọn thông qua cổng vào
“process variable
70
Khai báo tham biến hình thức đầu ra:
Tên biến
Kiểu
dữ liệu
Mặc định Mô tả
LMN REAL 0.0 MANIPULATED VALUE
Giá trị ra được thiết lập bằng tay thông
qua cổng ra “manipulated value”.
LMN-PER WORD W#16#
0000
MANIPULATED VALUE
PERIPHERAL
Giá trị đầu ra thiết lập bằng tay theo kiểu
biểu diễn phù hợp với các cổng vào/ra
tương tự được chọn qua cổng
“manipulated value peripheral”.
QLMN-
HLM
BOOL FALSE HIGH LIMIT OF MANIPULATED
VALUE RÊACHED
Cổng ra “high limit of manipulated value
reached” thông báo giá trị biến qua trình
vượt quá giá trị giới hạn trên.
QLMN-
LLM
BOOL FALSE LOW LIMIT OF MANIPULATED
VALUE RÊACHED
Cổng ra “low limit of manipulated value
reached” thông báo giá trị biến qua trình
nhỏ hơn quá giá trị giới hạn dưới.
LMN-P REAL 0.0 PROPOTIONAL COMPONENT
Tín hiệu ra của bộ điều khiển tỷ lệ được
xuất qua cổng ra của “propotional
component”
71
LMN-I REAL 0.0 INTEGRAL COMPONENT
Tín hiệu ra của bộ điều khiển vi phân
được xuất qua cổng ra “integral
component”.
LMN-D REAL 0.0 DERIVATIVE COMPONENT
Tín hiệu ra của bộ điều khiển vi phân
được xuất qua cổng ra “derivative
component”.
PV REAL 0.0 PROCESS VALUE
Tín hiệu quá trình được xuất qua cổng ra
“process value”.
ER REAL 0.0 ERROR SIGNAL
Tín hiệu sai lêch được xuất qua cổng ra
“error signal”.
3.3. §iÒu khiÓn bíc víi fb42 “ cont_s”
3.3.1. Mô tả chung
FB42 “CONT_S” là module mềm được tích hợp sẵn trong phần mềm
STEP7. FB42 “CONT_S” được sử dụng trên cơ sở Simatic S7-300/400 để
điều khiển các đối tượng kỹ thuật với đầu ra của bộ điều khiển là tín hiệu số.
Tín hiệu ra số hoàn toàn thích hợp đối với các cơ cấu chấp hành kiểu tích
phân. Trong khi thiết lập tham số, người thiết kế có thể tích cực hoặc không
tích cực bộ điều khiển PI bước cho phù howpk với yêu cầu của bài toán điều
khiển đặt ra. Có thể sử dụng module mềm FB42 “CONT_s” như một bộ điều
khiển theo luật PI với tín hiệu chủ đạo đặt trước hoặc có thể sử dụng trong
mạch vòng điều khiển phụ trong hệ thống thiết kế dựa trên nguyên tắc điều
khiển cascade. Chức năng của bộ điều khiển này hoàn toàn tuân theo thuật
72
điều khiển PI với tín hiệu quá trình là tín hiệu tương tự và tín hiệu ra của bộ
điều khiển là tín hiệu số.
Một phần trong các chức năng của module mềm này là đóng vai trò của
một bộ điều khiển PI có các giá trị và tín hiệu đầu ra số đặt bằng tay. Làm
việc ở chế độ này bộ điều khiển bước không cần đến tín hiệu hồi tiếp.
Hình 3.3: Sơ đồ cấu trúc nguyên lý của module mềm FB42 “CONT_S”
Tín hiệu chủ đạo: được biểu diễn kiểu số thực dấu phẩy động và được
thiết lập từ cổng vào SP_INT.
Tín hiệu ra của đối tượng: Tín hiệu ra của đối tượng được đưa thẳng
từ cổng vào tương tự theo kiểu số nguyên hoặc được truyền sau khi đã biến
đổi sang kiểu số thực dấu phẩy động. Hàm CRP_IN có chức năng biến đổi giá
73
trị truyền từ cổng vào tương tự sang kiểu số thực dấu phẩy động trong khoảng
từ -100.0% đến 100.0% theo công thức:
Tín hiệu ra của CRP_IN= PV_PER*
0.27648
0.100
Chuẩn hóa: Chức năng của hàm PV_NORm là chuẩn hóa tín hiệu lấy từ đầu
ra của hàm 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+PV_OFF
Mặc định PV_FAC có giá trị bằng 1 và PV_OF có giá trị bằng 0.
Lọc nhiễu có tác động trong lân cận điểm làm việc: Tín hiệu sai lệch là
hiệu giữa tín hiệu chủ đạo và tín hiệu ra của đối tượn. Giống như FB41, trong
FB42 cũng có khối DEADBAND được thiết kế ngay sau tín hiệu sai lệch và
trước phần điều khiển theo luật để lọc những dao động nhỏ quanh giá trị xác
lập bằng cách tạo ra ở đó một vùn kém nhạy. Nếu giá trị DEADB_W=0 thì
vùng kém nhạy không tồn tại.
3.3.2. Thuật điều khiển PI bước
Khối hàm FB42 của module mềm PID làm việc không cần phải có tín
hiệu hồi tiếp. Chức năng của luật I trong thuật điều khiển PI và tín hiệu sai
lệch được tính trong một bộ tích phân INT, sau đó so sánh với tín hiệu ra của
bộ điều khiển theo luật tỷ lệ như một giá trị hồi tiếp. Hiệu của phép so sánh
này được đưa vào một role ba vị trí có trễ Three_ST và đầu ra của role này
điều khiển bộ phát xung ra PULSEOUT để điều khiển cơ cấu chấp hành. Có
thể giảm tần số đóng cắt của bộ điều khiển bằng cách tạo ra vùng trễ khi
chuyển vị trí role. Sơ đồ thuật toán biểu diễn trong hình 6.4??
Ngoài ra, để giảm ảnh hưởng của nhiễu trong trường hợp điều khiển
không hồi tiếp, có thể lọc nhiễu cho hệ bằng cách đưa tín hiệu vào đầu vào
DISV của bộ lọc nhiễu.
3.3.3. Khởi động và thong báo lỗi
Hệ thống được khởi tạo lại hoàn toàn khi cổng vào COM_RST có giá
trị logic bằng 1. Tất cả các cổng ra nhận giá trị mặc định.
74
Khối hàm FB42 này không có khả năng tự kiểm tra lỗi bên trong. Nó
không sử dụng cổng ra báo kiểu lỗi RET_VAL.
3.3.4. Tham biến hình thức đầu vào
Tất cả các tham số hình thức đầu vào của FB42 “CON_S” gồm:
Tham số
Kiểu
dữ liệu
Phạm
vi làm
việc
Mặc
định
Mô tả
COM_RST BOOL FALSE COMPLETE RESTART
Modle mềm được khởi tạo lại hoàn
toàn khi ở cổng vào complete restart có
giá trị logic bằng 1.
LMNR_HS BOOL FALSE HIGH LIMT OF POSITION
FEEDBACK SIGNAL
Tín hiệu “actuator at upper limit stop”
được nối đến cổng vào “ high limit ò
position feedback”
Cổng ra cơ cấu chấp hành sẽ bị cấm khi
LMNR_HS =TRUE
LMNR_LS BOOL FALSE LOW LIMT OF POSITION
FEEDBACK SIGNAL
Tín hiệu “actuator at upper limit stop”
được nối đến cổng vào “low limit of
position feedback”
Cổng ra cơ cấu chấp hành sẽ bị cấm khi
LMNR_LS =TRUE
LMNR_O
N
BOOL FALSE MANUAL ACTUATING SIGNALS ON
Xử lý tín hiệu chấp hành được chuyển
sang chế độ bằng tay qua cổng vào “
manual actuating signal on”
75
LMNUP BOOL FALSE ACTUATING SIGNALS UP
Tín hiệu ra QLMNUP được thiết lập
qua cổng vào “actuating signal up” với
các tín hiệu chấp hành bằng tay.
LMNDN BOOL FALSE ACTUATING SIGNALS DOWN
Tín hiệu ra QLMNDN được thiết lập
qua cổng vào “actuating signal up” với
các tín hiệu chấp hành bằng tay.
PVPER_O
N
BOOL FALSE PROCESS VARIABLE
PERIPHERAL ON
Muốn đọc các tín hiệu quá trình từ các
cổng vào “process variable on” phải có
giá trị logic1(cho phép đọc)
CYCLE TIME >= 1ms SAMPLING TIME
Khoảng thời gian giữ các lần gọi khối
phải cố định. Thời gian trích mẫu
(sampling time) được thiết lập qua
cổng vào “ sampling time”
3.4. khèi hµm t¹o xung fb43 “pulsegen”
Khối hàm FB43 “PULSEGEN” có tác dụng hỗ trợ việc thiết kế một bộ
điều khiển PID hai hoặc ba vị trí với bộ tạo xung theo nguyên tắc điều biên
hình 3.4: Nguyên lý điều biên của FB43 PULSEGEN
76
Nó được biến đổi tín hiệu đầu vào IVN dạng số thực ( thường là đầu ra
LMN của module mềm PID) thành một dãy xung có chu kỳ cố định và độ
rộng tương ứng với độ lớn của tín hiệu đầu vào.
Khối hàm FB43 “PULSEGEN” thường được sử dụng cùng với FB41
“CONT_C” để có được một bộ điều khiển PID với tín hiệu dạng xung
Hình3.5: bộ điều khiển PID với đầu ra dạng xung
3.5. khëi t¹o module mÒm PID trªn s7-300
Khởi tạo New Project kích đúp vào vào biểu tượng
SIMATIC S7-300 ta có màn hình
chính của Step7. Ta chọn Flie=> New
Xây dựng cấu hình phần cứng cho trạm PLC
77
Trước hệt ta khai báo cấu hình cứng cho trạm PLC với S7-300 bằng cách
vào insert=> Station => Simatic 300 station.
Project chuyển sang dạng không rỗng với thư mục con trong nó có tên
mặc định là Simatic 300(1). Ta có thể thay đổi được tên này. Thư mục
Simatic 300(1) chứa tệp tin về cấu hình cứng của trạm.
78
Để tạo màn hình khai báo phần cứng, ta nháy chuột vào biểu tượng
Hardware trong hộp thoại hiện ra ta khai báo thanh ray( rack) và các module
có trên thanh rack đó.
Sau khi khai báo xong cấu hình phần cứng cho một trạm PLC và quay
trở về cửa sổ chính của Step7 ta thấy trong thư mục Simatic 300(1) bây giờ có
thêm thư mục con CPU314
79
Trong thư mục CPU314 ta có các thư mục con như sau: Source files,
Blocks, Symbols
Xây dựng chương trình FB41 và FB42 trên khối OB1
Kích vào Blocks => OB1 ta có màn hình như sau:
80
Khối OB1 được với khởi tạo Libraries=> Standard Library => PID
Control Blocks=> FB41 CONT_C ta được màn hình như sau:
Sau khi đã xây dựng được khối FB41 dưới dạng LAD ta vào View=>
STL hay dung tổ hợp phím nóng Ctrl+2, chương trình sẽ tự động chuyển từ
dạng LAD sang STL
81
Khi xây dựng xong hai khối FB41 và FB42 ta quay trở về màn hình
chính của Step7-300 ta có các khối đã được xây dựng như sau:
82
KẾT LUẬN
Sau 12 tuần đi sâu nghiên cứu tìm tòi đồ án tốt nghiệp, dưới sự phân
công của các thầy cô trong bộ Điện tự động khoa Điện – Điện tử, được sự chỉ
bảo nhiệt tình của thầy Ths. Đặng Hồng Hải cùng với sự cố gắng, nỗ lực hết
sức của bản thân em, bản đồ án tôt nghiệp đã hoàn chỉnh.
Đồ án đã đạt được kết quả như sau:
- Nghiên cứu thành công bộ PID trên PLC S7 – 300.
- Sử dụng được phần mềm S7-300 thành thạo
Tuy nhiên do thời gian gấp rút nên đồ án không tránh khỏi những hạn chế:
Nghiên cứu phần mềm còn thiếu sót, tuy nhiên đó cũng là sự thành công của
bản thân em.
Em xin chân thành cảm ơn!
Hải Phòng, ngày 11 tháng 7 năm 2010
Sinh viên
Nguyễn Trọng Ngọc
83
TÀI LIỆU THAM KHẢO
[1] SIEMENS, SIMATIC (2006), S7 – 300/400 and M7 – 300/400
Programmable controller hardware and Intallation.
[2] SIEMENS, SIMATIC (2006), Softwarefor S7-300 and S7-400 PID
Control
[3] SIEMENS, SIMATIC (2006), Ladder Logic (LAD) for S7-300 and S7-
400 Programming
[3] Nguyễn Doãn Phước, Phan Xuân Minh, Vũ Văn Hà (2002), Tự động hóa
với Simatic S7 – 300, NXB Khoa học và Kỹ thuật.
[4] Nguyễn Văn Hòa (2001), cơ sở lý thuyết điều khiển tự động, NXB
Khoa học và kỹ thuật
Các file đính kèm theo tài liệu này:
- 35.NguyenTrongNgoc_DC1001.pdf