Kỹ thuật lập trình PLC s7 200 thầy lâm quốc hưng là một cuốn sách rất tuyệt vời, nó giới thiệu cơ bản về kỹ thuật lập trình PLC s7 200 và làm nền tảng khác cho các họ s khác... tuyệt không các bạn vào tham khảo sách của thầy nhé
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
Giáo trình
KỸ THUẬT LẬP TRÌNH
PLC S7 – 200Biên soạn: Ks Lâm Quốc Hưng
Trang 2KHOA ĐIỆN – ĐIỆN TỬ
Giáo trình
KỸ THUẬT LẬP TRÌNH
PLC S7 – 200 Biên soạn: Ks Lâm Quốc Hưng
Lưu hành nội bộ
THÀNH PHỐ HỒ CHÍ MINH 2009
Trang 3MỤC LỤC
Chương 1
Tổng quát về PLC 5
I Khái niệm chung 5
II Cấu trúc và nguyên lý hoạt động của PLC 6
1 Cấu trúc PLC 6
2 Nguyên lý hoạt động của PLC 7
III Các hoạt động xư û lý bên trong PLC 10
1 Xư û lý chư ơng trình 10
2 Xư û lý xuất nhập 11
IV Các dạng chư ơng trình của PLC 12
V Các loại PLC 13
Chương 2 PLC Siemens S7 – 200 16
I Cấu trúc phần cư ùng S7 – 200 16
II Cấu trúc bộ nhớ 19
III Mở rộng cổng vào ra 22
IV Cấu trúc chư ơng trình PLC S7 – 200 24
V Thư ïc hiện chư ơng trình của PLC S7 – 200 25
VI Các vùng nhớ PLC S7 – 200 26
1 Các vùng nhớ 26
2 Định dạng dư õ liệu 26
Chương 3 Các tập lệnh của PLC S7 – 200 30
I Phư ơng pháp lập trình 30
II Các tập lệnh của PLC S7 – 200 30
1 Lệnh cơ bản 30
2 Lệnh so sánh 39
Trang 4Chương 4
Các lệnh điều khiển chương trình 83
I Gọi chư ơng trình con 83
II Lệnh điều khiển chư ơng trình 84
1 Lệnh nhảy JMP 84
2 Lệnh lặp FOR NEXT 84
III Lệnh ngắt 86
1 Ngắt thời gian 88
2 Ngắt truyền thông 89
3 Đếm vận tốc cao 99
IV Xư û lý tín hiệu analog 105
1 Đọc tín hiệu analog tư ø Modul EM231 105
2 Xuất tín hiệu analog qua Modul EM232 107
3 Modul EM235 107
V Lệnh PID 108
VI Lệnh đồng hồ 115
1 Lệnh đọc thời gian thư ïc READ_RTC 115
2 Lệnh ghi thời gian SET_RTC 116
BÀI TẬP CUỐI CHƯƠNG 4 118
HƯỚNG DẪN VÀ GIẢI BÀI TẬP 125
TÀI LIỆU THAM KHẢO 212
Trang 5Chương 1: Tổng quát về PLC
I Khái niệm chung:
PLC viết tắt của Programmable Logic Controller , là thiết bị điều khiển lậptrình đư ợc (khả trình) 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 Ngư ời sư û dụng có thể lập trình để thư ïchiện một loạt trình tư ï các sư ï kiện Các sư ï kiện này đư ợc kích hoạt bởi tác nhânkích thích (ngõ vào) tác động vào PLC hoặc qua các hoạt động có trễ như thờigian định thì hay các sư ï kiện đư ợc đếm Một khi sư ï kiện đư ợc kích hoạt thật sư ï,nó bật ON hay OFF thiết bị điều khiển bên ngoài đư ợc gọi là thiết bị vật lý.Một bộ điều khiển lập trình sẽ liên tục “lặp” trong chư ơng trình do “ngư ời s ư ûdụng lập ra” chờ tín hiệu ở ngõ vào và xuất tín hiệu ở ngõ ra tại các thời điểmđã lập trình
Để khắc phục như õng như ợc điểm của bộ điều khiển dùng dây nối ( bộ điềukhiển bằng Relay) ngư ời ta đã chế tạo ra bộ PL C nhằm thỏa mãn các yêu cầusau :
Lập trình dể dàng , ngôn ngư õ lập trình dễhọc
Gọn nhẹ, dể dàng bảo quản , sư ûa chư õa
Dung lư ợng bộ nhớ lớn để có thể chư ùa đư ợc như õng chư ơng trình phư ùctạp
Hoàn toàn tin cậy trog môi trư ờng công nghiệp
Giao tiếp đư ợc với các thiết bị thông minh khác như : máy tính , nốimạng , các môi Modul mở rộng
Giá cả cá thể cạnh tranh đư ợc
Các thiết kế đầu tiên là nhằm thay thế cho các phần cư ùng Relay dây nối
Trang 6Trong PLC, phần cư ùng CPU và chư ơng trình là đơn vị cơ bản cho quá trìnhđiều khiển hoặc xư û lý hệ thống Chư ùc năng mà bộ điều khiển cần thư ïc hiện sẽ
đư ợc xác định bởi một chư ơng trình Chư ơng trình này đư ợc nạp sẵn vào bộnhớ của PLC, PLC sẽ thư ïc hiện viêïc điều khiểûn dư ïa vào chư ơng trình này Nhưvậy nếu muốn thay đổi hay mở rộng chư ùc năng của qui trình công nghệ , ta chỉcần thay đổi chư ơng trình bên trong bộ nhớ của PLC Việc thay đổi hay mởrộng chư ùc năng sẽ đư ợc thư ïc hiện một cách dể dàng mà không cần một sư ï canthiệp vật lý nào so với các bộ dây nối hay Relay
II Cấu trúc và nguyên lý hoạt động của PLC:
1) Cấu trúc PLC:
PLC gồm các thành phần chính sau:
Khối CPU (vi xư û lý)
Khối nhớ RAM, ROM, EPROM, EEPROM
Trang 7Hình 1.1: Cấu trúc PLC
2) Nguyên lý hoạt động của PLC:
a) Đơn vị xử lý trung tâm: (CPU)
CPU điều khiển các hoạt động bên trong PLC theo tư øng bư ớc:
Bộ xư û lý sẽ đọc và kiểm tra chư ơng tr ình đư ợc chư ùa trong bộ nhớ.Thư ïc hiện thư ù tư ï tư øng lệnh trong chư ơng trình , se õ đóng hay ngắt
Máy tính Bộ lập trình
CPU
ModulexuấtPin nuôi
NguồnBộ nhớ
Tín hiệu raOn/OffAnalog
Contact chọn chếđộ làm việcRUN,MONITOR,STOP
220VAC
Trang 8b) Hệ thống bus:
Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều
đư ờng tín hiệu song song :
Address Bus : Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác
nhau
Data Bus : Bus dùng để truyền dư õ liệu
Control Bus : Bus điều khiển dùng để truyền các tín hiệu định thì và
điểu khiển đồng bộ các hoạt động trong PLC
Trong PLC các số liệu đư ợc trao đổi giư õa bộ vi xư û lý và các modul vào
ra thông qua Data Bus
Address Bus và Data Bus gồm 8 đư ờng, ở cùng thời điểm cho phéptruyền 8 bit của 1 byte một cách đồng thời hay song song
Nếu môït modul đầu vào nhận đư ợc địa chỉ của nó trên Add ress Bus , nósẽ chuyển tất cả trạnh thái đầu vào của nó vào Data Bus Nếu một địa chỉ bytecủa 8 đầu ra xuất hiện trên Address Bus, modul đầu ra tư ơng ư ùng sẽ nhận đư ợc
dư õ liệu tư ø Data bus Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõichu trình hoạt động của PLC
Các địa chỉ và số liệu đư ợc chuyển lên các Bus tư ơng ư ùng trong một thờigian hạn chế
Hêï thống Bus sẽ làm nhiệm vụ trao đổi thông tin giư õa CPU, bộ nhớ vàI/O Bên cạch đó, CPU đư ợc cung cấp một xung Clock có tần số tư ø 18 MHZ.Xung này quyết định tốc độ hoạt động của PLC và cung cấp các yếu tố về địnhthời, đồng hồ của hệ thống
c) Bộ nhớ:
PLC thư ờng yêu cầu bộ nhớ trong các trư ờng hợp :
Làm bộ định thời cho các kênh trạng thái I/O
Làm bộ đệm trạng thái các chư ùc năng trong PLC như định thời,đếm, ghi các Relay
Mỗi lệnh của chư ơng trình có một vị trí riêng trong bộ nhớ, tất cả mọi vịtrí trong bộ nhớ đều đư ợc đánh số, như õng số này chính là địa chỉ trong bộ nhớ
Địa chỉ của tư øng ô nhớ sẽ đư ợc trỏ đến bởi một bộ đếm địa chỉ ở bêntrong bộ vi xư û lý Bộ vi xư û lý sẽ tăng giá trị trong bộ đếm này lên một trư ớc khi
Trang 9xư û lý lệnh tiếp theo Với một địa chỉ mới , nội dung của ô nhớ tư ơng ư ùng sẽxuất hiện ở đầu ra, quá trình này đư ợc gọi là quá trình đọc
Bộ nhớ bên trong PLC đư ợc tạo bỡi các vi mạch bán dẫn, mỗi vi mạchnày có khả năng chư ùa 2000 ÷ 16000 dòng lệnh , tùy theo loại vi mạch TrongPLC các bộ nhớ như RAM, EPROM đều đư ợc sư û dụng
RAM (Random Access Memory ) có thể nạp chư ơng trình, thay đổi hay
xóa bỏ nội dung bất kỳ lúc nào Nội dun g của RAM sẽ bị mất nếu nguồn điệnnuôi bị mất Để tránh tình trạng này các PLC đều đư ợc trang bị một pin khô,có khả năng cung cấp năng lư ợng dư ï trư õ cho RAM tư ø vài tháng đến vài năm.Trong thư ïc tế RAM đư ợc dùng để khởi tạo và kiểm tra chư ơng trình Khuynh
hư ớng hiện nay dùng CMOSRAM nhờ khả năng tiêu thụ thấp và tuổi thọ lớn
EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà
ngư ời sư û dụng bình thư ờng chỉ có thể đọc chư ù không ghi nội dung vào đư ợc Nội dung của EPROM không bị mất khi mất nguồn , nó đư ợc gắn sẵn trongmáy , đã đư ợc nhà sản xuất nạp và chư ùa hệ điều hành sẵn Nếu ngư ời sư û dụngkhông muốn mở rộng bộ nhớ thì chỉ dùng thêm EPRO M gắn bên trong PLC Trên PG (Programer) có sẵn chổ ghi và xóa EPROM
Môi trư ờng ghi dư õ liệu thư ù ba là đĩa cư ùng hoạc đĩa mềm, đư ợc sư û dụngtrong máy lập trình Đĩa cư ùng hoăïc đĩa mềm có dung lư ợng lớn nên thư ờng
đư ợc dùng để lư u như õng chư ơng trình lớn trong một thời gian dài
Kích thư ớc bộ nhớ :
Các PLC loại nhỏ có thể chư ùa tư ø 300 ÷1000 dòng lệnh tùy vào côngnghệ chế tạo
Các PLC loại lớn có kích thư ớc tư ø 1K ÷ 16K, có khả năng chư ùa tư ø
2000 ÷16000 dòng lệnh
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM , EPROM
Trang 10Mỗi đơn vị I / O có duy nhất một địa chỉ, các hiển thị trạng thái của cáckênh I / O đư ợc cung cấp bỡi các đèn LED trên PLC , điều này làm cho việckiểm tra hoạt động nhập xuất trở nên dể dàng và đơn giản
Bộ xư û lý đọc và xác định các trạng thái đầu vào (ON,OFF) để thư ïc hiệnviệc đóng hay ngắt mạch ở đầu ra
III Các hoạt động xử lý bên trong PLC:
đư ợc gọi là một chu kỳ thư ïc hiện Thời gian thư ïc hiện một chu kỳ tùy thuộc vàotốc độ xư û lý của PLC và độ lớn của chư ơng trình Một chu lỳ thư ïc hiện bao gồm
ba giai đoạn nối tiếp nhau :
- Giai đoạn 1: Đầu tiên, bộ xư û lý đọc trạng thái của tất cả đầu vào Phần
chư ơng trình phục vụ công việc này có sẵn trong PLC và đư ợc gọi là hệ điềuhành
- Giai đoạn 2: Tiếp theo, bộ xư û lý sẽ đọc và xư û lý tuần tư ï lệnh một trong
chư ơng trình Trong khi đọc và xư û lý các lệnh, bộ vi xư û lý sẽ đọc tín hiệu cácđầu vào, thư ïc hiện các phép toán logic và kết quả sau đó sẽ xác định trạng tháicủa các đầu ra
- Giai đoạn 3: Cuối cùng, bộ vi xư û lý sẽ gán các trạng thái mới ch o các
đầu ra tại các modul đầu ra
Trang 11Hình 1.2: Sô ñoă xö û lyù chö ông trình trong PLC
2) Xöû lyù xuaât nhaôp:
Goăm hai phö ông phaùp khaùc nhau duøng cho vieôc xö û lyù I / O trong PLC :
a) Caôp nhaôt lieđn túc:
Ñieău nay ñoøi hoûi CPU queùt caùc leônh ngoû vaøo (maø chuùng xuaât hieôn trongchö ông trình ), khoạng thôøi gian Delay ñö ôïc xađy dö ïng beđn trong ñeơ chaĩc chaĩnraỉng chư coù nhö õng tín hieôu hôïp lyù môùi ñö ôïc ñóc vaøo trong boô nhôù vi xö û lyù Caùcleônh ngoû ra ñö ôïc laẫy trö ïc tieâp tôùi caùc thieât bò Theo hoát ñoông logic cụa chö ôngtrình , khi leônh OUT ñö ôïc thö ïc hieôn thì caùc ngoû ra caøi lái vaøo ñôn vò I / O, vìtheâ neđn chuùng vaên giö õ ñö ôïc tráng thaùi cho tôùi khi laăn caôp nhaôt keâ tieâp
Ñóc tráng thaùi ngoõ vaøo
Thö ïc hieôn leônh 1Thö ïc hieôn leônh 2
Thö ïc hieôn leônh n
Xuaât tín hieôu ngoõ ra
…
Trang 12các trạng thái vào trong I / O RAM Quá trình này xảy ra ở một chu kỳ chư ơngtrình (tư ø Start đến End ).
Thời gian cập nhật tất cả các ngõ vào ra phụ thuộc vào tổng số I/O đư ợccopy tiêu biểu là vài ms Thời gian thư ïc thi chư ơng trình phụ thuộc vào chiềudài chư ơng trình điều khiển tư ơng ư ùng mỗi lệnh mất khoảng tư ø 110s
IV.Các dạng chương trình của PLC:
Chư ơng trình PLC đư ợc viết dư ới 3 dạng:
- Giản đồ thang (ladder diagram - LAD): tư ơng tư ï như sơ đồ rơle.
- Khối hàm ( control system flowchart – CSF, FBD function block
diagram): dạng FBD tư ơng tư ï như các sơ đồ trong kỹ thuật số
- Bảng phát biểu (statement list - STL): tư ơng tư ï như các dòng lệnh của
vi xư û lý
Ví dụ: Viết chư ơng trình PLC để thư ïc hiện công việc sau:
Quy định các công tắc K1, K2, K3, K4 lần lư ợt là các ngõ vào I0.0, I0.1,I0.2, I0.3 Đèn quy định là ngõ ra Q0.0
Ta có thể biểu thị chư ơng trình bằng 3 dạng như sau:
Trang 13Hình 1.3: a) Dạng LAD; b) Dạng FBD; c) Dạng STL
Việc viết chư ơng trình bằng dạng nào không quan trọng vì hiện nay cóchư ơng trình chuyển hóa qua lại giư õa các dạng.Vì vậy chỉ cần vi ết bằng mộtdạng là đủ.Hiện nay, dạng LAD đang đư ợc sư û dụng phổ biến nhất nên trong tàitiệu này sẽ viết bằng dạng LAD Để biết thêm về các dạng còn lại các em hãy
tư ï tìm hiểu thêm
Việc lập trình cho PLC đư ợc thư ïc h iện theo các bư ớc sau:
- Xác định thư ù tư ï làm việc của máy
- Vẽ lư u đồ làm việc của hệ thống
- Gán các địa chỉ xuất nhập cho các thành phần của hệ thống
- Viết chư ơng trình dạng LAD hay STL và nạp vào PLC
Trang 14Hiện nay có rất nhiều hãng sản xuất PLC với nhiều kiểu khác nhau và khómà liệt kê hết đư ợc:
S5-155U, S7-200, S7-300, S7-400
ALLEN-BRADLEY: Micrologic1000, SCL500, PLC5, LOGIX
Hình 1.4: PLC hãng SIEMENS
c) PLC S7-300
Trang 16Chương 2: PLC SIEMENS S7 – 200
Trong các PLC hiện nay, phổ biến ngoài thị trư ờng nhất là hai hãng PLCSiemens và Omron Về cấu trúc và tập lệnh, tất cả các PLC đều tư ơng đồngnhau Như ng để phân biệt là loại PLC nào thì dư ïa vào chư ùc năng, cách quy ư ớctập lệnh và cách kết nối… của chúng.Trong tài liệu này sẽ đề cập chuyên vềPLC S7-200 là loại thông dụng nhất để các em tìm hiểu Với như õng PLC khác,các em có thể tham khảo trên cơ sở nền tảng đã học về PLC này
I Cấu trúc phần cứng S7-200:
PLC S7 – 200 có một số loại sau:
Hình 2.1: Các loại PLC S7 – 200 của hãng Siemens
CPU 221
(14 I/O Points)
CPU 224(24 I/O Points)
CPU 224XP
(24 I/O Points)
CPU 226(40 I/O Points)
Trang 17Sơ đồ cấu trúc của PLC S7 – 200 (CPU 224):
S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của hãng SIEMENS(CHLB Đư ùc) có cấu trúc theo kiểu Module và có các module mở rộng Cácmodule này đư ợc sư û dụng cho nhiều ư ùng dụng lập trình khác nhau Thành phần
cơ bản của S7-200 là khối vi xư û lý CPU-224
CPU-224 bao gồm 14 ngõ vào và 10 ngõ ra, có khả năng thêm 7module mở rộng
8/12 Kbyte thuộc miền nhớ đọc / ghi non -volatile để lư u chư ơng trình(vùng nhớ có giao diện với EEPROM)
8 Kbyte thuộc kiểu đọc ghi để lư u dư õ liệu, trong đó một số byte đầuthuộc miền non-volatile
Hình 2.2: Cấu trúc phần cư ùng của PLC S7 -200
Trang 18 Các chế độ xư û lý ngắt gồm: ngắt truyền thông, ngắt theo sư ờn lênhoặc xuống, ngắt thời gian, ngắt của bộ đếm tốc độ cao và ngắttruyền xung.
6 bộ đếm tốc độ cao
2 bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu PWM
2 bộ điều chỉnh tư ơng tư ï
Toàn bộ vùng nhớ không bị mất dư õ liệu trong k hoảng thời gian 190giờ kể tư ø khi PLC bị mất nguồn cung cấp
Các đèn báo trên S7-200 CPU224:
SF (đèn đỏ): Đèn đỏSF báo hiệu hệthống bịhỏng
RUN (đèn xanh): Đèn xanh RUN chỉ định PLC đang ở chế độ làmviệc vàthư ïc hiện chư ơng trình đư ợc nạp vào trong máy
STOP (đèn vàng): Đèn vàng STOP chỉ định rằng PLC đang ởchế độ
dư øng chư ơng trình và đang thư ïc hiện lại
Cổng vào ra:
Ix.x (đèn xanh): Đèn xanh ở cổng vào báo hiệu trạng thái tư ùc thời củacổng Ix.x Đèn này báo hiệu trạng thái của tín hiệu theo giá trị Logiccủa công tắc
Qx.x (đèn xanh): Đèn xanh ở cổng ra báo hiệu trạng thái tư ùc thời củacổng Qx.x Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logiccủa cổng
Chế độ làm việc:
PLC có 3 chế độ làm việc:
RUN: cho phép PLC thư ïc hiện chư ơng trình tư øng bộ nhớ, PLC sẽchuyển tư ø RUN sang STOP nếu trong máy có sư ï cố hoặc trongchư ơng trình gặp lệnh STOP
STOP: Cư ởng bư ùc PLC dư øng chư ơng trình đang chạy và chuyển sangchế độ STOP
TERM: Cho phép máy lập trình tư ï quyết định chế độ hoạt động choPLC hoặc RUN hoặc STOP
Cổng truyền thông:
Trang 19S7-200 sư û dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chânđể phục vụ cho việc ghép nối với thiết bị lập trình hoặc với các trạm PLCkhác Tốc độ truyền cho máy lập trình kiểu PPI là 9600 baud Tốc độ truyềncung cấp của PLC theo kiểu tư ï do là 300 38.400 baud.
Để ghép nối S7-200 với máy lập trình PG702 hoặc các loại máy lập trìnhthuộc họ PG7xx có thể dùng một cáp nối thẳng MPI Cáp đó đi kèm vớimáy lập trình
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
Hình 2.3: Sơ đồ chân kết nối giao tiếp PLC với máy tính
II Cấu trúc bộ nhớ:
Bộ nhớ S7-200 đư ợc chia thành 4 vùng với 1 tụ có nhiệm vụ duy trì dư õ liệutrong một khoảng thời gian nhất định khi mất nguồn Bộ nhớ S7-200 có tínhnăng động cao, đọc, ghi đư ợc trong toàn vùng, loại trư ø các bit nhớ đặc biệt SM(Special memory) chỉ có thể truy nhập để đọc
Signal
Đất
24 VDC ReturnRS-485 signal ĐRequest – to – Send5V Return
+5 VDC+24 VDCRS-485 signal AKhông sư û dụng
Trang 20 Vùng chương trình
Là nguồn nhờ đư ợc sư û dụng để lư u giư õ các lệnh chư ơng trình Vùng nàythuộc kiểu non-volatile đọc / ghi đư ợc
Vùng tham số
Là miền lư u giư õ các tham số như : tư ø khóa, địa chỉ trạm, … cũng giống nhưvùng chư ơng trình, thuộc kiểu non-volatile đọc / ghi đư ợc
V : Variable Memory
I : Input image register
O : Output image regiter
M : Internal Memory bits
SM : Special Memory bits
Tất cả các miền này đều có thể truy nhập theo tư øng bít, tư øng byte, tư øng tư ø(word) hoặc tư ø kép (double word)
Cấu trúc các kiểu ô nhớ như sau:
Hình 2.5: Cấu trúc các kiểu ô nhớ.
Vùng đối tượng
Bao gồm các thanh ghi Timer, bộ đếm tốc độ cao, bộ đệm vào ra, thanh ghi
Trang 21AC Vùng này không thuộc kiểu Non -Volatile như ng đọc / ghi đư ợc
Bảng 2.1: Bảng tóm tắt về các vùng nhớ:
Ngõ vào số I (tối đa) I0.0… I0.5 I0.0… I15.7 I0.0… I15.7
Ngõ vào I
(trên module CPU)
6I0.0… I0.5
8I0.0… I0.7
14I0.0… I0.7,I1.0… I1.5Ngõ ra Q (tối đa) Q0.0… Q0.3 Q0.0… Q15.7 Q0.0… Q15.7
Ngõ ra Q
(trên module CPU)
4Q0.0… Q0.3
6Q0.0… Q0.5
10Q0.0… Q0.7,Q1.0,Q1.1
Bộ nhớ thay đổi V VB0… VB2047 VB0… VB2047 VB0… VB5519
Bộ nhớ đặc biệt SM SMB0… SMB179 SMB0… SMB299 SMB0… SMB549
Trang 22 Vùng nhớ V, I, Q, M, SM: có thể truy cập theo bit, byte, tư ø hay tư ø kép:I0.1, QB2, VW150, …
T, C: truy cập theo bit: T1, C15 là trạng thái hay tư ø là nội dung 16bit
AC: truy cập theo byte, tư ø hay tư ø kép
HC: truy cập theo tư ø kép
Vùng nhớ M, V, T, C có thể lư u lại kh i mất điện
Một tư ø ví dụ VW100 gồm 2 byte VB100 (byte cao) và VB101 (byte
Số: số nguyên không dấu 8 bit (BYTE), 16 bit (WORD), 32 bit
(DOUBLE WORD) (00… FF, 0000… FFF F, 00000000… FFFFFFFF), số códấu mã phụ hai INT, DINT (80… 7F, 8000… 7FFF, 80000000… 7FFFFFFF) ,số thư ïc 32 bit REAL
Hằng số thập phân 192, số thư ïc 1.52E-2, nhị phân 2#11000000, Hex16#C0, chuỗi ‘AT’
III Mở rộng cổng vào ra:
CPU 224 cho phép mở rộng nhiều nhất 7 Module Các module mở rộng
tư ơng tư ï và có thể mở rộng cổng vào của PLC bằng cách ghép nối thêm vàonó 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 các module đư ợc xác định cùng kiểu Ví dụ như mộtmodule cổng ra không thể gán địa chỉ của một module cổng vào, cũng như mộtmodule 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 tư ơng tư ï đều chiếm chổ trong bộ đệm, tư ơng tư ïvới số đầu vào/ra của module
Trang 23Sau đây là địa chỉ của một số module mở rộng trên CPU224
CPU224
Module 04vào/4ra
Module 1
8 vào
Module 23vào/1raAnalog
Module3
8 ra
Module 43vào/1raAnalogI0.0 Q0.0
I3.0I3.1I3.2I3.3I3.4I3.5I3.6I3.7
AIW 0AIW 2AIW 4
AQW 0
Q3.0Q3.1Q3.2Q3.3Q3.4Q3.5Q3.6Q3.7
AIW8AIW12AQW 4
AQW8
Trang 24Sơ đồ kết nối module như sau:
Hình 2.6: Sơ đồ kết nối các module mở rộng.
IV.Cấu trúc chương trình PLC S7 – 200:
Có thể đư ợc lập trình cho PLC S7-200 bằng cách sư û dụng một trong cácphần mềm :
Step 7 – Micro / Dos
Step 7 – Micro / Win
Như õng phần mềm này đều có thể cài đặt đư ợc trên các máy lập trình họ
PG 7xx và các máy tính cá nhân
Các chư ơng trình cho S7-200 phải cócấu trúc bao gồm chư ơng trình chính(main program) vàsau đó đến các chư ơng trình con vàcác chư ơng trình xư ûlýngắt
Chư ơng trình chính đư ợc kết thúc bằng lệnh kết thúc chư ơng trình (MEND).Chư ơng trình con là một bộ phận của chư ơng trình, các chư ơng trình phải
Trang 25Các chư ơng trình xư û lý ngắt cũng là một bộ phận của chư ơng trình Nếu cần
sư û dụng phải viết sau lệnh kết thúc chư ơng trình chính (MEND)
Các chư ơng trình đư ợc nhóm lại thành một nhóm ngay sau chư ơng trìnhchính, sau đó đến các chư ơng trình xư û lý ngắt Cũng có thể do trộn lẫn cácchư ơng trình con và chư ơng trình xư û lý ngắt ở s au chư ơng trình chính
V Thực hiện chương trình của PLC S7 – 200:
PLC thư ïc hiện chư ơng trình theo chu kỳ 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 đọc các dư õ liệu tư ø cáccổ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ạilệnh kết thúc MEND Sau giai đoạn thư ïc hiện chư ơng trình là giai đoạn truyềnthông nội bộ và kiểm lỗi Vòng quét đư ợc kết thúc bằng giai đoạn chuyển cácnội dung của bộ đệm ảo tới các cổng ra
Thư ïc hiện trong vòng quét
Thư ïc hiện khi chư ơng trình chính gọi
Trang 26Như 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àmviệc trư ïc tiếp cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùngnhớ 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 hệ thống se õcho dư øng mọi công việc khác, ngay cả chư ơng trình xư û lý ngắt để thư ïc hiệnlệnh này trư ïc tiếp với cổng vào và ra.
Nếu sư û dụng các chế độ ngắt chư ơng trình tư ơng ư ùng với tư øng tín hiệu ngắt
đư ợc soạn thảo và cài đặt như một bộ phận của chư ơng trình Chư ơng trình xư ûlý ngắt chỉ đư ợc thư ïc hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và cóthể xảy ra ở bất cư ù điểm nào trong vòng quét
VI Các vùng nhớ S7 – 200:
1 Trong S7 – 200 có các vùng nhớ sau:
I: Input, các ngõ vào số.
Q: Output, các ngõ ra số.
M: Internal Memory, vùng nhớ nội.
V: Variable Memory, vùng nhớ biến.
AIW: Analog Input, ngõ vào analog.
AQW: Analog Output, ngõ ra analog.
Trang 27Một biến kiểu Bool chỉ có 2 giá trị 0 hoặc 1 ( True hoặc Fasle tư ơng ư ùng
ON hoặc OFF).
Đối với ngõ IN:
- Trạng thái mư ùc 0: Mư ùc áp bé hơn 15VDC, hoặc ở trạng thái ngõvào tổng trở cao
- Trạng thái mư ùc 1: 24V (15V – 30VDC): so với 0VDC cấp cho chân
M ở ngõ Input
Đối với ngõ OUT:
- Trạng thái mư ùc 0: Hở tiếp điểm hoặc ngõ ra có tổng trở cao (HZ)
- Trạng thái mư ùc 1: Xuất 24V hoặc đóng tiếp điểm
Trang 28QW0 = QB0+B1 Trong đó, QB0 là byte cao, QB1 là Byte thấp.
d) Kiểu Dword:
1 DWord = 2 Word = 4 Byte = 32 Bit Suy ra, giá trị 1 DWord trong
khoảng: 0– (232-1)
Ví dụ: QD0, MD3, VD10, …
MD0 = MW0+MW2 = MB0+MB1+MB2+MB3 Trong đó, MB0 là byte
cao nhất, MB3 là Byte thấp nhất
e) Kiểu Int: Số nguyên.
Một biến kiểu Int tư ơng đư ơng 1 Word, nghĩa là dung lư ợng của 1 biếnkiểu Int cũng gồm 16 bit Tuy nhiên, biến kiểu Int và Word cũng có như õngđiểm khác nhau như sau:
- Biến kiểu Word là biến không dấu, biến kiểu Int có dấu (bit trọngsố cao nhất là bit dấu)
- Giá trị 1 Word: 0 – (216- 1), giá trị 1 Int: (-215) – (215-1) (do có 1 bitdấu)
- Định dạng một biến kiểu Word phải có 16# đư ùng đầu, còn Int thìkhông
Ví dụ: 16#1234, 16#ABCD: Một Word.
1, 5,100,250 … : Một Int
f) Kiểu DInt: Số nguyên
Một biến kiểu DInt tư ơng đư ơng 1 DWord, nghĩa là dung lư ợng c ủa 1biến kiểu DInt cũng gồm 32 bit Tuy nhiên, biến kiểu DInt vàDWord cũngcó như õng điểm khác nhau như sau:
- Biến kiểu DWord là biến không dấu, biến kiểu DInt có dấu (bittrọng số cao nhất là bit dấu)
Trang 29- Giá trị 1 Word: 0 – (232- 1), giá trị 1 Int: (-231) – (231-1) (do có 1 bitdấu).
- Định dạng một biến kiểu DWord phải có 16# đư ùng đầu, còn DIntthì không
Ví dụ: 16#12345678, 16#ABCDABCD: Một DWord.
1, 5,100,250 … : Một Dint
g) Kiểu Real: Số thư ïc
Một biến kiểu Real 32 bit, nghĩa là vùng nhớ cũng là Dword
Định dạng phải có dấu thập phân “.”
Ví dụ: 1.3; 2.5; 0.09; 2.4; …
Trang 30Chương 3: Các tập lệnh của PLC S7 – 200
I Phương pháp lập trình:
S7-200 biểu diễn một mạch logic cư ùng bằng một dãy các lệnh lập trình.Chư ơng trình bao gồm một dãy các tập lệnh S7 -200 thư ïc hiện chư ơng trình bắtđầu tư ø lệnh lập trình đầu tiên và kết thúc ở lập trình cuối trong một vòng quét(scan)
Một vòng quét (scan cycle) đư ợc bắt đầu bằng một việc đọc trạng thái củađầu vào, và sau đó thư ïc hiện chư ơng trình Vòng quét kết thúc bằng việc thayđổi trạng thái đầu ra Trư ớc khi bắt đầu một vòng quét tiếp theo S7 -200 thư ïc thicác nhiệm vụ bên trong và nhiệm vụ truyền thông Chu trình thư ïc hiện chư ơngtrình là chu trình lặp
Cách lập trình cho S7-200 nói riêng và cho các PLC nói chung dư ïa trên hai
phư ơng pháp cơ bản Phư ơng pháp hình thang ( Ladder, viết tắt làLAD) và phư ơng pháp liệt kê lệnh (Statement list, viết tắt làSTL).
Nếu có một chư ơng trình viết dư ới dạng LAD, thiết bị lập trình sẽ tư ï dộngtạo ra một chư ơng trình theo dạng STL tư ơng ư ùng Ngư ợc lại không phải mọichư ơng trình viết dư ới dạng STL đều có thể chuyển sang đư ợc dạng LAD
Vì vậy tài liệu này sẽ viết dư ới dạng LAD hay còn gọi làLadder.
II Các tập lệnh của PLC S7 – 200:
1 LỆNH CƠ BẢN:
a) Các lệnh bit:
i) Nút thường hở:
Sơ đồ:
I0.0 (có ký hiệu như trên): là nút thư ờng hở
Q0.0 : là ngõ ra
Trang 31 Bảng chức năng:
Lưu ý: Vì sao gọi ngõ vào I0.0 là nút thường hở?
Vì ngõ vào I0.0 lúc này như một cái khóa điện Lúc bình thư ờng ( có
nghĩa là lúc không có điện) thì khóa I0.0 hở Lúc có điện thì khóa I0.0 đóng
lại
Giản đồ xung:
ii) Nút thường đóng:
Trang 32Vì ngõ vào I0.0 lúc này như một cái khóa điện thư ờng đóng L úc bình
thư ờng (có nghĩa là lúc không có điện) thì khóa I0.0 đóng Lúc có điện thì
khóa I0.0 mở ra
Giản đồ xung:
iii) Lệnh NOT:
Giản đồ xung:
iv) Lệnh AND:
I0.0
Tín hiệu sau
cổng NOT
01
01
Q0.0
I0.0
Q0.0
01
Trang 33 Giản đồ xung:
01
Q0.0
Trang 34 Giản đồ xung:
vi) Lệnh hỗn hợp:
Sơ đồ:
Dư ïa vào chư ùc năng của các nút thư ờng hở và thư ờng đóng để xác địnhtrạng thái ngõ ra Q0.0
Với sơ đồ trên, ta đư a ra nhận xét:
Q0.0 sẽ OFF nếu I0.2 ON
Q0.0 sẽ OFF nếu cả hai I0.0 và I0.1 cùng OFF
Q0.0 sẽ ON với các trạng thái còn lại của I0.0, I0.1, I0.2
Tư ø đó lập bảng chư ùc năng như sau:
I0.0
I0.1
01
01
Q0.0
Trang 35 Giản đồ xung:
I0.0
I0.1
01
01
Q0.0I0.2 0
1
Trang 36 Giản đồ xung:
ii) Lệnh phát hiện xung cạnh xuống:
Trang 37 Giản đồ xung:
Khi dùng lệnh SET bit thì chư ơng trình sẽ chú ý hai tham số:
Bit bắt đầu SET
Số bit phải SET
Với chư ơng trình trên thì sẽ SET 2 bit, bắt đầu là bit M0.0 và bit tiếptheo là M0.1
Chú ý: Trong chư ơng trình khi dùng lệnh SET bit nào đó thì hãy nhớ phải
RESET bit đókhi đã sư û dụng xong
ii) Lệnh Reset bit: (đưa các bit xuống giá trị 0 (OFF))
I0.0 0
1
Q0.0
Trang 38Với chư ơng trình trên, khi phát hiện cạnh xuống của tín hiệu vào I0.0 thìsẽ đư a hai bit M0.0 và M0.1 về giá trị 0.
Khi kết hợp lệnh SET và RESET như trên ta có:
Giản đồ xung:
Các bit nhớ SM cần lư u ý:
SMB0, SMB1
SM 0.0 Luôn luôn ON
SM 0.1 ON ở chu kỳquét đầu
SM 0.2 ON khi dư õ liệu cần lư u trư õ bị mất (1 chu kỳ)
SM 0.4 Xung nhịp chu kỳ 1 phút
SM 0.5 Xung nhịp chu kỳ 1 giây
SM 0.6 Xung nhịp có chu kỳ bằng hai lần thời gian quét
SM 0.7 Phản ánh chế độ hoạt động của PLC
SM 1.0 ON khi kết quả tích là Zero
Trang 39SM 1.2 ON khi kết quả âm
SM 1.3 ON khi chia cho Zero
SM 1.4 ON khi bảng bị tràn (Xem lệnh bảng)
SM 1.5 ON khi bảng bị trống (Xem lệnh bảng)
SM 1.6 ON khi lệnh BCDI không hoạt động đư ợc
SM 1.7 ON khi lệnh ATH không thư ïc hiện đư ợc
2 LỆNH SO SÁNH:
Ví dụ: Cho sơ đồ sau:
Chức năng: Khi bit I0.0 ON thì thư ïc hiện lệnh so sánh byte:
Nếu byte SMB28 50 thì Q0.0 lên ON
Nếu byte SMB28 150 thì Q0.1 lên ON
Nếu byte 50 < SMB28 < 150 thì cả Q0.0 và Q0.1 đều OFF
Tổng quát:
Lệnh so sánh tổng quát có dạng như sau:
Trang 40 Loại số đem so sánh: có các loại sau: B (byte không dấu), I (số
nguyên có dấu 16 bit), D (số nguyên có dấu 32 bit), R (số thư ïc)
Chú ý: Tầm giá trị của các thông số so sánh:
Bài tập ví dụ:
Khi I0.0 lên ON thì thư ïc hiện lệnh so sánh: