Trong quá trình sản xuất tại các nhà máy, khu công nghiệp tập trung hiện nay khâu định lượng vô cùng quan trọng. Khâu định lượng giúp xác định chính xác khối lượng nguyên vật liệu, thành phẩm và bán thành phẩm tronng sản xuất. Các thiết bị định lượng có mặt trong hầu hết các khâu trong hệ thống, công đoạn sản xuất: cung ứng tồn trữ nguyên vật liệu, cấp liệu cho từng giai đoạn, cân và đóng gói sản phẩm…
Trang 1LỜI NÓI ĐẦU
Trong quá trình sản xuất tại các nhà máy, khu công nghiệp tập trung hiện naykhâu định lượng vô cùng quan trọng Khâu định lượng giúp xác định chính xáckhối lượng nguyên vật liệu, thành phẩm và bán thành phẩm tronng sản xuất Cácthiết bị định lượng có mặt trong hầu hết các khâu trong hệ thống, công đoạn sảnxuất: cung ứng tồn trữ nguyên vật liệu, cấp liệu cho từng giai đoạn, cân và đóng góisản phẩm…
Tự động điều khiển giám sát các quá trình sản xuất nói chung và cân định lượngnói riêng là một trong những ưu tiên hàng đầu của cac doanh nghiệp nhằm nângcao năng suất hạ giá thành sản phẩm, giảm chi phí hoạt động tăng cường khả năngcạnh tranh trong quá trình hội nhập hiện nay
Những ứng dụng và lợi ích của hệ thống cân định lượng là rất lớn vì vậy em đãlựa chọn để tài “Thiết kế hệ thống cân băng định lượng trên nền công nghệ PLC vàWinCC” Thông qua những tìm hiểu của em về hệ thống cân định lượng còn nhiềuthiếu sót mong nhận được sự đánh giá và góp ý của thầy cô
Em xin trân thành cảm ơn !
Trang 2PHẦN 1: TỔNG QUAN VỀ ĐỀ TÀI
CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG CÂN ĐỊNH LƯỢNG
1.1 Giới thiệu chung
Cùng với sự phát triển kinh tế, sự mở rộng sản xuất công nghiệp ứng dụng của hệthống cân định lượng ngày càng lớn Yêu cầu cho hệ thống ngày càng đòi hỏi độchình xác cao, sản lượng lớn Những ứng dụng của hệ thống cân định lượng là rất
Trang 3nhiều, em đã chon cân định lượng trong khâu định lượng bán thành phẩm nhà máysản xuất thức ăn chăn nuôi là hướng tìm hiểu sâu về đề tài của mình.
1.1.1Sản xuất thức ăn chăn nuôi
Thức ăn chăn nuôi là một nhân tố quan trọng trong phát triển chăn nuôi Ở nước
ta hiện nay đã và đang sử dụng thức ăn chăn nuôi hỗn hợp công nghiệp bên cạnh sửdụng thức ăn chăn nuôi truyền thống Thức ăn công nghiệp cần sản xuất tại các nhàmáy thức ăn chăn nuôi quy mô lớn với hệ thống tự động hóa trong đó có hệ thốngcân tự động trong phối trộn nguyên liệu thức ăn Việc áp dụng cân định lượng trongkhâu sản xuất giúp giảm lao động , nâng cao hiệu quả, giảm chi phí sản xuất hạ giáthành sản phẩm chăn nuôi
Thức ăn chăn nuôi gồm nhiều thành phần với tỷ lệ khác nhau vì vậy cân địnhlượng cần đảm bảo tính chính xác và hiệu quả
1.1.2 SƠ ĐỒ CÔNG NGHỆ
Trang 5CHƯƠNG 2: THIẾT BỊ
2.1 TỔNG QUAN VỀ THIẾT BỊ CHỈ THỊ KHỐI LƯỢNG:
Thiết bị chỉ thị khối lượng (đầu cân) có nhiều loại, do nhiều hãng sản xuấtkhác nhau Tuỳ mỗi loại và yêu cầu cho từng công việc mà đầu cân có nhiều chứcnăng khác nhau Tuy nhiên các chức năng cơ bản của một đầu cân vẫn là lấy tínhiệu điện áp từ loadcell, biến đổi A/D, xử lý và hiển thị khối lượng cân được ra đènLed 7 đoạn hoặc màn hình tinh thể lỏng, có thể truyền dữ liệu về máy tính hoặc ramáy in Ngoài ra còn có các chức năng như “Auto Zero”, “Tare”, “Clear”,… Đểthực hiện các chức năng như trên với độ chính xác cao, đầu cân phải có một bộnguồn chuẩn ổn định cấp cho loadcell và A/D Thông thường A/D sử dụng là loại
16 bits hoặc cao hơn sẽ cho độ phân giải là lớn hơn một phần 65536 (216) và nhưvậy độ chính xác sẽ rất cao Ngoài bộ vi xử lý đủ mạnh, đầu cân nhất thiết phải có
bộ nhớ để lưu trữ số liệu sau khi cân chỉnh
Ngoài ra tuỳ theo yêu cầu của trạm cân mà có thể có thêm thiết bị hiển thị từ
xa hay không
Sau đây giới thiệu hình ảnh một số đầu cân và thiết bị hiển thị từ xa trong thực
tế :
Page 5
Trang 6Hình 2.1: Giới thiệu hình ảnh một số loại đầu cân có trong thực tế
2.1.1 Đặc điểm đầu cân BDI –9301:
- Điều chỉnh hoàn toàn dùng kỹ thuật số làm cho việc chỉnh điểm 0 và địnhbước cân (span) trở nên dễ dàng Không cần phải nạp và xoá trọng lượng đặt mộtcách liên tục
Trang 7- Có 16 hàm chức năng được điều chỉnh thông qua 16 phím nhấn Có thể sửdụng cho rất nhiều ứng dụng cân tĩnh cũng như cân động.
- Cho phép khởi động lại các giá trị mặc định tạo bởi nhà sản xuất khi có sự cốđối với hoạt động bình thường
- Chức năng kiểm tra hệ thống sẽ kiểm tra từng bộ phận của hệ thống để bảođảm hoạt động đúng
- Hai chương trình chứa các giá trị như: Final Weight (SETPOINT), UpperLimit (HI), Lower Limit (LO), Preliminary Weight (PRELIM) và tầm bù rơi tự do(FreeFall) có thể được lưu trữ
2.1.2 Giải thích cách chỉnh cân:
- Chỉnh độ phân giải: Khối lượng hiển thị lên màn hình thì dựa vào độ phân giảinày Đây là khoảng thay đổi nhỏ nhất mà thiết bị có thể nhận biết được Ví dụ nếuđặt độ phân giải nhỏ nhất là 1 thì thiết bị sẽ hiển thị cách nhau 1 đơn vị như là 101,
102, 103.… Nếu độ phân giải nhỏ nhất là 2 thì sẽ hiển thị 100, 102, 104… Có thểlựa chọn độ phân giải này là 1, 2, 5, 10, 20 hay 50 và được giới hạn theo khốilượng tối đa được cho trong catalogue của BDI-9301
- Chỉnh Zero: Đây là cách chỉnh khi trên bàn không có vật cần cân Thực hiện
Trang 8vào Có thể phải chỉnh Zero theo một chương trình thường xuyên để tránh ảnhhưởng của việc thay đổi theo nhiệt độ hay các ảnh hưởng khác.
- Khối lượng tối đa: Đây là cách chỉnh khối lượng lớn nhất mà người sử dụngmuốn cân Điều này phụ thuộc vào tải trọng của loadcell hay là những giới hạnkhác mà người dùng đặt Độ phân giải sẽ phụ thuộc vào khối lượng lớn nhất này
- Cân chỉnh bước cân (Span Calibration): Với việc chỉnh Zero nhằm mục đíchđặt giá trị ban đầu là không, cân chỉnh bước cân là xác định điểm giới hạn mà cóthể cân được (khối lượng lớn nhất) Điều này là để cho BDI-9301 biết hai đầu mút
mà có thể cân được chính xác BDI-9301 sẽ tính toán giá trị cân được nếu khốilượng cần cân nằm trong hai giới hạn này Tuy nhiên, trong thực tế có thể dùng cáckhối lượng chuẩn để cân chỉnh cho việc này mà không nhất thiết phải dùng khốilượng tối đa (nhưng khối lượng chuẩn càng gần giới hạn lớn nhất thì cho kết quảcàng chính xác)
- Sở dĩ cần cân chỉnh Zero là để A/D đọc giá trị sai lệch điện áp ban đầu khikhông có vật gì ở trên bàn cân Chỉnh bước cân là cho A/D biết được giá trị điện ápứng với một khối lượng chuẩn đặt lên bàn cân Từ đó, bộ xử lý sẽ lấy hiệu số haigiá trị điện áp này và chia khối lượng chuẩn để ra một hệ số tương ứng cho mỗiđơn vị cân và lưu các giá trị này vào bộ nhớ Khi có khối lượng cần cân, bộ xử lý sẽ
Trang 9Sig+
Exc-
b) đọc giá trị điện áp và trừ đi điện áp ở trạng thái Zero rối chia cho hệ số đã lưu
trước đó sẽ ra được khối lượng cần cân
Ngoài ra, khi cần chỉnh cho đầu cân nếu điện áp ngõ ra loadcell quá lớn lúcchỉnh Zero thì thêm một điện trở giữa EXC+ và SIG- của Loadcell như hình 2.2a.Hoặc ngược lại nếu tín hiệu ra của Loadcell quá nhỏ (lệch âm) khi cân chỉnh Zerothì trong trường hợp này phải mắc thêm một điện trở phụ giữa EXC+ và SIG+ nhưtrong hình 2.2b
Các điện trở mắc thêm này phải có giá trị điện trở lớn (thường là từ 50KΩ đến500KΩ); có chất lượng cao và có hệ số nhiệt thấp Các lỗi khi cân chỉnh trên đây vàmột số lỗi khác sẽ được báo lên màn hình và cách xử lý đã được hướng dẫn trong
“Operation Manual” của BDI-9301
Trang 10Hình 2.2: Sơ đồ chỉnh điện áp đầu cân ngõ ra loadcell
2.2 GIỚI THIỆU VỀ LOADCELL
2.2.1 Lý thuyết về loadcell:
Cảm biến lực dùng trong việc đo khối lượng được sử dụng phổ biến làloadcell Đây là một kiểu cảm biến lực biến dạng Lực chưa biết tác động vào một
bộ phận đàn hồi, lượng di động của bộ phận đàn hồi biến đổi thành tín hiệu điện tỉ
lệ với lực chưa biết Sau đây là giới thiệu về loại cảm biến này
Bộ phận chính của loadcell là những tấm điện trở mỏng loại dán Tấm điện trở
là một phương tiện để biến đổi một biến dạng nhỏ thành sự thay đổi tương ứngtrong điện trở Một mạch đo dùng các miếng biến dạng sẽ cho phép thu được mộttín hiệu điện tỉ lệ với mức độ thay đổi của điện trở Mạch thông dụng nhất sử dụngtrong loadcell là cầu Wheatstone
Trang 12Cho một mạch gồm bốn điện trở giống nhau R1, R2, R3, R4 tạo thành cầuWheatstone như trên hình trên Đối với cầu Wheatstone này, bỏ qua những số hạngbậc cao, hiệu thế đầu ra Em thơng qua thiết bị đo với trở kháng Zm sẽ là:
Em =
] 4
4 3
3 2
2 1
1 [ ) 1 (
R R
R R
R R
R Zm R
+
(V)Với: - Ġ là biến đổi đơn vị của mỗi điện trở Ri
- R là điện trở danh nghĩa ban đầu của các điện trở R1, R2, R3, R4 (thường là
120 ohms, nhưng cĩ thể là 350 ohms dành cho các bộ cảm biến)
- V là hiệu thế nguồn
Điện thế nguồn cĩ thể thuộc loại liên tục với điều kiện là dùng một nguồnnăng lượng cung cấp thật ổn định Các thiết bị trên thị trường đơi khi lại dùngnguồn cung cấp xoay chiều Trong trường hợp đĩ phải tính đến việc sửa đổi mạch
cơ bản để cĩ thể giải điều chế thành phần xoay chiều của tín hiệu
Hình 2.3: Mạch cầu Wheatstone
Trang 13Trong phần lớn các trường hợp, Zm rất lớn so với R (ví dụ như Volt kế số, bộkhuếch đại với phần nối trực tiếp) nên biểu thức trên có thể viết lại là:
Em =
] 4
4 3
3 2
2 1
1 [
R R
R R
R R
đo và cũng để dùng cho các thiết kế đặc biệt
2.2.2 Một số Loadcell thực tế:
Có nhiều loại loadcell do các hãng sản xuất khác nhau như KUBOTA (củaNhật), Global Weighing (Hàn Quốc), Transducer Techniques Inc, Tedea –Huntleigh Mỗi loại loadcell được chế tạo cho một yêu cầu riêng biệt theo tảitrọng chịu đựng, chịu lực kéo hay nén Tùy hãng sản xuất mà các đầu dây ra củaloadcell có màu sắc khác nhau
Các màu sắc này đều được cho trong bảng thông số kỹ thuật khi mua từng loạiloadcell
Trang 14Trong thực tế còn có loại loadcell sử dụng kỹ thuật 6 dây cho ra 6 đầu dây Sơ
đồ nối dây của loại loadcell này có thể có hai dạng như sau:
a Dạng nối dây1 b.Dạng nối dây 2
Hình 2.4: Các dạng nối dây của loadcell
Như vậy, thực chất loadcell cho ra 6 dây nhưng bản chất vẫn là 4 dây vì ở cảhai cách nối ta tìm hiểu ở trên thì các dây +veInput (Exc+) và +veSense (Sense+) lànối tắt, các dây -veInput (Exc-) và -veSense (Sense-) là nối tắt
Có nhiều kiểu hình dạng loadcell cho những ứng dụng khác nhau Do đó cáchkết nối loadcell vào hệ thống cũng khác nhau trong từng trường hợp
Thông số kỹ thuật của từng loại loadcell được cho trong catalogue của mỗiloadcell và thường có các thông số như: tải trọng danh định, điện áp ra danh định
Trang 15(giá trị này có thể là từ 2 miliVolt/Volt đến 3 miliVolt/Volt hoặc hơn tuỳ loạiloadcell), tầm nhiệt độ hoạt động, điện áp cung cấp, điện trở ngõ ra, mức độ chịuđược quá tải (Với giá trị điện áp ra danh định là 2miliVolt/Volt thì với nguồncung cấp là 10 Volt thì điện áp ra sẽ là 20 miliVolt ứng với khối lượng tối đa) Tuỳ ứng dụng cụ thể mà cách chọn loại loadcell có thông số và hình dạng khácnhau Hình dạng loadcell có thể đặt cho nhà sản xuất theo yêu cầu ứng dụng riêng.Sau đây là hình dạng của một số loại loadcell có trong thực tế
Trang 16CHƯƠNG 3: GIỚI THIỆU PLC S7-300
3.1 TỔNG QUAN VỀ THIẾT BỊ KHẢ TRÌNH PLC:
3.1.1 Giới thiệu chung:
PLC là viết tắt của Programmable Logic Control là thiết bị điều khiển Logiclập trình hay khả trình được, cho phép thực hiện linh hoạt các thuật toán điều khiểnlogic thông qua một ngôn ngữ lập trình
Trong lĩnh vực tự động điều khiển, bộ điều khiển PLC là thiết bị có khả nănglập trình được sử dụng rộng rãi Kỹ thuật PLC được sử dụng từ những năm 60 càđược sử dụng chủ yếu để điều khiển và tự động hoá quá trình công nghệ hoặc cácquá trình sản xuất trong công nghiệp Đặc trưng của PLC là sử dụng vi mạch để xử
lý thông tin, nó cũng giống như con vi xử lý xong việc lập trình và tốc độ thuận tiện
Trang 17hơn, xử lí nhanh hơn và dễ dàng thay đổi công nghệ, cải tạo dựa trên chương trình
và phần mở rộng
Các nối ghép logic cần thiết trong quá trình điều khiển xử lí bằng phần mềm
do người dùng lập nên và cài vào Cùng với lí do này nên chúng ta giải quyết cácbài toán tự động hoá một cách dễ dàng, khác nhau nhưng cùng chung một bộ điềukhiển và chỉ thay đổi phần mềm tức là các phương trình khác nhau
Các ưu thế của PLC trong tự động hoá:
- Thời gian lắp đặt công trình ngắn
- Dễ dàng thay đổi nhưng không tốn kém về mặt chính
- Có thể tính toán chính xác giá thành
- Cần ít thời gian làm quen
- Do phần mềm linh hoạt nên khi muốn mở rộng và cải tạo công nghệ thì dễdàng
- Ứng dụng điều khiển trong phạm vi rộng
- Dễ bảo trì, các chỉ thị vào ra giúp xử lý sự cố dễ dàng và nhanh hơn
- Độ tin cậy cao, chuẩn hoá được phần cứng điều khiển
Trang 18Bộ đệm
Bộ nhớ chương trình EEPROM Nguồn pin CPU bộ vi xử lý Clock
Bộ nhớ hệ thống ROM Bộ nhớ Dữ liêu RAM
Khối vào ra
Bộ đệm
Bus điều khiển
Bus địa chỉ Bus hệ thống vào/ra
Panel lập trình
Bộ đệm Mạch cách ly Mạch chốt
Mạch cách ly Mạch giao tiếp
Kênh ngõ vào Kênh ngõ ra
Đứng đầu về các hệ PLC hiện nay phải kể đến các công ty AltanBrellay của
Mỹ, công ty MitSubiShi, Omron của Nhật, Siemens của Đức, ABB của Thuỵ Sĩ,Schnider của Pháp…
Cấu trúc chung của một hệ thống PLC được thể hiện trên sơ đồ hình 3.1
Page 18
Trang 203.1.3.1 Module CPU
Trang 21Module CPU là loại module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộthời gian, bộ đếm, cổng truyền thông (RS485)… và có thể còn có một vài cổng vào
ra số Các cổng vào ra số có trên module CPU được gọi là cổng vào ra onboard
PLC S7_300 có nhiều loại
module CPU khác nhau Chúng được đặt
tên theo bộ vi xử lý có trong nó như module
CPU312, module CPU314, module CPU315…
Những module cùng sử dụng 1 loại bộ vi xử lý, nhưng khác nhau về cổngvào/ra onboard cũng như các khối hàm đặc biệt được tích hợp sẵn trong thư việncủa hệ điều hành phục vụ việc sử dụng các cổng vào/ra onboard này sẽ được phânbiệt với nhau trong tên gọi bằng thêm cụm chữ IFM (Intergrated Function Module)
Ví dụ như Module CPU312 IFM, Module CPU314 IFM…
Ngoài ra còn có các loại module CPU với 2 cổng truyền thông, trong đó cổngtruyền thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán Cácloại module này phân biệt với các loại module khác bằng cụm từ DP (DistributedPort) như là module CPU315-DP
3.1.3.2 Module mở rộng:
Thiết bị điều khiển khả trình SIMATIC S7-300 được thiết kế theo kiểu
Hình 3.2: Module CPU
Trang 22PLC theo cấu trúc module rất thuận tiện cho việc thiết kế các hệ thống gọn nhẹ và
dễ dàng cho việc mở rộng hệ thống Số các modul được sử dụng nhiều hay ít tuỳtheo từng ứng dụng nhưng tối thiểu bao giờ cũng phải có một module chính làmodule CPU, các module còn lại là những module truyền và nhận tín hiệu với đốitượng điều khiển bên ngoài như động cơ, các đèn báo, các rơle, các van từ Chúngđược gọi chung là các module mở rộng
Các module mở rộng chia thành 5 loại chính:
3.1.3.2.1 Module nguồn nuôi (PS - Power supply):
Có 3 loại: 2A, 5A, 10A.
3.1.3.2.2 Module xử lý vào/ra tín hiệu số (SM - Signal module):
Module mở rộng cổng tín hiệu vào/ra, bao gồm:
- DI (Digital input): Module mở rộng các cổng vào số Số các cổng vào số mởrộng có thể là 8, 16, 32 tuỳ từng loại module
- DO (Digital output): Module mở rộng các cổng ra số Số các cổng ra số mởrộng có thể là 8, 16, 32 tuỳ từng loại module
- DI/DO (Digital input/Digital output): Module mở rộng các cổng vào/ra số
Số các cổng vào/ra số mở rộng có thể là 8 vào/8ra hoặc 16 vào/16 ra tuỳ từng loạimodule
Trang 23- AI (Analog input): Modulee mở rộng các cổng vào tương tự Số các cổng vàotương tự có thể là 2, 4, 8 tuỳ từng loại module.
- AO (Analog output): Modulee mở rộng các cổng ra tương tự Số các cổng ratương tự có thể là 2, 4 tuỳ từng loại module
- AI/AO (Analog input/Analog output): Modulee mở rộng các cổng vào/ratương tự Số các cổng vào/ra tương tự có thể là 4 vào/2 ra hay 4 vào/4 ra tuỳ từngloại module
Các CPU của S7_300 chỉ xử lý được các tín hiệu số, vì vậy các tín hiệu analogđều phải được chuyển đổi thành tín hiệu số Cũng như các module số, người sửdụng cũng có thể thiết lập các thông số cho các module analog
3.1.3.2.3 Module ghép nối (IM - Interface module):
Module ghép nối nối các module mở rộng lại với nhau thành một khối và đượcquản lý chung bởi 1 module CPU Thông thường các module mở rộng được gắnliền với nhau trên một thanh đỡ gọi là rack Trên mỗi rack có nhiều nhất là 8module mở rộng (không kể module CPU, module nguồn nuôi) Một module CPUS7-300 có thể làm việc trực tiếp với nhiều nhất 4 rack và các rack này phải đượcnối với nhau bằng module IM
Trang 24Các module ghép nối (IM) cho phép thiếtlập hệ thống S7_300 theo nhiều cấu hình S7-300 cung cấp 3 loại module ghép nốisau:
- IM 360: Là module ghép nối có thể mở rộng thêm một tầng chứa 8 moduletrên đó với khoảng cách tối đa là 10 m lấy nguồn từ CPU
- IM 361: Là module ghép nối có thể mở rộng thêm ba tầng, với một tầng chứa
8 module với khoảng cách tối đa là 10 m đòi hỏi cung cấp một nguồn 24 VDC chomỗi tầng
- IM 365: Là module ghép nối có thể mở rộng thêm một tầng chứa 8 moduletrên
đó với khoảng cách tối đa là 1m lấy nguồn từ CPU
3.1.3.2.4 Module chức năng (FM - Function module):
Hình 3.3: Module ghép nối
Trang 25Module có chức năng điều khiển riêng Ví dụ như module PID, module điềukhiển động cơ bước…
3.1.3.2.5 Module truyền thông (CP - Communication module):
Module phục vụ truyền thông trong mạng giữa các PLC với nhau hoặc giữaPLC với máy tính
Hình 3.4: Mô hình kết nối của SIMATIC S7-300
Màn hình PC
M COIL VALE
Trang 26• OB (Organisation block): Miền chứa chương trình tổ chức
• FC (Function): Miền chứa chương trình con được tổ chức thành hàm có biến hìnhthức để trao đổi dữ liệu với chương trình đã gọi nó
• FB (Function block): Miền chưa chương trình con được tổ chức thành hàm và cókhả năng trao đổi dữ liệu với bất cứ một khối chương trình nào khác Các dữ liệunày phải được xây dựng thành một khối dữ liệu riêng (gọi là DB)
+ Vùng chứa tham số của hệ điều hành và chương trình ứng dụng, được phânchia thành 7 miền khác nhau:
• I (Process image input): Miền bộ đệm các dữ liệu cổng vào số
Trang 27• Q (Process image output): Miền bộ đệm các dữ liệu cổng ra số
• M: Miền biến cờ
• T: Miền nhớ phục vụ bộ thời gian (timer)
• C: Miền nhớ phục vụ bộ đếm (counter)
• PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input)
• PQ: Miền địa chỉ cổng ra cho các module tương tự (I/O External output)
+ Vùng dữ liệu: là miền để sử dụng để cất giữ các khối dữ liệu của chươngtrình bao gồm kết quả của các phép tính, hằng số được định nghĩa trong chươngtrình bộ đệm truyền thông Một phần của bộ nhớ này thuộc kiểu đọc ghi được.Vùng dữ liệu chia thành 2 loại:
• DB (Data block): Miền chứa các dữ liệu được tổ chức thành khối Kích thước cũngnhư khối lượng do người sử dụng quy định, phù hợp với từng bài toán điều khiển.Chương trình có thể truy nhập miền này theo từng bit (DBX), byte (DBB), từ(DBW), hoặc từ kép (DBD)
• L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB,
FC, FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biếnhình thức với những khối chương trình đã gọi nó Nội dung của dữ liệu trong miềnnhớ này sẽ bị xoá khi kết thúc chương trình tương ứng trong khối OB, FC, FB
Trang 28- Tổ chức bộ nhớ CPU: là cách phân chia bộ nhớ cho các vùng nhớ khác nhau Cấutrúc bộ nhớ CPU của PLC S7-300 bao gồm:
+ Vùng nhớ chứa các thanh ghi
+ Vùng system memory
+ Vùng Load memory
+ Vùng Work memory
Kích thước các vùng nhớ này phụ thuộc vào chủng loại của từng module CPU
Load memory: là vùng nhớ chứa chương trình ứng dụng (do người sử dụng viết)
bao gồm tất cả các khối chương trình ứng dụng OB, FC, FB, các khối chương trìnhtrong thư viện hệ thống được sử dụng (SFC, SFB) và các khối dữ liệu DB
System memory: Là vùng nhớ chứa các bộ đệm vào/ra số (Q, I), các biến cờ (M),
thanh ghi T-Word, PV, T-bit của Timer, thanh ghi C-Word, PV, C-bit của Counter
Work memory: Là vùng nhớ chứa các khối DB đang được mở, khối chương trình
(OB, FC, FB, SFC hoặc SFB) đang được CPU thực hiện và phần bộ nhớ cấp phátcho những tham số hình thức để các khối chương trình này trao đổi tham trị với hệđiều hành và với các khối chương trình khác (Local Block) Tại một thời điểm nhấtđịnh vùng Work memory chỉ chứa một khối chương trình Sau khi khối chương
Trang 29DI (instance) Status
Status word
Hình 3.5: Phân chia các vùng ô nhớ trong CPU
Page 29 of 94trình đó được thực hiện xong thì hệ điều hành sẽ xoá nó khỏi Work memory và nạpvào đó khối chương trình kế tiếp đến lược thực hiện
Trang 303.1.5 Vòng quét chương trình:
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp được gọi là vòngquét (scan) Mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từ các cổngvào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chương trình Trongtừng vòng quét chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc củakhối OB1 (Block End) Sau giai đoạn thực hiện chương trình là giai đoạn chuyểncác nội dung của bộ đệm ảo Q tới các cổng ra số Vòng quét được kết thúc bằnggiai đoạn truyền thông nội bộ và kiểm tra lỗi
Trang 31Truyền thông và kiểm tra nội bộ
Chuyển dữ liệu từ cổng vào tới I
Thực hiện chương trình
Chuyển dữ liệu từ cổng vào Q Page 31 of 94
Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòng
quét (Scan time) Thời gian vòng quét không cố định, không phải vòng quét nào
cũng thực hiện trong một khoảng thời gian như nhau Mà tuỳ thuộc vào số lệnhtrong chương trình được thực hiện, vào khối lượng dữ liệu được truyềnthông trong vòng quét đó
Hình 3.6: Vòng quét chương trình
Trang 32Như vậy, việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín hiệuđiều khiển tới đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòngquét Nói cách khác, thời gian vòng quét quyết định tính thời gian thực của chươngtrình điều khiển trong PLC Thời gian vòng quét càng ngắn, tính thời gian thực củachương trình càng cao.
Chương trình xử lí ngắt có thể xâm nhập vào bất kì giai đoạn nào của chu trìnhvòng quét Vì thế, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắtxuất hiện trong vòng quét Do đó, để nâng cao tính thời gian thực cho chương trìnhđiều khiển, tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc quá lạmdụng việc sử dụng chế độ ngắt trong chương trình điều khiển
Tại thời điểm thực hiện lệnh vào/ra, thường lệnh không làm việc trực tiếp vớicổng vào/ra mà chỉ thông qua bộ đệm ảo Việc truyền thông gữa bộ đệm ảo vớingoại vi trong các giai đoạn 1 và 3 do hệ điều hành CPU quản lý Ở một số moduleCPU, khi gặp lệnh vào/ra ngay lập tức 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 trực tiếp với cổng vào/ra
3.1.6 Trao đổi dữ liệu giữa CPU và các module mở rộng:
Trong trạm PLC luôn có sự trao đổi dữ liệu giữa CPU với các module mở rộngthông qua bus nội bộ Ngay tại đầu vòng quét, các dữ liệu tại cổng vào của các
Trang 33module số (DI) sẽ được CPU chuyển tới bộ đệm vào số (process image input
table-I) Cuối mỗi vòng quét, nội dung của bộ đệm ra (process image output table-Q) lại
được CPU chuyển tới cổng ra của các module ra số (DO) Việc thay đổi nội dunghai bộ đệm này được thực hiện bởi chương trình ứng dụng Nếu trong chương trình
ứng dụng có nhiều lệnh đọc cổng vào số thì cho dù giá trị logic thực có của các
cổng vào này có thể bị thay đổi trong quá trình thực hiện vòng quét, chương trình
sẽ vẫn luôn đọc được cùng một giá trị từ I và giá trị đó chính là giá trị của cổngvào có tại thời điểm đầu vòng quét Cũng như vậy, nếu chương trình ứng dụngnhiều lần thay đổi giá trị cho một cổng ra số thì do nó chỉ thay đối nội dung bit nhớtương ứng trong Q nên chỉ có giá trị thay đổi cuối cùng mới thực sự đưa tới cổng ravật lý của module DO
Khác hẳn với việc đọc/ghi cổng số, việc truy nhập cổng vào/ra tương tự lạiđược CPU thực hiện trực tiếp với module mở rộng (AI/AO) Như vậy mỗi lệnh đọcgiá trị từ địa chỉ thuộc vùng PI (peripheral input) sẽ thu được một giá trị đúng bằnggiá trị thực có ở cổng tại thời điểm thực hiện lệnh
Tương tự khi thực hiện lệnh gửi một giá trị (số nguyên 16 bits) tới địa chỉ củavùng PQ (peripheral output), giá trị đó sẽ đươc gửi ngay tới cổng ra tương tự củamodule
Trang 35Process imag output
table (Q)
Tuy nhiên miền địa chỉ PI và PQ lại được cung cấp nhiều hơn là số các cổngvào/ra tương tự có thể có của một trạm Điều này tạo khả năng kết nối các cổngvào/ra số với những địa chỉ dôi ra đó trong PI/PQ giúp chương trình ứng dụng cóthể truy nhập trực tiếp các module DI/DO mở rộng để có được giá trị tức thời tạicổng mà không cần thông qua bộ đệm I và Q
3.1.7 Cấu trúc chương trình:
- Lập trình tuyến tính:
Kĩ thuật lập trình tuyến tính là phương pháp lập trình mà toàn bộ chương trìnhứng dụng sẽ chỉ nằm trong một khối OB1 Kĩ thuật này có ưu điểm là gọn, rất phùhợp với những bài toán điều khiển đơn giản, ít nhiệm vụ
Trang 36Lệnh 2 Lệnh 1
4 loại khối cơ bản:
Trang 37Chương trình ứng dụng (user program)
Process image input table (I)
+ Loại khối OB (Oganization block): Khối tổ chức và quản lý chương trình điều
khiển Có nhiều loại khối OB với những chức năng khác nhau, chúng được phânbiệt với nhau bằng một số nguyên đi sau nhóm kí tự OB, ví dụ OB1, OB35, OB40,OB80, Trong khi khối OB1 được thực hiện đều đặn ở từng vòng quét trong giaiđoạn thực hiện chương trình (giai đoạn 2) thì các khối OB khác chỉ được thực hiệnkhi xuất hiện tín hiệu báo ngắt tương ứng, nói cách khác chương trình viết trongkhối OB này chính là chương trình xử lý tín hiệu ngắt (event)
+ Loại khối FC (Program block): Khối chương trình với những chức năng riêng
giống như một chương trình con hoặc một thủ tục (chương trình con có biến hìnhthức) Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC nàyđược phân biệt với nhau bằng một số nguyên sau nhóm ký tự FC, chẳng hạn nhưFC1, FC2,…
+ Loại khối FB (Function block): Là loại khối FC đặc biệt có khả năng trao đổi
một lượng dữ liệu lớn với các khối chương trình khác Các dữ liệu này phải được tổchức thành khối dữ liệu riêng có tên gọi là Data block Một chương trình ứng dụng
có thể có nhiều khối FB và các khối FB này được phân biệt với nhau bằng một sốnguyên sau nhóm ký tự FB, chẳng hạn như FB1, FB2,…
Trang 38+ Loại khối DB (Data block): Khối chứa các dữ liệu cần thiết để thực hiện
chương trình Các tham số của khối do người dùng tự đặt Một chương trình ứngdụng có thể có nhiều khối DB và các khối DB này được phân biệt với nhau bằngmột số nguyên sau nhóm ký tự DB, chẳng hạn như DB 1, DB 2,…
Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối,chuyển khối Xem những phần chương trình trong các khối như là chương trình conthì S7-300 cho phép gọi chương trình con lồng nhau, tức là từ chương trình con nàygọi đến một chương trình con khác và từ chương trình con này lại gọi tới chươngtrình con thứ 3 Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại moduleCPU mà ta sử dụng Ví dụ như đối với module CPU314 thì số lệnh gọi lồng nhaunhiều nhất có thể cho phép là 8 Nếu số lần gọi lồng nhau vượt quá con số giới hạncho phép, PLC sẽ chuyển sang chế độ STOP và đặt cờ báo lỗi
Trang 39
Hình 3.9: Lập trình có cấu trúc
Trang 403.1.8 Bộ thời gian (Timer):
Bộ thời gian là bộ tạo thời gian trễ τ mong muốn giữa tín hiệu logic đầu vào u(t)
và tín hiệu logic đầu ra y(t)
S7-300 có 5 loại Timer khác nhau Thời gian trễ τ mong muốn được khai báovới Timer bằng 1 giá trị 16 bits trong đó 2 bits cao nhất không sử dụng, 2 bits cao
kế tiếp là độ phân giải của Timer, 12 bits thấp là 1 số nguyên BCD trong khoảng 0