Kiểu dữ liệu và phân chia bộ nhớ

Một phần của tài liệu Đồ án Ứng dụng PLC và biến tần điều khiển thang máy 7 tầng (Trang 73 - 80)

2.2 Giới thiệu về PLC S7-300

2.2.4 Kiểu dữ liệu và phân chia bộ nhớ

Một chơng trình ứng dụng trong S7 - 300 có thể sử dụng các kiểu dữ liệu sau:

1, BOOL: với dung lợng một bit và có giá trị là 0 hoặc 1 (đúng hoặc sai). Đây là kiểu dữ liệu cho hai biến trị.

640 ÷655

656 ÷671

672 ÷687

689 ÷703

704 ÷719

720 ÷735

736 ÷751

752 ÷765 IM

NhËn

IM NhËn

512 ÷527

528 ÷543

544 ÷559

560 ÷575

576 ÷591

592 ÷607

608 ÷623

624 ÷639

IM NhËn

384 ÷399

400 ÷415

416 ÷431

432 ÷447

448 ÷463

464 ÷479

480 ÷495

496 ÷511

CPU + Nguồn

Nuôi IM

Gửi

256 ÷271

272 ÷287

288 ÷303

304 ÷319

320 ÷335

336 ÷351

352 367÷

368 ÷383 Rack 3

Rack 2

Rack 1

Rack3 Rack2

NhËnIM 96.0÷ 99.7

100.0 103.7 ÷

104.0 107.7÷

108.0 111.7÷

112.0 115.7÷

116.0 119.7÷

120.0 123.7÷

124.0 127.7÷

IM

NhËn 64.0÷ 67.7

68.0 71.7÷

72.0 75.7÷

76.0 79.7÷

80.0 83.7÷

84.0 87.7÷

88.0 91.7÷

92.0 95.7÷

NhËnIM 32.0÷ 35.7

36.0 39.7÷

40.0 43.7÷

44.0 47.7÷

48.0 51.7÷

52.0 55.7÷

56.0 59.7÷

60.0 63.7÷

IM Gửi

0.0 3.7÷

4.0 7.7÷

8.0 11.7÷

12.0 15.7÷

16.0 19.7÷

20.0 23.7÷

24.0 27.7÷

28.0 31.7÷ CPU +

Nguồn Nuôi

Rack1

2, BYTE: gồm 8 bits, thờng đợc dùng để biểu diễn một số nguyên dơng trong khoảng từ 0 đến 255 hoặc mã ASCII một ký tự. Ví dụ:

L B#16#14 // Nạp số nguyên 14 viết theo hệ cơ số 16 độ dài 1 byte vào ACCU1.

3, WORD: Gồm 2 bytes, để biểu diễn một số nguyên dơng từ 0 đến 65535.

VÝ dô:

L 930.

L W#16#3A2.

4, INT: Cũng có dung lợng là 2 bytes, dùng để biểu diễn một số nguyên trong khoảng -32768 ữ32767. Ví dụ:

L 930.

L W#16#3A2.

5, DINT: Gồm 4 bytes, dùng để biểu diễn một số nguyên từ -2147483648 đến 2147483647.

VÝ dô:

L L#930

L DW#16#3A2.

6, REAL: Gồm 4 bytes, dùng để biểu diễn một số thực dấu phẩy động.

VÝ dô:

L 1.234567e+13 L 930.0

7, S5T (hay S5TIME): Khoảng thời gian, đợc tính theo giờ/phút/giây/miligiây.

VÝ dô:

L S5T#2h_1m_0s_5ms.

Là lệnh tạo trễ khoảng thời gian là 2 tiếng một phút và 5 miligiây.

8, TOD: Biểu diễn giá trị thời gian tính theo giờ/phút/giây.

VÝ dô:

L TOD#5: 45: 00

Là lệnh khai báo giá trị thời gian trong ngày 5 giờ 45 phút.

9, DATE: Biểu diễn giá trị thời gian tính theo năm/tháng/ngày.

VÝ dô:

