Tải bản đầy đủ - 0 (trang)
CHƯƠNG II. TỔNG QUAN VỀ PLC S7-300 VÀ PHẦN MỀM GIÁM SÁT WINCC

CHƯƠNG II. TỔNG QUAN VỀ PLC S7-300 VÀ PHẦN MỀM GIÁM SÁT WINCC

Tải bản đầy đủ - 0trang

PLC S7-300 có nhiều loại CPU khác nhau, chúng được đặt tên theo bộ vi xử

lý có trong CPU như CPU312, CPU314, CPU315, CPU316, CPU318…

Những Module cùng có chung bộ vi xử lý nhưng khác nhau về cổng vào/ra

onboard, khác nhau về các khối hàm đặc biệt có sẵn trong thư viện của hệ điều

hành được phân biệt với nhau trong tên gọi bằng cách thêm cụm từ IFM

(Intergrated Function Module). Ví dụ Module CPU314 IFM.

Ngồi ra còn có các loại Module CPU với hai cổng truyền thơng, trong đó

cổng truyền thơng thứ hai có chức năng chính là phục vụ việc nối mạng phân tán

có kèm theo những phần mềm tiện dụng được cài đặt sẵn trong hệ điều hành.

Các loại CPU này được phân biệt với các CPU khác bằng tên gọi thêm cụm từ

DP (Distributted Port) trong tên gọi. Ví dụ Module CPU 314C-2DP…

Hình ảnh sau minh họa một số CPU của PLC S7-300:



CPU312IFM



CPU314C-2PIP



CPU314



CPU314C-2DP



Hình 2.2: Các Module tích hợp CPU của PLC S7-300

Module mở rộng: chia làm 5 loại

+PS ( Power Supply): Module nguồn ni. Có 3 loại 2A, 5A và 10A.

+SM (Signal Module): Module mở rộng cổng tín hiệu vào/ra, bao gồm:

+DI (Digital Input): Module mở rộng các cổng vào số. Số các cổng vào số

mở rộng có thể là 8, 16, hoặc 32 tuỳ thuộc vào từng loại Module.

+DO (Digital Output): Module mở rộng các cổng ra số. Số các cổng ra số

mở rộng có thể là 8, 16 hoặc 32 tuỳ thuộc vào từng loại Module.

+DI/DO (Digital input/Digital output): Module mở rộng các cổng vào/ra số.

Số các cổng vào/ra số có thể là 8 vào/8 ra hoặc 16 vào/16 ra tùy thuộc từng loại

Module.

+AI (Analog input): Module mở rộng cổng vào tương tự. Chúng là bộ

chuyển đổi tương tự số 12 bits (AD). Số các cổng vào tương tự có thể là 2, 4, 8

tùy từng loại Module+AO (Analog output): Module mở rộng các cổng ra tương

tự. Chúng là những bộ chuyển đổi số tương tự (DA). Số các cổng ra tương tự có

thể là 2, 4 hoặc 8 tùy thuộc từng loại.

20



+AI/AO (Analog input/Analog output): Module mở rộng vào/ra tương tự.

Số cổng vào/ra tương tự có thể là 4 vào/ 2 ra hoặc 4 vào/ 4 ra tùy từng loại

Module.

+IM (Interface Module): Module ghép nối. Đây là loại Module chuyên dụng

có chức năng nối các nhóm Module mở rộng lại với nhau thành một khối và

được quản lý chung bởi một CPU. Một CPU có thể làm việc trực tiếp nhiều nhất

4 rack, mỗi rack tối đa 8 Module mở rộng và các rack được nối với nhau bằng

Module IM.

+FM (Function Module): Module có chức năng điều khiển riêng, ví dụ như

Module điều khiển động động cơ bước, Module điều khiển động cơ servo,

Module PID, điều khiển đếm tốc độ cao…

+CP (Communication Module): Module phục vụ truyền thông trong mạng

giữa các bộ PLC với nhau hoặc giữa PLC với máy tính.

Một số module mở rộng của PLC S7-300:



module nguồn (PS)



module ra số (DO)



module vào số (DI)



module chức năng (FM)



module ra analog (AO)



module truyền thơng



Hình 2.3: Các module vào/ ra và mở rộng của PLC S7-300.



21



2.1.2. Các mode hoạt động:

PLC S7-300 có 4 mode hoạt động, gồm:

RUN_P: Xử lý chương trình, có thể đọc và ghi được từ PG.

RUN: Xử lý chương trình, khơng thể đọc từ PG.

STOP: Dừng, chương trình khơng được xử lý.

