Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Mỗi sinh viên ngành Điện Công Nghiệp, khoa Điện, Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh sẽ làm một đồ án môn học khi bước sang học kì thứ tám Đây là cơ hội để các sinh viên củng cố lại các kiến thức đã học, đồng thời là bước chuẩn bị cần thiết trước khi tốt nghiệp
Đồ án “Ứng dụng của phần mềm STEP 7-Micro/WIN 32”Điều Khiển Hệ Thống Bi rửa Bình Ngưng nhà máy Nhiệt điện Phú Mỹ gồm có 4 chương, chương
1 giới thiệu PLC Siemens S7-200, chương 2 nói về quy trình công nghệ của hệ thông bi rủa bình ngưng, chương 3 sơ đồ mạch điện và chương trình điều khiển, chương 4 kết luận
Chúng em xin chân thành cảm ơn tất cả thầy cô trong Bộ môn Điện Công
Nghiệp, đặc biệt là Thầy Nguyễn Minh Tâm đã tận tình hướng dẫn, góp ý, giúp
đỡ tài liệu và tạo mọi điều kiện để chúng em có thể hoàn thành đồ án này
Mặc dù chúng em đã có nhiều cố gắng, song trong một thời gian hạn hẹp và với kiến thức còn nhiều hạn chế, chắc hẵn đồ án này sẽ có nhiều sai sót Chúng em rất mong nhận được những lời nhận xét và chỉ bảo của thầy cô
Sinh viên thực hiện
Trương Xuân Thủy
Lê Thanh Vũ
Trang 2Một hệ thống điều khiển thiết kế bằng relay, contactor thông thường rất phức tạp và khó thiết kế PLC với kích thước nhỏ, gọn và có nhiều ưu điểm vượt trội nên đang được dần dần thay thế cho các thiết bị điều khiển trên Hiện nay, PLC đã được nhiều hãng khác nhau sản xuất như: Siemens, Mitsubishi, Hitachi, Festo, Alan Bradley, Scheider,
S7-200 là họ vi PLC (Micro-PLCs) của hãng Siemens, gồm nhiều loại CPU như CPU221, 222, 224, 226… có thể điều khiển rất nhiều hệ tự động khác nhau Với thiết kế nhỏ gọn, khả năng mở rộng cao, giá thành thấp, tập lệnh mạnh, … PLC S7-200 là giải pháp hoàn hảo cho việc điều khiển các ứng dụng có kích thước nhỏ PLC S7-200 được lập trình thông qua máy tính dùng cổng 485 với phần mềm lập trình Step7 Micro/WIN (phiên bản 2.0 hay 3.x)
Hình 1.1 Hình dạng bên ngoài của PLC S7-200
Trang 31.2 Cấu trúc PLC Siemens S7-200:
1 Cấu trúc chung:
Họ S7-200 gồm nhiều loại CPU khác nhau với nhiều tính năng khác nhau
Ta sẽ tóm tắt các chức năng của các CPU loại 22x trên bảng 1.1
Bảng 1.1 Tóm tắt các tính năng của PLC S7-200
Bộ nhớ
Bộ nhớ
chương trình 2K Words/ EEPROM 2K Words/ EEPROM 4K Words/ EEPROM 4K Words/ EEPROM
Bộ nhớ dữ
liệu 1K Words/ RAM 1K Words/ RAM 2.5K Words/ RAM 2.5K Words/ RAM
Khả năng lưu
Số ngõ I/O 6vào/4ra 8vào/6ra 14vào/10ra 24vào/16ra
Số module mở
rộng 0 module 2 module 7 module 7 module
Các I/O toàn
cục
Các I/O số 128vào/128ra 128vào/128ra 128vào/128ra 128vào/128ra
Các I/O tương
tự 0 16vào/16ra 32vào/32ra 32vào/32ra
Tập lệnh
Tốc độ thực
thi ở 33MHz 0.37μs/Lệnh 0.37μs/Lệnh 0.37μs/Lệnh 0.37μs/Lệnh
Số relay trong 256 256 256 256
Số
Counter/Timer 256/256 256/256 256/256 256/256 Vòng lặp
Các phép toán
Trang 4Số ngắt truyền
thông 1 ngắt phát / 2 ngắt thu 1 ngắt phát / 2 ngắt thu 1 ngắt phát / 2 ngắt thu 2 ngắt phát / 4 ngắt thu
Ngắt Timer 2 (1ms –
255ms) 2 (1ms – 255ms) 2 (1ms – 255ms) 2 (1ms – 255ms) Ngắt phần
Đồng hồ thời
Mật mã bảo
Port0: PPI, DP/T, Freeport PPI, DP/T, Freeport PPI, DP/T, Freeport PPI, DP/T, Freeport
Port1: N/A N/A N/A PPI, DP/T, Freeport
Mạng
PROFIBUS NETR/NETW NETR/NETW NETR/NETW NETR/NETW
2 Các phần chính của PLC S7-200:
Một PLC S7-200 bao gồm một CPU S7-200 và các module chức năng mở
rộng khác
¾ CPU S7-200:
CPU (Central Processing Unit) là phần quan trọng nhất của PLC, nó cùng
với nguồn cung cấp, các ngõ xuất/nhập tạo thành một khối thống nhất CPU
S7-200 gồm các phần chính sau (Hình 1.2):
Trang 5- CPU chạy các chương trình và lưu dữ liệu cho việc điều khiển các quá trình tự động
- Các tín hiệu vào được lấy từ các cảm biến hoặc các switch, các tín hiệu
ra điều khiển các thiết bị vận hành trong hệ thông tự động như: các máy bơm, động cơ, và các thiết bị khác Các ngõ xuất nhập có thể mở rộng trên các module
- Cổng truyền thông để kết nối PLC với các thiết bị lập trình khác
- Các đèn báo trạng thái các mode làm việc của PLC (RUN - STOP), trạng thái xuất/nhập, hoặc các lỗi hệ thống
- Các đồng hồ thời gian thực
- Bộ nhớ chương trình EEPROM
- Pin nguồn để duy trì bộ nhớ dữ liệu trong RAM
Hình 1.2: Các phần chính của CPU S7-200
* Chú thích:
- Status LEDs: Các đèn báo trạng thái
- Cartridge: Hộp đồng hồ thời gian thực
- Communication Port: Cổng truyền thông
- Top terminal door: Cửa các cực nối trên
- Bottom terminal door: Cửa các cực nối dưới
- Front access door: Cửa truy xuất trước
- Power terminal: Cực công suất
- Output terminal: Cực ra
- Mode switch: Mode chuyển đổi
- Potentiometer: Đồng hồ công suất
- Expansion I/O connection: Đầu nối xuất/nhập mở rộng
- Input terminal: Cực vào
- Sensor power: Công suất cảm biến
Trang 6¾ Các module mở rộng:
CPU S7-200 thường có số ngõ vào/ra xác định Trong trường hợp muốn tăng thêm các ngõ vào/ra ta có thể thêm các module mở rộng cho CPU (Hình 1.3)
Hình 1.3: PLC với module mở rộng
1.3 Tập lệnh PLC S7-200:
1 Các vùng nhớ và các toán hạng lập trình:
a Các vùng nhớ:
Bộ nhớ S7-200 được chia làm 4 vùng, có tụ duy trì dữ liệu khi mất nguồn Bộ nhớ S7-200 có tính năng động cao, có thể ghi/đọc được, trừ vùng nhớ đặc biệt SM (Special memory) chỉ đọc Có thể mở rộng bộ nhớ bằng các vùng nhớ ngoài
EEPROM MIỀN NHỚ NGOÀI
Chương trình Chương
trình Chương trình Tham số Tham số Tham số
Dữ liệu Dữ liệu Dữ liệu
Vùng đối tượng
Hình1.4: Cấu trúc bộ nhớ
o Vùng chương trình:
Là vùng dùng để lưu trữ các lệnh của chương trình, vùng này có thể đọc/ghi được
Tụ
Trang 7Dùng để lưu giữ các tham số như: từ khoá, địa chỉ trạm,…, vùng này cũng có thể đọc/ghi được
o Vùng dữ liệu:
Là vùng nhớ động dùng để lưu giữ tất cả các dữ liệu của chương trình, có thể truy nhập theo từng bit, byte, word (W), double word (DW) Vùng dữ liệu được chia thành nhiều vùng nhỏ có chức năng khác nhau và được
kí hiệu bằng các chữ cái
o Vùng đối tượng:
Bao gồm các thanh ghi Timer, bộ đếm tốc độ cao, bộ đệm vào ra, thanh ghi ACC Vùng này cũng có thể ghi/đọc
b Các toán hạng lập trình cơ bản:
I : module vào (Digital)
Q : module ra (Digital)
AIW : module analog vào
AQW :module analog ra
AIW và AQW chỉ có thể truy xuất theo từng từ (16 bit)
V : vùng nhớ không bốc hơi
M : vùng nhớ bốc hơi
SM : vùng nhớ đặc biệt
T : Timer
C : Counter
HC : Đếm vận tốc cao
AC : thanh ghi tích luỹ
* Cách truy cập các ô nhớ:
Ví dụ:
V1.7 : bit thứ 7 của byte 1 của vùng nhớ V
VB1 : byte thứ 1 của vùng nhớ V
VW1: từ đơn thuộc vùng nhớ V, gồm 2 byte 1 và 2 (trong đó byte là byte cao của từ)
Trang 8VD1 : từ kép thuộc vùng nhớ V, gồm 4 byte 1, 2, 3, 4 (trong đó byte 1 là byte cao)
Các byte đều có thể truy nhập bằng con trỏ, ví dụ:
&VB1 : xác định địa chỉ của byte 1 vùng nhớ V
&VW1 : xác định địa chỉ của byte cao (VB1) của từ đơn VW1
*(&VB1): xác định nội dung của địa chỉ byte VB1
2 Các dạng lập trình cơ bản:
Một chương trình bao gồm một dãy các lệnh, PLC bắt đầu thực hiện từ lệnh đầu tiên cho đến lệnh cuối cùng trong một vòng quét (scan cycle)
Một vòng quét được thực hiện như sau (hình 1.5):
o Đọc tín hiệu vào và cất vào bộ nhớ đệm vào
o Chạy chương trình
o Xửõ lí các yêu cầu truyền thông
o Kiểm tra bên trong
o Xuất ra ngõ ra
Hình 1.5: Một vòng quét của CPU
Các chương trình cho PLC thường được viết dưới 2 dạng: dạng giản đồ thang (LAD) và dạng phát biểu (STL)
a Dạng giản đồ thang (LAD):
LAD là ngôn ngứ lập trình bằng đồ hoạ, những thành phần cơ bản trong LAD tương ứng với các thành phần trong bảng điều khiển bằng relay Các phần tử cơ bản như sau:
* Tiếp điểm: Là biểu tượng tượng trưng cho tiếp điểm của relay
Tiếp điểm thường đóng:
Tiếp điểm thường hở:
* Cuộn dây (coil): ⎯( )⎯
Mô tả relay được mắc theo chiều dòng điện cung cấp cho relay
Trang 9* Hộp (Box):
Là biểu tượng mô tả các hàm khác nhau, nó hoạt động khi có dòng điện chạy qua nó Các hàm thường được biểu diễn bằng các hộp là các bộ Timer, bộ đếm (counter), và các hàm toán học khác
b Dạng phát biểu (STL) :
Là chương trình được viết dưới dạng tập hợp các câu lệnh, mỗi lệnh thể hiện một công việc của PLC
c Dạng khối hàm (FBD):
Có dạng giống như các phép toán logic
Ví dụ: Khối hàm AND (Hình dưới)
Kết quả của khối hàm AND là kết quả logic của 2 ô nhớ I2.0 và V50.0
Dạng này ít được sử dụng
3 Các lệnh cơ bản:
PLC S7-200 có nhiều loại CPU, mỗi loại CPU có tập lệnh khác nhau ở một số điểm Tuy nhiên sự khác biệt này không nhiều, thường là mở rộng thêm chức năng, nên về cơ bản là chúng giống nhau Để cho thống nhất, ở đây ta chủ yếu dựa trên tập lệnh của PLC S7-200 với CPU 214
a Các lệnh vào ra của chương trình:
Dạng lệnh Mô tả chức năng lệnh
LAD Tiếp điểm thường hở sẽ được đóng nếu giá trị logic bằng 1 và sẽ hở nếu giá trị logic bằng 0
Toán hạng Bit : I, Q, M, SM, T, C, V (n)
STL LD bit
Trang 10LAD
Tiếp điểm thường hở sẽ đóng tức thời khi giá trị bit bằng 1 và sẽ mở tức thời nếu giá trị logic bằng 0
Toán hạng Bit : I, Q, M, SM, C, T, V(n)
STL LDI bit
LAD
Tiếp điểm thường đóng sẽ mở tức thời (không cần đợi đến chu kì quét) khi giá trị logic bằng
1 và ngược lại
Toán hạng Bit: I, Q, M, SM, C, T, V (n)
STL LDNI bit
LAD
Tiếp điểm đảo trạng thái của dòng cung cấp Nếu dòng cung cấp có tiếp điểm đảo thì nó ngắt mạch và ngược lại
STL NOT
LAD Lệnh vi phân cạnh lên
Khi có 1 cạnh lên (0 lên 1) thì công tắc thông mạch
STL EU
LAD Lệnh vi phân cạnh xuống
Khi có 1 cạnh xuống (1 xuống 0) thì công tắc thông
Trang 11STL =I bit Toán hạng Bit: I, Q, M, SM, T, C, V (n)
LAD
Dùng để đóng một mảng gồm N tiếp điểm kể từ giá trị ban đầu bit (Set)
Toán hạng Bit : I, Q, M, SM, T, C, V, IB, QB,
MB, SMB, VB, AC, *VD, *AC, Const STL S bit N
LAD
Dùng để ngắt một mảng gồm N tiếp điểm kể từ giá trị ban đầu bit (Reset)
Toán hạng Bit : I, Q, M, SM, T, C, V, IB, QB,
MB, SMB, VB, AC, *VD, *AC, Const
STL R bit N
LAD
Set tức thời một mảng gồm N bit kể từ giá trị ban đầu bit
Toán hạng Bit : I, Q, M, SM, T, C, V, IB, QB,
MB, SMB, VB, AC, *VD, *AC, Const
Toán hạng Bit : I, Q, M, SM, T, C, V, IB, QB,
MB, SMB, VB, AC, *VD, *AC, Const
STL RI bit N
LAD Lệnh này không có hiệu lực trong chương trình, thường dùng để tạo trễ Toán hạng N là
một số từ 0 đến 255
STL NOP
b Các lệnh so sánh:
* Tổng quát:
Trang 12
- IN1, IN2 là các biến so sánh, có kiểu là kieu bien
- kieu bien gồm có kiểu Byte, Word, Double word, và kiểu số thực
- Toan tu ss gồm có : ==; >=; <=
Tiếp điểm đóng khi phép so sánh thoả mãn
Dạng lệnh Mô tả chức năng lệnh
LAD Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Byte)
Toán hạng IN1, IN2 : VB, IB, QB, MB, SMB,
AC, Const, *VD, *AC
STL LDB= IN1 IN2
LAD
Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1,IN2 kiểu Word) và ngược lại
Toán hạng IN1,IN2: VW, IW, MW, SMW,
AC, Const, T, C, AIW, *VD, *AC STL LDW= IN1 IN2
LAD
Lệnh so sánh bằng làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1,IN2 kiểu Double Word) và ngược lại
Toán hạng IN1, IN2 : VD, ID, MD, SMD, AC,
Const, HC, *VD, *AC STL LDD= IN1 IN2
LAD
Lệnh so sánh bằng làm tiếp điểm đóng khi IN1 bằng IN2 (IN1,IN2 kiểu Real số thực) và ngược lại
Toán hạng IN1, IN2: VD, ID, QD, MD, SMD,
AC, HC, *AC Const, *VD STL LDR= IN1 IN2
Trang 13LAD
Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Byte)
Toán hạng IN1, IN2 : VB, IB, QB, MB, SMB,
AC, Const, *VD, *AC STL LDB >= IN1 IN2
LAD
Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Word)
Toán hạng IN1, IN2 : VW, IW, MW, SMW,
AC, Const, T, C, AIW, *VD, *AC STL LDW >= IN1 IN2
LAD
Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu DWord)
Toán hạng IN1, IN2 : VD, ID, MD, SMD, AC,
Const, HC, *VD, *AC STL LDD >= IN1 IN2
LAD
Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Real)
Toán hạng IN1, IN2: VD, ID, QD, MD, SMD,
AC, HC, *AC, Const, *VD STL LDR >= IN1 IN2
LAD
Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1,IN2 kiểu Byte)
Toán hạng IN1, IN2: VB, IB, QB, MB, SMB,
AC, Const, *VD, *AC STL LDB <= IN1 IN2
LAD
Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Word)
Toán hạng IN1, IN2: VW, IW, MW, SMW,
AC, Const, T, C, AIW, *VD, *AC STL LDW <= IN1 IN2
Trang 14LAD
Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Dword)
Toán hạng IN1, IN2: VD, ID ,MD, SMD, AC,
Const, HC, *VD, *AC STL LDD <= IN1 IN2
LAD
Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Real)
Toán hạng IN1, IN2: VD, ID, QD, MD, SMD,
AC, HC, *AC Constant, *VD STL LDR <= IN1 IN2
c Các lệnh nhảy:
Dạng lệnh Mô tả chức năng lệnh
LAD Lệnh END dùng để kết thúc chương trình chính hiện hành STL END
LAD Lệnh STOP dùng để dừng chương trình hiện hành và chuyển sang chế độ STOP STL STOP
LAD Lệnh WDR dùng để khởi tạo lại đồng hồ quan sát STL WDR
LAD
Lệnh nhảy thực hiện việc chuyển điều khiển
đến nhãn n trong một chương trình Toán hạng n: 0-63 (CPU 212)
0-255 (CPU 214) STL JMP Kn
LAD
Lệnh khai báo nhãn trong một chương trình
Toán hạng n: 0-63 (CPU 212)
Trang 15STL LBL Kn 0-255 (CPU 214)
LAD
Lệnh gọi chương trình con, chuyển điều khiển
đến chương trình con n trong một chương trình
n : 0-63 (CPU 212)
0-255 (CPU 214) STL CALL Kn
LAD
Lệnh gán nhãn n cho một chương trình con
n : 0-63 (CPU212)
0-255 (CPU214) STL SBR Kn
LAD Lệnh trở về nơi chương trình chính đã gọi chương trình con (kết thúc chương trình con) STL RET
d Các lệnh dịch chuyển và sao chép:
Dạng lệnh Mô tả chức năng lệnh
LAD
Sao chép nội dung của byte IN sang OUT
IN: VB, IB, QB, MB, SMB, SB, AC, Const,
*VD, *AC
OUT: VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC STL MOVB IN OUT
LAD
Sao chép nội dung của từ IN sang OUT
IN: VW, T, C, IW, QW, MW, SMW, SW, AC,
AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW,
AC, AQW, *VD, *AC STL MOVW IN OUT
Trang 16LAD
Sao chép nội dung của số thực IN sang OUT
IN: VD, ID, QD, MD, SD, SMD, AC, Const,
*VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL MOVR IN OUT
LAD
Chép nội dung của một mảng gồm N byte bắt đầu từ địa chỉ byte IN sang một mảng bắt đầu từ OUT
IN: VB, IB, QB, MB, SMB, SB, *VD, *AC OUT: VB, IB, QB, MB, SMB, SB, *VD, *AC
N : VB, IB, QB, MB, SMB, SB, AC, Const,
*VD, *AC STL BMB IN OUT N
LAD
Chép nội dung của một mảng gồm N Word bắt đầu từ địa chỉ byte IN sang một mảng N word bắt đầu từ OUT
Trang 17LAD
Chép nội dung của một mảng gồm N Dword bắt đầu từ địa chỉ byte IN sang một mảng N Dword bắt đầu từ OUT
IN : VD, ID, QD, MD, SMD, SD, *VD, *AC OUT: VD, ID, QD, MD, SMD, SD, *VD, *AC
N : VB, IB, QB, MB, SMB, SB, AC, Const,
*VD, *AC STL BMD IN OUT N
LAD
Hoán đổi nội dung của byte thấp sang byte
cao và ngược lại của từ IN
IN: VW, T, C, IW, QW, MW, SMW, SW, AC,
*VD, *AC STL SWAP IN
e Các lệnh chuyển đổi kiểu dữ liệu:
Dạng lệnh Mô tả chức năng lệnh
LAD
Chuyển đổi số nhị phân thập phân 16 bit IN
thành số nguyên 16 bit và kết quả ghi vào
OUT IN: VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const,*VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW,
AC, *VD,*AC
STL BCD_I OUT
LAD
Chuyển đổi số nguyên 16 bit IN thành số
nhị phân thập phân 16 bit và kết quả ghi vào
OUT IN: VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW,
AC, *VD, *AC STL I_BCD OUT
Trang 18LAD
Thực hiện phép biến đổi một số thực 32 bit
IN thành số nguyên có dấu 32 bit và ghi kết
quả vào OUT (lấy phần nguyên)
IN: VD, ID, QD, MD, SMD, SD, AC, HC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC,
*VD, *AC STL TRUNC IN OUT
LAD
Lệnh đặt giá trị logic bằng 1 vào từ đơn
OUT có chỉ số bằng số nguyên nằm trong
nibble (4 bit) thấp của đầu vào IN Nếu lớn
hơn 9999 thì cờ SM1.6 sẽ báo tràn
IN: VB, IB, QB, MB, SMB, SB, AC, *VD,
Lệnh xác định chỉ số của bit thấp nhất trong
từ đơn IN có giá trị logic bằng 1 và ghi kết
quả vào nibble (4bit) thấp của đầu ra OUT
IN: VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const, *VD, *AC
OUT: VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC STL ENCO IN OUT
Trang 19LAD
Lệnh tạo giá trị các bit cho thanh ghi 7 nét
tương ứng với 4 bit thấp của đầu vào IN kết quả được ghi vào byte đầu ra OUT
IN: VB, IB, QB, MB, SMB, SB, *VD, *AC OUT: VB, IB, QB, MB, SMB, SB, *VD,
*AC STL SEG IN OUT
LAD
Lệnh này chuyển một chuỗi ký tự có dấu có
chiều dài LEN mà kí tự bắt đầu là IN sang
số nguyên hệ cơ số 16 và ghi vào vùng nhớ
kể từ byte được chỉ định OUT Nếu mã hóa
một kí tự sai thì cờ SM1.7 bật lên 1
LEN: VB, IB, QB, MB, SMB, SB, AC,
Const, *VD, *AC
IN: VB, IB, QB, MB, SMB, SB, *VD, *AC OUT: VB, IB, QB, MB, SMB, SB, *VD,
*AC STL ATH IN LEN OUT
LAD
Lệnh này cho phép biến đổi một dãy số viết trong cơ số 16 thành mã ASCII Số bắt đầu
lưu trong IN với chiều dài LEN Độ dài cực
đại của dãy số là 255 Chuỗi kí tự đầu ra
được ghi vào mảng có byte đầu OUT
LEN:VB, IB, QB, MB, SMB, SB, AC,
Const, *VD, *AC
IN: VB, IB, QB, MB, SMB, SB, *VD, *AC OUT: VB, IB, QB, MB, SMB, SB, *VD,
*AC STL HTA IN OUT LEN
Trang 20f Các lệnh số học và tăng giảm:
Dạng lệnh Mô tả chức năng lệnh
LAD
Lệnh cộng hai số nguyên 16 bit IN1 và IN2, kết quả là một số nguyên OUT 16 bit Trong STL thì
kết quả ghi vào IN1
IN1, IN2 :VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const, *VD, *AC
OUT :VW, T, C, IW, QW, MW, SMW, SW, AC,
*VD, *AC STL +I IN1 IN2
LAD
Lệnh cộng hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit Trong STL thì
kết quả ghi vào IN1
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC, HC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL +D IN1 IN2
LAD
Lệnh cộng hai số thực 32 bit IN1 và IN2 kết quả là một số thực OUT 32 bit Trong STL thì kết
quả ghi vào IN1
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL +R IN1 IN2
LAD
Lệnh trừ hai số nguyên 16 bit IN1 và IN2 kết quả là một số nguyên OUT 16 bit Trong STL thì kết quả ghi vào IN1
IN1, IN2 :VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, ConsT, *VD, *AC
OUT : VW, T, C, IW, QW, MW, SMW, SW, AC,
*VD, *AC STL -I IN1 IN2
Trang 21LAD
Lệnh trừ hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit Trong STL thì kết quả ghi vào IN1
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC, HC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL -D IN1 IN2
LAD
Lệnh trừ hai số thực 32 bit IN1 và IN2 kết quả là một số thực OUT 32 bit Trong STL thì kết quả ghi vào IN1
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL -R IN1 IN2
LAD
Lệnh thực hiện phép nhân giữa hai số nguyên 16
bit IN1 và IN2 và cho kết quả 32 bit ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2
IN1, IN2: VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL MUL IN1 IN2
LAD
Lệnh thực hiện phép nhân giữa hai số thực 32 bit
IN1 và IN2 và cho là số thực 32 bit ghi vào từ
kép OUT, còn trong STL thì ghi vào IN2
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL *R IN1 IN2
Trang 22LAD
Lệnh thực hiện phép chia giữa hai số nguyên 16
bit IN1 và IN2 và cho kết quả là số thực 32 bit ghi vào từ kép OUT, còn trong STL thì ghi vào
IN2 IN1, IN2: VW, T, C, IW, QW, MW, SMW, SW,
AC, AIW, Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL DIV IN1 IN2
LAD
Lệnh thực hiện phép nhân giữa hai số thực 32 bit
IN1 và IN2 và cho kết quả là số thực ghi vào từ
kép 32 bit OUT, trong STL thì ghi vào IN2
IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*ACSTL /R IN1 IN2
LAD
Lệnh tăng giá trị word IN lên một đơn vị kết quả ghi vào OUT Trong STL, kết quả ghi vào IN
IN: VW, T, C, IW, QW, MW, SMW, SW, AC,
AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW, AC,
*VD, *AC STL INCW IN
LAD
Lệnh tăng giá trị Double word IN lên một đơn vị kết quả ghi vào OUT Trong STL, kết quả ghi vào IN
IN: VD, ID, QD, MD, SMD, SD, AC, HC, Const,
*VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
Trang 23STL INCD IN *AC
LAD Lệnh giảm giá trị bit IN đi một đơn vị kết quả ghi vào OUT Trong STL kết quả ghi vào IN
IN: VB, IB, QB, MB, SMB, SB, AC, Const,
*VD, *AC
OUT: VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC STL DECB IN
LAD
Lệnh giảm giá trị word IN đi một đơn vị kết quả ghi vào OUT Trong STL kết quả ghi vào IN
IN: VW, T, C, IW, QW, MW, SMW, SW, AC,
AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW, AC,
*VD, *AC STL DECW IN
LAD
Lệnh giảm giá trị Double word IN đi một đơn vị kết quả ghi vào OUT Trong STL kết quả ghi vào IN
IN: VD, ID, QD, MD, SMD, SD, AC, HC, Const,
*VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC STL DECD IN
LAD
Lệnh thực hiện việc lấy căn bậc hai của một số
IN kết quả ghi vào số OUT 32 bit IN: VD, ID, QD, MD, SMD, SD, AC, Const,
*VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC
STL SQRT IN OUT
4 Các lệnh về Timer:
a Giới thiệu về Timer:
Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra, nên thường được gọi là bộ tạo trễ PLC S7-200 từ CPU 214 trở lên có 128 timer, được chia làm 2 loại như sau:
¾ Timer không có nhớ: kí hiệu là TON Khi tín hiệu vào IN ở mức 0
thì timer bị reset (nội dung bộ đếm bằng 0) Timer này được dùng
Trang 24¾ Timer có nhớ: Kí hiệu là TONR Timer này khác loại có nhớ ở chỗ
là khi tín hiệu vào IN ở mức 0 thì timer sẽ dừng (bộ đếm vẫn được giữ), khi IN bằng 1 thì timer tiếp tục đếm cho đến giá trị đặt trước
PT Timer TONR được dùng để tạo trễ một khoảng thời gian gián đoạn
Cả hai loại timer trên đều tự dừng khi đã đếm đến giá trị đặt trước PT, khi đó công tắc timer sẽ được set lên 1 Muốn cho timer hoạt động trở lại phải reset timer
Timer có 3 độ phân giải: 1ms, 10ms, và 100ms, được qui định như sau (CPU214):
Loại Độ phân giải Giá trị đếm
Trang 25b Các lệnh điều khiển Timer:
Dạng lệnh Mô tả chức năng lệnh
LAD
Khai báo Timer số hiệu xxx kiểu TON để tạo thời gian trễ tính từ khi giá trị đầu vào IN được
kích Nếu giá trị đếm tức thời lớn hơn hoặc
bằng giá trị đặt trước PT thì T-bit bằng 1
xxx: 32-63, 96-127 (CPU214) PT: VW, T, C, IW, QW, MW, SMW, SW, AC,
AIW, Const, *VD, *AC
STL TON Txxx PT
LAD
Khai báo Timer số hiệu xxx kiểu TONR để
tạo thời gian trễ tính từ khi giá trị đầu vào IN được kích Nếu giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước thì T-bit bằng 1
xxx: 0-31, 64-95 (CPU 214) PT: VW, T, C, IW, QW, MW, SMW, SW, AC,
AIW, Const, *VD, *AC
STL TONR Txxx PT
5 Lệnh sử dụng hàm phát xung tốc độ cao:
CPU 214 sử dụng hai cổng ra Q0.0 và Q0.1 để phát ra dãy xung có tần số cao PTO hoặc tín hiệu điều rộng xung PWM
Các ô nhớ điều khiển, lưu chu kì, độ rộng xung, và số xung của các tín hiệu PTO và PWO được cho như bảng sau:
0 : PTO