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ố.
-
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ố
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)
Đị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.
1.3 Xử lý chương trình.
1.3.1. Vòng quét chương trình
Hình
2.7
PLC thực hiện chương trình theo chu trình lặp
(hình 2.7), mỗi vòng lặp được gọi là vòng quét.
Mỗi vòng quét bắt đầu bằng giai đoạn đọc dữ
liệu từ các ngõ vào (contact, sensor, relay...) 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 tại lệnh MEND.
Sau giai đọan 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 ngõ ra.
Như vậy, tại thời điểm thực hiện lệnh vào/ra,
lệnh này không trực tiếp làm việc với cổng vào/ra mà chỉ thông qua bộ đệm ảo của
cổng trong vùng tham số.
Việc truyền thông giữa bộ đệm ảo với thiết bị
ngoại vi trong giai đọan 1 và 4 là do CPU quản lý.
Khi gặp lệnh vào/ra ngay lập tức thì hệ thống
sẽ cho 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 trực tiếp với cổng vào/ra.
Thường việc thực thi một vòng quét xảy ra với
một thời gian rất ngắn, một vòng quét đơn (single scan) có thời gian thực hiện
từ 1ms tới 100ms.
Việc thực hiện một chu kỳ quét dài hay ngắn
còn phụ thuộc vào độ dài của chương trình và cả mức độ giao tiếp giữa PLC với
các thiết bị ngoại vi (màn hình hiển thị…).
Vi xử lý có thể đọc được tín hiệu ở ngõ vào
chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơn một chu kỳ quét
thì vi xử lý coi như không có tín hiệu này.
Tuy nhiên trong thực tế sản xuất, thường các
hệ thống chấp hành là các hệ thống cơ khí nên tốc độ quét như trên có thể đáp ứng
được các chức năng của dây chuyền sản xuất.
Để khắc phục thời gian quét dài, ảnh hưởng đến
chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập nhật tức thời,
các hệ thống này thường được áp dụng cho các PLC lớn có số lượng I/O nhiều,
truy cập và xử lý lượng thông tin lớn.
CPU S7 – 200 được thiết kế để thực hiện một chuỗi các
công việc, lặp đi lặp lại. Việc thực hiện một cách có chu kỳ gọi là chu kỳ vòng
quét.
Trong 1 chu kỳ vòng quét, CPU thực hiện các nhiệm vụ
sau :
-
Đọc
các dữ liệu đầu vào.
-
Thực
thi chương trình.
-
xử
lý các yêu cầu truyền thông.
-
Tự
chuẩn đoán lỗi.
-
Xuất
kết quả đầu ra.
Mỗi chu kỳ quét bắt đầu bằng
việc đọc trạng thái của các đầu vào số và sau đó tới vùng nhớ đệm đầu vào.
CPU được dữ liệu từ vùng nhớ
đệm, bắt đầu từ câu lệnh đầu tiên cho tới câu lệnh sau cùng trong mỗi chu kỳ
quét, kết quả được lưu lại ở các vùng nhớ thích hợp và bộ đệm ảo đầu ra.
Nếu có yêu cầu truyên thông
thì CPU xử lý tất cả các thông báo được nhận từ cổng truyền thông.
CPU Kiểm tra lỗi của hệ điều
hành trong ROM, các vùng nhớ và các trạng tháI làm việc module.
1.3.2. Cấu trúc chương trình của S7 -200
Có thể lập trình cho PLC S7 – bằng một trong các phần mền
sau:
-
STEP7 – Micro/DOS
-
STEP7 – Micro/WIN –
V40(E)
-
Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx
và các máy tính cá nhân (PC).
-
Các chương trình cho S7 – 200 phải có cấu trúc bao gồm chương trình chính
(main program) và sau đó đến các chương trình con và các chương trình xử lý ngắt
được chỉ ra sau đây ( hình 2.8):
+ Chương
trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND)
+ Chương
trình con là một bộ phận của chương trình. Các chương trình con phải được viết
sau lệnh kết thúc chương trình chính, đó là lệnh MEND.
+ Các
chương trình xử lý ngắt là một bộ phận của chương trình. Nếu cần sử dụng chương
trình xử lý ngắt phải viết sau lệnh kết thúc chương trình chính MEND.
-
Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình
chính. Sau đó đến các chương trình xử lý ngắt.
-
Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện
hơn trong việc đọc chương trình sau này.
-
Có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng
sau chương trình chính.
Cấu trúc của một
PLC bao gồm chương trình chính (main program) và sau đó là các chương trình con
và các chương trình xử lý ngắt.
1.3.3. Phương pháp lập trình
Có 3 phương pháp lập trình:
-
Phương pháp hình thang.
(LAD)
-
Phương pháp liệt kê lệnh.(STL)
-
Phương pháp lập trình
theo sơ đồ khối. (PBD)
Nhưng trong chương trình ta chỉ dùng phương pháp lập
trình LAD:
LAD là một ngôn ngữ lập trình đồ hoạ. Những thành phần
cơ bản dung trong LAD tương ứng với thành phần điều khiển Rơle.
-
Tiếp điểm: các tiếp điểm thường
đóng thường mở
-
Cuộn dây:
-
Hộp (box) : Là mô
tả các hàm khác nhau, nó làm việc khi có dòng điện chạy đền hộp.
-
Những dạng thờng đợc
miêu tả bằng hoop là các bộ thời gian (Timer), bộ đếm (Counter) và các hàm toán
học.
15. Cài đặt và sử dụng phần mềm
STEP 7 - Micro/win 32 (xem ở tài liệu
phát tay)