MRES: Chức năng reset hệ thống (Module Reset)

Các mode này được chọn dựa vào công tắc chọn ở mặt trước CPU như hình 2.4

Trong đó:

1.



Đèn báo trạng thái



2.



Card nhớ



3.



Nút chọn kiểu làm việc



4.



Đầu nối 24V



5.



Cổng giao tiếp MPI



6.



Ngăn để pin

Hình 2.4: Mặt trước CPU S7-300



Ngồi ra, CPU còn có các đèn chỉ báo giúp người sử dụng chẩn đoán được

trạng thái hiện tại của PLC.

SF: báo lỗi trong nhóm, trong CPU hay trong các Module.

BATF: lỗi pin, hết pin hoặc khơng có pin.

DC5V: báo có nguồn 5V.

FRCE: báo ít nhất có một ngỏ vào/ra đang bị cưỡng bức hoạt động.

RUN: nhấp nháy khi CPU khởi động và sáng khi CPU làm việc.

STOP: sáng khi PLC dừng, chớp chậm khi có yêu cấu reset bộ nhớ, chớp

nhanh khi đang reset bộ nhớ.

-Các thành phần khác trên CPU:

Card nhớ: dùng để lưu chương trình mà khơng cần pin trong trường hợp mất

điện.

Ngăn để pin: nằm dưới nắp, chứa pin cung cấp năng lượng cho RAM khi mất

điện.

Đầu nối MPI: đầu nồi dành cho thiết bị lập trình hay các thiết bị cần giao tiếp

qua cổng MPI.

22



Đầu nối điện 24V: cung cấp nguồn cho CPU.

2.1.3. Các kiểu dữ liệu:

Tương tự như PLC S7-200, các kiểu dữ liệu sử dụng trong chương trình của

PLC S7-300 gồm có:

-BOOL: có dung lượng 1 bit, giá trị là 0 hoặc 1, sử dụng cho biến có 2 giá trị

-BYTE: dung lượng 8 bit, thường dùng biểu diễn số nguyên dương từ 0 đến

255, mã BCD của số thập phân 2 chữ số, mã ASCII của ký tự,…

-WORD: dung lượng 2 byte, biểu diễn số nguyên dương từ 0 đến 65535.

-INT: dung lượng 2 byte, biểu diễn số nguyên từ -32768 đến 32767.

-DINT: dung lượng 4 byte, biểu diễn số nguyên từ -2147483648 đến

2147483647.

-REAL: dung lượng 4 byte, biểu diễn số thực có dấu phẩy. Ngồi ra còn có

các kiểu dữ liệu khác:

-S5T (S5TIME): biểu diễn khoảng thời gian, tính theo giờ/phút/giây/mgiây

-TOD: biểu diễn khoảng thời gian tính theo giờ/phút/giây

-DATE: biểu diễn thời gian theo năm/tháng/ngày

-CHAR: biểu diễn ký tự (tối đa 4 ký tự).

2.1.4. Cấu trúc bộ nhớ:

Bộ nhớ PLC được minh họa trong hình 1.5, gồm: vùng nhớ chứa thanh ghi,

vùng nhớ System, vùng nhớ Work, và vùng nhớ Load.



Hình 2.5: Phân chia vùng nhớ S7-300

23



*Load memory:

Là vùng nhớ chứa chương trình ứng dụng do người sử dụng viết và được chứa

trong các OB, FC, FB hoặc trong các khối chương trình trong thư viện hệ thống

được sử dụng (SFB, SFC) và các khối dữ liệu DB. Vùng nhớ này tạo ra từ một

phần RAM của CPU và EEPROM. Khi thực hiện lệnh xóa bộ nhớ (MRES) thì

tồn bộ các khối chương trình trong RAM bị xóa hết. Tương tự, khi chương

trình được Download từ máy tính vào CPU, chúng sẽ được ghi lên phần RAM

của vùng nhớ này. Vùng nhớ chương trình được chia làm 3 miền:

+OB (Organization Block): miền chứa chương trình tổ chức.

+FC (Function): miền chứa chương trình con được tổ chức thành hàm, có

biến hình thức để trao đổi dữ liệu với chương trình đã gọi.

+FB (Function Block): Miền chứa chương trình con được tổ chức thành hàm,

có khả năng trao đổi dữ liệu với bất kỳ khối chương trình nào. Các dữ liệu được

xây dựng trên một khối riêng gọi là DB.

*Work memory:

Là vùng nhớ chứa các khối dữ liệu DB đang mở, khối chương trình (OB, FB,

FC, SFC, SFB) đang được CPU thực hiện. Tại một thời điểm nhất định vùng