L DATE#1999 - 12 - 8

là lệnh khai báo ngày mùng 8 tháng 12 năm 1999.

10, CHAR: Biểu diễn một hoặc nhiều ký tự (nhiều nhất là 4 ký tự).

VÝ dô:

L 'ABCD '.

L 'E'

2.2.4.2 CÊu tróc bé nhí CPU

Bộ nhớ của S7 – 300 đợc chia làm 3 vùng chính:

1, Vùng chứa chứa chơng trình ứng dụng: Vùng nhớ chơng trình đợc chia thành 3 miÒn:

a, OB ( Organisation block ) : Miền chứa chơng trình tổ chức .

b, 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 với chơng trình đã gọi nó

c, FB (funtion block): miền chứa chơng trình con,đợc tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất cứ một khối chơng trình nào khác.Các dữ liệu này phải đợc xây dựng thành một khối dữ liệu riêng(gọi là DB-Data block)

2, Vùng chứa tham số của hệ điêù hành và chơng trình ứng dụng , đợc phân chia thành 7 miền khác nhau :

a, I ( Process image input ) : Miền bộ đệm các dữ liệu cổng vào số. Trớc khi bắt

đầu thực hiện chơng trình, PLC sẽ đọc giá trị logic của tất cả các cổng đầu vào và cất giữ chúng trong vùng nhớ I .Thông thờng chơng trình ứng dụng không đọc trực tiếp trạng thái logic của cổng vào ra số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm I.

b, Q ( Process image output ) : Miền bộ đệm các dữ liệu cổng ra số. Kết thúc giai đoạn thực hiện chơng trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số. Thông thờng chơng trình không trực tiếp gán giá trị tới cổng ra mà chỉ chuyển chúng vào bộ đệm.

c, M : Miền các biến cờ . Chơng trình ứng dụng sử dụng vùng nhớ này để lu giữ

các tham số cần thiết và có thể truy cập nó theo bít ( M) byte ( MB ) từ ( M W) hay tõ kÐp ( MD ).

d, T : Miền nhớ phục vụ bộ thời gian ( Timer ) bao gồm việc lu giữ giá trị thời gian đặt trớc ( PV – preset value ) giá trị đếm của thời gian tức thời ( CV – Current value ) cũng nh giá trị logic của bộ thời gian .

e, C: Miền nhớ phục vụ bộ đếm ( Counter ) bao gồm việc lu giữ giá trị đặt trớc ( PV ) , giá trị đếm tức thời ( CV ) và giá trị đầu ra của bộ đếm .

f, PI: Miền địa chỉ cổng vào của các modul tơng tự ( I/O External input ) . Các giá trị tơng tự tại cổng vào của modul tơng tự sẽ đợc modul đọc và chuyển tự động theo những địa chỉ . Chơng trình ứng dụng có thể truy cập miền nhớ PI theo từng byte ( PIB) từng từ ( PIW) hoặc theo từng từ kép (PID).

g, PQ: Miền địa chỉ cổng ra cho các modul tơng tự (I/O External output ) . Các giá trị theo những địa chỉ này sẽ đợc các modul tơng tự chuyển 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 từng byte ( PQB ) từng từ ( PQW ) hoặc theo từng từ kép ( PQD ) .

3, Vùng nhớ các khối dữ liệu đợc chia làm hai loại :

a, DB ( Data block ): Miền chứa các dữ liệu đợc tổ chức thành khối. Kích thớc cũng nh số lợng khối do ngời sử dụng quy định , phù hợp với từng bài toán điêù khiển. Chơng trình có thể truy cập miền này theo từng bít ( DBX ) byte ( DBB ) từng từ ( DBW ) hoặc từng từ kép ( DBD ) .

b, L ( Local data block ): Miền dữ liệu địa phơng đợc các khối chơng trình OB, FC, FB, tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức và những khối chơng trình đã gọi nó. Nội dung của một số dữ liệu trong miền nhớ này sẽ bị xoá khi kết thúc chơng trình ứng dụng trong OB, FC, FB. Miền này có thể đợc truy cập từ chơng trình theo bít ( L) byte ( LB ) từ ( LW ) hoặc từ kÐp ( LD ).

