BÀI 1: ĐẠI
CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH
1.1 Cấu trúc của một PLC.
1.1.1. Cấu trúc PLC
Thiết bị điều khiển logic khả trình
PLC (Programmable Logic Controller), là loại thiết bị cho phép thực hiện linh
hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình, thay cho việc
thể hiện thuật toán đó bằng mạch số.
Như vậy, với chương trình điều khiển
này, PLC trở thành một bộ điều khiển số số nhỏ, gọn, dễ thay đổi thuật toán và
đặc biệt trao đổi thông tin với môi trường xung quanh (với các PLC khác hoặc với
máy tính).
Toàn bộ chương trình điều khiển được
lưu nhớ trong bộ nhớ của PLC dưới dạng các khối chương trình và được thực hiện
lặp theo chu kỳ của vòng quét (Scan).
Để thực hiện được một chương trình điều
khiển, tất nhiên PLC phải có chức năng như một máy tính, nghĩa là phải có bộ vi
xử lý (CPU), một bộ điều hành, bộ nhớ để lưu chương trình điều khiển, dữ liệu….
PLC còn phải có các cổng vào/ra để giao tiếp được các đối tượng điều khiển và để
trao đổi thông tin với môi trường xung
quanh.
-
Bên cạnh
đó, nhằm phục vụ bài toán điều khiển số, PLC còn cần phải thêm các khối chức
năng đặc biệt khác như: bộ đếm (Counter), bộ thời gian (Timer)… và những khối
hàm chuyên dụng.
-
Thiết
bị logic khả trình được lắp đặt sẵn thành bộ. Trước tiên chúng chưa có một nhiệm
vụ nào cả. Tất cả các cổng logic cơ bản, chức năng nhớ, timer, cuonter v.v…được
nhà chế tạo tích hợp trong chúng và được kết hợp với nhau bằng chương trình cho
nhiệm vụ điều khiển cụ thể nào đó. Có nhiều thiết bị điều khiển và được phân biệt
với nhau qua các chức năng sau:
+ Các ngõ vào và
ra
+ Dung lượng nhớ
+ Bộ đếm
(counter)
+ Bộ định thời
(timer)
+ Bit nhớ
+ Các chức năng
đặc biệt
+ Tốc độ xử lý
+ Loại xử lý
chương trình.
-
Các
thiết bị điều khiển lớn thì được lắp thành các module riêng. Đối với các thiết
bị điều khiển nhỏ, chúng được lắp đặt chung trong một bộ. Các bộ điều khiển này
có số lượng ngõ vào/ra cho trước cố định.
-
Thiết
bị điều khiển được cung cấp tín hiệu bởi các tín hiệu từ cảm biến ở bộ phận ngõ
vào của thiết bị tự động.
-
Tín
hiệu này được xử lý tiếp tục thông qua chương trình điều khiển đặt trong bộ nhớ
chương trình.
-
Kết
quả xử lý được đưa ra bộ phận ngõ ra của thiết bị tự động để đến đối tượng điều
khiển hay khâu điều khiển ở dạng tín hiệu.
-
Cấu trúc
của một PLC có thể được mô tả như hình vẽ 2.1:
Hình 2.1. Cấu trúc của
một PLC
-
Thông
tin xử lý trrong PLC được lưu trữ trong bộ nhớ của nó. Mỗi phần tử vi mạch nhớ
có thể chứa một bit dữ liệu. Bit dữ liệu (Data Binary Digital) là một chữ số nhị
phân, chỉ có thể là 1 trong hai giá trị 1 hoặc 0. Tuy nhiên các vi mạch nhớ thường
được tổ chức thành các nhóm để có thể chứa 8 bit dữ liệu.
-
Mỗi
chuỗi 8 bit dữ liệu được gọi là một byte. Mỗi mạch nhớ là một byte (byte nhớ), được xác nhận bởi một con số
gọi là địa chỉ (address). Byte nhớ đầu tiên có địa chỉ 0. Dữ liệu chứa trong
byte nhớ gọi là nội dung.
-
Địa
chỉ của một byte nhớ là cố định và mỗi byte nhớ trong PLC có một địa chỉ riêng
của nó. Địa chỉ của byte nhớ khác nhau, sẽ khác nhau, nội dung chứa trong một
byte nhớ là đại lượng có thể thay đổi được. Nội dung byte nhớ cính là dữ liệu
được lưu trữ tức thời trong bộ nhớ.
-
Để
lưu giữ một dữ liệu mà một byte nhớ không thể chứa hết được thì PLC cho phép cặp
2 byte nhớ cạnh nhau được xem xét như là một đơn vị nhớ và được gọi là một từ
đơn (Word). Địa chỉ thấp hơn trong 2 byte nhớ được dùng làm địa chỉ của từ đơn.
-
Ví dụ:
Từ đơn có địa chỉ là 2 thì các byte nhớ có các địa chỉ là 2 và 3 với 2 là địa chỉ byte cao và 3 là địa chỉ
của byte thấp.
IB2 IB3, IW 2, IW2 là từ đơn có địa chỉ 2, IB2 byte có địa
chỉ 2,
IB3 byte có địa chỉ 3
-
Trong
trường hợp dữ liệu cần được lưu trữ mà một từ đơn không thể chứa hết được , PLC
cho phép ghép 4 byte liền nhau là một đơn vị nhớ và được gọi là từ kép (Double
Word). Địa chỉ thấp nhất trong 4 byte nhớ này là địa chỉ của từ kép.
Ví dụ: Từ kép có địa chỉ là 100 thì các byte nhớ trong từ
kép này có địa chỉ là 100, 101, 102, 103 trong đó 103 là địa chỉ byte thấp, 100
là địa chỉ byte cao.
MW100
MW101 MW102 MW103
DW100
-
Trong
PLC bộ xử lý trung tâm có thể thực hiện một số thao tác như:
+ Đọc nội dung các vùng nhớ (bit, byte, word,
double word)
+ Ghi dữ liệu vào vùng nhớ (bit, byte, word,
double word)
-
Trong
thao tác đọc, nội dung ban đầu của vùng nhớ không thay đổi mà chỉ lấy bản sao của
dữ liệu để xử lý.
-
Trong
thao tác ghi, dữ liệu được ghi vào trở thành nội dung của vùng nhớ và dữ liệu
ban đầu bị mất đi.
-
Có 2 bộ
nhớ trong CPU của PLC:
+ RAM (Random Access Memory): Bộ nhớ có thể đọc
và ghi
+ ROM (Read Only Memory) Bộ nhớ chỉ đọc.
1.1.2. Bộ nhớ
Bộ nhớ của PLC có vai trò rất quan trọng,
bởi vì nó được sử dụng để chứa toàn bộ chương trình điều khiển, các trạng thái
của các thiết bị phụ trợ. Thông thường các bộ nhớ được bố trí trong cùng một khối
với CPU.
Thông tin chứa trong bộ nhớ sẽ xác định
việc các đầu vào, đầu ra được xử lý như thế nào.
Bộ nhớ bao gốm các tế bào nhớ được gọi
là bit. Mỗi bit có hai trạng thái 0 hoặc 1.
Đơn vị thông dụng của bộ nhớ là K, 1K
= 1024 tứ (word), 1 từ (word) có thể là 8 bit. Các PLC thường có bộ nhớ từ 1K đến
64K, phụ thuộc vào mức độ phức tạp của chương trình điều khiển.
Trong các PLC hiện đại có sử dụng một
số kiểu bộ nhớ khác nhau. Các kiểu nhớ này có thể xếp vào hai nhóm: Bộ nhớ có
thể thay đổi và bộ nhớ cố định. Bộ nhớ thay đổi là các bộ nhớ có thể mất các
thông tin ghi trên đó khi mất điện.
Nếu chương trình điều khiển chứa
trong bộ nhớ mà bị mất điện đột xuất do tuột dây tuột dây, mất điện nguồn thì
chương trình phải được nạp lại và lưu vào bộ nhớ.
Bộ nhớ cố định ngược lại với bộ nhớ
thay đổi là có khả năng lưu giữ thông tin ngay cả khi mất điện. Các loại bộ nhớ
hay sử dụng trong PLC gồm:
Là bộ nhớ thay đổi, bộ nhớ RAM thường
hoạt động nhanh và dễ dàng nạp chương trình điều khiển ứng dụng cũng như các dữ
liệu. Một số bộ nhớ RAM sử dụng pin để lưu nội dung nhớ khi mất điện. Bộ nhớ
RAM được được sản xuất từ công nghệ CMOS nên tiêu thụ rất ít năng lượng.
Các PLC có thể được mở rộng thêm nên
bộ nhớ cũng phải được tăng thêm. Chương trình điều khiển đơn giản chỉ cần dung
lượng bộ nhớ bé, ngược lại các chương trình phức tạp cần bộ nhớ dung lượng lớn.
Bộ nhớ được sử dụng rộng rãi đó là bộ
nhớ RAM. Bộ nhớ RAM hoạt động nhanh và lưu các chương trình ứng dụng. Để chống
lại các khả năng mất dữ liệu khi mất điện, các PLC thường sử dụng pin.
Là bộ nhớ tĩnh dùng để nhớ các lệnh điều khiển cơ bản và các hàm toán học
của PLC, không thay đổi nội dung nhớ ngay cả khi mất điện.
Ngoài ra còn có bộ nhớ EEPROM (Ellectronically Erasable Programable Read
Only Memory) là bộ nhớ tĩnh có khả năng xóa bằng lập trình lại. EEPROM dùng để ghi chương trình ứng dụng.
Người sử dụng có thể truy cập vào 2
vùng nhớ của PLC là vùng nhớ chương trình và vùng nhớ dữ liệu.
Vùng nhớ chương trình là nơi chứa
chương trình điều khiển ứng dụng, các chương trình con và các lỗi của chương
trình.
Vùng nhớ dữ liệu lưu trữ các dữ liệu
liên quan đến chương trình điều khiển như dữ liệu vào/ra; giá trị đầu, giá trị
tức thời và giá trị cuối của bộ đếm lệnh hay bộ đấm thời gian; các hằng số và
các biến của chương trình điều khiển. Hai vùng nhớ này được gọi là bộ nhớ dành
cho người sử dụng.
Bộ xử lý tín hiệu còn có bộ nhớ hệ thống
dùng để ghi các dữ liệu trung gian trong quá trình thực hiện các phép tính, các
lệnh của chương trình và phối hợp giữa chúng; quét các dữ liệu và gửi các dữ liệu
đến modul ra.
Bộ nhớ hệ thống do nhà sản xuất nên
không thay đổi được và người sử dụng cũng không thể
truy cập được
1.1.3. Bộ xử lý trung tâm
Là bộ phận xử lý tín hiệu hay CPU của
PLC. Bộ xử lý tín hiệu có thể bao gồm một hay nhiều bộ vi xử lý tiêu chuẩn hoặc
các bộ vi xử lý hỗ trợ cùng với các mạch tích hợp khác để thực hiện các phép
tính logic, điều khiển và ghi nhớ các chức năng của PLC.
Bộ xử lý thu nhập các tín hiệu vào,
thực hiện các phép tính logic theo chương trình, các phép tính đại số và điều
khiển các đầu ra hay tương ứng. Phần lớn các PLC sử dụng các mạch logic chuyên
dụng trên cơ sở bộ vi xử lý và các mạch tích hợp tạo nên đơn vị xử lý trung tâm
CPU.
Bộ vi xử lý sẽ lần lượt quét các trạng
thái của đầu vào và các thiết bị phụ trợ, thực hiện logic điều khiển được đặt
ra bởi chương trình ứng dụng, thực hiện các tính toán và điều khiển các đầu ra
tương ứng của PLC. Bộ vi xử lý nâng cao khả năng logic và khả năng điều khiển của
PLC. Các PLC thế hệ cuối cho phép thực hiện các phép tính số học và các phép
tính logic, bộ nhớ lớn hơn, tốc độ xử lý cao hơn và có trang bị giao diện với
máy tính, với mạng nội bộ v.v…
Bộ vi xử lý điều khiển chu kỳ làm việc
của chương trình. Chu kỳ này được gọi là chu kỳ quét của PLC, tức là khoảng thời
gian thực hiện xong một vòng các lệnh của chương trình điều khiển.
1.1.4. Hệ điều hành
Sau khi bật nguồn, hệ điều hành sẽ đặt
các counter, timer và bit nhớ với thuộc tính non-retentive (không được nhớ bởi
Pin dự phòng) cũng như accu về 0.
Để xử lý chương trình, hệ điều hành đọc
từng dòng chương trình từ đầu đến cuối. Tương ứng hệ điều hành thực hiện chương
trình theo các câu lệnh.
1.1.5. Bit nhớ
Các bit nhớ là các phần tử nhớ, mà hệ điều hành ghi nhớ trạng thái tín hiệu.
1.1.6. Bộ đệm
Bộ là một vùng nhớ, mà hệ điều hành ghi nhớ trạng thái tín hiệu ở ngõ vào
và ra nhị phân.
1.1.7. Accumulator
Là bộ nhớ trung gian mà qua đó Timer hay counter được nạp vào hay thực hiện
các phép toán số học.
1.1.8. Counter, Timer
Cũng là các vùng nhớ, hệ điều hành
ghi nhớ các giá trị đếm trong nó.
1.1.9. Hệ thống Bus
Bộ nhớ chương trình, hệ điều hành và
các modul ngoại vi được kết nối với PLC thông qua Bus.
Một Bus bao gồm các dây dẫn mà các dữ liệu trao đổi. Hệ điều hành tổ chức
việc truyền dữ liểu trên các dây dẫn này.
1.2 Thiết bị điều khiển lập trình S7-200
Là thiết bị lập trình loại nhỏ của hãng Siemens (Đức) có cấu trúc kiểu
modul và các modul mở rộng. Thành phần cơ bản của S7 - 200 là khối vi xử lý CPU
212 và CPU 224.
PLC viết tắc của programmable logic
controller là thiết bị điều khiển logic cho phép thực hiện linh hoạt các thuật
toán điều khiển logic qua một ngôn ngữ lập trình bộ điều khiển thỏa mãn các yêu
cầu:
-
Lập trình dễ dàng vì ngôn
ngữ lập trình dễ học
-
Gọn nhẹ, dễ dàng bảo quản,
tu sửa
-
Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức
tạp
-
Hoàn toàn tin cậy trong
môi trường công nghiệp
-
Giao tiếp với các thiết bị
thông tín máy tính, nối mạng các module mở rộng
-
Giá cả phù hợp
Bộ điều khiển lập trình PLC được thiết
kế nhằm thay thế phương pháp điều khiển truyền thống dùng Rơ le và thiết bị cồng
kềnh nó tạo ra một khả năng điều khiển thiết bị dễ dàng và linh hoạt dựa trên
việc lập trình trên các lệnh logic cơ bản.
PLC còn thực hiện các tác vụ định thì
và đếm làm tăng khả năng điều khiển, thực
hiện logic được lập trong chương trình và kích ra tín hiệu điều khiển cho thiết
bị bên ngoài tương ứng, S7-200 là thiết bị điều khiển logic khả trình loại nhỏ
của hãng Siemens cấu trúc theo kiển module có các module mở rộng các module này
được sử dụng cho nhiều ứng dụng lập trình khác nhau.
Thành phần cơ bản của S7-200 là khối
vi xử lý CPU 212 và CPU 214 về hình thức bên ngoài sự khác nhau của hai loại
CPU này nhận biết được nhờ số đầu vào ra và nguồn cung cấp
-
CPU 212 có 8 cổng vào và 6 cổng
ra có khả năng mở rộng thêm bằng 2 module mở rộng
-
CPU 214 có 14 cổng vào và 10
cổng ra và có khả năng mở rộng thêm bằng 7 module mở rộng
* CPU 212
-
512 từ
đơn (word) tức là 1 kbyte, để lưu chương trình thuộc miền bộ nhớ đọc/ ghi được
và không bị mất dữ liệu nhờ có giao diện với Eprom. Vùng nhớ với tính chất như
vậy được gọi là vùng nhớ non – volatile
-
512 từ
đơn được lưu dữ liệu trong đó có 100 từ nhớ đọc/ ghi thuộc miền non – volatile
-
8 cổng
vào logic và 6 cổng ra logic
-
Có thể
ghép nối 2 module để mở rộng số cổng vào/ra, bao gồm cả 2 module tương tự
(analog)
-
Tổng số
cổng logic vào/ ra cực đại là 64 cổng vào và 64 cổng ra
-
64 bộ tạo
thời gian trễ (timer) trong đó có 2 timer có độ phân giải 1ms 8 timer có độ
phân giải 10ms và 54 timer có độ phân giải 100ms
-
64 bộ đếm
(counter) chia làm 2 loại loại bộ đếm chỉ đếm tiến và loại vừa đếm tiến vừa đếm
lùi
-
368 bit
nhớ đặc biệt sử dụng làm các bit trạng thái hoặc các bit đặt chế độ làm việc
-
Có các
chế độ ngắt và xử lý tín hiệu khác nhau bao gồm ngắt truyền thông ngắt theo sườn
lên hoặc sườn xuống. Ngắt theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao
(2kHz)
-
Bộ nhớ
không bị mất dữ liệu trong khoảng thời gian 50 giờ khi PLC bị mất nguồn nuôi
* CPU 214
-
CPU 214
bao gồm 14 ngõ vào và 10 ngõ ra có khả năng mở rộng thêm bằng 7 module mở rộng
-
2048 từ
đơn (4 kbyte) thuộc miền nhớ đọc/ghi non – volatile để lưu chương trình (dùng
nhớ có giao diện với EEPROM)
-
2048 từ
đơn (4kbyte) thuộc kiểu đọc ghi để lưu dữ liệu (trong đó có 512 từ đầu thuộc miền
EEPROM)
-
I0.0,
Q0.0, V0.0, SM0.1
-
Tổng số
cổng vào/ ra cực đại là 64 cổng vào và 64 cổng ra
-
Có 14
ngõ vào từ I0.0 ¸ I0.1 và
I1.0 ¸ I1.5
-
Có 10
ngõ ra từ Q0.0 ¸ I0.1 và
Q1.0 ¸ Q1.1
-
Có thể gắn
thêm 1 module mở rộng bao gồm cả module analog
-
128
timer chia làm 3 loại theo độ phân giải khác nhau 4 timer 1ms, 16 timer 10ms và
108 timer 100ms
-
Có 128 bộ
đếm chia làm hai loại
+ Chỉ đếm lên
CTU
+ Vừa đếm lên vừa
đếm xuống CTUD
-
Có 688
bít nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc
+ SM0.0: luôn ở
trạng thái 1
+ SM0.1: bằng 1
trong vòng quét đầu tiên
-
Các chế
độ ngắt và xử lý ngắt gồm ngắt truyền thông, ngắt theo sườn lên hoặc xuống, ngắt
thời gian ngắt của bộ đếm tốc độ cao và ngắt truyền xung
-
Có 3 bộ
đếm tốc độ cao với nhịp 2kHz và 7kHz
-
2 bộ
phát xung nhanh cho dãy xung kiểu
+ PTO (Pulse
traisn output): điều tần
+ PWM (Pulse
width modulation): điều rộng xung
-
2 bộ chỉnh
tương tự
-
Toàn bộ
vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ khi PLC bị mất nguồn
nuôi
-
Các
đèn báo trên S7-200 CPU 214
+ SF (đèn đỏ):
đèn đỏ SF báo hiệu hệ thống bị hỏng. Đèn SF sáng lên khi PLC bị hỏng hóc
+ Run (đèn
xanh): đè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): đèn vàng chỉ định PLC đang ở chế độ dừng
+ 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 ¸ 1.5)
+ 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
¸ 1.1)
+ TERM: cho
phép máy lập trình tự quyết định chế độ hoạt động cho PLC hoặc Run hoặcStop
Hình 2.2. SƠ ĐỒ BỐ TRÍ CÁC BỘ PHẬN CỦA S7-200 CPU
*Mô tả cổng truyền thông:
-
S7-200
sử dụng cổng truyền thông nối tiếp RS485 với rắc cắm nối 9 chân để phục vụ cho
việc ghép nối với thiết bị lập trình hoặc với các trạm PLC khác.
-
Sơ đồ
các chân của cổng truyền thông.
+ Chân 1: Nối
mass
+ Chân 2: 24 V DC
+ Chân 3:
Truyền và nhận dữ liệu
+ Chân 4: không sử dụng
+ Chân 5: nối
mass
+ Chân 6: 5V
DC (có điện trở trong 100)
+ Chân 7: 24
V DC (dòng 120mA tối đa)
+ Chân 8:
Truyền và nhận dữ liệu
+ Chân 9:
không sử dụng
*Mô tả các đèn báo trên CPU S7- 200:
+ SF: Đèn màu
đỏ, báo hiệu hệ thống bị hỏng.
+ RUN: Đèn
xanh, chỉ định PCL đ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 rằng PLC đang ở chế độ dừng. Dừng chương trình đang thực hiện lại.
+ Các đèn màu
xanh từ I0.0 à I 1.5 chỉ trạng thái tức
thời của ngỡ vào PLC các đèn này báo hiệu trạng thái của tín hiệu ngõ vào theo
mức logic.
+ Các đèn màu
xanh từ Q0.0 à Q1.1 chỉ trạng thái tức
thời của ngõ ra PLC các đèn này báo hiệu trạng thái tín hiệu ngõ ra của PLC
theo mức logic.
Câu hỏi ôn tập: Em hãy so sánh
CPU 212 và CPU 214?
1.2.1. Địa chỉ các ngõ vào ra:
Địa chỉ ô nhớ S7 - 200 gồm 2 phần: Phần chữ và phần số.
Ví Dụ:
-
Các đường
tín hiệu từ bộ cảm biến được nối vào các module vào (các đầu vào của PLC), các
cơ cấu chấp hành được nối với các module ra (các đầu ra của PLC).
-
Hầu hết
các PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC hoặc
100/240VAC.
-
Mỗi đơn
vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các kênh I / O được
cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra hoạt động nhập
xuất trở nên dễ dàng và đơn giản.
-
Bộ xử lý
đọc và xác định các trạng thái đầu vào (ON, OFF) để thực hiện việc đóng hay ngắt
mạch ở đầu ra .
-
Plc
S7-200 có hai họ: S7-200 CPU21x và S7-200 CPU22x.
NỘI DUNG
|
CPU212
|
CPU214
|
Bộ nhớ chương trình
|
512 W
|
2048W
|
Bộ nhớ dữ liệu
|
512 W
|
2048 W
|
Khả năng dự phòng bộ nhớ khi mất nguồn
|
50 giờ
|
190 giờ
|
I/O địa chỉ
|
8In/6Out
|
14In/10Out
|
Tốc độ thực hiện lệnh logic
|
1,2µs/lệnh
|
0,8µs/lệnh
|
Bảng 2.1
NỘI DUNG
|
CPU221
|
CPU222
|
CPU224
|
CPU226
|
CPU22XM
|
Bộ nhớ chương trình
|
2048W
|
2048W
|
4096W
|
4096W
|
8192W
|
Bộ nhớ dữ liệu
|
1024W
|
1024W
|
2560W
|
2560W
|
5120W
|
Khả năng dự phòng bộ nhớ khi mất nguồn
|
50 giờ
|
50 giờ
|
190 giờ
|
190 giờ
|
190 giờ
|
I/O địa chỉ
|
6In/4
Out
|
8In/6
Out
|
14In/10
Out
|
24In/16
Out
|
24In/16
Out
|
Tốc độ thực hiện lệnh logic
|
0,37µs/lệnh
|
Bảng 2.2
Câu hỏi ôn tập: Em hãy so sánh các khối CPU 21X và CPU 22X?
1.2.2. Phần chữ chỉ vị trí và kích thước của ô nhớ
M : Chỉ ô nhớ trong miền các biến cờ có kích
thước là 1 bit
MB : Chỉ ô nhớ trong miền các biến cờ có kích
thước là 1 byte (8bit)
MW : Chỉ ô nhớ trong miền
các biến cờ có kích thước là 2 byte (16bit)
MD : Chỉ ô nhớ trong miền các biến cờ có kích thước
là 4 byte (32bit)
I : Chỉ ô nhớ có kích thước là 1 bit
trong miền bộ đệm ngõ vào số
IB : Chỉ ô nhớ có kích thước là 1 byte trong
miền bộ đệm ngõ vào số
IW :Chỉ
ô nhớ có kích thước là 2 byte (1từ) trong miền bộ đệm ngõ vào số
ID : Chỉ ô nhớ có kích thước là 4 byte (2từ)
trong miền bộ đệm ngõ vào số
Q : Chỉ ô nhớ có kích thước là 1 bit trong
miền bộ đệm ngõ ra số
QB : Chỉ ô nhớ có kích thước là 1 byte trong
miền bộ đệm ngõ ra số
QW : Chỉ ô nhớ có kích thước là 2 byte trong miền
bộ đệm ngõ ra số
QD : Chỉ ô nhớ có kích thước là 4 byte trong miền
bộ đệm ngõ ra số
T : Chỉ ô nhớ trong miền nhớ của bộ thời
gian (Timer)
C : Chỉ ô nhớ trong miền nhớ của bộ đếm
(counter)
PIB : Chỉ ô nhớ có kích thớc là 1 byte thuộc
vùng Peripheral Input, thường là địa chỉ cổng vào của các modul tương tự
PIW : Chỉ ô nhớ có kích thớc
là 2 byte thuộc vùng Peripheral Input, thường là địa chỉ cổng vào của các modul tương tự
PID : Chỉ ô nhớ có kích thớc là 4 byte thuộc
vùng Peripheral Input, thường là địa chỉ cổng vào của các modul tương tự
PQB : Chỉ ô nhớ có kích thước
là 1 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul
tương tự
PQW : Chỉ ô nhớ có kích thước
là 2 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul
tương tự
PQD : Chỉ ô nhớ có kích thớc
là 4 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul
tơng tự
1.2.3. Phần số chỉ
địa chỉ của byte hoặc bit trong miền nhớ đã xác định
Nếu ô nhớ đã được xác định
thông qua phần chữ là có kích thước 1 bit thì phần số sẽ là địa chỉ của byte và
số thứ tự của bit trong byte đó, được tách với nhau bằng dấu chấm.
Ví dụ: I 0.0 : Chỉ bit 0 của byte 0
Q 0.0 : Chỉ bit 0 của byte
0
M 0.0 : Chỉ bit 0 của byte
0
Trong trường hợp ô nhớ đã xác định là byte, từ hoặc từ kép thì phần số sẽ
là địa chỉ của byte đầu tiên trong mảng byte của ô nhớ đó.
Ví dụ: QB 0 chỉ ô nhớ có kích thước 1 byte ( byte
0) trong bộ đệm ngõ ra số
1.2.4. Cấu trúc bộ nhớ của S7 - 200
Bộ nhớ của S7-200 được chia thành 4
vùng với 1 tụ điện (hình 2.3) có nhiệm vụ duy trì dữ liệu trong 1 khoảng thời
gian nhất định khi mất nguồn.
Bộ nhớ của S7-200 có tính năng động
cao đọc và ghi được trong toàn vùng, loại trừ phần các bit nhớ đặc biệt được ký
hiệu bởi SM (special memory) chỉ có thể truy nhập để đọc.
Hình 2.3: bộ nhớ trong và ngoài của S7-200
Vùng chương trình: là miền bộ nhớ được
sử dụng để lưu giữ các lệnh chương trình. Vùng này thuộc kiểu non-volatile đọc/ghi
được.
Vùng tham số: là miền lưu giữ các
tham số như: từ khóa,địa chỉ trạm… Cũng giống như vùng chương trình, vùng tham
số thuộc kiểu non-volatile đọc/ghi đượ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 các kết quả các phép tính, hằng số được định
nghĩa trong chương trình, bộ đệm truyền thông…
Một phần của vùng nhớ này (200 byte đầu
tiên đối với CPU 212, 1K byte đầu tiên đối với CPU 214) thuộc kiểu non-volatile
đọc/ghi được.
Vùng đối tượng: Timer, bộ đếm, bộ đếm
tốc độ cao và 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-volatile nhưng đọc/ghi được.
Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương
trình, do vậy được trình bày cụ thể như sau.
Vùng dữ liệu là một miền nhớ động. Nó
có thể được truy nhập theo từng bit, từng byte, từng từ đơn (word) hoặc theo từng
từ kép và đượ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ỉ…
Ghi các dữ liệu kiểu bảng bị hạn chế
rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng cho những mục đích
nhất định.
Vùng dữ liệu lại được chia ra thành
những miền nhớ nhỏ với các công dụng khác nhau. Chúng được ký hiệu bằng các chữ
cái đầu của tên tiếng Anh, đặc trưng cho công dụng riêng của chúng như sau:+ V: Variable memory
-
I: Input
image register
-
O: Output image register
-
M: Internal memory bits
-
SM: Special memory bits
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) hoặc từ kép
(2word)
Hình sau mô tả vùng dữ liệu của
CPU212 và CPU214 ( hình 2.4)
Hình 2.4
Đị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 (+)l (+) chỉ số bit. Ví dụ V105.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.
Ví dụ: VB150 chỉ byte 150 thuộc miền V.
-
Truy nhập theo từ đơn: Tên
miền (+) W (+) địa chỉ byte cao của từ trong miền. Ví dụ: VW150 chỉ từ đơn gồm
2 byte 150 và 151 thuộc miền V, trong đó byte 150 có vai trò là byte cao trong
từ.
-
Truy nhập theo từ kép: Tên
miền (+)D (+) địa chỉ byte cao của từ trong miền. Ví dụ: VD150 chỉ từ kép gồm 4
byte 150,151,152 và 153 thuộc miền V, trong đó byte
-
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
-
150 có vai trò là byte cao
và byte 153 là byte thấp trong từ kép.
-
chỉ gồm 4 byte (từ kép). Quy
ước sử dụng con trỏ để truy nhập như sau:
Địa chỉ byte:(cao) là toán hạng lấy địa
chỉ của byte, từ, hoặc từ kép.
Ví dụ: A
C1= & VB150, thanh ghi AC1 chứa địa chỉ byte 150
thuộc miền V
VD100= & VW150, từ kép VD100 chứa địa chỉ byte cao
(VB150) của từ đơn VW150.
AC2= & VD150, thanh ghi AC2 chứa địa chỉ byte cao
(VB150) của từ kép VD150.
+ Con trỏ: là
toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào.
+ Ví dụ như với
phép gán địa chỉ trên thì
+ AC1, lấy nội
dung của byte VB150
+ VD100, lấy nội
dung của từ đơn VW150
+ AC2, lấy nội
dung của từ kép VD150.
-
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.
-
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 bộ đếm, hay Timer.
-
Dữ liệu kiểu đối tượng bao gồm
các thanh ghi của Timer, 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 đó. ( bảng 2.3)
Vùng nhớ
|
CPU 221
|
CPU 222
|
CPU 224
|
CPU 226
|
Vùng dữ liệu
|
V
|
V0.0¸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¸15.7
|
Q0.0¸Q15.7
|
Q0.0¸Q15.7
|
M
|
M0.0¸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¸L63.7
|
L0.0¸L63.7
|
L0.0¸63.7
|
L0.0¸L63.7
|
Vùng đối tượng
|
Timer
|
T0¸T255
|
T0¸T255
|
T0¸T255
|
T0¸T255
|
Counter
|
C0¸C255
|
C0¸C255
|
C0¸C255
|
C0¸C255
|
Analog inputs
|
none
|
AIW0¸AIW30
|
AIW0¸AIW62
|
AIW0¸AIW62
|
Analog outputs
|
none
|
AQW0¸AQW30
|
AQW0¸AQW62
|
AQW0¸AQW62
|
Thanh nghi ACC
|
AC0¸AC3
|
AC0¸AC3
|
AC0¸AC3
|
AC0¸AC3
|
Bộ đếm tốc độ cao
|
HC0,HC3,HC4, HC5
|
HC0,HC3, HC4, HC5
|
HC0¸HC5
|
HC0¸HC5
|
Bảng 2.3
-
CPU 212 cho phép mở rộng nhiều
nhất 2 modul và CPU214 nhiều nhất là 7 modul. Các modul tương tự và số đều có
trong S7-200.
-
Có thể mở
rộng ngõ vào/ra của PLC bằng cách ghép thêm vào nó các modul mở rộng về phía
bên phải của CPU, làm thành một móc xích.
-
Địa chỉ
các vị trí của modul được xác định bằng kiểu vào/ra và vị trí của modul trong
móc xích, bao gồm các modul có cùng kiểu.
-
Ví dụ
như một modul ngõ ra không thể gán địa chỉ của một modul ngõ vào, cũng như một
modul tương tự không thể có địa chỉ như một modul số và ngược lại.
-
Các
modul mở rộng số hay rời rạc đều chiếm chỗ trong bộ đệm tương ứng với số ngõ
vào/ra của modul.
-
Sau đây
là ví dụ về cách đặt địa chỉ cho các modul mở rộng CPU214: ( bảng 2.4)
Bảng 2.4
- Cách đặt địa chỉ cho các modul mở rộng
CPU224: ( hình 2.5)
Hình 2.5