Công ty TNHH TM&DVKT TỐI ƯU - Optimize

50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200 ............................................................................................. 3
I. GIỚI THIỆU CHUNG VỀ PLC S7-200:........................................................................................... 3
II. CẤU TRÚC PHẦN CỨNG CỦA S7-200: ........................................................................................ 4
1. Hình dáng và cấu trúc bên ngoài: .................................................................................................. 4
1.1. Các đầu vào/ra số:................................................................................................................... 4
1.2. Đèn trạng thái:......................................................................................................................... 5
1.3. Port truyền thông:.................................................................................................................... 5
1.4. Công tắc chuyển chế độ:.......................................................................................................... 5
1.5. Vít chỉnh tương tự: ................................................................................................................... 5
2. Cấu trúc phần cứng:....................................................................................................................... 6
2.1. Đơn vị xử lý trung tâm (CPU Central Processing Unit): ........................................................ 6
2.2. Bộ nhớ:..................................................................................................................................... 6
2.3. Khối vào/ra: ............................................................................................................................. 7
2.4. Bộ nguồn:................................................................................................................................. 7
2.5. Khối quản lý ghép nối:............................................................................................................. 7
III. CẤU TRÚC BỘ NHỚ:.................................................................................................................... 7
1. Phân chia bộ nhớ: .......................................................................................................................... 7
2. Vùng nhớ chương trình: ................................................................................................................ 8
3. Vùng nhớ dữ liệu:.......................................................................................................................... 8
3.1. Truy cập trực tiếp: ................................................................................................................... 8
3.2. Truy cập gián tiếp:................................................................................................................... 9
4. Vùng đối tượng:............................................................................................................................. 9
IV. MỞ RỘNG CỔNG VÀO RA: ...................................................................................................... 10
V. THỰC HIỆN CHƯƠNG TRÌNH: ................................................................................................... 11
VI. CẤU TRÚC CHƯƠNG TRÌNH: .................................................................................................. 11
VII. KIỂU DỮ LIỆU: ........................................................................................................................... 12
VIII. THIẾT BỊ LẬP TRÌNH: ............................................................................................................ 12
1. Giao diện làm việc:...................................................................................................................... 12
2. Các khối sử dụng trong giao diện lập trình: ................................................................................ 14
2.1. Khối Programe Block: ........................................................................................................... 14
2.2. Khối Data Block: ................................................................................................................... 15
2.3. Khối System Block: ................................................................................................................ 15
2.4. Khối Symbol Table:................................................................................................................ 16
2.5. Khối Status Chart: ................................................................................................................. 17
2.6. Khối Cross Reference: ........................................................................................................... 17
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2.7. Khối Communication: ............................................................................................................ 18
CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH.................................................................................................... 21
I. PHƯƠNG PHÁP LẬP TRÌNH:....................................................................................................... 21
1. LAD:............................................................................................................................................ 21
2. STL: ............................................................................................................................................. 21
3. FBD: ............................................................................................................................................ 22
II. TẬP LỆNH S7-200:......................................................................................................................... 22
1. Các lệnh làm việc với bit logic:................................................................................................... 23
2. Nhóm lệnh so sánh: ..................................................................................................................... 25
3. Tập bộ tạo thời gian:.................................................................................................................... 25
4. Tập bộ đếm: ................................................................................................................................. 27
5. Tập lệnh toán học: ....................................................................................................................... 28
6. Các lệnh dịch chuyển dữ liệu: ..................................................................................................... 30
7. Tập lệnh làm việc với bảng dữ liệu: ............................................................................................ 31
8. Tập lệnh phép toán biến đổi logic: .............................................................................................. 33
9. Tập lệnh biến đổi kiểu dữ liệu:.................................................................................................... 34
10. Tập lệnh làm việc với thời gian thực:.......................................................................................... 36
11. Tập lệnh điều khiển chương trình: .............................................................................................. 39
12. Lệnh quay/dịch thanh ghi: ........................................................................................................... 40
13. Tập lệnh xử lý ngắt:..................................................................................................................... 42
CHƯƠNG 3: CÁC ỨNG DỤNG CHUYÊN DÙNG TRÊN PLC............................................................... 46
I. XỬ LÝ TÍN HIỆU ANALOG: ........................................................................................................ 46
1. Đọc tín hiệu analog:..................................................................................................................... 46
1.1. Sơ đồ đấu dây: ....................................................................................................................... 47
1.2. Bảng cấu hình chọn dải tín hiệu đầu vào: ............................................................................. 48
1.3. Định dạng dữ liệu đầu vào: ................................................................................................... 49
1.4. Căn chỉnh tín hiệu đầu vào:................................................................................................... 49
2. Xuất tín hiệu analog: ................................................................................................................... 50
2.1. Sơ đồ đấu dây: ....................................................................................................................... 50
2.2. Định dạng dữ liệu đầu ra:...................................................................................................... 51
2.3. Xuất tín hiệu đầu ra: .............................................................................................................. 51
II. ĐỌC XUNG TỐC ĐỘ CAO: .......................................................................................................... 52
1. Khai báo sử dụng bộ đếm HSC: .................................................................................................. 53
2. Các chế độ hoạt động của bộ đếm HSC: ..................................................................................... 54
3. Các vùng nhớ dữ liệu dùng cho bộ đếm tốc độ cao: ................................................................... 55
4. Ví dụ về cách khai báo sử dụng bộ đếm HSC:............................................................................ 57
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200
I. GIỚI THIỆU CHUNG VỀ PLC S7-200:
PLC, viết tắt của programable logic controler là thiết bị điều khiển logic lập trình được, hay thiết
bị logic khả trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập
trình. Như vậy với chương trình điều khiển trong PLC trở thành bộ điều khiển số nhỏ gọn có thể dễ dàng
thay đổi thuật toán điều khiển và trao đổi thông tin với môi trường bên ngoài ( PLC khác hoặc máy tính ).
S7-200 là thiết bị điều khiển logic khả trình của hãng Siemens ( CHLB Đức ), có cấu trúc kiểu
module và có các module mở rộng. Các module này được sử dụng với những mục đích khác nhau.
Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ
nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu chương trình và dữ liệu (Catridge ).
Dòng PLC S7-200 có hai họ là 21X ( loại cũ ) và 22X ( loại mới ), trong đó họ 21X không còn sản
xuất nữa. Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau: 221, 222, 224,
224XP, 226, 226XM
* Thông số và các đặc điểm kỹ thuật của series 22X :
* Giới thiệu về module mở rộng:
- Module đầu vào số: EM221, có nhiều loại bao gồm 8/16 đầu vào và điện áp 24VDC/120-
230VAC
- Module đầu ra số: EM222 bao gồm 4/8 đầu ra 24VDC/RELAY/230VAC.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- Module vào/ra số: EM223 bao gồm 4/8/16 đầu vào 24VDC và 4/8/16 đầu ra 24VDC
/RELAY/230VAC.
- Module đầu vào tương tự: EM231 từ 2/4 đầu vào với các loại tín hiệu 0-10V,4-20mA…
- Module đầu ra tương tự: EM232 có 2 đầu ra .
- Module vào ra tương tự: EM235 gồm 4 đầu vào và 1 đầu ra.
- Ngoài ra còn có các loại module thích hợp cho những ứng dụng khác như module điều khiển vị
trí, module truyền thông.
Bảng giới thiệu các loại module mở rộng:
II. CẤU TRÚC PHẦN CỨNG CỦA S7-200:
1. Hình dáng và cấu trúc bên ngoài:
1.1. Các đầu vào/ra số:
- Đầu vào (Ix.x ): kết nối với nút bấm, công tắc, sensor…với điện áp vào tiêu chuẩn 24VDC.
- Đầu ra (Qx.x): kết nối với thiết bị điều khiển với các điện áp 24VDC/220VAC ( tùy theo loại
CPU ).
- Đầu vào nguồn: 24VDC/220VAC ( tùy theo loại CPU ).
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
1.2. Đèn trạng thái:
- Đèn RUN (màu xanh): Chỉ báo PLC đang ở chế độ làm việc và thực hiện chương trình đã được
nạp vào bộ nhớ chương trình.
- Đèn STOP (màu vàng): Chỉ báo PLC đang ở chế độ dừng và không thực hiện chương trình,
các đầu ra đều ở trạng thái “OFF”.
- Đèn SF/DIAG: Chỉ báo hệ thống bị hỏng tức do lỗi phần cứng hoặc hệ điều hành.
- Đèn Ix.x(màu xanh): Chỉ báo trạng thái của đầu vào số(ON/OFF).
- Đèn Qx.x(màu xanh): Chỉ báo trạng thái của đầu ra số(ON/OFF).
1.3. Port truyền thông:
- Port truyền thông nối tiếp RS485: Giao tiếp với PC, PG, TD200, OP, mạng biến tần…
- Port cho module mở rộng: Kết nối với module mở rộng.
1.4. Công tắc chuyển chế độ:
- RUN: Cho phép PLC thực hiện chương trình, khi chương trình lỗi hoặc gặp lệnh STOP thì
PLC tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở vị trí RUN ( quan sát đèn trạng
thái ).
- STOP: Dừng cưỡng bức chương trình đang chạy, các đầu ra chuyển về OFF.
- TERM: Cho phép người dùng chọn một trong hai chế độ RUN/STOP từ xa, ngoài ra còn được
dùng để download chương trình người dùng.
1.5. Vít chỉnh tương tự:
Mỗi PLC đều có từ một đến hai vít chỉnh tương tự có thể xoay được 270 độ để thay đổi giá
trị của vùng nhớ biến trong chương trình.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2. Cấu trúc phần cứng:
Cấu trúc phần cứng của một PLC gồm có các module sau:
- Module nguồn.
- Module đầu vào.
- Module đầu ra.
- Module đơn vị xử lý trung tâm (CPU).
- Module bộ nhớ.
- Module quản lý phối ghép vào ra.