Phân chia bộ nhớ cho các vùng nhớ khác nhau, bao gồm:

- Vùng nhớ chứa các thanh ghi.

- Vùng System memory.

- Vùng Load memory.

- Vùng Work memory.

Kích thớc của các vùng nhớ này phụ thuộc vào chủng loại của từng modul CPU.

+ Load memory: Là vùng nhớ chứa chơng trình ứng dụng (do ngời sử dụng viết) bao gồm tất cả các khối chơng trình ứng dụng OB, FC, FB, các khối chơng trình trong th viện hệ thống đợc sử dụng ( SFC, SFB ) và các khối dữ liệu DB.

Vùng nhớ này đợc tạo bởi một phần bộ nhớ RAM của CPU và EFPROM ( nếu có ).

Khi thực hiện động tác xoá bộ nhớ ( MRES ) toàn bộ các khối chơng trình và các khối dữ liệu trong RAM sẽ bị xoá. Cũng nh vậy khi chơng trình hay khối dữ liệu đ- ợc đổ ( down load ) từ thiết bị lập trình ( PG . máy tính ) vào modul CPU chúng sẽ

đợc ghi lên phần RAM của vùng nhớ load memory.

+ Work memory: Là vùng nhớ chứa các khối DB đang đợc mở, khối chơng trình ( OB, FC, SFC hoặc SFB ) đang đợc CPU thực hiện và phần bộ nhớ cấp phát cho những tham số hình thức để các khối chơng trình này trao đổi tham trị với hệ

điêù hành và các khối chơng trình khác ( local block ).Tại một thời điểm nhất định vùng work memory chỉ chứa một khối chơng trình. Sau khi khối chơng trình đó thực hiện xong thì hệ điều hành sẽ xoá nó khỏi word memory và nạp vào

đó khối chơng trình kế tiếp đến lợt đợc thực hiện.

Hình 3-22: Phân chia các vùng nhớ trong CPU

+ System memory: Là vùng nhớ chứa các bộ đệm vào / ra số ( Q/ I ) , các biến cờ ( M ) thanh ghi C – Word, PV, T – bít của Timer, thanh ghi C – Word, PV, T – bít của Counter. Việc truy cập sủa đổi dữ liệu những ô nhớ này đợc phân chia hoặc bởi hệ điều hành của CPU hoặc do chơng trình ứng dụng có thể thấy rằng các vùng nhớ đợc trình bày trên không có vùng nhớ nào đợc dùng làm bộ đệm cho các cổng vào ra tơng tự. Nói cách khác các cổng vào ra tơng tự không có bộ đệm và nh vậy mỗi lệnh truy cập modul tơng tự ( đọc giữ các giá trị ) đều có tác dụng trực tiếp với cổng vật lý của modul .

System memory

Bộ đệm ra số Q Bộ đệm vào số I Timer T Counter C Vùng nhớ cờ M

- Logic block - Data block

- Local block, Stack Work memory

Load memory

- User program (RAM) - User Program (EEPROM) Accumulator

ACCU1 ACCU2

Address register AR1

AR2

Data block register DB (share) DI (instance) Status word

Status

Bảng sau trình bày chi tiết hơn về ý nghĩa các vùng nhớ :

Tên gọi Kích thớc truy nhËp

KÝch thíc

tối đa ý nghĩa

Process- inmage Input ( I ) Bộ đệm vào sè

I IB IW ID

0.0 ÷ 127.7 0.0 ÷ 127 0.0 ÷ 126 0.0 ÷ 124

Đối với mỗi vòng quét hệ điêù hành sẽ ghi vào phần

nhỏ này các giá trị đợc lấy từ cổng vào số vật lý của modul mở rộng Process-

inmage Output ( Q )

Bộ đệm ra số

Q QB QW QD

0.0 ÷ 127.7 0.0 ÷ 127 0.0 ÷ 126 0.0 ÷ 124

