Ứng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lò với giải đo [ 0 – 1200 ]°C
Trang 1Mục lục
Chương 1 cơ sở lý thuyết 2
1.1 Mục đích 2
1.2 Phương pháp đo 2
1.2.1 Phương pháp đo tiếp xúc 2
1.2.2 Phương pháp đo không tiếp xúc 4
1.3 Tìm hiểu về PLC ( loại S7 200 ) 5
1.3.1 Khái quát về PLC S7 200 5
1.3.2 Các module, đối tượng mở rộng 22
Chương 2 Thiết kế hệ thống 28
2.1 Lựa chọn thiết bị
2.2 Xây dựng sơ đồ khối
2.3 Xây dưng thuật toán
2.4 Xây dựng phần mềm
Chương 3 kết quả đề tài
3.1 Kết quả nghiên cứu lý thuyết
3.2 Kết quả thực nghiệm
Trang 2Chương 1 : Cơ sở lý thuyết.
1.1 Mục đích của đề tài.
Hiện nay các công ty xí nghiệp ở Việt Nam đang tiến hành lắp đặt và cải tạo mới, mạnh dạn đưa vào các thiết bị, công nghệ tiên tiến, bên cạnh đó còn nhiều nhà máy, xí nghiệp có ứng dụng công nghệ nhưng chưa đồng bộ còn thủ công Do đó việc điều khiển còn hạn chế nên sản phẩm làm ra chưa dược như mong muốn
Bên cạnh đó vấn đề tiết kiệm năng lượng trong quá trình sử dụng công nghệ cũng là vấn đề cần quan tâm khi nước ta hiện any đang thiếu điện và cácnhà máy xí nghiệp cần áp dụng thiết bi và công nghệ vào qua trình điều khiển
để giảm được lượng tiêu thụ điện và giảm được chi phí sản xuất
Hiểu được tầm quan trọng của việc đó nên nhóm tôi đã chon đề tài: ” Ứng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lò với giải đo [ 0 – 1200 ]°C “
1.2 Phương pháp đo.
Với đại lượng nhiêt chúng ta có các phương pháp đo tiếp xúc và không tiếp xúc:
1.2.1 phương pháp đo tiếp xúc
1.2.1.1 Cặp nhiệt điện trở ( Thermocouples ).
- Cấu tạo: Gồm 2 chất liệu kim loại khác nhau, hàn dính một đầu
- Nguyên lý: Nhiệt độ thay đổi cho ra sức điện động thay đổi ( mV)
- Ưu điểm: Bền, đo nhiệt độ cao
- Khuyết điểm: Nhiều yếu tố ảnh hưởng làm sai số Độ nhạy không cao
- Thường dùng: Lò nhiệt, môi trường khắt nghiệt, đo nhiệt nhớt máy nén,…
- Tầm đo: -100 D.C <1400 D.C
Trang 3- Gồm 2 dây kim loại khác nhau được hàn dính 1 đầu gọi là đầu nóng ( hay đầu đo), hai đầu còn lại gọi là đầu lạnh ( hay là đầu chuẩn ) Khi có sự chênh lệch nhiệt độ giữa đầu nóng và đầu lạnh thì sẽ phát sinh 1 sức điện động V tại đầu lạnh Một vấn đề đặt ra là phải ổn định và đo được nhiệt độ ở đầu lạnh, điều này tùy thuộc rất lớn vào chất liệu Do vậy mới cho ra các chủng loại cặpnhiệt độ, mỗi loại cho ra 1 sức điện động khác nhau: E, J, K, R, S, T Các bạn lưu ý điều này để chọn đầu dò và bộ điều khiển cho thích hợp.
- Dây của cặp nhiệt điện thì không dài để nối đến bộ điều khiển, yếu tố dẫn đến không chính xác là chổ này, để giải quyết điều này chúng ta phải bù trừ cho nó ( offset trên bộ điều khiển )
Lưu ý khi sử dụng:
- Từ những yếu tố trên khi sử dụng loại cảm biến này chúng ta lưu ý là không nên nối thêm dây ( vì tín hiệu cho ra là mV nối sẽ suy hao rất nhiều ) Cọng dây của cảm biến nên để thông thoáng ( đừng cho cọng dây này dính vào môi trường đo ) Cuối cùng là nên kiểm tra cẩn thận việc Offset thiết bị
- Lưu ý: Vì tín hiệu cho ra là điện áp ( có cực âm và dương ) do vậy cần chú
ý kí hiệu để lắp đặt vào bộ khuếch đại cho đúng
1.2.1.2 Nhiệt kế nhiệt điện trở (THERMISTOR)
- Cấu tạo: Làm từ hổn hợp các oxid kim loại: mangan, nickel, cobalt,…
- Nguyên lý: Thay đổi điện trở khi nhiệt độ thay đổi
- Ưu điểm: Bền, rẽ tiền, dễ chế tạo
- Khuyết điểm: Dãy tuyến tính hẹp
- Thường dùng: Làm các chức năng bảo vệ, ép vào cuộn dây động cơ, mạch điện tử
- Tầm đo: 50
- Thermistor được cấu tạo từ hổn hợp các bột ocid Các bột này được hòa trộntheo tỉ lệ và khối lượng nhất định sau đó được nén chặt và nung ở nhiệt độ cao Và mức độ dẫn điện của hổn hợp này sẽ thay đổi khi nhiệt độ thay đổi
Trang 4- Có hai loại thermistor: Hệ số nhiệt dương PTC- điện trở tăng theo nhiệt độ;
Hệ số nhiệt âm NTC – điện trở giảm theo nhiệt độ Thường dùng nhất là loại NTC
- Thermistor chỉ tuyển tính trong khoảng nhiệt độ nhất định 50-150D.C do vậy người ta ít dùng để dùng làm cảm biến đo nhiệt Chỉ sử dụng trong các mục đích bảo vệ, ngắt nhiệt, các bác nhà ta thường gọi là Tẹt-mít Cái Block lạnh nào cũng có một vài bộ gắn chặt vào cuộn dây động cơ
Lưu ý khi sử dụng:
- Tùy vào nhiệt độ môi trường nào mà chọn Thermistor cho thích hợp, lưu ý hai loại PTC và NTC (gọi nôm na là thường đóng/ thường hở ) Có thể test dễ dàng với đồng hồ VOM
- Nên ép chặt vào bề mặt cần đo
- Tránh làm hỏng vỏ bảo vệ
- Vì biến thiên điện trở nên không quan tâm chiều đấu dây
1.2.1.3 Nhiệt kế bán dẫn
- Cấu tạo: Làm từ các loại chất bán dẫn
- Nguyên lý: Sự phân cực của các chất bán dẫn bị ảnh hưởng bởi nhiệt độ
- Ưu điểm: Rẽ tiền, dễ chế tạo, độ nhạy cao, chống nhiễu tốt, mạch xử lý đơn giản
- Khuyết điểm: Không chịu nhiệt độ cao, kém bền
- Thường dùng: Đo nhiệt độ không khí, dùng trong các thiết bị đo, bảo vệ các mạch điện tử
- Tầm đo: -50 <150 D.C
nhiệt Bán Dẫn là những loại cảm biến được chế tạo từ những chất bán dẫn
Có các loại như Diode, Transistor, IC Nguyên lý của chúng là dựa trên mức
độ phân cực của các lớp P-N tuyến tính với nhiệt độ môi trường Ngày nay với sự phát triển của ngành công nghệ bán dẫn đã cho ra đời rất nhiều loại
Trang 5cảm biến nhiệt với sự tích hợp của nhiều ưu điểm: Độ chính xác cao, chống nhiễu tốt, hoạt động ổn định, mạch điện xử lý dơn giản và rẻ tiền……
Ta dễ dàng bắt gặp các loại này dưới dạng diode ( hình dáng tương tự Pt100), các loại IC như: LM35, LM335, LM45 Nguyên lý của chúng là nhiệt
độ thay đổi sẽ cho ra điện áp thay đổi Điện áp này được phân áp từ một điện
áp chuẩn có trong mạch
Cảm biến nhiệt LM35 và cảm biến nhiệt độ dạng Diode
Gần đây có cho ra đời IC cảm biến nhiệt cao cấp, chúng hổ trợ luôn cả chuẩn truyền thông I2C ( DS18B20 ) mở ra một xu hướng mới trong “ thế giới cảm biến”
Lưu ý khi sử dụng:
- Vì được chế tạo từ các thành phần bán dẫn nên cảm biến nhiệt Bán Dẫn kémbền, không chịu nhiệt độ cao Nếu vượt ngưỡng bảo vệ có thể làm hỏng cảm biến
- Cảm biến bán dẫn mỗi loại chỉ tuyến tính trong một giới hạn nào đó, ngoài dải này cảm biến sẽ mất tác dụng Hết sức quan tâm đến tầm đo của loại cảm biến này để đạt được sự chính xác
- Loại này kém chịu đựng trong môi trường khắc nghiệt: Ẩm cao, hóa chất cótính ăn mòn, rung sốc va chạm mạnh
1.2.2 phương pháp đo không tiếp xúc
1.2.2.1 NHIỆT KẾ BỨC XẠ ( còn gọi là hỏa kế- pyrometer ).
- Cấu tạo: Làm từ mạch điện tử, quang học
- Nguyên lý: Đo tính chất bức xạ năng lượng của môi trường mang nhiệt
- Ưu điểm: Dùng trong môi trường khắc nghiệt, không cần tiếp xúc với môi trường đo
- Khuyết điểm: Độ chính xác không cao, đắt tiền
- Thường dùng: Làm các thiết bị đo cho lò nung
Trang 6- Nhiệt kế bức xạ (hỏa kế ) là loại thiết bị chuyên dụng dùng để đo nhiệt độ của những môi trường mà các cảm biến thông thường không thể tiếp xúc được ( lò nung thép, hóa chất ăn mòn mạnh, khó đặt cảm biến).
- Gồm có các loại: Hỏa kế bức xạ, hỏa kế cường độ sáng, hỏa kế màu sắc Chúng hoạt động dựa trên nguyên tắc các vật mang nhiệt sẽ có hiện tượng bức xạ năng lượng Và năng lượng bức xạ sẽ có một bước sóng nhất định Hỏa kế sẽ thu nhận bước sóng này và phân tích để cho ra nhiệt độ của vật cần đo
Lưu ý khi sử dụng:
- Tùy theo thông số của nhà sản xuất mà hỏa kế có các tầm đo khác nhau, tuy nhiên đa số hỏa kế đo ở khoảng nhiệt độ cao Và vì đặc điểm không tiếp xúc trực tiếp với vật cần đo nên mức độ chính xác của hỏa kế không cao, chịu nhiều ảnh hưởng của môi trường xung quanh (góc độ đo, rung tay, ánh sáng môi trường )
1.3 Tìm hiểu về loại PLC S7-200:
1.3.1 Khái quát về PLC S7 200
PLC, (viết tắt của programable logic controller) là thiết bị điều khiển
logic lập trình được, hay thiết bị logic khả trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình Như vậy với chương trình điều khiển trong PLC trở thành bộ điều khiển số nhỏ gọn có thể dễ dàng thay đổi thuật toán điều khiển và trao đổi thông tin với môi
trường bên ngoài ( PLC khác hoặc máy tính ) S7-200 là thiết bị điều khiển logic khả trình của hãng Siemens ( CHLB Đức ), có cấu trúc kiểu module và
có các module mở rộng Các module này được sử dụng với những mục đích khác nhau Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài
để lưu chương trình và dữ liệu (Catridge ) Dòng PLC S7-200 có hai họ là
Trang 7Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau:
- Đầu ra (Qx.x): kết nối với thiết bị điều khiển với các điện áp
24VDC/220VAC ( tùy theo loại CPU )
- Đầu vào nguồn: 24VDC/220VAC ( tùy theo loại CPU )
1.2 Đèn trạng thái:
- Đèn RUN (màu xanh): Chỉ báo PLC đang ở chế độ làm việc và thực
Trang 8- Đèn STOP (màu vàng): Chỉ báo PLC đang ở chế độ dừng và không thực hiện chương trình, các đầu ra đều ở trạng thái “OFF”.
- Đèn SF/DIAG: Chỉ báo hệ thống bị hỏng tức do lỗi phần cứng hoặc
hệ điều hành
- Đèn Ix.x(màu xanh): Chỉ báo trạng thái của đầu vào số(ON/OFF)
- Đèn Qx.x(màu xanh): Chỉ báo trạng thái của đầu ra số(ON/OFF)
1.3 Port truyền thông:
- Port truyền thông nối tiếp RS485: Giao tiếp với PC, PG, TD200, OP, mạng biến tần…
- Port cho module mở rộng: Kết nối với module mở rộng
1.4 Công tắc chuyển chế độ:
- RUN: Cho phép PLC thực hiện chương trình, khi chương trình lỗi hoặc gặp lệnh STOP thì PLC tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở
vị trí RUN ( quan sát đèn trạng thái )
- STOP: Dừng cưỡng bức chương trình đang chạy, các đầu ra chuyển về OFF
- TERM: Cho phép người dùng chọn một trong hai chế độ RUN/STOP từ xa, ngoài ra còn được dùng để download chương trình người dùng
1.5 Vít chỉnh tương tự:
Mỗi PLC đều có từ một đến hai vít chỉnh tương tự có thể xoay được
270 độ để thay đổi giá trị của vùng nhớ biến trong chương trình
Trang 9- Module đơn vị xử lý trung tâm (CPU).
- Module bộ nhớ
- Module quản lý phối ghép vào ra
Mô hình tổng quát của một PLC
2.1 Đơn vị xử lý trung tâm (CPU Central Processing Unit):
CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng của PLC Mỗi PLC thường có từ một đến hai đơn vị xử lý trung tâm CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử
2.2 Bộ nhớ:
Bao gồm các loại bộ nhớ RAM, ROM, EEFROM, là nơi lưu trữ các thông tin cần xử lý trong chương trình của PLC Bộ nhớ được thiết kế thành dạng module để cho phép dễ dàng thích nghi với các chức năng điều khiển với các kích cỡ khác nhau Muốn mở rộng bộ nhớ chỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên module CPU
Bộ nhớ có một tụ dùng để duy trì dữ liệu chương trình khi mất điện
Bộ nhớ
Khối ngõ ra
Trang 10Khối vào ra dùng để giao tiếp giữa mạch vi điện tử của PLC (điện áp 5/15VDC) với mạch công suất bên ngoài (điện áp 24VDC/220VAC) Khối ngõ vào thực hiện việc chuyển mức điện áp từ cao xuống mức tín hiệu tiêu chuẩn để đưa vào bộ xử lý.
Khối ngõ ra thực hiện việc chuyển mức tín hiệu từ tiêu chuẩn sang tín hiệu ngõ ra và cách ly quang
2.4 Bộ nguồn:
Biến đổi từ nguồn cấp bên ngoài vào để cung cấp cho sự hoạt động của PLC
2.5 Khối quản lý ghép nối:
Dùng để phối ghép giữa PLC với các thiết bị bên ngoài như máy tính, thiết bị lập trình, bảng vận hành, mạng truyền thông công nghiệp
1.3.1.2 CẤU TRÚC BỘ NHỚ:
1 Phân chia bộ nhớ:
Bộ nhớ của PLC S7-200 được chia thành bốn vùng cơ bản và hầu hết
có thể đọc ghi được chỉ trừ vùng nhớ đặc biệt (SM) chỉ có thể truy cập để đọc
EEFROM Miền nhớ ngoài
Cấu
của PLC.
Trang 11- Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh
được dùng trong chương trình.Vùng này thuộc kiểu non-volatile có thể đọc vàghi được
- Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ
trạm… Vùng này thuộc kiểu non-volatile có thể đọc và ghi được
- Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm
kết quả các phép tính, các hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…
- Vùng đối tượng: Bao gồm các bộ đếm, bộ định thì, các cổng vào ra
tương tự Vùng này không thuộc kiểu non-volatile nhưng có thể đọc và ghi được
Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình.
- INTERRUPT: Miền chứa chương trình ngắt, được tổ chức thành hàm
và có khả năng trao đổi dữ liệu với bất kỳ một khối chương trình nào khác Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra
3 Vùng nhớ dữ liệu:
Trang 12Vùng dữ liệu là một vùng nhớ động Nó có thể được truy cập theo từng bit, từng byte, từng từ đơn (word) hay từ kép (double word) 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ỉ…Vùng dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và công dụng khác nhau, bao gồm các vùng sau:
- V (Variable memory): Vùng nhớ biến.
- I (Input image register): Vùng đệm đầu vào.
- Q (Output image register): Vùng đệm đầu ra.
- M (Internal memory bits): Vùng nhớ các bit nội.
- SM (Special memory): Vùng nhớ đặc biệt.
Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:
3.1 Truy cập trực tiếp:
- Truy cập theo bit: Tên miền nhớ + địa chỉ byte + • + chỉ số bit.Ví
dụ:V10.4 chỉ bit 4 của byte 10 thuộc miền nhớ V
- Truy cập theo byte: Tên miền nhớ + B + địa chỉ byte Ví dụ VB15 chỉ
byte 15 trong miền nhớ V
- Truy cập theo từ: Tên miền nhớ + W + địa chỉ byte cao của từ Ví dụ
VW183 chỉ từ đơn gồm hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VB183(byte cao) VB184(byte thấp) VW183
- Truy cập theo từ kép: Tên miền + D + địa chỉ byte cao trong miền.Ví
dụ VD345 chỉ từ kép gồm 4 byte 345, 346, 347, 348 trong miền nhớ V trong
đó 345 là byte cao trong từ kép 31 24 23 16 15 8 7 0
VB183(byte cao) VB184 VB185 VB186(byte thấp) VD183
Trang 133.2 Truy cập gián tiếp:
Truy cập địa chỉ gián tiếp thông qua con trỏ (pointer) Con trỏ là một miền nhớ từ kép chứa địa chỉ của vùng nhớ khác Các vùng nhớ V, L và thanhghi chỉ mục ( AC1,AC2,AC3 ) có thể được sử dụng như là con trỏ Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa chỉ gián tiếp vào vùng con trỏ Con trỏ cũng có thể được
chuyển tới chương trình con như là một tham số S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho phép truy cập theo từng bit và các vùng nhớ AI,AQ,HC,SM,L Để truy cập gián tiếp dữ liệu địa chỉ của một vùng nhớ, phải tạo một con trỏ cho vùng đó bằng cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy Toán hạng đầu vào của lệnh phải bắt đầu với ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán hạng đầu ra của lệnh Quy ước sử dụng con trỏ để truy nhập như sau:
- & địa chỉ byte (cao): Toán hạng lấy địa chỉ của byte, từ hoặc từ kép.VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao VB100 vào trong thanh ghi AC1, thanh ghi AC1 sẽ chứa địa chỉ của VW100
- * con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào
Theo ví dụ trên, khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào VW300 bằng cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1
VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300
Trang 144 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,
Counter, HSC, bộ đệm vào ra tương tự và các thanh ghi chỉ mục
I.2.7 Ngôn ngữ lập trình.
Có 3 dạng ngôn ngữ lập trình cơ bản đó là:
- Phương pháp hình thang ( Ladder Logic ) viết tắt là LAD
- Phương pháp liệt kê lệnh ( Statemnt List ) viết tắt là STL
- Phương pháp theo dạng dữ liệu hình khối( Data Block) viết tắt là DB
Trang 15Nếu chương trình dược viết theo kiểu LAD, thiết bị lập trình sẽ tự tạo
ra một chương trình theo kiểu STL tương ứng Nhưng ngược lại không phải một chương trình nào được viết theo kiểu STL cũng có thể chuyển được sangLAD
Ở trong đồ án em sử dụng phương pháp hình thang(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 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 logicnhư sau
Tiếp điểm: Là biểu tượng (symbol) mô tả các tiếp điểm của rơ le, các tiếp điểm đó có thể là thường mở hoặc thường đóng
Cuộn dây (coil): Là biểu tượng mô tả các 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
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 nóng, cấp (đường nguồn bên phải thường không được thể hiện khi dùng chương trình tiện dụng STEP7-Mcro/Dos hoặcMicro/Win)
I.2.8 Các tập lệnh cơ bản trong S7-200.
I.2.8.1 Lệnh về bit.
Tiếp điểm thường mở
Tiếp điểm thường đóng
Cuộn coil, ngõ ra
Trang 16Trạng thái đảo bit Set bit.
Lấy sườn lên
Lấy sườn xuống
I.2.8.2 Lệnh nạp tiếp điểm thường mở, thường đĩng vào thanh nguồn (LD, LDI)
Bảng1 Mơ tả lệnh nạp tiếp điểm vào thanh nguồn
N: X, Y, M, S, T, C
Tiếp điểm thường mở sẽ được đóng nếu
n = 1
N: X, Y, M, S, T, C
Tiếp điểm thường mở sẽ đóng tức thời khi n = 1
Lệnh trên STL Vùng nhớ Mơ tả
(bit) T, C, V
Lệnh nạp giá trị logic của điểm n vào bit đầu tiên trong ngăn xếp
(bit) T, C, V
Lệnh nạp giá trị logic nghịch đảo của điểm n vào bit đầu tiên trong
Trang 17I.2.8.4 Nối tiếp tiếp điểm thường mở, tiếp điểm thường đóng (AND, ANI)
Bảng 3 Mô tả các lệnh nối tiếp điểm
AND n n: X, Y, M,
S, T, C
Lệnh thực hiện phép tính logic and giữa giá trị của tiếp điển n với giá trị logic bit đầutiên của ngăn xếp Kết quả lưu giữ ở bit đầu tiên của ngăn xếp
Trang 18AN n n: X, Y, M,
S, T, C
Lệnh thực hiện phép tính logic and giữa giá trị nghịch đảo của tiếp điển n với giá trị logic bit đầu tiên của ngăn xếp Kết quả lưu giữ ở bit đầu tiên của ngăn xếp
I.2.8.5 Lệnh nối song song tiếp điểm thường mở, tiếp điểm thường đóng (OR, ORI)
Bảng 4 Mô tả các lệnh nối tiếp điểm
Lệnh thực hiện phép tính logic or giữa giá trị logic của tiếp điển n với giá trị logic bit đầu tiên của ngăn xếp Kết quả lưu giữ ở bit đầu tiên của ngăn xếp
ON
n: X, Y,
M, S, T, C
Lệnh thực hiện phép tính logic or giữa giá logic trị nghịch đảo của tiếp điển n với giá trị logic bit đầutiên của ngăn xếp Kết quả lưu giữ
ở bit đầu tiên của ngăn xếp
I.2.8.6 Lệnh lấy sườn lên, sườn xuống (LDP, LDN)
Bảng 5 Mô tả các lệnh lấy sườn
Trang 19Không có n: X, Y, M, S, T, C
Không có n: X, Y, M, S, T, C
I.2.8.9 Lệnh nối nối tiếp các khối lệnh (ANB)
Bảng 8 Lệnh nối tiếp và các khối lệnh
ANB
I.2.8.10 Lệnh nối song song các khối lệnh (ORB)
Bảng 9 Lệnh nối song song và các khối lệnh
Trang 20111
I.2.8.12 Lệnh ghi xóa giá trị tiếp điểm (SET, RST)
Bảng 11 Các lệnh ghi và xóa tiếp điểm
trình
RST n n: Y, M, S, T, C, D, V, Z 1
Mô tả: Lệnh SET: Lệnh ghi giá trị logic 1 cho toán hạng n (tiếp điểm
n) khi đầu vào của nó được thỏa mãn
Lệnh RST: Lệnh ghi giá trị logic 0 cho toán hạng n (tiếp điểm n) khi đầu vào của nó được thỏa mãn
I.2.8.13 Lệnh lấy sườn xung tín hiệu đầu vào (PLS, PLF)
Bảng 12 Lệnh lấy sườn và các tín hiệu dầu vào
Trang 21I.2.8.14 Lệnh chuyển dữ liệu (MOV)
Bảng 13 Mô tả các lệnh dịch chuyển dữ liệu
MOV S D
S: Dữ liệu nguồn 16bit (K, H, D, T, C,
V, Z)D: Dữ liệu đích 16 bit (D, T, C, V, Z)
Trang 22Bảng 15 Lệnh nối tiếp điểm so sánh
trìnhAND = n1 n2 n1, n2: K, H, D, T, C 1
AND < n1 n2 n1, n2: K, H, D, T, C 1
AND > n1 n2 n1, n2: K, H, D, T, C 1
AND <> n1 n2 n1, n2: K, H, D, T, C 1
AND <= n1 n2 n1, n2: K, H, D, T, C 1
Trang 23AND >= n1 n2 n1, n2: K, H, D, T, C 1
Mô tả: Lệnh thực hiện phép toán AND giữa một tiếp điểm với tiếp điểm so sánh Tùy thuộc vào trạng thái của tiếp điểm và kết quả của phép so sánh mà cho kết quả tổ hợp logic
I.2.8.17 Lệnh nối song song tiếp điểm so sánh (OR<, OR>, OR<>,
OR = n1 n2 n1, n2: K, H, D, T, C 1
OR < n1 n2 n1, n2: K, H, D, T, C 1
OR > n1 n2 n1, n2: K, H, D, T, C 1
Trang 24OR <> n1 n2 n1, n2: K, H, D, T, C 1
OR <= n1 n2 n1, n2: K, H, D, T, C 1
OR >= n1 n2 n1, n2: K, H, D, T, C 1
Mô tả: Lệnh thực hiện phép toán OR giữa một tiếp điểm với tiếp điểm
so sánh Tùy thuộc vào trạng thái của tiếp điểm và kết quả của phép so sánh
mà cho kết quả tổ hợp logic
I.2.8.18 Lệnh điều khiển Timer:
Timer là bộ tạo thời gian giữa 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 là:
- 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 là 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à TONRcù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
Trang 25gọ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 tự động reset 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 choTimer Ví dụ Timer có độ phân giải 10ms và giá trị đặt trước là 50 thì thời
gian trễ sẽ là = 500ms Timer của S7 – 200 có những tính chất cơ bản sau:
- Các bộ Timer được điều khiển bởi một cổng vào và giá trị đếm tức
thời Giá trị đếm tức thời của Timer được nhớ trong thanh ghi 2 byte (gọi là T-word) của Timer, xác định khoảng thời gian trễ kể từ khi Timer được kích Giá trị đặt trước của các bộ Timer
- Được ký hiệu trong LAD và STL là PT Giá trị đếm tức thời của thanh ghi T-word thường xuyên được so sánh với giá trị đặt trước của Timer
Bảng 17 Cú pháp khai báo Timer
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
Txx (word)
CPU214: 32÷63, 96÷127
PT: VW, T, (word)
C, IW, QW,MW,
Trang 26giá trị logic 0 tại đầu vào IN hằng số
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 R cho T-bit
- Mỗi bộ Timer, ngoài thanh ghi 2 byte T-word lưu giá trị đếm tức thời,còn có một bit ký hiệu là T-bit, chỉ thị trạng thái logic đầu ra Giá trị logic củabit này phụ thuộc vào kết quả so sánh giữa giá trị đếm tức thời với giá trị đặt trước
- Trong khoảng thời gian tín hiệu x(t) có giá trị logic 1, giá trị đếm tức thời trong T-word luôn được cập nhật và thay đổi tăng dần cho đến khi nó đạt giá trị cực đại Khi giá trị đếm tức thời lớn hơn hay bằng giá trị đặt trước, T-bit có giá trị logic 1
Khi sử dụng Timer kiểu 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
Trang 27Khi 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à tin hiệu đầu ra cũng có trạng thái logic bằng 0
Bảng 18 Độ phân giải của Timer.
Lệnh Độ phân giải Giá trị cực đại CPU 214
được, đượ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 C-bit có giá trị logic
là 0
Bảng 19 Cú pháp khai báo Counter
Trang 28Khai 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
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-wordCxx đạt được giá trị cực đại –32.768 CTUDreset khi đầu vào R có giá trị logic bằng 1
Cxx: (word)CPU
214: 48 ÷79PV:
(word):VW,T,C,I
W,QW,MW,SMW,AC,AIW,hằngsố,*VD,*AC
Khác với các bộ Timer, các bộ đếm CTU và CTUD đều có chân nối vớití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 đượcreset 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ừ –
Trang 29
I.2.8.19 Lệnh nhảy và lệnh gọi chương trình con
Các lệnh của chương trình, nếu không có những lệnh điều khiển riêng,
sẽ được thực hiện theo thứ tự từ trên xuống dưới trong một vòng quét Lệnh điều khiển chương trình cho phép thay đổi thứ tự thực hiện lệnh Chúng cho phép chuyển thứ tự thực hiện, đáng lẽ ra là lệnh tiếp theo, tới một lệnh bất cứ nào khác của chương trình, trong đó nơi điều khiển chuyển đến được đánh
dấu trước bằng một nhãn chỉ đích Thuộc nhóm lệnh điều khiển chương trình gồm: lệnh nhảy, lệnh gïọi chương trình con Nhãn chỉ đích, hay gọi đơn giản
là nhãn, phải được đánh dấu trước khi thực hiện nhảy hay lệnh gọi chương trình con
Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình Nhãn của
chương trình con, hoặc của chương trình xử lý ngắt được khai báo ở đầu
chương trình Không thể dùng lệnh nhảy JMP để chuyển điều khiển từ
chương trình chính vào một vào một nhãn bất kỳ trong chương trình con hoặctrong chương trình xử lý ngắt Tương tự như vậy cũng không thể từ một chương trình con hay chương trình xử lý ngắt nhảy vào bất cứ một nhãn nào nằm ngoài các chương trình đó
Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình con Khi chương trình con thực hiện các phép tính của mình thì việc điều khiển lại được chuyển trở về lệnh tiếp theo trong chương trình chính ngay saulệnh gọi chương trình con Từ một chương trình con có thể gọi được một chương trình con khác trong nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7 – 200 Đệ qui (trong một chương trình con có lệnh gọi đến chính nó) về nguyên tắc không bị cấm song phải chú ý đến giới hạn trên
Trang 30JMP, CALL, LBL, SBR: Lệnh nhảy JMP và lệnh gọi chương trình con SBR cho phép chuyển điều khiển từ vị trí này đến một vị trí khác trong chương trình Cú pháp lệnh nhảy và lệnh gọi chương trình con trong LAD và STL đều
có toán hạng là nhãn chỉ đích (nơi nhảy đến, nơi chứa chương trình con)
n: CPU 214:0÷255
JMP Kn
Lệnh khai báo nhãn n trong một chương trình
LBL: n
Trang 31n: CPU 214:0÷255
SBR Kn
Lệnh gán nhãn cho một chương trình con
─( CRET)
CRET
Lệnh trở về chương trình đã gọi chương trình con có điều kiện (bit đầu của ngăn xếp có giá trị logic
Lệnh trở về chương trình đã gọi chương trình con không điều kiện
Bảng 21 Các lệnh ghi đọc thời gian.
TODR T T: VB, IB, QB, MB, SMB, *VD,
*AC (byte)
SBR:n
Trang 32MOV B EN
I.2.8.20 Các lệnh dịch chuyển ô nhớ
Bảng 22 Cú pháp lệnh MOV_B
IN :VB,IB,QB,MB,SMB OUT :VB,IB,QB,MB,SMB
Trang 331.3.1.3 MỞ RỘNG CỔNG VÀO RA:
Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng nâng cao khác bằng cách ghép nối thêm các module mở rộng về phía bên phải của PLC tạo thành một móc xích các module Địa chỉ của các vịtrí các module được xác định bằng kiểu vào ra và vị trí của các module trong móc xích, bao gồm các module có cùng kiểu
Các module 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 module
Ví dụ cách đặt địa chỉ module mở rộng của CPU224:
1.3.1.4 THỰC HIỆN CHƯƠNG TRÌNH:
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp gọi là mộtvòng quét 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 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 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 các chế
độ 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
Trang 34trình ngắt chỉ được thực hiện khi có sự kiện báo ngắt và có thể xảy ra bất kỳ lúc nào trong một vòng quét.
1.3.1.5 CẤU TRÚC CHƯƠNG TRÌNH:
Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và
có thể được lập dưới hai dạng cấu trúc khác nhau:
- Chương trình tuyến tính: Toàn bộ chương trình nằm trong khối
chương trình chính (OB1), các lệnh trong chương trình luôn được quét từ đầu đến cuối chương trình và quay lại từ đầu trong quá trình PLC hoạt động Chương trình này chỉ thường áp dụng với các ứng dụng không phức tạp lắm
- Chương trình có cấu trúc: Chương trình được chia thành những phần nhỏ và mỗi phần thực hiện một nhiệm vụ riêng biệt, từng phần nằm trong những khối riêng biệt (OB1, SUBROUTIN, INTERRUPT) Loại chương trình này thường áp dụng với những yêu cầu phức tạp và nhiều khâu Khi lập trình chương trình có cấu trúc thường sử dụng ngoài chương trình chính còn
có chương trình con và chương ngắt Chương trình con được viết trong khối chương trình con và được gọi trong chương trình chính khi có lệnh gọi
Chương trình ngắt được viết trong khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời điểm nào của vòng quét Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu với các chương trình khác
1.3.1.6 KIỂU DỮ LIỆU:
Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau:
Kiểu dữ liệu Kích thước Nội dung Dải giá trị
BOOL 1 bit Boolean 0;1
BYTE 8 bits Số nguyên không dấu 0 ÷ 255
Trang 35WORD 16 bits Số nguyên không dấu 0 ÷ 65535
INT 16 bits Số nguyên có dấu -32678 ÷32676
DWORD 32 bits Số nguyên không dấu 0 ÷ 4294967295
DINT 32 bits Số nguyên có dấu -2147383648÷2147383648
REAL 32 bits Số thực có dấu theo IEEE -2147383648÷2147383648
STRING 0–255 bytes Kiểu dữ liệu chuỗi ASCII Mã ASCII từ 128 ÷ 255
- PC: Là máy tính cá nhân trên đó có cài phần mềm
STEP7-MICROWIN Phần mềm này cho phép lập trình với cả ba ngôn ngữ là STL, LAD và FBD Để cài phần mềm này người phải có bản quyền và PC phải cài
hệ điều hành WIN98/2000/NT/XP.Hiện nay hầu hết sử dụng STEP7
MICROWIN 3.0, 3.2, 4.0 để lập trình cho S7 để có thể sử dụng được những ứng dụng nâng cao
1 Giao diện làm việc:
Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm việc sẽ được thể hiện như sau:
Navigation Bar-InstructionTree-Cross Reference-Data Block-Status Chart-Symbol Table