Mô hình tổng quát của một PLC
2.1. Đơn vị xử lý trung tâm (CPU Central Processing Unit):
CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng của PLC. Mỗi
PLC thường có từ một đến hai đơn vị xử lý trung tâm.
CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử lý “từ ngữ”:
- Đơn vị xử lý “một bit”: Chỉ áp dụng cho những ứng dụng nhỏ, đơn giản, chỉ đơn thuần xử lý
ON/OFF nên kết cấu đơn giản, thời gian xử lý dài.
- Đơn vị xử lý “từ ngữ”: Có khả năng xử lý nhanh các thông tin số, văn bản, phép toán, đo
lường, đánh giá, kiểm tra nên cấu trúc phần cứng phức tạp hơn nhiều tuy nhiên thời gian xử lý
được cải thiện nhanh hơn.
2.2. Bộ nhớ:
Bao gồm các loại bộ nhớ RAM, ROM, EEFROM, là nơi lưu trữ các thông tin cần xử lý trong
chương trình của PLC.
Bộ nhớ được thiết kế thành dạng module để cho phép dễ dàng thích nghi với các chức năng điều
khiển với các kích cỡ khác nhau. Muốn mở rộng bộ nhớ chỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên
module CPU.
Bộ nhớ có một tụ dùng để duy trì dữ liệu chương trình khi mất điện.
ĐƠN VỊ
XỬ LÝ
TRUNG
TÂM
QUẢN LÝ
GHÉP NỐI
KHỐI
NGÕ VÀO
KHỐI
NGÕ RA
BỘ NHỚ
BỘ
NGUỒN
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2.3. Khối vào/ra:
Khối vào ra dùng để giao tiếp giữa mạch vi điện tử của PLC (điện áp 5/15VDC) với mạch công
suất bên ngoài (điện áp 24VDC/220VAC).
Khối ngõ vào thực hiện việc chuyển mức điện áp từ cao xuống mức tín hiệu tiêu chuẩn để đưa vào
bộ xử lý.
Khối ngõ ra thực hiện việc chuyển mức tín hiệu từ tiêu chuẩn sang tín hiệu ngõ ra và cách ly
quang.
2.4. Bộ nguồn:
Biến đổi từ nguồn cấp bên ngoài vào để cung cấp cho sự hoạt động của PLC.
2.5. Khối quản lý ghép nối:
Dùng để phối ghép giữa PLC với các thiết bị bên ngoài như máy tính, thiết bị lập trình, bảng vận
hành, mạng truyền thông công nghiệp.
III. CẤU TRÚC BỘ NHỚ:
1. Phân chia bộ nhớ:
Bộ nhớ của PLC S7-200 được chia thành bốn vùng cơ bản và hầu hết có thể đọc ghi được chỉ trừ
vùng nhớ đặc biệt (SM) chỉ có thể truy cập để đọc.
EEFROM Miền nhớ ngoài
Cấu trúc bộ nhớ của PLC.
- Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh được dùng trong chương
trình.Vùng này thuộc kiểu non-volatile có thể đọc và ghi được.
- Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ trạm… Vùng này thuộc
kiểu non-volatile có thể đọc và ghi được.
CHƯƠNG
TRÌNH
THAM SỐ
DỮ LIỆU
VÙNG ĐỐI
TƯỢNG
CHƯƠNG
TRÌNH
THAM SỐ
DỮ LIỆU
DỮ LIỆU
CHƯƠNG
TRÌNH
THAM SỐ
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm kết quả các phép tính, các
hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…
- Vùng đối tượng: Bao gồm các bộ đếm, bộ định thì, các cổng vào ra tương tự. Vùng này không
thuộc kiểu non-volatile nhưng có thể đọc và 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.
2. Vùng nhớ chương trình:
Vùng nhớ chương trình gồm ba khối chính: OB1, SUBROUTIN và INTERRUPT.
- OB1: Chứa chương trình chính, các lệnh trong khối này luôn được quét trong mỗi vòng quét.
- SUBROUTIN: Chứa chương trình con, được tổ chức thành hàm và có biến hình thức để trao
đổi dữ liệu, chương trình con sẽ được thực hiện khi có lệnh gọi từ chương trình chính.
- INTERRUPT: Miền chứa chương trình ngắt, được tổ chức thành hàm và có khả năng trao đổi
dữ liệu với bất kỳ một khối chương trình nào khác. Chương trình này sẽ được thực hiện khi có
sự kiện ngắt xảy ra.
3. Vùng nhớ dữ liệu:
Vùng dữ liệu là một vùng nhớ động. Nó có thể được truy cập theo từng bit, từng byte, từng từ đơn
(word) hay từ kép (double word) 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ỉ…
Vùng dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và công dụng
khác nhau, bao gồm các vùng sau:
- V (Variable memory): Vùng nhớ biến.
- I (Input image register): Vùng đệm đầu vào.
- Q (Output image register): Vùng đệm đầu ra.
- M(Internal memory bits): Vùng nhớ các bit nội.
- SM(Special memory): Vùng nhớ đặc biệt.
Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:
3.1. Truy cập trực tiếp:
- Truy cập theo bit: Tên miền nhớ + địa chỉ byte + • + chỉ số bit.Ví dụ:V10.4 chỉ bit 4 của byte
10 thuộc miền nhớ V.
- Truy cập theo byte: Tên miền nhớ + B + địa chỉ byte. Ví dụ VB15 chỉ byte 15 trong miền nhớ
V.
- Truy cập theo từ: Tên miền nhớ + W + địa chỉ byte cao của từ. Ví dụ VW183 chỉ từ đơn gồm
hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VB183(byte cao) VB184(byte thấp)
VW183
- Truy cập theo từ kép: Tên miền + D + địa chỉ byte cao trong miền.Ví dụ VD345 chỉ từ kép
gồm 4 byte 345, 346, 347, 348 trong miền nhớ V trong đó 345 là byte cao trong từ kép.
31 24 23 16 15 8 7 0
VB183(byte cao) VB184 VB185 VB186(byte thấp)
VD183
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
3.2. Truy cập gián tiếp:
Truy cập địa chỉ gián tiếp thông qua con trỏ (pointer). Con trỏ là một miền nhớ từ kép chứa địa chỉ
của vùng nhớ khác. Các vùng nhớ V, L và thanh ghi chỉ mục ( AC1,AC2,AC3 ) có thể được sử dụng như
là con trỏ. Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa
chỉ gián tiếp vào vùng con trỏ. Con trỏ cũng có thể được chuyển tới chương trình con như là một tham số.
S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho
phép truy cập theo từng bit và các vùng nhớ AI,AQ,HC,SM,L.
Để truy cập gián tiếp dữ liệu địa chỉ của một vùng nhớ, phải tạo một con trỏ cho vùng đó bằng
cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy. Toán hạng đầu vào của lệnh phải bắt đầu với
ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán
hạng đầu ra của lệnh. Quy ước sử dụng con trỏ để truy nhập như sau:
- & địa chỉ byte (cao): Toán hạng lấy địa chỉ của byte, từ hoặc từ kép.
VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao VB100 vào trong
thanh ghi AC1, thanh ghi AC1 sẽ chứa địa chỉ của VW100
- * con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào.
Theo ví dụ trên, khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào VW300 bằng
cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1
VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300.
4. Vùng đối tượng:
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,
Counter, HSC, bộ đệm vào ra tương tự và các thanh ghi chỉ mục.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Đặc điểm và giới hạn vùng nhớ của PLC S7-22X
IV. MỞ RỘNG CỔNG VÀO RA:
Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng nâng cao khác bằng
cách ghép nối thêm các module mở rộng về phía bên phải của PLC tạo thành một móc xích các module.
Địa chỉ của các vị trí các module được xác định bằng kiểu vào ra và vị trí của các module trong móc xích,
bao gồm các module có cùng kiểu.
Các module mở rộng số hay tương tự đều chiếm chỗ trong bộ đệm tương ứng với số đầu vào ra
của module.
Ví dụ cách đặt địa chỉ module mở rộng của CPU224:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
V. THỰC HIỆN CHƯƠNG TRÌNH:
PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp gọi là một vòng quét. Mỗi vòng quét
được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng 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
kết thúc. Sau giai đoạn 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 cổng ra.
Như vậy tại thời điểm thực hiện lệnh vào ra, thông thường lệnh không làm việc trực tiếp với cổng
vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo
với ngoại vi trong các giai đoạn 1 và 4 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 một cách trực tiếp với
cổng vào/ra.
Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với các chế độ ngắt được soạn thảo và
cài đặt như một bộ phận của chương trình. Chương trình ngắt chỉ được thực hiện khi có sự kiện báo ngắt
và có thể xảy ra bất kỳ lúc nào trong một vòng quét.
VI. CẤU TRÚC CHƯƠNG TRÌNH:
Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và có thể được lập dưới hai
dạng cấu trúc khác nhau:
- Chương trình tuyến tính: Toàn bộ chương trình nằm trong khối chương trình chính (OB1), các
lệnh trong chương trình luôn được quét từ đầu đến cuối chương trình và quay lại từ đầu trong
quá trình PLC hoạt động. Chương trình này chỉ thường áp dụng với các ứng dụng không phức
tạp lắm.
- Chương trình có cấu trúc: Chương trình được chia thành những phần nhỏ và mỗi phần thực
hiện một nhiệm vụ riêng biệt, từng phần nằm trong những khối riêng biệt (OB1,
SUBROUTIN, INTERRUPT). Loại chương trình này thường áp dụng với những yêu cầu phức
tạp và nhiều khâu. Khi lập trình chương trình có cấu trúc thường sử dụng ngoài chương trình
chính còn có chương trình con và chương ngắt. Chương trình con được viết trong khối chương
trình con và được gọi trong chương trình chính khi có lệnh gọi. Chương trình ngắt được viết
trong khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời điểm
nào của vòng quét. Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu với các
chương trình khác.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
VII. KIỂU DỮ LIỆU:
Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau:
Kiểu dữ liệu Kích thước Nội dung Dải giá trị
BOOL 1 bit Boolean 0;1
BYTE 8 bits Số nguyên không dấu 0 ÷ 255
BYTE 8 bits Số nguyên có dấu
(chỉ áp dụng cho lệnh SHRB)
-128 ÷ 127
WORD 16 bits Số nguyên không dấu 0 ÷ 65535
INT 16 bits Số nguyên có dấu -32678 ÷32676
DWORD 32 bits Số nguyên không dấu 0 ÷ 4294967295
DINT 32 bits Số nguyên có dấu -2147383648÷2147383648
REAL 32 bits Số thực có dấu theo IEEE -2147383648÷2147383648
STRING 0–255 bytes Kiểu dữ liệu chuỗi ASCII Mã ASCII từ 128 ÷ 255
VIII. THIẾT BỊ LẬP TRÌNH:
Có hai loại thiết bị có thể dùng để lập trình cho PLC S7- 200 là PG và PC
- PG: Là thiết bị lập trình chuyên dụng được dùng cho PLC S7-200 tuy nhiên chỉ sử dụng để lập
trình với ngôn ngữ STL
- PC: Là máy tính cá nhân trên đó có cài phần mềm STEP7-MICROWIN. Phần mềm này cho
phép lập trình với cả ba ngôn ngữ là STL, LAD và FBD. Để cài phần mềm này người phải có
bản quyền và PC phải cài hệ điều hành WIN98/2000/NT/XP.Hiện nay hầu hết sử dụng STEP7-
MICROWIN 3.0, 3.2, 4.0 để lập trình cho S7 để có thể sử dụng được những ứng dụng nâng
cao.
1. Giao diện làm việc:
Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm
việc sẽ được thể hiện như sau:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Navigation Bar-InstructionTree-Cross Reference-Data Block-Status Chart-Symbol Table
Output Window-Status Bar Program Editor Local Variable Table
- Navigation Bar: Thể hiện các khối và các lệnh làm việc được tạo sẵn trong phần mềm. Để sử
dụng các khối này ta chỉ cần kích vào nút biểu tượng tương ứng với khối cần dùng.
- Instruction Tree: Thể hiện tất cả các khối và lệnh sử dụng trong chương trình dưới dạng cây
thư mục. Muốn làm việc với lệnh nào chỉ việc Click đúp chuột vào vị trí đó để chọn thiết bị
làm việc.
- Các khối Cross Reference, Data Block, Status Chart, Symbol Table sẽ được trình bày chi tiết ở
phần sau.
- Program Editor: Đây là vùng chính để thực hiện chương trình bằng cách đưa các lệnh vào
trong vùng và sắp xếp chúng theo cách thức của người dùng để tạo ra một chương trình.
- Menu bar và Toolbar: Là các thanh công cụ giúp thực hiện nhanh các lệnh và chức năng sử
dụng trong chương trình.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2. Các khối sử dụng trong giao diện lập trình:
2.1. Khối Programe Block:
Gồm ba khối chính:
1. Khối OB1: Là khối chứa chương trình chính, luôn được quét trong mỗi vòng vòng quét. Đây là
khối chính trong việc thiết kế chương trình và bắt buộc phải có.
2. Khối SUBROUTIN: Là khối chứa chương trình con. Chương trình chứa trong khối này sẽ được
thực hiện mỗi khi có lệnh gọi thực hiện từ chương trình chính.
3. Khối INTERRUPT: Là khối chứa chương trình ngắt. Khối này sẽ được thực hiện mỗi khi có sự
kiện ngắt xảy ra.
Cách tạo chương trình con hay chương trình ngắt
Có thể tạo nhiều chương trình con hay chương trình ngắt tuy nhiên không thể tạo nhiều chương
trình chính do chương trình chính chỉ có một. Có thể xóa hay đổi tên chương trình con hay chương trình
ngắt bằng cách click chuột phải vào biểu tượng chương trình và chọn “Delete” hay “Rename”
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2.2. Khối Data Block:
Đây là khối chứa dữ liệu của một chương trình. Ta có thể định dạng dữ liệu trước trong khối này
và sử dụng chúng trong chương trình. Khi tải chương trình vào PLC thì toàn bộ nội dung của khối sẽ được
lưu vào bộ nhớ của PLC. Khối chỉ làm việc với dữ liệu của vùng nhớ V.
Để tạo dữ liệu trong khối này ta có click vào biểu tượng trên màn hình hoặc trên cây thư mục chọn
khối và click vào biểu tượng “USER”, khi đó màn hình chương trình sẽ chuyển sang làm việc với khối.
Cách tạo dữ liệu được thể hiện bên dưới.
Ví dụ về cách tạo một Data Block :
2.3. Khối System Block:
Đây là khối định dạng các chức năng làm việc của hệ thống. Khối này gồm có 10 khối chính:
1. Communication Ports: Định dạng cho cổng giao tiếp của PLC.
Địa chỉ mặc định của PLC là 2, có thể thay đổi địa chỉ này.
Tốc độ truyền mặc định là 9600kbps.
2. Retentive Ranges: Khối này cho phép chọn 5 vùng nhớ có thể lưu dữ liệu khi PLC bị mất điện,
nếu vùng nào được chọn thì dữ liệu vùng đó được giữ, ngược lại sẽ bị reset về 0.
3. Password: S7-200 có 3 mức chọn mật mã,thông thường chọn mức cao nhất để bảo mật bản
quyền, số ký tự tối đa là 8. Trường hợp PLC đã có password thì người không có password không thể
upload từ PLC về máy tính nhưng có thể DownLoad chương trình vào PLC bằng các chọn “clear PLC”,
khi đó toàn bộ dữ liệu sẽ bị xóa.
4. Output table:
Khối này cho phép chọn trạng thái ngõ ra của PLC là ON hay OFF khi PLC chuyển trạng thái từ
RUN sang STOP. Chế độ mặc định của phần mềm là OFF.
5. Input Filter:
Cho phép chọn thời gian lọc tín hiệu ngõ vào của PLC. Thời gian lọc tín hiệu ngõ vào là thời gian
mà ngõ vào không đổi trạng thái thì PLC mới cho phép nhận trạng thái đó. Nếu sự thay đổi trạng thái diễn
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
ra trong thời gian ngắn hơn thời gian lọc thì PLC sẽ không nhận tín hiệu đó và coi như trạng thái của ngõ
vào là không thay đổi.
Thời gian lọc mặc định của đầu vào là 6.4ms
6. Pulse Catch Bits:
PLC cho phép chọn ngõ vào có thể bắt những tín hiệu nhanh khi chu kỳ quét chưa kịp quét, tín
hiệu đó sẽ được giữ cho đến khi chu kỳ quét được thực hiện.
7. Background Time:
Background time còn gọi là thời gian nền, được chuyên dùng cho việc xử lý các yêu cầu truyền
thông trong chế độ chạy ở trạng thái biên dịch hoặc đáp ứng. Background time được cho dưới dạng phần
trăm và tác động đến thời gian quét. Khi tỷ lệ chọn càng tăng thì thời gian quét càng chậm. Tỷ lệ hợp lý
được chọn là 10%.
8. EM Configuration:
Khối này cho phép người sử dụng xem được cấu hình vị trí của module được sử dụng. Địa chỉ này
được lưu trong vùng nhớ V.
9. Configure LED:
Khối này cho phép người dùng đặt cấu hình cho đèn SF/DIAG. Có hai chế độ có thể được sử dụng
để thông báo.
10. Increase Memory:
Khối cho phép người dùng tăng hoặc không tăng bộ nhớ trong chế độ chạy của PLC bằng cách
đánh dấu vào vị trí “Disable Edit in Run to increas memory”.
2.4. Khối Symbol Table:
Khối này cho phép người dùng đặt biểu tượng và chú thích các địa chỉ sử dụng trong chương
trình. Khi ta đặt biểu tượng ( symbol ) và chú thích ( comment ) thì trong chương trình sẽ thể hiện các biểu
tượng này thay cho địa chỉ. Công việc này sẽ giúp cho người dùng dễ dàng giám sát các địa chỉ được sử
dụng trong chương trình.
Ví dụ về cách lập một Symbol table
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2.5. Khối Status Chart:
Khối này giúp người dùng có thể giám sát và hiệu chỉnh các dữ liệu trong chương trình bằng
cách đưa các dữ liệu cần giám sát vào trong khối. Quá trình quan sát dữ liệu chỉ được thực hiện khi PLC
đang ở chế độ RUN. Người dùng có thể giám sát dữ liệu bằng hai cách: Dùng Chart Status hoặc Trend
View trên thanh công cụ. Chart Status thể hiện giá trị dữ liệu ở dạng bảng và Trend View thể hiện dữ liệu
dưới dạng biểu đồ theo thời gian. Có thể quan sát dữ liệu thông qua các công cụ là Chart Status hoặc
Single read tuy trong đó chức năng Chart Status có thể cập nhật giá trị của dữ liệu khi PLC chuyển sang
chế độ STOP còn chức năng Single Read thì không. Ta có thể thay đổi và cập nhật giá trị của dữ liệu
thông qua các chức năng Write và Force trên thanh công cụ.
Ví dụ về hoạt động của một bảng dữ liệu trong chương trình:
2.6. Khối Cross Reference:
Khối Cross Reference được thể hiện dưới dạng bảng giúp người dùng có thể giám sát được vị trí
và loại của dữ liệu dùng trong chương trình. Bảng chỉ được thể hiện khi chương trình được Download
xuống PLC và quan sát ở chế độ online.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Ví dụ về một Cross Reference
2.7. Khối Communication:
Khối này giúp người dùng kết nối với thiết bị lập trình bằng cách định dạng cho cổng giao tiếp.
Các bước thực hiện như sau:
1. Click chuột vào biểu tượng của khối trên màn hình giao diện chương trình người dùng, khi
đó sẽ hiện ra một bảng thông báo như sau:
Trong bảng này ta chọn địa chỉ của PLC, thường mặc định là 2, sau đó chọn ô “Search all baud
rates” để tìm tất cả các tốc độ truyền thông yêu cầu, tiếp theo Click chuột vào biểu tượng “Set PG/PC
interface” để cài đặt giao diện truyền thông, một cửa sổ sẽ hiện ra như sau:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Trong cửa sổ này ta chọn Properties để định dạng cổng truyền thông. Nếu ta dùng cổng truyền
thông loại nào thì ta chọn loại đó, sau đó chọn các thông số cho chuẩn truyền thông như thể hiện bên dưới.
Sau khi chọn xong các thông số ta nhấn “OK”để thoát khỏi cửa sổ này và quay lại cửa sổ trước đó, tại đây
ta chọn chuẩn là PC/PPI cable (PPI) nếu cáp sử dụng là PPI, sau đó nhấn “OK”để thoát về cử sổ ban đầu.
Tại đây ta click đúp chuột vào biểu tượng “Double - Click to refresh ”. Nếu quá trình giao tiếp thành công
tại đó sẽ hiển thị loại PLC đang kết nối có nghĩa là chương trình đã nhận dạng được loại PLC, nếu không
sẽ hiển thị cảnh báo lỗi. Nếu có lỗi xảy ra ta phải kiểm tra thông báo lỗi để tìm cách khắc phục lỗi sau đó
thực hiện lại các bước như trên.
Sau khi kết nối thành công ta tiến hành viết hoặc đọc chương trình, nếu muốn viết chương trình
vào PLC thì ta chọn “Download” còn ngược lại thì chọn “Upload”. Để Upload hay Download thì người
dùng phải kết nối cáp với PLC và chuyển PLC sang chế độ STOP. Việc này được thực hiện như sau:
- Từ thanh menu ta chọn ‘File” và kéo thả xuống, tại đây ta chọn Upload hoặc DownLoad.
- Trên thanh Toolbar ta chọn mũi tên xuống cho việc DownLoad và mũi tên lên cho việc
Upload.
- Nhấn phím Ctrl + U cho việc Upload và Ctrl + D cho việc DownLoad.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH
I. PHƯƠNG PHÁP LẬP TRÌNH:
S7-200 biểu diễn chương trình dưới dạng một mạch logic cứng bằng một dãy các lệnh và khối
chương trình theo thứ tự quy định. Các lệnh và khối này sẽ lần lượt được quét trong chương trình từ đầu
đến cuối trong một vòng quét. PLC sẽ làm việc ngay tại vòng quét đầu tiên và từ đó thực hiện liên tục chu
kỳ quét. Trong mỗi vòng quét nếu có một lệnh được gọi PLC sẽ nhận lệnh đó và thực hiện, nếu không
quét kịp thì tại vòng quét tiếp theo sẽ thực hiện.
Có ba phương pháp lập trình cơ bản:
- Lập trình hình thang (LAB – Ladder Logic).
- Phương pháp khối hàm (FBD – Funtion Block Diagram).
- Phương pháp liệt kê câu lệnh (STL – Statement List).
Nếu chương trình được viết theo kiểu LAD hoặc FBD thì có thể chuyển sang dạng STL nhưng
không phải mọi chương trình viết bằng STL đều có thể chuyển sang hai dạng kia.
1. LAD:
Là ngôn ngữ lập trình bằng đồ hoạ mô phỏng theo mạch relay. Các phần tử cơ bản dùng để biểu
diễn lệnh logic.
- Tiếp điểm: Mô tả các tiếp điểm dùng trong mạch relay, toán hạng của tiếp điểm dùng trong
chương trình là bit. Có hai loại tiếp điểm:
Tiếp điểm thường đóng
Tiếp điểm thường mở
- Cuộn dây: mô tả cuộn dây relay. Toán hạng sử dụng là bit.
- Hộp: Là biểu tượng mô tả các hàm khác nhau làm việc khi có tín hiệu đến kích. Những hàm
thường được biểu diễn bằng hộp là các hàm tạo thời gian (Timer), hàm đếm (Counter) và các
hàm toán học.
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn chỉnh. Thông thường các tín hiệu
điện phải đi từ dây nóng qua thiết bị rồi đến dây trung hoà sau đó về nguồn, tuy nhiên trong
phần mềm lập trình chỉ thể hiện dây nóng và bên trái và các đường nối đến thiết bị từ đó.
2. STL:
Phương pháp liệt kê lệnh là phương pháp lập trình bằng cách tập hợp các câu lệnh, mỗi câu lệnh
thể hiện một chức năng của chương trình.
Để tạo 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 ngăn
xếp. Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau từ S0 – S8. 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 bít đầu tiên (S0) và bit thứ hai (S1) của ngăn xếp. Giá trị logic mới đều có
thể được gửi hoặ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.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Ngăn xếp và tên bit:
S0 Bit đầu tiên hay bit trên cùng của ngăn xếp
S1 Bit thứ hai của ngăn xếp
S2 Bit thứ ba của ngăn xếp
S3 Bit thứ tư của ngăn xếp
S4 Bit thứ năm của ngăn xếp
S5 Bit thứ sáu của ngăn xếp
S6 Bit thứ bảy của ngăn xếp
S7 Bit thứ tám của ngăn xếp
S8 Bit thứ chín của ngăn xếp
3. FBD:
Là phương pháp lập trình khối hàm mô phỏng các lệnh và khối làm việc trong mạch số. Các phần
tử cơ bản trong phương pháp này là các khối lệnh được liên kết với nhau.
II. TẬP LỆNH S7-200:
Tập lệnh của S7-200 chia làm ba nhóm:
- Các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc vào giá trị logic của ngăn xếp.
- Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1.
- Các nhãn lệnh đánh dấu vị trí trong tập lệnh hay còn gọi là nhóm lệnh điều khiển chương trình.
Cả ba phương pháp đều sử dụng ký hiệu I để chỉ các lệnh làm việc tức thời, tức là giá trị được chỉ
định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển ngay đến tiếp điểm được chỉ
dẫn ngay trong lệnh ngay khi được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi của
vòng quét. Điều đó khác với lệnh không tức thời là giá trị chỉ chuyển vào thanh ghi ảo khi thực hiện lệnh.
Các nhóm lệnh được cho trong cây lệnh của S7-200:
- Bit Logic: Tập lệnh làm việc với bit.
- Clock: Tập lệnh làm việc với thời gian của hệ thống.
- Communication: Tập lệnh truyền thông.
- Compare: Tập lệnh so sánh.
- Convert: Tập lệnh biến đổi.
- Counter: Tập các bộ đếm.
- Floating-Point Math: Tập lệnh toán học làm việc với số thực.
- Integer Math: Tập lệnh toán học làm việc với số nguyên.
- Interupt: Tập lệnh làm việc với chương trình ngắt.
- Logical Operations: Tập lệnh các phép tính logic biến đổi.
- Move: Tập lệnh di chuyển dữ liệu.
- Programe Control: Tập lệnh điều khiển chương trình.
- Shift/Rotate: Tập lệnh dịch/quay làm việc với thanh ghi.
- String: Tập lệnh làm việc với chuỗi.
- Table: Tập lệnh làm việc với bảng dữ liệu.
- Timers: Tập các bộ định thời gian.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- Call Subroutin: Tập lệnh gọi các chương trình con.
Các lệnh cơ bản được sử dụng trong S7-200 (Các lệnh sau đây chỉ được mô tả cho phương pháp
lập trình LAD ):
1. Các lệnh làm việc với bit logic:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
Tiếp điểm thường mở sẽ đóng khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L Bool
Tiếp điểm thường đóng sẽ mở khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L Bool
Tiếp điểm thường mở sẽ đóng tức thời khi
bit = 1
bit: I Bool
Tiếp điểm thường đóng sẽ mở tức thời khi
bit = 1
bit: I Bool
Đảo giá trị của bít đầu tiên trong ngăn xếp
(đảo trạng thái của đầu ra)
Không Không
Bit đầu tiên trong ngăn xếp có giá trị bằng 1
trong khoảng thời gian bằng thời gian của
một vòng quét khi phát hiện sườn lên của tín
hiệu đầu vào
bit: I,Q,M,V,SM,T,C,S,L Bool
Bit đầu tiên trong ngăn xếp có giá trị bằng 1
trong khoảng thời gian bằng thời gian của
một vòng quét khi phát hiện sườn xuống của
tín hiệu đầu vào
bit: I,Q,M,V,SM,T,C,S,L Bool
Cuộn dây đầu ra ở trạng thái ON khi có tín
hiệu điều khiển đi qua bit: I,Q,M,V,SM,T,C,S,L Bool
Cuộn dây đầu ra ở trạng thái ON tức thời khi
có tín hiệu điều khiển đi qua bit: I,Q,M,V,SM,T,C,S,L Bool
Set một mảng gồm n tiếp điểm tính từ tiếp
điểm “bit”(n <= 128)
bit: I,Q,M,V,SM,T,C,S,L
n : IB, QB,MB,VB,SMB,SB,
LB,AC,*VD,*AC, *LD,
Constand.
Bool
Reset một mảng gồm n tiếp điểm tính từ tiếp
điểm “bit”(n <= 128)
bit: I,Q,M,V,SM,T,C,S,L
n : IB,QB,MB,VB,SMB,
SB,LB, AC,*VD,*AC,*LD,
Constand.
Bool
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Ví dụ minh minh hoạ sử dụng các bit logic trong chương trình:
Giản đồ thời gian
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2. Nhóm lệnh so sánh:
S7-200 cung cấp các lệnh so sánh theo từng kiểu dữ liệu vì vậy muốn thực hiện được phép so sánh
thì các toán hạng phải có cùng kiểu dữ liệu nếu không chương trình sẽ báo lỗi. Sau đây là một số lệnh so
sánh dữ liệu kiểu Byte.
Lệnh Mô tả Toán hạng Kiểu dữ liệu
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1=IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1<>IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1>IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1=>IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1< IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
Lệnh so sánh giá trị hai byte
IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1< = IN2
IB,QB,MB,VB,SMB,SB,LB,
AC,*VD,*AC,*LD,Constand.
Byte
3. Tập bộ tạo thời gian:
Lệnh Mô tả Toán hạng Kiểu dữ
liệu
Txxx : hằng số Word
EN : đầu vào kích Bool
Đây là lệnh đếm thời gian kích hoạt khi đầu vào
kích là ON. Khi giá trị đếm tức thời trong thanh ghi
CT >= giá trị đặt trước trong thanh ghi PT thì bit
trạng thái của bộ timer Txxx sẽ ON.
Khi tín hiệu đầu vào EN là OFF thì bit Txxx sẽ
chuyển trạng thái sang OFF và giá trị tức thời trong
CT sẽ được set về 0.
Khi đầu vào EN là ON thì giá trị tức thời trong
thanh ghi CT sẽ tăng dần đến 32676 trừ khi đầu EN
là OFF.
PT : IW,QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,*VD,
*LD,AC
Interger
Bộ TONR cũng hoạt động tương tự nhưng bit trạng
thái và thanh ghi CV vẫn giữ nguyên khi đầu vào
EN là OFF trừ khi có lệnh reset bộ TONR. Hằng số
Txxx có thể được sử dụng như một toán hạng kiểu
PT : IW, QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,
Interger
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Int để lấy giá trị tức thời và toán hạng kiểu Bit *VD,*LD,AC
Bit Txxx có cùng trạng thái với đầu vào EN,tại thời
điểm này giá trị trong thanh ghi CT = 0. Tại thời
điểm khi có tín hiệu sườn xuống của đầu vào EN
giá trị trong thanh ghi sẽ tăng dần đến khi CT = PT
thì Txxx xuống mức thấp đồng thời CT giữ nguyên
giá trị đến khi có tín hiệu sườn lên mới tại đầu vào
EN.Có thể xoá giá trị trong CT và Txxx bằng lệnh
Reset.
PT : IW,QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,
*VD,*LD,AC
Interger
Ví dụ về cách tạo bộ TON:
Giản đồ thời gian:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
4. Tập bộ đếm:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
Cxxx : hằng số Word
CU,R: đầu vào cho
phép đếm
Bool
Bộ đếm lên CTU đếm số sườn lên của tín hiệu logic
đầu vào CU tức là đếm số lần thay đổi trạng thái từ
0 lên 1 của đầu vào CU. Số sườn xung đếm được,
được ghi vào thanh ghi C-word. Nội dung của thanh
ghi C-word được gọi là giá trị đếm tức thời luôn
được so sánh với giá trị đặt trước PV. Khi C-word
>= PV thì C-bit được set lên 1, còn nếu không thì
giá trị C-bit = 0. Khi đầu vào R có mức 1 thì bộ đếm
sẽ được reset về 0 cả C-word và C-bit. Bộ đếm
ngừng đếm khi C-word đạt giá trị cực đại là 32767.
PT: IW,QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,*VD,
*LD,AC
Interger
Cxxx : hằng số Word
CU,R :đầu vào cho
phép đếm
Bool
Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên
của tín hiệu đầu vào CU và đếm lùi theo sườn lên
của tín hiệu đầu vào CD. Khi giá trị đếm tức thời C-
word >= PV thì C-bit có giá trị logic 1, ngược lại C-
bit có giá trị logic 0. Bộ đếm ngừng đếm tiến khi giá
trị C-word đạt 32767 và ngừng đếm lùi khi giá trị
C-word đạt cực tiểu là - 32767
PT : IW,QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,*VD,
*LD,AC
Interger
Cxxx : hằng số Word
CU,R :đầu vào cho
phép đếm
Bool
Khai báo bộ đếm lùi theo sườn lên của tín hiệu đầu
vào CD. Khi có sườn lên của tín hiệu đầu vào LD
thì giá trị đặt trước PV được tải vào thanh ghi tức
thời C-word, khi có sườn lên của tín hiệu vào CD thì
giá trị trong C-word giảm đi 1 đơn vị đến khi C-
word = 0 thì C-bit được sét lên 1. Nếu C-word ≠ 0
thì C-bit = 0.
PT : IW,QW,VW,
MW,SMW,T,C,
Constand,LW,SW,
AIW,*AC,*VD,
*LD,AC
Interger
Ví dụ về cách tạo bộ đếm lên/xuống:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Giản đồ thời gian
5. Tập lệnh toán học:
Tập lệnh toán học của S7-200 được chia làm hai nhóm chính gồm các lệnh toán học làm việc với
số nguyên và các lệnh làm việc với số thực.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
IN1, IN2: VW,IW,QW, MW, SW,
SMW, T, C, AC, LW, AIW,
Constant, *VD, *LD, *AC
INT Cộng hai số nguyên 16 bit đầu
vào IN1, IN2, kết quả lưu vào
vùng nhớ 16 bit tại đầu ra
OUT OUT : VW, IW, QW,
MW, SW, SMW, T, C, LW, AC,
*VD, *LD, *AC
INT
IN1, IN2 :VW,IW,QW, MW, SW,
SMW, T, C, AC, LW, AIW,
Constant, *VD, *LD, *AC
INT Trừ hai số nguyên 16 bit đầu
vào IN1, IN2, kết quả lưu vào
vùng nhớ 16 bit tại đầu ra
OUT
OUT : VW, IW, QW,
MW, SW, SMW, T, C, LW, AC,
*VD, *LD, *AC
INT
IN1, IN2 :VW,IW,QW, MW, SW,
SMW, T, C, AC, LW, AIW,
Constant, *VD, *LD,*AC
INT Nhân hai số nguyên 16 bit đầu
vào IN1, IN2, kết quả lưu vào
vùng nhớ 16 bit tại đầu ra
OUT
OUT : VW, IW, QW, MW,SW,
SMW, T, C, LW, AC, *VD, *LD,
*AC
INT
IN1, IN2 :VW,IW,QW, MW, SW,
SMW, T, C, AC, LW, AIW,
Constant, *VD, *LD,*AC
INT Chia hai số nguyên 16 bit đầu
vào IN1, IN2, kết quả lưu vào
vùng nhớ 16 bit tại đầu ra
OUT OUT : VW, IW, QW, MW,SW,
SMW, T, C, LW, AC, *VD, *LD,
*AC
INT
IN : VB, IB, QB, MB, SB,SMB,
LB, AC, Constant, *VD, *LD,
*AC
BYTE Giá trị đầu ra OUT bằng giá trị
đầu vào cộng 1 mỗi khi có tín
hiệu vào chân EN
OUT : VB, IB, QB, MB, SB,
SMB, LB, AC, *VD, *LD, *AC
BYTE
IN VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *VD,
*LD, *AC
BYTE Giá trị đầu ra OUT bằng giá trị
đầu vào trừ 1 mỗi khi có tín
hiệu vào chân EN
OUT VB, IB, QB, MB, SB,
SMB, LB, AC, *VD, *LD, *AC
BYTE
Ngoài ra còn có các lệnh tương tự làm việc với số nguyên 32 bit và số thực:
- ADD_DI: Cộng hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- SUB_DI: Trừ hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- ADD_R: Cộng hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- SUB_R: Trừ hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- MUL_DI: Nhân hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- DIV_DI: Chia hai số nguyên 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- MUL_R: Nhân hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- DIV_R: Chia hai số thực 32 bit, kết quả lưu vào vùng nhớ 32 bit.
- MUL: Nhân hai số nguyên 16 bit, kết quả lưu vào vùng nhớ 32 bit.
- DIV: Chia hai số nguyên 16 bit, kết quả lưu vào vùng nhớ 32 bit.
- Các lệnh tăng/giảm một đơn vị áp dụng cho số nguyên 8,16 và 32 bit: INC_W, INC_DW,
DEC_W, DEC_DW
- Các hàm lấy giá trị thực: SIN, COS, TAN, SQRT, EXP, LN, PID
6. Các lệnh dịch chuyển dữ liệu:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
IN: VB, IB, QB, MB, SB, SMB, LB,
AC, Constant,*VD, *LD, *AC
BYTE
Dịch chuyển dữ liệu kiểu
byte từ đầu vào IN đến đầu
ra OUT
OUT: VB, IB, QB, MB,SB, SMB,
LB, AC, *VD, *LD, *AC
BYTE
IN: VW, IW, QW, MW, SW, SMW,
LW, T, C, AIW, Constant, AC,
*VD, *AC, *LD
WORD,
INT
Dịch chuyển dữ liệu kiểu từ
đơn từ đầu vào IN đến đầu
ra OUT
OUT : VW, T, C, IW, QW, SW,
MW, SMW, LW, AC, AQW, *VD,
*AC, *LD
WORD,
INT
IN: VD, ID, QD, MD, SD, SMD,
LD, HC, &VB, &IB, &QB, &MB,
&SB, &T, &C, &SMB, &AIW,
&AQW AC, Constant, *VD, *LD,
*AC
DWORD,
DINT
Dịch chuyển dữ liệu kiểu từ
kép từ đầu vào IN đến đầu ra
OUT
OUT: VD, ID, QD, MD, SD, SMD,
LD, AC, *VD, *LD, *AC
DWORD,
DINT
IN: VD, ID, QD, MD, SD, SMD,
LD, AC, Constant, *VD, *LD, *AC
REAL
Dịch chuyển dữ liệu kiểu số
thực từ đầu vào IN đến đầu
ra OUT
OUT: VD, ID, QD, MD, SD, SMD,
LD, AC, *VD, *LD, *AC
REAL
Ngoài ra còn có các lệnh dịch chuyển dữ liệu khác:
- BLKMOV_B: Dịch chuyển N dữ liệu kiểu byte từ đầu vào đến đầu ra.
- BLKMOV_W: Dịch chuyển N dữ liệu kiểu word từ đầu vào đến đầu ra.
- BLKMOV_D: Dịch chuyển N dữ liệu kiểu từ kép từ đầu vào đến đầu ra.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- SWAP: Lệnh đảo dữ liệu hai byte trong từ đơn đầu vào lệnh.
- MOV_BIR: Lệnh đọc tức thời giá trị byte đầu vào cổng vật lý và ghi trực tiếp giá trị vào byte
đầu ra.
- MOV_BIW: Lệnh đọc tức thời giá trị word đầu vào và ghi trực tiếp giá trị vào byte đầu ra cổng
vật lý.
7. Tập lệnh làm việc với bảng dữ liệu:
Các lệnh làm việc với bảng dữ liệu gọi tắt là lệnh bảng, có thể nhập dữ liệu và sắp xếp số lượng
trong bảng.
Bảng được định nghĩa là một mảng từ đơn được xếp liền nhau bắt đầu từ địa chỉ thấp nhất tính từ
đầu bảng đến địa chỉ cao nhất tính đến cuối bảng. Hai từ đơn đầu tiên dùng để quản lý bảng, dữ liệu được
ghi vào bảng bắt đầu từ từ đơn thứ ba trong bảng, mỗi từ đơn chứa một dữ liệu, một bảng có thể chứa tối
đa 100 dữ liệu không kể hai từ đơn đầu tiên, vậy mỗi bảng có độ dài tối đa là 204 byte. Kiểu dữ liệu trong
bảng là kiểu INT. Từ đầu bảng ký hiệu là TL chứa kích thước của bảng, từ thứ hai ký hiệu EC dùng để
quản lý các dữ liệu hiện có trong bảng.
Cấu trúc một bảng dữ liệu
Các lệnh bảng gồm có:
Lệnh Mô tả Toán hạng
Kiểu
dữ liệu
DATA:VW, IW, QW,
MW, SW, SMW, LW, T,
C, AIW, AC, Constant,
*VD, *LD, *AC
INT Lệnh ghi thêm vào bảng một dữ liệu kiểu
từ đơn có nội dung được xác định bằng
toán hạng DATA. Toán hạng TBL dùng để
xác định bảng tức từ đầu tiên của bảng.
Nếu bảng đầy thì EC = TL và bit SM1.4=
1 . Dữ liệu đưa vào sẽ được xếp xuống các
dữ liệu đã có. Khi lệnh thực hiện xong thì
nội dung của EC tăng lên 1.
TBL: VW, IW, QW,
MW, SW, SMW, LW, T,
C, *VD, *LD *AC
WORD
Lệnh thực hiện việc tìm kiếm trong bảng
bắt đầu từ chỉ số vị trí INDX, PTN chứa
giá trị cần tìm kiếm. CMD là luật tìm kiếm
có giá trị 1-4 tương ứng = , ≠ , >,<. Nếu dữ
liệu được tìm thấy thì biến INDX sẽ có chỉ
vào vị trí chứa dữ liệu. Để tìm dữ liệu tiếp
theo INDX sẽ tăng giá lên 1 đơn vị. Nếu
TBL VW, IW, QW,
MW, SW, SMW, LW, T,
C, *VD, *LD, *AC
WORD
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
PTN:VW, IW, QW,
MW, SW, SMW, AIW,
LW, T, C, AC, Constant,
*VD, *LD, *AC
INT
INDX: VW, IW, QW,
MW, SW, SMW, LW, T,
C, AC, *VD, *LD, *AC
WORD
không tìm thấy INDX sẽ có giá trị bằng
EC
CMD : Constant BYTE
TBL:VW, IW, QW,
MW, SW, SMW, LW, T,
C, *VD, *LD, *AC
WORD Lệnh lấy dữ liệu đầu tiên trong bảng ra
khỏi bảng chứa trong DATA, các dữ liệu
dưới được dồn lên trên để lấp chỗ trống và
EC giảm đi 1 đơn vị. Nếu bảng trống nghĩa
là EC = 0 và SM1.4 =1
DATA:VW, IW, QW,
MW, SW, SMW, LW,
AC, T, C, AQW, *VD,
*LD, *AC
INT
TBL:VW, IW, QW,
MW, SW, SMW, LW, T,
C, *VD, *LD, *AC
WORD Lệnh lấy dữ liệu cuối cùng trong bảng ra
khỏi bảng chứa trong DATA, các dữ liệu
dưới được dồn lên để lấp chỗ trống và EC
giảm đi 1 đơn vị. Nếu bảng trống nghĩa là
EC = 0 và SM1.4 =1
DATA:VW, IW, QW,
MW, SW, SMW, LW,
AC, T, C, AQW, *VD,
*LD, *AC
INT
IN:VW, IW, QW, MW,
SW, SMW, LW, T, C,
AIW, AC, Constant,
*VD, *LD, *AC
INT
N:VB, IB, QB, MB, SB,
SMB, LB, AC, Constant,
*VD, *LD, *AC
BYTE
Lệnh điền giá trị vào bảng từ một từ đơn
IN bắt đầu bằng từ đơn OUT
OUT:VW, IW, QW,
MW, SW, SMW, LW, T,
C, AQW, *VD, *LD,
*AC
INT
Ví dụ về cách dùng lệnh AT_T_TBL:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
8. Tập lệnh phép toán biến đổi logic:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
IN1, IN2: VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *VD,
*AC, *LD
BYTE Thực hiện lệnh ADD giữa các
bit của hai byte đầu vào IN1 và
IN2, kết quả chứa trong byte đầu
ra OUT OUT:VB, IB, QB, MB, SB, SMB,
LB, AC, *VD, *AC, *LD
BYTE
IN1, IN2: VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *VD,
*AC, *LD
BYTE Thực hiện lệnh OR giữa các bit
của hai byte đầu vào IN1 và IN2,
kết quả chứa trong byte đầu ra
OUT
OUT:VB, IB, QB, MB, SB, SMB,
LB, AC, *VD, *AC, *LD
BYTE
IN1, IN2: VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *VD,
*AC, *LD
BYTE Thực hiện lệnh XOR giữa các
bit của hai byte đầu vào IN1 và
IN2, kết quả chứa trong byte đầu
ra OUT OUT:VB, IB, QB, MB, SB, SMB,
LB, AC, *VD, *AC, *LD
BYTE
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
IN1, IN2: VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *VD,
*AC, *LD
BYTE Lệnh đảo giá trị từng bit trong
byte đầu vào IN và kết quả chứa
trong byte đầu ra OUT. Thường
IN và OUT có cùng đìa chỉ
OUT:VB, IB, QB, MB, SB, SMB,
LB, AC, *VD, *AC, *LD
BYTE
Các lệnh tương tự làm việc với từ đơn, từ kép:
- WAND_W: Thực hiện lệnh ADD giữa các bit của hai từ đơn.
- WOR_W: Thực hiện lệnh OR giữa các bit của hai từ đơn.
- WXOR_W: Thực hiện lệnh XOR giữa các bit của hai từ đơn.
- WAND_DW: Thực hiện lệnh ADD giữa các bit của hai từ kép.
- WOR_DW: Thực hiện lệnh OR giữa các bit của hai từ kép.
- WXOR_DW: Thực hiện lệnh XOR giữa các bit của hai từ kép.
- INV_W: Lệnh đảo giá trị từng bit trong từ đơn.
- INV_DW: Lệnh đảo giá trị từng bit trong từ kép.
Ví dụ cách sử dụng lệnh INV_B:
IN
OUT
9. Tập lệnh biến đổi kiểu dữ liệu:
Lệnh Mô tả Toán hạng
Kiểu
dữ liệu
IN (LAD, FBD): VW, IW, QW,
MW, SW, SMW, LW, T, C,
AIW, AC, Constant, *VD, *AC,
*LD
WORD Lệnh chuyển đổi một số nhị_
thập phân IN sang số nguyên và
chứa kết quả vào OUT.
IN : 0 - 9999
OUT : VW, IW, QW, MW, SW,
SMW, LW, T, C, AC, *VD, *LD,
*AC
WORD
IN (LAD, FBD): VW, IW, QW,
MW, SW, SMW, LW, T, C,
AIW, AC, Constant, *VD, *AC,
*LD
WORD Lệnh chuyển đổi một số nguyên
IN sang số nhị_thập phân và
chứa kết quả vào OUT.
IN: 0 - 9999
OUT: VW, IW, QW, MW, SW,
SMW, LW, T, C, AC, *VD, *LD,
*AC
WORD
1 0 0 1 1 0 1 0
0 1 1 0 0 1 0 1
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
IN: VD, ID, QD, MD, SD, SMD,
LD, HC, AC, Constant, *VD,
*AC, *LD
DINT Lệnh chuyển đổi một số nguyên
32 bit IN sang số thực 32 bit,
kết quả chứa trong OUT
OUT:VD, ID, QD, MD, SD,
SMD, LD, AC, *VD, *LD, *AC
REAL
IN: VD, ID, QD, MD, SD, SMD,
LD, AC, Constant, *VD, *LD,
*AC
REAL Lệnh chuyển đổi một số thực 32
bit IN sang số nguyên 32 bit, kết
quả chứa trong OUT
OUT: VD, ID, QD, MD, SD,
SMD, LD, AC, *VD, *LD, *AC
DINT
IN: VD, ID, QD, MD, SD, SMD,
LD, AC, Constant, *VD, *LD,
*AC
REAL Lệnh chuyển đổi một số thực 32
bit sang số nguyên có dấu 32 bit
OUT: VD, ID, QD, MD, SD,
SMD, LD, AC, *VD, *AC, *LD
DINT
Lệnh chuyển đổi một số nguyên
16 bit sang số nguyên 32 bit
IN: VW, IW, QW, MW, SW,
SMW, LW, T, C, AIW, AC,
Constant, *VD, *LD, *AC
INT
OUT: VD, ID, QD, MD, SD,
SMD, LD, AC, *VD, *LD, *AC
DINT Lệnh chuyển đổi một số nguyên
32 bit sang số nguyên 16 bit.
IN: VW, IW, QW, MW, SW,
SMW, LW, T, C, AIW, AC,
Constant, *VD, *LD, *AC
INT
IN VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *AC,
*VD, *LD
BYTE Lệnh chuyển đổi giá trị byte
sang giá trị word 16 bit.
OUT VW, IW, QW, MW, SW,
SMW, LW, T, C, AC, *VD, *LD,
*AC
INT
OUT VW, IW, QW, MW, SW,
SMW, LW, T, C, AC, *VD, *LD,
*AC
INT Lệnh chuyển đổi giá trị word 16
bit sang giá trị byte.
IN VB, IB, QB, MB, SB,
SMB, LB, AC, Constant, *AC,
*VD, *LD
BYTE
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
10. Tập lệnh làm việc với thời gian thực:
Lệnh đọc /ghi giá trị thời gian thực dùng để làm việc với thời gian thực dựa vào đồng hồ hệ thống
của PLC. Các giá trị đọc hoặc ghi được là các giá trị ngày, tháng năm, giờ, phút, giây.
Các dữ liệu đọc/ghi có độ dài 1 byte và mã hoá dưới dạng số BCD, chúng nằm trong bộ đệm 8
byte và được mô tả như sau :
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Byte Mô tả Giá trị Kiểu dữ kiệu
T Year 0 ÷ 99 BCD
T+1 Month 1 ÷ 12 BCD
T+2 Day 1 ÷ 31 BCD
T+3 Hour 0 ÷ 23 BCD
T+4 Minute 0 ÷ 59 BCD
T+5 Second 0 ÷ 59 BCD
T+6 0 0 0
T+7 Day of week 1 ÷ 7 BCD
Lệnh Mô tả Toán hạng Kiểu dữ liệu
Lệnh đọc thời gian thực vào bộ
đệm 8 byte từ đồng hồ hệ thống
được chỉ định bằng toán hạng T
T: VB, IB, QB, MB, SMB,
SB, LB, *VD, *AC, *LD
BYTE
Lệnh ghi nội dung của bộ đệm 8
byte được chỉ định bởi toán hạng
T vào đồng hồ thời gian thực
T: VB, IB, QB, MB, SMB,
SB, LB, *VD, *AC, *LD
BYTE
Ví dụ cách sử dụng lệnh READ_RTC:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
11. Tập lệnh điều khiển chương trình:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
Lệnh nhảy JMP thực hiện việc chuyển
quyền điều khiển đến nhãn n được
khai báo bằng lệnh LBL. Lệnh nhảy
JMP không cho phép chuyển quyền
điều khiển từ chương trình chính vào
các chương trình con và chương trình
ngắt và ngược lại
n: 0 ÷ 63 (CPU21X)
0 ÷ 255 (CPU22X)
WORD
Lệnh gọi chương trình con và chuyển
quyền điều khiển đến chương trình con
từ chương trình chính.
N: 0 to 63 CPU 22x WORD
INDX,:VW, IW, QW,
MW, SW, SMW, LW,
T, C, AC, *VD, *LD,
*AC
INT
INIT VW, IW, QW,
MW, SW, SMW, T, C,
AC, LW, AIW,
Constant, *VD, *LD,
*AC
INT


