SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
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
INTCộ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
INTTrừ 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
INTNhâ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
INTChia 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
BYTEGiá 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
BYTEGiá 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
INTLệ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
WORDLệ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
WORDLệ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
BYTEThự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
BYTEThự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
BYTEThự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
BYTELệ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
WORDLệ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
WORDLệ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
DINTLệ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
REALLệ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
REALLệ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
DINTLệ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
BYTELệ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
INTLệ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=
MinDMaxD
MinAMaxA
__
__


; 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
MinAMinDOutD
MinDMaxD
MinAMaxA
InA _)__(
__
__
_ 



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) - V0 10
0
32000
8
?
Giá trị bằng số
cần đưa ra
( y )
MinDMinAOutA
MinAMaxA
MinDMaxD
InD _)__(
__
__
_ 



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:
S7 200 optimize
S7 200 optimize
S7 200 optimize

Mais conteúdo relacionado

Destaque (9)

Twincat 3 Basic Modul 31
Twincat 3 Basic Modul 31Twincat 3 Basic Modul 31
Twincat 3 Basic Modul 31
 
wael resume 3
wael resume 3wael resume 3
wael resume 3
 
Ppt series junio_2015_vf
Ppt series junio_2015_vfPpt series junio_2015_vf
Ppt series junio_2015_vf
 
Carta de trabajo
Carta de trabajoCarta de trabajo
Carta de trabajo
 
Ana de Castro Osório
Ana de Castro OsórioAna de Castro Osório
Ana de Castro Osório
 
Lição 3
Lição 3Lição 3
Lição 3
 
Citologia
Citologia Citologia
Citologia
 
Cinco Mentes Del Futuro
Cinco Mentes Del FuturoCinco Mentes Del Futuro
Cinco Mentes Del Futuro
 
Presentation EURO2016APP
Presentation EURO2016APPPresentation EURO2016APP
Presentation EURO2016APP
 

Semelhante a S7 200 optimize

Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.doc
Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.docĐồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.doc
Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.docmokoboo56
 

Semelhante a S7 200 optimize (20)

Kế Toán Tiền Lương Và Các Khoản Trích Theo Lương Tại Công Ty Xây Dựng.
Kế Toán Tiền Lương Và Các Khoản Trích Theo Lương Tại Công Ty Xây Dựng.Kế Toán Tiền Lương Và Các Khoản Trích Theo Lương Tại Công Ty Xây Dựng.
Kế Toán Tiền Lương Và Các Khoản Trích Theo Lương Tại Công Ty Xây Dựng.
 
Một Số Giải Pháp Nâng Cao Hiệu Quả Hoạt Động Tín Dụng Tại Ngân Hàng
Một Số Giải Pháp Nâng Cao Hiệu Quả Hoạt Động Tín Dụng Tại Ngân HàngMột Số Giải Pháp Nâng Cao Hiệu Quả Hoạt Động Tín Dụng Tại Ngân Hàng
Một Số Giải Pháp Nâng Cao Hiệu Quả Hoạt Động Tín Dụng Tại Ngân Hàng
 
Luận Văn Xây Dựng Chiến Lược Phát Triển Kiểm Toán Nhà Nước Khu Vực XIII.doc
Luận Văn Xây Dựng Chiến Lược Phát Triển Kiểm Toán Nhà Nước Khu Vực XIII.docLuận Văn Xây Dựng Chiến Lược Phát Triển Kiểm Toán Nhà Nước Khu Vực XIII.doc
Luận Văn Xây Dựng Chiến Lược Phát Triển Kiểm Toán Nhà Nước Khu Vực XIII.doc
 
Chất lượng tín dụng tại ngân hàng thương mại cổ phần Công Thương, 9 điểm.doc
Chất lượng tín dụng tại ngân hàng thương mại cổ phần Công Thương, 9 điểm.docChất lượng tín dụng tại ngân hàng thương mại cổ phần Công Thương, 9 điểm.doc
Chất lượng tín dụng tại ngân hàng thương mại cổ phần Công Thương, 9 điểm.doc
 
Phát Triển Dịch Vụ Thẻ Tại Ngân Hàng Tmcp Đầu Tư Và Phát Triển Việt Nam- Chi ...
Phát Triển Dịch Vụ Thẻ Tại Ngân Hàng Tmcp Đầu Tư Và Phát Triển Việt Nam- Chi ...Phát Triển Dịch Vụ Thẻ Tại Ngân Hàng Tmcp Đầu Tư Và Phát Triển Việt Nam- Chi ...
Phát Triển Dịch Vụ Thẻ Tại Ngân Hàng Tmcp Đầu Tư Và Phát Triển Việt Nam- Chi ...
 
Longphat gioi thieu suite_crm
Longphat gioi thieu suite_crmLongphat gioi thieu suite_crm
Longphat gioi thieu suite_crm
 
Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.doc
Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.docĐồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.doc
Đồ Án Tốt Nghiệp Xây Dựng Chương Trình Cho Vay Tín Dụng Của Ngân Hàng.doc
 
Ứng Dụng Thẻ Điểm Cân Bằng Vào Đánh Giá Hiệu Quả Kinh Doanh Cho Công Ty Tài C...
Ứng Dụng Thẻ Điểm Cân Bằng Vào Đánh Giá Hiệu Quả Kinh Doanh Cho Công Ty Tài C...Ứng Dụng Thẻ Điểm Cân Bằng Vào Đánh Giá Hiệu Quả Kinh Doanh Cho Công Ty Tài C...
Ứng Dụng Thẻ Điểm Cân Bằng Vào Đánh Giá Hiệu Quả Kinh Doanh Cho Công Ty Tài C...
 
Giải pháp nâng cao chất lượng tín dụng tại ngân hàng Quốc Dân.doc
Giải pháp nâng cao chất lượng tín dụng tại ngân hàng Quốc Dân.docGiải pháp nâng cao chất lượng tín dụng tại ngân hàng Quốc Dân.doc
Giải pháp nâng cao chất lượng tín dụng tại ngân hàng Quốc Dân.doc
 
Hướng dẫn sử dụng phần mềm SugarCRM-Banking
Hướng dẫn sử dụng phần mềm SugarCRM-BankingHướng dẫn sử dụng phần mềm SugarCRM-Banking
Hướng dẫn sử dụng phần mềm SugarCRM-Banking
 
BÀI MẪU Luận văn: Phát triển dịch vụ Ngân hàng điện tử, HAY
BÀI MẪU Luận văn: Phát triển dịch vụ Ngân hàng điện tử, HAYBÀI MẪU Luận văn: Phát triển dịch vụ Ngân hàng điện tử, HAY
BÀI MẪU Luận văn: Phát triển dịch vụ Ngân hàng điện tử, HAY
 
Luận Văn Phát Triển Thẻ Tín Dụng Tại Ngân Hàng Standard Chartered.doc
Luận Văn Phát Triển Thẻ Tín Dụng Tại Ngân Hàng Standard Chartered.docLuận Văn Phát Triển Thẻ Tín Dụng Tại Ngân Hàng Standard Chartered.doc
Luận Văn Phát Triển Thẻ Tín Dụng Tại Ngân Hàng Standard Chartered.doc
 
Chuyên Đề Thực Tập Thực Hiện Tại Công Ty Dịch Vụ A Cộng.docx
Chuyên Đề Thực Tập Thực Hiện Tại Công Ty Dịch Vụ A Cộng.docxChuyên Đề Thực Tập Thực Hiện Tại Công Ty Dịch Vụ A Cộng.docx
Chuyên Đề Thực Tập Thực Hiện Tại Công Ty Dịch Vụ A Cộng.docx
 
Phân tích hiệu quả hoạt động kinh doanh của Công ty Dịch vụ Hệ thống Thông ti...
Phân tích hiệu quả hoạt động kinh doanh của Công ty Dịch vụ Hệ thống Thông ti...Phân tích hiệu quả hoạt động kinh doanh của Công ty Dịch vụ Hệ thống Thông ti...
Phân tích hiệu quả hoạt động kinh doanh của Công ty Dịch vụ Hệ thống Thông ti...
 
KHÓA LUẬN TỐT NGHIỆP TẠI NGÂN HÀNG THƯƠNG MẠI BẢN VIỆT.docx
KHÓA LUẬN TỐT NGHIỆP TẠI NGÂN HÀNG THƯƠNG MẠI BẢN VIỆT.docxKHÓA LUẬN TỐT NGHIỆP TẠI NGÂN HÀNG THƯƠNG MẠI BẢN VIỆT.docx
KHÓA LUẬN TỐT NGHIỆP TẠI NGÂN HÀNG THƯƠNG MẠI BẢN VIỆT.docx
 
Luận Văn Giải Pháp Giảm Tình Trạng Nghỉ Việc Tại Công Ty Nuôi Hòa Phước.doc
Luận Văn Giải Pháp Giảm Tình Trạng Nghỉ Việc Tại Công Ty Nuôi Hòa Phước.docLuận Văn Giải Pháp Giảm Tình Trạng Nghỉ Việc Tại Công Ty Nuôi Hòa Phước.doc
Luận Văn Giải Pháp Giảm Tình Trạng Nghỉ Việc Tại Công Ty Nuôi Hòa Phước.doc
 
Bài mẫu luận văn thạc sĩ đại học thương mại, HAY
Bài mẫu luận văn thạc sĩ đại học thương mại, HAYBài mẫu luận văn thạc sĩ đại học thương mại, HAY
Bài mẫu luận văn thạc sĩ đại học thương mại, HAY
 
Chuyên đề thực tập công ty thương mại dịch vụ sản xuất Thép.docx
Chuyên đề thực tập công ty thương mại dịch vụ sản xuất Thép.docxChuyên đề thực tập công ty thương mại dịch vụ sản xuất Thép.docx
Chuyên đề thực tập công ty thương mại dịch vụ sản xuất Thép.docx
 
Kế toán xác định kết quả kinh doanh tại công ty thương mại xuất nhập khẩu ABZ...
Kế toán xác định kết quả kinh doanh tại công ty thương mại xuất nhập khẩu ABZ...Kế toán xác định kết quả kinh doanh tại công ty thương mại xuất nhập khẩu ABZ...
Kế toán xác định kết quả kinh doanh tại công ty thương mại xuất nhập khẩu ABZ...
 
Bài mẫu Khóa luận Phát triển dịch vụ ngân hàng điện tử, HAY
Bài mẫu Khóa luận Phát triển dịch vụ ngân hàng điện tử, HAYBài mẫu Khóa luận Phát triển dịch vụ ngân hàng điện tử, HAY
Bài mẫu Khóa luận Phát triển dịch vụ ngân hàng điện tử, HAY
 

Mais de Phi Phi

Vsf 473 lect_13_bonsai37
Vsf 473 lect_13_bonsai37Vsf 473 lect_13_bonsai37
Vsf 473 lect_13_bonsai37Phi Phi
 
Vsf 473 lect_13_bonsai36
Vsf 473 lect_13_bonsai36Vsf 473 lect_13_bonsai36
Vsf 473 lect_13_bonsai36Phi Phi
 
Vsf 473 lect_13_bonsai35
Vsf 473 lect_13_bonsai35Vsf 473 lect_13_bonsai35
Vsf 473 lect_13_bonsai35Phi Phi
 
Vsf 473 lect_13_bonsai34
Vsf 473 lect_13_bonsai34Vsf 473 lect_13_bonsai34
Vsf 473 lect_13_bonsai34Phi Phi
 
Vsf 473 lect_13_bonsai33
Vsf 473 lect_13_bonsai33Vsf 473 lect_13_bonsai33
Vsf 473 lect_13_bonsai33Phi Phi
 
Vsf 473 lect_13_bonsai32
Vsf 473 lect_13_bonsai32Vsf 473 lect_13_bonsai32
Vsf 473 lect_13_bonsai32Phi Phi
 
Vsf 473 lect_13_bonsai31
Vsf 473 lect_13_bonsai31Vsf 473 lect_13_bonsai31
Vsf 473 lect_13_bonsai31Phi Phi
 
Vsf 473 lect_13_bonsai30
Vsf 473 lect_13_bonsai30Vsf 473 lect_13_bonsai30
Vsf 473 lect_13_bonsai30Phi Phi
 
Vsf 473 lect_13_bonsai29
Vsf 473 lect_13_bonsai29Vsf 473 lect_13_bonsai29
Vsf 473 lect_13_bonsai29Phi Phi
 
Vsf 473 lect_13_bonsai28
Vsf 473 lect_13_bonsai28Vsf 473 lect_13_bonsai28
Vsf 473 lect_13_bonsai28Phi Phi
 
Vsf 473 lect_13_bonsai26
Vsf 473 lect_13_bonsai26Vsf 473 lect_13_bonsai26
Vsf 473 lect_13_bonsai26Phi Phi
 
Vsf 473 lect_13_bonsai25
Vsf 473 lect_13_bonsai25Vsf 473 lect_13_bonsai25
Vsf 473 lect_13_bonsai25Phi Phi
 
Vsf 473 lect_13_bonsai24
Vsf 473 lect_13_bonsai24Vsf 473 lect_13_bonsai24
Vsf 473 lect_13_bonsai24Phi Phi
 
Vsf 473 lect_13_bonsai23
Vsf 473 lect_13_bonsai23Vsf 473 lect_13_bonsai23
Vsf 473 lect_13_bonsai23Phi Phi
 
Vsf 473 lect_13_bonsai22
Vsf 473 lect_13_bonsai22Vsf 473 lect_13_bonsai22
Vsf 473 lect_13_bonsai22Phi Phi
 
Vsf 473 lect_13_bonsai21
Vsf 473 lect_13_bonsai21Vsf 473 lect_13_bonsai21
Vsf 473 lect_13_bonsai21Phi Phi
 
Vsf 473 lect_13_bonsai20
Vsf 473 lect_13_bonsai20Vsf 473 lect_13_bonsai20
Vsf 473 lect_13_bonsai20Phi Phi
 
Vsf 473 lect_13_bonsai19
Vsf 473 lect_13_bonsai19Vsf 473 lect_13_bonsai19
Vsf 473 lect_13_bonsai19Phi Phi
 
Vsf 473 lect_13_bonsai18
Vsf 473 lect_13_bonsai18Vsf 473 lect_13_bonsai18
Vsf 473 lect_13_bonsai18Phi Phi
 
Vsf 473 lect_13_bonsai17
Vsf 473 lect_13_bonsai17Vsf 473 lect_13_bonsai17
Vsf 473 lect_13_bonsai17Phi Phi
 

Mais de Phi Phi (20)

Vsf 473 lect_13_bonsai37
Vsf 473 lect_13_bonsai37Vsf 473 lect_13_bonsai37
Vsf 473 lect_13_bonsai37
 
Vsf 473 lect_13_bonsai36
Vsf 473 lect_13_bonsai36Vsf 473 lect_13_bonsai36
Vsf 473 lect_13_bonsai36
 
Vsf 473 lect_13_bonsai35
Vsf 473 lect_13_bonsai35Vsf 473 lect_13_bonsai35
Vsf 473 lect_13_bonsai35
 
Vsf 473 lect_13_bonsai34
Vsf 473 lect_13_bonsai34Vsf 473 lect_13_bonsai34
Vsf 473 lect_13_bonsai34
 
Vsf 473 lect_13_bonsai33
Vsf 473 lect_13_bonsai33Vsf 473 lect_13_bonsai33
Vsf 473 lect_13_bonsai33
 
Vsf 473 lect_13_bonsai32
Vsf 473 lect_13_bonsai32Vsf 473 lect_13_bonsai32
Vsf 473 lect_13_bonsai32
 
Vsf 473 lect_13_bonsai31
Vsf 473 lect_13_bonsai31Vsf 473 lect_13_bonsai31
Vsf 473 lect_13_bonsai31
 
Vsf 473 lect_13_bonsai30
Vsf 473 lect_13_bonsai30Vsf 473 lect_13_bonsai30
Vsf 473 lect_13_bonsai30
 
Vsf 473 lect_13_bonsai29
Vsf 473 lect_13_bonsai29Vsf 473 lect_13_bonsai29
Vsf 473 lect_13_bonsai29
 
Vsf 473 lect_13_bonsai28
Vsf 473 lect_13_bonsai28Vsf 473 lect_13_bonsai28
Vsf 473 lect_13_bonsai28
 
Vsf 473 lect_13_bonsai26
Vsf 473 lect_13_bonsai26Vsf 473 lect_13_bonsai26
Vsf 473 lect_13_bonsai26
 
Vsf 473 lect_13_bonsai25
Vsf 473 lect_13_bonsai25Vsf 473 lect_13_bonsai25
Vsf 473 lect_13_bonsai25
 
Vsf 473 lect_13_bonsai24
Vsf 473 lect_13_bonsai24Vsf 473 lect_13_bonsai24
Vsf 473 lect_13_bonsai24
 
Vsf 473 lect_13_bonsai23
Vsf 473 lect_13_bonsai23Vsf 473 lect_13_bonsai23
Vsf 473 lect_13_bonsai23
 
Vsf 473 lect_13_bonsai22
Vsf 473 lect_13_bonsai22Vsf 473 lect_13_bonsai22
Vsf 473 lect_13_bonsai22
 
Vsf 473 lect_13_bonsai21
Vsf 473 lect_13_bonsai21Vsf 473 lect_13_bonsai21
Vsf 473 lect_13_bonsai21
 
Vsf 473 lect_13_bonsai20
Vsf 473 lect_13_bonsai20Vsf 473 lect_13_bonsai20
Vsf 473 lect_13_bonsai20
 
Vsf 473 lect_13_bonsai19
Vsf 473 lect_13_bonsai19Vsf 473 lect_13_bonsai19
Vsf 473 lect_13_bonsai19
 
Vsf 473 lect_13_bonsai18
Vsf 473 lect_13_bonsai18Vsf 473 lect_13_bonsai18
Vsf 473 lect_13_bonsai18
 
Vsf 473 lect_13_bonsai17
Vsf 473 lect_13_bonsai17Vsf 473 lect_13_bonsai17
Vsf 473 lect_13_bonsai17
 

S7 200 optimize

  • 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 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
  • 2. 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
  • 3. 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.
  • 4. 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 ).
  • 5. 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.
  • 6. 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
  • 7. 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Ố
  • 8. 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
  • 9. 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.
  • 10. 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:
  • 11. 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.
  • 12. 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:
  • 13. 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.
  • 14. 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”
  • 15. 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
  • 16. 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
  • 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.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.
  • 18. 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:
  • 19. 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.
  • 20. 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
  • 21. 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.
  • 22. 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.
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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:
  • 27. 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:
  • 28. 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.
  • 29. 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 INTCộ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 INTTrừ 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 INTNhâ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 INTChia 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 BYTEGiá 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 BYTEGiá 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.
  • 30. 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.
  • 31. 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 INTLệ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
  • 32. 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 WORDLệ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 WORDLệ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:
  • 33. 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 BYTEThự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 BYTEThự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 BYTEThự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
  • 34. 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 BYTELệ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 WORDLệ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 WORDLệ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
  • 35. 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 DINTLệ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 REALLệ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 REALLệ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 DINTLệ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 BYTELệ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 INTLệ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
  • 36. 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 :
  • 37. 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:
  • 38. 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
  • 39. 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:
  • 40. 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
  • 41. 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:
  • 42. 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
  • 43. 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)
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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:
  • 48. 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
  • 49. 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.
  • 50. 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= MinDMaxD MinAMaxA __ __   ; 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 MinAMinDOutD MinDMaxD MinAMaxA InA _)__( __ __ _    
  • 51. 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ơ đồ.
  • 52. 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) - V0 10 0 32000 8 ? Giá trị bằng số cần đưa ra ( y ) MinDMinAOutA MinAMaxA MinDMaxD InD _)__( __ __ _    
  • 53. 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.
  • 54. 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: