Đồ án Khảo sát PLC – S7-300 với bộ lệnh, cách thức lập trình và các chương trình ứng dụng của nó

MỤC LỤC

 

Nội dung Trang

Lời nói đầu 1

Chương I: Tìm hiểu công nghệ bài toán điều khiển máy ép thuỷ lực 2

1: Giới thiệu sơ đồ điều khiển máy ép thuỷ lực 3

2: thuyết minh sơ đồ công nghệ máy ép thuỷ lực . 4

Chương II: Giới thiệu bộ điều khiển PLC – S7-300 .10

I: Cấu hình cứng .10

1: Cấu tạo của họ PLC – S7-300 .10

2: Địa chỉ và gán địa chỉ .11

II: Vùng đối tượng . 13

1: Các vùng nhớ 13

2: Nhập các hằng số . . 14

III: Các bộ phận của CPU và chế độ làm việc 15

1: Các bộ phận của CPU 15

2: Chế độ làm việc 16

IV. Ngôn ngữ lập trình S7-300 16

1.Phương pháp lập trình. 16

2.Lập trình một số lệnh cơ bản 16

2.1Nhóm lệnh logic 16

2.2 Nhóm lệnh thời gian . 18

2.3 Nhóm lệnh đếm .24

Chương III: Giới thiệu các thiết bị

1. Cảm biến áp suất . . 27

2. Công tắc hành trình 27

3.Van thuỷ lực

Chương IV: Thiết kế sơ đồ nguyên lí điều khiển hệ thống

và sơ đồ đấu dây PLC

1Thiết kế sơ đồ nguyên lí 31

2: Gán địa chỉ vào ra 31

Chương V:Lập trình điều khiển công nghệ dưới dạng LAD và STL

Chú thích các dòng lệnh . 35

 

 

 

 

