Cấu tạo cơ bản của loại PLC này là một đơn vị cơ bản chỉ để xử lý sau đó ghép thêm các module mở rộng về phía bên phải, có các module mở rộng tiêu chuẩn... Địa chỉ và gán địa chỉ Trong P
Trang 1PLCSIM 5.3ps1 6.5 Cấu hình cứng
6.6 Ngôn ngữ lập trình
6.7 Lập trình một số lệnh cơ bản
Bài 6: Bộ điều khiển PLC S7-300
Trang 211/10/15 10:50 BMC-K.DIENTU 2
6.1 Giới thiệu về PLC S7-300
6.1.1 Cấu tạo của họ PLC- S7-300
PLC Step 7-300 thuộc họ Simatic do hãng Siemens sản xuất Đây là loại PLC đa khối Cấu tạo cơ bản của loại PLC này là một đơn vị cơ bản (chỉ để xử lý) sau đó ghép thêm các module mở rộng về phía bên phải, có các module mở rộng tiêu chuẩn.
6.1.1.1 Đơn vị cơ bản
Đơn vị cơ bản của PLC S7-300 nh hình sau:
Trang 311/10/15 10:50 BMC-K.DIENTU 3
Trang 411/10/15 10:50 BMC-K.DIENTU 4
Trang 511/10/15 10:50 BMC-K.DIENTU 5
Trang 611/10/15 10:50 BMC-K.DIENTU 6
1 Các đèn báo
+ Đèn SF: báo lỗi CPU.
+ Đèn BAF: Báo nguồn ắc qui.
Trang 711/10/15 10:50 BMC-K.DIENTU 7
+ MRES: Vị trí chỉ định chế độ xoá ch ơng trình trong CPU
Muốn xoá ch ơng trình thì giữ nút bấm về vị trí MRES để đèn STOP nhấp nháy, khi thôi không nhấp nháy thì nhả tay Làm lại nhanh một lần nữa (không để ý đèn STOP) nếu đèn vàng nháy nhiều lần là xong, nếu không thì phải làm lại.
Trang 811/10/15 10:50 BMC-K.DIENTU 8
6.1.2 Các kiểu modul
Tuỳ theo quá trình tự động hoá đòi hỏi số l ợng đầu vào và đầu ra ta phải lắp thêm bao nhiêu module mở rộng cũng nh loại module cho phù hợp Tối đa có thể gá thêm 32 module vào ra trên
4 panen (rãnh), trên mỗi panen ngoài module nguồn, CPU và module ghép nối còn gá đ ợc 8 các module về bên phải Th ờng Step 7-300 sử dụng các module sau:
+ Module nguồn PS (3 loại: 2A,3A,5A) + Module ghép nối IM (Intefare Module):
Trang 1011/10/15 10:50 BMC-K.DIENTU 10
+ Module hàm (Function Module).
- Đếm tốc độ cao.
- Truyền thông CP 340, CP340-1, CP341 + Module điều khiển (Control Module):
- Module điều khiển PID.
- Module điều khiển Fuzzy.
- Module điều khiển rô bot.
- Module điều khiển động cơ b ớc.
- Module điều khiển động cơ Servo.
Trang 1111/10/15 10:50 BMC-K.DIENTU 11
6.1.3 Địa chỉ và gán địa chỉ
Trong PLC có những bộ phận đ ợc gán địa chỉ
đơn nh bộ thời gian (T), bộ đếm (C) chỉ cần một chữ cái đó kèm theo một số là đủ, ví dụ: T1, C32
Các địa chỉ đầu vào và đầu ra cùng với các module chức năng có cách gán địa chỉ giống nhau
Địa chỉ phụ thuộc vào vị trí gá của module trên Panen
Chỗ gá module trên panen gọi là khe (Slot), các khe đều có đánh số, khe số 1 là khe đầu tiên của và
cứ thế tiếp tục
Trang 1211/10/15 10:50 BMC-K.DIENTU 12
, Địa chỉ vào ra trên module số:
Khi gá module số vào, ra lên một khe nào lập tức nó đ ợc mạng địa chỉ byte của khe đó, mỗi khe có 4 byte địa chỉ
Trên mỗi module thì mỗi đầu vào, ra là một kênh, các kênh đều có địa chỉ bit là 0 đến 7 Địa chỉ của mỗi đầu vào, ra là số ghép của địa chỉ byte và địa chỉ kênh, địa chỉ byte đứng tr ớc, địa chỉ kênh đứng sau, giữa hai số có dấu chấm
Khi module gá trên khe thì địa chỉ đ ợc tính
từ byte đầu của khe, các đầu vào và ra của một khe có cùng địa chỉ hình 7.2
Trang 1311/10/15 10:50 BMC-K.DIENTU 13
Địa chỉ byte và địa chỉ kênh nh hình 7.2.
Hình 7.2: Địa chỉ khe và kênh trên module số
Đơn
vị cơ
bản
0.0 1.0 2.0 3.0 0.1 1.1 2.1 3.1 : : : : 0.7 1.7 2.7 3.7
Khe số: 1 2 3 4 5 11
28.1 29.1 30.1 31.1 : : : : 28.7 28.7 30.7 31.7
Trang 1411/10/15 10:50 BMC-K.DIENTU 14
Ví dụ:
Module 2 đầu vào, 2 đầu ra số gá vào khe
số 5 rãnh 0 có địa chỉ là I4.0, I4.1 và Q4.0, Q4.1.
Module số có thể đ ợc gá trên bất kỳ khe nào trên panen của PLC
Trang 1511/10/15 10:50 BMC-K.DIENTU 15
, Địa chỉ vào ra trên module t ơng tự
Trong PLC S7-300 ng ời ta dùng 16 bit (một word) cho một kênh Một khe có 8 kênh với địa chỉ đầu tiên là PIW256 hoặc PQW256 (byte 256
và 257) cho đến PIW766 hoặc PQW766 nh hình 3.45 Module t ơng tự có thể đ ợc gá vào bất kỳ khe nào trên panen của PLC, các khe trống bao giờ cũng có trạng thái tín hiệu 0 “ ”
cũng có trạng thái tín hiệu 0 “ ”
Ví dụ: Một module t ơng tự 2 vào, 1 ra gá vào khe
số 6 rãnh 0 có địa chỉ là PIW288, PIW290, PQW288.
Trang 1611/10/15 10:50 BMC-K.DIENTU 16
H×nh 7.3: §Þa chØ cña module t ¬ng tù
§¬n vÞ c¬ b¶n
256
… 271
Khe sè: 1 2 3 4 5 11
… 383
R·nh 0
384
527
… 639
R·nh 2
640
655
… 767
R·nh 3
Trang 1711/10/15 10:50 BMC-K.DIENTU 17
6.2 Vùng đối t ợng /6.2.1 Các vùng nhớ
TT Tên tham số Diễn giải Vùng tham số
1 I Đầu vào bit 0.0 65535.7
2 IB Đầu vào byte 0 65535
13 PIB Vùng đệm đầu vào dạng byte 0 65535
14 PIW Vùng đệm đầu vào dạng từ 0 65534
15 PID Vùng đệm đầu vào dạng từ kộp 0 65532
Trang 1821 DBX Khèi dữ liÖu kiÓu BD d¹ng bit 0.0 65535.7
22 DBB Khèi dữ liÖu kiÓu BD d¹ng byte 0 65535
23 DBW Khèi dữ liÖu kiÓu BD d¹ng từ 0 65534
24 DBD Khèi dữ liÖu kiÓu BD d¹ng từ kép 0 65532
25 DIX Khèi dữ liÖu kiÓu BI d¹ng bit 0.0 65535.7
26 DIB Khèi dữ liÖu kiÓu BI d¹ng byte 0 65535
27 DIW Khèi dữ liÖu kiÓu BI d¹ng từ 0 65534
28 DID Khèi dữ liÖu kiÓu BI d¹ng từ kép 0 65532
29 L Vïng dữ liÖu t¹m thời d¹ng bit 0.0 65535.7
30 LB Vïng dữ liÖu t¹m thời d¹ng byte 0 65535
31 LW Vïng dữ liÖu t¹m thời d¹ng từ 0 65534
32 LD Vïng dữ liÖu t¹m thời d¹ng từ kép 0 65532
Trang 1911/10/15 10:50 BMC-K.DIENTU 19
6.2.2 NhËp c¸c h»ng sè
C¸c h»ng sè ® îc viÕt gåm phÇn ®Çu vµ tham
sè ®i liÒn nhau vÝ dô B#16#1A lµ sè: (viÕt d¹ng byte, c¬ sè 16, gi¸ trÞ lµ 1A t ¬ng øng c¬ sè thËp ph©n lµ 26)
C¸c sè vÒ thêi gian ® îc viÕt theo c¸c ký hiÖu: D (Date) ngµy_ H (Hours) giê_ M (minuter) phót_ S (seconds) gi©y_ MS (milliseconds) mili gi©y vÝ dô 2D_23H_10M_50S_13MS lµ: (2 ngµy,
23 giê, 10 phót, 50 gi©y, 13 mili gi©y).
C¸c kiÓu viÕt h»ng sè ® îc thÓ hiÖn trªn b ng sau ả
C¸c kiÓu viÕt h»ng sè ® îc thÓ hiÖn trªn b ng sau ả
Trang 2211/10/15 10:50 BMC-K.DIENTU 22
6.3 Giới thiệu phần mềm SIMATIC STEP 7
Trang 2311/10/15 10:50 BMC-K.DIENTU 23
Trang 2411/10/15 10:50 BMC-K.DIENTU 24
Trang 2511/10/15 10:50 BMC-K.DIENTU 25
Trang 2611/10/15 10:50 BMC-K.DIENTU 26
Trang 2711/10/15 10:50 BMC-K.DIENTU 27
Trang 2811/10/15 10:50 BMC-K.DIENTU 28
Trang 2911/10/15 10:50 BMC-K.DIENTU 29
Trang 3011/10/15 10:50 BMC-K.DIENTU 30
Trang 3111/10/15 10:50 BMC-K.DIENTU 31
Trang 3211/10/15 10:50 BMC-K.DIENTU 32
Trang 3311/10/15 10:50 BMC-K.DIENTU 33
Trang 3411/10/15 10:50 BMC-K.DIENTU 34
Trang 3511/10/15 10:50 BMC-K.DIENTU 35
Trang 3611/10/15 10:50 BMC-K.DIENTU 36
Trang 3711/10/15 10:50 BMC-K.DIENTU 37
6.4 Giới thiệu phần mềm SIMATIC STEP 7
PLCSIM 5.3ps1
Trang 3811/10/15 10:50 BMC-K.DIENTU 38
6.5 Cấu hình cứng
Trang 3911/10/15 10:50 BMC-K.DIENTU 39
6.5 Cấu hình cứng
Trang 4011/10/15 10:50 BMC-K.DIENTU 40
6.5 Cấu hình cứng
Trang 4111/10/15 10:50 BMC-K.DIENTU 41
6.5 Cấu hình cứng
Trang 4211/10/15 10:50 BMC-K.DIENTU 42
6.5 Cấu hình cứng
Trang 4311/10/15 10:50 BMC-K.DIENTU 43
6.5 Cấu hình cứng
Trang 4411/10/15 10:50 BMC-K.DIENTU 44
6.5 Cấu hình cứng
Trang 4511/10/15 10:50 BMC-K.DIENTU 45
6.5 Cấu hình cứng
Trang 4611/10/15 10:50 BMC-K.DIENTU 46
6.5 Cấu hình cứng
Trang 4711/10/15 10:50 BMC-K.DIENTU 47
6.5 Cấu hình cứng
Trang 4811/10/15 10:50 BMC-K.DIENTU 48
6.5 Cấu hình cứng
Trang 4911/10/15 10:50 BMC-K.DIENTU 49
6.5 Cấu hình cứng
Trang 5011/10/15 10:50 BMC-K.DIENTU 50
6.5 Cấu hình cứng
Trang 5111/10/15 10:50 BMC-K.DIENTU 51
6.5 Cấu hình cứng
Trang 5211/10/15 10:50 BMC-K.DIENTU 52
6.5 Cấu hình cứng
Trang 5311/10/15 10:50 BMC-K.DIENTU 53
6.6 Ngôn ngữ lập trình
6.6.1 Cấu trúc ch ơng trình S7-300
Các ch ơng trình điều khiển với PLC S7-300
có thể đ ợc viết ở dạng đơn khối hoặc đa khối.
Ch ơng trình đơn khối
Ch ơng trình đơn khối chỉ viết cho các công việc tự động đơn giản, các lệnh đ ợc viết tuần tự trong một khối Khi viết ch ơng trình đơn khối ng ời
ta dùng khối OB1 Bộ PLC quét khối theo ch ơng trình, sau khi quét đến lệnh cuối cùng nó quay trở lại lệnh đầu tiên.
Trang 5411/10/15 10:50 BMC-K.DIENTU 54
Ch ơng trình đa khối (có cấu trúc)
Khi nhiệm vụ tự động hoá phức tạp ng ời ta chia ch ơng trình điều khiển ra thành từng phần riêng gọi là khối Ch ơng trình có thể xếp lồng khối này vào khối kia Ch ơng trình đang thực hiện ở khối này có thể dùng lệnh gọi khối để sang làm việc với khối khác, sau khi đã kết thúc công việc ở khối mới nó quay về thực hiện tiếp ch ơng trình đã tạm dừng ở khối cũ.
Các khối đ ợc xếp thành lớp Mỗi khối có:
+ Đầu khối gồm tên khối, số hiệu khối và xác định chiều dài khối.
Trang 5511/10/15 10:50 BMC-K.DIENTU 55
+ Thân khối:
Thể hiện nội dung khối và đ ợc chia thành
đoạn (Segment) thực hiện từng công đoạn của tự
động hoá sản xuất Mỗi đoạn lại bao gồm một số dòng lệnh phục vụ việc giải bài toán logic Kết quả của phép toán logic đ ợc gửi vào RLO (Result
of logic operation) Việc phân chia ch ơng trình thành các đoạn cũng ảnh h ởng đến RLO Khi bắt
đầu một đoạn mới thì tạo ra một giá trị RLO mới, khác với giá trị RLO của đoạn tr ớc
+ Kết thúc khối:
Phần kết thúc khối là lệnh kết thúc khối BEU
Trang 5611/10/15 10:50 BMC-K.DIENTU 56
C¸c lo¹i khèi:
* Khèi tæ chøc OB (Organisation Block)
Khèi tæ chøc qu¶n lý ch ¬ng tr×nh ®iÒu khiÓn
Trang 5711/10/15 10:50 BMC-K.DIENTU 57
* Khối hàm FB (Function Block)
Khối hàm là loại khối đặc biệt dùng để lập trình các phần ch ơng trình điều khiển tái diễn th ờng xuyên hoặc đặc biệt phức tạp
Có thể gán tham số cho các khối đó và chúng có một nhóm lệnh mở rộng
Ng ời sử dụng có thể tạo ra các khối hàm mới cho mình, có thể sử dụng các khối hàm sẵn có của SIEMENS.
Trang 5811/10/15 10:50 BMC-K.DIENTU 58
* Khối dữ liệu: có hai loại là
+ Khối dữ liệu dùng chung DB (Shared Data Block)
Khối dữ liệu dùng chung l u trữ các dữ liệu chung cần thiết cho việc xử lý ch ơng trình điều khiển.
+ Khối dữ liệu riêng DI (Instance Data Block) Khối dữ liệu dùng riêng l u trữ các dữ liệu riêng cho một ch ơng trình nào đó cho việc xử lý ch ơng trình điều khiển
Ngoài ra trong PLC S7-300 còn hàm hệ thống SFC (System Function) và khối hàm hệ thống SFB (System Function Block).
Trang 59B¶ng lÖnh cña S7 300
A LËp tr×nh víi nhãm lÖnh logic
Trang 6511/10/15 10:50 BMC-K.DIENTU 65
B.> Lập trình với nhóm lệnh thời gian
Ch ơng trình điều khiển sử dụng các lệnh thời gian để theo dõi, kiểm soát và quản lý các hoạt động có liên quan đến thời gian.
Khi một bộ thời gian đ ợc khởi phát thì giá trị thời gian đ ợc nạp vào thanh ghi CV (Current value) Do đó, muốn dùng các lệnh thời gian phải nạp giá trị thời gian cần đặt vào thanh ghi CV tr
ớc khi bộ thời gian hoạt động.
Có thể nạp các kiểu dữ liệu sau dùng cho các lệnh thời gian:
Trang 6611/10/15 10:50 BMC-K.DIENTU 66
+ D÷ liÖu thêi gian thùc: S5T#H_M_S_MS
+ D¹ng sè nguyªn 16 bÝt: W#16# (ë d¹ng m· BCD).
N¹p thêi gian thùc: L S5T#10s
Víi lÖnh trªn gi¸ trÞ thêi gian ® îc n¹p lµ 10s
Trang 67Sè ®Çu chØ m· sè, cã 4 m·: 0 t ¬ng øng 0,01s
Trang 6911/10/15 10:50 BMC-K.DIENTU 69
Trong các bộ thời gian của S7-300 ngoài tín hiệu kích thích chính (bắt đầu) nh các bộ thời gian của các PLC khác, còn có tín hiệu kích thích
c ỡng bức
Tín hiệu kích thích c ỡng bức cho phép tính lại thời gian từ đầu khi có s ờn lên của tín hiệu này Tuy nhiên, tín hiệu kích thích c ỡng bức chỉ có giá trị khi tín hiệu kích thích chính có giá trị 1 Lệnh thực hiện kích thích c ỡng bức (có điều kiện) là: FR, lệnh FR chỉ có ở dạng lập trình STL.
Bộ thời gian cũng có thể dùng lệnh R để xoá
Trang 7011/10/15 10:50 BMC-K.DIENTU 70
1 Bộ thời gian xung SP
Bộ thời gian đ ợc khởi phát lên 1 tại s ời lên của RLO khi RLO là 1 thì bộ thời gian vẫn duy trì trạng thái 1 cho đến khi đạt giá trị đặt mới xuống
Nh ng khi RLO về không thì bộ thời gian về không ngay.
Có hai kiểu lập trình:
Trang 72Nework 3:
A I 0.2
R T 1
H×nh 7.14: D¹ng LAD lÖnh SP kiÓu 2
Trang 7311/10/15 10:50 BMC-K.DIENTU 73
2 Bộ thời gian mở rộng SE
Bộ thời gian xung mở rộng SE đ ợc khởi phát lên 1 tại s ờn lên của RLO sau đó không phụ thuộc RLO nữa cho đến khi đủ thời gian đặt mới về không
Cũng t ơng tự nh bộ thời gian SP, ở các bộ thời gian khác cũng luôn có hai kiểu lập trình.
Trang 7511/10/15 10:50 BMC-K.DIENTU 75
3.Bộ thời gian bắt đầu trễ SD
Thời gian bắt đầu chậm hơn so với s ờn lên của RLO một khoảng bằng thời gian đặt trong lệnh Khi RLO về không thì bộ thời gian cũng bị
đặt ngay về không.
Trang 7711/10/15 10:50 BMC-K.DIENTU 77
4.Bộ thời gian bắt đầu trễ l u trữ SS
Thời gian bắt đầu chậm hơn so với s ờn lên của RLO một khoảng thời gian bằng thời gian đặt trong lệnh và sau đó không phụ thuộc RLO nữa
Nó chỉ về không khi có lệnh xoá R.
Trang 78I0.2 Q1.0
10
Trang 7911/10/15 10:50 BMC-K.DIENTU 79
5.Bộ thời gian tắt trễ SF
Bộ thời gian lên 1 tại s ờn lên của RLO Khi RLO về không thì bộ thời gian tiếp tục duy trì trạng thái một khoảng thời gian nữa bằng khoảng
đã đặt trong lệnh rồi mới về không
Để xoá thời gian dùng lệnh R, khi có lệnh R
từ 0 lên 1 thì bộ thời gian đ ợc đặt về không và trạng thái tín hiệu vẫn giữ 0 cho đến khi bộ thời gian đ ợc khởi phát lại.
Trang 80Q1.0 10
Trang 81Giá trị đầu ra của bộ đếm sẽ là 1 nếu CV ≠
0, bằng 0 nếu CV = 0.
Trang 8211/10/15 10:50 BMC-K.DIENTU 82
Bộ đếm có thể đ ợc xoá chủ động bằng tín hiệu xoá (R).
Cũng t ơng tự nh bộ thời gian, bộ đếm cũng
có thể dùng lệnh kích đếm (đếm c ỡng bức) FR (lệnh có điều kiện), bộ đếm cũng đếm xung khi
điều kiện của FR đảm bảo Lệnh FR chỉ có ở dạng lập trình STL.
Có thể dùng lệnh L hoặc LD để đọc giá trị tức thời của bộ đếm vào ACCU1 để sử lý Lệnh L
đọc số dạng cơ số 2, lệnh LD đọc số dạng BCD.
Trang 84LC để đọc các giá trị đếm.
Trang 85CV 0
0
I0.1 0
2
0 0 Hình 7.20 : Lệnh đếm xuống CD
Trang 8611/10/15 10:50 BMC-K.DIENTU 86
Trong các lệnh trên có: Lệnh L C#4 là nạp
số đếm bằng 4
Nh trên hình 7.20 khi I0.0 có tr ớc, bộ đếm vẫn không làm việc vì khi đó CV = 0, cho đến khi
Trang 87I0.2
2
1 0
I0.1 0
1
3
4
I0.3
Trang 8811/10/15 10:50 BMC-K.DIENTU 88
Từ giản đồ ta thấy: khi đầu vào đếm tiến có lập tức bộ đếm làm việc, giá trị đếm tăng 1 đơn vị,
CV ≠ 0, đầu ra Q1.0 có Tiếp đó đầu vào đếm lùi
có, do đó bộ đếm lại giảm 1 đơn vị (CV = 0) đầu
ra Q1.0 lại mất.
Tuy nhiên, nếu đầu vào đếm lùi có tr ớc thì
bộ đếm không đếm vì khi đó Tiếp đó đầu vào đặt
bộ đếm SET có làm giá trị đếm đ ợc nạp vào CV (),
từ đó nếu có đầu đếm tiến thì giá trị đếm tăng 1
đơn vị, có đầu đếm lùi giá trị đếm giảm 1 đơn vị,
đầu ra Q1.0 có Khi có đầu RESET giá trị đếm lập tức về 0, đầu ra Q1.0 về 0
Trang 8911/10/15 10:50 BMC-K.DIENTU 89
END!