In order to better illustrate the necessary functions and features of this application, a rainwater retention basin is assumed as example. Measures for efficient maintenance should be taken for optimizing plant availability and efficiency. Alarm messages for instance in case of malfunction of the lock should be sent to the service personnel as an SMS message via this GSM modem. Following use cases are considered .
Trang 1MỤC LỤC
LỜI CẢM ƠN 5
CHƯƠNG I GIỚI THIỆU VỀ PLC 6
1.1.SƠ LƯỢC VỀ LỊCH SỬ PHÁT TRIỂN 6
1.2 CẤU TRÚC VÀ NGHIÊN CỨU HOẠT ĐỘNG CỦA MỘT PLC 7
1.2.1 Cấu trúc 7
1.2.2 Hoạt động của một PLC 7
1.3 Phân loại PLC 9
1.3.1.Loại 1 : Micro PLC (PLC siêu nhỏ) 9
1.3.2.Loại 2 : PLC cỡ nhỏ (Small PLC) 9
1.3.3 Loại 3 : PLC cỡ trung bình (Medium PLCS) 10
1.3.4 Loại 4: PLC cỡ lớn (large PLC) 11
1.3.5 Loại : PLC rất lớn (very large PLCs) 12
1.4 SO SÁNH PLC VỚI CÁC HỆ THỐNG ĐIỀU KHIỂN KHÁC LỢI ÍCH CỦA VIỆC SỬ DỤNG PLC 12
1.4.1 Việc sử dụng PLC và các hệ thống điều khiển khác 12
1.4.2 Lợi ích của việc sử dụng PLC 13
1.5 MỘT VÀI LĨNH VỰC TIÊU BIỂU ỨNG DỤNG PLC 14
Chương 2: PHÉP TOÁN NHỊ PHÂN 15
2.1 Tiếp điểm thường mở, thường đóng, cảm biến, ký hiệu 15
2.2 Các liên kết nhị phân – Đại số Boolean 15
2.3 Lênh Set & Reset 16
2.4 Set / Reset một FLIP FLOP 16
2.5 Lệnh Nhảy – JUMP 17
2.5.1 Nhảy không điều kiện 17
2.5.2 Lệnh nhảy có điều kiện 18
2.6 Nhận biết cạnh tín hiệu 18
2.6.1 Nhận biết tín hiệu cạnh lên – POS (P) 18
2.6.2 Nhận biết tín hiệu cạnh xuống – NEG (N) 19
Chương 3: PHÉP TOÁN SỐ HỌC 20
3.1 Nạp và truyền dữ liệu 20
Trang 23.2.1 Trễ theo sườn lên không có nhớ - SD ( On Delay Timer) 20
3.2.2 Trễ theo sườn lên có nhớ - SS ( Retentive On Delay Timer) 21
3.2.3 Timer tạo xung không có nhớ ( Pulse Timer – SP) 22
3.2.4 Timer tạo xung có nhớ - SE ( Extended Pulse Timer) 22
3.2.5 Timer trễ theo sườn xuống 23
3.3 Bộ đếm (Counter) 23
3.3.1 Nguyên tắc làm việc 23
3.3.2 Khai báo sử dụng 24
3.3.3 Bộ đếm câu lệnh Bit 25
3.4 Phép Toán Chuyển Đổi 25
3.4.1 Phép toán chuyển đổi BCD và I 26
3.4.2 Phép toán chuyển đổi BCD và DI 27
3.4.3 Phép toán chuyển đổi I – DI – REAL 28
3.5 Phép so sánh – CMP 29
3.6 Các phép toán Logic 29
3.6.1 Phép toán Logic AND – WAND_W 29
3.6.2 Phép toán Logic OR – WOR_W 30
3.6.2 Phép toán Logic XOR – WXOR_W 30
3.7 Các Phép Toán Học Cơ Bản 31
3.8 Lệnh dịch chuyển – Shift 32
3.9 Lệnh Xoay Doubleword 33
Chương 4: XỬ LÝ TÍN HIỆU ANALOG 34
4.1 Sử dụng các Module Analog 34
4.2 Module đo lường 34
4.3 Định tỉ lệ ngõ vào Analog 35
4.4.Định tỉ lệ ngõ ra Analog 36
Chương 5: MỘT SỐ KHỐI HÀM CƠ BẢN 38
5.1 Khối hàm Byte & Bit 38
5.1.1 Đặt một loạt Byte ngõ ra lập tức FC101 38
5.1.2 Đặt một loạt Bit ngõ ra FC83 39
Trang 35.1.3 Xóa một loạt Byte lập tức FC100 40
5.1.4 Xóa một loạt bit FC82 41
5.2 Hàm chuyển đổi 42
5.2.1 Giải mã 7 đoạn FC93 42
5.2.2 Hàm đổi tầm Scale FC105 43
5.2.3 Hàm đổi tầm ngược UnScale FC106 44
Chương 6: GIỚI THIỆU PHẦN MỀM STEP7 45
6.1 Giới thiệu chung về STEP7 45
6.2 Cài đặt phần mềm STEP 7 V5.4 47
6.3 Soạn thảo một Project 52
6.3.1 Khai báo và mở một Project 53
6.3.2 Xây dựng cấu hình cứng cho trạm PLC 54
6.3.3 Đặt tham số quy định chế độ làm việc cho module 56
6.3.4 Soạn thảo chương trình cho các khối logic 57
6.4 Làm việc với PLC 60
6.4.1 Quy định địa chỉ MPI cho module CPU 60
6.4.2 Ghi chương trình lên module CPU 61
6.4.3 Giám sát việc thực hiện chương trình 62
6.4.4 Giám sát module CPU 64
6.4.5 Giám sát nội dung ô nhớ 65
PHỤ LỤC 1 67
I VÙNG NHỚ PLC S7 – 300 67
II HƯỚNG DẪN SỬ DỤNG SIMULATION 69
III BÀI TẬP 74
M Ở Đ ẦU 74
Counter v à Timer 75
ĐIỀU KHIỂN ĐỘNG CƠ 77
Bài tập nâng cao 77
Phương pháp lập trình Grafcet 79
BÀI TẬP ỨNG DỤNG 81
PHỤ LỤC 2 – TRẠM MPS 88
Trang 4II TESTING STATION – TRẠM KIỂM TRA 98
III PROCESSING STATION – TRẠM GIA CÔNG 110
IV HANDLING STATION – TRẠM TAY GẮP 117
V SORTING STATION – TRẠM PHÂN LOẠI 126
PHỤ LỤC 3 – MỘT SỐ ĐỀ THI THAM KHẢO 135
ĐỀ THI THỰC HÀNH 135
ĐỀ THI THỰC HÀNH 139
ĐỀ THI THỰC HÀNH 143
ĐỀ THI THỰC HÀNH 148
TÀI LIỆU THAM KHẢO 152
Trang 5LỜI CẢM ƠN
Với sự phát triển công nghệ hiện nay, đặc biệt là trong lĩnh vực tự động hóa thì
PLC và những ứng dụng đóng một vai trò rất quan trọng và chủ chốt trong hệ
thống tự động hóa
Với mục đích đào tạo đội ngũ thuật viên chất lượng cao và chuẩn hóa được tài
liệu cho mọi người muốn tìm hiểu, nghiên cứu về PLC Những mong muốn làm
thế nào để mọi người có thể cùng nghiên cứu và đưa ứng dụng PLC vào sản xuất
Với những kiến thức và hiểu biết về lĩnh vực PLC Siemens, những tài liệu tham
khảo trực tiếp của hãng Siemens, tài liệu về hệ thống MPS của hãng Festo đã giúp
tôi hoàn thiện tài liệu PLC S7 – 300 cho hệ thống MPS
Trong quá trình làm việc và nghiên cứu tại Trường TCN – KTCN Hùng Vương
được sự giúp đỡ tận tình từ nhà trường, đặc biệt là Thầy Phạm Phú Thọ để tôi hoàn
thành tài liệu này Xin chân thành cám ơn Thầy luôn động viên và giúp đỡ em về
tinh thần lẫn kiến thức chuyên môn để em hoàn thành tốt cuốn sách này
Những kiến thức của tôi cũng chỉ nhỏ bé và mong cùng trao đổi, học hỏi và cùng
chia sẻ với mọi người trong cùng lĩnh vực Nếu có sai sót và bổ sung mong sự
giúp đỡ của tất cả những bạn bè trong cùng lĩnh vực giúp
Thân chào và chân thành cám ơn TP.HCM, tháng 2 năm 2011
Trang 6CHƯƠNG I GIỚI THIỆU VỀ PLC
1.1.SƠ LƯỢC VỀ LỊCH SỬ PHÁT TRIỂN
Thiết bị điều khiển lập trình đầu tiên (programmable controller) đã được những nhà thiết kế cho ra đời năm 1968 (Công ty General Moto - Mỹ) Tuy nhiên, hệ thống này còn khá đơn giản và cồng kềnh, người sử dụng gặp nhiều khó khăn trong việc vận hành hệ thống Vì vậy các nhà thiết kế từng bước cải tiến hệ thống đơn giản, gọn nhẹ, dễ vận hành, nhưng việc lập trình cho hệ thống còn khó khăn, do lúc này không có các thiết bị lập trình ngoại vi hổ trợ cho công việc lập trình
Để đơn giản hóa việc lập trình, hệ thống điều khiển lập trình cầm tay (programmable controller handle) đầu tiên được ra đời vào năm 1969 Điều này đã tạo ra một sự phát triển thật sự cho kỹ thuật điều khiển lập trình Trong giai đoạn này các hệ thống điều khiển lập trình (PLC) chỉ đơn giản nhằm thay thế hệ thống Relay và dây nối trong hệ thống điều khiển cổ điển Qua quá trình vận hành, các nhà thiết kế đã từng bước tạo ra được một tiêu chuẩn mới cho hệ thống, tiêu chuẩn đó là :Dạng lập trình dùng giản đồ hình thang (The diagroom format) Trong những năm đầu thập niên 1970, những hệ thống PLC còn có thêm khả năng vận hành với những thuật toán hổ trợ (arithmetic), “vận hành với các dữ liệu cập nhật” (data manipulation) Do sự phát triển của loại màn hình dùng cho máy tính (Cathode Ray Tube: CRT), nên việc giao tiếp giữa người điều khiển để lập trình cho hệ thống càng trở nên thuận tiện hơn
Sự phát triển của hệ thống phần cứng và phần mềm từ năm 1975cho đến nay đã làm cho hệ thống PLC phát triển mạnh mẽ hơn với các chức năng mở rộng: hệ thống ngõ vào/ra có thể tăng lên đến 8.000 cổng vào/ra, dung lượng bộ nhớ chương trình tăng lên hơn 128.000 từ bộ nhớ (word of memory) Ngoài ra các nhà thiết kế còn tạo ra kỹ thuật kết nối với các hệ thống PLC riêng lẻ thành một hệ thống PLC chung, tăng khả năng của từng
hệ thống riêng lẻ Tốc độ xử lý của hệ thống được cải thiện, chu kỳ quét (scan) nhanh hơn làm cho hệ thống PLC xử lý tốt với những chức năng phức tạp số lượng cổng ra/vào lớn Trong tương lai hệ thống PLC không chỉ giao tiếp với các hệ thống khác thông qua CIM Computer Intergrated Manufacturing) để điều khiển các hệ thống: Robot, Cad/Cam… ngoài ra các nhà thiết kế còn đang xây dựng các loại PLC với các chức năng điều khiển “thông minh” (intelligence) còn gọi là các siêu PLC (super PLCS) cho tương lai
Trang 71.2 CẤU TRÚC VÀ NGHIÊN CỨU HOẠT ĐỘNG CỦA MỘT PLC
Hình 1.1 : Sơ đồ khối của hệ thống điều khiển lập trình
Khối điều khiển trung tâm (CPU) gồm ba phần: bộ xử lý, hệ thống bộ nhớ và hệ thống nguồn cung cấp Hình 1.2 mô tả ba phần cấu thành một PLC
Hình 1.2 : Sơ đồ khối tổng quát của CPU 1.2.2 Hoạt động của một PLC
Về cơ bản hoạt động của một PLC cũng khá đơn giản Đầu tiên, hệ thống các cổng vào/ra (Input/Output) (còn gọi là các Module xuất /nhập) dùng để đưa các tín hiệu từ các thiết bị ngoại vi vào CPU (như các sensor, công tắc, tín hiệu từ động cơ …) Sau khi nhận được tín hiệu ở ngõ vào thì CPU sẽ xử lý và đưa các tín hiệu điều khiển qua Module xuất
ra các thiết bị được điều khiển
Trong suốt quá trình hoạt động, CPU đọc hoặc quét (scan) dữ liệu hoặc trạng thái của thiết bị ngoại vi thông qua ngõ vào, sau đó thực hiện các chương trình trong bộ nhớ như sau: một bộ đếm chương trình sẽ nhặt lệnh từ bộ nhớ chương trình đưa ra thanh ghi lệnh
để thi hành Chương trình ở dạng STL (StatementList – Dạng lệnh liệt kê) sẽ được dịch ra
M
mMMMMM
Trang 8sẽ gởi hoặc cập nhật (Update) tín hiệu tới các thiết bị, được thực hiện thông qua module xuất Một chu kỳ gồm đọc tín hiệu ở ngõ vào, thực hiện chương trình và gởi cập nhật tín hiệu ở ngõ ra được gọi là một chu kỳ quét (Scanning)
Trên đây chỉ là mô tả hoạt động đơn giản của một PLC, với hoạt động này sẽ giúp cho người thiết kế nắm được nguyên tắc của một PLC Nhằm cụ thể hóa hoạt động của một PLC, sơ đồ hoạt động của một PLC là một vòng quét (Scan) như sau:
Hình 1.3 :Một vòng quét của PLC
Thực tế khi PLC thực hiện chương trình (Program execution) PLC khi cập nhật tín hiệu ngõ vào (ON/OFF), các tín hiệu hiện nay không được truy xuất tức thời để đưa ra (Update) ở ngõ ra mà quá trình cập nhật tín hiệu ở ngõ ra (ON/OFF) phải theo hai bước: khi xử lý thực hiện chương trình, vi xử lý sẽ chuyển đổi các bước logic tương ứng ở ngõ ra trong “chương trình nội” (đã được lập trình), các bước logic này sẽ chuyển đổi ON/OFF Tuy nhiên lúc này các tín hiệu ở ngõ ra “that” (tức tín hiệu được đưa ra tại modul out) vẫn chưa được đưa ra Khi xử lý kết thúc chương trình xử lý, việc chuyển đổi các mức logic (của các tiếp điểm) đã hoàn thành thì việc cập nhật các tín hiệu ở ngõ ra mới thực sự tác động lên ngõ ra để điều khiển các thiết bị ở ngõ ra
Thường việc thực thi một vòng quét xảy ra với một thời gian rất ngắn, một vòng quét đơn (single scan) có thời gian thực hiện một vòng quét từ 1ms tới 100ms Việc thực hiện một chu kỳ quét dài hay ngắn còn phụ thuộc vào độ dài của chương trình và cả mức độ giao tiếp giữa PLC với các thiết bị ngoại vi (màn hình hiển thị…) Vi xử lý có thể đọc được tín hiệu ở ngõ vào chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơn một chu kỳ quét thì vi xử lý coi như không có tín hiệu này Tuy nhiên trong thực tế sản xuất, thường các hệ thống chấp hành “là các hệ thống cơ khí nên có tốc độ quét như trên
có thể đáp ứng được các chức năng của dây chuyền sản xuất Để khắc phục thời gian quét dài, ảnh hưởng đến chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập nhật
(Cập nhật ngõ ra)
Read input (Đọc ngõ vào)
Program execution (Thực hiện chương trình)
Trang 9tức thời, các hệ thống này thường được áp dụng cho các PLC lớn có số lượng I/O nhiều, truy cập và xử lý lượng thông tin lớn
1.3 Phân loại PLC
Đầu tiên là khả năng và giá trị cũng như nhu cầu về hệ thống sẽ giúp người sử dụng cần những loại PLC nào mà họ cần Nhu cầu về hệ thống được xem như là một nhu cầu ưu tiên nó giúp người sử dụng biết cần loại PLC nào và đặc trưng của từng loại để dể dàng lựa chọn
Hình 1.4 cho ta các “bậc thang” phân loại các loại PLC và việc sử dụng PLC cho phù hợp với các hệ thống thực tế sản xuất Trong hình này ta có thể nhận thấy những vùng chồng lên nhau, ở những vùng này người sử dụng thường phải sử dụng các loại PLC đặc biệt như: số lượng cổng vào/ra (I/O) có thể sử dụng ở vùng có số I/O thấp nhưng lại có các tính năng đặc biệt của các PLC ở vùng có số lượng I/O cao (ví dụ: ngoài các cổng vào ra tương tự (Analog) Thường người sử dụng các loại PLC thuộc vùng chồng lấn nhằm tăng tính năng của PLC đồng thời lại giảm thiểu số lượng I/O không cần thiết
Các nhà thiết kế phân PLC ra thành các loại sau
1.3.1.Loại 1 : Micro PLC (PLC siêu nhỏ)
Micro PLC thường được ứng dụng trong các dây chuyền sản xuất nhỏ, các ứng dụng trực tiếp trong từng thiết bị đơn lẻ (ví dụ: điều khiển băng tải nhỏ Các PLC này thường được lập trình bằng các bộ lập trình cầm tay, một vài micro PLC còn có khả năng hoạt động với tín hiệu I/O tương tự (analog) (ví dụ:việc điều khiển nhiệt độ) Các tiêu chuẩu của một Micro PLC như sau:
Trang 10Có 128 ngõ vào/ra (I/O)
Dùng vi xử lý 8 bit
Thường dùng để thay thế các role
Dùng bộ nhớ 2K
Lập trình bằng ngôn ngữ dạng hình thang (ladder) hoặc liệt kê
Có timers/counters/thanh ghi dịch (shift registers)
Đồng hồ thời gian thực
Thường được lập trình bằng bộ lập trình cầm tay
Chú ý vùng A trong sơ đồ hình 1.4 Ở đây dùng PLC nhỏ với các chức năng tăng cường của PLC cở lớn hơn như: Thực hiện được các thuật toán cơ bản, có thể nối mạng, cổng vào ra có thể sử dụng tín hiệu tương tự
Hình 1.4 : Cách dùng các loại PLC
1.3.3 Loại 3 : PLC cỡ trung bình (Medium PLCS)
PLC trung bình có hơn 128 đường vào/ra, điều khiển được các tín hiệu tương tự, xuất nhập dữ liệu, ứng dụng dược những thuật toán, thay đổi được các đặc tính của PLC nhờ vào hoạt động của phần cứng và phần mềm (nhất là phần mềm) các thông số của PLC trung bình như sau:
_ Có khoảng 1024 ngõ vào/ra (I/O)
_ Dùng vi xử lý 8 bit
_ Thay thế rơle và điều khiển được tín hiệu tương tự
Trang 11_ Bộ nhớ 4K, có thể nâng lên 8K
_ Tín hiệu ngõ vào ra là tương tự hoặc số
_ Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao
_ Có timers/Counters/Shift Register
_ Có khả năng xử lý chương trình con (qua lệnh JUMP…)
_ Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao
_ Có timers/counters/Shift Register
_ Có khả năng xử lý chương trình con ( qua lệnh JUMP…)
_ Thực hiện các thuật toán (cộng, trừ, nhân, chia…)
_ Giới hạn dữ liệu với bộ lập trình cầm tay
_ Có đường tín hiệu đặc biệt ở module vào/ra
_ Giao tiếp với các thiết bị khác qua cổng RS232
_ Có khả năng hoạt động với mạng
_ Lập trình qua CRT (Cathode Ray Tube) để dễ quan sát
Chú ý tới vùng B (hình 1.4) PLC ở vùng B thường trực được dùng do có nhiều bộ nhớ hơn, điều khiển mạng PID có khả năng thực hiện những chuỗi lệnh phần lớn về thuật toán hoặc quản lý dữ liệu
1.3.4 Loại 4: PLC cỡ lớn (large PLC)
Large PLC được sử dụng rộng rãi hơn do có khả năng hoạt động hữu hiệu, có thể nhận dữ liệu, báo những dữ liệu đã nhận… Phần mềm cho thiết bị điều khiển cầm tay được phát triển mạnh hơn tạo thuận lợi cho người sử dụng Tiêu chuẩn PLC cỡ lớn: Ngoài các tiêu chuẩn như PLC cỡ trung, PLC cỡ lớn còn có thêm các tiêu chuẩn sau:
_ Có 2048 cổng vào/ra (I/O)
_ Dùng vi xử lý 8 bit hoặc 16 bit
_ Bộ nhớ cơ bản có dung lượng 12K, mở rộng lên được 32K
_ Local và remote I/O
_ Điều khiển hệ thống role (MCR: Master Control Relay)
_ Chuỗi lệnh, cho phép ngắt (Interrupts)
_ PID hoặc làm việc với hệ thống phần mềm PID
_ Hai hoặc nhiều hơn cổng giao tiếp RS 232
Trang 12_ Dữ liệu điều khiển mở rộng, so sánh, chuyển đổi dữ liệu, chức năng giải thuật toán
mã điều khiển mở rộng (mã nhị phân, hexa …)
_Có khả năng giao tiếp giữa máy tính và các module
1.3.5 Loại : PLC rất lớn (very large PLCs)
Very large PLC được dùng trong các ứng dụng đòi hỏi sự phức tạp và chính xát cao, đồng thời dung lượng chương trình lớn Ngoài ra PLC loại này còn có thể giao tiếp I/O với các chức năng đặc biệt, tiêu chuan PLC loại này ngoài các chức năng như PLC loại lớn còn có thêm các chức năng:
_ Có8192 cổng vào/ra (I/O)
_ Dùng vi xử lý 16 bit hoặc 32 bít
_ Bộ nhớ 64K, mở rộng lên được 1M
_ Thuật toán :+, -, *, /, bình phương
_ Dữ liệu điều khiển mở rộng : Bảng mã ASCII, LIFO, FIFO
1.4 SO SÁNH PLC VỚI CÁC HỆ THỐNG ĐIỀU KHIỂN KHÁC LỢI ÍCH CỦA VIỆC SỬ DỤNG PLC
1.4.1 Việc sử dụng PLC và các hệ thống điều khiển khác
1.4.1.1 PLC với hệ thống điều khiển bằng rơle
Việc phát triển hệ thống điều khiển bằng lập trình đã dần thay thế từng bước hệ thống điều khiển bằng role trong các quá trình sản suất khi thiết kế một hệ thống điều khiển hiện đại, người kỹ sư phải cân nhắc, lựa chọn giữa các hệ thống điều khiển lập trình thường được sử dụng thay cho hệ thống điều khiển bằng rơ le do các nguyên nhân sau: _ Thay đổi trình tự điều khiển một cách linh động
_ Có độ tin cậy cao
_ Khoản không lắp đặc thiết bị nhỏ, không chiếm diện tích
_ Có khả năng đưa tín hiệu điều khiển ở ngõ ra cao
_ Sự chọn lựa dữ liệu một cách thuận lợi dễ dàng
_ Thay đổi trình tự điều khiển một cách thường xuyên
_ Dễ dàng thay đổi đối với cấu hình (hệ thống máy móc sản xuất) trong tương lai khi
có nhu cầu mở rộng sản xuất
Trang 13Đặc trưng cho hệ thống điều khiển chương trình là phù hợp với những nhu cầu đã nêu trên, đồng thời về mặt kinh tế và thời gian thì hệ thống điều khiển lập trình cũng vượt trội hơn hệ thống điều khiển cổ điển (rơle, contactor …) Hệ thống điều khiển này cũng phù hợp với sự mở rộng hệ thống trong tương lai do không phải đổi, bỏ hệ thống dây nối
giữa hệ thống điều khiển và các thiết bị, mà chỉ đơn giản là thay với máy tính
Cấu trúc giữa máy đổi chương trình cho phù hợp với điều kiện sản xuất mới
1.4.1.2 PLC tính với PLC đều dựa trên bộ xử lý (CPU) để xử lý dữ liệu Tuy nhiên có
một vài cấu trúc quan trọng cần phân biệt để thấy rõ sự khác biệc giữa một PLC và một máy tính
_ Không như một máy tính PLC được thiết kế đặc biệc để hoạt động trong môi trường công nghiệp Một PLC có thể được lắp đặc ở những nơi có độ nhiểu điện cao (Electrical noise), vùng có từ trường mạnh, có các chấn động cơ khí, nhiệt độ môi trường cao …
_ Điều quan trọng thứ hai đó là: Một PLC được thiết kế với phần cứng và phần mềm sao cho dễ lắp đặc (đối với phần cứng), đồng thời về một chương trình cũng phải dễ dàng
để người sử dụng (kỹ sư, kỹ thuật viên) thao tác lập trình một cách nhanh chóng, thuận lợi (ví dụ: lập trình bằng ngôn ngữ hình thang …)
1.4.1.3 PLC với máy tính cá nhân (PC :Personal Coomputers)
Đối với một máy tính cá nhân (PC), người lập trình dễ nhận thấy được sự khác biệc giữa PC với PLC, sự khác biệt có thể biết được như sau:
Máy tính không có các cổng giao tiếp tropic tiếp với các thiết bị điều khiển, đồng thời máy tính cũng hoạt động không tốt trong môi trường công nghiệp
Ngôn ngữ lập trình trên máy tính không phải dạng hình thang, máy tính ngoài việc
sử dụng các phần mềm chuyên biệc cho PLC, còn phải thông qua việc sử dụng các phần mềm khác làm “chậm” đi quá trình giao tiếp với các thiết bị được điều khiển
Tuy nhiên qua máy tính, PLC có thể dể dàng kết nối với các hệ thống khác, cũng như PLC có thể sử dụng bộ nhớ (có dung lượng rất lớn) của máy tính làm bộ nhớ của PLC
1.4.2 Lợi ích của việc sử dụng PLC
Cùng với sự phát triển của phần cứng lẫn phần mềm, PLC ngày càng tăng được các tính năng cũng như lợi ích của PLC trong hoạt động công nghiệp Kích thước của PLC hiện nay được thu nhỏ lại để bộ nhớ và số lượng I/O càng nhiều hơn, các ứng dụng của PLC càng mạnh hơn giúp người sử dụng giải quyết được nhiều vấn đề phức tạp trong điều khiển hệ thống
Lợi ích đầu tiên của PLC là hệ thống điều khiển chỉ cần lắp đặc một lần (đối với sơ
đồ hệ thống, các đường nối dây, các tính hiệu ở ngõ vào/ra …), mà không phải thay đổi kết cấu của hệ thống sau này, giảm được sự tốn kém khi phải thay đổi lắp đặt khi đổi thứ
tự điều khiển (đối với hệ thống điều khiển relay …) khả năng chuyển đổi hệ điều khiển
Trang 14được điều khiển linh hoạt hơn
Không như các hệ thống cũ, PLC có thể dể dàng lắp đặc do chiếm một khoảng không gian nhỏ hơn nhưng điều khiển nhanh, nhiều hơn các hệ thống khác Điều này càng tỏ ra thuận lợi hơn đối với các hệ thống điều khiển lớn, phức tạp, và quá trình lắp đặt
hệ thống PLC ít tốn thời gian hơn các hệ thống khác
Cuối cùng là người sử dụng có thể nhận biết các trục trặc hệ thống của PLC nhờ giao diện qua màn hình máy tính (một số PLC thế hệ sau có khả năng nhận biết các hỏng hóc (trouble shoding) của hệ thống và báo cho người sử dụng), điều này làm cho việc sửa chữa thuận lợi hơn
1.5 MỘT VÀI LĨNH VỰC TIÊU BIỂU ỨNG DỤNG PLC
Hiện nay PLC đã được ứng dụng thành công trong nhiều lĩnh vựt sản xuất cả trong công nghiệp và dân dụng Từ những ứng dụng để điều khiển các hệ thống đơn giản, chỉ có chức năng đóng mờ (ON/OFF) thông thường đến các ứng dụng cho các lĩnh vực phức tạp, đòi hỏi tính chính xác cao, ứng dụng các thuật toán trong quá trình sản xuất Các lĩnh vực tiêu biểu ứng dụng PLC hiện nay bao gồm:
_ Hóa học và dầu khí: định áp suất (dầu), bơm dầu, điều khiển hệ thống ống dẫn, cân đông trong nghành hóa …
_ Chế tạo máy và sản xuất: Tự động hoá trong chế tạo máy, cân đông, quá trình lắp đặc máy, điều khiển nhiệt độ lò kim loại…
_ Bột giấy, giấy, xử lý giấy Điều khiển máy băm, quá trình ủ boat, quá trình cáng, gia nhiệt …
_ Thủy tinh và phim ảnh: quá trình đóng gói, thou nghiệm vật liệu, cân đong, các khâu hoàn tất sản phẩm, đo cắt giấy
_ Thực phẩm, rượu bia, thuốc lá: đếm sản phẩm, kiểm tra sản phẩm, kiểm soát quá trình sản xuất, bơm (bia, nước trái cây …) cân đông, đóng gói, hòa trộn …
_ Kim loại: Điều khiển quá trình cán, cuốn (thép), qui trình sản xuất, kiểm tra chất lượng
_ Năng lượng: Điều khiển nguyên liệu (cho quá trình đốt, xử lý trong các turbin …) các trạm cần hoạt động tuầu tự khai thác vật liệu một cách tự động (than, gỗ, dầu mỏ)
Trang 15Chương 2: PHÉP TOÁN NHỊ PHÂN
2.1 Tiếp điểm thường mở, thường đóng, cảm biến, ký hiệu
Điện áp Tình
trạng tín hiệu ngõ vào
Kiểm tra tình trạng tín hiệu “1” Kiểm tra tình trạng tín hiệu “0” Lệnh Kết quả Lệnh Kết quả
2.2 Các liên kết nhị phân – Đại số Boolean
Trang 162.3 Lênh Set & Reset
Kết quả: Kết quả có đƣợc khi chuyển kết quả liên kết (RLO) tới một địa chỉ cụ thể (Q, M, D) Nếu giá trị kết quả (RLO) thay đổi thì trạng thái tín hiệu của địa chỉ đó cũng thay đổi theo
Set : Nếu RLO = “1” địa chỉ cụ thể đƣợc đặt ở mức “1” và duy trì trạng thí này cho đến khi nó bị RESET bằng một lệnh khác
Reset : Nếu RLO = “1” địa chỉ cụ thể đƣợc đặt ở mức “0” và duy trì trạng thí này cho đến khi nó bị RESET bằng một lệnh khác
2.4 Set / Reset một FLIP FLOP
Flip Flop : Một Flip Flop có một ngõ vào Set & một ngõ vào Reset, Bit nhớ đƣợc Set hoặc Reset phụ thuộc vào ngõ nào có RLO =1 Và nếu cả 2 ngõ đều có RLO = 1 thì cần xét
sự ƣu tiên
RS Flip Flop ƣu tiên Set
SR Flip Flop ƣu tiên Reset
Trang 172.5 Lệnh Nhảy – JUMP
2.5.1 Nhảy không điều kiện
Lệnh nhảy JMP: Nhãn nhảy có thể có tới 4 ký tự, ký tự đầu tiên phải là một chữ cái hoặc ký
tự “-”
Nhãn nhảy đánh dấu điểm tiếp tục làm việc của chương trình Bất kỳ lệnh nhảy và điểm nhảy tới phải ở trong một khối ( Độ dài lớn nhất của lệnh nhảy = 64kbyte) Đích nhảy tới chỉ xuất hiện một lần trong khối
Lệnh nhảy có thể sử dụng trong OB, FB và FC
Chèn nhãn nhảy: program Elements / Logic control / JUMP / Label
Trang 18nhãn nhảy bất chấp RLO
Chú ý : Tên nhãn phải giống nhau và phân biệt chữ hoa & chữ thường
2.5.2 Lệnh nhảy có điều kiện
JMP : Nhảy có điều kiện “ JMP” chỉ nhảy đƣợc thi hành nếu RLO = “1”
Ngoài ra còn có lệnh “JMPN” = JUMP NOT đƣợc thực hiện khi RLO = “0”
2.6 Nhận biết cạnh tín hiệu
Một “cạnh tín hiệu” xuất hiện khi tín hiệu thay đổi
2.6.1 Nhận biết tín hiệu cạnh lên – POS (P)
Trang 19Nếu tình trạng tín hiệu I0.1 x I0.2 thay đổi từ “0” lên “1” thì kết quả của lệnh (P) ở trạng thái “1” tại ngõ M1.1 trong một chy kỳ Giá trị của việc phát hiện cạnh lên được lưu trữ tại M1.1
2.6.2 Nhận biết tín hiệu cạnh xuống – NEG (N)
Nếu tình trạng tín hiệu I0.1 & I0.2 thay đổi trạng thái từ “1” xuống “0” thì kết quả của lệnh NEG (N) ở trạng thái “1” trong một chu kỳ
Trang 20S7 – 300 có 5 loại Timer được khai báo bằng các lệnh:
SD : Trễ theo sườn lên không có nhớ
SS : Trễ theo sườn lên có nhớ
SP : Tạo xung không có nhớ
SE : Tạo xung có nhớ
SF : Trễ theo sườn xuống
3.2.1 Trễ theo sườn lên không có nhớ - SD ( On Delay Timer)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
- Câu lệnh : S5T#giờH_phútM_giâyS_miligiâyMS
- Giải thích lệnh: Khi có tín hiệu Enable = 1 ( hay khi có sườn lên của tín hiệu Enable đồng thời tín hiệu vào bằng 1) ngay sau đó giá trị PV (Put Value) chuyển vào thanh ghi
Trang 21T – word (CV) Trong khoảng thời gian trễ T – bit có giá trị 0 Khi hết thời gian trễ T – bit có giá trị bằng 1
Khi tín hiệu vào bằng 0, T –bit và T – word cũng nhận giá trị 0
Ví dụ : Khi I0.1 chuyển chế độ từ 0 lên “1” ( I0.1 = 1) thì sau khoảng thời gian trễ T = 100ms thì T0 =1
3.2.2 Trễ theo sườn lên có nhớ - SS ( Retentive On Delay Timer)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Trang 22thì T1 ON ( mức 1) Khi T1 đã ON thì nó không bị ảnh hưởng của tín hiệu Enable nữa mà
sẽ giữ trạng thái 1 Do đó cần có lệnh Reset Timer ở Network 3 để trả Timer lại trạng thái OFF
3.2.3 Timer tạo xung không có nhớ ( Pulse Timer – SP)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Khi có tác động Enable chuyển mức “0” lên “1” thì Timer SE sẽ tạo ra chuỗi xung:
Nếu thời gian I0.4 ON > thời gian đặt của T3 thì T3 = 10s
Nếu thời gian I0.4 ON < thời gian đặt của T3 thì T3 = Thời gian ON của I0.4
3.2.4 Timer tạo xung có nhớ - SE ( Extended Pulse Timer)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
- Câu lệnh : S5T#giờH_phútM_giâyS_miligiâyMS
Trang 23- Giải thích lệnh: Khi có tín hiệu Enable = 1 ( hay khi có sườn lên của tín hiệu Enable đồng thời tín hiệu vào bằng 1) ngay sau đó giá trị PV (Put Value) chuyển vào thanh ghi
T – word (CV) Trong khoảng thời gian T – bit có giá trị 1 Khi hết thời gian đặt T – bit
có giá trị bằng 0
Khi có tác động Enable chuyển mức “0” lên “1” thì Timer SE sẽ tạo ra chuỗi xung có thời gian bằng giá trị thời gian đã đặt bất chấp khi I0.5 chuyển trạng thái OFF
Ví dụ : Khi I0.5 chuyển trạng thái từ 0 lên 1 thì Timer T4 sẽ tạo ra chuỗi xung có thời gian
cố định là 10s cho dù I0.5 đã OFF
3.2.5 Timer trễ theo sườn xuống
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Counter là bộ đếm thực hiện chức năng đếm sườn xung các tín hiệu đầu vào S7 – 300 có tối
đa 256 Counter ( phụ thuộc CPU), ký hiệu bởi Cx, trong đó x là số nguyên trong khoảng 0 –
255 Những độ đếm của S7 – 300 đều có thể đồng thời đếm tiến theo sườn lên của một tín hiệu vào thứ nhất, được ký hiệu là CU ( Count Up) và đếm lùi theo sườn lên của tín hiệu vào thứ hai, ký hiệu là CD ( Count Down)
Trang 24Thông thường bộ đếm chỉ đếm các sườn lên của tín hiệu CU và CD, song có thể mở rộng để đếm cả mức tín hiệu của chúng bằng cách sử dụng thêm tín hiệu Enable (Kích đếm) Nếu
có tín hiệu enable, bộ đếm sẽ đếm tiến khi xuất hiện sườn lên của tín hiệu enable đồng thời tại thời điểm đó CU có mức tín hiệu 1 Tương tự bộ đếm sẽ lùi khi có sườn lên của tín hiệu Enable và tại thời đểm đó CD có mức tín hiệu 1
Số sườn xung đếm được, được ghi vào thanh ghi 2 byte của bộ đếm goi là thanh ghi C – word Nội dung của thanh ghi C – word được gọi là giá trị đếm tức thời của bộ đếm và ký hiệu là CV (Current Value) Bộ đếm trạng thái của C – word ra ngoài của chân C – bit Nếu
CV ≠ 0 thì C-bit có giá trị 1 Ngược lại khi CV = 0, C – bit nhận giá trị logic 0 CV luôn không âm Bộ đếm không được đếm lùi khi CV = 0
Khác với Timer giá trị đặt trước PV của bộ đếm chỉ được chuyển vào C – word tại thời điểm xuất hiện sườn lên của tín hiệu ( Set – S)
Bộ đếm có thể được xóa chủ động bằng tín hiệu xóa (reset) Khi bộ đếm được xóa, cả C – word và C – bit đều nhận giá trị 0
3.3.2 Khai báo sử dụng
Việc khai báo sử dụng một Counter bao gồm các bước:
Khai báo tín hiệu Enable nếu sử dụng tính iệu chủ động kích đếm
Khai báo tín hiệu đầu vào CU được đếm lên
Khai báo tín hiệu đầu vào CD được đếm xuống
Khai báo tín hiệu đặt (Set) và giá trị đặt trước (PV)
Khai báo tín hiệu Reset
Trong các khai báo trên thì ít nhất phải có một trong hai bước 2 hoặc 3 được thực hiện
Khai báo tín hiệu kích đếm ( Enable) : “Địa chỉ Bit” xác định tín hiệu sẽ được sử dụng làm tín hiệu kích cho bộ đếm Tên của bộ đếm có dạng “Cx” với 0≤ x ≤ 255
Khai báo tín hiệu được đếm lên theo sườn lên: “Địa chỉ Bit” xác định tín hiệu mà sườn lên của nó được bộ đém với Counter Mỗi khi xuất hiện một sườn lên của tín hiệu, bộ đém sẽ tăng nội dung thanh ghi C – word (CV) lên 1 đơn vị
Khai báo tín hiệu được đếm lùi theo sườn lên: “Địa chỉ Bit” xác định tín hiệu mà sườn lên của nó được bộ đém với Counter Mỗi khi xuất hiện một sườn lên của tín
Trang 25hiệu, bộ đém sẽ giảm nội dung thanh ghi C – word (CV) đi 1 đơn vị nếu CV > 0 Trong trường hợp CV = 0 thì nội dung C – word không bị thay đổi
Khai báo tín hiệu đặt “Set” : “Địa chỉ Bit” xác định tín hiệu mà mỗi khi xuất hiện sườn lên của nó, hằng số PV dưới dạng BCD sẽ chuyển vào thanh ghi C- word của
bộ đếm
Khai báo PV: Giá trị đặt trước từ (0…999) được xác định tại ngõ vào “PV” ở dạng BCD:
o Là hằng sô đếm (C# )
o Qua giao tiếp dữ liệu dạng BCD
Khai báo Reset : “Địa chỉ Bit” xác định tín hiệu mà mõi khi xuất hiện sườn lên của
nó, thanh ghi C – word của bộ đếm sẽ xóa về 0
CV/CV_BCD : Giá trị Counter có thể là một số nhị phân hoặc số BCD được nạp vào
bộ tích lũy và từ đó có thể được chuyển tới các địa chi khác
Tình trạng tín hiệu counter có thể kiểm tra tại ngõ ra “Q”:
Giống nhau:
o Điều kiện Set ở ngõ vào “SC”
o Giá trị đặt trước của bộ đếm
o RLO thay đổi ngõ vào “CU”
o RLO thay đổi ngõ vào “CD”
Khác nhau:
o Không có khả năng kiểm tra giá trị đếm hiện hành ( không có ngõ ra BI & BCD)
o Ngõ ra nhị phân không thể hiện được bằng biểu đồ
3.4 Phép Toán Chuyển Đổi
Trang 26nút nhấn và hiển thị các dạng kết quả số Vì các chức năng toán học không thể thực hiện được ở dạng BCD do đó cần phải chuyển đổi
Phép toán chuyển đổi: S7 – 300/ 400 có nhiều lệnh dùng để chuyển đổi Tất cả những lệnh này có cùng một định dạng
EN,ENO : Khi RLO = 1 tại ngõ vào cho phép EN thì sự chuyển đổi được thực hiện Ngõ ra cho phép ENO luôn có tình trạng tín hiệu giống ngõ vào EN Trường hợp không giống nhau thì nó được hướng dẫn bằng câu lệnh tương ứng
IN : Khi EN = 1 giá trị tại IN được đọc vào lệnh chuyển đổi
OUT : Kết quả sự truyền đổi được đưa vào địa chỉ ở ngõ ra OUT
3.4.1 Phép toán chuyển đổi BCD và I
Phép chuyển đổi BCD – I
Tham số Kiểu dữ
liệu
Vùng nhớ Miêu tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
Phép chuyển đổi I – BCD
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
Trang 27IN IN I, Q, M, L, D Giá trị Interger của số
BCD
I_BCD (chuyển đổi Integer sang BCD) đọc nội dung của các tham số IN là một giá trị số nguyên (16-bit) và chuyển đổi sang BCD ba chữ số mã số (+ / - 999) Kết quả là đầu ra của tham số OUT Nếu một tràn xảy ra, Eno sẽ là "0"
3.4.2 Phép toán chuyển đổi BCD và DI
Phép chuyển đổi BCD – DI
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
Phép chuyển đổi DI – BCD
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Giá trị DoulbeInterger của số
BCD
Trang 28DI_BCD (chuyển đổi Double Integer sang BCD) đọc nội dung của các tham số IN như là một số nguyên đôi (32-bit) và chuyển đổi nó vào một BCD bảy chữ số mã số (+ / - 9.999.999) Kết quả là đầu ra của tham số OUT Nếu một tràn xảy ra, Eno sẽ là "0"
3.4.3 Phép toán chuyển đổi I – DI – REAL
Muốn chuyển đổi một số Interger sang số thực thì ta phải thực hiện các bước chuyển đổi:
I sang DI
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN INT I, Q, M, L, D Giá trị Interger chuyển đổi
OUT DINT I, Q, M, L, D Double integer
I_DINT (chuyển đổi Integer sang Double Integer) đọc nội dung của các tham số IN như là một số nguyên (16-bit) và chuyển đổi nó vào một số nguyên đôi (32-bit) Kết quả là đầu ra của tham số OUT Eno luôn luôn có tình trạng giống như tín hiệu EN
DI sang REAL
Tham số Kiểu dữ
liệu
Vùng nhớ Miêu tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Giá trị Double integer chuyển
đổi OUT REAL I, Q, M, L, D Số thực dấu chấm động
Trang 29DI_REAL (chuyển đổi Double Integer sang Floating-Point) đọc nội dung của các IN tham
số như là một số nguyên đôi và chuyển đổi nó vào số thực dấu chấm động Kết quả là đầu ra của tham số OUT Eno luôn luôn có tình trạng giống như tín hiệu EN
3.5 Phép so sánh – CMP
Bạn có thể dùng những lênh so sánh để so sánh các cặp giá trị số sau:
I : So sánh những số nguyên Interger ( Dựa trên cơ sở số 16 bit)
D : So sánh những số nguyên Doulbe Interger ( Dựa trên cơ sở số 32bit)
R : So sánh những số thực ( Dựa trên cơ sở số thực 32 bit – số thực dấu chấm động) Nếu kết quả của phép so sánh là “True”, thì RLO của phép toán là “1”, ngược lại là “0” Phép so sánh ở ngõ vào IN1 & IN2 tương ứng với các loại sau:
= = : IN1 = IN2
< > : IN1 khác IN2
> : IN1 lớn hơn IN2
< : IN1 nhỏ hơn IN2
> = : IN1 lớn hơn hoặc bằngIN2
< = : IN1 nhỏ hơn hoặc bằng IN2
3.6 Các phép toán Logic
Có các phép toán logic về Word & Double Word Phần này nói về các phép logic Word : WAND_W, WOR_W, WXOR_W Các phép toán logic Double Word : WAND_DW, WOR_DW, WXOR_DW cũng được khai báo tương tự như vậy
3.6.1 Phép toán Logic AND – WAND_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật AND Kết quả của phép toán AND được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN1 WORD I, Q, M, L, D Toán hạng thứ nhất
IN2 WORD I, Q, M, L, D Toán hạng thứ hai
OUT WORD I, Q, M, L, D Kết quả của phép logic
Ví dụ:
Trang 30IN2 = 00000000 00001111
MW0 AND IN2 = MW2 = 00000000 00000101
3.6.2 Phép toán Logic OR – WOR_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật OR Kết quả của phép toán OR được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
Tham số Kiểu dữ
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN1 WORD I, Q, M, L, D Toán hạng thứ nhất
IN2 WORD I, Q, M, L, D Toán hạng thứ hai
OUT WORD I, Q, M, L, D Kết quả của phép logic
Ví dụ:
3.6.2 Phép toán Logic XOR – WXOR_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật XOR Kết quả của phép toán XOR được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
Tham số Kiểu dữ
liệu
Vùng nhớ Miêu tả
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
Trang 31IN1 WORD I, Q, M, L, D Toán hạng thứ nhất
IN2 WORD I, Q, M, L, D Toán hạng thứ hai
OUT WORD I, Q, M, L, D Kết quả của phép logic
S7 300 có nhiều lênh cho các phép toán học Tất cả những câu lệnh có cùng một định dạng:
EN : Lệnh được thực hiện nếu RLO = 1 tại ngõ vào EN
ENO : Nếu kết quả nằm ngoài phạm vi cho phép của loại dữ liệu tương utnwgs thì bit tràn OV (tràn) và OS (Tràn có nhớ) được Set và ENO = 0 Qua đó các phép toán tiếp theo qua ENO không được thực hiện
IN1, IN2 : Giá trị IN1 được đọc vào như là toán tử đầu tiên và giá trị tại IN2 là giá trị toán tử thứ hai
OUT : Kết quả cảu phép toán đươc lưu trữ tại ngõ ra OUT
Các câu lệnh:
ADD_DI : Cộng số nguyên kép ADD_R : Cộng số thực
SUB_DI : Trừ số nguyên kép SUB_R : Trừ số thực
Nhân MUL_I : Nhân số nguyên
MUL_DI : Nhân số nguyên kép MUL_R : Nhân số thực
Trang 32DIV_DI : Chia số nguyên kép
3.8 Lệnh dịch chuyển – Shift
Shift : Lệnh được thi hành khi RLO = 1 tại ngõ vào EN
SHL_W : Lệnh SHL_W dịch từng bit từ bit 0 – 15 của ACC1 sang bên trái với
số vị trí được đặt tại ngõ vào “N”
Các Bit phía bên phải được điền giá trị 0
SHR_W : Lệnh SHL_W dịch từng bit từ bit 0 – 15 của ACC1 sang bên phải với
số vị trí được đặt tại ngõ vào “N”
Các Bit phía bên trái được điền giá trị 0
ACCU1 – H : Các bit từ 16 đến 31 không bị ảnh hưởng
OUT : Kết quả của lệnh Shift được lưu trữ vào địa chỉ ngõ ra OUT
N : Phạm vi cho phép N = 0 – 15 nếu N > 16 thì OUT = 0
ENO : Nếu lệnh được thực hiện (EN =1) thì ENO cho biết trạng thái bit cuối cùng số bit bị dịch
Điều này có nghĩa rằng các lệnh phụ thuộc ENO ( thứ tự) khác sẽ không được thực hiện khi trạng thái của bit cuối cùng số bit bị dịch là “0”
Trang 33Ngoài ra còn có các lênh dịch bit khác như SHL_DW, SHR_DW, SHL_I, SHR_I, SHL_DI, SHR_DI
3.9 Lệnh Xoay Doubleword
ROL_DW : Lệnh xoay trái Doubleword là xoay toàn bộ nội dung của ACCU1 sang bên trái những bit bị trống được làm đầy bằng trạng thái của những bit bị đẩy ra
Bit bi xoay cuối cùng được nạp vào bit 1 của word trạng thái và cũng được lưu trư tại ngõ ra ENO Điều này có nghĩa rằng cá lệnh phụ thuộc ENO ( thứ tự) khác sẽ không được thực hiện khi trạng thái của bit cuối cùng dịch là “0”
ROL_DW : Lệnh xoay phải Doubleword
Trang 34Chương 4: XỬ LÝ TÍN HIỆU ANALOG
4.1 Sử dụng các Module Analog
Nguyên lý
Trong quá trình sản xuất có nhiều các đại lượng vật lý ( Áp suất, tốc độ, tốc độ quay, nồng
độ pH, độ nhớt,.v.v…) Cần được PLC xử lý cho mục đích điều khiển tự động
Cơ cấu chấp hành Analog
Các tín hiệu ngõ vào analog chuẩn có thể nối trực tiếp các module ngõ ra Analog
4.2 Module đo lường
Loại đo lường
Loại đo lường và phạm vi đo lường được cài đặt theo nguyên tắc trên module đo lường Những module đặc biệt không modul đo lường thì chúng có các đầu nối khác nhau để đo điên áp và dòng điện Nhờ đó có thể cài đặt được kiểu đó bằng cách nối đầu thích hợp
Module đo lường
Trang 35Module đo lường có các thông số ghi bên hông trái của modul Phải cài đặt đúng trước khi lắp đặt Module
OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM Trong đó: hằng số K1 & K2 được xác định dựa theo giá trị là đơn cực hay lưỡng cực (BIPOLAR hay UNIPOLAR)
BIPOLAR ( Lưỡng cực): giá trị số nguyên đặt vào phải nằm trong khoảng K1 = –27648.0 đến K2 = +27648.0
UNIPOLAR(Đơn cực ) : giá trị số nguyên đặt vào phải nằm trong khoảng K1 = 0.0 đến K2 = +27648.0
Nếu giá trị đặt vào ngõ IN không nằm trong khoản K1 đến K2 thì sẽ báo lỗi
Ta có thể đảo ngược scale bằng cách đặt LO_LIM > HI_LIM, khi đó giá trị đầu ra sẽ nhỏ đi nếu giá trị đầu vào tăng
Chương trình: Standard Library / TI – S7 Converting Blocks / FC105
Các tham số của hàm FC105:
Tham số Khai báo Kiểu dữ liệu Vùng bộ nhớ Mô tả
ENO OUT BOOL I,Q,M,D,L Ngõ ra là 1 khi không có lỗi
HẰNG SÓ Giá trị số nguyên đặt vào cần chuyển HI_LIM IN REAL I,Q,M,D,L,P, Cận trên của đơn vị kỹ thuật
Trang 36HẰNG SÓ
HẰNG SÓ
Cận dưới của đơn vị kỹ thuật
BIPOLAR IN BOOL I,Q,M,D,L 1: là số lưỡng cực
0: là số đơn cực OUT OUT REAL I,Q,M,D,L,P Kết qủa sau khi chuyển đổi
RET_VAL OUT WORD I,Q,M,D,L,P Thực thi đúng thì sẽ báo
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1 Các tham số của FC106:
Tham số Khai báo Kiểu dữ liệu Vùng bộ nhớ Mô tả
ENO OUT BOOL I,Q,M,D,L Ngõ ra là 1 khi không có lỗi
HẰNG SÓ
Giá trị số nguyên đặt vào cần chuyển
HẰNG SÓ Cận trên của đơn vị kỹ thuật
HẰNG SÓ
Cận dưới của đơn vị kỹ thuật BIPOLAR IN BOOL I,Q,M,D,L 1: là số lưỡng cực
Trang 370: là số đơn cực OUT OUT REAL I,Q,M,D,L,P Kết qủa sau khi chuyển đổi
RET_VAL OUT WORD I,Q,M,D,L,P Thực thi đúng thì sẽ báo
W#16#0000
Chương trình: Standard Library / TI – S7 Converting Blocks / FC106
Trang 38Chương 5: MỘT SỐ KHỐI HÀM CƠ BẢN
5.1 Khối hàm Byte & Bit
5.1.1 Đặt một loạt Byte ngõ ra lập tức FC101
Khối hàm FC101 : Hàm SETI set trạng thái tín hiệu của một loạt các byte lên 1 nếu bit MCR là 1 Nếu các bit MCR là 0, trạng thái tín hiệu của từng byte trong dãy không thay đổi S_BYTE là byte đầu tiên trong phạm vi, và N xác định kích thước tầm hoạt động
Chú ý : Giá trị của N phải là các số nguyên và là bội số của 8 (8, 16, 24, …)
S_BYTE phải tham khảo các đầu vào và đầu ra của bộ nhớ ngoài (bộ nhớ P) Kể từ khi bộ nhớ P được truy cập như là byte, word, double word, các S_BYTE phải tham khảo một địa chỉ đó là byte liên kết, có nghĩa là số bit của con trỏ phải là 0
Chú ý : Hàm FC101 dùng cho giá trị của ngõ out – put (Q memory)
Thông số của FC 101:
Tham số Kiểu tham
Trang 39Nếu trạng thái không có lỗi xảy ra thì ENO & Q4.0 = 1
5.1.2 Đặt một loạt Bit ngõ ra FC83
Hàm SET đặt trạng thái tín hiệu của mỗi Bit trong vùng tín hiệu lên mức 1 khi MCR
= 1 Nếu MCR = 0 thì trạng thái tín hiệu của mỗi bit đƣợc giữ lại không thay đổi Số Bit trong tầm hoạt động đƣợc đƣa vào N Và giá trị bắt đầu tại con trỏ S_BIT
Thông số của FC83:
Tham số Kiểu tham
số
Trang 405.1.3 Xóa một loạt Byte lập tức FC100
Khối hàm FC100 : Hàm RESETI xóa trạng thái tín hiệu của một loạt các byte về 0 nếu bit MCR là 1 Nếu các bit MCR là 0, trạng thái tín hiệu của từng byte trong dãy không thay đổi S_BYTE là byte đầu tiên trong phạm vi, và N xác định kích thước tầm hoạt động
Chú ý : Giá trị của N phải là các số nguyên và là bội số của 8 (8, 16, 24, …)
S_BYTE phải tham khảo các đầu vào và đầu ra của bộ nhớ ngoài (bộ nhớ P) Kể từ khi bộ nhớ P được truy cập như là byte, word, double word, các S_BYTE phải tham khảo một địa chỉ đó là byte liên kết, có nghĩa là số bit của con trỏ phải là 0
Chú ý : Hàm FC100 dùng cho giá trị của ngõ out – put (Q memory)
Thông số của FC 101:
Tham số Kiểu tham
số
hoạt động