Đăng ký Đăng nhập

Tài liệu Bai 2

.DOC
26
516
126

Mô tả:

Bai giang S7 300 rất cơ bản, dễ hiểu
BÀI 2 LẬP TRÌNH VỚI S7-300 VÀ MÔ PHỎNG BẰNG PLCSIM 1. Cấu trúc của S7-300. 1.1. Cấu trúc chung Nói chung một bộ PLC đều có cấu trúc chung như sau: CPU Bộ nhớ chương trình Bộ đệm vào/ra Cổng Cổngvào/ra vào/ra onboard onboard Cổng Cổngngắt ngắtvàvà đếm đếmtốc tốcđộ độcao cao Khối vi xử lý Timer trung tâm + Hệ điều hành Counter Bit cờ Bus của PLC Quản Quảnlýlýghép ghépnối nối 1.2. Cấu trúc bộ nhớ Bộ nhớ S7-300 được chia làm 3 vùng chính : Vùng 1: Vùng chứa chương trình ứng dụng. Gồm 3 miền  OB (Organisation block) :Miền chương trình tổ chức.  FC (Function) : Miền chương trình con được tổ chức thành hàm có biến hình thức để trao đổi dữ liệu với chương trình đã gọi nó .  FB (Function block) : Miền chương trình con, dược tổ chức thành hàm và có khả năng trao đổi dữ liệu vớ bất cứ khối chương trình khác và các dữ liệu này phải được xây dựng trong khối dữ liệu riêng DB ( Data block) Vùng 2: Vùng chứa tham số của HDH và chương trình ứng dụng, được phân chia thành 7 miền khác nhau, gồm có:  I (Process image input ): Miền bộ đệm các dữ liệu cổng vào số. Trước khi bắt đầu thực hiện chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số.  Q (Process image output): Miền đệm các dữ liệu cổng ra số. Kết thúc chương trình, PLC sẽ đọc giá trị logic của bộ đệm Q tới các cổng ra số.  M: Miền biến cờ. Chương trình lưu giữ các tham số cần thiết.  T: Miền nhớ phục vụ thời gian (Timer)  C: Miền nhớ phục vụ bộ đếm (Counter)  PI: Miền địa chỉ cổng vào các module tương tự (I/O External input)  PQ: Miền địa chỉ cổng ra cho các module tương tự(I/O External output) Vùng 3: Vùng chứa các khối dữ liệu, chia thành 2 loại:  DB(data block): Miền chứa dữ liệu được tổ chức thành khối. Kích thước cũng như số lượng do người sử dụng quy định.  L (local data block): Miền dữ liệu địa phương. 1.3. Các thanh ghi. 1.3.1. Thanh ghi trạng thái . Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thái trung gian cũng như kết quả vào 1 thanh ghi đặc biệt 16 bits, được gọi là thanh ghi trạng thái, tuy nhiên ta chỉ sử dụng 9 bits với cấu trúc như sau: BR CC1 CC0 OV OS OR STA RLO FC  FC(First check): Khi phải thực hiện các lệnh logic liên tiếp nhau gồm các phép tính ^, v và nghịch đảo, bit FC có giá trị bằng 1.  RLO(Result of logic operation): Kết quả tức thời của phép tính logic vừa đươc thực hiện.  STA(Status bit): luôn có giá trị logic của tiếp điểm được chỉ định trong lệnh.  OR: Ghi lại giá trị của phép logic ^ cuối cùng thực hiện phụ giúp cho việc thực hiện phép toán v sau đó.  OS(Stored overflow bit): Bit ghi lại giá trị bit bị tràn ra ngoài mảng ô nhớ.  OV(Overflow bit): Bit báo kết quả phép tính bị tràn ra ngoài mảng ô nhớ.  CC0, CC1 (condition code): Hai bit báo trạng thái của kết quả phép tính với số nguyên, số thực, phép dịch chuyển hoặc phép tính logic trong ACCU.  Cụ thể :  Khi thực hiện lệnh toán học như cộng, trừ, nhân ,chia với số nguyên hoặc số thực. CC1 0 0 1 CC0 0 1 0 Ý nghĩa kết quả bằng 0 kết quả nhỏ hơn 0 kết quả lơn hơn 0  Khi thực hiện lệnh toán học với số nguyên nhưng kết quả bị tràn ô nhớ CC1 CC0 0 0 0 1 1 0 1 1 Ý nghĩa kết quả quá nhỏ khi thực hiện lệnh cộng(I,D) kết quả quá nhỏ khi thực hiện nhân(I,D) hoặc quá lớn khi thực hiện lệnh cộng trừ(I,D) kết quả quá lớn khi thực hiện lệnh nhân, chia (I,D) hoặc quá nhỏ khi thực kết quả bị tràn do thực hiện lệnh cộng, trừ hiện lệnh chia cho 0  Khi thực hiện lệnh toán học với số thực nhưng kết quả bị tràn ô nhớ CC1 0 0 1 1 CC0 0 1 0 0 Ý nghĩa Kết quả có mũ e quá lớn KQ có mantissa quá nhỏ KQcó mantissa quá lớn Phép tính sai quy chuẩn  Khi thực hiện lệnh dịch chuyển. CC1 0 1 CC0 0 0 Ý nghĩa GT bit bị đẩy ra bằng 0 GT bit bị đẩy ra bằng 1  Khi thực hiện lệnh logic trong ACCU. CC1 0 1 CC0 0 0 Ý nghĩa KQ bằng 0 KQ khác 0 -BR(Binary result bit): Bit trạng thái cho phép liên kết 2 loại ngôn ngữ STL và LAD 1.3.2. Thanh ghi ACCU. Các CPU của S7-300 thường có hai thanh ghi Accumulator (ACCU) ký hiệu là ACCU1 và ACCU2. Hai thanh ghi này có cùng kích thước 32 bits. Mọi phép tính toán học trên số thực, số nguyên…đều được thực hiện trên 2 thanh ghi này. Cấu trúc 2 thanh ghi này như sau: 31 24 23 16 15 87 0 ACCU1 Byte cao Byte thấp Byte cao Byte thấp 31 ACCU2 24 23 Byte cao Byte thấp Từ cao 16 15 Byte cao 87 Byte thấp Từ thấp 0 2. Các kiểu dữ liệu và các phép toán 2.1. Các kiểu dữ liệu. TT 1 Kiểu dữ liệu BOOL 2 BYTE 3 WORD 4 INT 5 DINT 6 REAL 7 S5T(S5TIME) 8 TOD 9 DATE 10 CHAR Giá trị Có giá trị logic 0,1 Gồm 8 bit, thường dùng dùng để biểu diễn một số nguyên dương trong khoảng 255 hoặc mã ACSII của một ký tự VD: L B#16#07 // Nạp số nguyên 07 theo cơ số 16 độ dài 1 byte vào thanh ghi ACCU1 Gồm 2 byte, biểu diễn một số nguyên dương trong khoảng 0 đến 65535 VD: L 100 Dung lượng 2 byte, dùng dể biểu diễn một số nguyen trong khoảng -32768 đến 32767 VD: Gồm 4 byte, dùng để biểu diễn 1 số nguyên từ 2147483648 đến 2147483647 VD : L #100 Gồm 4 bytes, dùng để biểu diễn 1 số thực dấu phẩy động. VD: L 100.0 Khoảng thòi gian, tính theo giờ/phút/giây/mili giây VD : L S5T2h_1m_0s_5ms Biểu diễn giá trị thời gian theo giờ/phut/giây VD : L TOD#5:20:07 Biểu diễn giá trị thờ gian tính theo năm/tháng/ngày VD : L DATE#2007-8-1 // Lệnh khai báo ngày 1 tháng 8 năm 2007 Biểu diễn 1 hoặc nhiều ký tự (nhiều nhất 4 ký tự) VD : L ‘DKS’ 2.2. Các phép toán. Ở đây ta chỉ giới thiệu các phép toán hay được sử dụng trong ngôn ngữ LAD 2.2.1. Các phép toán logic Logic tiếp điểm Các lệnh logic với các bít trạng thái 2.2.2. Các phép toán số học Phép toán với số nguyên Phép toán với số thực 2.2.3. Các phép toán chuyển đổi kiểu dữ liệu và so sánh. Phép chuyển đổi kiểu dữ liệu Các phép so sánh 3. Kỹ thuật lập trình 3.1. Vòng quét 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 được gọi là vòng quét. Mỗi vòng quét bắt đầu bằng giai đoạn chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, 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 từ lệnh đầu tiên đến lệnh kết thúc của khối OB1. Truyền thông và kiểm tra nội bộ Chuyển dữ liệu từ cổng vào tới I Vòng quét Chuyển dữ liệu từ Q tới cổng ra Thực hiện chương trình Thời gian vòng quét: Là thời gian cần thiết để PLC thực hiện 1 vòng quét. Chú ý : Thời gian vòng quét không cố định. Nó tùy thuộc vào số lệnh trong chương trình thực hiện, vào khối lương dữ liệu được truyền thông… trong vòng quét đó. 3.2. Phương pháp lập trình 3.2.1. Lập trình tuyến tính. Kỹ thuật lập trình tuyến tính là phương pháp lập trình mà toàn bộ chương trình ứng dụng sẽ chỉ nằm trong khối OB1, kỹ thuật này có ưu điểm là gọn, rất phù hợp với những bài toán đơn giản, ít nhiệm vụ. Do toàn bộ chương trình điều khiển chỉ nằm trong khối OB1 nên khối OB1 sẽ chỉ gần như là được thường trực trong vùng nhớ Word memory, trừ trường hợp khi hệ thống phải xử lý các tín hiệu báo ngắt. Ngoài khối OB1, trong vùng Word memory còn có miền nhớ địa phương(local block) cấp phát cho OB1 và những khối BD được OB1 sử dụng Hệ Hệ điều điều hành hành Chuyển OB1 từ load memory vào Work memory và cấp phát local block cho nó Xóa OB1 và giải phóng local block trong Work memory Thực Thựchiện hiện OB1 OB1 trong trong Work Work memory memory System memory Share DB Instance DB 3.2.2. Lập trình cấu trúc Lập trình cấu trúc là kỹ thuât cài đặt thuật toán điều khiển bằng cách chia nhỏ các khối chương trình con FC hay FB với mỗi khối thực hiện một nhiêm vụ cụ thể của bài toán điều khiển chung và toàn bộ các khối chương trình này lại dược quản lý một cách thống nhất bởi khối chương trình con theo thứ tự phù hợp với bài toán điều khiển đặt ra. Tương tự, một nhiệm vụ con lại có thể chia nhỏ thành nhiều nhiệm vụ nhỏ và cụ thể hơn nữa, do đó một khối chương trình con cũng có thể được gọi từ một khối chương trình con khác. Chú ý : -Không bao giờ một khối chương trình con lại gọi chính nó. -Ngoài ra do sự hạn chế về ngăn xếp của các module CPU nên không được tổ chức chương trình con gọi bằng lồng nhau quá số lần mà module CPU cho phép. 4. Giới thiệu ngôn ngữ lập trình với S7-300. 4.1. Các ngôn ngữ lập trình Có nhiều ngôn ngữ lập trình và phương pháp lập trình cho phép bạn chọn phù hợp với nhu cầu. Bộ STEP 7 có 3 ngôn ngữ lập trình chính là LAD, FBD, STL. Các ngôn ngữ khác tùy chọn.  Lập trình kiểu STL (Statement List): là ngôn ngữ lập trình kiểu liệt kê gồm danh sách các câu lệnh. chương trình ứng dụng được viết dưới dạng một chuỗi các câu lệnh. Mỗi một câu lệnh chứa một lệnh (instruction) xác định nhiệm vụ. Phụ thuộc vào dạng câu lệnh mà kèm theo lệnh còn có địa chỉ mà lệnh cần thực thực hiện. Ví dụ:  Lập trình kiểu FBD (Function Block Diagram): chương trình ứng dụng được viết bằng cách kết nối các hộp. FBD cung cấp các hộp chức năng để thực hiện các phép toán logic theo trạng thái tín hiệu, các hộp đơn giản dùng xử lý kết quả của phép toán logic và các hộp phức tạp dùng cho các hàm không phải nhị phân. Ví dụ:  Lập trình LAD(Ladder logic): cho phép viết chương trình bằng cách sắp xếp các phần tử theo dạng biểu đồ. Các phần tử chủ yếu gồm các tiếp điểm, cuộn dây, hộp, liên kết với nhau thành một sơ đồ điều khiển rơ le dạng bậc thang. Ví dụ: Ngoài ra còn có các ngôn ngữ cấp cao hơn như :  Ngôn ngữ lập trình điều khiển có cấu trúc SCL ( Structured Control Language) là một ngôn ngữ lập trình bậc cao giống như PASCAL, đã được tối ưu hoá để lập trình cho PLC. SCL tương thích với tiêu chuẩn quốc tế IEC1131-1( DINEN 6.1131-3) và đặc biệt thích hợp cho việc lập trình các thuật toán phức tạp hay các ứng dụng xử lý dữ liệu , S7-SCL chỉ chạy được khi đã có SIMATIC Manager. Ví dụ:  Biểu đồ chức năng liên tục CFC (Continuous Function Chart): Phần mềm CFC là một phần mềm soạn thảo dưới dạng đồ họa, cho phép nối các khối bằng cách vẽ một lưu đồ chức năng. CFC. Chương trình quản lý SIMATIC Manager (STEP 7 Standard Tool) làm phần mềm cơ sở và phần mềm SCL để biên dịch . Ví dụ :  Điều khiển tuần tự GRAPH (sequential Control GRAPH): S7-GRAPH là một phương pháp lập trình đồ họa cho các hệ thống điều khiển tuần tự. Phần mềm này tương thích với ngôn ngữ SFC theo tiêu chuẩn IEC 1131-3 (DIN EN 61131-3). Để sử dụng S7-GRAPH bạn phải cần SIMATIC Manager (STEP 7 Basic). Ví dụ:  Điều khiển theo đồ hình trạng thái (HIGRAPH): Lập trình S7-HIGRAPH là một phương pháp lập trình đồ họa cho các hệ điều khiển đồ hình trạng thái. Nó cần phần mềm cơ sở là SIMATIC Manager (STEP 7). Ví dụ : Trong giáo trình này, chúng ta sẽ sử dụng chủ yếu 2 ngôn ngữ lập trình STL và LAD. 4.2. Ứng dụng module vào ra số với bài toán điều khiển cổng các công sở. Các module vào ra số tạo ra một giao diện cho phép CPU có thể giao tiếp và xử lý các tín hiệu số từ bên ngoài. 4.2.1. Giới thiệu về các module vào và ra số. Trong S7-300 có rất nhiều các module vào ra số. Ở đây ta chỉ giới thiệu hai module SM321 (DI-16) và SM322 (DO-16). 4.2.1.1. Module vào số SM321. Module SM321 có :  Có 16 đầu vào, nguồn vào, gộp thành một nhóm 16 đầu vào.  Dải điện áp hoạt động là 24VDC  Các đầu vào thường là các công tắc, nút bấm, các loại cảm biến số… Sơ đồ khối bên trong và sơ đồ các chân ra của module: Các sơ đồ đấu dây thường dùng: 1 L+ K1 K2 SM321 ..... 4.2.1.2. Module ra số SM322. Module SM322 có :  Có 16 đầu ra, gộp thành hai nhóm, mỗi nhóm có 8 đầu ra.  Dải điện áp cho tải là 24VDC  Các đầu ra thường là các công tắc tơ, các cuộn hút của van điện từ, các đèn báo.... Đây là sơ đồ khối bên trong và cách đấu tải vào module: 4.2.2. Ứng dụng điều khiển đóng mở cổng ở các công sở. 4.2.2.1. Mô tả thiết bị.  Cổng được đóng mở bằng một xi lanh-piston thủy lực: Cổng đóng – piston đẩy ra Cổng mở – piston đóng lại  Cấu tạo của xi lanh-piston: Đường dầu đi vào Khi dầu đi vào đường bên trái, piston được đẩy sang bên phải, làm cho cổng mở ra. Khi đường đi vào đường bên phải, xi lanh được đẩy sang bên trái làm cho cổng đóng lại. Nếu cấp dầu cả hai bên và điều chỉnh lưu lượng thì ta có thể cho xi lanh dừng ở vị trí tùy ý nào đó (điều khiển vị trí).  Hai đường ống cấp dầu cho xi lanh lại được điều khiển bằng một van điện từ. Nguyên lý như sau: Cuộn hút 2 Cuộn hút 1 Đường dầu Đóng mở hai cuộn hút sẽ đóng mở hai đường dầu cấp cho cơ cấu xi lanh. 4.2.2.2. Yêu cầu của bài toán Có một panel điều khiển gồm có 3 nút :  Các nút vận hành : Mở , đóng, dừng  Đèn báo : mở, đóng Quy tắc vận hành:  Khi bấm nút Mở : cổng sẽ được mở ra.  Khi bấm nút Dừng : cổng sẽ dừng lại.  Khi bấm nút Đóng : cổng sẽ đóng lại.  Khi đang mở không thể đóng lại được ngay mà phải bấm nút dừng trước, và ngược lại. 4.2.2.3. Phương án thiết kế. Để giải bài toán này ta có rất nhiều phương án. Ở đây ta chỉ quan tâm tới hai phương án. Và tìm ra sự liên quan.  Phương án 1. : Sử dụng các rơ le số và các nút bấm Dưới đây là một sơ đồ được thiết kế bằng mạch điện chứa các rơ le và nút bấm. Mở K1 Dừng R1 K2’ R2 Đóng K2 K1’  Phương án 2: Sử dụng PLC và các nút bấm. Ta sẽ thay thế sơ đồ mạch điều khiển ở trên bằng PLC  Nhận xét :  Với phương án 1 : mạch đơn giản, giá thành thấp, nhưng hoạt động đơn lẻ  Với phương án 2: Mạch đơn giản hơn nưa, giá thành cao. Nhưng ứng dụng tự động nhiều. Nếu có rất nhiều cổng, và giám sát từ xa, kết hợp với các hệ thống tự động hóa trong tòa nhà, thì phương án này rất phù hợp. 4.2.2.4. Thi công . Ở đây ta sẽ chọn phương án thiết kế trên PLC.  Bảng điều khiển và sơ đồ kết nối với module như sau. Đ1 Đ2 C1 C2 1 2 SM322 K1 K2 Đ1 Đ2 3 4 5 10 K3 SM321 Bảng điều khiển 2 3 4 K1 K2 K3  Sử dụng phần mềm Step7 để thiết kế ứng dụng.  Tạo một Project mới  Cấu hình phần cứng như sau:  Tạo các symbols: 1
- Xem thêm -

Tài liệu liên quan