Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 1
BÀI 1: GIỚI THIỆU VỀ PHẦN CỨNG PLC S7-300
Nội dung thực hành.
Xác định được vị trí và chức năng các module trên kit
thực hành PLC S7-300.
Xác định các đường tín hiệu nguồn, ngõ vào, ngõ ra của
các module.
Vẽ được mạch ngõ vào, ngõ ra số của PLC được sử
dụng trên kit thực hành.
Vẽ được mạch ngõ vào, ngõ ra tương tự trên kit thực
hành.
Vẽ mạch kết nối ngõ vào số đối với công tắc, nút nhấn.
Vẽ mạch kết nối ngõ vào dùng biến trở đối với module
tương tự.
Vẽ mạch kết nối ngõ ra cho tải là động cơ DC 12V-2A,
động cơ bước 12V-1,6A, động cơ 220V-AC 1 pha và
động cơ 3 pha.
1.1 Vẽ mạch kết nối ngõ vào dùng nút nhấn, công tắc với CPU.
1.2 Vẽ mạch kết nối ngõ ra điều khiển động cơ DC 12V-2A.
1.3 Vẽ mạch kết nối ngõ ra điều khiển động cơ 1 pha AC 220V-AC,2A.
1.4 Vẽ mạch kết nối ngõ ra điều khiển động cơ 3 pha.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 2
1.5 Xác định số lượng ngõ vào và ngõ ra số của các module mở rộng?
Địa chỉ ngõ vào và ngõ ra của module số được gắn thêm bằng bao
nhiều?
1.6 Số lượng ngõ vào và ngõ ra là bao nhiêu? Địa chỉ ngõ vào và ngõ ra
của module analog được gắn thêm bằng bao nhiều?
1.7 Vẽ mạch kết nối ngõ vào điện áp dùng biến trở cho ngõ vào của
module analog?
1.8 Vẽ mạch kết nối của cảm biến có ngõ ra dòng điện với module
analog?
1.9 Kiểm tra giao tiếp giữa máy tính và PLC.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 3
Cable kết nối giữa máy tính và PLC là MPI hay PPI, Profibus, hay
Ethernet? Ưu nhược điểm của các loại kết nối này.
BÀI 2: LẬP TRÌNH VỚI S7 300
Nội dung thực hành.
Xác định được cấu trúc phần cứng của S7
Viết chương trình dùng Simatic và mô phỏng cho dùng
Simulink.
Download và chạy chương trình trên PLC.
2.1 Cấu trúc tổng quát về phần cứng của S7.
Để khai báo phần cứng chính xác, ta phải dựa vào cấu trúc thực tế lúc
sử dụng.
Các bước để khai báo phần cứng.
Mở Simatic Manager.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 4
Đặt tên cho Project, chọn thư mục để lưu
Tạo một trạm s7300 hoặc s7400.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 5
Khai báo phần cứng theo cấu hình thực.(Nếu chạy mô phỏng thì
chỉ cần khai báo CPU là đủ).
2.2 Viết chương trình dùng Simatic và mô phỏng cho dùng Simulink
Chọn khối Blocks để viết chương trình.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 6
Chọn ngôn ngữ để viết chương trình.
Đặt tên cho các biến.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 7
Viết chương trình khởi động động cơ.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 8
Mở phần mềm Simulink.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 9
Download chương trình, chạy mô phỏng để kiểm tra kết quả.
2.3 Download và chạy chương trình trên PLC.
Chọn giao tiếp giữa PC và PLC theo chuẩn MPI, Profibus hay
Ethernet (Tùy thuộc vào kết nối thực tế giữa PC và PLC).
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 10
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 11
Biên dịch và download phần cứng.
Lưu ý: Phải đảm bảo khơng có đèn báo lỗi nào sáng sau khi download
phần cứng thì việc khai báo mới đúng và ta mới tiến hành lập trình
được.
Kết nối ngõ vào, ngõ ra, tác động để kiểm tra chạy thử.
Bài 3: THỰC HÀNH TẬP LỆNH CỦA S7 300.
Nội dung thực hành.
Các lệnh về BIT.
Nhóm lệnh so sánh.
Nhóm lệnh tốn học.
Nhóm lệnh di chuyển dữ liệu.
Lệnh dịch, xoay dự liệu.
Nhóm lệnh chuyển đổi dữ liệu.
Ứng dụng để viết một số chương trình cơ bản.
3.1 Nhóm lệnh về BIT:
Tiếp điểm thường hở:
KQ=KT nếu I0.0=1. KQ=0 nếu I0.0=0
Tiếp điểm thường đóng :
KQ=KT nếu I0.0=0. KQ=0 nếu I0.0=1
Lệnh Not.
KQ thu được bằng đảo giá trò của KT
Nếu KT=1 thì KQ=0 ; Nếu KT=0 thì KQ=1
Ngõ ra ( cuộn coil) : Gán KQ cho ngõ ra Q0.0
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 12
Xác đònh kết quả: Gán KQ tại vò trí mà lệnh được chèn
Vd: M0.0 lưu kết quả sau 2 phép tính qua I0.0 và I0.1
Lệnh Reset Bit: Gán giá trò 0 cho M0.0
Lệnh Set Bit: Gán giá trò 1 cho M0.0
Hàm FC83 ( Đt 1 loạt bit l )
Hàm FC82 ( xóa 1 loạt bit)
Lệnh RS:
Nếu I0.0=1, I0.1=0 thì M0.0=1, Q0.0=0
Nếu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=1
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 13
Nếu I0.0=I0.1=0 Thì không có gì thay đổi.
Nếu I0.0=I0.1=1 thì M0.0=Q0.0=1
Lệnh SR:
Nếu I0.0=1 , I0.1=0 thì M0.0=1, Q0.0=1
Nếu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=0
Nếu I0.0=I0.1=0 Thì không có gì thay đổi.
Nếu I0.0=I0.1=1 thì M0.0=Q0.0=0
Phát hiện cạnh lên.
M0.0 lưu giá trò KQ ở vòng quét trước
Khi I0.0 chuyển trạng thái từ 0 sang 1 và M0.0 =0 thì Q0.0 =1
Phát hiện cạnh xuống.
M0.0 lưu giá trò KQ ở vòng quét trước
Khi I0.0 chuyển trạng thái từ 1 xuống 0 và M0.0=1 thì Q0.0=1
Bài tập:
3.1.1 Viết chương trình điều khiển ngõ ra Q0.0 và Q0.1 hoạt động theo
u cầu sau.
Nhấn Start1, Q0.0 =1.
Nhấn Start2, Q0.1 =1.
Nhấn Stop1, Q0.0 =0.
Nhấn Stop2, Q0.0 = 0.
Điều kiện là Q0.0 chỉ bằng 0 khi Q0.1 đã bằng 0.
Bảng mơ tả địa chỉ.
Symbol
Address
comment
Start1
I0.0
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 14
Stop1
I0.1
Start2
I0.2
Stop2
I0.3
DC1
Q0.0
DC2
Q0.1
Yêu cầu:
Viết chương trình dùng các lệnh vào ra thông thương I,Q.
Mô phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.1.2 Viết chương trình điều khiển ngõ ra Q0.0 và Q0.1 hoạt động theo
yêu cầu sau.
Nhấn Start1, Q0.0 =1.
Nhấn Start2, Q0.1 =1.
Nhấn Stop1, Q0.0 =0.
Nhấn Stop2, Q0.1 = 0.
Điều kiện là Q0.0 chỉ bằng 0 khi Q0.1 đã bằng 0.
Bảng mô tả địa chỉ.
Symbol
Address
comment
Start1
I0.0
Stop1
I0.1
Start2
I0.2
Stop2
I0.3
DC1
Q0.0
DC2
Q0.1
Yêu cầu:
Viết chương trình dùng các lệnh S,R.
Mô phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.1.3 Viết chương trình điều khiển ngõ ra QB0 và QB1 hoạt động theo
yêu cầu sau.
Nhấn Start1, QB0 =255, QB1=0.
Nhấn Start2, QB1 =0, QB0 = 255.
Nhấn Stop, QB1=QB0=0.
Bảng mô tả địa chỉ.
Symbol
Address
comment
Start1
I0.0
Stop
I0.1
Start2
I0.2
DEN_DO
QB0
DEN_XANH
QB1
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 15
u cầu:
Viết chương trình dùng các lệnh FC82 và FC83.
Mơ phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.2 Nhóm lệnh so sánh
3.2.1 Lệnh so sánh số nguyên:
Lệnh EQ_I: So sánh MW100 và MW102, nếu 2 số nguyên này
bằng nhau thì KQ=KT
Lệnh NE_I: So sánh MW100 và MW102,nếu 2 số này khác nhau
thì KQ=KT.
Lệnh GT_I: So sánh 2 số MW100 và MW102 ,nếu MW100 lớn hơn
MW102 thì KQ=KT
Lệnh GE_I: So sánh 2 số MW100 và MW102, Nếu MW100 lớn hơn
hoặc bằng MW102 thì KQ=KT
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 16
Lệnh LE_I: So sánh 2 số MW100 và MW102, Nếu MW100 bé hơn
hoặc bằng MW102 thì KQ=KT
3.2.2. Lệnh so sánh số Double Integer:
Lệnh EQ_D: So sánh MD100 và MD104, nếu 2 số nguyên này
bằng nhau thì KQ=KT
Lệnh NE_D: So sánh MD100 và MD104,nếu 2 số này khác nhau
thì KQ=KT.
Tương tự như các lệnh so sánh hai số nguyên.
3.2.3. Lệnh so sánh số thực ( Real):
Lệnh EQ_R: So sánh MD100 và MD104, nếu 2 số nguyên này
bằng nhau thì KQ=KT
Lệnh NE_R: So sánh MD100 và MD104,nếu 2 số này khác nhau thì
KQ=KT
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 17
3.3. Lệnh số học
3.3.1. Phép Toán trên số nguyên 16 Bit:
Lệnh ADD_I : Lệnh thực hiện việc cộng 2 số nguyên 16 Bit ,kết
quả cất vào số nguyên 16 Bit, nếu kết quả vượt quá 16 Bit thì
cờ OV sẽ bật lên 1 ,cờ OS sẽ lưu Bit bò tràn đó.
W104 = MW100 + MW102
Lệnh SUB_I : Lệnh thực hiện việc trừ 2 số nguyên 16 Bit ,kết quả
cất vào số nguyên 16 Bit , nếu kết quả vượt quá 16 Bit thì cờ OV
sẽ bật lên 1 ,cờ OS sẽ lưu Bit bò tràn đó.
W104 = MW100 - MW102
Lệnh MUL_I : : Lệnh thực hiện việc nhân 2 số nguyên 16 Bit ,kết
quả cất vào số nguyên 16 Bit , nếu kết quả vượt quá 16 Bit thì
cờ OV sẽ bật lên 1, cờ OS sẽ lưu Bit bò tràn đó.
MW104 = MW100 * MW102
Lệnh DIV_I: Lệnh thực hiện việc chia 2 số nguyên 16 Bit ,kết quả
cất vào số nguyên 16 Bit , nếu kết quả vượt quá 16 Bit thì cờ OV
sẽ bật lên 1 ,cờ OS sẽ lưu Bit bò tràn đó.
MW104 = MW100 : MW102.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 18
3.3.2. Phép Toán trên số nguyên 32 Bit:
Lệnh ADD_DI : Lệnh thực hiện việc cộng 2 số nguyên 32 Bit ,kết
quả cất vào số nguyên 32 Bit,nếu kết quả vượt quá 32 Bit thì cờ
OV sẽ bật lên 1 ,cờ OS sẽ lưu Bit bò tràn đó.
MD108 = MD100 + MD104
Tương tự như phép toán trên số nguyên 16 bit.
3.3.3. Phép Toán trên số thực 32 Bit ( Floating Point Function):
Lệnh ADD_R : Lệnh thực hiện việc cộng 2 số thực, kết quả cất
vào số thực, nếu kết quả vượt quá 32 Bit thì cờ OV sẽ bật lên 1
,cờ OS sẽ lưu Bit bò tràn đó.
MD108 = MD100 + MD104
Tương tự như phép toán trên số nguyên 16 bit.
3.4 Bài tập.
3.4.1 Viết chương trình điều khiển QB0 hoạt động như sau.
Nhấn Up, QB0 tăng thêm 1.
Nhấn Down, QB0 giảm bớt 1.
Nhấn Start, QB0 =1.
Nhấn Stop, QB0 = 0.
Điều kiện: Khi QB0 tăng lên 10 thì khơng được tăng nữa, khi QB0 giãm
xuống bằng 0 thì khơng được giãm nữa.
Bảng mơ tả địa chỉ.
Symbol
Address
comment
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 19
Start
I0.0
Stop
I0.1
Up
I0.2
Down
I0.3
Counter
QB0
u cầu: Viết chương trình sử dụng lệnh cộng, trừ, so sánh….
Mơ phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.4.2 Viết chương trình điều khiển QB0 hoạt động như sau.
Nhấn Up, QB0 tăng thêm 2.
Nhấn Down, QB0 giảm bớt 1.
Nhấn Start, QB0 =1.
Nhấn Stop, QB0 = 0.
Điều kiện: Khi QB0 tăng lên 10 thì khơng được tăng nữa, khi QB0 giãm
xuống bằng 0 thì khơng được giãm nữa.
Bảng mơ tả địa chỉ.
Symbol
Address
comment
Start
I0.0
Stop
I0.1
Up
I0.2
Down
I0.3
Counter
QB0
u cầu: Viết chương trình sử dụng lệnh cộng, trừ, so sánh….
Mơ phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.5. Lệnh dịch bit.
3.5.1 Lệnh SHR_I: Lệnh thực hiện việc dòch phải ô nhớ 16Bit,kết
quả cất vào ô nhớ 16 Bit,N là số Bit dòch.
3.5.2. Lệnh SHR_DI: Lệnh thực hiện việc dòch phải ô nhớ 32Bit,kết
quả cất vào ô nhớ 32 Bit,N là số Bit dòch.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 20
3.5.3 Lệnh SHL_W: Lệnh thực hiện việc dòch trái ô nhớ16Bit,kết
quả cất vào ô nhớ 16 Bit,N là số Bit dòch. Ô nhớ này được đònh
dạng theo kiểu Word.
Nếu N lớn hơn 16 thì MW100 =0 và cờ CC0,OV trong thanh ghi
trạng thái đều bằng 0 .
3.5.4. Lệnh ROR_DW: Lệnh thực hiện việc dòch phải xoay tròn ô
nhớ 32Bit,N là số Bit dòch. Ô nhớ này được đònh dạng theo kiểu
Word.
3.6. Lệnh di chuyển: MOV: Lệnh đưa giá trò một ô nhớ sang 1 ô nhớ
khác,lệnh này có thể áp dụng cho mọi kiểu số khác nhau.(
Int,Dint,Real,Byte….)
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 21
3.7 Bài tập ứng dụng.
3.7.1 Viết chương trình điều khiển QB0 hoạt động như sau.
Nhấn Start, QW0 =1.
Nhấn Stop, QW0 = 0.
Nhấn Left, QB0 dịch trái 1 bit.
Nhấn Right, QB0 dịch phải 1 bit.
Bảng mô tả địa chỉ.
Symbol
Address
comment
Start
I0.0
Stop
I0.1
Left
I0.2
Right
I0.3
Register
QW0
Yêu cầu:
Viết chương trình dùng lệnh dịch trái, dịch phải…
Mô phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.7.2 Viết chương trình điều khiển QW0 hoạt động như sau.
Nhấn Number_Shift: Chọn số bit dịch N
Nhấn Start: QW0 = 1.
Nhấn Stop, QW0 = 0.
Nhấn Left, QW0 dịch trái N bit.
Nhấn Right, QW0 dịch phải N bit.
Bảng mô tả địa chỉ.
Symbol
Address
comment
Number_shift
MW0
Start
I0.0
Stop
I0.1
Left
I0.2
Right
I0.3
Register
QW0
Yêu cầu:
Viết chương trình dùng lệnh dịch trái, dịch phải…
Mô phỏng chương trình.
Kết nối phần cứng, download, kiểm tra và chạy thử.
3.7.3 Hãy làm lại bài tập 3.7.1 và 3.7.2 nhưng thay lệnh Shift thành lệnh
Rotate.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 22
Bài 4: THỰC TẬP VỀ TẬP LỆNH CỦA S7 300.
Nội dung thực hành.
Nhóm lệnh về Timer.
Nhóm lệnh về Counter.
Lệnh về sử dụng chương trình con.
Bài tập ứng dụng các lệnh về Timer, Counter và chương trình con
để.
4.1 Nhóm lệnh về Timer.
4.1.1 Lệnh S_PULSE.
Khi S=1 Timer được kích hoạt, Timer đếm xuống từ giá trò đặt.
Timer dừng khi: Giá trò đếm của Timer bằng 0, ngõ vào S = 0
hoặc ngõ vào R =1.
Q0.0=1 khi Timer đang chạy.
MW100 lưu giá trò đếm của Timer theo dạng Integer
MW102 lưu giá trò của Timer theo dạng BCD
Chức năng của Timer này là tạo xung có thời gian được đặt
sẵn.
4.1.2. Lệnh S_PEXT.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 23
Khi S=1 Timer được kích hoạt, Timer đếm xuống từ giá trò đặt.
Timer dừng khi: Giá trò đếm của Timer bằng 0 hoặc ngõ vào R
=1.
Q0.0=1 khi Timer đang chạy.
MW100 lưu giá trò đếm của Timer theo dạng Integer
MW102 lưu giá trò của Timer theo dạng BCD
Chức năng của Timer này là tạo xung có thời gian được đặt
sẵn mỗi khi có xung kích tại ngõ vào S.
Q0.0 =1 khi Timer đang chạy.
Các ô nhớ MW100 và MW102 lưu giá trò hiện thời của Timer theo
dạng Integer và dạng BCD.
4.1.3. Lệnh S_ODT.
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 24
Khi S=1 Timer được kích hoạt, Timer đếm xuống từ giá trò đặt.
Timer dừng khi: Giá trò đếm của Timer bằng 0 hoặc ngõ vào S=0
hoặc R =1.
Q0.0=1 khi Timer đang chạy.
MW100 lưu giá trò đếm của Timer theo dạng Integer
MW102 lưu giá trò của Timer theo dạng BCD
Chức năng của Timer này là tạo thời gian trể giữa tín hiệu ngõ
ra so với ngõ vào kể từ khi ngõ vào S = 1.
Q0.0 =1 khi Timer đã đếm đủ thời gian đặt trước.
Các ô nhớ MW100 và MW102 lưu giá trò hiện thời của Timer theo
dạng Integer và dạng BCD.
Các ô nhớ MW100 và MW102 lưu giá trò hiện thời của Timer theo
dạng Integer và dạng BCD.
4.1.4 Lệnh S_OFFDT:
Tài Liệu Thực Hành PLC S7 300, S7 400 & WinCC cơ bản
Trang 25
Khi S chuyển từ 1 xuống 0, Timer bắt đầu đếm thời gian.
Khi S=1, Q0.0 =1 ,khi S=0, Timer bắt đầu chạy và Q0.0 chỉ tắt khi
đủ thời gian và I0.0 vẫn OFF
Khi có tín hiệu Reset I0.1 thì tất cả tín hiệu đều OFF
4.1.5 Lệnh về cuộn dây của Timer.
Tương tự như các Timer ở trên, S7 300 còn hỗ trợ một số cuộn
day của Timer khác có chức năng tương tự nhưng cách khai
báo và sử dụng đơn giản hơn.
SP: Pulse Timer Coil.
Mô phỏng sự hoạt động của Timer và cho nhận xét.