Cấu trúc lệnh FOR…NEXT dùng để
thực hiện những chức năng vòng lặp
trong chương trình. Toán hạng INIT
chỉ điểm khởi phát và FINAL chỉ điểm
kết thúc, INDX lưu số vòng lặp tức
thời. Mỗi vòng lặp được kết thúc bởi
lệnh NEXT. Các lệnh FOR…NEXT có
thể lồng vào nhau nhưng số lệnh lồng
không được vượt quá 8. Sau khi kết
thúc một vòng lặp giá trị của INDX
tăng lên một đơn vị đến khi bằng với
giá trị của FINAL thì quá trình lặp kết
thúc.
FINAL:VW,IW, QW,
MW, SW, SMW, LW,
T, C, AC, AIW,
Constant, *VD, *LD,
*AC
INT
Ví dụ về cách sử dụng lệnh FOR…NEXT:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
12. Lệnh quay/dịch thanh ghi:
Lệnh Mô tả Toán hạng
Kiểu dữ
liệu
IN (LAD, FBD):VB, IB, QB,
MB, SB, SMB, LB, AC,
Constant, *VD, *LD, *AC
BYTE
N: VB, IB, QB, MB, SB, SMB,
LB, AC, Constant, *VD, *LD,
*AC
BYTE
Lệnh dịch phải (SHR_B) hay
lệnh dịch trái (SHL_B) thực hiện
dịch chuyển các bit đầu vào IN
đi N lần sang phải hay sang trái,
kết quả được lưu vào đầu ra
OUT.
Lệnh shift điền giá trị 0 vào vị trí
các bit bị dịch chuyển đi, bit cuối
cùng bị đẩy ra ngoài và đưa vào
bit báo tràn SM1.1, bit báo kết
quả. Bit báo kết quả 0 sẽ bằng 1
nếu giá trị trong byte đó bằng 0.
OUT: VB, IB, QB, MB, SB,
SMB, LB, AC, *VD, *LD, *AC
BYTE
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
IN (LAD, FBD):VB, IB, QB,
MB, SB, SMB, LB, AC,
Constant, *VD, *LD, *AC
BYTE
N: VB, IB, QB, MB, SB, SMB,
LB, AC, Constant, *VD, *LD,
*AC
BYTE
Lệnh quay phải (ROR_B) hay
lệnh dịch trái (ROL_B) thực hiện
dịch chuyển các bit đầu vào IN
đi N lần sang phải hay sang trái,
kết quả được lưu vào đầu ra
OUT.
Tại mỗi lần quay giá trị của bit
cuối cùng (bit 0) được đưa vào
bit SM1.1 đồng thời đưa vào bit
đầu tiên (bit 7) của byte đó nếu là
quay phải và ngược lại đối với
quay trái. Bit báo kết quả 0 sẽ
bằng 1 nếu giá trị trong byte đó
bằng 0.
OUT: VB, IB, QB, MB, SB,
SMB, LB, AC, *VD, *LD, *AC
BYTE
Ngoài ra còn có các lệnh quay dịch tương tự đối với từ đơn và từ kép:
- SHR_W: Lệnh dịch phải các bit trong một từ đơn.
- SHL_W: Lệnh dịch trái các bit trong một từ đơn.
- SHR_DW: Lệnh dịch phải các bit trong một từ kép.
- SHL_DW: Lệnh dịch trái các bit trong một từ kép.
- ROR_W: Lệnh quay phải các bit trong một từ đơn.
- ROL_W: Lệnh quay trái các bit trong một từ đơn.
- ROR_DW: Lệnh quay phải các bit trong một từ kép.
- ROL_DW: Lệnh quay trái các bit trong một từ kép.
Ví dụ về cách dùng lệnh quay/dịch với từ đơn:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
13. Tập lệnh xử lý ngắt:
Các chế độ ngắt và xử lý ngắt cho phép thực hiện các quá trình tốc độ cao, phản ứng kịp thời với
các sự kiện diễn ra bên trong và bên ngoài. Nguyên tắc cơ bản của một chế độ xử lý ngắt cũng giống việc
thực gọi một chương trình con, chỉ khác là chương trình con được gọi chủ động còn chương trình ngắt
được gọi một một cách bị động bằng tín hiệu báo ngắt. Khi có một tín hiệu báo ngắt chương trình sẽ tổ
chức gọi và thực hiện chương trình xử lý ngắt hay hệ thống tổ chức xử lý tín hiệu ngắt đó.
Do thực hiện chương trình xử lý ngắt một cách bị động từ tín hiệu báo ngắt nên hệ thống phải hỗ
trợ thêm cho công việc như: cất giữ nội dung ngăn xếp, nội dung thanh ghi AC và và các bit nhớ đặc biệt,
tổ chức xếp hàng ưu tiên cho các tín hiệu trong trường hợp chúng chưa kịp xử lý.
Kiểu
ngắt
Tín hiệu ngắt
CPU
221
CPU
222
CPU
224,
224XP
CPU
226,
226XP
0 Ngắt theo sườn lên của I0.0 Y Y Y Y
1 Ngắt theo sườn xuống của I0.0 Y Y Y Y
2 Ngắt theo sườn lên của I0.1 Y Y Y Y
3 Ngắt theo sườn xuống của I0.1 Y Y Y Y
4 Ngắt theo sườn lên của I0.2 Y Y Y Y
5 Ngắt theo sườn xuống của I0.2 Y Y Y Y
6 Ngắt theo sườn lên của I0.3 Y Y Y Y
7 Ngắt theo sườn xuống của I0.3 Y Y Y Y
8 Ngắt để nhận ký tự ở Port 0 Y Y Y Y
9 Ngắt để báo việc truyền dữ liệu đã hoàn tất của
Port 0
Y Y Y Y
10 Ngắt thời gian 0, SMB34 Y Y Y Y
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
11 Ngắt thời gian 1, SMB35 Y Y Y Y
12 Ngắt theo HSC0, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y Y Y
13 Ngắt theo HSC1, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y
14 Ngắt theo HSC1, khi có tín hiệu báo đổi hướng
đếm từ bên ngoài
Y Y
15 Ngắt theo HSC1, khi có tín hiệu Reset từ ngoài Y Y
16 Ngắt theo HSC2, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y
17 Ngắt theo HSC2, khi có tín hiệu báo đổi hướng
đếm từ bên ngoài
Y Y
18 Ngắt theo HSC2, khi có tín hiệu Reset từ ngoài Y Y
19 PLS0: Ngắt báo hoàn tất việc đếm xung Y Y Y Y
20 PLS1: Ngắt báo hoàn tất việc đếm xung Y Y Y Y
21 Ngắt theo bộ định thời T32 khi giá trị đếm tức
thời CV = PT
Y Y Y Y
22 Ngắt theo bộ định thời T96 khi giá trị đếm tức
thời CV = PT
Y Y Y Y
23 Ngắt báo hoàn tất việc nhận một gói tin ở Port 0 Y Y Y Y
24 Ngắt báo hoàn tất việc nhận một gói tin ở Port 1 Y Y
25 Ngắt để nhận ký tự ở Port 1 Y Y
26 Ngắt để báo việc truyền dữ liệu đã hoàn tất của
Port 1
Y Y
27 Ngắt theo HSC0, khi có tín hiệu báo đổi hướng
đếm từ bên ngoài
Y Y Y Y
28 Ngắt theo HSC0, khi có tín hiệu Reset từ ngoài Y Y Y Y
29 Ngắt theo HSC4, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y Y Y
30 Ngắt theo HSC4, khi có tín hiệu báo đổi hướng
đếm từ bên ngoài
Y Y Y Y
31 Ngắt theo HSC4, khi có tín hiệu Reset từ ngoài Y Y Y Y
32 Ngắt theo HSC3, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y Y Y
33 Ngắt theo HSC5, khi giá trị tức thời bằng giá trị
đặt trước CV = PV
Y Y Y Y
Y Y Y Y
* Thứ tự ưu tiên của các kiểu ngắt:
Thứ tự của các kiểu ngắt đã được cứng hoá từ trước theo thứ tự tín hiệu nào có trước thì xử
lý trước. Nếu cùng một lúc có nhiều tín hiệu báo ngắt thì chương trình sẽ tổ chức xếp hàng đợi theo thứ tụ
ưu tiên sau:
- Nhóm ngắt truyền thông
- Nhóm ngắt vào ra (kể cả HSC và ngắt truyền xung PLS)
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
- Ngắt thời gian
Tại mỗi thời điểm chỉ có một chương trình xủ lý ngắt được thực hiện, khi một chương trình xử lý
ngắt đang thực hiện mà có một tín hiệu báo ngắt khác thì chương trình vẫn tiếp tục xử lý chương trình xử
lý ngắt đó đến khi kết thúc mới chuyển sang xử lý tín hiệu ngắt đó.
Bảng hàng đợi lớn nhất mà mỗi CPU có thể có:
Nhóm ưu tiên 212 214 215 216 221 222 224 226
Ngắt truyền thông 4 4 4 8 4 4 4 8
Ngắt vào ra 4 16 16 16 16 16 16 16
Ngắt thời gian 2 4 8 8 8 8 8 8
Riêng đối với tín hiệu báo ngắt truyền thông mặc dù chưa được xử lý nhưng ký tự nhận được và
bit kiểm tra chẵn lẻ vẫn được ghi nhớ lại trong bộ đệm kèm theo đúng thứ tự của tín hiệu báo ngắt.
Bit start 7 (8) bit của ký tự Parity Bit stop
* Khai báo chế độ ngắt:
- Kích tín hiệu báo ngắt cho chế độ ngắt tương ứng ( khai báo bằng lệnh ATCH).
- Soạn thảo nội dung của chương trình ngắt trong khối INT_x.
Có thể gộp nhiều tín hiệu báo ngắt vào cùng một chương trình (chính hoặc con) nhưng một tín
hiệu báo ngắt chỉ có duy nhất một chương trình xử lý ngắt. Khi hủy tín hiệu báo ngắt bằng tín hiệu DISI
thì các ngắt vẫn tiếp tục nằm vào hàng đợi đến khi có tín hiệu kích ngắt ENI.
* Chương trình xử lý ngắt:
Cũng như chương trình con mỗi chương trình xử lý ngắt đều có một nhãn riêng được đánh dấu tại
điểm đầu của chương trình. Nhãn này được khai báo bằng lệnh INT. Tất cả các lệnh nằm giữa nhãn và
lệnh quay về không điều kện RETI đều thuộc nội dung của chương trình xử lý ngắt. Có thể kết thúc
chương trình xử lý ngắt sớm hơn bằng lệnh CRETI nhưng lệnh RETI vẫn là lệnh kết thúc chương trình xử
lý ngắt tuy nhiên lệnh này không cần khai báo. Chương trình xử lý ngắt cần phải được viết một cách tối
ưu, càng ngắn càng tốt.
Lệnh Mô tả Toán hạng Kiểu dữ liệu
Lệnh khai báo chế độ ngắt
INT: khối ngắt hay chương trình xử lý
ngắt
EVENT: kiểu ngắt
INT: 0 – 127
EVENT:
CPU21x: 0 – 26
CPU22x: 0 - 33
BYTE
Lệnh huỷ ngắt cục bộ tương ứng với
kiểu ngắt EVENT
EVENT:
CPU21x: 0 – 26
CPU22x: 0 - 33
BYTE
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Lệnh kích ngắt toàn cục hay thực hiện
các chương trình ngắt
Không Không
Huỷ tất cả các ngắt cùng một lúc Không Không
Lệnh thoát tức thời khỏi chế độ ngắt
khi chương trình ngắt chưa kết thúc
Không Không
Lệnh kết thúc chương trình ngắt Không Không
Ví dụ về cách tổ chức một chương trình xử lý ngắt:
Khai báo chương trình ngắt
Chương trình ngắt INT_0
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
CHƯƠNG 3: CÁC ỨNG DỤNG CHUYÊN DÙNG TRÊN PLC
I. XỬ LÝ TÍN HIỆU ANALOG:
Tín hiệu analog là tín hiệu tương tự (0 ÷ 10VDC, 4 ÷ 20mA,…), hầu hết các PLC đều phải hỗ trợ
các công cụ xử lý tín hiệu analog, đối với PLC S7-200 thì đó là các module analog. Module analog thực
chất là các bộ biến đổi tương tự/số thực hiện việc chuyển đổi các tín hiệu tương tự sang số để thực hiện
các hoạt động tính toán bên trong PLC. Có hai loại module analog tương ứng với các chức năng này là
module đọc và xuất tín tín hiệu analog.
1. Đọc tín hiệu analog:
Để đọc tín hiệu analog vào PLC ta cần có bộ chuyển đổi tín hiệu không điện thành tín hiệu điện
(sensor nhiệt độ, áp suất…), bộ chuyển đổi tín hiệu điện tiêu chuẩn (PT350…) và module đầu vào analog.
S7-200 hỗ trợ hai môdule đọc tín hiệu analog là EM231 và EM235
Nguyên lý đọc tín hiệu analog:
Đọc tín hiệu đầu vào với module EM231, EM235:
Tín hiệu
không
điện
Cảm
biến
Bộ
chuyển
đổi
Module
analog
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Các chức năng trên module EM231, EM235:
Module Thành phần Mô tả
A+, A-, RA Đầu vào tương tự
B+, B-, RB Đầu vào tương tự
C+, C-, RC Đầu vào tương tự
EM231, EM235
D+, D-, RC Đầu vào tương tự
EM235 M0, V0, I0 Đầu ra tương tự
EM231, EM235 Gain Chỉnh hệ số khuyếch đại
EM235 Offset Chỉnh trôi điểm không
EM231, EM235 Switch cấu hình(configuration) Chọn dải tín hiệu và độ phân giải
1.1. Sơ đồ đấu dây:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
1.2. Bảng cấu hình chọn dải tín hiệu đầu vào:
 Module EM231:
