Các đèn trạng thái: Đèn RUN - màu xanh: Chỉ định PLC ở chế độ làm việc và thực hiện chương trình đã được nạp vào bộ nhớ chương trình.. Vùng dữ liệu: được sử dụng để cất các dữ liệu của
Trang 1CHƯƠNG 3
HỆ THỐNG ĐIỀU KHIỂN PLC S7-200
3.1 Cấu trúc phần cứng
3.1.1 Đặc điểm chung
S7-200 là loại PLC cỡ nhỏ của công ty Siemens(Đức)
Cấu trúc S7-200 gồm 1 CPU và các Module mở rộng cho nhiều ứng dụng khác nhau
S7-200 gồm nhiều loại: CPU 212, 214, 215, 216, 221, 222, 224, 224XP, 226, 226XM
Có nhiều nhất 7 Module mở rộng khi có nhu cầu tăng số ngõ vào/ra Digital, ngõ vào/ra Analog, kết nối mạng (AS-I, Profibus)
Mỗi CPU có từ 1 đến 2 vít chỉnh định tương tự, có thể xoay được một góc 270°, dùng để thay đổi giá trị của biến sử dụng trong chương trình
Pin và nguồn nuôi bộ nhớ: Sử dụng tụ vạn năng và Pin Khi năng lượng của
tụ bị cạn kiệt, PLC sẽ tự động chuyển sang sử dụng năng lượng từ Pin
Đèn trạng thái ngõ vào
Loại CPU
Đèn trạng thái ngõ ra Đèn trạng thái PLC
Trang 2Hình 3.1 - Hình dạng và cấu trúc bên ngoài của PLC S7-200 CPU 224
Đặc điểm và thông số của các loại PLC S7-200 khác nhau được giới thiệu trong bảng sau:
Bảng 1 - Thông số của các CPU PLC S7-200
Kích thước (mm) 90x80x62 90x80x62 120.5x80x62 190x80x62
Bộ nhớ chương trình 2048 words 2048 words 4096 words 4096 words
Bộ nhớ dữ liệu 1024 words 1024 words 2560 words 2560 words
Digital I/O cực đại 128/128 128/128 128/128 128/128 Analog I/O cực đại None 16 In/ 16 Out 32 In/ 32 Out 32In/ 32 Out
Lưu trữ khi mất điện 50 giờ 50 giờ 190 giờ 190 giờ
3.1.2 Các đèn trạng thái:
Đèn RUN - màu xanh: Chỉ định PLC ở chế độ làm việc và thực hiện chương trình đã được nạp vào bộ nhớ chương trình
Đèn STOP - màu vàng: Chỉ định PLC ở chế độ STOP, dừng chương trình
Chân cắm ngõ ram ngõ ra
Ngõ
vào
Cổng truyền thông
Công tắm ngõ rac
Cáp kết nối
Trang 3đang thực hiện lại (các đầu ra đều ở chế độ OFF)
Đèn SF - màu đỏ (TERM), đèn báo hiệu hệ thống bị hỏng có nghĩa là lỗi phần cứng hoặc hệ điều hành Ở đây cần phân biệt rõ lỗi hệ thống với lỗi chương trình người dùng, khi lỗi chương trình người dùng thì CPU không thể nhận biết được vì trước khi download xuống CPU, phần mềm lập trình đã làm nhiệm vụ kiểm tra trước khi dịch sang mã máy
Đèn Ix.x - màu xanh: Chỉ định trạng thái ON/OFF của đầu vào số
Đèn Qx.x - màu xanh: Chỉ định trạng thái ON/OFF của đầu vào số
3.1.3 Ngỏ vào
Kiểu đầu vào IEC 1131-2 hoặc SIMATIC
Trạng thái mức logic 1 chuẩn: 24 VDC, 7mA
Trạng thái mức logic 0: tối đa 5 VDC, 1mA
Đáp ứng thời gian lớn nhất ở các chân I0.0 đến I1.5: có thể chỉnh từ 0.2ms đến 8.7ms Thời gian mặc định 0.2ms
Sự cách ly về quang: 500 VAC
Địa chỉ ngỏ vào Ix.x
3.1.4 Ngỏ ra
Kiểu đầu ra Rơle hoặc Transistor cấp dòng điện
Điện áp mức 1: 24.4 đến 28.8 VDC
Dòng tải tối đa 2A/điểm, 8A/common
Điện trở cách ly nhỏ nhất 100MΩ
Thời gian chuyển mạch tối đa 10ms
Thời gian sử dụng: 10 triệu lần với công tắm ngõ rac cơ khí; 100.000 với tốc độ tải Điện trở công tắm ngõ rac: tối đa 200mΩ
Không có chế độ bảo vệ ngắm ngõ ran mạch
3.1.5 Nguồn cung cấp
Điện áp cấp nguồn: 20.4 đến 24.8VDC
Dòng vào Max Load: 900mA tại 24 VDC
Cách ly điện ngỏ vào: không có
Trang 4Thời gian duy trì khi mất nguồn: 10ms ở 24 VDC.
Cầu chì bên trong: 2A, 250VAC
3.1.6 Cổng truyền thông nối tiếp
Port truyền thông nối tiếp sử dụng cổng RS485, 9 chân sử dụng cho việc phối ghép với PC, PG, TD200, TD200C, OP, mạng biến tần, mạng công nghiệp (Hình 3.2)
Tốc độ truyền - nhận dữ liệu theo kiểu PPI ở tốc độ chuẩn là 9600 Baud Tốc độ truyền - nhận dữ liệu theo kiểu Freeport (tự do) là 300 ÷ 38400 Baud
1 5
Chân Chức năng
3 Tín hiệu A của RS485
(RxD/TxD+)
4 RTS ( theo mức TTL)
7 Nguồn cấp 24 VDC 120mA Max
8 Tín hiệu B của RS485 (RxD/TxD)
9 Chọn lựa cách giao tiếp
Hình 3.2 - Sơ đồ chân của port RS485
Để ghép nối S7-200 với các máy tính PC qua cổng RS232 cần có cáp nối PC/PPI với bộ chuyển đổi sang RS485, theo hình sau:
Hình 3.3 - Chuyển đổi RS232 sang RS485
Chuyển đổi
RS232- RS485
Trang 53.1.7 Công tắc chọn chế độ làm việc
Công tắm ngõ rac chọn chế độ RUN: Cho phép PLC thực hiện chương trình, khi chương trình gặp lỗi hoặc gặp lệnh STOP thì PLC sẽ tự động chuyển sang chế độ STOP mặc dù công tắm ngõ rac vẫn ở chế độ RUN (chú ý: nên quan sát đèn trạng thái)
Công tắm ngõ rac chọn chế độ STOP: Khi chuyển sang chế độ STOP, dừng cưỡng bức chương trình đang chạy, các tín hiệu ra lúc này đều về OFF
Công tắm ngõ rac chọn chế độ TERM: cho phép người vận hành chọn một trong hai chế độ RUN/STOP từ xa, ngoài ra ở chế độ này được dùng để Download chương trình người dùng
3.1.8 Giao tiếp với thiết bị ngoại vi
Thiết bị lập trình loại PGxx được trang bị sẵn phần mềm lập trình, chỉ lập trình được với ngôn ngữ STL
Máy tính PC: Hệ điều hành Win 95/98/ME/2000/NT4.x
Trên đó có cài đặt phần mềm Step7 Micro/Win 32 và Step7 Micro/Dos Hiện nay hầu hết sử dụng Step7 Mcro/Win 32 Version 3.0, 3.2, 4.0 V4.0 cho phép người lập trình có thể xem được giá trị, trạng thái cũng như đồ thị của các biến Nhưng chỉ sử dụng được trên máy tính có cài đặt hệ điều hành Window 2000/ WinNT và PLC loại Version mới nhất hiện nay
3.2 Cấu trúc bộ nhớ S7-200
3.2.1 Phân chia bộ nhớ
Bộ nhớ được chia làm 4 vùng cơ bản, hầu hết các vùng nhớ đều có khả năng đọc/ghi chỉ trừ vùng nhớ đặc biệt SM (Special Memory) là vùng nhớ có số chỉ đọc
Vùng nhớ chương trình: Là miền bộ nhớ được dùng để lưu giữ các lệnh chương trình Vùng này thuộc kiểu Non-Valatie đọc/ghi được
Vùng nhớ tham số: Là miền lưu giữ các tham số như từ khoá, địa chỉ trạm cũng giống như vùng chương trình, vùng này thuộc kiểu (Non-Valatile) đọc/ghi
Trang 6được
Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm kết quả của các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyền thông
Vùng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương
tự được đặt trong vùng nhớ cuối cùng Vùng này không thuộc kiểu Non-Valatile nhưng đọc/ghi được
Hai vùng nhớ cuối cùng có ý nghĩa quan trọng trong việc thực hiện một chương trình Do vậy sẽ được trình bày chi tiết ở mục tiếp theo
Chương trình Tham số
Dữ liệu Vùng đối tượng
Chương trình Tham số
Chương trình Tham số
Tụ duy trì
khi mất điện
EEPROM Miền nhớ ngoài
Hình 3.4 - Cấu trúc bộ nhớ S7-200
3.2.2 Vùng nhớ dữ liệu
Vùng nhớ dữ liệu là vùng nhớ động, nó có thể truy cập theo từng bit, byte, từ đơn (Worrd), từ kép (Double Word) và cũng có thể truy nhập được với mảng dữ liệu Nó được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ
3.2.2.1 Vùng nhớ dữ liệu bao gồm 5 miền nhỏ
Miền I (Input Image Register): thanh ghi đệm, lưu các giá trị ngõ vào khi PLC hoạt động
Miền Q (Output Image Register): thanh ghi đệm, chứa các kết quả
Trang 7chương trình để điều khiển ngỏ ra.
Miền V (Variable Memory): lưu các kết quả trung gian khi thực hiện chương trình
Miền M (Internal Memory bits): được sử dụng như các Rơle điều khiển để lưu trạng thái trung gian của 1 hoạt động hoặc các thông tin điều khiển khác (byte, Word, Dword)
Miền SM (Special Memory bits): chứa các bit để lựa chọn và điều khiển các chức năng đặc biệt của CPU (byte, Word, Dword)
Bảng 2 - Phân chia và toán hạng vùng dữ liệu
Vùng
V2047.7 V0.0 – V2047.7 V0.0 – V5119.7 V0.0 – V5119.7
I I0.0 – I15.7 I0.0 – I15.7 I0.0 – I15.7 I0.0 – I15.7
Q Q0.0 – Q15.7 Q0.0 – Q15.7 Q0.0 – Q15.7 Q0.0 – Q15.7
M31.7 M0.0 – M31.7 M0.0 – M31.7 M0.0 – M31.7
SM SM0.0 –
SM179.7 SM0.0 – SM179.7 SM0.0 – SM179.7 SM0.0 – SM179.7
S S0.0 – S31.7 S0.0 – S31.7 S0.0 – S31.7 S0.0 – S31.7
L L0.0 – V63.7 L0.0 – V63.7 L0.0 – V63.7 L0.0 – V63.7
3.2.2.2 Địa chỉ truy nhập được qui ước với công thức
* Truy nhập theo bit:
Tên miền + địa chỉ byte.chỉ số bit
Ví dụ: V150.4 là địa chỉ bit số 4 của byte 150 thuộc miền V
* Truy nhập theo byte:
Tên miền + B và địa chỉ byte
Ví dụ: VB150 là địa chỉ byte 150 thuộc miền V
* Truy nhập theo từ (Word):
Tên miền + W và địa chỉ byte cao của từ
Trang 8Ví dụ: VW150 là địa chỉ từ đơn gồm hai byte 150 và 151 thuộc miền V, trong đó byte 150 có vai trò byte cao của từ
* Truy nhập theo từ kép :
Tên miền + D và địa chỉ byte cao của từ
Ví dụ: VD150 là địa chỉ từ kép gồm bốn byte 150, 151, 152 và 153 thuộc miền V, trong đó byte 150 có vai trò byte cao, 153 có vai trò là byte thấp của từ kép
Tất cả các byte thuộc vùng dữ liệu đều có thể truy nhập bằng con trỏ Con trỏ được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2, AC3 Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kép) Qui ước sử dụng con trỏ để truy nhập như sau:
& + địa chỉ byte cao
Ví dụ: + AC1 = &VB150 là thanh ghi AC1 chứa địa chỉ byte 150 thuộc miền V
1 + VD100 = &VW150 là từ kép VD100 chứa địa chỉ byte cao của từ đơn VW150 thuộc miền V
2 + AC2 = &VD150 là thanh ghi AC2 chứa địa chỉ byte cao 150 của từ kép VD150 thuộc miền V
Toán hạng * (con trỏ): là lấy nội dung của byte, từ hoặc từ kép mà con trỏ
đang chỉ vào Với các địa chỉ đã xác định trên ta có các ví dụ:
Ví dụ: + Lấy nội dung của byte VB150 là: *AC1
+ Lấy nội dung của từ đơn VW150 là: *VD100
+ Lấy nội dung của từ kép VD150 là: *AC2
3.2.3 Vùng đối tượng
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của Counter hay Timer Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Counter, Timer, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi AC (Accumulator)
Timer (bộ định thì): đọc/ ghi T T127
Counter (bộ đếm): đọc/ ghi C C127
Bộ đệm vào Analog (đọc): AIWO AIW3O
Bộ đệm ra Analog (ghi): AQWO AQW3O
Trang 9 Accumulator (thanh ghi): ACO AC3
Bộ đếm tốc độ cao: HSCO HSC2
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng
từ đơn (Word – 2byte), từ kép (Double Word)
Bảng 3 - Phân chia và toán hạng vùng đối tượng
Vùng dữ
Timer T0 – T255 T0 – T255 T0 – T255 T0 – T255
Counter C0 – C255 C0 – C255 C0 – C255 C0 – C255
Analog
Input None AIW0 – AIW30 AIW0 – AIW62 AIW0 – AIW62 Analog
AQW30 AQW0 – AQW62 AQW0 – AQW62 Thanh ghi
Bộ đếm
tốc độ cao HC0,HC3,
HC4,HC5 HC0,HC3,HC4,HC5 HC0,HC3,HC4, HC5 HC0,HC3,HC4, HC5
3.2.4 Mở rộng cổng vào/ra
Khi chương trình lớn đòi hỏi số lượng ngõ vào, ra lớn hơn số lượng của CPU hiện hành ta có thể mở rộng cổng vào/ra bằng cách ghép thêm vào các Module
mở rộng để đáp ứng yêu cầu của chương trình Số Module mở rộng tuỳ thuộc vào từng loại CPU Các Module mở rộng được mắm ngõ rac nối tiếp (theo một móc xích) về phía bên phải của Module CPU Đối với CPU 224 có thể ghép nối nhiều nhất 5 Module theo bảng 4:
Bảng 4 - Các Module mở rộng của CPU 224
(4vào/4ra) MODUL 1(8 vào) (3vào AnalogMODUL 2
/1ra Analog)
MODUL 3 (8 ra) (3vàoAnalogMODUL 4
/1ra Analog) I0.0 Q0.0
I0.1 Q0.1
I0.2 Q0.2
I0.3 Q0.3
I0.4 Q0.4
I0.5 Q0.5
I0.6 Q0.6
I0.7 Q0.7
I2.0 I2.1 I2.2 I2.3
Q2.0 Q2.1 Q2.2
I3.0 I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7
AIW0 AIW2 AIW4 AQW0
Q3.0 Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7
AIW8 AIW10 AIW12 AQW4
Trang 10I1.1 Q1.0
I1.2 Q1.1
I1.3
I1.4
I1.5
Q2.3
3.2.5 Phương thức truy cập bộ nhớ [4]
Theo Bit: tên miền + địa chỉ byte + ‘.’+ chỉ số bit
M0.0, I2.5, Q1.0, …
Theo Byte: tên miền + B + địa chỉ byte
VB5, IB2, QB0, …(VB5=V5.0 V5.1 …V5.7)
Theo Word: tên miền + W + địa chỉ byte cao của Word
VW0, QW1, IW2, …(VW0=VB0 VB1)
Trang 11Theo Double Word: tên miền + D + địa chỉ Word cao của Double Word VD0, QD2, ID1, …
(VD0 = VW0 VW2 = VB0 VB1 VB2 VB3)
3.3 Cấu trúc chương trình của S7 – 200
Có thể lập trình cho S7 – 200 bằng cách sử dụng một trong những phần mềm sau đây:
- STEP 7 – Micro/DOS
- STEP 7 – Micro/WIN
Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx và các máy tính cá nhân (PC)
Các chương trình cho S7 – 200 phải có cấu trúc bao gồm chương trình chính
Trang 12(Main Program) và sau đó đến các chương trình con và các chương trình xử lý ngắm ngõ rat được chỉ ra sau đây:
Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND) Chương trình con là một bộ phận của chương trình Các chương trình con phải được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND
Các chương trình xử lý ngắm ngõ rat là một bộ phận của chương trình Nếu cần sử dụng chương trình xử lý ngắm ngõ rat phải viết sau lệnh kết thúc chương trình chính MEND
Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình chính Sau đó đến các chương trình xử lý ngắm ngõ rat Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này
Có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắm ngõ rat phía sau chương trình chính
Main Program
MEND
Thực hiện trong một vòng quét
SBR 0 chương trình con thứ nhất
RET
Thực hiện khi được chương trình chính gọi
SBR n chương trình con thứ n+1
Trang 13Hình 3.5 - Cấu trúc chương trình của S7 – 200 3.4 Nguyên lý hoạt động
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp được gọi là một vòng quét (Scan) Mỗi vòng quét được bắm ngõ rat đầu bằng gian đoạn đọc dữ liệu từ các cổng vào vùng đệm ảo, tiếp theo là giai đoạn thực hiện chương trình Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc bằng lệnh kết thúc (MEND) Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội
bộ và kiểm tra lỗi Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của
bộ đệm ảo tới các cổng ra
Hình 3.6 - Chương trình thực hiện theo vòng quét (Scan) trong S7 – 200.
Như vậy, tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 4 do CPU quản lý Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắm ngõ rat, để thực hiện lệnh này một cách trực tiếp với cổng vào/ra
4 Chuyển dữ liệu từ bộ
đệm ảo ra ngoại vi
3 Truyền thông và tự
kiểm tra lỗi
1 Nhập dữ liệu từ ngoại
vi vào bộ đệm ảo
2 Thực hiện chương trình
INT n chương trình xử lý ngắm ngõ rat thứ n+1
RET
INT 0 chương trình xử lý ngắm ngõ rat thứ nhất
RET
Thực hiện khi có tín hiệu báo ngắm ngõ rat
Trang 14Nếu sử dụng các chế độ xử lý ngắm ngõ rat, chương trình con tương ứng với từng tín hiệu ngắm ngõ rat được soạn thảo và cài đặt như một bộ phận của chương trình Chương trình xử lý ngắm ngõ rat chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắm ngõ rat
và có thể xảy ra ở bất cứ điểm nào trong vòng quét
Thường việc thực thi một vòng quét xảy ra với một thời gian rất ngắm ngõ ran, một vòng quét đơn (Single Scan) có thời gian thực hiện từ 1ms tới 100ms Việc thực hiện một chu kỳ quét dài hay ngắm ngõ ran còn phụ thuộc vào độ dài của chương trình và cả mức độ giao tiếp giữa PLC với các thiết bị ngoại vi (màn hình hiển thị…) Vi xử lý
có thể đọc được tín hiệu ở ngõ vào chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơn một chu kỳ quét thì vi xử lý coi như không có tín hiệu này Tuy nhiên trong thực tế sản xuất, thường các hệ thống chấp hành “là các hệ thống cơ khí nên
có tốc độ quét như trên có thể đáp ứng được các chức năng của dây chuyền sản xuất Để khắm ngõ rac phục thời gian quét dài, ảnh hưởng đến chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập nhật tức thời, các hệ thống này thường được
áp dụng cho các PLC lớn có số lượng I/O nhiều, truy cập và xử lý lượng thông tin lớn
3.5 Ngôn ngữ lập trình
Ngôn ngữ lập trình là cách sử dụng lệnh để viết chương trình cho PLC
Có 2 vấn đề cần quan tâm khi viết chương trình cho PLC S7-200:
Chọn loại tập lệnh nào: SIMATIC hay IEC
Chọn ngôn ngữ lập trình nào: STL, LAD, FBD
Cách lập trình cho S7-200 nói riêng và cho các PLC của Siemens nói chung dựa trên ba phương pháp lập trình cơ bản: Phương pháp hình thang (Ladder Logic