nhớ này chỉ chứa một khối chương trình. Sau khi thực hiện khối chương trình

này xong thì nó sẽ bị CPU xóa khỏi work memory và nạp vào khối chương trình

kế tiếp đến lượt thực hiện.

Vùng nhớ này chia thành 2 miền:

+DB (Data Block): Miền chứa các dữ liệu tổ chức thành khối, kích thước

và số lượng do người sử dụng quy định. Chương trình có thể truy cập miền này

theo bit (DBX), byte (DBB), Word (DBW), Double word (DBD).

+L (Local data block): Miền dữ liệu cục bộ được các khối chương trình

OB, FC, FB sử dụng cho các biến tạm thời và trao đổi các biến hình thức với các

khối đã gọi nó. Nội dung dữ liệu trong khối này sẽ bị xố khi kết thúc chương

trình tương ứng trong OB, FC, FB. Miền này có thể truy cập theo bit (L), byte

(LB), word (LW) hoặc duoble word (LD). Tùy theo các khối chương trình khác

nhau mà bảng khai báo chứa các biến khác nhau nhằm phục vụ cho yêu cầu của

khối đó.

*System memory:

Chứa các tham số của hệ điều hành và chương trình ứng dụng, chia làm 7

miền.

+Miền I: (Process image input): miền bộ đệm các cổng vào số. Trước khi thực

hiện chương trình, PLC đọc tất cả dữ liệu đầu vào và cất vào miền nhớ này.

24



PLC không đọc trực tiếp cổng vào mà đọc từ bộ đệm I.

+Miền Q: (Process image output): miền bộ đệm các cổng ra số. Khi kết thúc

chương trình, PLC chuyển giá trị logic từ bộ đệm Q đến các cổng ra số. Thơng

thường chương trình khơng gán trực tiếp giá trị tới cổng ra mà chỉ chuyển chúng

vào bộ đệm Q.

+Miền M: miền nhớ các bit cờ. Chương trình ứng dụng sử dụng vùng nhớ này

để lưu các tham số cần thiết và có thể truy nhập theo bit, byte, word, double

word.

+Miền T: miền nhớ phục vụ bộ thời gian. Bao gồm việc lưu trữ giá trị thời

gian thời gian định trước, thời gian tức thời và giá trị logic đầu ra của timer.

+Miền C: miền phục vụ bộ đếm. Bao gồm việc lưu trữ giá trị đặt trước, giá trị

tức thời và giá trị logic đầu ra.

+Miền PI: miền địa chỉ cổng vào các Module tương tự. Các giá trị tương tự tại

các cổng vào sẽ được chuyển tự động theo những địa chỉ. Chương trình ứng

dụng có thể truy cập miền PI theo bit (PI), theo byte (PIB), theo từ (PIW), hoặc

theo từ kép (PID).

+Miền PQ: miền địa chỉ cổng ra các Module tương tự. Giá trị theo những địa

chỉ này sẽ được Module tương tự chuyển tới các cổng ra tương tự. Chương trình

ứng dụng có thể truy cập miền nhớ PQ theo bit (PQ), theo byte (PQB), theo từ

(PQW) hoặc theo từ kép. Trong các vùng nhớ trình bày trên khơng có vùng nhớ

làm bộ đệm cho cổng vào/ra tương tự, như vậy mỗi lệnh truy nhập Module

tương tự (đọc hoặc gửi giá trị) đều có tác dụng trực tiếp tới cổng vật lý.

2.1.5. Chu kỳ vòng quét của PLC S7-300:

Tương tự PLC S7-200, PLC S7-300 thực hiện chương trình theo chu trình lặp.

Mỗi vòng lặp được gọi là vòng quét.

Vòng quét được bắt đầu bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi.

Bước tiếp theo là giai đoạn chuyển dữ liệu từ các cổng vào số tới bộ đệm ảo I.

Sau đó là giai đoạn thực hiện chương trình. Chương trình được thực hiện từ

lệnh đầu tiên đến lệnh kết thúc của khối OB1. Kết quả được lưu trong bộ đệm Q.

Sau cùng là giai đoạn chuyển các nội dung của bộ đệm ảo Q tới các cổng ra

số.

2.1.6. Trao đổi dữ liệu giữa CPU và các module mở rộng



25

Hình 2.6: Vòng qt chương trình



Sự trao đổi dữ liệu giữa CPU với các Module mở rộng trong một trạm PLC

thông qua bus nội bộ.