- Tín hiệu đơn cực: 0 ÷ 10V, 0 ÷ 5V, 0 ÷ 20mA
- Tín hiệu lưỡng cực: -5 ÷ 5V,- 2.5 ÷ 2.5V
 Module EM235:
Chọn dải tín hiệu và độ phân giải:
SW6: Chọn tín hiệu đơn cực hay lưỡng cực
SW4, SW5: Chọn hệ số khuyếch đại
SW1, SW2, SW3: Chọn hệ số suy giảm
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
1.3. Định dạng dữ liệu đầu vào:
Module Analog Input của S7-200 chuyển dải tín hiệu đo đầu vào (áp, dòng) đơn cực thành giá trị
số từ 0 ÷ 32000 và đầu vào lưỡng cực thành giá trị số từ -32000 ÷ 32000
1.4. Căn chỉnh tín hiệu đầu vào:
Để căn chỉnh tín hiệu đầu vào ta xây dựng phương trình đường thẳng tuyến tính giá trị cần xác
định theo giá trị số đọc được từ đầu vào analog. Để xây dựng đường thẳng tuyến tính ta chỉ cần đọc hai
giá trị đầu vào tương ứng với hai giá trị không điện. Các bước thực hiện việc căn chỉnh như sau:
 Kết nối các cảm biến và bộ chuyển đổi theo sơ đồ.
 Chọn dải giá trị và loại tín hiệu.
 Online với PLC và đọc hai giá trị đầu vào tương ứng.
 Xây dựng phương trình.
