THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN SỬ DỤNG PLC - Tài Liệu Text
Có thể bạn quan tâm
- Trang chủ >>
- Luận Văn - Báo Cáo >>
- Công nghệ thông tin
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (229.18 KB, 33 trang )
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN SỬ DỤNG PLC I. TỔNG QUAN VỀ PLC: 1. Xuất xứ: PLC viết tắt của từ Progammable Logic Control, là thiết bị điều khiển logic khả trình xuất hiện lần đầu tiên vào năm 1969 tại một hãng ôtô của Mỹ. Bắt đầu chỉđơn giản là một bộ logic thuần tuý ứng dụng để điều khiển các quá trình công nghệ, chủ yếu là điều khiển ON/OFF giống như hệ thống rơle, công tắc tơ thông thường mà không điều khiển chất lượng hệ. Từ khi xuất hiện PLC đã được cải tiến với tốc độ rất nhanh . - năm 1974 PLCđã xử dụng nhiều bộ vi xử lý như mạchđịnh thời gian, bộ đếm dunglượng nhớ. - Năm 1976 đã giới thiệu hệ thống đưa tín hiệu vào từ xa. - Năm 1977 đã dùng đến vi xử lý. - Năm 1980 PLC phát triển các khối vào ra thông minh nâng cao điều khiển thuậnlợiqua viễn thông, nâng cao phát triển phần mềm, lập trình dùng máy tính cá nhân. - Năm 1985 PLC đã được ghép nối thành mạngPLC. Ngày nay PLCđã được cải tiến nhiều và đáp ứng tất cả các yêu cầu điều củakhiểnnhư: + Điều khiế số lượng (ON/OFF). +Điều khiển chất luợng( thực hiện các mạch vòng phản hồi: U, I,ω, S…). Thực chất PLC là một máy tính công nghiệp mà quá trình điều khiển được thể hiện bằng chương trình. PLC thay thế hoàn toàn các phương pháp điều khiển truyền thống dùng rơ le, công tắc tơ. Chính vì vậy PLC đướcử dụng rộng rãi trong công nghiệp, nó được xem như làmột giải pháp điều khiển lý tưởng các quá trình sản xuất. Vị trí, nhiệm vụ của bộ PLC trong hệ thống điều khiển: Trong hệ thống điều khiển PLC là một khâu trung gian có nhiệm vụ xử lý cácthông tin đầu vào rồi đưa tín hiệu ra tới các thiết bị chấp hành. Ưu nhược điểm của PLC. Ngày nay hầu hết các máy công nghiệp được thay thế các hệ điều khiển rơ le thông thường, sử dụng bán dẫn bằng các bộ điều khiển lập trình. - Nó có các ưu điểm sau: Giảm bớt quá trình ghép nối dây vì thế giảm giá thành đầu tư . Giảm diện tích lắp đặt, ít hỏng hóc, làm việc tin cậy, tốc độ quá trình điều khiển nhanh, khả năng chống nhiễu tốt, bảo trì bảo dưỡng tốt hơn vì nó có module chuẩn hoá. - Nhược điểm: Chưa thích hợp cho quá trình điều khiển nhỏ (một vài đầu ra) vì thế nếu dùng giáthành rất cao. Ngôn ngữ hệ đóng ( ngôn ngữ của các hãng riêng ) nên khó thay thế. Cấu trúc PLC: CPU Bộ nhớ chươ ng trình Timer Bộ đệm vào/ra Bộ đếm Bit cờ Cổ ng ngắ t và đếm tốc độ cao Bus củ a PLC + Cổ ng vào ra onboardQuả n lý ghé np ối Hình 3.1 Nguyên lý cấu trúc chung của bộ PLC. Phần mềm PLC: Phần mềm PLC có các loại ngôn ngữ khác nhau như: + Danh sách lệnh: STL. + Sơ đồ bậc thang: LAD DE R. + Sơ đồ khối chức năng: Block Function. + Ngôn ngữ bậc cao. II. GIỚI THIỆU VỀ BỘ PLC S7-300: PLC là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình. PLC là một bộ điều khiển số nhỏ gọn, dễ thay đổi thuật toán và đặc biệt dễ trao đổi thông tin với môi trường xung quanh ( với PLC khác hoặc với máy tính). Toàn bộ chương trình điều khiển được lưu trong bộ nhớ của PLC dưới dạng các khốichương trình ( Khối OB,FC hoăcFB) và được thựchiện theo chu kỳ vòng quét. Đẻ thực hiện được chương trình thì PLC phải có tính năng như một máy tính, nghĩa là phải có CPU, hệ điều hành, bộ nhớ, các cổng vào ra. Ngoài ra PLCcòn phải có thêm các khối chức năng đặc biệt như counter, timer và nhữngkhối hàm chuyên dụng như bộ đệm vào /ra, bit cờ… . 1. Các module của PLCS7 - 300: Thông thường, để tăng tính mềm dẻo trong ứng dụng thực tế mà ở đó phầnlớn các đối tượng điều khiển có số tín hiệu đầu vào, đầu ra cũng như chủng loại tínhiệu đầu vào/ra khác nhau mà các bộ điều khiển PLC được thiết kế cũng khác nhauvề cấu hình. Chúng được chia nhỏ thành các Module. Số các số Module được sửdụng nhiều hay ít tùy theo từng bài toán, song tối thiểu bao giờ cũng phải có mộtModule chính là Module CPU. Các Module còn lại là những Module nhận/truyềntín hiệu với số lượng điều khiển, các Module chức năng chuyên dụng như PID,điều khiển động cơ. Chúng được gọi chung là Module mở rộng. Tất cả các Moduleđược gá trên những thanh ray (Rack). a. Module CPU: Module CPU là loại Module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, cácbộ thời gian, bộ đếm, cổng truyền thông (RS315) và có thể có một vài cổng vào /rasố. Các cổng vào ra số có trên Module CPU được gọi là cổng vào ra onboard. Trong họ PLCS7 – 300 có nhiều loại Module CPU khác nhau. Nói chungchúng được đặt tên theo bộ vi xử lý có trong nó như Module CPU 312, ModuleCPU 314, Module CPU 315… . Những Module cùng sử dụng một loại bộ vi xử lý, nhưng khác nhau vềcổng vào/ ra onboard cũng như các khối hàm đặc biệt được tích hợp sẵn trong thưviện của hệ điều hành phục vụ việc sử dụng các cổng vào/ra onboard này sẽ đượcphân biệt với nhau trong tên gọi bằng thêm cụm chữ cái IFM (viết tắt củaIntergrated Function Module). Ví dụ như Module CPU 312 IFM, Module CPU 314IFM, Module 315 IFM …. Ngoài ra còn có các loại Module với 2 cổng truyền thông, trong đó cổngtruyền thông thứ 2 có chức năng chính là phục vụ việc nối mạng phân tán. Tấtnhiên kèm theo cổng truyền thông thứ 2 này là những phần mềm tiện dụng thíchhợp cũng đã được cài sẵn trong hệ điều hành. Các loại Module CPU được phân biệtvới những Module CPU khác bằng thêm cụm từ DP (Distributed Port) trong tên gọi. Ví dụ: Module CPU 312 DP… b. Module mở rộng: Các Module mở rộng được chia thành 5 loại chính: PS (Power Supply) : Module nguồn nuôi, có 3 loại 2A, 5A, và 10A. SM (Signal Module) : Module mở rộng cổng tín hiệu vào/ra, bao gồm:- DI (Digital Input): Module mở rộng các cổng vào số. Số các cổng vàosố mở rộng có thể là 8, 16 hoặc 32 tùy thuộc vào từng loại Module. - DO (Digital Output): Module mở rộng các cổng ra số,Số cáccổng rasố mở rộng có thể là 8, 16 hoặc 32 tùy thuộc vào từng loại Module. - DI/DO (Digital Input/Digital Output): Module mở rộng các cổngvào/ra số. Số các cổng vào/ra số mở rộng có thể là 8 vào/8 ra hoặc 16 vào/16 ra tùythuộc vào từng loại Module. - AI (Analog Input): Module mở rộng các cổng vào tương tự. Về bảnchất chúng chính là những bộ chuyển đổi tương tự số 12bits (AD), tức là mỗi tínhiệu tương tự được chuyển thành tín hiệu số (nguyên) có độ dài 12bits. Số cáccổng vào tương tự có thể là 2, 4 hoặc 8 tùy thuộc vào từng loại Module. - AO (Analog Output): Module mở rộng các cổng ra tươngtự. Chúngchính là bộ (DA). Số các cổng vào tương tự có thể là 2 hoặc 4 tùy thuộc vào từngloại Module. - AI/AO (Analog Input/ Analog Output): Module mở rộng các cổngvào/ra tương tự. Số các cổng vào/ra tương tự có thể là 4 vào/2 ra hoặc 4 vào/ 4 ratùy thuộc vào từng loại Module. IM (Interface Module): Module ghép nối. Đây là loại Module chuyêndùng có nhiệm vụ nối từng nhóm các Module mở rộng lại với nhau thành 1 khối vàđược quản lý chung bởi 1 Module CPU. Thông thường các Module mở rộng đượcgá liền nhau trên một thanh đỡ gọi là rack. Trên mỗi rack chỉ có thể gá được nhiềunhất 8 Module mở rộng (không kể Module CPU, Module nguồn nuôi). MộtModule CPU S7 – 300 có thể làm việc trực tiếp được nhiều nhất 4 racks và cácracks này phải được nối với nhau bằng Module IM. FM (Function module): Module có chức năng điều khiển riêng, ví dụnhư module điều khiển động cơ bước, Module điều khiển động cơ servo, ModulePID, Module điều khiển vòng kín,… CP (Communication Module): Module phục vụ truyền thông trongmạng giữa các PLC với nhau hoặc PLC với máy tính. 2. Kiểu dữ liệu và phân chia bộ nhớ: a. Kiểu dữ liệu: Một chương trình ứng dụng S7 – 300 có thể sử dụng các kiểu dữ liệu sau: - BOOL:Với dung lượng 1 bit và có giá trị là 0 hoặc 1 (đúng hoặc sai). Đây là kiểu dữ liệucho biến hai trị. - BYTE: Gồm 8 bits, thường được dùng để biểu diễn một số nguyên dương trongkhoảng từ 0 đến 255 hoặc mã ASCII của một ký tự. - WORD: Gồm 2 bytes để biểu diễn 1 số nguyên dương từ 0 đến 65535. - INT: Cũng có dung lượng là 2 bytes, dùng để biểu diễn số nguyên trong khoảng –32768 đến 32767. - DINT: gồm 4 bytes, dùng để biểu diễn một số nguyên từ – 2147483648 đến2147483647. - REAL: gồm 4 byte dùng để biểu diễn một số thực dấu phẩy động. - S5T (hay S5TIME): khoảng thời gian, được tính theo giờ/phút/giây/minigiây. - TOD: Biểu diễn giá trị thời gian tính theo giờ/phút/giây. - DATE: Biểu diễn giá trị thời gian tính theo năm/tháng/ngày. - CHAR: Biểu diễn một hoặc nhiều ký tự (nhiều nhất là 4 ký tự) b. Cấu trúc bộ nhớ của CPU: Bộ nhớ của S7–300 được chia làm 3 vùng chính: * Vùng chứa chương trình ứng dụng Vùng nhớ chương trình được chia thành 3 miền: -OB ( Organisation Block ): Miền chứa chương trình tổ chức. - FC (Function): Miền chứa chương trình con được tổ chức thành hàmcó 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ứa chương trình con, được tổ chứcthành hàm và có khả năng trao đổi dữ liệu với bất cứ một khối chương trình nàokhác. Các dữ liệu này phải được xây dựng thành khối dữ liệu riêng (gọi là DB –Data Block). * Vùng chứa tham số của hệ điều hành và chương trình ứng dụng + 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ẽ đọc giá trị logic của tất cả các cổng đầu vào vàcất giữ chúng tại vùng nhớ I, thông thường chương trình ứng dụng không đọc trựctiếp trạng thái logic của cổng vào số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm I. +. Q ( Process image output): Miền bộ nhớ đệm các dữ liệu cổng ra số. Kết thúcgiai đoạn thực hiện chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới cáccổng ra số. Thông thường chương trình không trực tiếp gán giá trị tới cổng ra màchỉ chuyển chúng vào bộ nhớ đệm Q. + M ( Miền các biến cờ ): Chương trình ứng dụng sử dụng vùng nhớ này để lưu giữ các tham số cần thiết và có thể truy cập nó theo bit(M) byte(MB), từ (MW)hay từ kép (MD). + T : Miền nhớ phục vụ bộ thời gian (Timer ) bao gồm việc lưu trữ giá trị thời gianđặt trước ( PV - Preset value ) ,giá trị đếm thời gian tức thời ( CV - Current value )cũng như giá trị logic đầu ra của bộ thời gian. + C : Miền nhớ phục vụ bộ đếm ( Counter ) bao gồm việc lưu giữ giá trị đặttrước ( PV - Preset value ),giá trị đếm tức thời (CV - current value ) và giá trị logicđầu ra của bộ đếm. + PI: Miền địa chỉ cổng vào các module tương tự (I/O: external input ).Cácgiá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tựđộng theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theotừng byte (PIB), từng từ (PIW) hoặc từng kép (PID). + PQ: Miền địa chỉ cổng ra cho các module tương tự (I/O - external output). Cácgiá trị theo những địa chỉ này sẽ được module tương tự chuyển tới các cổng ratương tự. Chương trình ứng dụng có thể truy cập miền nhớ PQ theo từng byte(PQB), từng từ kép (PQD). c Vùng chứa các khối dữ liệu: Chia thành hai loại: * DB (Data block). Miền chứa các dữ liệu được tổ chức thành khối, kíchthước cũng như số lượng, khối do người sử dụng qui định và phù hợp với từng bàitoán điều khiển. Chương trình có thể truy cập miền này theo từng bit (DBX), byte(DBB), từ (DBW), từ kép (DBD). * L ( Local data block ): Đây là miền dữ liệu địa phương được các khốichương trình OB, FC, FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổidữ liệu của biến hình thức với những khối chương trình đã gọi nó. Nội dung củamột số dữ liệu trong miền nhớ này sẽ bị xoá khi kết thúc chương trình tương ứngtrong OB, FC. FB. Miền nhớ này có thể truy nhập từ chương trình theo bit (L), byte (LB), từ (LW)hoặc từ kép (LD). d. Trao đổi dữ liệu giữa CPU và các module mở rộng: Trong trạm PLC luôn có sự trao đổi dữ liệu giữa CPU với các module mởrộng thông qua bus nội bộ. Ngay tại vòng quét, các dữ liệu tại cổng vào của cácmodule số (DI) đã được CPU chuyển tới bộ đệm vào số (process image input table- I). Cuối mỗi vòng quét nội dung của bộ đệm ra số (process image input table - Q)lại được CPU chuyển tới cổng ra của các module ra số (DO). Việc thay đổi nộidung hai bộ đệm này được thực hiện bởi chương trình ứng dụng (user program).Điều này cho thấy nếu trong chương trình ứng dụng có nhiều lệnh đọc giá trị cổngvào số thì cho dù giá trị logic thực có của cổng vào này có thể đã bị thay đổi trongquá trình thực hiện vòng quét, chương trình sẽ vẫn luôn đọc được cùng một giá trịtừ I và giá trị đó chính là giá trị của cổng vào có tại thời điểm đầu vòng quét. Cũngnhư vậy, nếu chương trình ứng dụng nhiều lần thay đổi giá trị cho một cổng ra sốthì do nó chỉ thay đổi giá trị cho một cổng ra số thì do nó chỉ thay đổi nội dung bitnhớ tương ứng trong Q nên chỉ có giá trị ở lần thay đổi cuối cùng mới thực sự đượcđưa tới cổng ra vật lý của module DO. Khác hẳn với việc đọc/ ghi cổng số, việc truy nhập cổng vào/ ra tương tự lại đượcCPU thực hiện trực tiếp với module mở rộng (AI/AO). Như vậy mỗi lệnh đọc giátrị từ địa chỉ thuộc vùng PI sẽ thu được một giá trị đúng bằng giá trị thực có ở cổngtại thời điểm thực hiện lệnh. Tương tự khi thực hiện lệnh gửi một giá trị (số nguyên16 bits) tới địa chỉ của vùng PQ (Periphenal Output), giá trị đó sẽ được gửi ngaytới cổng ra tương tự của module. Do sự phân chia địa chỉ và đặc thù về tổ chức bộnhớ của S7-300 chỉ có các module vào/ ra số mới có bộ đệm còn các module vào/ ra tươngtự thì không, chúng chỉ được cung cấp địa chỉ để truy nhập (địa chỉ PI và PQ). Tuynhiên PI và PQ được cung cấp nhiều hơn AI/AO nên tạo khả năng kết nối các cổngvào / ra số với những địa chỉ dôi ra trong PI/PQ giúp chương trình ứng dụng có thể VÒNG QUÉT Chuyển dữ liệu từ cổ ng vào tớ i I Thự c hiệ n chươ ng trình truy nhập trực tiếp các module DI/DO mở rộng để có giá trị tức thời tại cổng màkhông cần thông qua bộ đệm I,Q. 3. 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 (scan), mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từ cáccổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chươngtrì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ệnhkết thúc của khối OB1 (Block End). Sau giai đoạn thực hiện chương trình là giaiđoạn chuyển các nội dung của bộ đếm ảo Q tới các cổng ra số, vòng quét được kếtthúc bằng giai đoạn truyền thông nội bộ và kiểm soát lỗi. Truyền thông và kiểm tra nội bộ Chuyển dữ liệu từ Q tớicổng ra Hình 3.2. Vòng quét chương trình. Bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truy cậpcổng tương tự được thực hiện trực tiếp với cổng vật lý chứ không thông qua bộđệm. Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòngquét (Scan time). Thời gian vòng quét không cố định tức là không phải vòng quétnào cũng thực hiện trong khoảng thời gian như nhau. Có vòng quét thực hiện lâucó vòng quét thực hiện nhanh tuỳ thuộc vào số lệnh trong chương trình được thựchiện, vào khối dữ liệu được truyền thông trong vòng quét đó. Như vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín hiệuđiều khiển tới các đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòngquét. Nói cách khác thời gian vòng quét quyết định tính thời gian thực của chươngtrình điều khiển trong PLC. Thời gian vòng quét càng ngắn thì tính thời gian thựccủa chương trình càng cao. Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt như khối OB40, OB80thì chương trình của các khối đó sẽ được thực hiện trong vòng quét khi xuất hiệntín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có thể được thực hiệntại mọi điểm trong vòng quét chứ không bị gò ép là phải trong giai đoạn thực hiệnchương trình. Ví dụ như một tín hiệu báo ngắt xuất hiện khi PLC đang ở giai đoạntruyền thông và kiểm tra nội bộ PLC sẽ tạm dừng công việc truyền thông và kiểmtra để thực hiện khối chương trình tương ứng với tín hiệu báo ngắt. Với hình thứcxử lý tín hiệu báo ngắt như vậy thì thời gian vòng quét lớn khi trong vòng quét cónhiều tín hiệu ngắt. Do đó để nâng cao tính thời gian thực cho chương trình điềukhiển thì tuyệt đối không viết chương trình xử lý ngắt quá dài hoặc quá lạm dụngviệc sử dụng chế độ ngắt trong chương trình điều khiển. 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ếpvớ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à 3 do hệthống điều hành CPU quản lý. ở một số module CPU khi gặp lệnh vào/ ra, ngay lậptức hệ thống cho dừng mọi công việc khác ngay cả chương trình xử lý ngắt để thựchiện trực tiếp với cổng vào/ ra. 4. Cấu trúc chương trình: Chương trình cho S7-300 được lưu trong bộ nhớ của PLC ở vùng dành riêng chochương trình và có thể đuợc lập với 2 dạng cấu trúc khác nhau. a. Lập trình tuyếntính: Lệ nh 1 Lệ nh 2 Lệ nh cuố i cùng Toàn bộ chương trìnhđiều khiển nằm trongmột khối trong bộ nhớ.Loại hình cấu trúctuyến tính này phù hợpvới bài toán tự độngnhỏ, không phức tạp.Khối được chọn phảilà khối OB1 là khốimà PLC luôn quét vàthực hiện các lệnhtrong nó thường xuyên từ lệnh đầu tiên đến lệnh cuối cùng và quay lại lệnh đầutiên. Các khối OB khác không tham gia vào vòng quét mà được gọi bằng những tínhiệu báo ngắt. Mỗi tín hiệu báo ngắt như vậy chỉ có khả năng gọi một loại khối OBnhất định. Mỗi khi xuất hiện một tín hiệu báo ngắt hệ thống sẽ tạm dừng công việcđang thực hiện, chuyển sang chương trình xử lý ngắt trong các khối OB tương ứng.Sau khi thực hiện xong hệ thống mới trở về thực hiện tiếp chương trình còn lại. Vòng quét OB1 Hình 3.3 Lập trình tuyến tính. Lập trình có cấu trúc: Chương trình được chia thành các phần nhỏ với từng nhiệm vụ riêng, các phần nàynằm trong những khối chương trình khác nhau. Loại hình cấu trúc này phù hợp vớinhững bài toán điều khiển nhiều nhiệm vụ và phức tạp. PLC S7-300 có 4 loại khốicơ bản. - Loại khối OB (organization Block): Là khối tổ chức và quản lý chương trìnhđiều khiển. Có nhiều loại khối OB với những chức năng khác nhau, chúng đuợcphân biệt với nhau bằng một số nguyên đi sau khối ký tự OB. Ví dụ như: OB1,OB35, OB80 - Loại khối FC (Progam Block): Khối chương trình với những chức năngriêng giống như một chương trình con hoặc một hàm (Chương trình con có biếnhình thức). Một chương trình ứng dụng có thể có nhiều khối FC và các khối FCnày được phân biệt với nhau bằng một số nguyên sau nhóm ký tự FC. Ví dụ như:FC1, FC2 - Loại khối FB (Function Block): Là loại khối FC đặc biệt có khả năng traođổi một luợng dữ liệu lớn với các khối chương trình khác, các dữ liệu này phải tổchức thành khối dữ liệu riêng có tên gọi là Data Block. Một chương trình ứng dụngcó thể có nhiều khối FB và các khối FB này được phân biệt với nhau bằng một sốnguyên sau nhóm ký tự FB. Chẳng hạn như FB1, FB2 - Loại khối DB (DataBlock): Khối chứa các dữ liệu cần thiếtt để thực hiện chương trình. Các tham sốcủa khối do người dùng tự đặt. Một chuơng trình ứng dụng có thể có nhiều khốiDB và các khối DB này được phân biệt với nhau bằng một số nguyên sau nhóm kýtự DB. Vó dụ như: DB1, DB2 Chương trình trong các khối được liên kết vớinhau bằng các lệnh gọi khối, chuyển khối. Xem những phần chương trình trongcác khối như là các chương trình con thì S7-300 cho phép gọi chương trình conlồng nhau, tức là từ chương trình con này gọi một chương trình con khác và từchương trình con được gọi lại gọi tới một chương trình con thứ 3 . Một khối . ... ... ..chương trình con không thể gọi đến chính nó. Số các lệnh gọi lồng nhau phụ thuộcvào từng chủng loại module CPU mà ta sử dụng. Ví dụ như đối với module CPU314 thì số lệnh gọi lồng nhau nhiều nhất có thể cho phép là 8. Nếu số lần gọi khốilồng nhau mà vượt quá con số giới hạn cho phép, PLC sẽ chuyển sang chế độSTOP và đặt cờ báo lỗi. Số lệnh gọi lồng nhau nhiều nhất cho phép phụ thuộc vào từng loại Hình 3.4. Lập trình có cấu trúc Khối OB1 luôn được PLC quét và thực hiện các lệnh từ lệnh đầu tiên đến lệnhcuối cùng và quay lại lệnh đầu tiên. Như vậy toàn bộ các khối chương trình đượcquản lý chặt chẽ bởi khối OB1. Những khối OB đặc biệt: Trong khi khối OB1 được thực đều đặn ở từng vòng quét trong giai đoạn thực hiệnchương trình (giai đoạn 2) thì các khối OB khác chỉ được thực hiện khi xuất hiệntín hiệu báo ngắt tương ứng, nói cách khác chương trình viết cho các khối OB nàylà chương trình xử lý tín hiệu ngắt (event). Chúng bao gồm: OB10 (Time of Day interrupt): Chương trình trong khối OB10 sẽ được thựchiện khi giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã đượcquy định. OB10 có thể được gọi một lần, nhiều lần cách đều nhau từng phút, thừnggiờ, từng ngày Việc quy định khoảng thời gian hay số lần gọi OB10 được thựchiện nhờ chương trình hệ thống SFC 28 hoặc trong bảng tham số của Module CPUnhờ phần mềm Step7. OB20 (Time Delay interrupt): Chương trình trong khối OB20 sẽ được thựchiện sau một khoảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thốngSFC32 để đặt thời gian trễ. OB35 (Cyclic interrupt): Chương trình trong OB35 sẽ được thực hiện cáchđều nhau một khoảng thời gian cố định. Mặc định, khoảng thời gian này sẽ là 100ms, song ta có thể thay đổi nó trong bảng tham số của Module CPU nhờ phần mềmStep. . OB40 (Hardware interrupt): Chương trình trong OB40 sẽ được thực hiệnkhi xuất hiện 1 tín hiệu báo ngắt từ ngoại vi đưa vào Module CPU thông qua cáccổng vào ra số onboard đặc biệt, hoặc thông qua các Module SM, CP, FM. OB80 (Cyle Time Fault): Chương trình trong khối OB 80 sẽ được thực hiệnkhi thời gian vòng quét (Scan Time) vượt quá khoảng thời gian cực đại đã quyđịnh hoặc khi có một tín hiệu ngắt gọi một khối OB nào đó mà khối OB này chưakết thúc ở lần gọi trước. Mặc định, Scan time cực đại là 150ms, nhưng có thể thayđổi nó thông qua bảng tham số của module CPU nhờ phần mềm STEP 7. ! OB 81 ( Power Supply Fault ):Module CPU sẽ gọi chương trình trong khốiOB81 khi phát hiện thấy có lỗi về nguồn nuôi. OB82 (Diagnostic Interrupt): Chương trình trong OB82 được gọi khi CPUphát hiện có sự cố từ các module vào/ ra mở rộng. Các module mở rộng này phải lànhững module có khả năng tự kiểm tra mình (diagnostic cabilities). 8. OB85 (NotLoad Fault): CPU sẽ gọi khối OB85 khi phát hiện thấy chương trình ứng dụng cósử dụng chế độ ngắt nhưng chương trình xử lý tín hiệu ngắt lại không có trong khốiOB tương ứng. 9. OB87 (Communication Fault): Khối OB87 sẽ được gọi khi CPU phát hiện thấylỗi trong truyền thông .Ví dụ như không có tín hiệu trả lời từ đối tác. 10. OB100(Start Up Information): Khối OB100 sẽ được thực hiện một lần khi CPU chuyểntrạng thái từ STOP (dừng) sang RUN (chạy). OB101 (Cold Start Up Information - Chỉ có với S7-400): Khối OB101 sẽđược thực hiện một lần khi công tắc nguồn của CPU chuyển trạng thái từ OFF sangON. OB121 (Synchronous error): Khối OB121sẽ được thực hiện khi CPU pháthiện thấy lỗi logic trong chương trình như đổi sai kiểu dữ liệu hoặc lỗi truy nhậpkhối DB, FC, FB không có trong bộ nhớ của CPU. OB122 (Synchronous error): Khối OB122 sẽ được thực hiện khi CPU pháthiện thấy lỗi truy nhập module trong chương trình. Ví dụ chương trình có lệnh truynhập module vào ra mở rộng nhưng lại không tìm thấy module này. 5. Tổ chức bộ nhớ CPU: Bộ nhớ CPU bao gồm: - Vùng nhớ chứa các thanh ghi. - Vùng System memory. - Vùng Load memory. - Vùng word memory. Kích thước của các vùng nhớ này phụ thuộc vào chủng loại của từng module CPU. Load memory: Là vùng nhớ chứa chương trình ứng dụng (do người sử dụng viết)bao gồm tất cả các khối chương trình ứng dụng OB, FC, FB, các khối chương trìnhtrong thư viện hệ thống được sử dụng (SFC, SFB) và các khối dữ liệu DB. Vùngnhớ này được tạo bởi một phần bộ nhớ RAM của CPU và EEPROM (nếu cóEEPROM). Khi thực hiện động tác xóa bộ nhớ (MRES) toàn bộ các khối chươngtrình và khối dữ liệu nằm trong RAM sẽ bị xoá. Cũng như vậy khi chương trìnhhay khối dữ liệu được đổ (download), từ thiết bị lập trình (PG, máy tính) vàomodule CPU, chúng sẽ được ghi lên phần RAM của vùng nhớ Load memory. Work memory: Là vùng nhớ chứa các khối DB đang được mở, khối chương trình(OB, FC, DB, SFC hoặc SFB) đang được CPU thực hiện và phần bộ nhớ cấp phátcho những tham số hình thức để các khối chương trình này trao đổi tham trị với hệđiều hành và với các khối chương trình khác (local block). Tại một thời điểm nhấtđịnh vùng Work memory chỉ chứa một khối chương trình. Sau khi khối chươngtrình đó được thực hiện xong thì hệ điều hành sẽ xoá nó khỏi Work memory và nạpvào đó khối chương trình kế tiếp đến lượt thực hiện. System memory: Là vùng nhớ chứa các bộ đệm vào/ ra số (Q, I), các biến cờ (M),thanh ghi C - Word, PV, T- bit của Timer, thanh ghi C - Word, PV, C - bit củaCounter. Việc truy cập, sửa đổi dữ liệu những ô nhớ thuộc vùng nhớ này đượcphân chia hoặc bởi hệ điều hành của CPU hoặc do chương trình ứng dụng. Trong các vùng nhớ không có vùng nhớ nào được dùng làm bộ đệm cho các cổngvào/ ra tương tự hay nói cách khác các cổng vào/ ra tương tự không có bộ đệm vànhư vậy mỗi lệnh truy nhập module tương tự (đọc hoặc gửi giá trị) đều có tác dụngtrực tiếp tới cổng vật lý của module. * Ý nghĩa các vùng nhớ của CPU S7 - 300: Tên gọi Kíchthước truycập Kích thướctối đa (phụthuộc CPU) Ý nghĩa Proccesimage I 0.0 ÷ 1277 Đầu mỗi vòng quét hệ điềuhành sẽ ghi vào phần nhớ nàycác giá trị được lấy từ cổng vào Iput (I) IB 0 ÷ 127 số (digital input) vật lý củamodule mở rộng. Bộ đệmvào số TW 0 ÷ 126 ID 0 ÷ 124 Proccesimage Q 0.0 ÷ 1277 Cuối mỗi vòng quét, hệ điềuhành sẽ đọc nội dung của miềnnhớ này và chuyển ra cổng ra Output(Q) QB 0 ÷ 127 số (digital input) của cácmodule mở rộng. Bộ đệm ra số QW 0 ÷ 126 QD 0 ÷ 124 BitMemory (M) Vùng nhớ cờ M MB MW MD 0.0 ÷ 255.7 0 ÷ 255 0 ÷ 254 0 ÷ 252Được sử dụng như một miền cácbiến cờ cho chương trình ứngdụng. Timer (T)T0 ÷ T255 Miền nhớ lưu giữ các giá trị PV, CV và T - bit của Timer. Được truy nhập để sửađổi bởi hệ điều hành và chươngtrình ứng dụng. Counter(C) C0 ÷C255 Miền nhớ lưu giữ các giá trị PV,CV và C - bit của Counter. Đượctruy nhập để sửa đổi bởi hệ điềuhành và chương trình ứng dụng. Datablock (DB) Khối dữliệu shareDB X DBB DBW DBD 0.0 ÷65535.7 0 ÷ 65535 0 ÷ 65534 0 ÷ 65532Được mở bằng lệnh "OPN DB" Data lock(DI) Khối dữliệuInstance DI X DIB DIW DID 0.0 ÷65535.7 0 ÷ 65535 0 ÷ 65534 0 ÷ 65532 Là khối DB.Được mở bằng lệnh"OPN DI" Localblock (L) L 0.0 ÷65535.7 Miền nhớ được cấp phát cho các khối FC, FB mỗi Miền nhớđịaphươngcho cáctham sốhình thức LB LW LD 0 ÷65535 0÷65534 0 ÷ 65532 khi khối này được gọi để thựchiện. Miền nhớ này cũng sẽ được giải phóng khithực hiện xong các khối chươngtrình đó. Peripheral input(PI) PIB PIW PID 0 ÷ 65535 0 ÷ 65534 0 ÷ 65532 Chỉ có địa chỉ truy cập để đọc.Không có phần bộ nhớ thực sự. Peripheral output(PQ) PQB PQW PQD 0 ÷65535 0÷65534 0 ÷ 65532Chỉ có địa chỉ truy cập để ghi.Không có phần bộ nhớ thực sự. 6. Ngôn ngữ lập trình STL: Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình nhằm phục vụ các đốitượng sử dụng khác nhau. PLC S7 - 300 có ba ngôn ngữ lập trình cơ bản. Đó là: - Ngôn ngữ "liệt kê lệnh", ký hiệu là STL (Statement list): Đây là dạng ngônngữ lập trình thông thường của máy tính. Một chương trình được phép bởi nhiềucâu lệnh theo một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấutrúc chung "tên lệnh" + "toán dạng".
Tài liệu liên quan
- Luận văn nghiên cứu thiết kế, khảo sát hệ thống điều khiển sử dụng thuật toán mờ lai
- 123
- 575
- 0
- Nghiên cứu thiết kế hệ thống điều hòa không khí sử dụng bộ biến tần đi sâu thiết kế hệ thống điều khiển điều hòa
- 60
- 877
- 3
- Đề tài ‘‘Thiết kế hệ thống điều khiển và giám sát trên nền WinCC sử dụng mạng Profibus” pptx
- 159
- 1
- 9
- Đề tài „Thiết kế hệ thống điều khiển và giám sát trên nền WinCC sử dụng mạng Profibus” pdf
- 160
- 721
- 1
- bài giảng kỹ thuật lập trình plc chương 2 hệ thống điều khiển sử dụng plc s7 200 siemens
- 15
- 965
- 0
- THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỪ XA SỬ DỤNG SÓNG HỒNG NGOẠI
- 64
- 888
- 3
- Nghiên cứu thiết kế hệ thông điều khiển ứng dụng pic
- 29
- 306
- 0
- Đồ án thiết kế hệ thống điều khiển duy trì áp suất ứng dụng trong cung cấp nước sạch (đh sư phạm kĩ thuật hưng yên)
- 40
- 754
- 4
- thiết kế hệ thống điều khiển sử dụng plc
- 98
- 323
- 0
- THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN SỬ DỤNG PLC
- 33
- 824
- 2
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(222.92 KB - 33 trang) - THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN SỬ DỤNG PLC Tải bản đầy đủ ngay ×Từ khóa » Hệ Thống Dùng Plc
-
Hệ Thống PLC Dùng ở đâu ? Có Vai Trò Gì Trong Công Nghiệp
-
Hệ Thống PLC Dùng ở đâu? Chúng Có Vai Trò Gì
-
PLC Là Gì? Cấu Tạo, Nguyên Lý Hoạt động Và ứng Dụng Của PLC
-
PLC Là Gì? Ứng Dụng Của Bộ Lập Trình PLC Trong Hệ Thống Tự động Hóa
-
PLC Là Gì ? Cấu Tạo, Nguyên Lý Hoạt động, Các Bước Lập Trình Chi Tiết ...
-
PLC Là Gì ? Nguyên Lý Hoạt động Của PLC, Ưu điểm Nhược điểm
-
Plc Là Gì? Ứng Dụng Của PLC Trong Dây Chuyền Sản Xuất Công Nghiệp
-
PLC - Nền Tảng Kết Nối Các Hệ Thống Sản Xuất Hiện đại 4.0
-
Ưu điểm Và Nhược điểm Của PLC Trong Công Nghiệp | VNK EDU
-
PLC Là Gì? Ưu, Nhược điểm, Nguyên Lý Hoạt động Của PLC - Đức Phát
-
PLC Là Gì? Ứng Dụng Của PLC Trong Nền Công Nghiệp Hiện Đại
-
PLC Là Gì- Khái Niệm- Phân Loại Và ứng Dụng - Asiame
-
Programmable Logic Controller – Wikipedia Tiếng Việt
-
[Tổng Hợp] PLC Là Gì? Bộ điều Khiển Logic Khả Trình PLC Và ứng Dụng