| BO GIAO DUC VA DAO TAO
TRUONG DAI HOC DL KY THUAT CONG NGHE TP.HCM
KHOA ĐIỆN - ĐIỆN TỦ NGÀNH : ĐIỆN TỬ VIÊN THÔNG eK Oo a eS nee LUAN VAN TOT NGHIEP = at @8 Đề tài : TRUYEN THONG GIUA PLC SIEMENS | VÀ MÁY TÍNH
Vú - Nguyen Vien Guse _
GVHD : ThsNGUYỄN VIEN QUOC
SVTH : VŨ HOÀNG THÙY TRANG
Trang 2LUẬN ÁN TỐT NGHIỆP MUC LUC Phan I: LOI NOI DAU Phần II: LÝ THUYẾT Chương I : SCADA -. -s+rrrhhethtttttrtrtrttrdtttft17711077777 4 IL.1/ SCADA là gì ccsrnererrrttrrdtrtttttttttftftfttftnttfff 4 L2/ Kết cấu hệ thống SCADA : -:rrrtrrrerrrrtrtrtrtrrtrtrttrrr 4 l Chương II: PLUC S7 — 7) CC .aẽaẽ -z-zrrtrà 6 ! Ta 6 | IIL2/ Tổng quan về PLC S7 — 200 -etrrrrttrtrrsrttrtrttdre 7 II.3/ Đặc tính kỹ thuật -errrrtrrtrtrtttn HH1 1 1 x1 1 91 912 §
IL3.1/ Các thông số kỹ thuật -+-eerertttrtrtrttrre 8 1L3.2/ Cổng truyền thông . -: +-+-trrrretrttrrrttrrttrttrre 10 II3.3/ Công tắc chọn chế độ làm viỆc . -ererrrrerrrreee 11 IL3.4/ Pin và nguồn nuôi bộ nhớ . -++++rrttrttrrtrrtre 11 1I4/ Cấu trúc bộ nhớ -: +>+*+rttttttttttrtttrtrtrrtrrrtrrrrn 12
IL4.1/ Phân chia bộ nhớ -++*trtttttrttttttrrtttrtrretr 12 II4.2/ Vùng dữ liệu . -rrerrrrrrrtrtrrtrtrtrtrtntrtrrl 13
IL4.3/ Vùng đối tượng . -+rrrtrrrtrrtrrtrtrtrrtrtrtrrr 18 II.5/ Mớ rộng cổng vào/ra -. -‹ -steerrrtrrrtrrrtrrtrtrtrrrtrdtrrr 19 I.6/ Kết nối mạng -: ->-srttttttttthtttnth Ân ngu v3 92 re 19 I7/ Tập lệnh cua S7 — 200 S.-G- c1 v2 2911111210 21 IL7.1/ Các lệnh tiếp điểm Bool -: -+s++sstrrtrttrhttttth 21 1L7.2/ Các lệnh xuất Bool -+-++++>+rtrtttttttttttttttttttt 24 IL7.2/ Các lệnh nhảy và gọi trình con ‹ -eserrerrrrrrre 28 1I.7.4/ Các lệnh logic chuẩn -++++rtrrttrrtttrtettrttet 34 II.8/ Phương pháp lập trình . -:-+-+rrertrtrtrrtttrtttrrttrtrtrtrre 41
Chương II: Hiệu chỉnh P, PI, PD, PID -++trttttttttttrtttttl 42
IIIL.1/ Khái niệm ©s+>++tetttttttttttttttttttrttrtnttrtrre 42
IIL2/ Khâu hiệu chỉnh vi phân tỉ lệ (PD) ehhtrrt 42 IIIL3/ Khâu hiệu chỉnh tích phân tỉ lệ (PD — 44
1IL4/ Thiết kế bộ hiệu chỉnh PID -etreetrrrtrerrtrrtrrtrt 45
Trang 3
II.5/ Lệnh PID Loop trong T7
IIL6/ Thuật giải PID -:::-:ttnnthhtthttnrttrm7 0 47
Chương IV: Module xử lý nhiệt độ -trrtrtrtth ¬— 50
IV.1/ Phân loại -:-+s+tttrtttntttttttttttdtttfftttff71777TT T7 50
IV.2/ Module Thermocouple EM 231 -**t**tttththtttth 51 IV.2.1/ Cấu hình module thermocouple . -: +-++++*trtt"" 51
IV.2.2/ Đấu dây . -strrtrrttttttttttrtftftftÐff 52 IV.2.3/ Chỉ định trạng thái -+rrtrrrrtrttrttttttt2 54
Chương V: Các nguyên tắc lap trinh STEP 7 Micro/Win -:+ * 55 V.1/ Giới thiệu tổng quan -rrnrtrttnhhttttntttrtrtdttntrtrr 55 V.2/ Cấu trúc chương trình tuyến tính .-ereerrtrrrrrrrrrrre 56 V.3/ Định địa chỉ ƯO (Nhập xuất) và các thanh ghi ƯO - 56 V.4/ Hiệu đính chương trình (LAD/ FBD/ STL) -<-tsttrttt 58 Chương VI: S7-200 PC .< <<a 60
VI.1/ Giới thiệu -:-s++cttrttrttttttttttttttttft1177777777 60
VL.2/ Giao diện S7-200 PC Access -ererrerrrrrrrritr27 61
VI.3/ Kết nối S7-200 PLUC với S7-200 PC Access -.etrt>' 64
VL4/ Kết nối với nhiều PLC : -:+*tnttttthhttthttrrrrr 69 VI.5/ Thay đổi và cấu hình truyển thông -++tttrtttthttttthhth 69
VI.6/ Nhap STEP7 MicroWin Symbols vào PC Access - 73
Phan Ill: THI CONG
1/ Mô tả hoạt động của chương trình . errrrerrrrrrrrrrrrrrnife 75
II/ Chương trình giao diện người dùng -rh Teen suy T1
TI/ Chương trình thực hiện việc giao tiếp giữa PUC và máy tính 90 1V/ Chương trình điều khiển lập trình cho PLC . -:eetrtrrtntrtrnthh 96
Trang 4LUẬN ÁN TỐT NGHIỆP
LỜI NÓI ĐẦU C38
Siemens AG là một tập đoàn Điện và Điện tử hàng đầu thế giới - là một trong các công ty đầu tiên của CHLB Đức đã có mặt tại Việt Nam Hiện nay,
Siemens có chiến lược hoạt động lâu dài và mong muốn trở thành một bộ phận trong nền kinh tế của Việt Nam Siemens đã và đang hợp tác với Việt Nam trên nhiều lĩnh vực, từ xây dựng nhà máy điện trị giá hàng trăm triệu đô la đến hậu thuẫn cho các nhà khoa học - công nghệ Việt Nam thực hiện các dự án
ứng dụng cụ thể trong lĩnh vực Tự động hóa Trong tập đoàn Siemens AG, bộ phận Tự động hóa được đánh giá là rất năng động và hoạt động có hiệu quả cao
Không dừng lại ở thành công tột đỉnh với công nghệ PLC mà họ SIMATIC S5 mang lai, Siemens da quyét dinh dau tu phat triển họ SIMATIC S7 như một nền móng vững chắc cho công nghệ Tự động hóa trên phạm ví quốc tế
Trong phạm vi luận án này chúng ta nghiên cứu và tìm hiểu tổng quan về
PLC S7 - 200 với những đặc tính kỹ thuật, cấu trúc bộ nhớ cũng như
các tập
lệnh của S7 — 200 Kết nối PLC S7 - 200 với máy tính nhờ sự hỗ trợ của phần
mềm $7-200 PC Access va Visual Basic giúp người sử dụng có thể tạo ra một giao diện điều khiển giúp quan sát mọi hoạt động của quá trình tự động hóa một
cách dễ dàng Hay nói cách khác là thực hiện một hệ thống SCADA nhỏ điều
khiển giám sát và thu thập dữ liệu (cụ thể là giám sát và điều khiển lò nhiệt — sử dụng thuật giải PID)
Vì khả năng còn hạn chế nên chắc chắn luận án này sẽ khó tránh khỏi nhiều điểu sai sót Rất mong nhận được sự thông cảm từ Quý Thầy, Cô Sự góp
ý chân thành của Quý Thầy, Cô sẽ giúp em củng cố thêm nhiễu kiến thức còn bạn chế trong phạm vi luận án này
Em xin chân thành cảm ơn Quý Thầy Cô Khoa Điện - Điện Tử, Thầy Cô Khoa Điện Công Nghiệp và Thầy Nguyễn Viễn Quốc đã tận tình hướng dẫn, giúp đỡ để em hoàn thành tốt luận án này
Sinh viên thực hiện
Vũ Hoàng Thùy Trang
Trang 5
Chuong 1: SCADA
Phần I: LÝ THUYẾT
Chương ]: SCADA
1.1/ SCADA là øì :
SCADA (Supervisory Control and Data Acquisition) 1a hệ thống digu khiến giám sát và thu thập dữ liệu Điều khiển ở đây là điều khiển một _ cách giám sắt, SCADA khác với hệ thống điều khiển DCS hay PLC ở chỗ,
các
hé DCS hay PLC trực tiếp điều khiển cục bộ trong một nhà máy, trong khi hệ
thống SCADA thiên về giám sát và thu thập dữ liệu trên mạng điện rộng L2/ Kết cấu hệ thống SCADA
Một cách đơn giản, hệ thống SCADA có ba phần: các PC ở phòng điểu khiển trung tâm, các RTU (Remote Terminal Unit) hay PLC (Programmable Logic Controller) ở các trạm xa và thiết bị thông tin để nối hai phần trên với nhau
Các hệ SCADA cũ chạy trên môi trường DOS, VMS hay INIX Cac hé
thống mới hơn chạy trên nên Windows 95 hay NT với một số chạy trên Linux
SCADA Server:
SCADA Server chính là máy Server của hệ thống SCADA ở trung tâm
được nối với các RTU hay PUC Trong cấu tric phan mém may chu Server đó
có chức năng thu thập, chia sẻ dữ liệu với các may Client thong qua
mang
Ethernet và gửi mệnh lệnh từ các Clent trực tiếp đến các bộ điều khiển Vì vậy trên các máy Server thường được dùng để cài đặt các phần mềm phát triển, thiết
lập cấu hình truyền thông để kết nối với thiết bị hiện trường
SCADA Client:
SCADA Client gồm các máy tinh công nghiệp được nối với máy Server bằng mạng Ethernet Các máy tính này sẽ được cài các phần mềm giao diện
người-máy (Human Machine Interface) kết nối với dữ liệu Server để hiển thị
hoặc điều khiển Tức là các máy Client này sẽ thu thập các trạng thái và điều
khiển các bộ Controller gián tiếp thông qua máy Server Mối liên hệ giữa các
Client và Server do các kỹ sư lập trình thiết lập, tuỳ thuộc vào từng loại phần mềm công nghiệp được sử dụng trong hệ SCADA
RTU - PLC:
RTU được định nghĩa là một thiết bị được điều khiển bằng bộ vi xử lý, có khả năng xử lý các đầu ra vào theo thời gian thực, thu thập dữ liệu và báo động,
báo cáo về SCADA Server, và thi hành các mệnh lệnh của SCADA Server
Trang 6
Chuong I: SCADA LUAN AN TOT NGHIEP
Theo truyền thống, hệ thống SCADA thường sử dụng các thiết bị RTU
Nhưng ngày nay, với sự phát triển của PLC, các nhà tích hợp hệ thống dùng
PLC thay vì RTU cho việc thiết kế cho nhiều hệ thống SCADA
Các RTU và PLC được nối với các LO (đầu vào/ra) tại trạm Các đầu
yao, qua RTU hay PLC, cho thiết bị SCADA ở phòng điều khiển trung tâm biết trạng thái của hệ thống tại hiện trường Thiết bị SCADA có thể điều khiển hệ thống bằng cách thao tác các đầu ra, cũng qua các RTU hay PLC Như thế, RTU bay PLC là thiết bị được trực tiếp nối với LO và tập trung tín hiệu
Thiết bị và phương tiện truyền tỉn:
Ngoài việc sử dụng các máy tính công nghiệp, các S€rV€T, thiết bị mạng ở phòng theo dõi trung tâm Một bộ phận rất quan trọng không thể thiếu được trong hệ thống SCADA là hệ thống truyền tin Nó liên quan đến sự ổn định,
chính xác của hệ thống Vì vậy một hệ truyền tin được chọn trong một hệ thống
SCADA phải thoả mãn các tiêu chuẩn như: tốc độ truyền, giao thức truyền
thông, truyền đồng bộ hay bất đồng bộ, khoảng cách địa 1ý Hệ thống truyền tin
được chọn phải tương thích với thiết bị hiện trường va may chu Server
Trang 7Chương II: PLC S7-200
Chương II: PLC S7-200
II.1/ Khái niêm:
PLC viết tắt của Programmable Loglc Controller (Bộ điều khiển logic lập trình được hoặc bộ điều khiển logic khả lập trình) PLC được ra đời do nhu cầu cần có một bộ điều khiển lập trình được để thay thế các mạch điều khiển nối
cứng được tạo từ các thiết bị cơ điện như: relay, timer(bộ định thì), counter(bộ đếm) Ngoài ra PLC còn được trang bị thêm các phép toán khác c6 ich cho viéc thiết kế các chương trình điều khiển
PLC kết nối với thế giới bên ngoài qua: w_ Các ngÕ vào rdi rac (điscrete inputs)
« CaAc ng6 ra roi rac (discrete outputs)
» Các ngõ vào tương tự (analog inputs) s_ Các ngõ ra tương tự (analog outputs)
PLC gồm các khối nhập (input module), CPU (Central Processing Unit),
và các khối xuất (output module) Khối nhập nhận các tín hiệu vào và chuyển
chúng sang các tín hiệu logic thích hợp trong PLC CPU thực hiện các quyết định và thực thi các lệnh điều khiển dựa vào các lệnh chương trình trong bộ nhớ Các khối xuất chuyển các lệnh điều khiển từ CPU thành các tín hiệu ra để điều khiển thiết bị ngoài Người ta sử dụng một thiết bị lập trình (programming device) để nhập các lệnh mong muốn Các lệnh này chỉ cho CPU sẽ phải làm gì
với giá trị Cụ thể Thiết bị giao tiếp với người diéu hanh (operator interface) cho
Trang 8Chuong I: PLC S7-200 LUAN AN TOT NGHIEP
1IL2/ Tổng quan về PLC S7 - 200
$7 — 200 là một loại PLC micro cia Siemens nhưng có nhiều tính năng ứng dụng mạnh mẽ Chúng tích hợp sin cdc I/O trén CPU S7 - 200 có
nhiều loại tuỳ theo CPU, mỗi CPU có những tính năng và tính chất ứng dụng khác nhau như CPU 221, CPU 222, CPU 224 và CPU 226
CPU 214
Dung lượng chương trình tối đa mở có thể đạt được là-4 kb word Tổng số
1/O max tương đối lớn, khoảng 256 L/O Số module mở rộng tuỳ theo CPU như ngõ ra xung, high speed counter, đồng hô thời gian thực
Module mở rộng đa dạng, nhiều chủng loại như analog, xử lý nhiệt độ, điều khiển vị trí, module mạng
$7-200 CPU được thiết kế để thực thi tuần hoàn một chuỗi các công viéc (bao gồm chương trình của bạn) Việc thực thi tuân hoàn các công việc này được
gọi là chu kỳ quét (scan cycle) và thời gian thực hiện một chu kỳ này được gọi là thời gian quét (scan time) Trong một chu kỳ quét CPU thực hiện các công việc
theo thứ tự sau:
=_ Đọc các ngõ Vào
m Thực thi chương trình
" Xử lý bất cứ yêu cầu truyền thông nào = Thực thi chẩn đoán tự kiểm tra CPU
« Ghira cdc ngo ra
Chuỗi công việc được thực thi trong chu kỳ quét thì phụ thuộc vào chế độ
làm việc của CPU S7-200 CPU có hai chế độ làm viéc: chế độ STOP và chế độ
RUN Trong chế độ RUN thì chương trình được thực thi và trong chế độ STOP
thì chương trình không được thực thi
Trang 9Chương II: PLC Š7-200
Một chu kỳ quét
Ghi ra các ngõ “er Nd
Thực thi chan doan
tự kiểm tra CPU
Đọc các ngõ vào
Thực thi chương trình
Xử lý bắt cứ yêu cầu
truyền thông nào
Hình 2: Chu kỳ quét của S7 — 200 CPU IL3/ Đặc tính kỹ thuật
IL3.1/ Các thông số kỹ thuật
Họ PLC S7 - 200 có nhiều loại tu y theo CPU, mỗi loại có thông số
kỹ thuật khác nhau Trong phạm vi luận án này tìm hiểu chủ yếu về CPU 214
Dưới đây là bắng thông số kỹ thuật của CPU 214 Thông số kỹ thuật Giá trị Điện thế cung cấp 120 V AC - 2230 V AC
e Mức điện thế tối thiểu 85 V AC
e Mức điện thế tối đa 264 V AC
e Tần số hoạt động tối thiểu 47 Hz e Tần số hoạt động tối đa 63 Hz Điện thế và dòng điện
=_ Điện thế tải L+ 24V - Mức tối thiểu cho phép 5V - Mức tối đa cho phép 30V
s Điện thế tảiLI 100V; 100 -> 230V AC
- Mức tối thiểu cho phép 5V
- Mức tối đa cho phép 250V - Tần số hoạt động tối thiểu 47Hz
- Tần số hoạt động tối đa 63Hz Dòng tiêu thụ
s=_ Inrush current, maX 20A, tại 264 V
Trang 10Chương II: PLC 37-200 LUẬN ÁN TỐT NGHIỆP
Bộ nhớ T2048 tir don (4K byte) thuộc mién | nhớ doc/ghi non-volatile để lưu
chương trình (vùng nhớ có giao tiếp
với EEPROM)
2048 từ đơn (4K byte) kiểu đọc/ghi để lưu trữ dữ liệu, trong đó 512 từ
đầu thuộc miễn non-volatile
688 bit nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc vO 14 céng vao logic ° 10 cổng ra logic Tổng số cổng vào/ra cực đại là 64 cổng vào và 64 cổng ra
Module mở rộng Có 7 module để mở rộng thêm cổng
vào/ra bao gồm cả module analog Timer (bộ định thì) 128 Timer chia làm 3 loại theo độ phân giải khác nhau: 4 Timer lms 16 Timer 10ms 108 Timer 100ms Counter (b6 đếm) 128 Counter chia lam 2 loai: Chỉ đếm tiến Vừa đếm tiến, vừa đếm lùi
Các chế độ ngắt và xử lý ngắt Ngắt truyền thông Ngắt theo sườn lên
Ngắt theo sườn xuống Ngắt thời gian Ngắt của bộ đếm tốc độ cao Ngắt truyền xung Bộ đếm tốc độ cao Bao gồm 3 bộ đếm tốc độ cao với nhip 2 KHz va 7 KHz Bộ phát xung
Bao gồm 2 bộ phát xung nhanh cho
Trang 11Chương II: PLC S7-200
Mô tả các đèn báo trên 57 ~ 200 CPU 214:
SF (đèn đỏ) Đèn đồ SF báo hiệu hệ thống bị hỏng Đèn SE sáng lên khi PLC có hỏng hóc
RUN (đèn xanh) Đèn xanh RUN chỉ định PLC đang 6
chế độ làm việc và thực hiện chương trình được nạp vào trong may
STOP (dén vang) Đèn vàng STOP chi dinh rang PLC dang 6 chế độ dừng Dừng chương trình đang thực thi hiện tại
1x.x (đèn xanh) Đèn xanh ở cổng vào chỉ định trạng
thái tức thời của cổng Ix.x (x.X : Ö 0— 1.5) Đèn này báo hiệu trạng thái của tín hiệu theo giá trị.logic của cổng Qy.y (đèn xanh) Đèn xanh Ở cổng ra báo hiệu trạng
thái tức thời của cổng Qy.y (ÿ.ÿ : 0.0 - 1.1) Đèn này báo hiệu trạng thái
của tín hiệu theo giá tri logic của cổng
I.3.2/ Cổng truyền thông:
Trang 12Chương II: PLC 57-200 LUẬN ÁN TỐT NGHIỆP
Ghép nối S7 — 200 với máy tính PC qua cổng RS232 cần có cáp nối PC/PPI với bộ chuyển đổi RS232/RS485 S7-200 PLC _ Máy tính \ Z MPI Card RS485 S7-200 PLC —L †— R PC/PPI Ỷ COM RS485 (RS232)
Hai cách ghép nối máy tính với PLC S7-200 để truyền thông
1L3.3/ Công tắc chọn chế độ làm việc cho PLC
Công tắc chọn chế độ làm việc nằm phía trên, bên cạnh các cổng ra của
$7 _ 200 có ba vị trí cho phép chọn các chế độ làm việc khác nhau cho PLC = RUN: cho phép PLC thuc hiện chương trình trong bộ nhớ PLC S7 -
200 sẽ rời khỏi chế độ RUN và chuyển sang chế độ STOP nếu trong máy có sự cố, hoặc trong chương trình gặp lệnh STOP, thậm chí ngay
cả khi công tắc ở chế độ RUN Nên quan sát trạng thái thực tại của
PLC theo đèn báo
s STOP : cưỡng bức PLC dừng công việc thực hiện chương trình đang
chạy và chuyển sang chế độ STOP Ở chế độ STOP, PLC cho phép
hiệu chỉnh lại chương trình hoặc nạp một chương trình mới
„ TERM : cho phép máy lập trình tự quyết định một trong chế độ làm
việc cho PUC hoặc & RUN hoac 6 STOP
11.3.4/ Pin va nguén nudi bé nhé
Nguồn nuôi dùng để ghi chương trình hoặc nạp một chương trình mới Nguồn pin có thể được sử dụng để mở rộng thời gian lưu trữ cho các dữ liệu có trong bộ nhớ Nguồn pin tự động được chuyển sang trạng thái tích cực nếu như dung lượng tụ nhớ bị cạn kiệt và nó phải thay thế vào vị trí đó để dữ liệu trong bộ nhớ không bị mất di
Trang 13
Chương II: PLC 57-200
IIL4/ Cấu trúc bộ nhớ
1I4.1/ Phân chia bô nhớ
Bộ nhớ của Š7 — 200 được chia thành 4 vùng với mỗi tụ có nhiệm
vụ duy trì đữ liệu trong một khoảng thời gian nhất định khi mất nguồn Bộ nhớ $7 _ 200 có tính năng động cao, đọc và ghi dữ được toàn vùng, ngoại trừ phần các bit nhớ đặc biệt được ký hiệu bởi SM (Special Memory) chi c6 thé truy nhap dé doc EEPROM Vùng nhớ ngồi ———¬ | Chuong trinh | <—> Chương trình | <——®> Chương trình _ Tham số ` ma Tham số «> Tham số Tụ Diiu | @đẦ—>| Diệu | S—* Dữ liệu Vùng đối tượng _
Bộ nhớ trong và ngoài của Š7-200
Vùng chương trình: là vùng bộ nhớ được sử dụng để lưu trữ các lệnh chương trình Vùng này thuộc kiểu non — volatile đọc/ghi được
Vàng tham số: là vùng lưu giữ các tham số như: từ khoá, địa chỉ trạm
Cũng giống như vùng chương trình, vùng tham số thuộc kiéu non — volatile
đọc/ghi được
Vùng đữ liệu: được sử dụng để đặ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, hằng số được định nghĩa trong chương trình, bộ đệm
truyền thông Một phần của vùng nhớ này (1K byte đầu tiên đối với CPU 214 thuộc kiểu non - volatile đọc/ghi được)
Trang 14Chương II: PLC 57-200 LUẬN ÁN TỐT NGHIỆP
Vùng déi tugng: Timer (bộ định thi), counter (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 Vùng này không thudc kiéu non — volatile nhung doc/ghi được
11.4.2/ Vùng dữ liêu:
Vùng đữ liệu là một vùng nhớ động Nó có thể được truy nhập theo từng bit, từng byte, từng word hoặc theo từng double word và được sử dụng
làm vùng lưu trữ dữ liệu cho các thuật tố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 đữ 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 ra thành những vùng nhớ nhỏ với các công dụng khác nhau
« V: Variable Memory = |: Input image register « Q: Output image register = M: Internal memory bits
» SM: Special memory bits
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng word, hoặc double word
Trang 15Chương II: PLC 57-200 MSB LSB MSB LSB 7 0 7 0 vo » VO Non-volatile storage Variable Memory ; Non-volatile storage of V0 - V199 ‘ (Read/Write) of Vũ - V199 V199 V199 V200 V200 Variable Memory › ` ‘ (Read/Write) : e Cc V1023 p V1023 P U 10.7 10.0 10.7 10.0 2 2 Input Image 1 <—— Register — 1 2 (Read/Write) 4 17.7 17.0 17.7 17.0 D D a Q0.7 Q0.0 Q0.7 Q0.0 a t Output Image t -®— Register — a a (Read/Mrite) Q7.7 Q7.0 Q7.7 Q7.0 M M e |M0.7 M0.0 M0.7 M0.0 m m Internal Memory Bits : ° ‘ (Read/Write) , ° r [15.7 M15.0 M31.7 MO - y y SM0.7 SM0.0 SM0.7 SM0.0 ‘ Special Memory Bits , (Read Only) SM29.7 SM29.0 SM29.7 SM29.0 SM29.7 SM29.0 SM29.7 SM29.0 Special Memory Bits (Read/Write) SM29.7 SM29.0 SM29.7 SM29.0 Cách định địa chỉ
Có hai cách định địa chỉ: trực tiếp và gián tiếp Định địa chỉ trực tiếp qua vùng đữ liệu
Để truy cập một bít trong vùng dữ liệu ta phải dùng địa chỉ, nó gồm có danh hiệu vùng nhớ, địa chỉ byte và số thứ tự của bịt trong byte Thí dụ 3.3 minh họa truy cập một bit (mà cũng còn được gọi là định danh địa chỉ “byte bit”) Trong thi du nay, vung nhớ và địa chỉ byte được theo sau bởi dấu chấm (“.”) để phân cách địa chỉ bit
Trang 16
Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP MSB LSB 7 654 3 2 1 0 10 13.4 11 Lựờ Bit dữ liệu † it dữ liệu truy cập: bị 4p: bit 4 trong 8 bit g 12 13 13.4 Dầu phân cách giữa địa chỉ byte 14 và bit truy cập 15 Địa chi byte: byte 3 (0 - 15) 16 17 Vùng dữ liệu: ! = input 18 19 woe ; 110
MSB : Bit cao (most significant bit) "1 LSB : Bit thdp (least significant bit) H2 113 114 115
Hình 3.3: Truy cập một bịt dữ liệu trong bộ nhớ CPU (đánh địa chỉ byte.biÙ
Ta cũng có thể truy cập dữ liệu khác (V, |, Q, M, S, L va SM) theo byte,
word hay word kép bằng cách dùng dang địa chỉ byte, ta phải ghi rõ địa chỉ
tương tự như địa chỉ cho bit Như vậy ta phải chỉ danh hiệu vùng, kích thước dữ liệu và địa chỉ byte bắt đầu của giá trị byte, word hay word kép như ở hình 3.4
Dữ liệu trong vùng đối tượng dữ liệu được truy cập bằng cách dùng dạng địa chỉ gồm có danh hiệu vùng và số thiết bị
Trang 17Chương II: PLC S7-200 MSB LSB VB 100 7 0 L> Địa chỉ byte VB100 | VB100 Truy cập dữ liệu theo byte Vùng dữ liệu: V = Memow MSB LSB VW100
15 8í 0 | Ly» Bia chi byte
VW100 | VB100 VB101 | Truy cập dữ liệu theo word A Vùng dữ liệu: V = Memory Byte cao Byte thap MSB LSB 34 24 23 46 15 8 7 0 VD100 VB100 VB101 VB102 VB103 VD 100 | L> Địa chỉ byte MSB : bit cao Truy cập dữ liệu theo word kép ad (double word) LSB : bit thap Vùng dữ liệu: V = Memory ;
Hinh 3.4: So sach truy cap byte, word, và word kép với cùng địa chỉ byte
Định địa chỉ thanh ghỉ nhập ảnh quá trình (] Dạng:
Bit I [byte address ].[bit address] Byte, word, double word I [size][starting byte address]
Với :
- byte address = dia chi byte
_ bite address = dia chi bit
-_ size = kích thước (B = Byte, W = Word, D = Double word)
Ví dụ : 10.1, IB4, IQ2
Định địa chỉ cho các vùng nhớ có dạng tương tự: Dạng:
Bit [area identifier ][byte address].[bit address] Byte, Word, Double word [area identifier ][size][starting byte address]
Trang 18
Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP
Với : area identifier (danh hiệu vùng) có thể là e Q= thanh ghi xuat (Output) ảnh quá trình
e V=vùng nhớ biết (Variable)
e M= vùng nhớ bít (Memory), để chứa các kết quả trung gian hay thông
tin điều khiển
e S = vùng nhớ rơ-Ìe điều khiển tuần tu (sequence control relay area) dùng để phân đoạn logic chương trình điều khiển
e SM = vùng nhớ đặc biệt (Special Memory) ding lam phương tiện truyền tin giữa CPU và chương trình Ta có thể dùng các bit này để
chọn và điểu khiển một số chức năng đặc biệt của CPU như :
o_ Bit= 1 ở chu kỳ quét thứ nhất o_ Các bitON/OEF với tốc độ cố định
o_ Các bit cho thấy trạng thái của các lệnh toán học
e L7 vùng nhớ cục bộ (Local) có 64 byte, nhưng ta chỉ có thể sử dụng 60 byte dùng làm vùng nhớ nhấp hay để chuyển các tham số hình thức cho các trình con Vùng nhớ này có phạm vi cục bộ, còn vùng nhớ V thì có phạm vi toàn cục
Ví dụ : Q2.0, QB5, V10.2, VW100, M26.7, MD2, S3.1, SB4, SM0.I Định địa chỉ các đối tượng dữ liệu
e Với timer có dạng: T[timer number] e V6icounter c6 dang: C[counter number]
e_ Với nhập Analog(AI): AlW/[starting byte address] e V6i xuat Analog(AQ): AQW(starting byte address] e V6i cdc thanh ghi tích luỹ: AC{accumulator number]
o Accumulator number : số thanh ghi tích luỹ (0, 1, 2 hoặc 3)
o Thanh ghi tích luỹ có chiều dai 32 bit
e V6i bd đếm tốc độ cao (HC): HC{[high-speed counter number] Vi du: Ti, CO, ATWO, AQwW4, ACO, HC1
Sử dụng các hằng số
Ta có thể sử dụng giá trị hằng trong nhiều lệnh S7 - 200 Các hằng số CÓ
thể có kích thước byte, word, hay double word CPU chứa tất cả các hằng số
bằng số nhị phân mà có thể được biểu diễn theo dạng thập phân, thập lục phân (Hexa), ASCII hoac dấu chấm động
Các đạng như sau:
e Thập phân: [giá trị thập phân]
e Hexadecimal: 16#[ gid trị thập lục phân]
« ASCH: “[văn bản ASCIH”
Trang 19Chương II: PLC S7-200 Thực hay chấm động: ANSILIEEE 754-1985 e Nhị phân: 2#[giá trị nhị phân] Ví dụ: e Thập phân: 220 e Hexadecimal: 16#4A5B e ASCII: ‘SIMATIC S7’ e Thực: +1.12E2 e Nhị phân: 2#1010_0101_1011_0111
11.4.3/ Ving đối tượng
Vùng đối tượng được sử dụng để lưu giữ đữ 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, bộ đếm, 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 đó
Vùng nhớ đối tượng được phân chia như sau:
CPU 212 Data Object CPU 214 Data Object MSB LSB MSB LSB 7 0 7 0 T0 TO - TÔ TO Timers — Timer (RW) ( ' ) Bits T63 T63 T127 T127 ( ) co co ren” co Counters Counter Counter (R/W) Bits Bits RAW RW c63 c63 ( ) C127 C127 ( ) Analog Inputs (Read Only) Analog Outputs (Write Only) MSB Accumulator LSB Registers (Read/Write) AC3 High-Speed HCO
Counters HC1 (CPU 214 only)
(Read Only) HCz (CPU 214 only)
Trang 20Chương II: PLC Š7-200 LUẬN ÁN TỐT NGHIỆP
IL5/ Mở rộng cổng vào/ra
CPU 214 cho phép mở rộng nhiều nhất 7 module Các module mở
rộng tương tự và sỐ đều có trong S7 — 200
Có thể mở rộng cổng vào/ra của PLC bằng cách ghép nối thêm vào nó các module mở rộng về phía bên phải của CPU, làm thành một móc xích Địa chỉ của các vị trí của module được xác định bằng kiểu vào/ra và vị trí của module trong móc xích, bao gồm các module có cùng kiểu Ví dụ như một module cổng ra không thể gán địa chỉ của một module cổng vào, cũng như một module tương tự không thể có địa chỉ như một module số và ngược lại
Các module mở rộng số hay rời rạc đều chiếm chỗ trong bộ đệm, tương ứng với số đầu vào/ra của module
Sau đây là một ví dụ về cách đặt địa chỉ cho các module mở rộng trên CPU 214
Module 0 | Module 1 Module2 | Module 3 Module 4 | (4 vào/4 8 vao 3 vao analog 8 ra 3 vao analog
ra) /1 ra analog ; / 1 ra analo 12.0 13.0 ATWO Q3.0 AIW8 12.1 13.1 AIW2 Q3.1 AIW10 12.2 13.2 AIW4 Q3.2 AIW12 12.3 13.3 Q3.3 10.4 Q0.4 13.4 AQWO Q3.4 AQW4 10.5 Q0.5 Q2.0 13.5 Q3.5 10.6 Q0.6 Q2.1 13.6 Q3.6 107 Q0.7 Q2.2 13.7 Q3.7 11.0 Q1.0 Q2.3 I1.1 Qld 11.2 11.3 11.4 11.5 11.6/ Két néi mang
57 — 200 có nhiều phương thức kết nối mạng khác nhau như:
= Mang Master don: kết nối với 1 hoặc nhiều slave
Trang 22
Chương II: PLC 57-200 LUẬN ÁN TỐT NGHIỆP
= Mang Modem ngudi ta dùng 11 bit: một master có thể kết nối với
1 hoặc nhiều slave, master này được nối với Ì modem 11 bit xem
là một mạng sÌave
= Mang modem ngudi ding 10 bit: mot master co thể kết nối với
một PLC $7 — 200, master này được kết nối với 1 modem 10 bit
xem là một mạng sỈave
= Mang Profibus: \a loại mạng chuẩn được sử dụng rất rộng rãi
Tóm lại S7 - 200 có 3 loại mạng chính:
= Mang PPI (Point — to — point Interface) = Mang MPI (Mutipoint Interface)
«= Mang Profibus 1IL7/ Tâp lênh của S7 — 200
IL7.1/ Các lệnh tiếp điểm Bool
a/ Các tiếp điểm chuẩn ( Standard Contacts)
Các lệnh này có được giá trị tham chiếu từ vùng nhớ hoặc thanh ghi ảnh quá trình nếu kiểu dữ liệu này là I hoặc Q Ta có thể sử dụng tối đa
7 ngõ vào cho các hộp AND hoặc các hộp OR
Tiếp điểm NO (Normally Open = bình thường hở) bị đóng khi bít bằng 1 (xem hình trên trong hộp LAĐ)
Tiếp điểm NC (Normally Clos© = bình thường đóng) bị đóng khi bít bằng
0 (xem hình dưới trong hộp LAD)
Trong LAD các lệnh NO và NC được biểu diễn bằng các điểm Trong FBD các lệnh NO được biểu diễn bằng các hộp AND/OR
Các lệnh này có thể được dùng để xử lý các tín hiệu Bool giống như các
tiếp điểm hình thang (ladder) Lệnh NC cũng được biểu diễn bằng các hộp
nhưng có đặt thêm kí hiệu phủ định ở đầu vào
Trong STL, tiếp điểm NO được biểu diễn bằng các lệnh Load, And và Ôr Các lệnh này nạp vào (load), AND hoặc OR với đỉnh stack (ngắn xếp) Trong STL, tiếp điểm NC được biểu diễn bằng các lệnh Load Not, And Not và Or Not Các lệnh này nạp vào phủ định bit, phủ định bít AND hoặc với phủ định bit OR
với đỉnh stack (ngăn xếp)
Todn hang bit co dang : [area identifier ][byte address ].[ bit address]
Trang 23Chương II: PLC 57-200 t _ m" AND LD bít | — A °o bit bít bit a oR —_ LN i / | — ON bít STL LAD FBD
b/ Phép toán AND ( VÀ logic )
Mỗi thanh ngang (rung) hay mạng (network) trong SƠ đồ hình thang biểu diễn một phép toán logic Thí dụ sau minh hoa phép toán AND, có hai tiếp
điểm và cuộn dây ra được đặt trong Network 1, chúng ta có các địa chỉ
lần lượt
là I0.0, I0.1 và Q0 0 Chú ý là trong dạng STL thì một phép tốn logic mới ln
ln bắt đầu bằng lệnh Load (LD có nghĩa là nạp tải , tải vào) Trong thí dụ nay cả hai ngõ vào đồng thời bằng l thì ngõ ra mới bằng một Network 1 10.0 10.1 Q0.0 Network 1 Network 1 LD 10.0 AND A 10.1 ¡0.0 — — Q0.0 = Q0.0 10.1—
Hình 3.5 :Thí dụ phép toán AND ( dạng LAD, STL , FBD)
Bảng chân trị của phép toán logic AND và OR được cho trong hình 3.6
Trang 24| Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP Input 1 — Output 1 Input 3 Output 2 Input2 —= Input 4 Input 4 Input 2 | Output 1 Input 3 | Input 4 | Output 2 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 4 1 4 1 4 1 (a) Phép toán AND (b) Phép toán OR
Hình 3.6: Bảng chân trị của AND (A) và OR (O) có hai ngõ vào
c/ Phép toán OR (HOẶC logic)
Trong thí dụ này (xem hình 3.7) phép toán OR được sử dụng trong Network 1 Ngõ ra Q0.1 bằng 1 khi ngõ ra 10.2=1 hoặc ngõ vào 10.3=1, hoặc cả hai ngõ vào bằng l Network 1 10.2 Q0.1 —| |-—+—_{ ) Network 1 Network 1 LD (10.2 10.3 o 10.3 10.2 OR q04 | | | = Q0.1 10.3 —— Hình 3.7 :Thí dụ phép toán OR ( dạng LAD, STL , FBD)
d/ Cac tiép diém titc thoi (Immediate contacts)
Lệnh tiếp điểm tức thời dùng để lấy giá trị vào thật khi lệnh đang thực thi, nhưng nó không cập nhật thanh ghi ảnh quá trình, nghĩa là lấy giá trị hiện tại
của bịt
Ở dạng LAD thì lệnh này tương đương lệnh tiếp điểm chuẩn nhưng có thêm chữ I (Immediate = tức thời) ở bên trong tiếp điểm
Trang 25Chương II: PLC 57-200 bit LDI bit ol bit it bt I LDNI bít — | —_— ANI bit (b) ONI bit (a) (c)
IL7.2/ Các lệnh xuất Bool
Các lệnh xuất Bool gồm các lệnh sau :
e Xuất thông thường ( qua ảnh quá trình ) e Xuất tức thời
e Đặt, xoá một số bit ( qua ảnh quá trình )
e_ Đặt xoá một số bit tức thời
a/ Xuất bit thông thường (Output)
bit bit
—{ ) _| = = bit
STL
LAD FBD
Khi thực thi lệnh xuất bit thì bit được cập nhật trong ảnh quá trình
Ở dạng LAD và FBD, khi thực thi lệnh xuất thì bit được đặt bằng trị logic
có được ở luồng năng lượng (power flow)
G dang STL, lénh xuất sao chép hình Stack vào bit Toán hạng bit có dạng :
[ area identifier ] [ byte address ].[ bit address] Véi area identifier co thé 1a I, Q, M, SM, T, CV, 5S, L
b/ Xuất bit tite thoi (Output immediate )
Trang 26
: Chương II: PLC S7-200 LUAN AN TOT NGHIEP bit bit = =I bit STL LAD FBD Khi thực thi lệnh xuất bit tức thời thì ngõ ra thật được cập nhật tức thời
chứ không phai đợi đến cuối chu kì quét như xuất thông thường
Dạng lệnh như lệnh xuất thông thường , nhưng có thêm chil
Toán hạng bit ở đây có dạng :
Q[byte address] [bitaddress]
c/ Set, Reset(N bits ) bit ) bit — S Ss N — | N S bit, N bit bit R bit, N —{ R ) R _ STL | —¬ÀN Ị N FBD LAD Khi lệnh Set (đặt cdc bit 1én 1) va Reset (xoá các bít về 0) được thực th thì nó sẽ tác động đến N bits kể từ bit |
Giá trị của N từ 1 đến 255 Khi toán hạng của Reset là T hay C thì bit Time hay
bit Counter bi xo4 va gia tri hién tai cua time/counter bi x04 Toán hạng bit có dạng :
[ area identifier ][byte address] [pbit address]
vdi area identifier co thể là I, Q, M, SM,T, C,V,S,L -
Trang 27Chương II: PLC S7-200 d/ Set, Reset (N bits) túc thời bit ) bit SI SI N —N SI bit,N bit bit RI bit, N —{ RI —N RI STL N | FBD LAD Tương tự với lệnh Set, Reset thông thường nhưng lúc này nó tác động tức thời đến các toán hạng
Giá trị số của N trong các lệnh này từ 1 đến 128
Dạng lệnh tương tự, nhưng lúc này có thêm chữ I Giá trị mới được ghi
vào cả ngõ ra thật và vị trí ở thanh ghi ảnh quá trình tương ứng (khác với Set,
Reset thông thường chỉ ghi giá trị mới vào thanh ghi ảnh quá trình) Các thí dụ về lệnh xuất được cho trong hình 3.8
Trang 29Chương II: PLC $7-200 Gian đổ định thì cho hình 3.8(a) được cho tron hình 3.8(b) Lược đồ thời gian 10.0 —— emef Q0.0 ———-—-.-. - Q0.2 ——.-Ỷ-Ỷ-Ỷ-Ỷ-srỶ.r-r Q0.3——””D
Hình 3.8(b): Giản đô định thì của thí dụ trong hình 3.8(a)
11.7.3/ Các lênh nhảy và gọi trình con
Trang 30Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP Lệnh JMP n này thực hiện rẽ nhánh chương trình đến chỗ có nhãn là n (tên nhãn n này được khai báo bằng lệnh LBL n ở đầu đoạn chương trình
cần rẽ
nhánh đến)
Giá trị của n : 0 đến 255
Cả hai lệnh JMP n va LBL n tương ứng phải ở trong cùng chương trình (chính, trình con, hay phục vụ ngắt) Nghĩa là ta không thể rẽ nhánh chương trình từ chương trình chính đến nhãn ở trình con hay trình phục vụ ngắt, tương
tự như vậy với trình con và trình phục vụ ngắt
Thí dụ về lệnh nhảy được cho trong hình 3.9 LAD STL Network 14 SM0 Network r |! re (ome) LDN SM0.2 Network 33 4 Network LBL LBL 4 FBD Network 14 4 SM0.2 JMP Network 33 4 LBL
Hình 3.9: Thí dụ về lệnh nhầy đến nhãn ở các dạng LAD, EBD và STL
Chú thích cho hình 3.9: Nếu dữ liệu lưu giữ không bị mất thì nhảy đến nhãn 4
(chỗ LBL 4)
Trang 31
Chương II: PLC S7-200
b/ Lênh gọi trình con ( subroutine) và quay về từ trình con
Lệnh gọi subroutine (dạng lệnh ở phần trên ở các dạng LAD/FBD/STL) chuyển điều khiển đến subroutine n Ta có thể sử dụng lệnh gọi subroutine có hoặc không có các tham số SBR SBRn —|EN EN SBR n CRET ———(r') RET STL LAD FBD
Lệnh quay về có điểu kiện từ subrouune được đùng để kết thúc
subroutine dựa vào logic trước đó nếu cho kết quả là logic Ì
Trang 32Chương II: PLC S7-200 LUAN AN TOT NGHIEP LAD STL MAIN SM0.1 LD SM0.1 SBR10 ———— EN CALL 10 SUBROUTINE 10 Network 6 wae tr) a M4 3 CRET FBD MAIN SBR10 SM0.1 —=|EN SUBROUTINE 10 RET M14.3 ——† Hình 3.10: Ví dụ về lệnh goi subroutine Ta có thể gọi trình con với độ sâu tối đa là 8 (nghĩa là đặt gọi subroutine trong subroutine) với trình biên dịch này không cho phép sử dụng gọi trình đạng
đệ quy (nghĩa là subroutine gọi chính nó)
Khi một subroutine được gọi thì toàn bộ “logic stack” được lưu
trữ, đỉnh của stack được đặt lên 1, tat ca cdc 6 nhớ stack khác được đặt
giá trị là 0, và
Trang 33Chương II: PLC 57-200
c/ Goi subroutine với các tham số
Các subroutine có thể chứa các tham số được truyền Các tham số này
được định nghĩa trong bảng biến cục bộ của subroutine Các tham số phải có
một tên ký hiệu (tối đa 8 ký tự), kiéu bién (variable type), va kiểu dữ liệu (data
type) Ta có thể truyền 16 tham số đến hoặc từ một subroutine
Vùng kiểu biến ở trong bảng biến cục bộ định nghĩa biến được truyền vào subroutine (IN), đưa vào và lấy ra khỏi subroutine (IN_OUT), hoặc lấy ra từ subroutine (OUT) Đặc tính của các kiểu tham số như sau:
e IN: các tham số được truyền vào subroutine Nếu tham số là địa chỉ trực tiếp (như VB10), giá trị Ở chỗ vị trí cụ thể được truyén vao
subroutine Nếu tham số là địa chỉ gián tiếp (như *AC]), giá trị ở vị trí được chỉ tới được truyền vào subroutine Nếu tham số là hằng dữ liệu
(16#1234), hoặc địa chỉ (VB100), giá tri hằng số hoặc địa chỉ được truyền vào subroutine
e IN_OUT: gid tri Ở vị trí tham số chỉ ta được truyền vào subroutine va
giá trị kết quả từ subroutine duge trả về cùng một chỗ Các hằng số
(như 16#1234) và địa chỉ (như &VB100) không được phép sử dụng
làm các tham số nhập/xuất
© OUT: gid tri két quả từ subroutine được về chỗ tham số xác định Các hằng số (như 16#1234) và địa chỉ (như &VB100) không được phép sử dụng làm các tham số xuất
© TEMP : bat cif ving nhớ cục bộ nào không dùng cho các tham số
truyền thì có thể được dùng làm vùng nhớ tạm trong subroutine LAD STL x SBR10 ¬| TEN 10.1 —| |————M! OUT1 |— YVD200 ID 19 VB10 —IN2 CALL 10,101,VBI0, 11.0, &VB100, 11.0 —|IN3 *ACI, VD200 &VB100 —|IN4 *AC1 —|IN/OUT
Hinh 3.11 : Thi du goi subroutine trong LAD va STL
Trang 34Chuong II: PLC S7-200 LUAN AN TOT NGHIEP
Không có việc thực hiện chuyển đổi dữ kiểu dữ liệu tự động ở
các tham
số nhập hay xuất Thí dụ nếu bảng biến cục bộ thì tham số
đó có kiểu dữ liệu là
Real và chương trình gọi sử dụng Dword cho nó thì giá
tri trong subroutine sé là Dword, không có chuyển đổi kiểu tự động
Khi các giá trị được chuyển cho subroutine thì chúng được đặt vào vùng nhớ cục bộ của subroutine Cột bên trái của bảng biến cục bộ (hình 5.19) chỉ địa chỉ cục bộ cho mỗi tham số được truyền Các giá trị tham số nhập được chép vào vùng nhớ cục bộ khi subroutine được gọi Các giá trị tham số xuất được chép từ vùng nhớ cục bộ cia subroutine đến các địa chỉ của tham số
xuất khi hoàn tất
thực thì subroutine Kich thước và kiểu phần tử dữ liệu được
biểu diễn trong việc mã các tham số Việc gán các giá trị tham số vào vùng
nhớ cục bộ trong subroutine như sau:
e Các giá trị tham số được gán vào vùng nhớ cục bộ theo thứ
tự được chỉ ra bởi lệnh gọi subroutine với các tham số bắt dau 6 L0.0
e Các giá trị tham số từ 1 đến 8 bit liên tiếp được gán vào một byte bắt đầu bằng Lx.0 và tiếp tục đến Lx.7 e Cac gid tri byte, word, va dword được gần vào tương ứng LBX, LWx hay LDx Trong lệnh goi subroutine có tham số thì các tham số phải được sắp xếp theo thứ tự của danh sách tham số nhập trước rồi sau đó là các tham số nhập/suất, và rồi tiếp theo và các tham số xuất
Trang 35Chương II: PLC 57-200 FBD MAIN SBR10 SM0.1 EN SUBROUTINE 10 RET M14.3 —
Hình 3.12 : lệnh gọi trình con với các dạng LAD, STL, FBD
IL.7.4/ Các lệnh logic chuẩn
Các lệnh logic chuẩn gồm có các lệnh về timer(bộ định thì) và counter(bộ đếm)
a/ Các lệnh điều khiển 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ếu ký hiệu
tin hiéu (logic) vao 1a x(t) va thời gian trễ được tạo ra bằng Timer là + thì tin
hiệu đầu ra của Timer đó sẽ là x(t - 7)
$7 _ 200 có 64 Timer (với CPU 212) và 128 Timer (với CPU 214) được chia làm hai loại khác nhau, đó là:
= Timer tao thdi gian tré khéng có nhớ (On — Delay Timer), ký hiệu là
TON
= Timer tao thdi gian trễ có nhớ (Retentive On — Delay Timer), ky hiéu
la TONR
Hai kiéu Timer cia $7 — 200 (TON va TONR) phân biệt với nhau ở phản
ứng của nó đối với trạng thái tín hiệu đầ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 biệ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 điểm Timer được kích, và
không tính khoảng thời gian khi đầu vào có giá trị logic Ö vào thời gian trễ tín
hiệu được đặ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
Trang 36
Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP
Timer TON va TONR bao gôm 3 loại với ba bộ phân giải khác nhau, độ phân giải lms, 10ms và 100ms Thời gian trễ t đượ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ụ một bộ Timer có độ phân giải bằng 10ms và giá trị đặt trước là 5Ö thì thời gian trễ sẽ là + = 500ms
Timer của S7 — 200 có những tính chất cơ bản như 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á tri đếm tức thời của Tìme€r được nhớ tron§
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 $0 sánh với giá trị đặt trước của Timer
»> 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 bằng T-bit, chỉ thị trạng thái logic
đầu ra Giá trị logic của bịt 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 ,
Trang 37Chương II: PLC 57-200 LAD FBD STL 1.1 T2 T2 IN TONR Ji —ỊIN TONR ID BH 40 —| PT +10 —| PT TONR 12,10 Lược đồ thời gian A | I | ! I { | l 1 I „<7 Gia trị CỰC mm \ 1 1 i dai = 32767 ! | PT =10 T2 (current) Ị | T2 (bit)
Hình 3.14: Ví dụ lệnh TONR với dạng LAD, FBD va STL
Chú ý: 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
Các Timer được đánh số từ Ö đến 63 (với CPU 212) hoặc từ 0 đến 127
(với CPU 214) Một Timer được đặt tén 1A Txx, trong d6 xx là số hiệu của
Timer Txx đồng thời cùng là địa chỉ hình thức của T-word và T-bit của Timer
đó Tuy chúng có cùng địa chỉ hình thức, song T-word và T-bit vẫn được phân
biệt với nhau nhờ kiểu lệnh sử dụng với TX% Khi dùng lệnh làm việc với word,
Txx được hiểu là địa chỉ của T-word, ngược lại khi sử dụng lệnh làm việc với tiếp điểm, Txx được hiểu là địa chỉ của T-bit
Một Timer đang làm việc có thể được đưa lại về trạng thái khởi động ban
đầu Công việc đưa một Timer về trạng thái ban đầu được gọi là reset Timer đó Khi reset một Timer, T-word và T-bit của nó đồng thời được xoá và có giá trị bằng 0, như vậy gia 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 Có thé reset bất cứ bộ Timer nào của S7 -200 bằng
lệnh R(reset) Điều đó nói rằng, khi dùng lệnh R cho T-bit của một Timer,
Timer đó sẽ được đưa về trạng thái ban đầu và lệnh R cho một Txx vừa xoá T-
word, vừa xoá T-bit của Timer đó
Có hai phương pháp để reset một Timer kiểu TON:
Trang 38
Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP
- Xoá tín hiệu đầu vào hoặc
- Dùng lệnh RŒese0)
Dùng lệnh R là phương pháp duy nhất để reset các bộ Timer kiểu TONR Đặt giá trị 0 cho giá trị đếm tức thời của một Timer cũng không thể xoá T-bit của Timer đó Cũng như vậy, khi đặt một giá trị logic 0 cho T-bit của một Timer khơng thể xố giá trị đếm tức thời của Timer đó Cú pháp reset một Time Txx bằng lệnh R là:
R Txx KI
Sau khi các bộ Timer được kích, chúng làm việc độc lập với vòng quét (scan), tức là thời điểm PLC cập nhật T- word và T- bịt để thay đổi giá trị đếm tức thời và trạng thái logic của T-bit Tuy nhiên tần số cập nhật phụ thuộc rất nhiều vào độ phân giải của Timer
Cập nhật Timer có độ phân giải Ims:
CPU của S7- 200 có các bộ Timer có độ phân giải 1ms cho phép PUC cập nhật và thay đổi giá trị đếm tức thời trong T-word mỗi 1ms mỗi lần Các bộ
Timer với độ phân giải thấp này có khả năng điều khiển chính xác các thao tác Ngay sau khi bộ Timer với độ phân giải lms dude kích, việc cập nhật để
thay đổi giá trị đếm tức thời trong T-word hoàn toàn tự động Chỉ nên đặt gid tri
rất nhỏ cho PT của bộ Timer có độ phân gidi lms Tan số cập nhật để thay đổi
giá trị đếm tức thời và của T-bit của một bộ Timer có độ phân giải 1ms không phụ thuộc vào vòng quét (scan) của bộ điều khiển và vòng quét của chương
trình đang chạy Giá trị đếm tức thời và T-bit của bộ Timer này có thể được cập
nhật vào bất kỳ thời điểm nào trong vòng quét và được cập nhật nhiều lần trong
một vòng quét nếu thời gian vòng quét lớn hơn 1ms
Do việc cập nhật T-word của Timer với độ phân giải lms hoàn toàn tự
động nên thời gian trễ đặt trước có thể bị trôi trong khoảng thời gian lms Bởi
vậy, ví dụ để có thể có được thời gian trế không dưới 56ms, nên đặt giá trị ban đầu cho PT là 57
Thực hiện lénh R(reset) đối với một Timer có độ phân giai lms dang 6 trang thái làm việc có nghĩa là đưa Timer đó về trạng thái ban đầu, giá trị đếm tức thời của Timer được đưa về 0 và T-bit nhận giá trị logic 0
Cập nhật Timer có độ phân giải 10ms
CPU của S7 - 200 có các bộ Timer với độ phân giải 10ms Sau khi đã
được kích, việc cập nhật T-word và T-bit để thay đổi giá trị đếm tức thời và trạng thái logic đầu ra của các bộ Timer này không phụ thuộc vào chương trình
và được tiến hành hoàn toàn tự động mỗi vòng quét một lần và tại thời điểm đầu
vòng quét
Trang 39
Chương II: PLC S7-200
Thực hiện lệnh R(reset) đối với mọi Timer có độ phần
giải 10ms đang Ở
trạng thái làm việc là đưa Timer về trạng thái ban đầu
và xoá T-word, T-bit của Timer Do việc cập nhật T-word cia Timer chỉ được thực hiện tự động mỗi vòng quét một lần, nên thời điểm thay đổi giá trị đếm tức thời và giá trị logic của T- bit cua Timer co thể bị trôi trong khoảng 10ms Bởi vậy, ví dụ để có thể tạo được khoảng thời gian trễ ít nhất là 140ms, nên chọn giá trị đặt
trước cho Timer có độ phân giải 1Ũms 1a PT = 15
Cap nhdt Timer cé dé phan gidi 100ms:
Hầu hết cdc bd Timer của S7 — 200 là các bộ Timer
với độ phân giải
100ms Giá trị để lưu trữ trong bộ Timer 100ms được tính tại đầu mỗi vòng quét
và thời gian để tính sẽ là khoảng thời gian từ đầu vòng quét trước đó Việc cập nhật để thay đổi giá trị đếm tức thời của Timer chỉ được tiến hành ngay tại thời điểm có lệnh khai báo cho Timer trong chương trình Bởi vậy quá trình cập nhật giá trị đếm tức thời không phải quá trình tự động và không nhất thiết phải được thực hiện một lần trong mỗi vòng quét ngay cả khi Timer đã được kích hoạt Đối với trường hợp một lệnh Timer 100ms được khai báo nhiều lần trong một vòng quét thì có thể xảy ra hiện tượng giá trị lưu trữ bị cộng
nhiều lần với giá trị đếm tức thời, vì vậy nên sử dụng lệnh
khai báo Timer
100ms chính xác một lần trong một vòng quét
b/ Các lệnh điều khiển Counter:
Counter là bộ đếm điều khiển chức nẵng đếm sườn xung trong Š — 200 Các bộ đếm của S7 — 200 được chia ra làm hai loại: bộ đếm tiến
(CTU) và bộ
đếm tiến/lùi (CT D)
Bộ dé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ố sườn xung
đếm được,
được ghi vào tha h ghi 2 byte của bộ đếm, gọi là thanh ghi C-word
Nội dung của 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 | vao một bit đặc biệt của nó, được gọi là
C-bit Trường hợp giá
trị đếm tức thời hỏ 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 đều có chân nối với tín hiệu điều khiển xoá để 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 quy đị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ứ logic là 1 hoặc khi lệnh Reset được thực hiện
với C-bit Khi bộ
đếm được resetj cả C-bit va C-word đều nhận giá trị 0
Trang 40
Chương II: PLC S7-200 LUẬN ÁN TỐT NGHIỆP
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à CŨ trong LAD hoặc bit thứ 3 của ngăn xếp trong STL, va dém lùi khi gặp sườn lên của xung vào cổng đếm lùi, được ký hiệu là CD trong LAD
hoặc bit thứ 2 của ngăn xếp trong STL
Giống như bộ đếm CTU, bộ đếm CTUD cũng được đưa về trạng thái khởi
phát ban đầu bằng 2 cách:
s Khi đầu vào logic của chân xoá, ký hiệu bằng R trong LAD hoặc
bịt thứ nhất của ngăn xếp trong STL có giá trị logic là 1, hoặc
= Bing lénh R(reset) với C-bit của bộ đếm
CTUD có giá trị đếm tức thời đúng bằng giá trị đang đếm và được lưu
trong thanh ghi 2 byte C-word của bộ đếm Giá trị đếm tức thời luôn được s0 sánh với giá trị đặt trước PV của bộ đếm Nếu giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước thì C-bit có giá trị logic bằng 1 Còn các trường hợp khác C-bit có giá trị logic bằng 0