2.7.1. Cơ chế hoạt động.
Khi chương trình được nạp văo PLC chúng được đặt trong 1 vùng nhớ riíng được gọi lă bộ nhớ chương trình.
Bộ xử lý có thanh ghi bộ đếm lệnh dùng để trỏ đến lệnh kế tiếp sẽ được thi hănh khi CPU thực thi 1 lệnh năo đó. Khi 1 lệnh được lấy từ CPU thì nó được đặt văo thanh ghi lệnh để giải mê thănh câc vi lệnh bín trong CPU.
Ram ngõ Văo NgõlogicX00X 10X21 RAM ngõ ra NgõlogicY00Y 10Y21 X00o X001 Khối ngõ văo y000 y001 y002 Khối ngõí ra Chương trình điều khiển Ram hay EEPROM BướcLệnh 000LDX000001A NDX001002OUT Y000 --N ENDThực hiện sao chĩp và trở về đầu chương trình Hệ thống bus Trạng thâi ngõ văo được lưu văo Ram Trạng thâi ngõ ra được lưu văo khối
ngõ ra CPU ALUThanh Ghi Thanh ghi lệnh LD X000Bộ đệm lệnh 000 Ngõ văo Ngõ ra
Khi PLC được sử dụng đặt sang chế độ chạy chương trình (Run model) thì bộ đếm lệnh chỉ đến 0000, vị trí lệnh đầu tiín như hình vẽ trín. Bộ vi xử lý lấy lệnh ra giải mê vă thi hănh lệnh, trường hợp năy lă LDx000. Bộ vi xử lý kiểm tra phần tử đầu tiín của mạch logic, công tắc thường mở vă ngõ văo x000. Trạng thâi của ngõ văo được giữ trong cổng đệm của ngõ văo. Vì vậy CPU sẽ quĩt bộ nhớ RAM vă ghi trạng thâi x000 văo bộ nhớ tạm. Sau đó bộ đếm chương trình sẽ tự động tăng giâ trị lín 1 để chỉ đếm lệnh kế tiếp ANDx001 vă thực thi lệnh năy. Bộ xử lý lại tiếp tục quĩt Ram ngõ văo để biết trạng thâi x001 thực hiện lệnh logic AND cho x000 vă x001 vă lưu kết quả tạm thời. Kế tiếp bộ đếm chương trình tăng lín đến giâ trị x003, lệnh OUT y000 được thi hănh vă CPU chuyển kết quả logic của tâc vụ trước đó, tâc vụ x000 vă x001 văo Ram cho ngõ ra y000. Hoạt động năy cứ tiếp tục như thế cho đến khi toăn bộ chương trình được đặc lại giâ trị 0000, chương trình được thi hănh tức lă gặp lệnh END vă bộ đếm chương trình đặt lại giâ trị 0000, chương trình được thi hănh (quĩt) lại từ đầu, nghĩa lă theo chu kì liín tục.
Bộ đếm chương trình có thể tăng 1 khoảng giâ trị (không tăng lín 1 như thường lệ) do lập trình bằng lệnh nhảy (lệnh JMP) vì thế đoạn chương trình sẽ không được xử lý.
2.7.2. Phương phâp xử lý:
-Có 2 phương phâp xử lý tín hiệu văo/ra trín PLC: + Cập nhật liín tục.
+ Xử lý 1 khối.
2.7.2.1 Phương phâp cập nhật liín tục:
Trong phương phâp năy, CPU phải mất 1 khoảng thời gian để đọc trạng thâi của câc ngõ văo sẽ được xử lý. Khoảng thời gian trín thường lă 3ms, nhằm trânh tâc động xung nhiễu gđy ra bởi công tắc ngõ văo. Câc ngõ ra được kích trực tiếp (nếu có) theo sau tâc vụ kiểm tra logic. Trạng thâi câc ngõ ra được chốt trong khối ngõ ra, nín trạng thâi của chúng được duy trì đến lần cập nhật kế tiếp.
Bắt đầu theo thứ tự Lấy Lệnh Giải Mê Vă Thực Hiện Lệnh Đầu Tiín Kiểm Tra Trạng Thâi Câc Công Tắc Ngõ Văo Chuyển Sang Lệnh Kế Tiếp Kiểm Tra Trạng Thâi Ngõ Ra Chuyển Sang Lệnh Kế Tiếp Cập Nhật 2 Kích Hoạt Ngõ Ra V.V... ≈5µs 3ms 5µs 3ms 5µs 3ms
2.7.2.2. Phương phâp xử lý 1 khối:
Trường hợp câc PLC loại lớn có hăng trăm ngõ văo ra, vì CPU chỉ xử lý xung lệnh trong chương trình. Trạng thâi của từng ngõ văo được kiểm tra riíng biệt để xâc định sự ảnh hưởng của nó lín chương trình, theo trín khi khoảng thời gian để thực hiện tâc vụ năy lă 3ms vă tổng thời gian quĩt toăn bộ chương trình gọi lă chu kì quĩt hay thời gian quĩt sẽ tăng tỉ lệ thuận khi số ngõ văo tăng
Bắt đầu theo thứ tự
Lưu tất cả câc trạng Thâi ngõ văo bộ Nhớ RAM
Lấy lệnh giải mê vă Thực hiện lệnh
Lưu tất cả câc trạng Thâi ngõ văo trong bộ Nhớ RAM văo khối Ngõ ra vă trạng thâi câc ngõ văo trong bộ nhớ RAM. Thời gian phụ thuộc
Văo độ lớn toăn bộ chương trình (1 bước mất khoảng 5ms)
Mất khoảng thời gian cố định 5ms
Thời gian quĩt ngõ văo vă đâp ứng
Để sự thực thi chương trình được nhanh hơn, việc cập nhật trạng thâi ngõ văo vă ngõ ra có thể được thực hiện tại 1 thời điểm đặc biệt năo đó trong quâ trình xử lý chương trình. Ở đđy 1 vùng nhớ RAM được dùng như vùng nhớ đệm giữa CPU với khối ngõ văo ra. Từng ngõ văo vă ra được cấp phât 1 ô nhớ trong vùng RAM năy. Trong khi lưu trạng thâi câc ngõ văo/ra văo RAM, CPU quĩt khối ngõ văo vă lưu trạng thâi của chúng văo RAM, tâc vụ năy được thực hiện văo đầu vă cuối chu kì quĩt chương trình.
Khi chương trình được thực hiện, trạng thâi của câc ngõ văo đê lưu trong RAM được đọc ra câc tâc vụ logic được thực hiện theo câc trạng thâi trín, vă kết quả trạng thâi của câc ngõ ra được lưu văo RAM ngõ ra. Sau đó văo cuối chu kì quĩt, quâ trình cập nhật trạng thâi văo/ra chuyển tất cả tín hiệu ngõ ra từ RAM văo khối ngõ ra tương ứng, kích câc ngõ ra trín khối văo/ra. Khối ngõ ra được chốt, nín chúng vẫn duy trì trạng thâi cho đến khi chúng được cập nhật ở chu kì quĩt kế tiếp.
Tâc vụ cập nhật trạng thâi văo ra trín được thực hiện bởi CPU bằng một đoạn chương trình con được lập sẵn bởi nhă sản suất. Như vậy chương trình con sẽ được thực hiện văo cuối chu kì quĩt hiện hănh vă đầu chu kì quĩt kế tiếp. Lúc đó trạng thâi của câc ngõ văo/ra được cập nhật.
Thời gian cập nhật tất cả câc ngõ văo ra phụ thuộc văo tổng số ngõ văo/ra sử dụng nhưng nó thường lă văi ms. Thời gian thực thi chương trình chu kì quĩt phụ thuộc văo độ lớn của chương trình điều khiển.
2.8 THIẾT BỊ ĐIỀU KHIỂN LOGIC KHẢ TRÌNH S7 - 200.
2.8.1 Cấu hình cứng.
Như trín đê nói PLC (Programmable Logic Control), lă thiết bị điều khiển logic lập trình được, hay khả trình, cho phĩp thực hiện linh hoạt câc thuật toân điều khiển logic thông qua một ngôn ngữ lập trình.
2.8.1.1 CPU 226: * Hình ảnh thực tế -Nguồn cung cấp: 24 DC - Ngõ văo số: 24 DI DC - Ngõ ra số : 16 DO Relay - Bộ nhớ chương trình: 24KB -Bộ nhớ dữ liệu: 10KB 2 PPI/FREEPORT PORTS - Điều khiển PID: Có
- Phần mềm: Step 7 Micro/WIN. - Thời gian xử lý 1024 lệnh nhị phđn : 0.37ms. - Bit memory/Counter/Timer : 256/256/256. - Bộ đếm tốc độ cao: 6 x 60 Khz. - Bộ đếm lín/xuống: có - Ngắt phần cứng: 4.
- Số đầu văo/ra có sẵn: 24 DI / 16DO.
- Số đầu văo / ra số cực đại ( nhờ lắp ghĩp thím Modul số mở rộng: DI/DO/MAX: 128 / 120 / 248
-Số đầu văo / ra tương tự ( nhờ lắp ghĩp thím Modul Analog mở rộng: AI/AO/MAX: 28 / 7/ 35 hoặc 0 / 14 / 14.
-Kích thước: Rộng x Cao x sđu : 196 x 80 x 62.
* Mô tả câc đỉn bâo trín S7 - 200, CPU226:
SF (đỉn đỏ ): Bâo hiệu hệ thống bị hỏng . Đỉn SF sâng lín khi PLC có hỏng hóc
RUN ( đỉn xanh): Chỉ định PLC đang ở chế độ lăm việc vă thực hiện chương trình được nạp văo trong mây.
STOP (đỉn văng ): Chỉ định PLC đang ở chế độ dừng. Dừng chương trình đang thực hiện lại.
Ix.x (Đỉn xanh) :Đỉn xanh ở cổng văo chỉ định trạng thâi tức thời của cổng Ix.x (x.x =0.0 đến 1.5).Đỉn năy bâo hiệu trạng thâi của tín hiệu theo giâ trị lôgic của cổng.
Qy.y (Đỉn xanh ): Đỉn xanh ở cổng ra bâo hiệu trạng thâi tức thời của cổng.
Qy.y (y.y = 0.0 đến 0.1 ). Đỉn năy bâo hiệu trạng thâi của tín hiệu theo giâ trị logic của cổng.
2.8.1.2. Cổng truyền thông.
S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chđn để phục vụ cho việc ghĩp nối thiết bị lập trình hoặc với câc trạm PLC khâc. Tốc độ truyền cho mây lập trình kiểu PPI lă 9600 baud. Tốc độ truyền cung cấp của PLC theo kiểu tự do lă từ 300 đến 38.400.
Chđn Giải thích
1. Đất
2. 24 V DC
3. Truyền vă nhận dữ liệu 4. Không sử dụng
5. Đất
6. 5V DC(Điện trở trong 100Ω) 7. 24 V DC (tối đa 120Ma) 8. Truyền vă nhận dữ liệu 9. Không sử dụng
Hình 2.8.1: Sơ đồ chđn của cổng truyền thông
Để ghĩp nối S7-200 với mây lập trình PG702 hoặc với câc loại mây lập trình thuộc họ PG7xx có thể sử dụng 1 câp nối thẳng qua MPI. Câp năy đi kỉm theo mây lập trình.
Ghĩp nối S7-200 với mây tính PC qua cổng RS-232 cần có câp nối PC/PPI với bộ chuyển đổi RS232/485.
2.8.1.3. Công tắc chọn chế độ lăm việc cho PLC.
Công tắc chọn chế độ lăm việc nằm phía trín bín cạnh câc cổng ra của S7- 200. Có 3 vị trí cho phĩp chọn.
RUN cho phĩp PLC thực hiện chương trình trong bộ nhớ. PLC S7 - 200 sẽ rời khỏi chế độ RUN sang chế độ STOP nếu trong mây có sự cố hoặc chương trình gặp lệnh STOP. STOP cưỡng bức PLC dừng công việc thực hiện chương trình đang chạy vă chuyển sang chế độ STOP. Ở chế độ STOP, PLC cho phĩp hiệu chỉnh lại chương trình hoặc nạp 1 chương trình mới.
TERM cho phĩp mây lập trình tự quyết định 1 trong câc chế độ lăm việc của PLC (RUN/STOP).
2.8.1.4.Chỉnh định tương tự.
Điều chỉnh tương tự: cho phĩp điều chỉnh câc biến cần phải thay đổi trong chương trình.
2.8.1.5. Nguồn nuôi bộ nhớ vă nguồn pin
Nguồn nuôi dùng để ghi trong chương trình hoặc nạp 1 chương trình mới.
Nguồn pin có thể sử dụng để mở rộng thời gian lưu trữ cho câc dữ liệu trong bộ nhớ. Nguồn pin tự động chuyển trạng thâi tích cực nếu như tụ nhớ cạn kiệt vă nó phải thay thế văo vị trí đó để dữ liệu trong bộ không bị mất đi.
2.8.2. Cấu trúc bộ nhớ :
5 4 3 2 1
2.8.2.1. Phđn chia bộ nhớ:
Bộ nhớ của S7 - 200 chia thănh 4 phần với 1 tụ có nhiệm vụ duy trì dữ liệu trong 1 khoảng thời gian nhất định khi mất nguồn nuôi. Bộ nhớ S7 – 200 có tính năng động cao, đọc vă ghi trong toăn vùng nhớ.
_ Vùng chương trình: lă miền nhớ được sử dụng để lưu trữ câc lệnh chương trình (có thể đọc/ghi được).
− Vùng tham số: lă miền lưu giữ câc tham số như từ khoâ, địa chỉ trạm (cũng có thể đọc ghi/được).
− Vùng dữ liệu: được dùng để cất câc dữ liệu của chương trình bao gồm câc kết quả phĩp tí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. Vùng năy không thuộc kiểu đọc/ghi được.
− Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện chương trình, do vậy sẽ được trình băy chi tiết tiếp theo sau đđy.
2.8.2.2. Vùng dữ liệu:
− Vùng dữ liệu lă 1 miền nhớ động. Nó có thể truy nhập theo từng bit, từng byte, từng từ đơn (word) hoặc theo từng từ kĩp. Được sử dụng lăm miền lưu trữ dữ liệu cho câc thuật toân, hăm truyền thông, lập bảng...
− Ghi câc dữ liệu kiểu bảng bị hạn chế rất nhiều vì dữ liệu kiểu bảng thường chỉ sử dụng theo những mục đích riíng.
− Vùng dữ liệu được chia thănh những vùng nhớ nhỏ, được ký hiệu như sau: Chương trình Tham số Dữ liệu Vùng đối tượng Tham số Dữ liệu Tham số Dữ liệu Chương trình Chương trình Tụ
Hình 2.4: Bộ nhớ trong vă ngoăi của S7-200
• V - Variable memory {miền nhớ có thể thay đổi(đọc/ghi) được}
• I - Input image register (vùng đệm cổng văo)
• O - Ouput image register (vùng đệm cổng ra)
• M - Internal memory bits (vùng nhớ nội)
• SM - Special memory bits.(vùng nhớ đặc biệt(đọc/ghi)}
Tất cả câc miền năy đều được truy nhập theo từng bit, từng byte, từng từ đơn, từng từ kĩp.
* Hình sau đđy mô tả vùng dữ liệu của CPU212 vă CPU214.
CPU212 CPU214 7 6 5 4 3 2 1 7 6 5 4 3 2 1 I0.x(x= 0÷7) I0.x(x= 0÷7) : : I7.x (x= 0÷7) I7.x (x= 0÷7) Q0.x(x= 0÷7) Q0.x(x= 0÷7) : : Q7.x (x= 0÷7) Q7.x (x= 0÷7) M0.x(x= 0÷7) M0.x(x= 0÷7) : : M115.x (x= 0÷7) M31.x (x= 0÷7) SM0.x(x= 0÷7) SM0.x(x= 0÷7) : : SM29.x (x= 0÷7) SM29.x (x= 0÷7) SM130.x(x= 0÷7) SM30.x(x= 0÷7) : : SM45.x (x= 0÷7) SM85.x(x= 0÷7) Địa chỉ truy nhập được quy ước theo công thức :
− Truy nhập theo bít :Tín miền + địa chỉ byte + . + chỉ số bít. Vd :V150.4 chỉ bit 4 của byte 150 thuộc miền V.
− Truy nhập theo byte : Tín miền + B + địa chỉ của byte trong miền . Vd : VB150 chỉ byte 150 thuộc miền V .
− Truy nhập theo từ Tín miền + W + địa chỉ của bytecao của từ trong miền.
V0 V0 : : V1023 V4095 Miền V (Đọc/ghi) Vùng đệm cổng văo(I) (Đọc/ghi) Vùng đệm cổng văo (Q) (đọc/ghi). Vùng nhớ nội (M) ( Đọc/Ghi). Vùng nhớ đặc biệt (đọc/ghi) Vùng nhớ đặc biệt SM (chỉ đọc)
Vd: VW150 chỉ từ đơn gồm hai byte 150 va 151 thuộc miền V. Trong đó byte 150 đóng vai trò la byte cao trong từ.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 VW150
Truy cập theo từ kĩp : Tín miền + D + địa chỉ byte cao của từ trong miền. Vd:VD150 chỉ từ kĩp gồm 4 byte 150,151,152 vă 153 thuộc miền V.
Bit 63 32 31 16 15 8 7 0
VB150(Byte cao) VB151 VB152 VB153(Byte thấp)
Tất cả câc byte thuộc vùng dữ liệu đều có thể truy nhập được bằng con trỏ. Con trỏ được định nghĩa trong miền V hoặc của thanh ghi AC1, AC2, AC3. Mỗi con trỏ chỉ địa chỉ gồm 4 byte. Phĩp gân địa chỉ vă sử dụng con trỏ như trín cũng có tâc dụng với những thanh ghi 16 bit của timer, bộ đếm thuộc vùng đối tượng sẽ được trình băy dưới đđy.
2.8.2.3. Vùng đối tượng:
Vùng đối tượng được sử dụng để lưu trữ dữ liệu cho câc đối tượng lập trình. Dữ liệu kiểu đối tượng bao gồm câc thanh ghi, timer, bộ đệm, câc bộ đệm tốc độ cao, bộ đệm văo/ra tương tự vă câc thanh ghi Accumulator (AC).
Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì câc dữ liệu kiểu đối tượng chỉ được ghi theo mục đích cần sử dụng đối tượng đó.
2.8.3. Thực hiện chương trình:
PLC thực hiện chương trình theo trình tự lặp. Mỗi vòng lặp được gọi lă vòng quĩt (Scan). Mỗi vòng quĩt được bắt đầu bằng giai đoạn đọc dữ liệu từ câc cổng văo vùng bộ đệ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 2.8.3 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 trực tiếp với cổng văo/ra 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
VB150 (byte cao) VB151 ( byte thấp )
4)Chuyển dữ liệu từ bộ đệm ảo ra ngoại vi 1) Nhập dữ liệu từ ngoại vi văo bộ đệm ảo 2) Thực hiện chương trình 3)Truyền thông vă tự kiểm tra lỗi VD150
lệnh văo/ra ngay lập tức thì hệ thống sẽ dừng mọi công việc khâc ngay cả chương trình xử lý ngắt, để thực hiện lệnh năy 1 câch trực tiếp với cổng văo/ra.
Nếu sử dụng câc chế độ ngắt, chương trình con tương ứng với từng tín hiệu ngắt được soạn thảo vă căi đặt như 1 bộ phận cuả chương trình, chương trình xử lý ngắt chỉ được thực hiện trong vòng quĩt khi xuất hiện tín hiệu bâo ngắt vă có thể xảy ra ở bất cứ điểm năo trong vòng quĩt.
2.9 NGÔN NGỮ LẬP TRÌNH CỦA S7-200 2.9.1Phương phâp lập trình:
- S7-200 biểu diễn một mạch lôgic cứng bằng một dêy câc lệnh lập trình. Chương trình bao gồm một tập dêy câc lệnh. S7-200 thực hiện chương trình bắt đầu từ lệnh lập trình đầu tiín