Cuối mỗi vòng quét hệ

điều hành sẽ đọc nội dung của miền nhớ này và chuyển ra cổng ra số của modul mở rộng .

BÝt memory ( M )

Vùng nhớ cê

M MB MW MD

0.0 ÷ 255.7 0.0 ÷ 255 0.0 ÷ 254 0.0 ÷ 252

Đợc sử dụng nh một miền các biến cờ cho chơng trình ứng dụng .

Timer ( T )

T0 ữ T255 Miền nhớ lu giữ các giá trị PV, CV và T- bít của Timer. Đợc truy cập

để sửa đổi bởi hệ điều hành và ch-

ơng trình ứng dụng.

Counter ( C )

C0 ữ C255 Miền nhớ lu giữ các giá trị PV, CV và C- bít của Counter.

Data block ( DB )

Khối dữ liệu Shaer

DBX DBB DBW DBD

0.0 ÷ 65535.7 0.0 ÷ 65535 0.0 ÷ 65534 0.0 ÷ 65532

Đợc mở bằng lệnh

“ OPN DB ”

Data block ( DI )

Khối dữ liệu Instance

DIX DIB DIW DID

0.0 ÷ 65535.7 0.0 ÷ 65535 0.0 ÷ 65534 0.0 ÷ 65532

Là khối DB nhng

đợc mở bằng lệnh

“ OPN DI ” Local block

( L)

Miền nhớ địa phơng cho các tham số hình thức

L LB LW LD

0.0 ÷ 65535.7 0.0 ÷ 65535 0.0 ÷ 65534 0.0 ÷ 65532

Miền nhớ đợc cấp phát cho các khối OB, FC, FB

Mỗi khi khối này đợc gọi để thực hiện. Miền nhớ này cũng sẽ đợc giải phóng khi thực hiện xong các khối Peri pheral

input ( PI )

PIB PIW PID

0.0 ÷ 65535 0.0 ÷ 65534 0.0 ÷ 65532

Chỉ có địa chỉ truy cập để

đọc. Không có phần bộ nhớ . Peri pheral

output (PQ )

PQB PQW PQD

0.0 ÷ 65535 0.0 ÷ 65534 0.0 ÷ 65532

Chỉ có địa chỉ truy cập để

đọc. Không có phần bộ nhớ thực sự

Trừ phần bộ nhớ EFPROM thuộc vùng Load memory và một phần RAM tự nuôi đặc biệt ( Von – voldtile ) dùng để lu giữ tham số cấu hình trạm PLC nh địa chỉ trạm ( MPI address ) tên các modul mở rộng tất cả các phần bộ nhớ còn lại ở chế độ mặc định không có khả năng tự nhớ ( Non- rententive ). Khi mất nguồn nuôi hoặc thực hiện công việc xóa bộ nhớ ( MRES ) toàn bộ nội dung bộ nhớ ( Non- rententive ) sẽ bị mất. Tuy nhiên ta có thể sử dụng phần mềm Step 7 để chuyển những khối DB chứa những dữ liệu quan trọng, cũng nh các dữ liệu của Timer , Counter vào phần bộ nhớ RAM tự nuôi khi mất điện .

Bảng sau trình bày những dữ liệu có thể đợc chuyển vào phần bộ nhớ ( Non- rententive ) của CPU 314 nhờ Step 7 :

Dữ liệu thuộc miền Phần có thể chuyển Mặc định của Step 7 Vùng nhớ cờ ( M ) 0 ữ 256 ( byte ) 16 ( Số các byte )

Timer 0 ữ 128 0 ( Số các Timer )

Counter 0 ữ 64 8 ( Số các Counter )

Các khối DB 0 ữ 127 1. Có thể quy định từng phần chứ không cần phải toàn bộ DB

Một phần của tài liệu Đồ án Ứng dụng PLC và biến tần điều khiển thang máy 7 tầng (Trang 73 - 80)

Tải bản đầy đủ (DOC)

(161 trang)
w