LỜI MỞ ĐẦU
Nước ta đang trong công cuộc công nghiệp hóa, hiện đại hóa để từng
bước bắt kịp sự phát triển cùng các nước trong khu vực cũng như các nước trên
thế giới về mọi mặt kinh tế, kỹ thuật và xã hội. Công nghiệp sản xuất hàng hóa
đóng vai trò quan trọng trong việc phát triển các mặt kể trên. Việc tự động hóa
là sự lựa chọn đúng đắn trong mọi lĩnh vực nhằm tạo ra sản phẩm hàng loạt, có
chất lượng cao, tăng khả năng cạnh tranh mạnh mẽ trên thị trường.
Cùng với các ngành sản xuất khác thì ngành công nghiệp nặng đóng
vai trò quan trọng nhất trong việc đưa nước ta có trở thành một nước công
nghiệp tiến bộ hay không. Và ngành gia công kim loại chính xác cũng góp
một phần nhỏ bé của mình vào xu hướng trung đó.
Nhưng hiện nay trang thiết bị máy móc phục vụ trong công nghiệp ở
nước ta đa số còn lạc hậu song do vốn đầu tư còn hạn hẹp. Nên việc cải tiến
không thể tiến hành thay thế một cách đồng loại mà chúng ta phải kết hợp trên
những nền tảng vốn có và thay thế một số trang thiết bị sao cho vốn đầu tư là
nhỏ nhất, nhưng dây truyền vẫn không lạc hậu mà vẫn phù hợp với xu thế hiện
nay. Vì vậy nghiên cứu và đưa PLC S7-300 vào sử dụng là một giải pháp cải
tiến đúng đắn cho điều khiển ngành công nghiệp Việt Nam hiện nay. Việc
nghiên cứu và thực hiện bộ điều khiển PID trênPLC S7-300 là nội dung đồ
án tốt nghiệp mà em trình bày.
Đồ án của em gồm 3 chương như sau:
CHƯƠNG I: TỔNG QUAN VỀ PLC S7-300
CHƯƠNG II : TẬP LỆNH LADER CỦA PLC S7-300
Chương 3: bộ biến đổi PID trên S7-300
1
CHƯƠNG I: TỔNG QUAN VỀ PLC S7-300
Trạm tích cực còn gọi là trạm chủ có chức năng kiểm soát việc giao
tiếp với các trạm tớ nó quản lý hoặc có thể giao tiếp với các trạm tích cực
khác trong mạng. Hay nói cách khác các trạm chủ có khả năng kiểm soát
truyền thông trên bus. Một trạm chủ có thể gửi thông tin khi nó giữ quyền
truy nhập bus. Các trạm chủ là các thiết bị điều khiển được tích hợp một cách
tổng thể dưới tên là SIMATIC. Đó là các SIMATIC S7, SIMATIC M7,
SIMATIC C7, SIMATIC S5 .
1.1. cÊu tróc c¬ b¶n cña mét tr¹m Simatic s7-300.
SIMATIC S7 - 300 là hệ PLC mini, ứng dụng phần lớn trong điều kiện môi
trường làm việc khắc nghiệt như độ rung lắc mạnh, nhiệt độ, độ ẩm cao hoặc
trong môi trường bụi bẩn, ví dụ như:
Quản lý và điều khiển hệ thống đèn tín hiệu giao thông.
Hệ thống xử lý nước thải.
Bảo quản hàng đông lạnh.
Các ngành đường sắt.
Ngành hoá chất .
Để tăng tính mềm dẻo trong ứng dụng thực tế, các bộ điều khiển PLC
được thiết kế không bị cứng hoá về cấu hình, chúng được chia nhỏ thành các
module. Số lượng các module được sử dụng nhiều hay ít tùy thuộc vào từng
bài toán điều khiển cụ thể, tuy nhiên bao giờ cũng phải có một module chính,
đó là module CPU. Các module còn lại là những module truyền ,nhận tín hiệu
với đối tượng điều khiển, các module chuyên dụng như PID, điều khiển động
cơ .được gọi là các module mở rộng. Các module được gá trên các thanh
rack.
                
              
                                            
                                
            
 
            
                 83 trang
83 trang | 
Chia sẻ: lvcdongnoi | Lượt xem: 8661 | Lượt tải: 2 
              
            Bạn đang xem trước 20 trang tài liệu Nghiên cứu và thực hiện bộ điều khiển PID trên PLC S7-300, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ủ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 
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
01
0
1
11
10
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
10
0.0
0.0
0.0
TD,TM,LAG
TI, I-ITL-ON
I-ITLVAL
0
0P-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 -100…100% 
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 -100…100% 
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 -100…100% 
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 -100…100% 
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 -100…100% 
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 35.NguyenTrongNgoc_DC1001.pdf