Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Chương 4: Cấu trúc chương trình PLC
Trang 3Chương 1: GIỚI THIỆU VỀ PLC
1.1 TỔNG QUAN VỀ PLC:
1.1.1 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 Motor - 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à lập trình dùng giản đồ hình thang, ký hiệu là
LAD 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 khác, đó là sự hỗ trợ bởi những thuật toán, vận hành với các dữ liệu cập nhật Mặt khác, do
sự phát triển của màn hình dùng cho máy tính 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 1975 cho đế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… mà các nhà thiết kế còn xây dựng các loại PLC với các chức năng điều khiển thông minh gọi
là các siêu PLC (super PLC)
1.1.2 Đặc điểm của PLC:
PLC (Programmable Logic Controller) là một thiết bị điều khiển lập trình, cho phép thực hiện linh họat các thuật toán điều khiển logic thông qua ngôn ngữ lập trình
PLC được sử dụng trong nhiều lập trình ứng dụng khác nhau và có những lợi ích như:
- PLC dễ dàng thay thay đổi chương trình điều khiển để thích ứng một yêu cầu mới
mà vẫn có thể giữ nguyên thiết kế phần cứng, đầu nối dây…
- PLC có thể điều khiển nhiều chức năng khác nhau từ những thao tác đơn giản, lặp lại, liên tục đến những thao tác đòi hỏi chính xác, phức tạp
- PLC dễ dàng hiệu chỉnh chính xác công việc điều khiển và xử lý nhanh chóng các lệnh, từ lệnh logic đơn giản đến các lệnh đếm (Counter), định thời (time), chương trình con (SBS) v.v…
- Giao tiếp dễ dàng với các thiết bị ngoại vi, các module và các thiết bị phụ trợ như màn hình hiển thị
- Có khả năng chống nhiễu trong công nghiệp
- Ngôn ngữ lập trình cho PLC đơn giản, dễ hiểu
Với những ưu điểm trên thiết bị PLC đã trở thành thiết bị chính trong việc điều khiển các thiết bị công nghiệp
Trang 41.2 CẤU TRÚC VÀ HOẠT ĐỘNG CỦA MỘT PLC:
1.2.1 Cấu trúc :
Một hệ thống điều khiển lập trình cơ bản phải gồm cĩ hai phần: Khối xử lý trung tâm (CPU: Central Processing Unit : CPU) và hệ thống giao tiếp vào/ra (I/0)
Hình 1.1 : Sơ đồ khối của hệ thống điều khiển lập trình
Khối xử lý 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ả 3 thành phần của một CPU
Hình 1.2 : Sơ đồ khối tổng quát của CPU
1.2.2 Hoạt động của PLC :
Đọc dữ liệu từ ngoài vào
Read input 1.
Thực hiện chương trình Program excution
2.
3 Truyền thông và tự kiểm tra lổi
4 Chuyển dữ liệu từ bộ nhớ ảo
điều khiển thiết bị ngoại vi
) (
Hình 1.3 :Một vịng quét của PLC
PLC thực hiện chương trình theo chu trình lặp, mỗi vịng lặp được gọi là vịng quét Mỗi vịng quét bắt đầu bằng giai đoạn đọc dữ liệu từ các ngõ vào (contact, sensor, relay ) vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình Trong từng vịng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh MEND Sau giai đọan
Trang 5thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các ngõ ra
Như vậy, tại thời điểm thực hiện lệnh vào/ra, lệnh này không trực tiếp làm việc với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng tham số Việc truyền thông giữa
bộ đệm ảo với thiết bị ngoại vi trong giai đọan 1 và 4 là do CPU quản lý Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử
lý ngắt để thực hiện lệnh này trực tiếp với cổng vào/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 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 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 tứ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
- Ngõ vào:
Ngõ vào thực là ngõ vào có các mạch điện chuyển đổi làm cho tín hiệu từ bên ngoài sau khi qua bộ chuyển đổi này sẽ có mức logic 0, hoặc 1 mà vi xử lý nhận biết được Như vậy, các ngõ vào ảo dùng làm vùng nhớ Ta chỉ có thể dùng ngõ vào thực để kết nối với các tiếp điểm bên ngoài
- Ngõ ra:
PLC sử dụng hai giải pháp để xuất tín hiệu đó là dùng Relay và Transistor
Relay với đặc điểm là đóng ngắt chậm, tốn nhiều không gian làm cho kích thước của PLC lớn
Hình 1.4: Ngõ ra dùng Relay
Transistor có hạn chế về dòng điện ngỏ ra, thường mắc theo dạng cực thu hở
Hình 1.5: Ngõ ra dùng transistor
Trang 61.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 chọ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.6: Phân loại PLC
Hình 1.6 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 Thường 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:
- 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) Các tiêu chuẩu của một Micro PLC như sau:
Small PLC thường được dùng trong việc điều khiển các hệ thống nhỏ (ví dụ: Điều khiển
động cơ, dây chuyền sản xuất nhỏ), chức năng của các PLC này thường được giới hạn
trong việc thực hiện chuổi các mức logic, điều khiển thay thế rơle Các tiêu chuẩn của một
small PLC như sau:
Có 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
Trang 7Lậ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.6 Ở đâ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ự
- Loại 3: PLC cỡ trung bình (Medium PLC)
PLC trung bình điều khiển được các tín hiệu tương tự, xuất nhập dữ liệu, ứng dụng đượ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ự
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 màn hình máy tính để dễ quan sát
- 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 rơle (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
Nối mạng
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
- Loại 5: PLC rất lớn (very large PLC)
Very large PLC được dùng trong các ứng dụng đòi hỏi sự phức tạp và chính xác 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
Trang 8chức năng đặc biệt, tiêu chuẩn 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:
1.4.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 lập trình đã dần thay thế từng bước hệ thống điều khiển bằng rơle trong các quá trình sản xuấ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 chương trình điều khiển một cách linh động
- Có độ tin cậy cao
- Không gian lắp đặt thiết bị nhỏ, không chiếm nhiều diện tích
- Có khả năng đưa tín hiệu điều khiển ở ngõ ra phù hợp: dòng, áp
- 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
Đặ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ũ (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 thay đổi, loạ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 đổi chương trình sao cho phù hợp với điều kiện sản xuất mới
1.4.2 PLC với máy tính cá nhân:
Đối với một máy tính cá nhân, người lập trình dễ nhận thấy được sự khác biệt 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 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ệt 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.5 PHẠM VI ỨNG DỤNG PLC:
Hiện nay PLC đã được ứng dụng thành công trong nhiều lĩnh vực 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 ngà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 đặt 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 ủ bột, cán, gia nhiệt …
Trang 9- Thủy tinh và phim ảnh: quá trình đóng gói, thử 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, 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 đong, đó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 sản phẩm
- 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ần tự khai thác vật liệu một cách tự động (than, gỗ, dầu mỏ)
1.6 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN DÙNG PLC:
Để thiết kế 1 chuơng trình điều khiển cho một hoạt động bao gồm những bước sau:
B2: Xác định ngõ vào, ngõ ra:
Tất cả các thiết bị xuất, nhập bên ngoài đều được kết nối với bộ điều khiển lập trình Thiết
bị nhập là những contact, cảm biến Thiết bị xuất là những cuộn dây, van điện từ , motor,
bộ hiển thị
Sau khi xác định tất cả các thiết bị xuất nhập cần thiết, ta định vị các thiết bị vào ra tương ứng cho từng ngõ vào, ra trên PLC trước khi viết chương trình
B3: Viết chương trình, và sửa lỗi:
Khi viết chương trình theo sơ đồ hình bậc thang (ladder ) phải theo sự hoạt động tuần tự từng bước của hệ thống, hoặc theo dạng STL Sau đó tiến hành sửa lỗi nếu có
B4: Nạp chương trình vào bộ nhớ:
Chúng ta có thể cung cấp nguồn cho bộ điều khiển có lập trình thông qua cổng I/O Sau đó nạp chương trình vào bộ nhớ thông qua máy tính có chứa phần mềm lập trình hình thang Sau khi nạp xong, kiểm tra lại bằng hàm chuẩn đoán Nếu được mô phỏng toàn bộ hoạt động của hệ thống để chắc chắn rằng chuơng trình đã hoạt động tốt
B5: Chạy chương trình:
Trước khi nhấn nút Start, phải chắc chắn rằng các dây dẫn nối các ngõ vào, ra đến các thiết
bị nhập, xuất đã được nối đúng theo chỉ định Lúc đó PLC mới bắt đầu hoạt động thực sự Trong khi chạy chương trình, nếu bị lỗi thì máy tính sẽ báo lỗi , ta phải sữa lại cho đến khi
nó hoạt động an toàn
Sau đây là lưu đồ phương pháp thiết kế bộ điều khiển:
Trang 10Xác định yêu cầu của hệ thống điều khiển
Vẽ lưu đồ chung của hệ thống điều khiển
Liệt kê tất cả các ngõ ra, ngõ vào nối
tương đối đến các cổng I/O của PLC
Chuyển lưu đồ sang
sơ đồ hình thang
Nạp lập trình sơ đồ hình thang thiết kế cho PLC
Mô phỏng chương trình và sửa lỗi phần mềm
Hiệu chỉnh chương trình cho phù hợp
Kết nối toàn bộ thiết bị vào, ra với PLC
Kiểm tra tất cả các tiếp điểm vào, ra Chương trình OK
Trang 11Hình 1.7: Lưu đồ phương pháp thiết kế bộ điều khiển
1.7 CẤU TRÚC ĐẶC TÍNH CỦA PLC SIEMENS:
Ở Việt Nam hiện nay có rất nhiều hãng cung cấp thiết bị PLC: Siemens, Omron, Panasonic, Mishumitshi, … Tuy nhiên do đặc thù của Khoa Điện tử nên tài liệu này chỉ tập trung vào PLC của hãng Siemens Tất cả các PLC đều có thành phần chính là:
- Một bộ nhớ chương trình RAM bên trong (có thể mở rộng thêm một số bộ nhớ ngoài EPROM)
- Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC
- Các Module vào /ra
Bên cạnh đó, một bộ PLC hoàn chỉnh còn đi kèm thêm một đơn vị lập trình bằng tay hay bằng máy tính Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để chứa chương trình Nếu đơn vị lập trình là loại xách tay thì RAM thường là loại CMOS có pin dự phòng, chỉ khi nào chương trình đã được kiểm tra và sẵn sàng sử dụng thì nó mới truyền sang bộ nhớ PLC Đối với các PLC lớn thường lập trình trên máy tính nhằm hỗ trợ cho việc viết, đọc và kiểm tra chương trình Các đơn vị lập trình nối với PLC qua cổng RS232, RS485
Chạy thử chương trình
Hiệu đính lại phần mềm
Nạp chương trình vào EPROM
Lập hồ sơ hệ thống cho tất cả các bản vẽ
END Chương Trình OK
Trang 12Chương 2: GIỚI THIỆU PLC S7-200
2.1 CẤU TRÚC PHẦN CỨNG:
S7-200 là thiết bị điều khiển logic lập trình loại nhỏ của hãng Siemens (Đức), có cấu trúc theo kiểu module và có các module mở rộng Các module này đươc sử dụng cho nhiều ứng dụng lập trình khác nhau
Hình dạng bên ngoài của PLC S7-200 được mô tả như hình 2.1
Hình 2.1: Bộ điều khiển lập trình S7-200 – CPU 214
Các đặc điểm và thông số của các loại PLC S7-200 khác nhau được giới thiệu trong bảng bên dưới:
Đặc trưng CPU 221 CPU 222 CPU 224 CPU 226
Kích thước(mm) 90x80x62 90x80x62 120.5x80x62 190x80X62
Bộ nhớ chương trình 2048 words 2048words 4096words 4096words
Bộ nhớ dữ liệu 1024 words 1024words 2560words 2560words
Khả năng lưu trữ khi
Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7
I1.0 I1.1 I1.2 I1.3 I1.4 I1.5
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7
SF RUN STOP SIEMENS
SIMATIC S7 - 200
Các cổng vào
Cổng truyền thông
Các cổng ra
Q1.0 Q1.1
Trang 132.1.1 Các đèn báo:
- SF (đèn đỏ): Đèn đỏ SF (System Falu báo hiệu hệ thống bị hỏng
- RUN (đèn xanh): Đèn xanh RUN chỉ định PLC đang ở chế độ làm việc và thực hiện chương trình được nạp vào trong máy
- STOP (đèn vàng): Đèn vàng STOP chỉ định rằng PLC đang ở chế độ dừng chương trình và đang thực hiện lại
2.1.2 Đầu vào:
- Kiểu đầu vào IEC 1131-2
- Tầm điện áp mức logic 1: 15-30 VDC, dòng nhỏ nhất 4 mA; 35VDC ở thời gian tức thời 500ms
- Trạng thái mức logic 1 chuẩn: 24 VDC, 7mA
- Trạng thái mức logic 0: Tối đa 5 VDC, 1mA
- Đáp ứng thời gian lớn nhất ở các chân I0.0 đến I1.5: có thể chỉnh từ 0,2 đến 8,7 ms mặc định 0,2 ms
- Các chân từ I0.6 đến I1.5 được sử dụng bởi bộ đếm tốc độ cao HSC1 và HSC2 ở 30us đến 70us
- Sự cách ly về quang 500VAC.1 min
2.1.3 Đầu ra:
- Kiểu đầu ra: Relay hoặc Transistor
- Tầm điện áp: 24.4 đến 28.8 VDC
- Dòng tải tối đa: 2A/ điểm; 8A/common
- Quá dòng: 7A với contact đóng
- Điện trở cách ly: nhỏ nhất 100 MΩ
- Thời gian chuyển mạch: tối đa 10 ms
- Thời gian sử dụng: 10.000.000 với công tắc cơ khí; 100.000 với tốc độ tải
- Điện trở công tắc: tối đa 200 mΩ
- Chế độ bảo vệ ngắn mạch: không có
2.1.4 Nguồn cung cấp:
- Điện áp cấp nguồn: 20.4 đến 24.8 VDC
- Dòng vào max load: 900mA tại 24 VDC
- Cách ly điện ngõ vào: Không có
- Thời gian duy trì khi mất nguồn: 10ms ở 24 VDC
- Cầu chì bên trong: 2A, 250V
2.1.5 Nguồn cấp cho sensor:
- Tầm điện áp ra: 15.4 đến 28.8 VDC
- Dòng ra tối đa: 280mA
- Độ gợn sóng: Giống như nguồn cấp vào
- Cách ly: không có
2.1.6 Chế độ làm việc:
PLC có 3 chế độ làm việc:
- RUN: cho phép PLC thực hiện chương trình từng bộ nhớ, PLC sẽ chuyển từ RUN sang
STOP nếu trong máy có sự cố hoặc trong chương trình gặp lệnh STOP
- STOP: Cưỡng bức PLC dừng chương trình đang chạy và chuyển sang chế độ STOP
- TERM: Cho phép máy lập trình tự quyết định chế độ hoạt động cho PLC hoặc RUN
hoặc STOP
2.1.7 Cổng truyền thông:
S7-200 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 các trạm PLC khác Tốc độ truyền cho máy
Trang 14lập trình kiểu PPI (Point to Point Interface) là 9600 bauds Tốc độ truyền cung cấp của PLC theo kiểu tự do là 300 ÷38.400 bauds
Hình 2.2: Sơ đồ chân của cổng truyền thông
Để ghép nối S7-200 với các máy lập trình PG 702 hoặc với các loại máy lập trình kiểu họ PG7xx có thể nối thẳng qua MPI Cáp đó đi kèm theo máy lập trình
Để ghép S7-200 với các máy tính PC qua cổng RS-232 cần có cáp nối PC/PPI với bộ chuyển dổi RS232/RS485, theo hình vẽ 2.3
Hình 2.3: Ghép nối S7-200 với máy tính qua cổng RS232
Trang 152.1.8 Mở rộng cổng vào ra:
Có thể mở rộng ngõ vào/ra của PLC bằng cách ghép nối thêm vào PLC các modul mở rộng về phía bên phải của CPU (CPU 214 có thể ghép nhiều nhất 7 modul), làm thành một móc xích, bao gồm các modul có cùng kiểu
Các modul mở rộng số hay tương tự đều chiếm chổ trong bộ đệm, tương ứng với số đầu vào/ ra của các module
Sau đây là một ví dụ về cách đặt địa chỉ cho các module mở rộng :
(4vào/4ra)
MODUL 1 (8 vào)
MODUL 2 ( 3 vào analog
1 ra analog)
MODUL 3 (8 ra)
MODUL 4 (3 vào analog
Q2.0 Q2.1 Q2.2 Q2.3
I3.0 I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7
AIW0 AIW2 AIW4 AQW0
Q3.0 Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7
AIW8 AIW10 AIW12 AQW4
2.2 NGUYÊN LÝ HOẠT ĐỘNG:
2.2.1 Đơn Vị Xử Lý Trung Tâm:
CPU điều khiển các hoạt động bên trong PLC Bộ xử lý sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự từng lệnh trong chương trình, sẽ đóng hay ngắt các đầu ra Các trạng thái ngõ ra ấy được phát tới các thiết bị liên kết để thực thi
Và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào chương trình điều khiển được lưu giữ trong bộ nhớ
2.2.2 Hệ Thống Bus:
Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều đường tín hiệu song song
Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau
Data Bus: Bus dùng để truyền dữ liệu
Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng bộ các hoạt động trong PLC
Trang 16Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các modul vào ra thông qua Data Bus Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép truyền 8 bit của 1 byte một cách đồng thời hay song song
Nếu một modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển tất cả trạng thái đầu vào của nó vào Data Bus Nếu một địa chỉ byte của 8 đầu ra xuất hiện trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC
Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O Bên cạch đó, CPU được cung cấp một xung Clock có tần số từ 1÷8 MHZ Xung này quyết định tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ thống
2.2.3 Bộ Nhớ:
PLC thường yêu cầu bộ nhớ trong các trường hợp:
- Làm bộ định thời cho các kênh trạng thái I/O
- Làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các Relay Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí trong bộ nhớ đều được đánh số, những số này chính là địa chỉ trong bộ nhớ
Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong bộ vi xử lý Bộ
vi xử lý sẽ giá trị trong bộ đếm này lên một trước khi xử lý lệnh tiếp theo Với một địa chỉ mới, nội dung của ô nhớ tương ứng sẽ xuất hiện ở đầu ra, quá trình này được gọi là quá trình đọc
Bộ nhớ bên trong PLC được tạo bởi các vi mạch bán dẫn, mỗi vi mạch này có khả năng chứa 2000 ÷ 16000 dòng lệnh, tuỳ theo loại vi mạch Trong PLC các bộ nhớ như RAM, EPROM đều được sử dụng
- RAM (Random Access Memory ) có thể nạp chương trình, thay đổi hay xoá bỏ nội dung bất kỳ lúc nào Nội dung của RAM sẽ bị mất nếu nguồn điện nuôi bị mất Để tránh tình trạng này các PLC đều được trang bị một pin khô, có khả năng cung cấp năng lượng dự trữ cho RAM từ vài tháng đến vài năm Trong thực tế RAM được dùng
để khởi tạo và kiểm tra chương trình Khuynh hướng hiện nay dùng CMOSRAM nhờ khả năng tiêu thụ năng lượng thấp và tuổi thọ lớn
- EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà người sử dụng bình thường chỉ có thể đọc chứ không ghi nội dung vào được Nội dung của EPROM không bị mất khi mất nguồn, nó được gắn sẵn trong máy, đã được nhà sản xuất nạp và chứa hệ điều hành sẵn Nếu người sử dụng không muốn mở rộng bộ nhớ thì chỉ dùng EPROM gắn bên trong PLC Trên PG (Programmer) có sẵn chỗ ghi và xoá EPROM Môi trường ghi dữ liệu thứ ba là đĩa cứng hoặc đĩa mềm, được sử dụng trong máy lập trình Đĩa cứng hoặc đĩa mềm có dung lượng lớn nên thường được dùng để lưu những chương trình lớn trong một thời gian dài
Kích thước bộ nhớ:
- Các PLC loại nhỏ có thể chứa từ 300 ÷1000 dòng lệnh tuỳ vào công nghệ chế tạo
- Các PLC loại lớn có kích thước từ 1K ÷ 16K, có khả năng chứa từ 2000 ÷16000 dòng lệnh
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM, EPROM
Trang 17Hình minh họa hoạt động của PLC khi ghép nối với thiết bị ngoại vi
Trang 18Bộ xử lý đọc và xác định các trạng thái đầu vào (ON, OFF) để thực hiện việc đĩng hay ngắt mạch ở đầu ra
2.2.5 Hoạt động của PLC:
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), theo hình 2.4 Mỗi vịng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình Trong từng vịng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc (MEND) Sau giai đoạn thực hiện chương trình là giai đoạn truyền thơng nội bộ và kiểm tra lỗi Vịng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra
Đọc dữ liệu từ ngoài vào
Read input 1.
Thực hiện chương trình Program excution
2.
3 Truyền thông và tự kiểm tra lổi
4 Chuyển dữ liệu từ bộ nhớ ảo
điều khiển thiết bị ngoại vi
) (
Hình 2.4: Vịng quét trong S7-200
Như vậy, 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ếp vớ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à 4 do CPU quản lý Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi cơng việc khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh này một cách trực tiếp với cổng vào/ra
Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với từng tín hiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trình Chương trình xử lý ngắt chỉ được thực hiện trong vịng quét khi xuất hiện tín hiệu ngắt và cĩ thể xảy ra ở bất cứ điểm nào trong vịng quét
2.3 CẤU TRÚC BỘ NHỚ:
2.3.1 Phân chia bộ nhớ:
Bộ nhớ của S7-200 được chia thành 4 vùng với 1 tụ cĩ nhiệm vụ duy trì dữ liệu trong một khoảng thời gian nhất định khi mất nguồn Bộ nhớ S7-200 cĩ tính năng động cao, đọc, ghi được trong tồn vùng, loại trừ các bit nhớ đặc biệt SM (Special memory) chỉ cĩ thể truy nhập để đọc Hình vẽ 2.5 mơ tả bộ nhớ trong và ngồi của PLC, bao gồm:
- Vùng chương trình: miền bộ nhớ được sử dụng để lưu trữ các lệnh chương trình
Trang 19- Vùng tham số: miền lưu trữ các tham số như: từ khóa, địa chỉ trạm,… cũng giống như vùng chương trình
- Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm các kết quả các phép tính, bộ đệm truyền thông…
- Vùng đối tượng: Timer, Bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tự được đặt trong vùng nhớ cuối cùng
- Hai vùng nhớ: dữ liệu và vùng nhớ đối tượng có ý nghĩa quan trọng trong việc thực hiện một chương trình
Hình 2.5: Bộ nhớ trong và ngoài của S7-200
2.3.2 Vùng dữ liệu:
Vùng dữ liệu là một miền nhớ động Nó có thể được truy cập theo từng bit, từng byte, từng
từ đơn (word), hoặc theo từng từ kép và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ,…
Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng theo những mục đích nhất định
Vùng dữ liệu lại được chia thành những miền nhớ nhỏ với các công dụng khác nhau Chúng được ký hiệu bằng các chữ cái đầu của tên tiếng Anh, đặc trưng cho công dụng riêng của chúng như sau:
- V: Variable memory
- I: Input image register
- O: Output image register
- M: Internal memory bits
- SM: Special memory bits
2.3.3 Vùng đối tượng:
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của bộ đếm, hay Timer Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi Accumulator(AC)
Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tượng chỉ được ghi theo mục đích cần sử dụng đối tượng đó
Chương trình Tham số
Dữ liệu Vùng đối tượng
Chương trình Tham số
Dữ liệu
Chương trình Tham số
Dữ liệu EEPROM Miền nhớ ngoài
Trang 20Bảng 4.2: Phân chia vùng nhớ và toán hạng PLC S7-200
2.3.4 Phương thức truy cập bộ nhớ:
- Truy cập theo bit: tên miền(+) địa chỉ byte (+) • (+) chỉ số bit
- Truy cập theo byte: tên miền (+) B (+) địa chỉ của byte trong miền
- Truy cập theo từ: tên miền (+) W (+) địa chỉ byte cao của từ trong miền
- Truy cập theo từ kép: tên miền (+) D (+) địa chỉ byte cao của từ trong miền
Tất cả các byte thuộc vùng dữ liệu đều có thể truy cập được bằng con trỏ Con trỏ được
định nghĩa trong miền V hoặc các thanh ghi AC1, AC2 và AC3 Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kép) Quy ước sử dụng con trỏ để truy cập như sau:
& địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép
*con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép con trỏ đang chỉ vào
Trang 21Bảng 4.3: Toán hạng cho phép của PLC S7-200
2.4 Phương pháp lập trình PLC S7-200:
PLC S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh lập trình Chương trình bao gồm một dãy các tập lệnh PLC S7-200 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 ở lập trình cuối trong một vòng quét (scan)
Một vòng quét (scan cycle) được bắt đầu bằng việc đọc trạng thái của đầu vào, và sau đó thực hiện chương trình Vòng quét kết thúc bằng việc thay đổi trạng thái đầu ra Trước khi
Bit access
I0.0 ÷15.7 Q0.0 ÷15.7 M0.0 ÷M31.7
S0.0 ÷S31.7 T0 ÷T255
L0.0 ÷L63.7
V0.0 ÷V2047.7 I0.0 ÷I15.7 Q0.0 ÷Q15.7 M0.0 ÷M31.7
S0.0 ÷S31.7 T0 ÷T255 C0 ÷C255 L0.0 ÷L63.7
V0.0 ÷V5119.7 I0.0 ÷I15.7 Q0.0 ÷Q15.7 M0.0 ÷M31.7
S0.0 ÷S31.7 T0 ÷T255 C0 ÷C255 L0.0 ÷L63.7
V0.0 ÷V5119.7 I0.0 ÷I15.7 Q0.0 ÷Q15.7 M0.0 ÷M31.7
S0.0 ÷S31.7 T0 ÷T255
Trang 22bắt đầu một vòng quét tiếp theo, PLC S7-200 thực thi các nhiệm vụ bên trong và nhiệm vụ truyền thông Chu trình thực hiện chương trình là chu trình lặp
Cách lập trình cho PLC S7-200 nói riêng và cho các PLC nói chung dựa trên hai phương pháp cơ bản Phương pháp hình thang (Ladder, viết tắt là LAD) và phương pháp liệt kê lệnh (Statement List, viết tắt là STL)
Nếu có một chương trình viết dưới dạng LAD, thiết bị lập trình sẽ tự động tạo ra một chương trình theo dạng STL tương ứng Tuy nhiên không phải mọi chương trình viết dưới dạng STL đều có thể chuyển sang được dạng LAD
Đối với thiết bị điều khiển lập trình PLC S7 - 200, ta không thể lập trình trực tiếp ngay trên nó được mà phải lập trình gián tiếp bằng cách sử dụng một trong những phần mềm sau đây :
- STEP 7 – Micro/DOS
- STEP 7 – Micro/WIN
Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx hoặc các máy tính cá nhân (PC) Công việc lập trình là ta sử dụng máy tính để tiến hành lắp ghép các lệnh cơ bản lại với nhau nhằm thỏa mãn những yêu cầu đề ra của quy trình công nghệ rồi sau đó mới chuyển vào PLC để điều khiển Các lệnh cơ bản này thông thường ở 2 dạng
LAD (Ladder Logic) và STL (Statement List)
2.4.1 Phương pháp LAD:
LAD là một ngôn ngữ lập trình bằng đồ họa, 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 bằng rơle Trong chương trình LAD, các phần tử cơ bản dùng để biểu diễn lệnh logic như sau:
- Tiếp điểm: là biểu tượng (Symbol) mô tả các tiếp điểm của rơ le
Tiếp điểm thường mở
Tiếp điểm thương đóng
- 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 rơ le
- Hộp (Box): là biểu tượng mô tả các 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 (Timer),
bộ đếm (counter) và các hàm toán học Cuộn dây và các hộp phải mắc đúng chiều dòng điện
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn thiện, đi từ đường nguồn
bên trái sang đường nguồn bên phải Đường nguồn bên trái là dây pha, đường nguồn bên phải là dây trung tính và cũng là đường trở về nguồn cung cấp (thường không được thể hiện khi dùng chương trình STEP 7 MICRO / DOS hoặc STEP 7 – MICRO/WIN Dòng điện chạy từ trái qua tiếp điểm đến đóng các cuộn dây hoặc các hộp trở về bên phải nguồn
2.4.2 Phương pháp Liệt kê lệ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 biểu diễn một chức năng của PLC
Phương pháp lập trình LAD phù hợp cho những người lập trình quen suy luận về kỹ thuật, còn STL phù hợp cho người lập trình quen suy luận về tin học
Chương 3: TẬP LỆNH PLC S7-200
3.1 LỆNH CƠ BẢN :
3.1.1 Lệnh vào/ra :
Trang 23Toán hạng bao gồm : I,Q,M,SM,T,C (bit)
o Mô tả lệnh OUTPUT bằng LAD như sau :
Nếu I0.0 = 1 thì Q0.0 sẽ lên 1 (cuộn dây nối với ngõ ra Q0.0 có điện)
Trang 243.1.2 Các lệnh ghi/xóa giá trị cho tiếp điểm :
- SET (S) :
Lệnh dùng để đóng các điểm gián đoạn đã được thiết kế Trong LAD, logic điều khiển
dòng điện đóng các cuộn dây đầu ra Khi dòng điều khiển đến các cuộn dây thì các cuộn
dây đóng các tiếp điểm Trong STL, lệnh truyền trạng thái bit đầu tiên của ngăn xếp đến
các điểm thiết kế Nếu bit này có giá trị bằng 1, các lệnh S sẽ đóng 1 tiếp điểm hoặc một
dãy các tiếp điểm (giới hạn từ 1 đến 255) Nội dung của ngăn xếp không bị thay đổi bởi
Lệnh dùng để ngắt các điểm gián đoạn đã được thiết kế Trong LAD, logic điều khiển
dòng điện ngắt các cuộn dây đầu ra Khi dòng điều khiển đến các cuộn dây thì các cuôn
dây mở các tiếp điểm Trong STL, lệnh truyền trạng thái bit đầu tiên của ngăn xếp đến các
điểm thiết kế Nếu bit này có giá trị bằng 1, các lệnh R sẽ ngắt 1 tiếp điểm hoặc một dãy
các tiếp điểm (giới hạn từ 1 đến 255) Nội dung của ngăn xếp không bị thay đổi bởi các
lệnh này
o Dạng LAD : ngắt một mảng gồm n các tiếp điểm kể từ S-bit Nếu S-bit lại
chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/ Counter đó Toán hạng bao gồm I, Q, M, SM,T, C,V (bit)
o Dạng STL : xóa một mảng gồm n bit kể từ địa chỉ S-bit Nếu S-bit lại chỉ
vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/Counter đó
LD I0.0
R Q0.0, 10
3.1.3 Các lệnh logic đại số Boolean :
Các lệnh tiếp điểm đại số Boolean cho phép tạo lập các mạch logic (không có nhớ) Trong
LAD các lệnh này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếp hay song song
các tiếp điểm thường đóng hay các tiếp điểm thường mở Trong STL có thể sử dụng lệnh
A (AND) và O (OR) cho các hàm hở hoặc các lệnh AN (AND NOT), ON (OR NOT) cho
các hàm kín
Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh
- AND (A) :
Trang 25LD I0.0
A I0.1 = Q0.0
- AND NOT(AN) :
LD I0.0
AN I0.1 = Q0.0
- OR (O):
LD I0.0
O I0.1 = Q0.0
- OR NOT (ON):
LD I0.0
ON I0.1 = Q0.0
Ngoài những lệnh làm việc trực tiếp với tiếp điểm, S7-200 còn có 5 lệnh đặc biệt biểu diễn các phép tính của đại số Boolean cho các bit trong ngăn xếp, được gọi là lệnh stack logic
Đó là các lệnh ALD (AND Load), OLD (OR Load), LPS (Logic Push), LRD (Logic Read)
và LPP (Logic Pop) Lệnh stack logic được dùng để tổ hợp, sao chụp hoặc xoá các mệnh
STL sử dụng các lệnh stack logic để thực hiện phương trình tổng thể có nhiều biểu thức con và được biểu diển như sau:
- AND LOAD (ALD) :
Trang 26LD I0.1
O Q0.0 ALD
= Q0.0 LRD
LD I0.2
O Q0.1 ALD
= Q0.1 LPP
A I0.3
= Q0.2
Trang 27Ví dụ :
Viết chương trình điều khiển động cơ bằng PLC
I0.0 : Nút nhấn dừng I0.1 : Nút nhấn mở Q0.0 : Cuộn dây KĐT Q0.0 : Tiếp điểm duy trì
3.1.4 Các lệnh tiếp điểm đặc biệt :
- Tiếp điểm đảo, tác động cạnh xuống, tác động cạnh lên :
Có thể dùng các lệnh tiếp điểm đặc biệt để phát hiện sự chuyển tiếp trạng thái của xung (sườn xung) và đảo lại trạng thái của dòng cung cấp (giá trị đỉnh của ngăn xếp) LAD sử dụng các tiếp điểm đặc biệt này để tác động vào dòng cung cấp Các tiếp điểm đặc biệt không có toán hạng riêng của chính chúng vì thế phải đặt chúng phía trước cuộn dây hoặc hộp đầu ra Tiếp điểm chuyển tiếp dương/âm (các lệnh sườn trước và sườn sau) có nhu cầu
về bộ nhớ bởi vậy đối với CPU 214 có thể sử dụng nhiều nhất là 256 lệnh
= Q0.2 Biểu đồ thời gian :
I0.0
Q0.0Q0.1Q0.2
- Tiếp điểm trong vùng nhớ đặc biệt :
o SM0.1 : Vòng quét đầu tiên tiếp điểm này đóng, kể từ vòng quét thứ hai thì
mở ra và giữ nguyên trong suốt quá trình họat động
Q0.1 Q0.2
Trang 28o SM0.0 : Ngược lại với SM0.1, vòng quét đầu tiên thì mở nhưng từ vòng quét thứ hai trở đi thì đóng
o SM0.4 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1 phút
o SM0.5 : Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1s
3.1.5 Các lệnh can thiệp vào thời gian vòng quét :
MEND, END, STOP, NOP, WDR
Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài một khoảng thời gian của một vòng quét
Trong LAD và STL chương trình phải được kết thúc bằng lệnh kết thúc không điều kiện
MEND Có thể sử dụng lệnh kết thúc có điều kiện END trước lệnh kết thúc không điều kiện
Lệnh STOP kết thúc chương trình, nó chuyển điều khiển chương trình đến chế độ STOP Nếu gặp lệnh STOP trong chương trình chính, hoặc trong chương trình con thì chương trình đang thực hiện sẽ kết thúc ngay lập tức
Lệnh rỗng NOP không có tác dụng gì trong việc thực hiện chương trình
Lệnh WDR sẽ khởi động lại đồng hồ quan sát (watchdog timer ), và chương trình tiếp tục
được thực hiện trong vòng quét ở chế độ quan sát, cẩn thận khi sử dụng lệnh WDR
3.2 CÁC LỆNH ĐẾM (COUNTER) VÀ LỆNH THỜI GIAN ( TIMER):
3.2.1 Các lệnh điều khiển thời gian Timer :
Timer là bộ tạo thời gian trể giữa tín hiệu vào và tín hiệu ra nên trong điều khiển vẫn thường được gọi là khâu trễ Nếu ký hiệu tín hiệu (logic) vào là x(t) và thời gian trễ tạo ra bằng Timer là τ thì tín hiệu đầu ra của Timer đó sẽ là x(t – τ)
S7-200 có 64 bộ Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm hai loại khác nhau:
- Timer tạo thời gian trễ không có nhớ (On-Delay Timer), ký hiệu là TON
- Timer tạo thời gian trễ có nhớ (Retentive On-Delay Timer), ký hiệu TONR
Hai kiểu Timer của S7-200 (TON và TONR) phân biệt với nhau ở phản ứng của nó đối với trạng thái đầu vào
Cả hai Timer kiểu TON và TONR cùng bắt đầu tạo thời gian trễ tín hiệu kể từ thời điểm có sườn lên ở tín hiệu đầu vào, tức là khi tín hiệu đầu vào chuyển trạng thái logic từ 0 lên 1, được gọi là thời gian Timer được kích, và không tính khoảng thời gian khi đầu vào có giá trị logic 0 vào thời gian trễ tín hiệu đặt trước
Khi đầu vào có giá trị logic bằng 0, TON tự động reset còn TONR thì không Timer TON được dùng để tạo thời gian trễ trong một khoảng thời gian (miền liên thông), còn với TONR thời gian trễ sẽ được tạo ra trong nhiều khoảng thời gian khác nhau
Timer TON và TONR bao gồm 3 loại với ba độ phân giải khác nhau, độ phân giải 1ms, 10ms và 100ms Thời gian trễ τ được tạo ra chính là tích của độ phân giải của bộ Timer được chọn và giá trị đặt trước cho Timer Ví dụ Timer có độ phân giải 10ms và giá trị đặt trước 50 thì thời gian trễ là 500ms
Độ phân giải các loại Timer của S7-200, loại CPU 214, được trình bày trong bảng bên dưới
Lệnh Độ phân giải Giá trị cực đại CPU 214
TON 10 ms1 ms 32,767 s 327,67 s T32 và T96 T33 ÷ T36, T97 ÷ T100
100 ms 3276,7 s T37 ÷ T63, T101 ÷ T127
1 ms 32,767 s T0 và T64
Trang 29TONR 10 ms 327,67 s T1 ÷ T4, T65 ÷ T68
100 ms 3276,7 s T5 ÷ T31, T69 ÷ T95
Cú pháp khai báo sử dụng Timer như sau :
TON-Txx
- IN
- PT
Khai báo Timer số hiệu xx kiểu TON
để tạo thời gian trễ tính từ khi đầu vào
IN được kích Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước
PT thì T-bit có giá trị logic bằng 1 có thể reset Timer kiểu TON bằng lệnh R hoặc bằng giá trị logic 0 tại đầu vào IN
Txx (word)
CPU214:32÷63 96÷127
PT: VW, T, (word)
C, IW, QW, MW, SMW, C, IW, hằng số
TONR-Txx
_
_
Khai báo Timer số hiệu xx kiểu TONR
để tạo thời gian trễ tính từ khi đầu vào
IN được kích Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước
PT thì T-bit có giá trị logic bằng 1 Chỉ
có thể reset Timer kiểu TON bằng lệnh
Khi sử dụng Timer TONR, giá trị đếm tức thời được lưu lại và không bị thay đổi trong
khoảng thời gian khi tín hiệu đầu vào có logic 0 Giá trị của T-bit không được nhớ mà
hoàn toàn phụ thuộc vào kết quả so sánh giữa giá trị đếm tức thời và giá trị đặt trước
Khi Reset một bộ Timer, T-word và T-bit của nó đồng thời được xóa và có giá trị bằng 0,
như vậy giá trị đếm tức thời được đặt về 0 và tín hiệu đầu ra cũng có trạng thái logic bằng
0
Ví dụ: Sử dụng Timer kiểu TON
LD I0.0 TON T32, +100
Trang 30Giản đồ thời gian :
Ví dụ: Sử dụng timer kiểu TONR
LD I0.0 TONR T1, +100 LDW= T1, +170
R T1, 1
Giản đồ thờigian:
Trang 313.2.2 Các lệnh Đếm Counter:
Counter là bộ đếm thực hiện chức năng đếm sườn xung, trong S7-200 các bộ đếm được
chia làm hai loại : bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD)
Bộ đếm tiến CTU đếm số sườn lên của tín hiệu logic đầu vào, tức là đếm số lần thay đổi
trạng thái logic từ 0 lên 1 của tín hiệu Số xung đếm được ghi vào thanh ghi 2 byte của bộ
đếm, gọi là thanh ghi C-word
Nội dung của thanh ghi C-word, gọi là giá trị đếm tức thời của bộ đếm, luôn được so sánh
với giá trị đặt trước của bộ đếm, được ký hiệu là PV Khi giá trị đếm tức thời bằng hoặc
lớn hơn giá trị đặt trước này thì bộ đếm báo ra ngoài bằng cách đặt giá trị logic 1 vào một
bit đặc biệt của nó, gọi là C-bit Trường hợp giá trị đếm tức thời nhỏ hơn giá trị đặt trước
thì C-bit có giá trị logic là 0
Khác với các bộ Timer, các bộ đếm CTU và CTUD đều có chân nối với tín hiệu điều khiển
xóa để thực hiện việc đặt lại chế độ khởi phát ban đầu (reset) cho bộ đếm, được ký hiệu
bằng chữ cái R trong LAD, hay được qui định là trạng thái logic của bit đầu tiên của ngăn
xếp trong STL Bộ đếm được reset khi tín hiệu xoá này có mức logic là 1 hoặc khi lệnh R
(reset) được thực hiện với C-bit Khi bộ đếm được reset, cả C-word và C-bit đều nhận giá
trị 0
Bộ đếm tiến/lùi CTUD đếm tiến khi găp sườn lên của xung vào cổng đếm tiến, ký hiệu là
CU hoặc bit thứ 3 của ngăn xếp trong STL, và đếm lùi khi gặp sườn lên của xung vào cổng
đếm lùi, ký hiệu là CD trong LAD hoặc bit thứ 2 của ngăn xếp trong STL
Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767 Bộ đếm tiến/lùi CTUD có
miền giá trị đếm tức thời từ –32.768 đến 32.767
CTU – Cxx Khai báo bộ đếm tiến theo sườn lên của
CU Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bit (Cxx) có giá trị logic bằng 1 Bộ đếm được reset khi đầu vào R có giá trị logic bằng 1 Bộ đếm ngừng đếm khi C-word Cxx đạt được giá trị cực đại
CTD-Cxx Khai báo bộ đếm tiến/lùi, đếm tiến theo
sườn lên của CU, đếm lùi theo sườn lên của
CD Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bit (Cxx) có giá trị logic bằng 1 Bộ đếm ngừng đếm tiến khi C-word Cxx đạt được giá trị cực đại 32.767 và ngừng đếm lùi khi C-word Cxx đạt được giá trị cực đại –32.768 CTUD reset khi đầu vào R có giá trị logic bằng 1
Cxx (word)
CPU 214 : 48 ÷79
PV(word) : VW, T,
C, IW, QW, MW, SMW, AC, AIW, hằng số,
Trang 32Ví dụ: Sử dụng bộ đếm CTU :
LD I0.0
LD I0.1 CTU C40, +5
Giản đồ thời gian :
Ví dụ: Sử dụng bộ đếm CTUD :
//NETWORK COMMENTS //
LD I0.0
LD I0.1
LD I0.2 CTUD C48, +5
Giản đồ thời gian :
3.3 CÁC LỆNH SO SÁNH :
Trang 33Khi lập trình, nếu các quyết định về điều khiển được thực hiện dựa trên kết quả của việc so sánh thì có thể sử dụng lệnh so sánh theo Byte, Word hay DWord của S7-200
LAD sử dụng lệnh so sánh để so sánh các giá trị của byte, word hay DWord (giá trị thực hoặc nguyên)
Những lệnh so sánh thường là: so sánh nhỏ hơn hoặc bằng (<=); so sánh bằng (= =) và so sánh lớn hơn hoặc bằng (>=)
Khi so sánh giá trị của byte thì không cần phải để ý đến dấu của toán hạng, ngược lại khi
so sánh các từ hay từ kép với nhau thì phải để ý đến dấu của toán hạng là bit cao nhất trong
Trang 34<>, so sánh nhỏ hơn <, hoặc so sánh lớn hơn >) ta có thể kết hợp lệnh NOT với các lệnh
đã có (= =, >=, <=)
3.4 LỆNH VỀ CỔNG LOGIC :
Ngoài những lệnh ghép nối tiếp, song song và tổng hợp các tiếp điểm thì tập lệnh của
S7-200 còn cung cấp các cổng logic AND, OR, EXOR thực hiện đối với byte (8 bit hay 8 tiếp điểm), word (16 bit hay 16 tiếp điểm) và double word (32 bit hay 32 tiếp điểm) Sau đây là chi tiết của từng cổng :
3.4.1 Lệnh AND byte :
ANDB VB0, VB1
Ý nghĩa:
Lệnh thực hiện phép AND từng bit của hai byte ngõ vào IN1 và IN2, kết quả được ghi vào 1 byte ở ngõ ra OUT Đặc biệt ở đây địa chỉ byte ngõ vào IN2 và byte ngõ ra OUT là giống nhau
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau :
IN1 : VB, T, C, IB, QB, SMB, AC, const IN2 : VB, T, C, IB, QB, SMB, AC
Ví dụ:
VB10 1 0 0 0 1 1 1 0 AND
VB20 0 0 1 1 0 1 1 1 Kết quả
VB20 0 0 0 0 0 1 1 0
3.4.2 Lệnh AND word :
ANDW VW0, VW1
Ý nghĩa :
Lệnh thực hiện phép AND từng bit của hai Word ngõ vào IN1 và IN2, kết quả được ghi vào 1 Word ở ngõ ra OUT Đặc biệt ở đây địa chỉ Word ngõ vào IN2 và Word ngõ ra OUT là giống nhau
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau
IN1 : VW, T, C, IW, QW, SMW, AC, const
Trang 35IN2 : VW, T, C, IW, QW, SMW, AC
Ví dụ :
VW10 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 AND
VW12 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 Kết quả
VW12 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1
3.4.3 Lệnh AND DWord :
Dạng LAD : Dạng STL:
ANDD VD0, VD4
3.4.4 Lệnh OR byte :
ORB VB0, VB1
Ý nghĩa :
Lệnh thực hiện phép OR từng bit của hai byte ngõ vào IN1 và IN2, kết quả được ghi vào 1 byte ở ngõ ra OUT Đặc biệt ở đây địa chỉ byte ngõ vào IN2 và byte ngõ ra OUT là giống nhau
Toán hạng trong câu lệnh thuộc một trong các vùng địa chỉ sau
IN1 : VB, T, C, IB, QB, SMB, AC, const IN2 : VB, T, C, IB, QB, SMB, AC
Trang 36Ví dụ:
VD10 1 0 0 0 1 1 1 0
OR VD20 0 0 1 1 0 1 1 1 Kết quả
VD20 1 0 1 1 1 1 1 1
3.4.5 Lệnh OR word :
Dạng LAD : Dạng STL:
ORW VW0, VW2
3.4.6 Lệnh OR double word :
Dạng LAD : Dạng STL:
ORDW VD0, VD4
3.5 CÁC LỆNH DI CHUYỂN NỘI DUNG Ô NHỚ :
Các lệnh di chuyển thực hiện việc di chuyển hoặc sao chép số liệu từ vùng này sang vùng khác trong bộ nhớ Trong LAD và STL lệnh dịch chuyển thực hiện việc di chuyển hay sao chép nội dung một byte, một từ đơn, hoặc một từ kép từ vùng này sang vùng khác trong bộ nhớ Lệnh trao đổi nội dung của hai byte trong một từ đơn thực hiện việc chuyển nội dung của byte thấp sang byte cao và ngược lại chuyển nội dung của byte cao sang byte thấp của
từ đó Sau đây là chi tiết của từng lệnh
Trang 37IN : VB, IB, QB, MB, SMB, AC, const OUT: VB, IB, QB, MB, SMB, AC,
Ví dụ :
LD I0.0 MOVB 0, VB0
LD I0.1 MOVB 12, VB0
Giải thích :
Nếu tiếp điểm I0.0 đóng thì lấy giá trị 0 ghi vào byte VB0 (xóa VB0)
Tiếp theo đóng tiếp điểm I0.1 thì lấy số 12 ghi vào VB0 Kết quả địa chỉ byte VB0 có giá trị bằng 12
- MOV_W :
MOVW VW0, VW0
Ý nghĩa :
Trang 38Lệnh sao chép nội dung của Word ở địa chỉ ngõ vào IN sang Word có địa chỉ ở ngõ ra OUT Đặc biệt trong lệnh này địa chỉ của Word ngõ vào IN và địa chỉ Word ở địa chỉ ngõ
ra OUT giống nhau và thường nằm trong các vùng sau:
IN: VW, IW, QW, MW, SMW, AC, const OUT: VW, IW, QW, MW, SMW, AC
IN: VD, ID, QD, MDW, SMD, AC, const OUT: VD, ID, QD, MD, SMD, AC
IN: VD, ID, QD, MD, SMD, AC, const OUT: VD, ID, QD, MD, SMD, AC
Khi dữ liệu ghi vào trong các địa chỉ này theo nguyên tắc sau :
Phần nguyên ghi vào word thấp Phần thập phân ghi vào word cao
Trang 393.6 LỆNH CHUYỂN ĐỔI DỮ LIỆU :
3.6.1 Lệnh chuyển đổi số nguyên hệ thập lục phân sang led 7 đọan :
IN: VB, IB, QB, MB, SMB,AC, const
Trang 40Ví dụ :
LD I0.0 MOVW +3, VW0
LD I0.1 SEG VB0, AC0
Giải thích :
Khi tiếp điểm I0.0 đóng thì số 7 được ghi vào VW0, sau đó tiếp điểm I0.1 đóng thì giá trị chứa trong 4 bit thấp của byte VB0 chuyển thành 8 bit chứa trong thanh ghi AC0 Ta có thể minh họa theo bit như sau :
VW0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1 SEG g f e d c b a AC0 0 0 1 0 0 1 1 1 1
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const OUT: VW, T, C, IW, QW, MW, SMW, AC