Các ký hiệu sử dụng để tính toán:
 A_In: Giá trị analog đầu vào cần xác định.
 A_Min: Giá trị giới hạn dưới của giá trị đầu vào tương tự.
 A_Max: Giá trị giới hạn trên của giá trị đầu vào tương tự.
 D_out: Giá trị chuyển đổi bằng số của A_In.
 D_Min: Giá trị chuyển đổi bằng số của A_Min.
 D_Max: Giá trị chuyển đổi bằng số của A_Max.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
 Đồ thị tính toán:
 Phương trình tính toán:
Ta xây dựng phương trình tính toán dạng y = ax + b với :
a=
Min D Max D
Min A Max A
_ _
_ _


; x= D_Out – D_Min ;b = A_Min,
y là giá trị thực cần xác định.
2. Xuất tín hiệu analog:
Ta có thể xuất tín hiệu qua module EM232 hoặc qua một cổng ra của EM235.
2.1. Sơ đồ đấu dây:
Đầu ra số
(x)
0 32000
0
150 C
24000
? C
Đầu vào analog
( y ) oC
o
o
Min A Min D Out D
Min D Max D
Min A Max A
In A _ ) _ _ (
_ _
_ _
_  



Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
2.2. Định dạng dữ liệu đầu ra:
Module Analog Output của S7-200 chuyển dải tín hiệu đo đầu ra từ giá trị số từ -32000 ÷ 32000
đối với tín hiệu lưỡng cực và 0 ÷ 32000 đối với tín hiệu đơn cực thành tín hiệu điện ở đầu ra.
2.3. Xuất tín hiệu đầu ra:
Để căn chỉnh tín hiệu đầu vào ta xây dựng phương trình đường thẳng tuyến tính giá trị đầu ra theo
các giá trị số trong chương trình. Các bước thực hiện các bước như sau:
 Kết nối các cảm biến và bộ chuyển đổi theo sơ đồ.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
 Chọn loại tín hiệu.
 Lập đồ thị các giá trị đầu vào và đầu ra tương ứng.
 Xây dựng phương trình đường thẳng tuyến tính y = ax + b
- Phương trình tính toán:
- Các kí hiệu:
• A_Out: Giá trị analog đầu ra mong muốn.
• A_Min: Giá trị giới hạn dưới của tín hiệu ra tương tự.
• A_Max: Giá trị giới hạn trên của tín hiệu ra tương tự.
• D_In: Giá trị bằng số tương ứng với A_Out.
• D_Min: Giá trị bằng số tương ứng với A_Min.
• D_Max: Giá trị bằng số tương ứng với A_Max.
- Đồ thị tính toán:
II. ĐỌC XUNG TỐC ĐỘ CAO:
Việc đọc xung tốc độ cao được thực hiện bằng bộ đếm xung tốc độ cao HSC để theo dõi và điều
khiển các quá trình tốc độ cao mà PLC không thể khống chế được do hạn chế về thời gian của vòng quét.
Nguyên tắc hoạt động của bộ đếm tốc độ cao cũng tương tự như các bộ đếm thông thường khác
tức là cũng đếm theo sườn lên của tín hiệu đầu vào, số đếm sẽ được ghi nhớ vào một ô nhớ đặc kiểu từ
kép và gọi là giá trị đếm tức thời ký hiệu là CV. Khi giá trị đếm tức thời bằng giá trị đặt trước thì bộ đếm
phát ra một tín hiệu kích ngắt. Giá trị đặt trước là một số nguyên 32 bit cũng được lưu vào một ô nhớ kiểu
từ kép và ký hiệu PV.
Đầu ra
tương tự
(x) - V
0 10
0
32000
8
?
Giá trị bằng số
cần đưa ra
( y )
Min D Min A Out A
Min A Max A
Min D Max D
In D _ ) _ _ (
_ _
_ _
_  



Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Mỗi bộ đếm có nhiều chế độ làm việc khác nhau, chọn chế độ làm việc cho bộ đếm bằng lệnh
HDEF. Từng chế độ làm việc lại có các kiểu hoạt động khác nhau. Kiểu hoạt động của mỗi bộ đếm được
xác định bằng nội dung của một byte điều khiển nằm trong vùng nhớ đăc biệt được khai báo bằng lệnh
HSC. Chỉ có thể kích bộ đếm sau khi đã khai báo chế độ làm việc và định nghĩa kiểu hoạt động cho từng
chế độ trong byte điều khiển.
Nếu chế độ ngắt vào/ra với bộ đếm được khai báo sử dụng, các tín hiệu ngắt sau đây sẽ được phát:
- Ngắt khi CV = PV
- Ngắt khi có tín hiệu báo thay đổi hướng đếm từ cổng vào bên ngoài
- Ngắt khi có tín hiệu báo xóa (reset) từ cổng vào
1. Khai báo sử dụng bộ đếm HSC:
Có thể khai báo sử dụng HSC trong chương trình chính hoặc chương trình con và nên thực hiện
trong vòng quét đầu tiên, các bước khai báo như sau:
- Nạp giá trị điều khiển vào byte điều khiển.
- Xác định chế độ làm việc cho bộ đếm bằng lệnh HDEF.
- Nạp giá trị đếm tức thời và giá trị đặt trước vào các bộ nhớ CV và PV.
- Kích bộ đếm bằng lệnh HSC.
Ngoài ra có thể khai báo sử dụng bộ đếm bằng định dạng Wizard như sau :
Việc khai báo bằng định dạng Wizard trong chương trình sẽ tự tạo một chương trình con tương tự
như trên.
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Sau khi được kích bộ đếm HSC bắt đầu làm việc và sử dụng một byte trong vùng nhớ đặc biệt quy
định cho từng bộ đếm để thông báo trạng thái hoạt động của bộ đếm.
2. Các chế độ hoạt động của bộ đếm HSC:
Có tất cả 12 chế độ hoạt động của bộ đếm tốc độ cao được cho trong bảng sau:
 Chế độ 0, 1, 2: đếm một pha với hướng đếm được xác định bởi bit nội:
- Chế độ 0: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.
- Chế độ 1: Đếm tăng hay giảm, có bit Reset nhưng không có bit Star.
- Chế độ 2: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời điểm bắt đầu
cũng như kết thúc đếm, các tín hiệu Start và Reset được chọn từ bên ngoài.
 Chế độ 3, 4, 5: Đếm một pha với hướng đếm được chọn từ bên ngoài qua các ngõ vào:
- Chế độ 3: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.
- Chế độ 4: Đếm tăng hay giảm, có bit Reset nhưng không có bit Start.
- Chế độ 5: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời điểm bắt đầu
cũng như kết thúc đếm,các tín hiệu Start và Reset được chọn từ bên ngoài
 Chế độ 6, 7, 8: Dùng đếm 2 pha với hai đầu vào chọn chiều đếm, một đầu đếm lên và một
đầu đếm xuống:
- Chế độ 6: Đếm 2 pha không có bit reset bit Start .
- Chế độ 7: Đếm 2 pha, có bit Reset nhưng không có bit Start.
- Chế độ 8: Đếm 2 pha, có bit Reset và Start để cho phép chọn thời điểm bắt đầu cũng
như kết thúc đếm, các tín hiệu Start và Reset được chọn từ bên ngoài.
 Chế độ 9, 10, 11: Đếm xung A/B của Encoder: Đếm số lần lệch trạng thái giữa hai cổng
vào tương ứng với hai xung A/B tức là thực hiện phép toán XOR giữa hai trạng thái đầu
vào, có hai dạng:
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
Dạng 1(Quadrature 1x mode): Đếm tăng 1 khi có xung A/B quay theo chiều thuận
và đếm giảm 1 khi có xung A/B quay theo theo chiều ngược.
Dạng 2(Quadrature 4x mode): Đếm tăng 4 khi có xung A/B quay theo chiều thuận
và đếm giảm 1 khi có xung A/B quay theo theo chiều ngược.
- Chế độ 9: Chỉ đếm tăng hay giảm, không có bit Start hay Reset.
- Chế độ 10: Đếm tăng hay giảm, có bit Reset nhưng không có bit Start
- Chế độ 11: Đếm tăng hay giảm, có bit Reset và Start để cho phép chọn thời gian.
 Chế độ 12: Chỉ áp dụng đối với HSC0 và HSC3, HSC0 đếm số xung phát ra từ Q0.0 và
HSC3 đếm số xung phát ra từ Q0.1 ở chế độ phát (xung nhanh ) mà không cần kết nối phần
cứng và PLC đã tự kiểm tra bên trong.
3. Các vùng nhớ dữ liệu dùng cho bộ đếm tốc độ cao:
HSC0
Địa chỉ SM Mô tả
SMB36 Thông báo trạng thái hoạt động của bộ đếm
SM36.0-4 Không sử dụng
SM36.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiến
SM36.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM36.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB37 Byte điều khiển: xác định kiểu hoạt động của HSC0
SM37.0-2 Không sử dụng
SM37.3 Chiều đếm: 0 – đếm lùi 1 – đếm tiến
SM37.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM37.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM37.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM37.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
SMD38 Lưu giá trị đếm tức thời CV
SMD42 Giá trị đặt trước PV
HSC1
SMB46 Thông báo trạng thái hoạt động của bộ đếm
SM46.0 - 4 Không sử dụng
SM46.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiến
SM46.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM46.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB47 Byte điều khiển: xác định kiểu hoạt động của HSC1
SM47.0 Kiểu reset của đầu vào I1.0: 0 – reset khi I1.0 = 1, 1 – reset khi I1.0 = 0
SM47.1 Kiểu start của đầu vào I1.1: 0 – reset khi I1.1 = 1, 1 – reset khi I1.1 = 0
SM47.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệch
SM47.3 Chiều đếm: 0 – đếm lùi1 – đếm tiến
SM47.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM47.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM47.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM47.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
SMD48 Lưu giá trị đếm tức thời CV
SMD52 Giá trị đặt trước PV
HSC2
SMB56 Thông báo trạng thái hoạt động của bộ đếm
SM56.0-4 Không sử dụng
SM56.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiến
SM56.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM56.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB57 Byte điều khiển: xác định kiểu hoạt động của HSC2
SM57.0 Kiểu reset của đầu vào I1.0: 0 – reset khi I1.0 = 1, 1 – reset khi I1.0 = 0
SM57.1 Kiểu start của đầu vào I1.1: 0 – reset khi I1.1 = 1, 1 – reset khi I1.1 = 0
SM57.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệch
SM57.3 Chiều đếm: 0 – đếm lùi1 – đếm tiến
SM57.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM57.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM57.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM57.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
SMD58 Lưu giá trị đếm tức thời CV
SMD62 Giá trị đặt trước PV
HSC3
SMB136 Thông báo trạng thái hoạt động của bộ đếm
SM136.0-4 Không sử dụng
SM136.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiến
SM136.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM136.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB137 Byte điều khiển: xác định kiểu hoạt động của HSC0
SM137.0-2 Không sử dụng
SM137.3 Chiều đếm: 0 – đếm lùi1 – đếm tiến
SM137.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM137.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM137.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM137.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
SMD138 Lưu giá trị đếm tức thời CV
SMD142 Giá trị đặt trước PV
HSC4
SMB146 Thông báo trạng thái hoạt động của bộ đếm
SM146.0-4 Không sử dụng
SM146.5 Chiều đang đếm: 0 – đếm lùi,1 – đếm tiến
SM146.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM146.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB147 Byte điều khiển: xác định kiểu hoạt động của HSC1
SM147.0 Kiểu reset của đầu vào I0.4: 0 – reset khi I0.4 = 1, 1 – reset khi I0.4 = 0
SM147.1 Không dùng
Công ty TNHH TM&DVKT TỐI ƯU - Optimize
50 Ngô Thì Nhậm – Q. Liên Chiểu - TP. Đà Nẵng
Tel: 05113.735766; Fax: 05113.739967;
Email: optimize@optimize.com.vn ; website: http://optimize.com.vn
http://www.optimize.com.vn Optimizing your system optimizing your money
SM147.2 Chọn hệ số đếm lệch pha: 0 – 4x số pha lệch, 1 – 1x số pha lệch
SM147.3 Chiều đếm: 0 – đếm lùi1 – đếm tiến
SM147.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM147.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM147.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM147.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
SMD148 Lưu giá trị đếm tức thời CV
SMD152 Giá trị đặt trước PV
HSC5
SMB156 Thông báo trạng thái hoạt động của bộ đếm
SM156.0-4 Không sử dụng
SM156.5 Chiều đang đếm: 0 – đếm lùi, 1 – đếm tiến
SM156.6 Kết quả so sánh tức thời: 0 nếu CV ≠ PV, 1 nếu CV = PV
SM156.7 Kết quả so sánh tức thời: 0 nếu CV ≤ PV, 1 nếu CV > PV
SMB157 Byte điều khiển: xác định kiểu hoạt động của HSC2
SM157.0-2 Không dùng
SM157.3 Chiều đếm: 0 – đếm lùi1 – đếm tiến
SM157.4 Cho phép đổi chiều đếm: 0 – không cho phép, 1 – cho phép
SM157.5 Cho phép sửa đổi giá trị đặt trước: 0 – không cho phép, 1 – cho phép
SM157.6 Cho phép sửa đổi giá trị đếm tức thời: 0 – không cho phép, 1 – cho phép
SM157.7 0 – cho phép hủy bộ đếm, 1 – cho phép kích
SMD158 Lưu giá trị đếm tức thời CV
SMD162 Giá trị đặt trước PV
4. Ví dụ về cách khai báo sử dụng bộ đếm HSC:

Sign up to vote on this title
UsefulNot useful