MỤC LỤC 1 Giới thiệu bộ thí nghiệm PLC S7200 4 1.1 Module nguồn 4 1.2 Module CPU 5 1.3 Module vào ra tương tự 6 1.4 Cáp kết nối máy tính 7 2 Cấu trúc chung của bộ khả trình PLC S7 200 7 2.1 Thông số kỹ thuật về các loại CPU của S7 200 7 2.2 Hình dạng bên ngoài và bố trí đầu vào ra trên CPU 8 2.2.1 Hình dạng bên ngoài 8 2.2.2 Đèn báo trên CPU 9 2.2.3 Cổng truyền thông 10 2.2.4 Pin và nguồn nuôi 10 2.2.5 Download chương trình 10 2.3 Cấu trúc và phân chia bộ nhớ 10 2.4 Thực hiện chương trình 11 2.5 Cấu trúc chương trình trong S7 200 12 3 Ngôn ngữ lập trình cho PLC S7 200 13 3.1 Phần mềm viết chương trình 13 3.2 Phương pháp lập trình 17 3.3 Hệ lệnh của S7 200 19 3.3.1 Toán hạng và giới hạn cho phép 19 3.3.2 Hệ lệnh của S7 200 20
Trang 1Trường Đại học công nghiệp hà nội
Khoa Điện Tử
Đồ án 3Tìm hiểu-Thiết kế cánh tay Robot
Sử dụng PLC S7 200
Giảng viên hướng dẫn: Th.s BÙI THỊ THU HÀ
Sinh viên thực hiện : Phùng viết Kiên
Nguyễn văn Huyến
Nguyễn thị thanh Huyền
Sinh viên lớp : LT TC-ĐH ĐT1_K3
Hà Nội, tháng 04-2012
Trang 3MỤC LỤC
1 Giới thiệu bộ thí nghiệm PLC S7-200 4
1.1 Module nguồn 4
1.2 Module CPU 5
1.3 Module vào ra tương tự 6
1.4 Cáp kết nối máy tính 7
2 Cấu trúc chung của bộ khả trình PLC S7 200 7
2.1 Thông số kỹ thuật về các loại CPU của S7 200 7
2.2 Hình dạng bên ngoài và bố trí đầu vào ra trên CPU 8
2.2.1 Hình dạng bên ngoài 8
2.2.2 Đèn báo trên CPU 9
2.2.3 Cổng truyền thông 10
2.2.4 Pin và nguồn nuôi 10
2.2.5 Download chương trình 10
2.3 Cấu trúc và phân chia bộ nhớ 10
2.4 Thực hiện chương trình 11
2.5 Cấu trúc chương trình trong S7 200 12
3 Ngôn ngữ lập trình cho PLC S7 200 13
3.1 Phần mềm viết chương trình 13
3.2 Phương pháp lập trình 17
3.3 Hệ lệnh của S7 200 19
3.3.1 Toán hạng và giới hạn cho phép 19
3.3.2 Hệ lệnh của S7 200 20
Trang 41 Giới thiệu bộ thí nghiệm PLC S7-200
Bộ PLC S7-200 tích hợp sẵn các jack cấp nguồn tiêu chuẩn EC, có in hình chỉ dẫnchìm trên mặt module đảm bảo tính thẩm mỹ cũng như tuổi thọ thiết bị Bộ thí nghiệm đượcthiết kế cho phép nguời sử dụng kết nối với các thiết bị bên ngoài như tín hiệu cảm biến, nútbấm, contactor, role … qua các jack cắm 4mm chống giật Bộ thí nghiệm bao gồm các thànhphần chính sau:
- Module nguồn
- Module CPU
- Module vào ra tương tự
- Cáp MPI dùng cho kết nối máy tính
+ Số lượng: 01 cái
Đồng hồ đo điện áp DC
+ Dải hiển thị: 0 - 30VDC + Kiểu chỉ thị: Kim + Góc hiển thị: 120 độ
Trang 5- Khả năng mở rộng truyền thông ProfibusDP: Có
- Số cổng vào bộ đếm tốc độ cao: 6 cổng, tần số tối đa 30kHz
- Loại Jack cắm: 4mm chống giật tiêu chuẩn EC
- Các thiết bị phụ trợ
+ Công tắc 2 trạng thái: 6 cái
+ Công tắc logic 3 trạng thái không tự duy trì:4 cái + Đèn báo trạng thái logic dạng Led mầu xanh: 10 cái loại phi 6mm + Loại Jack cắm 4 mm chống giật tiêu chuẩn EC: 4 cái
+ Cổng thí nghiệm bộ đếm: 6 cổng
Các đầu vào ra trên module:
- POWER: Nguồn cung cấp 24VDC
- INPUTS: Zắc lấy tín hiệu đầu vào từ 12 ~ 24VDC/4mA + I0.0 ~ I0.3 là 4 đầu vào sử dụng công tắc gạt nhả lấy tín hiệu từ COM + I0.4 ~ I1.1 là 6 đầu vào sử dụng công tắc gạt giữ lấy tín hiệu từ COM + I1.2 ~ I1.5 là 4 đầu vào trực tiếp
- OUTPUTS: Zắc lấy tín hiệu đầu ra 24VDC/0.3A
Có 10 zắc từ Q0.0 ~ Q1.1
- Có 3 cáp kết nối:
+ INPUTS: Cáp kết nối tín hiệu vào + OUTPUTS: Cáp kết nối tín hiệu ra + EMC: Cáp kết nối module vào ra tương tự
Trang 61.3 Module vào ra tương tự
- Số đầu vào (AI): 04 đầu
- Số đầu ra (AO): 01 đầu
- Kiểu đầu vào: đầu vào áp 0 – 10VDC
- Kiểu đầu ra: đầu ra áp 0 – 10VDC hoặc đầu ra dòng 4 – 20mA
- Độ phân giải của ADC, DAC: 12 bits
- 01 đầu tín hiệu áp điều chỉnh được: 0 ~ 24VDC
- 01 đầu tín hiệu dạng dòng điều chỉnh được: 0 ~ 20mA
- Đồng hồ đo dòng: 01 cái loại chỉ thị kim
- Đồng hồ đo áp: 01 cái loại chỉ thị kim
- Góc hiển thị của đồng hồ: 120 độ
- Kích thước mặt đồng hồ: 50 x 50 mm
Các đầu vào ra trên module:
- ANALOG INPUTS: Zắc lấy tín hiệu vào analog 0 ~ 10VDC hoặc 4 ~ 20 mA
- ANALOG OUTPUTS: Zắc lấy tín hiệu ra analog analog 0 ~ 10VDC hoặc 4
~ 20 mA
- VDC: Đồng hồ hiển thị điện áp
- ADJ: Biến trở điều chỉnh điện áp ra 0 ~24VDC
- ADC: Đồng hồ hiển thị dòng điện
- ADJ: Biến trở điều chỉnh dòng ra 4 ~20mA
Trang 7- Chiều dài cáp nối: 3m
- Chuẩn kết nối máy tính: RS232- cổng COM
2 Cấu trúc chung của bộ khả trình PLC S7 200
2.1 Thông số kỹ thuật về các loại CPU của S7 200
Một số loại CPU của S7 200
Bộ nhớ
Bộ nhớ chương trình 2048 Words 2048 Words 4096 Words 4096 Words
Các tính năng đăc biệt
Ngăt thời gian 2 (1-255ms) 2 (1-255ms) 2 (1-255ms) 2 (1-255ms)
Truyền thông
Trang 82.2 Hình dạng bên ngoài và bố trí đầu vào ra trên CPU
INPUTS
- Khi cấp nguồn vào chân nguồn của PLC (chân M và L+ phía đầu ra)
Sơ đồ đấu nối của CPU 224 với loại DC/DC và AC/DC thì bản thân CPU sẽ cung cấpcho ta một nguồn 24VDC chuẩn ở phía đầu vào (chân M, L+), nguồn này dùng để nuôi cáccảm biến nếu ta không có nguồn đầu vào
Trang 9Sơ đồ đấu nối cho CPU 224 DC/DC và AC/DC
2.2.2 Đèn báo trên CPU
- SF (System fault) : bật lên khi PLC có lỗi
- RUN : PLC đang ở chế độ làm việc, đang thực hiện chương trình được nạp trên máy
- STOP: Đèn báo dừng
- Ix.x : Đèn chỉ thị trạng thái của các bit đầu vào Giá trị đèn ứng với giá trị logic trên nó
- Qx.x : Đèn chỉ thị trạng thái của các bit đầu ra Giá trị đèn ứng với giá trị logic trên nó
Trang 102.2.3 Cổng truyền thông
- Tuỳ vào loại CPU hoạt động mà chúng có số cổng truyền thông khác nhau
- S7 200 sử dụng cổng truyền thông nối tiếp RS 485 với phích cắm 9 chân để kết nối vớicác thiết bị lập trình hoặc với các PLC khác
- Tốc độ truyền nối tiếp theo chuẩn PPI là 9600
- Kết nối với các thiết bị lập trình có thể sử dụng cáp MPI
- Nối S7 200 với máy tính qua cổng RS 232 cần có thiết bị chuyển đổi RS232/RS485
2.2.4 Pin và nguồn nuôi
Được sử dụng để ghi một chương trình hoặc nạp một chương trình mới
Nguồn nuôi được sử dụng để lưu giữ dữ liệu, nếu nguồn nuôi bị mất sẽ có pin dự phòng
để lưu dữ liệu Dung lượng của pin dự phòng phụ thuộc vào từng loại CPU
2.2.5 Download chương trình
Để thực hiện download chương trình vào PLC thông qua cáp PC/PPI cần thực hiệnmột số thao tác sau:
Nhấn vào Communication để chọn thông số cho quá trình download
Trên cáp PPI cần thực hiện thiết lập các thông số truyền thông trên cáp:
Bit 5 : 1: PPI (M Master)
0: PPI (Freeport) Bit 6 : 1: Remote/ DTE
0: Local / DCE Bit 7 : 1: 10 bit
0: 11 bit
2.3 Cấu trúc và phân chia bộ nhớ
Bộ nhớ của S7 200 được chia làm 4 phần với cùng 1 tụ có nhiệm vụ duy trì dữ liệutrong 1 thời gian khi mất nguồn
Bộ nhớ có tính năng động cao có khả năng đọc ghi được trên toàn vùng, trừ vùng nhớđặc biệt SM có 1 số bit chỉ có thể đọc
Sơ đồ cấu trúc của bộ nhớ trong S7 200
Trang 11chuơng trình
du liệu
du liệu
tham số tham số
chuơng trình chuơng trình
vùng đối tuợng
du liệu tham số
- Vựng nhớ chương trỡnh: lưu giữ cỏc lệnh chương trỡnh Đõy là vựng nhớ volative đọc/ghi được
non Vựng tham số: vựng lưu trữ cỏc tham số như từ khoỏ, địa chỉ tram… miền này cũngthuộc vựng nhớ non-volative đọc ghi được
- Vựng dữ liệu: Sử dụng để cất dữ liệu chương trỡnh bao gồm kết quả phộp tớnh, hằng
số định nghĩa trong chương trỡnh
Cỏc vựng nhớ trong vựng dữ liệu:
V: Variable Memory
I : Input image register
Q : Output image register
M : Internal Memory bit
SM : Special memory bit
- Vựng đối tượng sử dụng để lưu giữ giỏ trị cho cỏc đối tượng lập trỡnh : timer,counter, HSC
* Note : Một số bit nhớ đặc biệt hay dựng (cỏc bit nhớ trạng thỏi của hệ thụng):
- SM0.0 luụn luụn bằng 1 khi chương trỡnh đang hoạt động
- SM0.1 bằng 1 trong vũng quột đầu tiờn của PLC, cỏc vũng quột sau S M0.1=0(ứng dụng để gỏn một lần cỏc giỏ trị)
- SM0.4 (Clock 60s): tạo xung với chu ký 1 phỳt (30s ON và 30s Off)
- SM0.5 (Clock 1s) : tạo xung với chu ký 1s (0.5s ON và 0.5s Off)
- SM0.6 (Clock Scan): Bằng 1 trong vũng quột này và bằng 0 trong vũng quột ngaysau đú và ngược lại
2.4 Thực hiện chương trỡnh
Chương trỡnh trong PLC S7 200 được thực hiện theo vũng lặp ( vũng quột)
Trong một vũng quột PLC phải thực hiện 4 giai đoạn:
- Đọc dữ liệu từ cổng vào đưa vào bộ đệm ảo
- Thực hiện chương trỡnh: cỏc lệnh trong chương trỡnh được thực hiện lần lượt từ lệnhđầu tiờn đến lệnh cuối cựng ( gặp lệnh kết thỳc chương trỡnh MEND)
- Truyền thụng nội bộ và kiểm tra lỗi
- Truyền dữ liệu từ bộ đệm ảo ra cỏc cổng ra, đõy là giai đoạn kết thỳc của một vũngquột
Sau khi kết thỳc 4 giai đoạn trờn tức là một vũng quột đó thực hiện xong, vũng quộttiếp theo sẽ tiếp tục với 4 giai đoạn trờn cho tới khi dừng chạy
Trang 12Như vậy các lệnh không làm việc trực tiếp với các cổng vào ra mà làm việc với bộđệm ảo của cổng trong vùng nhớ tham số Trừ một số lệnh làm vào ra tức thì, khi đó chươngtrình sẽ làm việc trực tiếp với các cổng vào ra.
Trong chương trình nếu sử dụng chương trình xử lý ngắt, chương trình xử lý ngắt sẽđược thực hiện tại bất cứ điểm nào trong chương trình nếu như tín hiệu báo ngắt tương ứngcủa nó được bật
2.5 Cấu trúc chương trình trong S7 200
Chương trình trong S7 200 bao gồm chương trình chính, chương trình con, và chươngtrình xử lý ngắt
Các chương trình này được viết trên các module riêng biệt (trong cùng một Project).Chương trình con và chương trình xử lý ngắt được gọi trong chương trình chính.Cách lập trình trên là cách lập trình có cấu trúc
Ngoài ra còn có cách lập trình tuyến tính, với cách lập trình này người lập trình có thểphải viết lại những đoạn mã gần giống nhau để thực hiện các yêu cầu giống nhau thay vì gọichương trình con, vậy nên cách lập trình này ít được ứng dụng hơn cách lập trình có cấu trúc
Trang 133 Ngôn ngữ lập trình cho PLC S7 200
3.1 Phần mềm viết chương trình
Siemens cung cấp một phần mềm chuyên viết cho PLC S7 200 đó là phần mềmMicroWin:
Giao diện của phần mềm:
Trên đây có tất cả các công cụ cho phép ta làm lập trình với tất cả các tính năng củaPLC S7 200
- Khối chức năng: Bao gồm các khối chức năng đặc biệt hay sử dụng khi lập trình
- Vùng đặt tên biến tạm: Vùng này cho phép ta đặt tên các biến tạm (các biến chỉ cáctác dụng trong bản thân chương trình mà nó được đặt), Vùng này chỉ có tác dụng đốivới các loại CPU 224 trở lên
- Khối viết chương trình (Program Block): Khối cho phép ta viết chương trình thể hiệnthuật toán của mình trên đó
- Cửa sổ thông báo: Thông báo lỗi trong chương trình đang thực hiện
Trang 14 Khối chức năng bao gôm các khối có tác dụng:
Trang 15- Program Block: Khối lập trình, cho phép người sử dụng lập trình trên đó
- Symbol Table: đặt tên hình thức cho các biến trong vùng nhớ của PLC, có tác dụnggợi nhớ khi viết chương trình Cụ thể:
- Status Chart: Khối cho phép ta theo dõi giá trị của tất cả các biến trong vùng nhớ củaPLC mà ta sử dụng trong chương trình Đông thời ta có thể cho các biến giá trị mới(không kể những biến dạng “Read Only”) để theo dõi hoạt động của chương trình.-
- Data Block: các hằng số trong chương trình nếu như ta không muốn gán giá trị trựctiếp trong chương trình ta có thể gán giá trị của nó vào các vùng nhớ cua PLC trongkhối này Chú ý khi gán giá trị ta phải tránh các vùng nhớ đã được sử dụng, nếukhông sẽ làm sai thuật toán
Trang 16- System Block: Cho phép thiết lập cấu hình cho CPU
- Cross Reference: Cho phép ta biết được vị trí của tất cả các biến đang dùng nằm ở đâutrong chương trình (trong chương trình chính hay chương trình con, trên câu lệnh nào,được sử dụng với lệnh nào):
- Communications: Thiết lập truyền thông bao gồm: định dạng loại cáp truyền thông,địa chỉ của CPU, tốc độ truyền thông…
Trang 17- Set PG/PC Interface: Định dạng cho thiết bị lập trình
3.2 Phương pháp lập trình
- Toàn bộ chương trình trong một vòng quét ( Scan)
- Trong một vòng quét PLC sẽ thực hiện 4 giai đoạn : Đọc dữ liệu từ cổng vào đưa vào
bộ đệm ảo, Thực hiện chương trình, Kiểm tra lỗi vào truyền thông, Đưa dữ liệu ra từ bộ đệm
ảo ra cổng ra Bốn giai đoạn này sẽ được lặp lại trong vòng quét tiếp theo
Trang 18Gñi d÷ liÖu ra cæng ra §äc d÷ liÖu tõ cæng vµo
Thùc hiÖn chu¬ng tr×nh KiÓm tra lçi vµ truyÒn th«ng
- Ngôn ngữ lập trình trong S7 200 chủ yếu sử dụng hai loại ngôn ngữ là Ladder logic(LAD) và phương pháp liệt kê (Statement list STL)
- LAD là ngôn ngữ đồ hoạ mô phỏng một mạch điện, LAD tạo cho người lập trình dễhình dung khi lập trình và mô phỏng Khi làm việc với LAD người lập trình không cần để ýđến các giá trị trong ngăn xếp
- STL tuy có chút khó khăn hơn đối với người lập trình trong việc xử lý ngăn xếp(điều này vô cùng quan trọng khi lập trình với STL) và khi mô phỏng Tuy nhiên STL có tậplênh rộng lớn và cho dễ dàng khi lập trình có cấu trúc hơn LAD
Tuy nhiên để gần gũi với lý thuyết mạch điện chúng tôi sẽ trình bày hệ lệnh của S7
200 dưới dạng LAD Hệ lệnh dưới dạng này luôn có thể chuyển sang dang STL bằngcách:View STL t ừ đó ta có thể xem các lệnh tương ứng của STL so với LAD
* Ngăn xếp lưu trữ giá trị bit (chỉ có tác dụng khi lập trình trên ngôn ngữ STL)
- Ngăn xếp bao gồm 9 bit
- Bit mới được đưa vào ngăn xếp được đặt ngay đầu ngăn xếp, các bit cũ bị đẩy xuốngmột ô, bit cuối cùng bị đẩy ra ngoài và mất đi
- Ngăn xếp làm việc theo nguyên tắc LIFO
Trang 19- Tập lệnh nhãn đánh dấu vị trí trong chương trình.
3.3 Hệ lệnh của S7 200
3.3.1 Toán hạng và giới hạn cho phép
* Vùng dữ liệu của mỗi dạng toán hạng:
- Bit : bao gồm hai giá trị : hoặc 0 hoặc 1
- Byte: bằng 8 bit Chứa các số nguyên nằm trong khoảng 0 đên 255 ( 28-1)
- Word (2 Bytes): chứa các số nguyên nằm trong khoảng -32768 đến 32768
- Dowrd (4 Bytes): chứa các số nguyên nằm trong khoảng -2147483648 đến 2147483648
Truy
CPU 224 và CPU 226 CPU 221MX
Trang 20A Sơ lược về đại số Boolean
Đại số Boolean cho phép ta làm việc với các phép toán logic
Các phép toán logic thông dụng trong đại số Boolean là : AND, OR, NOT, XOR, NAND,NOR
Khi làm việc với các phép toán logic ta có thể đơn giản hoá biểu thức nhờ sử dụng một số
15 A + B +C = (A + B) + C = A+ (B + C) 16 A.B.C = A(BC) = (AB)C
17 ~ (A +B) = (~A) (~B) 18 ~(AB) = (~A) + (~B)
Toàn bộ hệ lệnh logic đều nằm trong mục Bit logic của khối quản lý Project (hình ….) Từđây ta có thể lấy các lênh ra bằng cách bấm chuột vào lệnh tương ứng
Trang 21B Lệnh vào ra
- Chỳ ý đến lệnh cú phải là tức thời hay khụng
- Lệnh gỏn/lấy giỏ trị tức thời được phõn biệt bằng ký tự I thờm vào sau cỏc lệnh vào ra
C Lệnh ghi xoỏ cỏc tiếp điểm.
- Nội dung của ngăn xếp khụng bị thay đổi
- Giỏ trị “ n ” đi kốm theo cú tỏc dụng chỉ ra số tiếp điểm được bật/xoỏ tớnh từ toỏn hạngtrong lện
- SI, RI cũng cú tỏc dụng ghi/xoỏ tức thỡ một mảng n giỏ trị tớnh từ toỏn hạng trong lệnh
D Hệ lệnh đại số Boolean
* Đối với LAD
- Phộp toỏn AND được biểu diễn bằng cỏch mắc nối tiếp hai tiếp điểm lại với nhau
- Phộp toỏn OR được biểu diễn bằng cỏch mắc song song hai tiếp điểm lại với nhau
- Cỏc lệnh thao tỏc trờn ngăn xếp (khụng sử dụng cho cỏc lệnh trong LAD)
ALD ( And load) : S1 = S1 and S2 ( Bit thứ 3 dc đẩy lờn 1 bit)
OLD ( Or load) : S1= S1 Or S2 ( Bit thứ 3 dc đẩy lờn 1 bit)
LPS ( Logic Push) Đẩy ngăn xếp xuống 1 bit
LPP ( Logic Pop) Kộo ngăn xếp lờn 1 bit
LRD ( Logic Read) Sao chộp giỏ trị bit thứ hai vào bit đầu của ngăn xếp Cỏc bớt cũn
địa chỉ
địa chỉ
Trang 22- Lệnh thực hiện các phép logic trên Byte, Word hoặc Double Word
Các khối tính toán này được lấy ra trong khối quản lý Project
- Các lệnh tiếp điểm đăc biệt
NOT : đảo giá trị kết quả các phép toán logic mắc nối tiếp với nó.
NOT
EU (Edge Up) : Phát hiện xườn lên của tín hiệu ( S1=1 trong 1 vòng quét).
ED (Edge Down) : Phát hiện xườn xuống của tín hiệu ( S1=1 trong 1 vòng quét).
Trang 23Với hệ lệnh trên kết quả thể hiện ở đầu ra sẽ là:
Trang 24Hệ lệnh thực hiện với các toán hạng dạng : B, W, DW, R
Các kiểu so sánh đã được chỉ ra rõ trong lệnh: = =, >=, <=, <>, >, <
găn x* Trong STL hệ lệnh so sánh cho ra kết quả được lưu vào bit đầu tiên của nếp
Vd:
LDW <= in1 in2
So sánh hai số nguyên (32 bit), nếu In1<=In2 thì kết quả đưa về là 1 nều sai thì là 0.
E Hệ lệnh điều khiển Timer
Timer được sử dụng làm bộ trễ tín hiệu
Đặc điểm chung của Timer
- Timer được điều khiển bởi giá trị đầu vào (Enable) và thanh ghi giá trị đếm tức thờiT_Word Thanh ghi này ghi giá trị tức thời của Timer từ khi Timer được hoạt động cho đếnkhi bị Reset hoặc đạt giá trị cực đại, và luôn đựơc so sánh với giá trị đặt trước PT
- Tuỳ thuộc vào loại Timer có/không nhớ mà Timer sẽ không/có bị Reset khi tín hiệuEnable bị đưa về không khi đang hoạt động
- Bit T_bit chỉ trạng thái logic đầu ra Giá trị của T_bit phụ thuộc vào kết quả so sánhgiữa T_Word và PT, nó còn phụ thuộc vào loại Timer ( TON hay TOF)
Các loại Timer