(NB) Giáo trình PLC cơ bản cung cấp cho người học những kiến thức như: Điều khiển lập trình PLC S7 – 200; Lập trình dùng tập lệnh PLC S7-200; Lắp đặt mô hình điều khiển bằng PLC. Mời các bạn cùng tham khảo!
ĐIỀU KHIỂN LẬP TRÌNH PLC S7 – 200
Cấu trúc của một PLC
Thiết bị điều khiển logic khả trình (PLC) là một thiết bị linh hoạt cho phép thực hiện các thuật toán điều khiển số thông qua ngôn ngữ lập trình, thay vì sử dụng mạch số Với chương trình điều khiển, PLC trở thành một bộ điều khiển nhỏ gọn, dễ dàng thay đổi thuật toán và giao tiếp hiệu quả với môi trường xung quanh, bao gồm các PLC khác và máy tính Toàn bộ chương trình điều khiển được lưu trữ trong bộ nhớ của PLC dưới dạng các khối chương trình và thực hiện theo chu kỳ quét Để thực hiện chương trình điều khiển, PLC cần có bộ vi xử lý (CPU), bộ điều hành và bộ nhớ để lưu trữ chương trình và dữ liệu, cũng như các cổng vào/ra để giao tiếp với các đối tượng điều khiển Ngoài ra, PLC còn cần các khối chức năng đặc biệt như bộ đếm và bộ thời gian để phục vụ cho các bài toán điều khiển số.
Thiết bị logic khả trình được lắp đặt thành bộ và chưa có nhiệm vụ cụ thể ban đầu Tất cả các cổng logic cơ bản, chức năng nhớ, timer, counter được tích hợp và kết nối thông qua chương trình để thực hiện nhiệm vụ điều khiển Các thiết bị điều khiển này được phân biệt dựa trên các chức năng khác nhau.
- Các ngõ vào và ra
- Các chức năng đặc biệt
- Loại xử lý chương trình
Các thiết bị điều khiển lớn thường được lắp đặt thành các modul riêng biệt, trong khi các thiết bị điều khiển nhỏ được tích hợp chung trong một bộ Những bộ điều khiển này có số lượng ngõ vào và ra được xác định trước và cố định.
Thiết bị điều khiển nhận tín hiệu từ các cảm biến ở ngõ vào, sau đó xử lý tín hiệu qua chương trình điều khiển trong bộ nhớ Kết quả xử lý được truyền đến ngõ ra của thiết bị để điều khiển đối tượng hoặc khâu điều khiển dưới dạng tín hiệu.
Cấu trúc của một PLC có thể được mô tả như hình vẽ sau:
Hình 1.1 Cấu trúc của một PLC
Thông tin trong PLC được lưu trữ trong bộ nhớ, nơi mỗi phần tử vi mạch có khả năng chứa 1 bit dữ liệu Bit dữ liệu, hay còn gọi là Data Binary Digital, là một chữ số nhị phân.
Khối vi xử lý trung tâm
Trong vi mạch nhớ, dữ liệu chỉ có thể là 1 hoặc 0, nhưng thường được tổ chức thành nhóm 8 bit, gọi là một byte Mỗi byte nhớ có địa chỉ riêng, bắt đầu từ 0, và nội dung của byte nhớ là dữ liệu tạm thời được lưu trữ Địa chỉ của mỗi byte nhớ là cố định và khác nhau giữa các byte Để lưu trữ dữ liệu lớn hơn một byte, PLC cho phép kết hợp hai byte nhớ liền kề thành một đơn vị nhớ gọi là từ đơn (Word), với địa chỉ thấp hơn trong cặp byte được sử dụng làm địa chỉ của từ đơn.
Khi một từ đơn có địa chỉ là 2, các byte nhớ sẽ được phân bổ tại địa chỉ 2 và 3, trong đó địa chỉ 2 đại diện cho byte cao và địa chỉ 3 đại diện cho byte thấp.
IW 2 IW2 là từ đơn có địa chỉ 2
IB2 là byte có địa chỉ 2
IB3 là byte có địa chỉ 3
Trong trường hợp dữ liệu cần lưu trữ vượt quá khả năng của một từ đơn, PLC cho phép kết hợp 4 byte liên tiếp thành một đơn vị nhớ gọi là từ kép (Double Word) Địa chỉ thấp nhất trong 4 byte này sẽ được xác định là địa chỉ của từ kép.
Trong một từ kép có địa chỉ 100, các byte nhớ tương ứng sẽ có địa chỉ từ 100 đến 103, với 100 là địa chỉ byte cao và 103 là địa chỉ byte thấp.
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ó hai loại 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
Bộ nhớ máy tính bao gồm nhiều ô nhớ xác định, mỗi ô có dung lượng cố định và chỉ tiếp nhận một lượng thông tin nhất định Mỗi ô nhớ được đánh dấu bằng địa chỉ riêng, giúp lưu trữ các chương trình đã sửa đổi hoặc dữ liệu tạm thời trong quá trình tính toán và lập trình Một đặc điểm quan trọng của bộ nhớ RAM là nội dung trong các ô nhớ sẽ bị mất khi nguồn điện bị cắt.
Bộ nhớ ROM chứa thông tin không thể xóa hoặc thay đổi, được sử dụng bởi nhà sản xuất để lưu trữ các chương trình hệ thống Chương trình trong bộ nhớ ROM có nhiệm vụ quan trọng trong việc khởi động và điều hành các chức năng cơ bản của thiết bị.
- Điều khiển và kiểm tra các chức năng hoạt động của CPU (hệ điều hành)
- Dịch ngôn ngữ lập trình thành ngôn ngữ máy
- Khi bị mất nguồn điện, bộ nhớ ROM vẫn giữ nguyên nội dung của nó và không bao giờ bị mất
Bộ xử lý trung tâm (CPU) là thành phần chủ chốt trong PLC, chịu trách nhiệm điều khiển và quản lý mọi hoạt động bên trong Thông tin được trao đổi giữa CPU, bộ nhớ và khối vào/ra thông qua hệ thống Bus dưới sự điều khiển của CPU Để đảm bảo hoạt động ổn định, một mạch dao động thạch anh cung cấp xung clock với tần số chuẩn, thường là 1 hoặc 8 MHz.
Tần số xung clock của bộ xử lý xác định tốc độ hoạt động của PLC và đảm bảo sự đồng bộ cho tất cả các phần tử trong hệ thống, điều này rất quan trọng để tối ưu hóa hiệu suất của toàn bộ hệ thống.
Sau khi khởi động, hệ điều hành sẽ thiết lập lại các counter, timer và bit nhớ không được lưu trữ bởi pin dự phòng về 0 Để thực hiện chương trình, hệ điều hành sẽ đọc lần lượt từng dòng từ đầu đến cuối và thực hiện các câu lệnh tương ứng.
Các memory bit là các phần tử nhớ, mà hệ điều hành ghi nhớ trạng thái tín hiệu
Bộ đệm là một vùng nhớ, mà hệ điều hành ghi nhớ các trạng thái tín hiệu ở các ngõ vào ra nhị phân
Accumulator là một bộ nhớ trung gian mà qua nó timer hay counter được nạp vào hay thực hiện các phép toán số học
Timer và counter cũng là các vùng nhớ, hệ điều hành ghi nhớ các giá trị đếm trong nó
Bộ nhớ chương trình, hệ điều hành và các mô-đun ngoại vi (cổng vào và ra) được kết nối với PLC thông qua Bus nối Bus là hệ thống dây dẫn cho phép trao đổi dữ liệu, trong khi hệ điều hành quản lý việc truyền tải thông tin trên các dây dẫn này.
Thiết bị điều khiển lập trình S7-200
S7-200 là thiết bị điều khiển lập trình nhỏ gọn của Siemens (Đức) với cấu trúc modul và khả năng mở rộng Hai thành phần chính là khối vi xử lý CPU 212 và CPU 214, khác nhau về số lượng đầ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 2 modul
- CPU 214 có 14 cổng vào và 10 cổng ra, có khả năng mở rộng thêm 7 modul Trong tài liệu này chỉ đề cập đến CPU 214 là chủ yếu
CPU 214 có nh ữ ng đặc điể m sau :
- 2048 từ nhớ chương trình ( chứa trong ROM điện )
- 2048 từ nhớ dữ liệu ( trong đó 256 từ chứa trong ROM điện )
- 14 ngõ vào và 19 ngõ ra digital kèm theo trong khối trung tâm
- Hỗ trợ tối đa 7 modul mở rộng kể cả modun analog
- Tổng số cổng vào/ra cực đại là 64 cổng vào ra digital
- 128 Timer chia làm 3 loại theo độ phân giải khác nhau: 4 Timer 1mS, 16 Timer 10mS, 108 Timer có độ phân giải là 100mS
- 128 bộ đếm chia làm 2 loại: 96 đếm lên và 32 đếm lên xuống
- 688 ô nhớ đặt biệt dùng để thông báo trạng thái và đặt chế độ làm việc
- Có phép tính số học
- Ba bộ đếm tốc độ cao với nhịp 2KHz và 7 KHz
- Hai bộ điều 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
2.1 Địa chỉ các ngõ vào / ra Địa chỉ ô nhớ trong S7 bao gồm hai phần: Phần chữ và phần số
Phần chữ Phần số Phần chữ Phần số
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 (8 bit)
MW: Chỉ ô nhớ trong miền các biến cờ có kích thước là 2 byte (16 bit)
MD: Chỉ ô nhớ trong miền các biến cờ có kích thước là 4 byte (32 bit)
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ố
Trong miền bộ đệm ngõ vào số, ô nhớ IW có kích thước 2 byte (tương đương 1 từ), trong khi ô nhớ ID có kích thước 4 byte (tương đương 2 từ) Đối với miền bộ đệm ngõ ra số, ô nhớ Q chỉ chiếm 1 bit.
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 mô đun 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 mô đun 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 mô đun 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 mô đun 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 mô đun 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 mô đun 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 mô đun tương tự
DBX: Chỉ ô nhớ có kích thước là 1 bit trong khối dữ liệu DB, được mở bằng lệnh OPN DB (Open Data Block)
DBB: Chỉ ô nhớ có kích thước là 1 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DB (Open Data Block)
DBW: Chỉ ô nhớ có kích thước là 2 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DB (Open Data Block)
DBD: Chỉ ô nhớ có kích thước là 4 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DB (Open Data Block)
DBx.DBX: Chỉ trực tiếp ô nhớ có kích thước là 1 bit trong khối dữ liệu DBx, với x là chỉ số của khối DB Ví d ụ: DB3.DBX1.5
DBx.DBB: Chỉ trực tiếp ô nhớ có kích thước là 1 byte trong khối dữ liệu DBx, với x là chỉ số của khối DB Ví d ụ: DB4.DBB1
DBx.DBW: Chỉ trực tiếp ô nhớ có kích thước là 2 byte trong khối dữ liệu DBx, với x là chỉ số của khối DB Ví d ụ: DB5.DBW1
DBx.DBD: Chỉ trực tiếp ô nhớ có kích thước là 4 byte trong khối dữ liệu DBx, với x là chỉ số của khối DB Ví d ụ: DB5.DBD1
DIX: Chỉ ô nhớ có kích thước là 1 bit trong khối dữ liệu DB, được mở bằng lệnh OPN DI (Open instance data block)
DIB: Chỉ ô nhớ có kích thước là 1 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DI (Open instance data block)
DIW: Chỉ ô nhớ có kích thước là 2 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DI (Open instance data block)
DID: Chỉ ô nhớ có kích thước là 4 byte trong khối dữ liệu DB, được mở bằng lệnh OPN DI (Open instance data block)
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 có kích thước 1 bit, thì địa chỉ sẽ bao gồm địa chỉ của byte và số thứ tự của bit trong byte, được phân tách bằng dấu chấm.
I 0.0: Chỉ bit 0 của byte 0 trong miền nhớ bộ đệm ngõ vào số PII
Q 4.1: Chỉ bit 1 của byte 4 của miền nhớ bộ đệm ngõ ra số PIQ
M 10.5: Chỉ bit 5 của byte 10 trong miền các bi ến cờ M
Khi ô nhớ được xác định là byte, từ hoặc từ kép, phần số sẽ tương ứng với địa chỉ của byte đầu tiên trong mảng byte của ô nhớ đó.
Ví dụ: DIB 15: Chỉ ô nhớ có kích thước 1 byte (byte 15) trong khối DB đã được mở bằng lệnh OPN DI
DIW 18: Chỉ ô nhớ có kích thước 1 từ gồm 2 byte 18 và 19 trong khối DB đã được mở bằng lệnh OPN DB
DB2.DBW15: Chỉ ô nhớ có kích thước 2 byte 15 và 16 trong khối dữ liệu DB2
M 105: Chỉ ô nhớ có kích thước 2 từ gồm 4 byte 105, 106, 107, 108 trong miền nhớ các biến cờ M.
Xử lý chương trình
PLC thực hiện chương trình theo chu trình lặp, gọi là vòng quét Mỗi vòng quét bắt đầu bằng việc chuyển dữ liệu từ các cổng vào số đến vùng bộ đệm ảo ngõ vào (I), sau đó thực hiện chương trình từ lệnh đầu tiên đến lệnh kết thúc Sau khi thực hiện, nội dung của bộ đệm ảo ngõ ra (Q) được chuyển tới các cổng ra số Cuối cùng, vòng quét kết thúc bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi.
Thời gian vòng quét (Scan time) của PLC không cố định và có thể thay đổi, phụ thuộc vào số lượng lệnh trong chương trình và khối lượng dữ liệu truyền thông Một số vòng quét có thể thực hiện nhanh chóng, trong khi những vòng khác lại kéo dài hơn.
Thời gian vòng quét trong PLC ảnh hưởng trực tiếp đến tính thời gian thực của chương trình điều khiển Khi đọc dữ liệu từ đối tượng và gửi tín hiệu điều khiển, khoảng thời gian trễ bằng thời gian vòng quét Do đó, thời gian vòng quét càng ngắn, tính thời gian thực của chương trình càng cao.
Khi thực hiện lệnh vào/ra, lệnh thường không tương tác trực tiếp với cổng mà thông qua bộ đệm ảo trong vùng nhớ tham số Hệ điều hành CPU quản lý việc truyền thông giữa bộ đệm ảo và các thiết bị ngoại vi Trong một số module CPU, khi gặp lệnh vào/ra khẩn cấp, hệ thống sẽ tạm dừng mọi công việc khác, bao gồm cả chương trình xử lý ngắt, để thực hiện lệnh trực tiếp với cổng vào/ra.
3.2 Cấu trúc chương trình của S7 – 200
Có thể lập trình cho PLC S7 – 200 bằng cách sử dụng một trong các phần mềm sau:
Những phần mềm này đều có thể lập trình 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 cần có cấu trúc bao gồm chương trình chính (main program) cùng với các chương trình con và chương trình xử lý ngắt.
- 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 phần quan trọng của chương trình, cần được viết sau lệnh kết thúc chương trình chính (MEND) Các chương trình con nên được nhóm lại ngay sau chương trình chính, tiếp theo là các chương trình xử lý ngắt Cách sắp xếp này giúp cấu trúc chương trình rõ ràng và dễ đọc hơn trong tương lai, cho phép linh hoạt trong việc kết hợp các chương trình con và chương trình xử lý ngắt sau chương trình chính.
Cách lập trình cho S7 – 200 nói riêng và cho các PLC hãng Seimens nói chung dựa trên 3 phương pháp cơ bản:
- Phương pháp hình thang (Ladder Logic viết tắt là LAD)
Phương pháp liệt kê lệnh (Statement List, viết tắt là STL) là một kỹ thuật quan trọng trong lập trình, giúp tổ chức và quản lý các lệnh một cách hiệu quả Chương này sẽ trình bày các thành phần cơ bản của phương pháp STL và cách áp dụng chúng trong quá trình lập trình.
- Phương pháp lập trình theo sơ đồ khối (Funtion Block Diagramm FBD) nhưng chỉ có trong Version 3.0 của phần mềm STEP 7
Nếu chương trình được lập trình theo kiểu LAD, thiết bị lập trình sẽ tự động tạo ra một chương trình tương ứng theo kiểu STL Tuy nhiên, không phải tất cả các chương trình viết theo kiểu STL đều có thể chuyển đổi sang dạng LAD.
Phương pháp STL sử dụng bộ lệnh tương ứng với mỗi tiếp điểm, cuộn dây và hộp trong LAD, và các lệnh này cần được đọc một cách chính xác.
SBR 0 Chương trình con thứ 1
SBR n Chương trình con thứ n + 1
INT 0 Chương trình xử lý ngắt thứ 1
INT n Chương trình xử lý ngắt thứ n+1
Thực hiện trong 1 vòng quét
Thực hiện khi được chương trình chính gọi
Thực hiện khi có tín hiệu báo ngắt
Để đưa ra quyết định về giá trị trạng thái đầu ra hoặc một giá trị logic cho phép thực hiện chức năng của các hộp, cần phối hợp trạng thái của các tiếp điểm Để làm quen với các thành phần cơ bản của LAD và STL, cần nắm rõ các định nghĩa cơ bản liên quan.
LAD, hay còn gọi là ngôn ngữ lập trình đồ họa, sử dụng các thành phần cơ bản tương ứng với bảng điều khiển rơle Trong chương trình LAD, các phần tử cơ bản được dùng để biểu diễn các lệnh logic.
- Tiếp điểm: là biểu tượng (symbol) mô tả các tiếp điểm của rơle Các tiếp điểm đó có thể là thường đóng hay thường
- Cuộn dây (coil): là biểu tượng mô tả rơle được mắc theo chiều dòng điện cung cấp cho rơ le
Hộp (box) là biểu tượng thể hiện các hàm khác nhau trong hệ thống điện, hoạt động khi có dòng điện chạy qua Các loại hàm thường được mô tả bằng hộp bao gồm bộ thời gian (Timer), bộ đếm (Counter) và các hàm toán học Để đảm bảo hoạt động hiệu quả, cuộn dây và các hộp cần được mắc đúng chiều dòng điện.
Mạng LAD là hệ thống kết nối các phần tử để tạo thành mạch điện hoàn chỉnh, với đường nguồn bên trái là dây nóng và đường nguồn bên phải là dây trung hòa (neutral), đóng vai trò là đường trở về nguồn cung cấp.
Phương pháp liệt kê lệnh (STL) là cách thể hiện chương trình dưới dạng tập hợp các câu lệnh, trong đó mỗi câu lệnh, bao gồm cả những câu lệnh biểu diễn chức năng của PLC, đóng vai trò quan trọng Định nghĩa về ngăn xếp logic (logic stack) cũng là một phần thiết yếu trong việc hiểu và áp dụng phương pháp này.
Stack 0 – bit đầu tiên hay bit trên cùng của ngăn xếp
Stack 1 – bit thứ hai của ngăn xếp
Stack 2 – bit thứ ba của ngăn xếp
Stack 3 – bit thứ tư của ngăn xếp
Stack 4 – bit thứ năm của ngăn xếp
Stack 5 – bit thứ sáu của ngăn xếp
Stack 6 – bit thứ bảy của ngăn xếp
Stack 7 – bit thứ tám của ngăn xếp
Stack 8 – bit thứ chín của ngăn xếp Để tạo ra được một chương trình dạng STL, người lập trình cần phải hiểu rõ phương thức sử dụng 9 bit ngăn xếp logic của S7 – 200 Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau Tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc với bit đầu tiên hoặc với bit đầu và bit thứ hai của ngăn xếp Giá trị logic mới đều có thể được gửi (hoặc được nối thêm) vào ngăn xếp Khi phối hợp hai bit đầu tiên của ngăn xếp, thì ngăn xếp sẽ được kéo lên một bit Ngăn xếp và tên của từng bit trong ngăn xếp được biểu diễn trong hình trên
Kết nối dây giữa PLC và các thiết bị ngoại vi
Kết nối dây giữa PLC và các thiết bị ngoại vi là yếu tố quan trọng quyết định khả năng giao tiếp của PLC với máy tính lập trình và đảm bảo hệ thống điều khiển hoạt động đúng theo yêu cầu thiết kế Hơn nữa, việc nối dây còn liên quan đến an toàn cho cả PLC và hệ thống điều khiển.
4.1 Giới thiệu CPU 214 và cách kết nối với thiết bị ngoại vi
Sơ đồ bề mặt của bộ điều khiển lập trình S7-200 CPU 214 được cho như hình 1.2
Để bộ điều khiển lập trình S7-200 CPU 214 hoạt động, người sử dụng cần kết nối PLC với nguồn cung cấp và các thiết bị ngoại vi Để nạp chương trình vào CPU, người dùng phải soạn thảo chương trình bằng thiết bị lập trình hoặc máy tính với phần mềm tương ứng, sau đó có thể nạp trực tiếp vào CPU hoặc sao chép vào thẻ nhớ để cắm vào rãnh thẻ nhớ trên CPU Thông thường, trong quá trình lập trình và kiểm tra hoạt động của PLC, người lập trình sẽ kết nối trực tiếp thiết bị lập trình hoặc máy tính cá nhân với PLC Do đó, để hệ thống điều khiển bằng PLC hoạt động hiệu quả, cần thiết phải kết nối PLC với máy tính và các ngõ vào ra với thiết bị ngoại vi.
Báo trạng thái ngõ vào/ngõ ra
Báo trạng thái hoạt động của
Q0.0 Q0.7 Công tắc chọn kiểu hoạt động
Cổng kết nối với mô đun mở rộng
Cổng giao tiếp với máy tính
4.1.1 Kết nối với máy tính Đối với các thiết bị lập trình của hãng Siemens có các cổng giao tiếp PPI thì có thể kết nối trực tiếp với PLC thông qua một sợi cáp Tuy nhiên đối với máy tính cá nhân cần thiết phải có cáp chuyển đổi PC/PPI Sơ đồ nối máy tính với CPU thuộc họ S7-
Hình 1.3: Kết nối máy tính với CPU qua cổng truyền thông PPI sử dụng cáp PC/PPI
Tùy thuộc vào tốc độ truyền giữa máy tính và CPU, các công tắc 1, 2, 3 cần được điều chỉnh ở vị trí phù hợp Đối với CPU 214, tốc độ truyền thường được thiết lập là 9,6 KBaud, tương ứng với việc đặt công tắc 123 theo thứ tự 010.
Tùy thuộc vào chế độ truyền thông là 10 Bit hay 11 Bit, công tắc 4 cần được đặt ở vị trí phù hợp Khi kết nối với máy tính, công tắc 4 sẽ chọn chế độ truyền thông thích hợp.
Công tắc 5 trên cáp PC/PPI đóng vai trò quan trọng trong việc kết nối port RS-232 của modem với CPU S7-200 Khi kết nối với máy tính, công tắc 5 cần được đặt ở chế độ thiết bị truyền thông dữ liệu (DCE) Ngược lại, khi kết nối cáp PC/PPI với modem, port RS-232 của cáp sẽ được chuyển sang chế độ thiết bị đầu cuối dữ liệu (DTE).
4.1.2 Kết nối vào/ra với ngoại vi
Các ngõ vào và ra của PLC là cần thiết để điều khiển và giám sát quá trình Chúng được phân thành hai loại cơ bản: số (Digital) và tương tự (Analog), trong đó hầu hết các ứng dụng sử dụng ngõ vào/ra số Bài viết này chỉ tập trung vào việc kết nối ngõ vào/ra số với các thiết bị ngoại vi, trong khi ngõ vào/ra tương tự sẽ được đề cập ở phần sau Đối với bộ điều khiển lập trình S7-200 của Siemens, có nhiều loại CPU với điện áp cung cấp khác nhau cho các ngõ vào ra, và việc nối dây sẽ phụ thuộc vào từng loại CPU Thông tin chi tiết về cách thực hiện nối dây có thể được tìm thấy trong sổ tay kèm theo của nhà sản xuất.
Các CPU của PLC có thể là khối riêng hoặc tích hợp ngõ vào, ngõ ra và chức năng đặc biệt, tùy thuộc vào loại và họ PLC Đối với PLC thuộc họ S7-200, nhà sản xuất thường lắp đặt các khâu vào, khâu ra và CPU trong cùng một vỏ hộp, tuy nhiên nguồn cung cấp cho các khâu này hoàn toàn độc lập Nguồn cung cấp cho CPU của họ S7-200 có thể khác nhau.
* K ế t n ố i các ngõ vào s ố v ớ i ngo ạ i vi
Các ngõ vào của PLC có thể được thiết kế dưới dạng khối riêng lẻ, kết hợp với ngõ ra trong một khối hoặc tích hợp trên khối CPU Dù ở hình thức nào, các ngõ vào đều cần nguồn điện riêng, với điện áp phụ thuộc vào loại ngõ vào Cần chú ý rằng trong một khối ngõ vào, cũng như các ngõ vào tích hợp trên CPU, có thể có các nhóm được cấp nguồn độc lập Do đó, việc cấp nguồn cho các nhóm này cần được thực hiện cẩn thận.
Xoay chiều: 15 35 VAC , f = 47 63 Hz; dòng cần thiết nhỏ nhất 4mA
79 135 VAC, f = 47 63 Hz; dòng cần thiết nhỏ nhất 4mA
Một chiều: 15 30 VDC; dòng cần thiết nhỏ nhất 4mA
Sơ đồ mạch điện bên trong của các ngõ vào được cho như hình 1.4 a,b a/ b/
Hình 1.4: a) Mạch điện của 1 ngõ vào số sử dụng nguồn cung cấp DC b) Mạch điện của 1 ngõ vào số sử dụng nguồn cung cấp AC
Tùy theo yêu cầu mà có thể quyết định sử dụng loại ngõ vào nào
+ Ngõ vào DC: - Điện áp DC thường thấp do đó an toàn hơn
- Đáp ứng ngõ vào DC rất nhanh
- Điện áp DC có thể được kết nối với nhiều phần tử hệ thống điện
Ngõ vào AC yêu cầu thời gian để nhận biết, cụ thể là với điện áp có tần số 50 Hz, cần khoảng thời gian 1/50 giây để có thể phát hiện.
- Tín hiệu AC ít bị nhiễu hơn tín hiệu DC, vì vậy chúng thích hợp với khoảng cách lớn và môi trường nhiễu (từ)
- Nguồn AC kinh tế hơn
Tín hiệu AC thường được sử dụng trong các thiết bị tự động hiện nay Trong trường hợp các ngõ vào số, mỗi ngõ vào thường được kết nối với một bộ tạo tín hiệu nhị phân như nút nhấn, công tắc hoặc cảm biến tiếp cận, trừ những trường hợp đặc biệt Hình 3.4a,b,c minh họa cách kết nối dây giữa các ngõ vào PLC và các bộ tạo tín hiệu nhị phân khác nhau.
Trong hình 3.4a, có ba ngõ vào bao gồm nút nhấn thường hở, tiếp điểm của rơ le nhiệt và cảm biến tiếp cận, với ngõ ra là rơ le Cả ba bộ phận này đều tạo ra tín hiệu quan trọng cho hệ thống.
22 được cung cấp bởi một nguồn 24VDC Khi tiếp điểm hở hoặc cảm biến phát tín hiệu
“0” thì không có điện áp tại các ngõ vào Nếu các tiếp điểm được đóng lại hoặc cảm biến phát tín hiệu “1” thì ngõ vào được cấp điện
Hình 1.5: Kết nối ngõ vào với ngoại vi là nút nhấn và cảm biến có ngõ ra là rơ le,
PNP và NPN Đối với các ngõ vào của CPU 214 DC/DC/DC, theo sổ tay được kết nối như hình 1.5
* K ế t n ố i các ngõ ra s ố v ớ i ngo ạ i vi
Các ngõ ra của PLC có thể được chế tạo dưới dạng khối riêng lẻ, kết hợp với các ngõ ra chung, hoặc tích hợp trực tiếp trên khối CPU Dù ở hình thức nào, các ngõ ra cần được cung cấp nguồn riêng với điện áp phù hợp theo loại ngõ ra Cần lưu ý rằng trong một khối ra hoặc các ngõ ra tích hợp trên CPU, có thể có các nhóm được cấp nguồn độc lập Do đó, việc cấp nguồn cho các nhóm này cần được thực hiện cẩn thận Nguồn cung cấp cho các khối ra của S7-200 có thể là xoay chiều với dải điện áp từ 20 đến 264 VAC và tần số từ 47 đến 63 Hz.
Một chiều: 5 30 VDC đối với ngõ ra rơ le; 20.4 28.8 VDC đối với ngõ ra transistor;
Các khối ra tiêu chuẩn của PLC thường có từ 8 đến 32 ngõ ra cùng loại với dòng định mức khác nhau Các ngõ ra này có thể là rơ le, transistor hoặc triac, trong đó rơ le là một loại ngõ ra phổ biến.
Các linh kiện điện tử linh hoạt nhất bao gồm ngõ ra AC và DC Tuy nhiên, ngõ ra rơ le có thời gian đáp ứng chậm, chi phí cao và dễ hư hỏng sau vài triệu lần đóng cắt Ngõ ra transistor chỉ hoạt động với nguồn cung cấp DC, trong khi ngõ ra triac chỉ sử dụng được với nguồn AC.
AC Tuy nhiên đáp ứng của các ngõ ra này nhanh hơn
Sơ đồ mạch điện bên trong của các ngõ ra được cho như hình 1.6
Cài đặt phần mềm STEP 7 - Micro/win 4.0
Khi cài đặt phần mềm chú ý phải lựa chọn phần mềm bản phù hợp với cấu hình máy tính cá nhân PC loại Win 64 bit hnay Win 32 bít
Sử dụng cáp PC/PPI để nối máy tính PC với PLC tạo thành mạch truyền thông trực tiếp
Cài phần mềm STEP 7-Micro/Win lần lượt tiến hành qua các bước:
1/ Mở phần mềm cài đặt STEP 7-Micro/Win V4.0
2/ Kích chuột vào file “ Setup “ để cài đặt
3/ Kích chuột vào mục Run của menu
5.2 Lập trình điều khiển với Microrwin V4.0 Để tiến hành lập trình và chạy thử chưong trình trên CPU ta phi thực hiện các bước sau đây:
Kết nối cáp lập trình đến thiết bị lập trình
Soạn thoả chưng trình theo yêu cầu
Dowload chưng trình đến CPU 224
32 a C ấp nguồn cho CPU 224 theo sơ đồ sau :
Để kết nối nguồn cho CPU, cần xác định loại nguồn phù hợp với loại CPU đang sử dụng Đối với việc kết nối CPU 224 với thiết bị lập trình S7-200, ta sử dụng cáp RS-232/PPI Multi-Master Trình tự kết nối bắt đầu bằng việc gắn đầu nối RS-232 (ký hiệu là PC) của cáp này vào thiết bị lập trình.
Kết nối đầu nối RS-485 ( được ký hiệu là PPI )của cáp RS-232/PPI Multi-Master cable đến S7-200
Kiểm tra các SWITHS để chọn chế độ phi đúng như hình vẽ Bắt đầu soạn thảo chương trình với Microwin V3.7 hoặc V4.0, ta tiến hành theo các bước sau.
Kích chuột vào biểu tượng STEP7 – Microwin V3.1 hay V4.0 để bắt đầu quá trình soạn thảo sau khi khởi động màn hình soạn thảo xuất hiện như hình
33 d thi ết lập thông số cho hộp thọai comunication
Sau khi khởi động ta kích vào biểu tượng comunication để thiết lập giao tiếp cho STEP7 Microwin Hộp thoại thiết lập giao tiếp có hiển thị như hình
Màn hình thiết lập giao tiếp của STEP7 Microwin v3.1 và v4.0
Trong hộp thiết lập thông số giao tiếp ta kiểm tra các thông số sau đây
thiết lập địa chỉ của cáp PC/PPI cable bằng 0
Thiết lập cổng giao tiếp của cáp PC/PPI cable là 1
Để thiết lập tốc độ truyền là 9,6 kbps và kết nối với STEP7 - 200, bạn cần nhấp đúp vào biểu tượng Refresh trong hộp kết nối STEP7 sẽ tự động tìm kiếm và hiển thị các CPU đang kết nối với thiết bị Nếu không thấy thiết bị nào, hãy kiểm tra lại các thông số lập trình kết nối và thực hiện lại bước này.
Sau khi thiết lập song ta tiến hành soạn thảo chương trình theo yêu cầu
Ví dụ ta soạn thảo một chương trình tắt mở một bòng đèn
Sau khi soạn thảo song , ta vào file/save as để lưu chương trình
Trong hộp thoại Save as ta chọn ổ đĩa, tên file, ví dụ file THU MACH chẳng hạn sau đó chọn Save để lưu
Dowload chương trình đến S7-200 ta Click vào biểu tượng chọn Dowload để load chương trình đến PLC
LẬP TRÌNH DÙNG TẬP LỆNH PLC S7-200
Các lệnh logic
Lệnh LD nạp giá trị logic từ một tiếp điểm vào bit đầu tiên của ngăn xếp, trong khi các giá trị còn lại trong ngăn xếp sẽ bị đẩy lùi xuống một bit Các toán hạng có thể bao gồm I, Q và M.
- Dạng LAD : Tiếp điểm thường mở sẽ đóng nếu I0.0 =1
Lệnh LDN nạp giá trị logic từ một tiếp điểm vào bit đầu tiên của ngăn xếp, trong khi các giá trị còn lại trong ngăn xếp sẽ được đẩy lùi xuống một bit Các toán hạng sử dụng trong lệnh này bao gồm I, Q, và M.
- Dạng LAD : Tiếp điểm thường đóng sẽ mở khi I0.0 =1
Lệnh sao chép nội dung của bit đầu tiên trong ngăn xếp vào bit được chỉ định mà không làm thay đổi nội dung của ngăn xếp Các toán hạng có thể bao gồm: I, Q, M, SM, T, và C (bit).
Mô tả lệnh OUTPUT bằng LAD như sau :
Nếu I0.0 = 1 thì Q0.0 sẽ lên 1( cuộn dây nối với ngõ ra Q0.0 có điện)
Dạng STL : Giá trị logic I0.0 được đưa vào bit đầu tiên của ngăn xếp, và bit này được sao chép vào bit ngõ ra Q0.0
1.2 Các lệnh ghi/xóa giá trị cho tiếp điểm
Lệnh đóng điểm gián đoạn trong LAD và STL giúp điều khiển dòng điện đến các cuộn dây đầu ra, từ đó đóng các tiếp điểm tương ứng Khi dòng điều khiển đến cuộn dây, các tiếp điểm sẽ được kích hoạt Trong STL, trạng thái bit đầu tiên của ngăn xếp được truyền đến các điểm thiết kế; nếu bit này bằng 1, các lệnh S sẽ đóng một hoặc nhiều tiếp điểm, với số lượng từ 1 đến 255, mà không làm thay đổi nội dung của ngăn xếp.
Dạng LAD : Đóng một mảng gồm n các tiếp điểm kể từ địa chỉ S-bit, Tóan hạng bao gồm I, Q, M, SM,T, C,V (bit)
Dạng STL : Ghi giá trị logic vào một mảng gồm n bit kể từ địa chỉ S-bit
Lệnh ngắt các điểm gián đoạn được thiết kế nhằm điều khiển dòng điện trong LAD, nơi mà các cuộn dây đầu ra được ngắt khi dòng điều khiển đến Khi dòng điều khiển kích hoạt các cuộn dây, chúng mở các tiếp điểm Trong STL, lệnh truyền trạng thái bit đầu tiên từ ngăn xếp đến các điểm thiết kế; nếu bit này có giá trị 1, các lệnh R sẽ ngắt một tiếp điểm.
38 hoặc một dãy các tiếp điểm (giới hạn từ 1 đến 255) Nội dung của ngăn xếp không bị thay đổi bởi các lệnh này
Ngắt một mảng gồm n tiếp điểm bắt đầu từ S-bit Nếu S-bit chỉ vào Timer hoặc Counter, lệnh sẽ xóa bit đầu ra của Timer hoặc Counter tương ứng Toán hạng bao gồm I và Q.
Xóa một mảng gồm n bit kể từ địa chỉ S-bit Nếu S-bit lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/Counter đó
1.3 Các lệnh logic đại số Boolean:
Các lệnh tiếp điểm đại số Boolean cho phép xây dựng các mạch logic mà không có bộ nhớ Trong ngôn ngữ LAD, các lệnh này được thể hiện qua cấu trúc mạch với các tiếp điểm thường đóng hoặc thường mở, được mắc nối tiếp hoặc song song Trong ngôn ngữ STL, có thể sử dụng lệnh A (And) và O (Or) cho các hàm hở, trong khi các lệnh AN (And Not) và ON (Or Not) được sử dụng cho các hàm kín Giá trị của ngăn xếp sẽ thay đổi tùy thuộc vào từng lệnh được thực hiện.
Ví dụ : Viết chương trình điều khiển động cơ bằng PLC
I0.0 : Nút nhấn dừng I0.1 : Nút nhấn mở Q0.0 : Cuộn dây KĐT Q0.0 : Tiếp điểm duy trì
S7-200 không chỉ hỗ trợ các lệnh làm việc trực tiếp với tiếp điểm mà còn cung cấp 5 lệnh đặc biệt cho phép thực hiện các phép toán đại số Boolean trên các bit trong ngăn xếp, gọi là lệnh stack logic Các lệnh này bao gồm ALD (And Load), OLD (Or Load), LPS (Logic Push), LRD (Logic Read) và LPP (Logic Pop) Lệnh stack logic được sử dụng để tổ hợp, sao chép hoặc xóa các mệnh đề logic, tuy nhiên, LAD không có bộ đếm dành cho stack logic.
40 sử dụng các lệnh stack logic để thực hiện phương trình tổng thể có nhiều biểu thức con và được biểu diển như sau :
LOGIC PUSH (LPS), LOGIC READ (LRD), LOGIC POP (LPP
- Ý ngh ĩa củ a các l ệ nh :
Lệnh Mô tả Toán hạng
Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai trong ngăn xếp được thực hiện thông qua phép tính logic AND, với kết quả được ghi vào bit đầu tiên Sau đó, giá trị còn lại trong ngăn xếp sẽ được kéo lên một bit.
Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai của ngăn xếp thông qua phép tính logic OR, sau đó ghi kết quả vào bit đầu tiên Giá trị còn lại trong ngăn xếp sẽ được dịch chuyển lên một bit.
Lệnh Logic Push (LPS) sao chụp giá trị của bit đầu tiên vào bit thứ hai trong ngăn xếp, trong khi các giá trị còn lại sẽ bị đẩy xuống một bit Kết quả là bit cuối cùng sẽ bị loại bỏ khỏi ngăn xếp.
Lệnh sao chép giá trị của bit thứ hai vào bit đầu tiên trong ngăn xếp.Các giá trị còn lại của ngăn xếp giữ nguyên vị trí
1.4 Các lệnh tiếp điểm đặc biệt :
Tiếp điểm đảo, tác động cạnh xuống, tác động cạnh lên :
Các lệnh tiếp điểm đặc biệt có thể được sử dụng để phát hiện sự chuyển tiếp trạng thái của xung và đảo ngược trạng thái của dòng cung cấp Trong quá trình này, LAD áp dụng các tiếp điểm đặc biệt nhằm tác động vào dòng cung cấp, giúp quản lý giá trị đỉnh của ngăn xếp hiệu quả.
Các tiếp điểm đặc biệt không có toán hạng riêng, do đó cần được đặt ở vị trí phía trước cuộn dây hoặc hộp đầu ra Tiếp điểm chuyển tiếp đóng vai trò quan trọng trong hệ thống điện.
Dương / âm (các lệnh sườn trước và sườn sau) có nhu cầu về bộ nhớ bởi vậy đối với CPU 214 có thể sử dụng nhiều nhất là 256 lệnh
Tiếp điểm trong vùng nhớ đặc biệt :
SM0.1 : Vòng quét đầu tiên tiếp điểm này đóng, kể từ vòng quét thứ hai thì mở ra và giữ nguyên trong suốt quá trình họat động
SM0.0 : Ngược lại với SM0.1, vòng quét đầu tiên thì mở nhưng từ vòng quét thứ hai trở đi thì đóng
SM0.4 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1 phút
SM0.5 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1s
1.5 Các lệnh can thiệp vào thời gian vòng quét:
MEND, END, STOP, NOP, WDR
Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài một khoảng thời gian của một vòng quét
Trong LAD và STL, chương trình cần được hoàn thành bằng lệnh kết thúc không điều kiện MEND Ngoài ra, có thể sử dụng lệnh kết thúc có điều kiện END trước khi áp dụng lệnh kết thúc không điều kiện.
Lệnh STOP trong chương trình có chức năng kết thúc quá trình thực thi, chuyển điều khiển đến chế độ STOP Khi lệnh STOP được gặp trong chương trình chính hoặc chương trình con, quá trình thực hiện sẽ ngay lập tức dừng lại.
Các lệnh thời gian Timer
Timer là thiết bị tạo ra độ trễ giữa tín hiệu đầu vào và đầu ra, thường được gọi là khâu trễ trong điều khiển Nếu tín hiệu đầu vào được ký hiệu là x(t) và độ trễ do Timer tạo ra là , thì tín hiệu đầu ra sẽ là x(t – ).
S7 – 200 có 64 bộ Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm hai loại khác nhau là :
Timer tạo thời gian trễ không có nhớ (On-Delay Timer), ký hiệu là TON
Timer tạo thời gian trễ có nhớ (Retentive On-Delay Timer), ký hiệu TONR
Hai kiểu Timer của S7 – 200 (TON và TONR) phân biệt với nhau ở phản ứng của nó đối với trạng thái đầu vào
Cả hai loại Timer TON và TONR bắt đầu đếm thời gian trễ tín hiệu từ khi tín hiệu đầu vào chuyển từ 0 lên 1, được gọi là thời gian Timer được kích Thời gian này không bao gồm khoảng thời gian tín hiệu đầu vào có giá trị logic 0.
Khi đầu vào có giá trị logic bằng 0, bộ đếm thời gian TON sẽ tự động reset, trong khi TONR thì không Timer TON được sử dụng để tạo thời gian trễ trong một khoảng thời gian liên tục, trong khi TONR tạo ra thời gian trễ trong nhiều khoảng thời gian khác nhau.
Timer TON và TONR có ba loại với các độ phân giải khác nhau: 1ms, 10ms và 100ms Thời gian trễ được tính bằng cách nhân độ phân giải của Timer đã chọn với giá trị đặt trước Chẳng hạn, nếu Timer có độ phân giải 10ms và giá trị đặt trước là 50, thì thời gian trễ sẽ là 500ms Các loại Timer của S7 – 200, CPU 214 cũng có độ phân giải tương tự.
Lệnh Độ phân giải Giá trị cực đại CPU 214
Cú pháp khai báo sử dụng Timer như sau :
LAD Mô tả Toán hạng
Khai báo Timer số hiệu xx kiểu TON để tạo thời gian trễ tính từ khi đầu vào
IN được kích Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước
PT thì T-bit có giá trị logic bằng 1 có thể reset Timer kiểu TON bằng lệnh R hoặc bằng giá trị logic 0 tại đầu vào
Txx (word) CPU214:32÷63 96÷127 PT: VW, T, (word) C,IW,QW,MW,S
Khai báo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tính từ khi đầu vào
IN được kích Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước
PT thì T-bit có giá trị logic bằng 1 Chỉ có thể reset Timer kiểu TON bằng lệnh
,MW,SMW,AC, AIW, hằngsố
Khi sử dụng Timer kiểu TONR, giá trị đếm tức thời được lưu giữ và không thay đổi khi tín hiệu đầu vào ở mức logic 0 T-bit không được ghi nhớ mà phụ thuộc hoàn toàn vào sự so sánh giữa giá trị đếm tức thời và giá trị đã được đặt trước.
Khi thực hiện Reset cho một bộ Timer, cả T-word và T-bit sẽ được xóa và thiết lập về giá trị 0 Điều này dẫn đến việc giá trị đếm tức thời cũng được đặt về 0, và tín hiệu đầu ra sẽ có trạng thái logic bằng 0.
Ví dụ cách sử dụng timer kiểu TON :
Ví dụ cách sử dụng timer kiểu TONR :
Lệnh đếm Couter
Bộ đếm trong S7-200 có chức năng đếm sườn xung và được chia thành hai loại chính: bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD).
Bộ đếm tiến CTU thực hiện chức năng đếm số lần tín hiệu logic đầu vào chuyển từ trạng thái 0 lên 1 Số xung đếm được lưu trữ trong thanh ghi 2 byte, được gọi là thanh ghi C-word.
Nội dung của thanh ghi C-word chứa giá trị đếm tức thời của bộ đếm, được so sánh với giá trị đặt trước (PV) Khi giá trị đếm tức thời bằng hoặc lớn hơn PV, bộ đếm sẽ báo ra ngoài bằng cách thiết lập giá trị logic 1 cho C-bit Ngược lại, nếu giá trị đếm tức thời nhỏ hơn PV, C-bit sẽ có giá trị logic 0.
Khác với các bộ Timer, bộ đếm CTU và CTUD có chân nối với tín hiệu điều khiển xóa, cho phép đặt lại chế độ khởi phát ban đầu (reset) cho bộ đếm, ký hiệu bằng chữ R trong LAD hoặc trạng thái logic của bit đầu tiên trong STL Bộ đếm sẽ được reset khi tín hiệu xóa có mức logic 1 hoặc khi thực hiện lệnh R với C-bit, dẫn đến việc cả C-word và C-bit đều nhận giá trị 0.
Bộ đếm tiến/lùi CTUD hoạt động bằng cách đếm tiến khi nhận tín hiệu sườn lên từ cổng đếm tiến, ký hiệu là CU, hoặc bit thứ 3 trong ngăn xếp STL Ngược lại, nó sẽ đếm lùi khi nhận tín hiệu sườn lên từ cổng đếm lùi, ký hiệu là CD, hoặc bit thứ 2 trong ngăn xếp STL.
Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767 Bộ đếm tiến/lùi CTUD có miền giá trị đếm tức thời từ –32.768 đến 32.767
LAD Mô tả Toán hạng
Khai báo bộ đếm tiến theo sườn lên của
Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bit (Cxx) sẽ có giá trị logic bằng 1 Bộ đếm sẽ được reset khi đầu vào R có giá trị logic bằng 1, và sẽ ngừng đếm khi C-word Cxx đạt giá trị cực đại.
MW, SMW, AC, AIW, hằngsố,
Bộ đếm CTD-Cxx được sử dụng để theo dõi tiến/lùi, với khả năng đếm tiến khi có sườn lên của CU và đếm lùi theo sườn lên của CD Khi giá trị đếm tức thời C-word Cxx đạt hoặc vượt qua giá trị đã được thiết lập trước đó, hệ thống sẽ thực hiện các hành động tương ứng.
PV, C-bit (Cxx) có giá trị logic bằng 1
Bộ đếm ngừng đếm tiến khi C-word Cxx đạt được giá trị cực đại 32.767 và ngừng
MW, SMW, AC, AIW, hằngsố,
Ví dụ minh họa cách sử dụng bộ đếm CTU :
Ví dụ minh họa cách sử dụng bộ đếm CTUD : đếm lùi khi C-word Cxx đạt được giá trị cực đại –32.768 CTUD reset khi đầu vào
R có giá trị logic bằng 1
Các lệnh so sánh
Khi lập trình, các quyết định điều khiển có thể được thực hiện dựa trên kết quả so sánh bằng cách sử dụng lệnh so sánh theo byte, Word hoặc Dword của S7.
LAD sử dụng lệnh so sánh để đối chiếu các giá trị của byte, word, hoặc Dword, bao gồm cả giá trị thực và nguyên Các lệnh so sánh phổ biến bao gồm: so sánh nhỏ hơn hoặc bằng (=).
Khi so sánh giá trị của byte, không cần quan tâm đến dấu của toán hạng Tuy nhiên, khi so sánh các từ hoặc từ kép, cần chú ý đến dấu của toán hạng, đặc biệt là bit cao nhất trong từ hoặc từ kép.
Ví dụ 7FFF > 8000 và 7FFFFFFF > 80000000
LAD Mô tả Toán hạng
IB, QB, MB, SMB, AC, Const,
MW, SMW, AC, AIW, hằng số,
VD, ID, QD, MD, SMD, AC, HC, hằng số, *VD,
Trong STL, các lệnh so sánh thực hiện phép so sánh byte, từ hay từ kép, với kết quả là 0 (đúng) hoặc 1 (sai) tùy thuộc vào kiểu so sánh (=) Kết quả này có thể được sử dụng kết hợp với các lệnh LD, A, O để tạo ra những phép so sánh mà S7-200 không hỗ trợ.
So sánh không bằng nhau (), so sánh nhỏ hơn (), có thể tạo ra được nhờ kết hợp lệnh NOT với các lệnh đã có (==, >=,