doc62 trang | Chia sẻ: maiphuongdc | Lượt xem: 7961 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Khảo sát PLC – S7-300 với bộ lệnh, cách thức lập trình và các chương trình ứng dụng của nó, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
byte 0 đến 65535 31 LW Vùng dữ liệu tạm thời dạng từ 0 đến 65534 32 LD Vùng dữ liệu tạm thời dạng từ kép 0 đến 65532 2. Nhập các hằng số. Các hằng số được viết gồm phần đầu và tham số đi liền nhau ví dụ B#16#1A là số: (viết dạng byte thời gian được viết theo các kí hiệu: D(Date) ngày_H(hours) giờ_M(minuter) phút_S senconds) giay_MS( millisenconds) mili giây Ví dụ 2D_23H_10_M_50s_13MS là: (2 ngày, 23 giờ, 10 phút, 50 giây, 13 mili giây). Các kiểu viết hằng số được thể hiện trên bảng 7.1 Loại Bit Cơ sô Phần đầu Phạm vi tham số Byte 8 16 B#16#... , cơ số 16, giá trị là 1A tương ứng cơ số thập phân là 26). Các hằng số về 0 đến FF Từ 16 2 16 BCD 10 không dấu 2#... W#16#... C# B#... (0,0) đến (255,255) Từ kép 32 2 16 10 không dấu 2#... DW#16#... B#... 0 đến 1111_1111_1111_1111_ 1111_1111_1111_1111 0000_0000 đến FFFF_FFFF (0,0,0,0) đến (255,255,255,255) Số thực 16 có dấu (không có) -32768 đến 32767 Số thực 32 có dấu L#... -2147483648 đến +2147483647 Số thực 32 dấu phẩy động (không có) lớn hơn ± 3,402823 e+38 nhỏ hơn ± 1.175495e-38 Thời gian 16 32 giờ_phút_ giây_miligiây ngày_giờ_ phút_giây_ miligiây S5T#..... T#... 0H_0M_0S_10MS đến 2H_46M_30S_0MS -24D_20H_31M_23S_648MS đến 24D_20H_31M_23S_647MS Ngày năm-tháng-ngày D#... 1990-1-1 đến 2168-12-31 Thời gian của ngày 32 Giờ:phút: giây.ngày TOD#... 0:0:0.0 đến 23:59:59.999 Ký tự 8 ‘....’ Viết các ký tự như ‘HA’ III.CácKhèi vi sö lý trung t©m + HÖ ®iÒu hµnh Bé nhí ch­¬ng tr×nh Bé ®Öm vµo/ ra Timer Bé ®Õm Bit cê Bus cña PLC Cæng ng¾t vµ ®Õm tèc ®é cao Cæng vµo ra onboard Qu¶n lý ghÐp nèi bộ phận của CPU và chế độ làm việc. Hình vẽ : Nguyên lý chung về cấu trúc của một bộ điều khiển logic khả trình Phần cứng của các bộ PLC theo kết cấu này thường có những module chính sau: (Hình 2.1) 1.Bộ điều khiển khả trình PLC có thể chia làm 3 phần chính: Bộ xử lý, bộ nhớ, bộ xuất, nhập 1.1Đơn vị xử lý trung tâm - CPU ( Central Procesing Unit) Trong mỗi thiết bị PLC chỉ có một đơn vị xử lý trung tâm. Đơn vị này là hạt nhân của PLC, thực hiện các phép tính lôgic, số học và điều khiển toàn bộ hoạt động của hệ thống. Đơn vị xử lý gọi các lệnh từ bộ nhớ để thực hiện một cách tuần tự. Theo chương trình nó xử lý các thông tin đầu vào và chuyển kết quả xử lý đến đầu ra.Trên thực tế mọi PLC thế hệ mới đều dựa trên kỹ thuật vi xử lý, một số PLC còn dùng thêm một bộ vi xử lý chuyên dụng để điều khiển các chức năng phức tạp như các phép toán học hay bộ điều khiển PID... Hình vẽ dưới đây mô tả về khối CPU 315 - 2EH13 - OABO 1.2. Bộ nhớ (Memory) Mọi PLC đều dựa trên 2 loại bộ nhớ ROM và RAM có dung lượng tuỳ thuộc vào thiết kế riêng của PLC. Việc sử dụng các phần của bộ nhớ phụ thuộc vào thiết bị hệ thống của nhà sản xuất, tuy nhiên ta có thể chia bộ nhớ của PLC thành ít nhất 5 vùng sau: a- Bộ nhớ điều hành (hay hệ điều hành) luôn nằm trong ROM, do được phát triển bởi nhà sản xuất nên ít khi cần thay đổi. Hệ điều hành là một chương trình ngôn ngữ máy để chạy PLC, nó chỉ dẫn cho bộ vi xử lý đọc và “ hiểu” các lệnh, biểu tượng do người sử dụng lập trình, theo dõi mọi trạng thái vào ra và duy trì giám sát các trạng thái hiện tại của hệ thống. b- Bộ nhớ hệ thống (System Memory). Khi hệ điều hành thực hiện nhiệm vụ của mình thường cần một số vùng để lưu giữ kết quả và thông tin trung gian, do đó một phần của bộ nhớ RAM được dùng cho mục đích này. Thông thường vùng bộ nhớ hệ thống chỉ do hệ điều hành sử dụng. Một số PLC Một số PLC dùng vùng bộ nhớ hệ thống này cho việc lưu giữ thông tin liên lạc giữa bộ lập trình với hệ điều hành. Ví dụ như hệ điều hành tạo ra một mã lỗi chứa trong vùng bộ nhớ của hệ thống, như vậy trong quá trình thực hiện, chương trình sử dụng có thể gửi thông tin cho hệ điều hành trước khi thực hiện chương trình sử dụng bằng cách ghi thông tin vào vùng bộ nhớ này. c- Bảng ảnh vào ra (I/O Image Table) Một phần của nhớ RAM được dùng để lưu trạng thái hiện tại các tín hiệu vào ra hay còn gọi là bảng ảnh vào ra. Như vậy trạng thái mỗi tín hiệu vào ra được lưu trữ tại một vị trí tương ứng trong bảng vào ra có địa chỉ duy nhất xác định, mỗi module vào ra đơn lẻ được gán một vùng riêng trong bảng ảnh này. Trong quá trình thực hiện chương trình, CPU sẽ không làm việc trực tiếp với các module vào ra mà thông qua trạng thái được quét nằm trong bảng ảnh vào ra. d- Bộ nhớ số liệu (Data Memory) Bộ nhớ số liệu dùng để lưu trữ các số liệu cần thiết trong chương trình như trạng thái đếm, bộ thời gian, các tham số toán hạng hay các quá trình cần lưu trữ số liệu tạm thời. Một số nhà chế tạo chia bộ nhớ số liệu thành hai vùng, một cho số liệu cố định và một cho số liệu thay đổi được. Vùng số liệu cố định chỉ có thể được lập trình thông qua thiết bị lập trình, CPU không được phép ghi số liệu vào vùng này mà chỉ được ghi vào vùng số liệu thay đổi được. Gồm có loại như CPU312 và CPU314 , CPU315…) . b) CPU314 bao gồm . - 2048 từ đơn (4Kbyte ) thuộc miền nhớ đọc - ghi non - volatile để lưu chương trình . -2048 từ đơn kiểu đọc - ghi để lưu dữ liệu, trong đó 512 từ đầu thuộc miền volatile. -14 cổng vào và 10 cổng logic. - Có 7 modul mở rộng thêm cổng vào ra bao gồm cả Alanog - Tổng số cổng vào - ra là 64 cổng vào và 64 cổng ra. - 128 bộ thời gian : + 4 bộ 1ms +16 bộ 10ms + 108 bộ 100ms -128 bộ đếm chỉ có đếm tiến hoặc vừa đếm tiến vừa đếm lùi - 688 bit nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc - Các chế độ ngắt và xử lý bao gồm : + Ngắt theo sườn lên hoặc sườn xuống + Ngắt theo thời gian ngắt của bộ đếm tốc độ cao + Ngắt truyền xung - 3 bộ đếm tốc độ cao với nhịp 2 KHZ và 7 KHZ - 2 bộ điều chỉnh tương tự - 2 bộ phát xung nhanh cho dãy kiểu PTO hoặc PWM - Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ khi PLC bị mất nguồn nuôi . * Hoạt động của CPU: - Sau khi được cấp nguồn bộ vi xử lý xoá giá trị thời gian các bộ đếm , các cờ không duy trì và bảng ảnh vào ra ở giá trị S7 -200 bắt đầu hoạt động theo chu kỳ. Khởi đầu mỗi chu kỳ bộ xử lý đọc trạng thái tín hiệu của các đầu cào và lưu trữ trong bảng ảnh vào, trong khi thực hiện chương trình bộ xử lý sẽ truy cập đến vùng bảng ảnh này. Quá trình quét chương trình bộ xử lý đọc và xử lý tuần tự các lệnh trong bộ nhớ. - Chương trình thực hiện tương ứng theo dãy lệnh được viết. Nó thực hiện các phép toán logic, toán học với số liệu ở bảng ảnh vào trong khi vẫn duy trì trạng thái hiện tại của bộ vi xử lý, bộ thời gian, bộ đếm và các cờ .Theo chương trình, bộ xử lý sẽ lưu giữ trạng thái đầu ra trong bảng ảnh, kết thúc chương trình quét bộ xử lý sẽ chuyển giá trị từ bảng ảnh đầu ra đến đầu ra thực của hệ thống và chu kỳ quét lại được lặp lại. - Bộ nhớ của S7-300 được chia làm 3 vùng chính : A.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(organization block):Miền chứa chường tổ chức -FC(Function):Miền chứa 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 bock):Miền chứa chương trình con được tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất cứ 1 khối chương trình nào khác.Các dữ liệu này được xây dung thành 1 khối dữ liệu riêng(DB). 1.3. Bộ vào ra S7- 300 bao gồm các đầu vào tín hiệu số, các đầu ngắt và các đầu ra tương tự . Các đầu ra tín hiệu số kiểu rơ le và đầu ra là tương tự . Các cổng truyền thông : PLC S7-300 sử dụng cổng truyền thống nối tiếp RS485 với phích nối 9 chân để phục vụ cho, việc ghép nối với thiết bị lập trình hoặc với bộ PLC khác. Để ghép nối S7-300 với máy lập trình PC 702 hoặc với máy thuộc họ PC7 xx khác có thể sử dụng 1 cáp nối thẳng qua cổng MPI. Ghép nối S7-300 với máy tính PC qua cổng RS-232 với cáp nối PC/PPI và cạc chuyển đổi RS-232 /RS-485 2.Chọn chế độ làm việc cho PLC 2.1 Công tắc chọn chế độ làm việc: Nằm phía trên bên cạnh cổng ra cửa S7-300 có 3 vị trí cho phép chọn các chế độ khác nhau cho PLC. -RUN cho phép PLC thực hiện chương trình trong bộ nhớ PLC sẽ rời khỏi chế độ STOP nếu trong máy có sự cố hoặc trong chương trình gặp lệnh STOP thậm chí ngay cả khi công tắc ở chế độ RUN. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIEMENS SIMATIC SF RUN STOP IO.O IO.1 IO.2 IO.3 IO.4 QO.O QO.1 QO.2 QO.3 QO.4 I1.O I1.1 I1.2 I1.3 I1.4 Q1.0 Q1.1 Cæng truyÒn th«ng C¸c cæng vµo Hình 2.1 Bộ điều khiển khả lập trình S7-300 với khối vi xử lý CPU314 -STOP cưỡng bức PLC dừng công việc thực hiện chương trình đang chạy và chuyển sang chế độ STOP. ở chế độ STOP cho phép hiệu chỉnh lại chương trình hoặc nạp 1 chương trình mới. -TERM cho phép máy lập trình tự quyết định 1 trong chế độ làm việc cho PLC hoặc ở RUN hoặc ở STOP. 2.2 Các nguồn nuôi Sử dụng nguồn nuôi để ghi chương trình hoặc nạp chương trình mới có thể là nguồn trên mạng hoặc nguồn pin. .2.3 Nút điều chỉnh tương tự Điều chỉnh tương tự cho phép điều chỉnh các biến cần thay đổi và sử dụng trong chương trình. Nút chỉnh Analog được nắp dưới nắp đậy bên cạnh các cổng ra. Thết bị chỉnh định có thể quay 270 độ. 2.4 Khởi động mềm hệ thống Khi thay thế chương trình cũ bằng một chương trình mới ta tiến hành khởi động mềm hệ thống cho phép xoá các thông tin của chương trình cũ bao gồm: + Bộ nhớ chương trình . + Các giá trị của cờ, bộ đếm, bộ thời gian. +Việc thực hiện lệnh Reset có 2 cách : *Bằng tay : - Chuyển công tắc đặt ở chế độ sang chế độ STOP - Tháo pin dữ liệu - Đặt công tắc ON/OFF ở vị chí 0 - Chuyển công tắc On/ OFF sang chế độ 1 - Lắp lại pin dữ liệu * Bằng bộ lập trình lưu chọn chế độ Reset trong menu của bộ lập trình và thực hiện . 2.5. Cấu trúc chương trình của PLC S7-300 -Có thể lập trình bằng cách sử dụng 1 trong những phần mềm sau : +STEEP7-Micro/Dos +STEEP7-Micro/Win - Những phần mềm này đều có thể cài đặt được trên máy lập trình họ PG7...và máy tính cá nhân. Các chương trình họ S7-200 phải có cấu trúc bao gồm chương trình chính (main-program) và sau đó đến các chương trình con và các chương trình xử lý ngắt . - Chương trình chính được kết thúc bằng lệnh kết thúc chương trình MEND. - Chương trình con là một bộ phận của chương trình, chương trình con phải được viết sau lệnh kết thúc chương trình chính MEND. - Các chương trình con được nhóm lại thành một nhóm sau chương trình chính. Sau đó đến ngay chương trình xử lý ngắt, bằng cách viết như vậy cấu trúc được rõ ràng và thận tiện hơn trong việc đọc và xử lý chương trình sau này. Có thể tự các chương trình xử lý ngắt đằng sau chương trình chính. IV. ngôn nhữ lập trình của s7-300 1.Phương pháp lập trình: -S7-300 biểu diễn một mạch vòng logic cứng khác một dãy các lệnh lập trình. Chương trình bao gồm 1 tập dãy các lệnh S7-300 thực hiện chương trình bắt đầu từ lệnh lập trình đầu tiên và kết thúc ở tập lệnh cuối trong một vòng. Một vòng như vậy gọi là vòng quét (Scan). Chu trình thực hiện là một chu trình lặp . Các chương trình điều khiển với PLC S7-300 có thể được viết ở dạng đơn khối hoặc đa khối. Chương trình đơn khối: Chương trình đơn khối chỉ viết cho các công việc tự động đơn giản, các lệnh được viết tuần tự trong một khối. Khi viết chương trình đơn khối người ta dùng khối OB1. Bộ PLC quét khối theo chương trình, sau khi quét đến lệnh cuối cùng nó quay trở lại lệnh đầu tiên. Chương trình đa khối (có cấu trúc): Khi nhiệm vụ tự động hoá phức tạp người ta chia chương trình điều khiển ra thành từng phần riêng gọi là khối. Chương trình có thể xếp lồng khối này vào khối kia. Chương trình đang thực hiện ở khối này có thể dùng lệnh gọi khối để sang làm việc với khối khác, sau khi đã kết thúc công việc ở khối mới nó quay về thực hiện tiếp chương trình đã tạm dừng ở khối cũ. Các khối được xếp thành lớp. Mỗi khối có: + Đầu khối gồm tên khối, số hiệu khối và xác định chiều dài khối. + Thân khối: Thể hiện nội dung khối và được chia thành đoạn (Segment) thực hiện từng công đoạn của tự động hoá sản xuất. Mỗi đoạn lại bao gồm một số dòng lệnh phục vụ việc giải bài toán logic. Kết quả của phép toán logic được gửi vào RLO (Result of logic operation). Việc phân chia chương trình thành các đoạn cũng ảnh hưởng đến RLO. Khi bắt đầu một đoạn mới thì tạo ra một giá trị RLO mới, khác với giá trị RLO của đoạn trước. + Kết thúc khối: Phần kết thúc khối là lệnh kết thúc khối BEU. Các loại khối: * Khối tổ chức OB (Organisation Block) Khối tổ chức quản lý chương trình điều khiển và tổ chức việc thực hiện chương trình. * Hàm số FC (Functions) Khối hàm số FC là một chương trình do người sử dụng tạo ra hoặc có thể sử dụng các hàm chuẩn sẵn có của SIEMENS. * Khối hàm FB (Function Block) Khối hàm là loại khối đặc biệt dùng để lập trình các phần chương trình điều khiển tái diễn thường xuyên hoặc đặc biệt phức tạp. Có thể gán tham số cho các khối đó và chúng có một nhóm lệnh mở rộng. Người sử dụng có thể tạo ra các khối hàm mới cho mình, có thể sử dụng các khối hàm sẵn có của SIEMENS. Khối dữ liệu: có hai loại là + Khối dữ liệu dùng chung DB (Shared Data Block) Khối dữ liệu dùng chung lưu trữ các dữ liệu chung cần thiết cho việc xử lý chương trình điều khiển. + Khối dữ liệu riêng DI (Instance Data Block) Khối dữ liệu dùng riêng lưu trữ các dữ liệu riêng cho một chương trình nào đó cho việc xử lý chương trình điều khiển. Ngoài ra trong PLC S7-300 còn hàm hệ thống SFC (System Function) và khối hàm hệ thống SFB (System Function Block). - Cách lập trình cho S7-300 nói riêng và cho các PLC của SIEMENS nói chung dựa trên 3 phương pháp cơ bản : +Phương pháp hình thang (Laddes logic:viết tắt là LAD) +Phương pháp liệt kê lệnh (Statement List: Viết tắt là STL) +phương pháp hình khối FBD (Function block diagram) Nếu chương trình viết tắt theo kiểu LAD thiết bị lập trình sẽ tự tạo ra 1 chương trình theo kiểu STL tương ứng. Ngược lại không phải mọi chương trình được viết theo kiểu STL cũng có thể chuyển sang dạng LAD được. Bộ lệnh của phương pháp STL có chức danh tương ứng như các tiếp điểm, các cuộn dây và các trường hợp dùng trong LAD. Những lệnh này phải độc và phối hợp được trang thái đầu ra hoặc 1 giá trị logic cho phép, hoặc không cho phép thực hiện chức năng của một hay nhiều hộp. a, Phương pháp lập trình LAD -LAD là một ngôn ngữ lập trình bằng đồ hoạ. Những thành phần cơ bản dùng trong LAD tương ứng với các thành phần của bảng điều khiển kiểu role. Trong chương trình LAD các phần tử biểu diễn lệnh như sau : + Tiếp điểm là biểu tượng (Symbol) mô tả các tiếp điểm kiểu role . Các tiếp điểm đó có thể là thường đóng hoặc thường mở. + Cuộn dây (Coil) là biểu tượng mô tả rơ le được mắc theo chiều dòng điện cung cấp cho role . + Hộp (Box) là biểu tượng mô tả hàm khác nhau, nó làm việc khi có dòng điện chạy đến hộp. Những dạng hàm thường được biểu diễn bằng hộp là các bộ thời gian, bộ đếm và các hàm toán học. Cuộn dây và các hộp phải được mắc đúng chiều dòng điện. Mạng LAD là đường nối các phần tử thành 1 mạch hoàn thiện đi từ đường nguồn bên trái là dây nóng, đường nguồn bên phải là dây trung hoà hay là đường trở về của nguồn cung cấp. Dòng điện chạy từ trái qua phải các tiếp điểm đóng đến các cuộn dây hoặc các hộp trở về bên phải nguồn. b, Phương pháp lập trình STL - Phương pháp liệt kê lệnh STL là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh, mỗi câu lệnh trong chương trình kể cả những lệnh hình thức biểu diễn một chức năng PLC. Để tạo ra một chương trình STL, người lập trình cần hiểu rõ phương thức sử dụng ngăn xếp logic của S7-300. Ngăn xếp logic là một khối bit chồng lên nhau. 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 bit đầu tiên hoặc với đầu và bit thứ 2 của các ngăn logic . c,Phương pháp lập trình hình khối Đây là1 hiểu ngôn ngữ đồ hoạ dành cho người có thói quen thiêt kế mạch điều khiển số. 1 chương trình viết trên LAD hoặc FBD có thể chuyển sang sang được dạng STL, nhưng ngươc lại thì không. V.LẬP TRÌNH MỘT SỐ LỆNH CƠ BẢN. 1. Nhóm lệnh Logic. I 0.0 I 0.1 I 0.2 ( ) Q1.0 Hình 7.4: Lệnh LD và A 1.1. Lệnh LD và lệnh A. Lập trình dạng STL A I 0.0 A I 0.1 A I 0.2 = Q 1.0 Hình 7.5: Lệnh AN I 0.0 I 0.1 I 0.2 ( ) Q1.0 1.2. Lệnh AN Lập trình dạng STL. A I 0.0 AN I 0.1 A I 0.2 Hình 7.6: Lệnh O I 0.0 I 0.1 I 0.2 ( ) Q1.0 = Q 1.0 1.3. Lệnh O Lập trình dạng STL. O I 0.0 O I 0.1 O I 0.2 Hình 7.7: Lệnh ON I 0.0 I 0.1 I 0.2 ( ) Q1.0 1.4. Lệnh ON Lập trình dạng STL. O I 0.0 ON I 0.1 O I 0.2 = Q 1.0 1.5. Lệnh A và lệnh O. Lập trình dạng STL (có thể lập trình dạng LAD và kiểm tra lại dạng STL ). Hình 7.8: Lệnh OLD I 0.0 I 0.1 I 0.2 ( ) Q1.0 A I 0.0 A I 0.1 O I 0.2 = Q 1.0 1.6. Lệnh (và lệnh). Lập trình dạng STL. Hình 7.9: Lệnh (và lệnh) I 0.0 I 0.2 I 0.1 ( ) Q1.0 A I 0.0 A( O I 0.1 O I 0.2 ) = Q 1.0 1.7. Lập trình với vùng dữ liệu tạm thời L. Hình 7.10: Lập trình với vùng dữ liệu tạm thời. I 0.0 I 0.2 I 0.1 I 0.4 I 0.3 I 0.5 ( ) Q0.2 ( ) Q0.1 ( ) Q0.0 A I 0.0 = L 20.0 A L 20.0 A( O I 0.1 O I 0.2 = Q 0.0 A L 20.0 A( O I 0.3 (#) ( ) ( ) ( ) M10.0 Q0.0 Q1.0 I1.0 M10.0 M10.0 I0.3 I0.1 I0.0 Q1.0 Q1.0 Hình 7.11: Lập trình với bít nhớ nội M. O I 0.4 ) = Q 0.1 A L 20.0 A I 0.5 = Q 0.2 1.8. lập trình với bít nhớ nội M. Network 1: A I 0.0 = M 10.0 Network 2: A I 0.1 = M 10.1 A M 10.1 = Q 0.0` Network 3: A( O I 0.0 O Q 1.0 ) A M 10.0 A M 10.1 AN I 1.0 = Q 1.0 2. Nhóm lệnh thời gian. Chương trình diều khiển sử dụng các lệnh thời gian để theo dõi, kiểm soát và quản lý các hoạt động có liên quan đến thời gian. Khi một bộ thời gian được khởi phát thì giá trị thời gian được nạp vào thanh ghi CV (Current value). Do đó, muốn dùng các lệnh thời gian phải nạp giá trị thời gian cần đặt vào thanh ghi CV trước khi bộ thời gian hoạt động. Có thể tạo các kiểu dữ liệu sau dùng cho các lệnh thời gian: + Dữ liệu thời gian thực: S5T#H_M_S_MS + Dạng số nguyên 16 bit: W#16#...(ở dạng mã BCD) • Nạp thời gian thực: LS5T#10s Với lệnh trên giá trị thời gian được nạp là 10s • Nạp thời gian dạng mã BCD: Ví dụ: L W#16#2127 Thì số trên sẽ được nạp vào thanh ghi CV dạng mã BCD như hình 7.12. Trong thanh ghi CV thì: Ba số cuối chỉ hệ số: Số 127 ( có thể gán từ 0 đến 999). Số đầu chỉ mã số: Số 2, có 4 mã: 0 tương ứng 0.01s 1 tương ứng 0.1s 2 tương ứng 1s 3 tương ứng 10s Với số đã vào thanh ghi CV như trên thì thời gian được tính là. Dt = 127 x 1s = 127s. Với mã càng nhỏ thì giá trị thời gian càng chính xác, vì vậy nên dùng mã nhỏ. 0 0 0 1 1 0 0 0 1 0 0 1 1 1 (2) (1) (2) (7) Mã Hệ số Hình 7.12 Trong các bộ thời gian của S7-300 ngoài tín hiệu kích thích chích (bắt đầu) như các bộ thời gian của các PLC khác, còn có tín hiệu kích thích cưỡng bức. tín hiệu kích thích cưỡng bức cho phép tính lại thời gian từ đầu khi có sườn lên của tín hiệu, tuy nhiên tín hiệu kích thích cưỡng bức chỉ có giá trị khi tín hiệu kích thích chính có giá trị 1. Lệnh thực hiện kích thích cưỡng bức (có điều kiện ) là: FR, lệnh FR chỉ có o rạng lập trình STL. Bộ thời gian cũng có thể dùng lệnh R để xóa. 2.1 Bộ thời gian xung SP. () Q1.0 I0.0 S_PULSE S Q TV BI R BCD S5T#10s I0.2 … … I0.2 I0.1 Q0.1 >10 10 <10 Thời gian (s) Hình 7.13: Dạng LAD và giản đồ thời gian dạng SP kiểu 1 Bộ thời gian được khởi phát lên 1 tại sườn lên của RLO khi RLO là 1 thì bộ thời gian vẫn duy trì trạng thái 1cho đến khi đạt giá trị đặt mới xuống. Nhưng khi RLO về 0 thì bộ thời gian không về ngay. Có 2 kiểu lập trình: Kiểu thứ nhất có lệnhNOP: A I 0.1 L S5T#10s SP T 0.2 R T 1 NOP 0 A T 1 = Q 0 Còn 2 chân BI và BCD chưa sử dụng ta phải sử dụng lệnh NOP để giữ chỗ. Chân BI là chân để lấy giá trị thời gian hiện thời dạng nhị phân, chân BCD là chân để lấy giá trị thời gian hiện thời dạng mã BCD, có thể dùng lệnh L hoặc LC để đọc các giá trị thời gian. Kiểu thứ 2 (không dùng lệnh NOP). Nework: 1 (SP) T1 I0.0 ( ) Q0.1 T1 (R) T1 I0.2 Hình 7.14: Dạng LAD lệnh SP kiểu 2. A I 0.0 L S5T#10s SP T 1 Nework A T 1 = Q 0.1 Nework: 3 A I 0.2 R T 1 2.2Bộ thời gian mở rộng SE. () Q1.0 I0.0 S_PEXT S Q TV BI R BCD S5T#10s … MW MW Hình 7.15: Lệnh SE I0.1 Q1.0 >10 10 <10 Thời gian (s) 10 Bộ thời gian xung mở rộng SE được khởi phát lên 1 tại sườn lên của RLO sau đó không phụ thuộc vào RLO nữa cho đến khi đủ thời gian đặt mới về 0. Cũng tương tự như bộ thời gian SP, ở các bộ thời gian khác cũng luôn có 2 kiểu lập trình. A I 0.0 L S5T#10s SE T 1 NOP 0 L T 1 T MW 2 LC T 1 T MW 5 A T 1 = Q 0.1 Lệnh L T1 là quét giá trị thời gian hiện thời (dạng nhị phân) vào ACCU1, sau đó sử dụng lệnh T MW 2 là truyền giá trị thời gian hiện thời đã chuyên vào ACCU1 ra MW 2. 2.3 Bộ thời gian bắt đầu trễ SD. Thời gian bắt đầu chậm hơn so với sườn lên của RLO một khoảng bằng thời gian đặt trong lệnh. Khi RLO về không thì bộ thời gian cũng bị đặt ngay về không. Hình 7.16: Lệnh SD I0.1 Q1.0 >10 10 <10 Thời gian (s) 10 () Q1.0 I0.0 S_ODT S Q TV BI R BCD S5T#10s I0.2 … T1 … A I 0.1 L S5T#10s SD T 1 A I 0.2 R T 1 NOP 0 NOP 0 A T 1 = Q 1.0 2.4. Bộ thời gian bắt đầu trễ lưu trữ SS. Thời gian bắt đầu chậm hơn so với sườn lên của RLO một khoảng bằng thời gian đặt trong lệnh và sau đó không phụ thuộc vào RLO nữa. nó chỉ về 0 khi có lệnh xóa R. A I 0.1 Hình 7.17: Lệnh SS I0.2 I0.1 Q0.1 10 Thời gian (s) 10 () Q1.0 I0.1 S_ODTS S Q TV BI R BCD S5T#10s I0.2 … … T1 L S5T#10s SS T 1 A I 0.2 R T 1 NOP 0 NOP 0 A T 1 = Q 1.0 2.5. Bộ thời gian tắt trễ SF. Hình 7.18: Lệnh SF () Q1.0 I0.1 S_0FFDT S Q TV BI R BCD S5T#10s I0.2 … T1 … I0.1 Q1.0 10 Thời gian (s) 10 Bộ thời gian lên 1 tại sườn lên của RLO, khi RLO vể 0 thì bộ thời gian tiếp tục duy trì trạng thái một khoảng thời gian nữa bằng khoảng thời gian đã đặt trong lệnh rồi mới về 0. Để xóa thời gian dùng lệnh R, khi có lệnh R từ 0 lên 1thif bộ thời gian được đặt về không và trạng thái tín hiệu vẫn được 0 cho đến khi bộ thời gian được khởi phát lại. A I 0.1 L S5T#10s SF T 1 A I 0.2 R T 1 NOP 0 NOP 0 A T 1 = Q 1.0 3.Nhóm lệnh đếm. Giá trị trong thanh ghi CV (current value) là giá trị đếm tức thời của bộ đếm, CV luôn không âm, do đó lệnh đếm lùi sẽ không đếm khi CV = 0. Giá trị đếm PV có thể được đặt trước bằng lệnh L, ví dụ L C#4 (đặt giá trị đếm bằng 4 ). Tuy nhiên , khác với bộ thời gian, giá trị đếm chỉ được nạp vào CV khi có lệnh đặt bộ đếm (S). nếu không đặt giá trị đếm thì bộ đếm có thể vẫn tiến hành đếm (chỉ khi CV = 0 thì không đếm lùi). Giá trị đầu ra của bộ đếm sẽ là 1 nếu CV ≠ 0, bằng 0 nếu CV = 0. Bộ đếm có thể được xóa chủ động bằng tín hiệu xóa (R). Cũng tương tự như bộ thời gian, bộ đếm cũng có thể dùng lệnh kích đếm ( đếm cưỡng bức ) FR lệnh có điều kiện ), bộ đếm cũng đếm xung khi điều kiện của FR đảm bảo. Lệnh FR chỉ có ở dạng lập trình STL.Có thể dùng lệnh L hoặc LD để đọc giá trị tức thời của bộ đếm vào ACCU1 để sử lý. Lệnh L đọc số dạng cơ số 2, lệnh LD đọc số dạng BCD. Hình 7.19: Lệnh đếm lên CU () Q1.0 I0.0 S_CU CU Q S CV … C2 … PV CV_BCD R … … … I0.0 Q1.0 CV 0 0 0 1 2 3 .3.1. Lệnh đếm lên CU. A I 0.0 CD C 2 BLD 101 NOP 0 NOP 0 NOP 0 NOP 0 Nop 0 A C 2 = Q 1.0 Lệnh BLD để hiện thị dạng LAD. Với các lệnh trên khi đầu vào I0.0 có sườn lên thì giá trị bộ đếm CV tăng thêm một đơn vị, tức là khi đã có chỉ một lần sườn lên của I0.0 thì đầu ra Q1.0 luôn là 1 (không xóa). Chân CV là chân để lấy giá trị đếm dạng nhị phân, chân CV_BCD là chân đẻ lấy giá trị thời gian dạng mã BCD, có thể dùng lệnh L hoặc LC để đọc các giá trị đếm. Hình 7.21: Xung đếm lệnh đếm xuống CU () Q1.0 I0.0 S_CD CU Q S CV … C2 … PV CV_BCD R … I0.1 C#4 I0.0 Q1.0 CV 0 0 0 1 2 3 4 I0.1 3.2. Lệnh đếm xuống CD. A I 0.0 CD C 2 BLD 101 A I 0.1 L C#4 S C 2 NOP 0 NOP 0 NOP 0 A C 2 = Q 1.0 Trong các lệnh trên có: lệnh L C#4 là nạp số đếm bằng 4. như trên hình 7.20 khi I0.0 có trước, bộ đếm vân không làm việc vì khi đó CV =0, cho đến khi có lệnh đặt bộ đếm, I0.1 có thì bộ đếm bắt đầu được nạp giá trị đếm, CV = 4. từ khi này mỗi lần I0.0 có giá trị đếm giảm một đơn vị, sau 4 xung vào giá trị đếm CV = 0. khi CV ≠0 đầu ra Q1.0 có, khi CV = 0 đầu ra Q1.0 mất. Hình 7.21: Vừa đếm tiến vừa đếm lùi. () Q1.0 I0.0 S_CUD CU Q CD CV MW0 C1 S CV_BCD R I0.1 C#3 PV MW1 I0.2 I0.3 I0.0 0 Q1.0 CV 0 1 4 3 I0.1 0 0 2 3 1 0 0 I0.3 I0.2 0 3.3. Lệnh đếm vừa tiến vừa lùi. A I 0.0 CU C 1 BLD 101 A I 0.1 CD C 1 A I 0.2 L C#3 S C 1 A I 0.3 R C 1 L C 1 T MW 1 A C 1 = Q 1.0 Từ giản đồ ta thấy: khi đầu vào đếm tiến có lập tức bộ đếm làm việc, giá trị đếm tăng một đơn vị, CV≠ 0, đầu ra Q1.0 có. Tiếp đó đầu vào đếm lùi có, dodos bộ đếm lại giảm một đơn vị (CV = 0) đầu ra Q1.0 lại mất. Tuy nhiên, nếu đầu vào đếm lùi có trước thì bộ đếm không đếm vì khi đó CV = 0. Tiếp đó đầu vào đặt bộ đếm SET có làm giá trị đếm được nạp vào C

Các file đính kèm theo tài liệu này:

  • docdo_an_plc_1__3617.doc