Ngay đầu vòng quét các dữ liệu tại cổng vào của Module số (DI) được CPU

chuyển đến bộ đệm vào I. Đến cuối vòng quét, nội dung bộ đệm số ngõ ra được

CPU chuyển tới cổng ra của các Module số (DO).

Việc thay đổi nội dung hai bộ đệm này được thực hiện bởi chương trình ứng

dụng. Trong chương trình ứng dụng có nhiều lệnh đọc ngõ vào số thì cho dù giá

trị thực có của cổng này đã bị thay đổi trong q trình thực hiện vòng qt,

chương trình sẽ vẫn luôn đọc được cùng một giá trị từ I và đó là giá trị của cổng

vào có tại thời điểm đầu vòng qt. Nếu chương trình có nhiều lần thay đổi giá

trị cổng ra số thì do nó chỉ thay đổi nội dung bit nhớ tương ứng trong Q nên chỉ

có giá trị ở lần thay đổi cuối cùng được đưa tới cổng ra vật lý của Module DO.

Khác với việc đọc/ghi cổng số, việc truy nhập cổng vào/ra tương tự lại được

CPU thực hiện trực tiếp trên Module tương tự (AI/AO). Như vậy lệnh đọc giá trị

từ địa chỉ thuộc vùng PI sẽ thu được giá trị đúng bằng giá trị thực có ở cổng tại

thời điểm thực hiện lệnh, khi thực hiện lệnh gửi một giá trị tới địa chỉ vùng PQ,

giá trị đó được gửi trực tiếp đến cổng ra tương tự của Module.



26



Hình 2.7: Trao đổi dữ liệu giữa CPU và Module mở rộng.

2.1.7. Cấu trúc chương trình của PLC S7-300:

Chương trình do người dùng viết cho S7-300 được lưu trong vùng nhớ

chương trình, có 2 dạng với cấu trúc khác nhau:

-Lập trình tuyến tính:

Tồn bộ chương trình điều khiển lưu trong 1 khối trong bộ nhớ. Dạng chương

trình phù hợp với bài tốn nhỏ, đơn giản.

Khối được chọn ở đây là khối OB1. Đây là khối chứa các lệnh được thực hiện

thường xuyên trong chu kỳ quét của PLC.



Hình 2.8: Cấu trúc lập trình PLC S7-300

-Lập trình có cấu trúc:

Chương trình được chia thành từng phần nhỏ với các yêu cầu riêng biệt, mỗi

phần có thể lưu trong một vùng nhớ khác nhau.Dạng này phù hợp với bài tốn

phức tạp, có nhiều u cầu khác nhau.

27



PLC S7-300 có 4 loại khối cơ bản:

+Khối OB (Organization Block): là khối tổ chức và quản lý chương trình điều

khiển. Có nhiều loại OB với các chức năng khác nhau, chúng được phân biệt

dựa vào số nguyên gán thêm phía sau. OB1, OB35, OB40…

+OB1 là khối ln được CPU quét và thực hiện lặp lại các lệnh theo thứ tự từ

trên xuống dưới.

+Khối FC (Program Block): là khối chương trình với các chức năng riêng,

giống như 1 chương trình con. Một chương trình có thể có nhiều khối FC, chúng

được phân biệt dựa theo số nguyên gán thêm phía sau, FC1, FC2, …

+Khối FB (Function Block): là 1 khối FC đặc biệt có khả năng trao đổi lượng

dữ liệu lớn với các khối chương trình khác. Một chương trình có thể có nhiều

khối FB, chúng được phân biệt dựa theo số nguyên gán thêm phía sau, FB1,

FB2, …

+Khối DB (Data Block): là khối chứa các dữ liệu cần thiết để thực hiện

chương trình. Các tham số của khối này do người sử dụng tự đặt. Một chương

trình có thể có nhiều khối DB, chúng được phân biệt dựa theo số ngun gán

thêm phía sau, DB1, DB2,

Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối,

chuyển khối.

2.1.8. Các khối OB đặc biệt

Nếu OB1 là khối được thực hiện liên tục trong từng vòng quét thì các khối

OB khác chỉ được thực hiện khi có tín hiệu báo ngắt tương ứng. Chương trình

viết cho các khối này chính là các chương trình xử lý tín hiệu ngắt, bao gồm:

OB10 (Time of date interrupt): chương trình trong khối OB10 sẽ được thực

khi giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã quy

định. OB10 có thể gọi một lần hay nhiều lần cách đều nhau từng phút, từng giờ,

từng ngày…

OB20 (Time delay interrupt): chương trình trong khối OB20 sẽ được thực

