Lƣu trữ dữ liệu, các vùng nhớ và việc ghi địa chỉ.

Một phần của tài liệu Chương 2 - Các khái niệm về PLC (Trang 32 - 34)

CPU cung cấp một số các tùy chọn dành cho việc lưu trữ dữ liệu trong suốt sự thực thi chương trình người dùng:

 Global memory (bộ nhớ toàn cục): CPU cung cấp nhiều vùng nhớ chuyên môn hóa, bao gồm các ngõ vào (I), các ngõ ra (Q) và bộ nhớ bit (M). Bộ nhớ này là có thể truy xuất bởi tất cả các khối mã mà không có sự hạn chế nào.

 Data block (DB – khối dữ liệu): ta có thể bao gồm các DB trong chương trình người dùng để lưu trữ dữ liệu cho các khối mã. Dữ liệu được lưu trữ vẫn duy trì khi sự thực thi của một khối mã có liên quan dần kết thúc.

 Temp memory (bộ nhớ tạm thời): khi một khối mã được gọi, hệ điều hành của CPU phân bổ bộ nhớ tạm thời hay cục bộ (L) để sử dụng trong suốt sự thực thi của khối. Khi sự thực thi của khối hoàn thành, CPU sẽ phân bổ lại bộ nhớ cục bộ dành cho việc thực thi các khối mã khác.

Mỗi vị trí bộ nhớ khác nhau có một địa chỉ đơn nhất. Chương trình người dùng sử dụng các địa chỉ này để truy xuất thông tin trong vị trí bộ nhớ.

Vùng nhớ Miêu tả Ép buộc Lƣu giữ

I

Ngõ vào ảnh tiến trình I_:P

Ngõ vào vật lý

Được sao chép từ các ngõ vào vật lý tại

điểm bắt đầu của chu trình quét Không Không

Việc đọc ngay lập tức của các điểm ngõ

vào trên CPU, SB và SM Có Không

Q

Ngõ ra ảnh tiến trình Q_:P

Ngõ ra vật lý

Được sao chép đến các ngõ ra vật lý tại

điểm bắt đầu của chu trình quét Không Không

Việc ghi ngay lập tức đến các điểm ngõ

ra vật lý trên CPU, SB và SM Có Không

M

Bộ nhớ bit Bộ nhớ dữ liệu và điều khiển Không Có

L

Bộ nhớ tạm thời

Dữ liệu tạm thời cho một khối, một bộ

phận của khối đó Không Không

DB

Khối dữ liệu

Bộ nhớ dữ liệu và còn là bộ nhớ thông số

Mỗi vùng nhớ khác nhau có một địa chỉ đơn nhất. Chương trình người dùng sử dụng các địa chỉ này để truy xuất thông tin trong vị trí bộ nhớ. Hình dưới đây thể hiện cách thức truy xuất một bit (còn được gọi là ghi địa chỉ “byte.bit”). Trong ví dụ này, vùng bộ nhớ và địa chỉ byte (I = ngõ vào và 3 = byte 3) được theo sau bởi một dấu chấm (“.”) để ngăn cách địa chỉ bit (bit 4).

A Bộ định danh vùng nhớ B Địa chỉ byte: byte 3 C Dấu ngăn cách (adsbygoogle = window.adsbygoogle || []).push({});

D Vị trí bit của byte (bit 4 trong số 8

bit)

E Các byte của vùng nhớ F Các bit của byte được chọn

Ta có thể truy xuất dữ liệu trong hầu hết các vùng bộ nhớ (I, Q, M, DB và L) gồm các kiểu Byte, Word, hay Double Word bằng cách sử dụng định dạng “byte address”. Để truy xuất một dữ liệu Byte, Word, hay Double Word trong bộ nhớ, ta phải xác định địa chỉ theo cách giống như xác định địa chỉ cho một bit. Điều này bao gồm một bộ định danh vùng, ký hiệu kích thước dữ liệu, và địa chỉ byte bắt đầu của giá trị Byte, Word, hay Double Word. Các ký hiệu kích thước là B (Byte), W (Word) và D (Double Word), ví dụ IB0, MW20 hay QD8. Các tham chiếu như là I0.3 và Q1.7 sẽ truy xuất ảnh tiến trình. Để truy xuất ngõ vào hay ngõ ra vật lý, ta cộng thêm tham chiếu với ký tự “:P” (như là I0.3:P, Q1.7:P hay “Stop:P”).

Truy xuất dữ liệu trong các vùng nhớ của CPU

Phần mềm STEP 7 Basic tạo điều kiện cho việc lập trình ký hiệu. Thông thường, các thẻ ghi được tạo ra cả trong thẻ ghi PLC, trong một khối dữ liệu hay trong giao diện tại phía trên của một OB, FC hay FB. Các thẻ ghi này bao gồm tên, kiểu dữ liệu, độ dịch chỉnh và chú giải. Ngoài ra, trong môt khối dữ liệu, một giá trị ban đầu có thể được xác lập. Ta có thể sử dụng các thẻ ghi này khi lập trình bằng cách nhập vào tên thẻ ghi tại thông số của lệnh. Một cách tùy chọn, ta cũng có thể nhập vào toán hạng độc lập (bộ nhớ, vùng nhớ, kích cỡ và độ dịch chỉnh) tại thông số lệnh. Các ví dụ trong phần sau đây cho thấy cách thức để nhập vào các toán hạng tuyệt đối. Ký tự % được tự động chèn vào trước toán hạng tuyệt đối bởi trình soạn thảo chương trình. Ta có thể lật chuyển kiểu xem trong trình soạn thảo chương trình đến một trong các kiểu sau: biểu tượng (Symbolic), biểu tượng và tuyệt đối (Symbolic and absolute) hay tuyệt đối (Absolute).

Một phần của tài liệu Chương 2 - Các khái niệm về PLC (Trang 32 - 34)