hiện sau một koảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống

SFC32 để đặt thời gian trễ.

OB35 (Cyclic interrupt): chương trình trong OB35 sẽ được thực hiện cách

đều nhau một khoảng thời gian nhất định. Mặc định thời gian này là 100ms,

song ta có thể thay đổi nó trong bảng tham số của CPU nhờ phần mềm STEP7.



28



OB40 (Hardware interrupt): OB40 sẽ được thực hiện khi có tín hiệu ngắt từ

ngoại vi đưa vào CPU thơng qua cổng vào ra số onboard đặc biệt, hoặc thông

qua Module SM, CP, FM.

OB80 (Cycle time fault): được thực hiện khi thời gian vòng quét vượt quá

thời gian cực đại đã quy định (mặc định là 150ms) hoặc có tín hiệu ngắt gọi OB

nào đó mà OB này chưa kết thúc ở lần gọi trước.

OB81 (Power supply fault): khi có lỗi về nguồn ni thì CPU sẽ gọi OB81.

OB82 (Diagnostic interrupt): được gọi khi có phát hiện có sự cố từ các

Module vào/ra mở rộng. Các Module mở rộng này phải có khả năng tự kiểm tra.

OB85 (Not load fault): được gọi khi chương trình có sử dụng chế độ ngắt

nhưng chương trình ngắt lại khơng có trong OB tương ứng.

OB87 (Communication Fault): được gọi khi CPU thấy có lỗi truyền thông.

OB100 (Start up information): được thực hiện một lần khi CPU chuyển trạng

thái từ STOP sang RUN.

OB121 (Synchronous error): được thực hiện khi CPU thấy lỗi logic trong

chương trình như sai kiểu dữ liệu hoặc lỗi truy cập các khối DB, FC, FB khơng

có trong CPU.

OB122 (Synchronous error): được thực hiện khi CPU phát hiện có, lỗi truy

nhập Module trong chương trình, ví dụ chương trình có lệnh truy nhập Module

vào/ra nhưng lại khơng tìm thấy Module này.

2.1.9. Tập lệnh của PLC S7-300

2.1.9.1. Cấu trúc lệnh và trạng thái kết quả

Các phương pháp lập trình cho PLC, gồm có ngơn ngữ lập trình dạng STL,

LAD và FBD.

Nếu chương trình được viết theo ngơn ngữ LAD (hoặc FBD) thì có thể

chưyển sang ngôn ngữ STL hay FBD (hoặc LAD) tương ứng. Nhưng khơng

phải bất cứ chương trình viết theo STL nào cũng chuyển sang ngôn ngữ LAD

hay FBD được. Bộ tập lênh STL được trình bày trong giáo án này đều có một

chức n ăng như các tiếp điểm, cuộn dây, các hộp (trong LAD) hay IC số trong

FBD.

Những lệnh này phải phối hợp được trạng thái các tiếp điểm để quyết định về

giá trị trạng thái đầu ra hoặc giá trị logic cho phép hoặc không cho phép thực

chức năng của một (hay nhiều) cuộn dây hoặc hộp. Trong lập trình lơgic thường

hay sử dụng hai ngơn ngữ LAD và STL vì nó gần gũi hơn đối với chun ngành

điện. Sau đây là những định nghĩa cần phải nắm khi bắt tay vào thiết kế một

chương trình.

29



2.1.9.2. Ngơn ngữ bảng lệnh (STL)

Ngôn ngữ liệt kê lệnh, ký hiệu là STL (Statement List). Đây là ngơn ngữ

lập trình thơng thường của máy tính. Một chương trình được ghép bởi nhiều

lệnh theo một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấu trúc

chung là: "tên lệnh" + "tốn hạng". Một số lệnh đặc biệt thì có thể chỉ có tên

lệnh mà khơng cần tốn hạng.

Ví dụ:



Hình 2.9: Ví dụ ngơn ngữ STL

2.1.9.3. Ngơn ngữ sơ đồ thang (LAD)

Ngơn ngữ hình thang, ký hiệu là LAD (Ladder Logic) Với loại ngơn ngữ

này rất thích hợp với người quen thiết kế mạch điều khiển logic. Chương trình

được viết dưới dạng liên kết giữa các cơng tắc.

Ví dụ:



Hình 2.10: Ví dụ ngôn ngữ LAD



30



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG II. TỔNG QUAN VỀ PLC S7-300 VÀ PHẦN MỀM GIÁM SÁT WINCC

Tải bản đầy đủ ngay(0 tr)

×