Tất cả các byte thuộc vùng dữ liệu đề có thể truy nhập bằng con trỏ. Con trỏ quy định trong vùng nhớ V, L hoặc các thanh ghi AC1, AC2, AC3. Mỗi con trỏ gồm 4 byte, dùng lệnh MOVD. Quy ước sử dụng con trỏ để truy nhập như sau: địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép mà con trỏ đang chỉ vào. Ví dụ: AC1=VB10, thanh ghi AC1 chứa đại chỉ của byte 10 thuộc vùng nhớ V. VD100=VW110, từ kép VD100 chứa địa chỉ byte cao (VB110) của từ đơn VW110. AC2=VD150, thanh ghi AC2 chứa địa chỉ của byte cao (VB150) của tứ kép VD150. con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào. Ví dụ như đối phép gán địa chỉ trên thì: AC1=VB10, lấy nội dung của byte VB10. VD100=VW110, lấy nội dung của từ đơn VW110. Phép gán địa chỉ và sử dụng con trỏ như trên cũng có tác dụng với những thanh ghi 16 bit của Timer, bộ đếm thuộc vùng đối tượng hay các vùng nhớ I, Q, V, M, AI, AQ, SM II.2.2.3 Mở rộng cổng vào ra Số module mở rộng tuỳ thuộc vào từng loại CPU, số module tương ứng với từng loại CPU được trình bày theo bảng 2.3. Cách mắc nối các module mở rộng được mắc nối tiếp (theo một móc xích) về phía bên phải của module CPU. Các module số hoặc tương tự đều chiếm chỗ trên bộ đệm 100 vàora tương ứng với đầu vàora của module
Trang 1GIÁO TRÌNH LẬP TRÌNH PLCChương I Cơ sở lý thuyết về điều khiển Logic
I.1 Lý thuyết về điều khiển Logic
I.1.1 Định nghĩa
- Khái niệm về logic 2 trạng thái:
Trong cuộc sống hàng ngày những sự vật hiện tượng chúng ta thường quy ước
2 trạng thái này đối lập nhau hoàn toàn, ví dụ: có/không; thiếu/đủ; còn/hết; trong/đục;nhanh/chậm
Bảng 1.1 Ví dụ về bảng chân lý hàm 1 biến
Trong kỹ thuật, 2 trạng thái thường sử dụng là: đóng/mở; chạy/dừng
Để lượng hóa 2 trạng thái này, trong toán học, người ta quy ước bằng con số
“0” và “1” Từ đó, xây dựng nên các hàm và biến dựa trên 2 biến logic này
I.1.2 Các hàm logic cơ bản
Trang 2đảo logic, tích logic.
Đây là quan hệ giữa 2 hằng số “0” và “1”, là tiền đề cho các hàm logic sau này
- Quan hệ giữa các biến và hằng số:
Trang 3* Nếu hàm có n biến thì bảng có n+1 cột (n cột cho biến & 1 cột cho hàm)
* 2n hàng tương ứng với 2n tổ hợp biến
Bảng này gọi là bảng sự thật hay là bảng chân lý
Ví dụ: Trong nhà có 3 công tắc A,B,C Khi muốn đèn sáng khi: công tắc A,B,Cđều hở; hoặc A đóng B, C hở; hoặc A hở B đóng C hở Với giá trị của hàm y đã cho ởtrên ta biểu diễn thành bảng như sau:
Bảng 1.2 Bảng chân lý các giá trị tiếp điểm
Thông thường, với số lượng biến từ 2 đến 3biến, người ta biểu diễn trên hình học giống như các hệ tọa độ Ví dụ biểu diễn 2 biếnnhư hình 1.1
Hình 1.1 Biểu diễn biến số trên hệ tọa độ
- Biểu diễn biểu thức đại số
Trang 4Đối với tất cả các hàm logic đều có thể biểu diễn được dưới dạng tổng chuẩn vàtích chuẩn đầy đủ.
- Biểu diễn dạng bìa Karnaugh
Hình 1.2 Biểu diễn bằng dạng bìa Karnaugh
Bằng các phương pháp biểu diễn trên, ta sẽ tổng hợp mạch logic để được kếtquả rút gọn Dựa trên các kết quả đó ta sẽ có các phương pháp tính toán điều khiển bàitoán tối ưu nhất
Trang 5y1; y2;
Mạch tổ hợpx1; x2;
I.2 Logic trình tự và mạch tổ hợp
I.2.1 Mô hình toán học mạch tổ hợp
thuộc vào tổ hợp các giá trị tín hiệu đầu vào ở thời điểm đó
- Mạch tổ hợp thường có nhiều tín hiệu đầu vào (x1, x2, x3, …) và nhiều tín hiệuđầu ra (y1, y2, y3, …) Một cách tổng quát có thể biểu diễn theo mô hình toánhọc như sau:
- Phân tích yêu cầu: cần nắm rõ yêu cầu của bài toán
+ xác định nào là biến đầu vào
+ xác định nào là biến đầu ra
+ tìm ra mối liên hệ giữa chúng với nhau
Điều này đòi hỏi người thiết kế phải nắm rõ yêu cầu thiết kế đây là một việc khó khăn nhưng rất quan trọng trong qua trình thiết kế
- Kê bảng chân lý: liệt kê thành bảng về mối quan hệ giữa đầu vào và ra
Ví dụ:
Trang 6y1; y2;
Mạch tổ hợp Logic trình tự x1; x2;
a, Định nghĩa: tín hiệu đầu ra chỉ được thực hiện khi các tín hiệu đầu vào được thực
hiện theo trình tự đã thiết lập từ trước
I.2.4 Khái niệm về mạch trình tự
a, Định nghĩa: là mạch có tín hiệu đầu ra chỉ bị kích hoạt khi các đầu vào được kích
hoạt theo một trình tự nào đó
Điều này có thể thấy không thể thực hiện mạch logic trình tự theo các mạch logic thông thường mà sử dụng các đặc tính của mạch lật FF
Một số phần tử logic trình tự: rơ le thời gian, các mạch lật FF: RS, JK,
Trang 7Hình 1.6 Ví dụ về mạch trình tự dung mạch lật FF
b, Mô tả mạch trình tự
- Phương pháp chuyển trạng thái
Sau khi khảo sát một công nghệ nào đó, ta có được bảng 1.3:
Bảng 1.3 Bảng mô tả sơ đồ công nghệ
+ Các cột của bảng ghi biến đầu vào và biến đầu ra (x1… y1…)
+ Số hang ghi rõ số trạng thái cần có của hệ (S1…)
+ Ô giao giữa cột xi với trạng thái Sj ghi trạng thái của mạch, nếu trạng thái mạchtrùng với trạng thái hàng thì trạng thái đó ổn định
+ Ô giao giữa yi và Sj là tín hiệu ra tương ứng
Để thực hiện tốt việc lập bảng, ta phải nắm rõ được quy trình công nghệ và biết chắc
Trang 8các trạng thái chuyển đổi rõ ràng Các trạng thái khác không biết hoặc chưa biết thì bổxung sau Phân tích từng ô để xét trạng thái Tuy nhiên, sẽ rất khó khăn khi phân biếtcác trạng thái tương tự như ở bảng 1.4
Bảng 1.4 Các trạng thái tương tự
- Phương pháp lưu đồ
Phương pháp này mô tả trực quan, bao gồm các khối cơ bản:
+ Khối biểu thị giá trị ban đầu
+ Khối biểu thị công việc tính toán
+ Khối kiểm tra điều kiện
+ Khối kết thúc công việc
Trang 9I.3 Grafcet
I.3.1 Định nghĩa
Trong dây chuyền sản xuất công nghiệp máy móc thường hoạt động theo trình
tự logic chặt chẽ nhằm đảm bảo chất lượng sản phẩm, an toàn cho người và thiết bị.Cấu trúc hoạt động trình tự của dây chuyền đã đưa ra yêu cầu cho điều khiển đồng thờicũng gợi ý cho ta sự phân nhóm logic của hoạt động trình tự bởi các tập hợp con củamáy móc và các thuật toán điều khiển bằng chương trình con Sơ đồ khối của hệ điềukhiển quá trình được thể hiện theo sơ đồ sau:
Hình 1.7 Sơ đồ khối điều khiển quá trình
Một quá trình công nghệ bao gồm ba hình thức hoạt động sau:
Trong quá trình làm việc, sự “không bình thường” (sự cố) của hệ thống có rấtnhiều loại; vì vậy trong quá trình phân tích hệ thống cố gắng mô tả chúng một cáchđầy đủ nhất, nghĩa là các sự kiện về lỗi đa số phải được định nghĩa trước Trong vấn đề
về sự cố người ta thường phân ra làm 3 nhóm sau:
+ Hư hỏng “một bộ phận” trong cấu trúc điều khiển
+ Hư hỏng “cấu trúc trình tự” điều khiển
+ Hư hỏng “bộ phận chấp hành”
Trang 10Khi thiết kế hệ thống phải tính đến các phương án khác nhau như: việc dừng máy khẩncấp, xử lý tắc ngẽn vật liệu và nhiều hiện tượng nguy hiểm khác đồng thời cho phépngười vận hành can thiệp ngay điểm xảy ra sự cố hoặc cô lập vùng xảy ra sự cố đó.Grafcet là cộng cụ rất hữu ích để thiết kế và thực hiện đầy đủ các yêu cầu của hệ thống
tự động hoá các quá trình công nghệ
Định nghĩa Grafcet: Grafcet là từ viết tắt của tiếng Pháp “Graphe fontionnel de
commande étape transition”, là đồ hình chức năng cho phép mô tả các trạng thái hoạt
động của hệ thống và biểu diễn quá trình điều khiển với các trạng thái chuyển biến từtrạng thái này sang trạng thái khác, đó là một graph định hướng và xác định bởi cácphần tử sau: G := {E, T, A, M}
+ E = {E1, E2, E3, , Em} là một tập hữu hạn các trạng thái (giai đoạn ) của
hệ thống, được kí hiệu bằng hình vuông Ứng với mỗi trạng thái sao cho hành vi điềukhiển là không thay đổi, hành vi đó có thể hoạt động hoặc là không hoạt động ⇒ Điềukhiển chính là thực hiện các mệnh đề logic chứa các biến vào/ra để hệ thống có đượctrạng thái xác định trong hệ và đây cũng chính là một trong các trạng thái của Grafcet
+ T = {t1, t2, t3, ti} là tập hữu hạn các chuyển trạng thái, biểu diễn bằng dấu
“gạch ngang” Giữa hai trạng thái luôn tồn tại một chuyển trạng thái, chuyển trạng thái
này có dạng hàm Bool gắn với một chuyển trạng thái → “một tiếp nhận”
+ A = {a1, a2, a3, ai} là tập các cung định hướng nối giữa 1 trạng thái với 1chuyển trạng thái hoặc 1 chuyển trạng thái với một trạng thái
+ M = {m1, m2, m3, mi} là tập các giá trị (0,1) Nếu mi = 1 thì trạng thái i làhoạt động, ngược lại trạng thái i không hoạt động
I.3.2 Một số kí hiệu dùng trong Grafcet
Hình vuông có đánh số như hình 1.8 a), b) biểu thị trạng thái; hình chữ nhật bênphải dùng để mô tả hoạt động của trạng thái đó Hai hình chữ nhật lồng vào nhau cóđánh số, biểu thị trạng thái khởi đầu Hình vuông đánh số có kèm theo dấu chấm “.”biểu thị trạng thái hoạt động
Trang 11Hình 1.8 Kí hiệu cơ bản Grafcet
Dấu gạch ngang biểu thị cho việc chuyển trạng thái Trạng thái được chuyểnkhi điều kiện chuyển được thoả mãn Hình 1.9
Hình 1.9 Kí hiệu trong chuyển trạng thái
Các kí hiệu phân nhánh ở hình 1.10 Hình 1.10 a) khi TT1 đang hoạt động nếut12 thoả mãn thì TT2 hoạt động; nếu t13 thoả mãn thì TT3 hoạt động; nếu t12 và t13cùng thoả mãn thì TT2 và TT3 cùng hoạt động gọi là TT OR Tương tự cho hình 1.10b) Hình 1.10 c) TT1 đang hoạt động nếu t123 thoả mãn thì cả hai TT2 và TT3 hoạtđộng gọi là trạng thái AND Hình 1.10 d) TT7 và TT8 đang hoạt động nếu t789 thoảmãn thì TT9 hoạt động trạng thái này gọi là TT AND
Trang 12Hình 1.10 Kí hiệu phân nhánh
Hình 1.11 a) cho phép thực hiện bước nhảy, nếu đang hoạt động ở TT2, điềukiện a thoả mãn thì hệ thống sẽ chuyển hoạt động từ TT2 sang TT5 bỏ qua TT3 vàTT4; ngược lại nếu a không thoả mãn thì các trạng thái 3, 4, 5 lần lượt sẽ được thựchiện Hình 1.11 b) nếu điều kiện f chưa thoả mãn thì TT8 sẽ quay về lại TT7, nếu fthoả mãn thì TT8 mới chuyển sang TT9
Hình 1.11 Kí hiệu bước nhảy
I.3.3 Ứng dụng của Grafcet
Trang 13Ta xét một ví dụ cụ thể để mô tả hoạt động của hệ thống tự động điều khiển quátrình Hệ thống trộn có sơ đồ công nghệ ở hình 1.12 Thùng X dùng để chứa nướcchuẩn bị cho hệ thống trộn Trước khi động cơ M kéo cánh khuấy để trộn yêu cầuthùng Y phải có đủ nước; cân 1 và 2 đã cân đủ vật liệu; lúc động cơ M khởi động cánhkhuấy cũng là lúc hai băng tải C1, C2 được khởi động để đưa hai vật liệu A, B vàothùng trộng Y.
Hình 1.12 Sơ đồ công nghệ trộn
Trình tự khuấy trộn như sau:
- Nếu mức vật liệu ở thùng trộn là min (Nmin) thì hệ thống làm việc ở chế độ tự động(AUT) → Cấp tín hiệu cho mở các van V1, V2, V3
- Bơm P được khởi động để bơm nước từ thùng X vào thùng Y
- Khi khối lượng cân trên các cân 1, 2 đã đủ thì van V2, V3 đóng lại
- Nước trong thùng Y tăng dần cho đến khi đạt mức max (Nmax) thì bơm P dừng vàvan V1 đóng lại
- Khi việc chuẩn bị nguyên vật liệu trên đã xong, động cơ khuấy M bắt đầu hoạt độngđồng thời các van V4, V5 mở, băng tải C1, C2 hoạt động để đưa liệu vào thùng Y
- Quá trình trộn được tính bằng thời gian t2, sau thời gian t2 thì có tín hiệu Ft2 xuấthiện và cắt động cơ khuấy M để kết thúc quá trình trộn
- Nlim là tín hiệu cực hạn trên để cấm hoạt động khi thùng trộn Y đã quá đầy
- Trước khi động cơ M hoạt động thì van Ev mở để tháo hết vật liệu trong thùng Y rangoài đến mức min (Nmin đóng), đồng thời vật liệu trên cân 1, 2 đã hết thì van V4, V5
tự động đóng lại nhưng băng tải C1, C2 còn phải quay thêm một đoạn nữa để đưa hếtvật liệu trên băng tải xuống thùng Y
Trang 14- Vì lý do an toàn, hệ thống còn có nút dừng khẩn cấp (AU) khi hệ thống có sự cố bấtthường, đồng thời trước khi hệ thống hoạt động lại cần có tín hiệu đặt lại cho hệ thống(REP).
Hình 1.13 Sơ đồ cấu trúc
Ở đây: M, P, C1, C2, V1, V2, V3, V4, V5, Ev là biến điều khiển quá trình: AUT, AU,REP A, B, Nmin, Nmax, Nlim là tín hiệu quá trình đưa về điều khiển trạng thái
Có 2 điều kiện về điều khiển cần lưu ý:
Phương thức làm việc tự động theo chu kỳ Chu kỳ ở đây là chu kỳ trộn, nghĩa
là hệ thống đã thực hiện xong mỗi mẽ trộn Một mẽ trộn được bắt đầu bằng tín hiệuđiều khiển AUT (điều kiện bắt đầu là P, M, V1, V2 trạng thái chưa làm việc)
Phương thức khoá khi có sự cố, khi có sự cố ngẫu nhiên thì hệ thống phải đượcdừng khẩn cấp bằng lệnh AU Lúc này phải chốt lại ngay kết quả đang xử lý, đến khinào sự cố được khắc phục xong thì được hoạt động theo trình tự đặt lại bằng lệnh REPvới việc tính đến hoặc không tính đến điều kiện khởi động ban đầu
Ban đầu chúng ta bắt đầu đi vào thiết kế hệ thống chưa có lệnh AU và REPtham gia, đó là Grafcet ở hình 1.14 Trạng thái khởi đầu trong trường hợp này là TT1.Giả sử các điều kiện đầu là thùng ở mức min, cơ cấu chấp, hành ở trạng thái tốt (sẵnsàng làm việc) thì trạng thái 2, 3, 4 được thực hiện (van V1 mở, bơm P quay, van V2,V3 mở để đưa vật liệu xuống cân 1, 2) Khi nước trong thùng dâng lên đến mức max(Nmax) thì hệ thống chuyển sang trạng thái 5 Khi khối lượng trên cân 1 (tín hiệu báo
Trang 15đủ A), khối lượng rên cân 2 (tín hiệu báo đủ B) thì hệ thống chuển sang trạng thái 6, 7.Trạng thái 5, 6, 7 biểu hiện cho nguyên liệu trong một mẽ trộn đã chuẩn bị xong Khicác điều kiện Nmax, A, B đã thỏa mãn thì hệ thống sẽ chuyển sang trạng thái 8, tươngứng động cơ trộn M hoạt động, thời gian t2 được tính, van V4, V5 mở, băng tải C1, C2hoạt động Khi xả hết liệu trên hai cân 1, 2 thì van V1, V2 dừng và thời gian t1 đượctính để hai băng tải chạy thêm 1 thời gian nữa (t1) Sau thời gian này băng tải dừng vàtín hiệu Ft1 xuất hiện và hệ thống chuyển sang trạng thái 9, tại đây M vẫn còn hoạtđộng đến khi thời gian t2 kết thúc hệ thống sẽ chuyển về trạng thái nghỉ để chuẩn bịcho chu kỳ tiếp theo.
Hình 1.14
Ngoài các chế độ làm việc bình thường, ta có thể xây dựng với các chế độ bị lỗi
và khắc phục sự cố cho hệ thống trên
Trang 16Chương 2 Bộ điều khiển lập trình PLC
II.1 Đặc điểm bộ điều khiển logic khả trình (PLC)
II.1.1 Sự ra đời của bộ điều khiển PLC
Năm 1642, Pascal đã phát minh ra máy tính cơ khí dùng bánh răng Đến năm 1834Babbage đã hoàn thiện máy tính cơ khí "vi sai" có khả năng tính toán với độ chính xáctới 6 con số thập phân
Năm 1808, Joseph M.Jaquard đã dùng các lỗ trên tấm bìa thẻ kim loại mỏng, sắpxếp chúng trên máy dệt theo nhiều chiều khác nhau để điều khiển máy dệt tự độngthực hiện các mẫu hàng phức tap
Trước năm 1904, Hoa Kỳ và Đức đã sử dụng mạch rơle để triển khai chiếc máytính điện tử đầu tiên trên thế giới
Năm 1943, Mauhly và Ackert chế tạo "máy tính" đầu tiên gọi là "máy tính và tíchphân số điện tử" viết tắt là ENIAC Máy có hơn: 18.000 đèn điện tử chân không,500.000 mối hàn thủ công, chiếm diện tích 1613 ft2, công suất tiêu thụ điện 174 kW,
6000 nút bấm, khoảng vài trăm phích cắm
Chỉ tới khi áp dụng kỹ thuật bán dẫn vào năm 1948, đưa vào sản xuất công nghiệpvào những năm 60 thế kỷ trước thì những máy tính điện tử lập trình lại mới được sảnxuất và thương mại hoá
Sự phát triển của máy tính cũng kèm theo kỹ thuật điều khiển tự động
- Mạch tích hợp điện tử - IC - năm 1959
- Mạch tích hợp gam rộng - LSI - năm 1965
- Bộ vi xử lý - năm 1974
- Dữ liệu chương trình - điều khiển
- Kỹ thuật lưu giữ
Những phát minh này đã đánh dấu một bước rất quan trọng và quyết định trongviệc phát triển ồ ạt kỹ thuật máy tính và các ứng dụng của nó như PLC, CNC, lúcnày khái niệm điều khiển bằng cơ khí và bằng điện tử mới được phân biệt Sự pháttriển của PLC đã đem lại nhiều thuận lợi và làm cho nó các thao tác máy trở nênnhanh, nhạy, dễ dàng và tin cậy hơn Nó có khả năng thay thế hoàn toàn cho cácphương pháp điều khiển truyền thống dùng rơle (loại thiết bị phức tạp và cồng kềnh);khả năng điều khiển thiết bị dễ dàng và linh hoạt dựa trên việc lập trình trên các lệnhlogic cơ bản; khả năng định thời, đếm; giải quyết các vấn đề toán học và công nghệ;
Trang 17khả năng tạo lập, gửi đi, tiếp nhận những tín hiệu nhằm mục đích kiểm soát sự kíchhoạt hoặc đình chỉ những chức năng của máy hoặc một dây chuyền công nghệ.
Như vậy những đặc điểm làm cho PLC có tính năng ưu việt và thích hợp trong môitrường công nghiệp: Khả năng kháng nhiễu rất tốt; Cấu trức dạng modul rất thuận tiệncho việc thiết kế, mở rộng, cải tạo nâng cấp; Có những modul chuyên dụng để thựchiện những chức năng đặc biệt hay những modul truyền thông để kết nối PLC vớimạng công nghiệp hoặc mạng Internet; Khả năng lập trình được, lập trình đễ dàngcũng là đặec điểm quan trọng để xếp hạng một hệ thống điều khiển tự động; Yêu cầucủa người lập trình không cần giỏi về kiến thức điện tử mà chỉ cần nắm vững côngnghệ sản xuất và biết chọn thiết bị thích hợp là có thể lập trình được; Thuộc vào hệ sảnxuất linh hoạt do tính thay đổi được chương trình hoặc thay đổi trực tiếp các thông số
mà không cần thay đổi lại chương trình
II.1.2 Các khái niệm cơ bản về PLC
Các thành phần của một PLC thường có các modul phần cứng sau:
(1) Modul nguồn PS
(2) Modul đơn vị xử lý trung tâm CPU
(3) Modul bộ nhớ chương trình và dữ liệu ROM-RAM
(4) Modul đầu vào/ra SM
(5) Modul phối ghép IM (để hỗ trợ cho vấn đề truyền thông nội bộ)
(6) Modul truyền thông CP (để hỗ trợ cho vấn đề truyền thông mạng)
(7) Modul chức năng FM (điều khiển chức năng riêng biệt)
Cấu trúc phần cứng của PLC
Trang 18Hình 2.1 Cấu trúc cơ bản của PLC S7-200
Thường trong mỗi PLC có một CPU, ngoài ra còn có một số loại lớn có tới haiCPU dùng để thực hiện những chức năng điều khiển phức tạp và quan trọng gọi là hotstandbuy hay redundant Tuy nhiên, đối với các ứng dụng nhỏ thì chỉ có một CPUthực hiện.Do đó, bộ vi xử lý quyết định khả năng và chức năng của PLC
Một nguồn điện dự phòng là cần thiết cho RAM để duy trì dữ liệu ngay cả khi mấtnguồn điện chính Bộ nhớ được thiết kế thành dạng modul để cho phép dễ dàng thíchnghi với các chức năng điều khiển với các kích cỡ khác nhau Muốn mở rộng bộ nhớchỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên modul CPU
Hoạt động xử lý tín hiệu bên trong PLC: 5VDC, 15VDC (điện áp cho họ TTL &CMOS) Trong khi đó tín hiệu điều khiển bên ngoài có thể lớn hơn khoảng 24 VDCđến 240 VDC hay 110 VAC đến 220 VAC với dòng lớn Khối giao tiếp vào ra có vaitrò giao tiếp giữa mạch vi điên tử của PLC với mạch công suất bên ngoài Thực hiệnchuyển mức điện áp tín hiệu và cách ly bằng mạch cách ly quang (Opto-isolator) trêncác khối vào ra Cho phép tín hiệu nhỏ đi qua và đưa các tín hiệu có mức cao xuống
Trang 19mức tín hiệu chuẩn.
Ngõ vào: nhận trực tiếp tín hiệu từ cảm biến
Ngõ ra: là các transistor, rơle hay triac vật lý
chuyên dụng đối với từng nhóm PLC của hãng tương ứng và Máy tính có càiđặt phần mềm
như máy tính, thiết bị lập trình, bảng vận hành và mạng truyền thông côngnghiệp
thực hiện quá trình tính toán Thanh ghi chốt (Latch register) duy trì nội dungcho đến khi nó được chồng lên bằng nội dung mới Thanh ghi chuyên dùng(Special register) Thanh ghi tập tin hay thanh ghi bộ nhớ chương trình(Program memory registers) Thanh ghi điều chỉnh giá trị được từ biến trở bênngoài (External adjusting register) Thanh ghi chỉ mục (Index register)
+ Phân loại: tín hiệu đầu vào: Bộ đếm tiến Bộ đếm lùi Bộ đếm tiến lùi (bộ đếmnày có cờ chuyên dụng chọn chiều đếm) Bộ đếm pha phụ thuộc vào sự lệch pha giữahai tín hiệu xung kích Bộ đếm tốc độ cao (high speed counter), xung kích có tần sốcao khoảng vài kZ đến vài chục kZ
+ Theo kích thước của thanh ghi và chức năng của bộ đếm: Bộ đếm 16 bit Bộđếm 32 bit Bộ đếm chốt: duy trì nội dung đếm ngay cả khi PLC bị mất điện
đến vấn đề thời gian, bộ định thơi trên PLC được gọi là bộ định thời logic Việc
tổ chức định thời thực chất là một bộ đếm xung với chu ký có thể thay đổiđược
II.1.3 Giới thiệu một số nhóm PLC phổ biến hiện nay trên thế giới
Siemens: CPU S7 200, CPU S7300, CPU S7400…
Mitsubishi: Họ FX, A, Q, L, Alpha…
Omron: CJ, CPM…
Allen Bredly: AB20, AB 40…
ABB: AC 100M, AC 400M, AC 800M…
Trang 21II.2 Tổng quan về họ PLC S7-200 của hãng Siemens
Có hai series: 21x (loại cũ không còn sản xuất nữa) và 22x (loại mới) Về mặt tínhnăng thì loại mới có ưu điểm hơn nhiều.Bao gồm các loại CPU sau: 221, 222, 224,224XP, 226, 226XM trong đó CPU 224XP có hỗ trợ analog I/O onboard và 2 porttruyền thông
Bảng 2.1: Các loại CPU S7-200
II.2.1 Cấu trúc phần cứng của S7-200
II.2.1.1 Hình dáng bên ngoài:
- Các đèn trạng thái:
Hình 2.2 Cấu trúc phần cứng của PLC S7-200
Đèn RUN-màu xanh: Chỉ định PLC ở chế độ làm việc và thực hiện chươngtrình đã được nạp vào bộ nhớ chương trình
Trang 22Đèn STOP-màu vàng: Chỉ định PLC ở chế độ STOP, dừng chương trình đangthực hiện lại (các đầu ra đều ở chế độ off).
Đèn SF-màu đỏ, đèn báo hiệu hệ thống bị hỏng có nghĩa là lỗi phần cứng hoặc
hệ điều hành Ở đây cần phân biệt lỗi hệ thống và lỗi chương trình người dùng, lỗichương trình người dùng thì CPU không thể nhận biết được vì trước khi downloadxuống CPU, phần mềm đã làm nhiệm vụ kiểm tra trước khi dịch sang mã máy
Đèn Ix.x-màu xanh: Chỉ định trạng thái On/Off của đầu vào số
Đèn Qx.x-màu xanh: Chỉ định trạng thái On/Off của đầu vào số
Port truyền thông nối tiếp: RS 485 protocol, 9 chân sử dụng cho việc phối ghépvới PC, PG, TD200, TD200C, OP, mạng biến tần, mạng công nghiệp Tốc độ truyền -nhận dữ liệu theo kiểu PPI là 9600 baud Tốc độ truyền - nhận dữ liệu theo kiểuFreeport là 300- 38400 baud
- Công tắc chọn chế độ:
Công tắc chọn chế độ RUN: Cho phép PLC thực hiện chương trình, khi chươngtrình gặp lỗi hoặc gặp lệnh STOP thì PLC sẽ tự động chuyển sang chế độ STOP mặc
dù công tắc vẫn ở chế độ RUN (nên quan sát đèn trạng thái)
Công tắc chọn chế độ STOP: Khi chuyển sang chế độ STOP, dừng cưỡng bứcchương trình đang chạy, các tín hiệu ra lúc này đều về off
Công tắc chọn chế độ TERM: cho phép người vận hành chọn một trong hai chế
độ RUN/STOP từ xa, ngoài ra ở chế độ này được dùng để download chương trìnhngười dùng
- Vít chỉnh định tương tự: Mỗi CPU có từ 1 đến 2 vít chỉnh định tương tự, có thểxoay được một góc 270 độ, dùng để thay đổi giá trị của biến sử dụng trongchương trình
- Pin và nguồn nuôi bộ nhớ: Sử dụng tụ vạn năng và pin Khi năng lượng của tụ
bị cạn kiệt PLC sẽ tự động chuyển sang sử dụng năng lượng từ pin
II.2.1.2 Giao tiếp với thiết bị ngoại vi
- Thiết bị lập trình loại PGxx được trang bị sẵn phần mềm lập trình, chỉ lập trìnhđược với ngôn ngữ STL
- Máy tính PC trên đó có cài đặt phần mềm Step7 Mcro/Win 32 và Step7Mcro/Dos Hiện nay hầu hết sử dụng Step7 Mcro/Win 32 version 3.0,3.2,4.0.V4.0 cho phép người lập trình có thể xem được giá trị, trạng thái cũng như đồ
Trang 23thị của các biến Nhưng chỉ sử dụng được trên máy tính có cài đặt hệ điều hànhWindow 2000/ WinNT và PLC loại version mới nhất hiện nay
II.2.1.3 Giao tiếp giữa sensor và cơ cấu chấp hành:
S7-200 có hai loại cơ bản: AC/DC/RLY, loại này điện áp nguồn cung cấp từ
85-264 VAC, tần số 47-63 Hz;
Điện áp vào: có nguồn cung cấp điện áp chuẩn cho sensor là 24VDC
Điện áp ra: loại này sử dụng nguồn điện ngoài, có thể là DC hoặc AC nhưng khôngvượt quá 220V Nếu sử dụng đối với những thiết bị tiêu thụ có công suất bé khoảngchừng vài W thì có thể lấy trực tiếp nguồn của cảm biến
II.2.2 Cấu trúc bộ nhớ S7-200
II.2.2.1 Phân chia bộ nhớ
Bộ nhớ được chia làm 4 vùng cơ bản, hầu hết các vùng nhớ đều có khả năng đọcghi chỉ trừ vùng nhớ đặc biệt SM (special memory) là vùng nhớ chỉ đọc
- Vùng nhớ chương trình là miền bộ nhớ được dùng để lưu giữ các lệnh chươngtrình Vùng này thuộc kiểu non-valatie đọc/ghi được
- Vùng nhớ tham số: là miền 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 này thuộc kiểu non-valatie đọc/ghiđược
- Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm kếtquả của các phép tính, hằng số được định nghĩa trong chương trình, bộ đệmtruyền thông
- Vùng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tựđược đặt trong vùng nhớ cuối cùng Vùng này không thuộc kiểu non-valatilenhưng đọc/ghi được
II.2.2.2 Vùng nhớ dữ liệu và đối tượng:
Vùng nhớ dữ liệu là vùng nhớ động, nó có thể truy cập theo từng bit, byte,từ đơn(worrd), từ kép (double worrd) và cũng có thể truy nhập được với mảng dữ liệu Được
sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng,các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập rtì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 baogồm các thanh ghi của counter, bộ đếm, các bộ đếm tốc độ cao, bộ đệm vào/ra tương
Trang 24tự và các thanh ghi AC (Accumulator) Vùng nhớ dữ liệu và đối tượng được chia ranhiều miền nhớ nhỏ với những ứng dụng khác nhau Chúng được ký hiệu bằng chữ cáiđầu của tên tiếng Anh Thông số, chức năng, giới hạn của các vùng nhớ tương ứng vớitừng CPU được mô tả qua các bảng sau:
Bảng 2.2 Thông số, chức năng và giới hạn vùng nhớ các họ PLC S7-200
Địa chỉ truy nhập được quy ước với công thức:
Truy nhập theo bit:
- Viết: tên miền (+) địa chỉ byte (+) (+) chỉ số bit (từ 0 đến 7)
- Đọc: ngược lại, ví dụ: V12.7_bit 7 của byte 12 trong vùng nhớ V
Truy nhập theo byte:
- Viết: tên miền (+) B (+) địa chỉ của byte trong miền
- Đọc: ngược lại, ví dụ: VB32_byte 32 trong vùng nhớ V
Truy nhập theo Word (từ):
- Viết: tên miền (+) W (+) địa chỉ byte cao của từ trong miền
- Đọc: ngược lại, ví dụ: VW180_Word 180 trong vùng nhớ V, từ này gồm có 2 byte 180 và 181
Truy nhập theo double Word (từ kép):
- Viết: tên miền (+) D (+) địa chỉ byte cao của từ cao trong miền
- Đọc: ngược lại, ví dụ: VD8_double Word 8 trong vùng nhớ V, từ képnày bao gồm 4 byte 8, 9, 10, 11
Trang 25Tất cả các byte thuộc vùng dữ liệu đề có thể truy nhập bằng con trỏ Con trỏ quyđịnh trong vùng nhớ V, L hoặc các thanh ghi AC1, AC2, AC3 Mỗi con trỏ gồm 4byte, dùng lệnh MOVD Quy ước sử dụng con trỏ để truy nhập như sau: &địa chỉ byte(cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép mà con trỏ đang chỉ vào Ví dụ: AC1=&VB10, thanh ghi AC1 chứa đại chỉ của byte 10 thuộc vùng nhớ V.
VD100=&VW110, từ kép VD100 chứa địa chỉ byte cao (VB110) của từ đơn VW110.AC2=&VD150, thanh ghi AC2 chứa địa chỉ của byte cao (VB150) của tứ kép VD150
*con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉvào Ví dụ như đối phép gán địa chỉ trên thì:
*AC1=VB10, lấy nội dung của byte VB10
*VD100=VW110, lấy nội dung của từ đơn VW110
Phép gán địa chỉ và sử dụng con trỏ như trên cũng có tác dụng với những thanh ghi 16bit của Timer, bộ đếm thuộc vùng đối tượng hay các vùng nhớ I, Q, V, M, AI, AQ, SM
II.2.2.3 Mở rộng cổng vào ra
Số module mở rộng tuỳ thuộc vào từng loại CPU, số module tương ứng với từngloại CPU được trình bày theo bảng 2.3 Cách mắc nối các module mở rộng được mắcnối tiếp (theo một móc xích) về phía bên phải của module CPU Các module số hoặctương tự đều chiếm chỗ trên bộ đệm 100 vào/ra tương ứng với đầu vào/ra của module
Bảng 2.3 Quy tắc đánh địa chỉ cho các module mở rộng PLC S7-200
Trang 26Chương 3 Ngôn ngữ lập trình cho PLC S7-200
III.1 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ươngtrì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ậptrì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 đượ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ướckhi bắt đầu một vòng quét tiếp theo S7-200 thực thi các nhiệm vụ bên trong và nhiệm
vụ truyền thông Chu trình thực hiện chương trình là chu trình lặp
Cách lập trình cho S7-200 nói riêng và cho các PLC nói chung dựa trên baphương pháp cơ bản Phương pháp hình thang (Ladder, viết tắt là LAD); phương phápliệt kê lệnh (Statement list, viết tắt là STL) và phương pháp khối (FBD)
Nếu có một chương trình viết dưới dạng LAD, thiết bị lập trình sẽ tự động tạo ramột chương trình theo dạng STL, FBD tương ứng Ngược lại không phải mọi chươngtrình viết dưới dạng STL đều có thể chuyển sang được dạng LAD, FBD
Trong nội dung của tài liệu này, sẽ chỉ giới thiệu 2 loại ngôn ngữ hay được sửdụng trong lập trình là LAD và STL
Phương pháp hình thang (LAD): LAD là một ngôn ngữ lập trình bằng đồ họa,những thành phần cơ bản dùng trong LAD tương ứng với các thành phần của bảngđiều khiển bằng rơ le Trong chương trình LAD, các phần tử cơ bản dùng để biểudiễn lệnh logic như sau:
♦ Tiếp điểm: Tiếp điểm thường mở Tiếp điểm thương đóng
♦ Cuộn dây (coil): Là biểu tượng () mô tả rơ le được mắc theo chiều dòngđiện cung cấp cho rơ le
♦ Hộp (Box): Là biểu tượng mô tả các hàm khác nhau, nó làm việc khi có dòngđiện chạy đến hộp Những dạng hàm thường được biểu diễn bằng hộp là các bộthời gian (Timer), bộ đếm (counter) và các hàm toán học Cuộn dây và các hộpphải mắc đúng chiều dòng điện
Trang 27Mạng LAD: Là đường nối các phần tử thành một mạch hoàn thiện, đi từ đườngnguồn bên trái sang đường nguồn bên phải Dòng điện chạy từ trái qua tiếp điểm đếnđóng các cuộn dây hoặc các hộp trở về bên phải nguồn.
Phương pháp liệt kê lệnh (STL): Là phương pháp thể hiện chương trình dưới dạngtập hợp các câu lệnh Mỗi câu lệnh trong chương trình, kể cả những lệnh hình thứcbiểu diễn một chức năng của PLC
Các toán hạng và giới hạn cho phép của CPU 2xx:
Phương pháp truy nhập Giới hạn cho phép các toán hạng CPU 214
Truy nhập bit (địa chỉ byte,
IB (0 ÷7)
MB (0 ÷31)
SMB (0 ÷85)
AC (0 ÷3) Hằng sốTruy nhập từ đơn VW (0 ÷4094)
AC (0 ÷3)AIW (0 ÷30)AQW (0 ÷30)Hằng sốTruy nhập từ kép VD (0 ÷4092)
ID (0 ÷ 4)
Trang 28Phương pháp truy nhập Giới hạn cho phép các toán hạng CPU 214
QD (0 ÷ 4)
MD (0 ÷ 28)SMD (0 ÷ 82)
AC (0 ÷ 3)
HC (0 ÷ 2)Hằng số
III.1.1 Một số lệnh cơ bản dùng trong lập trình
III.1.1.1 Các lệnh vào ra
• Load (LD): Lệnh LD nạp giá trị logic của một tiếp điểm vào trong bít đầu tiêncủa ngăn xếp (xem hình a), các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuốngmột bít
• Load Not (LDN): Lệnh LDN nạp giá trị logic nghịch đảo của một tiếp điểm vàotrong bít đầu tiên của ngăn xếp (xem hình b), các giá trị còn lại trong ngằn xếp
bị đẩy lùi xuống một bít
Các dạng khác nhau của lệnh LD, LDN cho LAD như sau:
Tiếp điểm thường mở
sẽ được đóng nếu n = 1
n: I, Q, M, SM, T, C, V(bit)
Tiếp điểm thường đóng
Trang 29LDI n Lệnh nạp tức thời giá
trị logic của điểm n vàobít đầu tiên trong ngănxếp
n: I
LDNI n Lệnh nạp tức thời giá
trị logic nghịch đảo củađiểm n vào bít đầu tiêntrong ngăn xếp
• OUTPUT (=)
Lệnh sao chép nội dung của bít đầu tiên trong ngăn xếp vào bít được chỉ định tronglệnh Nội dung cua ngăn xếp không bị thay đổi
Mô tả lệnh bằng LAD như sau:
Cuộn dây đầu ra ở trạng tháikích thích khi có dòng điềukhiển đi qua
n: I, Q, M, SM, T, C, V (bít)
Cuộn dây đầu ra được kíchthích tức thời khi có dòngđiều khiển đi qua
n: I, Q, M, SM, T, C, V (bít)
= I n
Lệnh = I (immediate) saochép tức thời giá trị của đỉnhstack tới tiếp điểm n đượcchỉ dẫn trong lệnh
n: Q (bít)
III.1.1.2 Các lệnh ghi/ xóa giá trị cho tiếp điểm
• SET (S) và RESET (R):
Trang 30Lệnh dùng để đóng (SET) và ngắt (RESET) các điểm gián đoạn đã được thiết kế.Trong LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộc dây đầu ra Khi dòngđiều khiển đến các cuộc dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc mộtdãy các tiếp điểm).
Trong STL, lệnh truyền trạng thái bít đầu của ngăn xếp đến các điểm thiết kế Nếubít này có giá trị =1, các lệnh S và R sẽ đóng ngắt tiếp điểm hoặc một dãy các tiếpđiểm (giới hạn từ 1 đến 255) Nội dung của ngăn xếp không bị thay đổi bởi lệnh này
Mô tả bằng lệnh LAD
Đóng một mảng gồm n cáctiếp điểm kể từ S_BIT
S BIT: I, Q, M, SM,
T, C, Vn(byte): IB, QB, MB,SMB, VB,AC, Hằng số,
*VD, *AC
Đóng một mảng gồm n cáctiếp điểm kể từ S BIT Nếu SBIT lại chỉ vào Timer hoặcCounter thì lệnh sẽ xóa bít đầu
ra của Timer/ Counter đó
Đóng tức thời một mảnggồm n các tiếp điểm kể từ SBIT
S BIT: Q
N(byte): IB, QB, MB,SMB, VB,AC, Hằng số,
*VD, *AC
Ngắt tức thời một mảnggồm n các tiếp điểm kể từ địachỉ S BIT
S S_bit, n Ghi giá trị logic vào một
mảng gồm n bít kể từ địa chỉ SBIT
S BIT: I, Q, M, SM,
T, C, V(bit)
n: IB, QB, MB,SMB, VB
ra của Timer / Counter
Trang 31SI S_bit, n Ghi tức thời giá trị logic 1
vào một mảng gồm n bít kể từđịa chỉ S BIT
S BIT: Q(bit)n: IB, QB, MB,SMB, VB (byte)
Hình 3.1 Ví dụ về các lệnh cơ bản Out, Set và Reset III.1.1.3 Các lệnh logic đại số (BOOLEAN)
• AND (A) và OR (O)
Các lệnh tiếp điểm đại số Boolean cho phép tạo lập được các mạch logic (không cónhớ) Trong LAD các lệnh này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếphay song song các tiếp điểm thường đóng và các tiếp điểm thường mở
STL có thể sử dụng các lệnh A (And) và O (Or) cho các hàm hở hoặc các lệnh AN(And Not), ON (Or Not) cho các hàm kín
Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh
Trang 32Kết quả được ghi lại bít đầu trongngăn xếp.
n: I, Q, M, SM, T, C,V
AI n
OI n
Lệnh thực hiện tức thời toán tử ^(A) và V (O) giữa giá trị logic củatiếp điểm n và giá trị bít đầu tiêntrong ngằn xếp Kết quả được ghi lạibít đầu trong ngăn xếp
n: 1(bit)
ANI n
ONI n
Lệnh thực hiện tức thời toán tử ^(A) và V (O) giữa giá trị logicnghịch đảo của tiếp điểm n và giá trịbít đầu tiên trong ngằn xếp Kết quảđược ghi lại bít đầu trong ngăn xếp
Lệnh A và O phối hợp giá trị logic của một tiếp điểm n với giá trị bít đầu tiên củangăn xếp Kết quả phép tính được đặt lại vào bít đầu tiên trong ngăn xếp Giá trị củacác bít còn lại trong ngăn xếp không bị thay đổi
Ví dụ:
Trang 33Luật tính toán của các phép tính logic And và Or như sau:
Bảng sao tóm tắt cú pháp gọi các lệnh stack logic trong STL
ALD Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai của
ngăn xếp bằng phép tính logic Kết quả ghi lại vàobít đầu tiên Giá trị còn lại của ngăn xếp được kéolên một bít
Không có
OLD Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai của
ngăn xếp bằng phép tính logic V Kết quả ghi lạivào bít đầu Giá trị còn lại của ngăn xếp được kéolên một bít
Không có
LPS Lệnh logic Push (LPS) sao chụp giá trị của bít đầu
tiên vào bít thứ hai trong ngăn xếp Giá trị còn lại bịđẩy xuống một bít Bít cuối cùng bị đẩy ra khỏingăn xếp
Không có
LRD Lệnh sao chép giá trị của bít thứ hai vào bít đầu tiên
trong ngăn xếp Các giá trị còn lại của ngăn xếp giữnguyên vị trí
Không có
LPP Lệnh kéo ngăn xếp lên một bít Giá trị của bít sau
được chuyển cho bít trước
Không có
Trang 34Lệnh ALD và lệnh OLD thực hiện phép tính logic And và Or giữa hai bít đầu tiêncủa ngăn xếp Kết quả của phép logic này sẽ được ghi lại vào bít đầu trong ngăn xếp.Nội dung còn lại của ngăn xếp được kéo lên một bít
LOGIC PUSH (LPS)
LOGIC POP (LPP)
Lệnh LPS, và LPP là những lệnh thay đổi nội dung bít đầu tiên của ngăn xếp LệnhLPS sao chép nội dung của bít đầu tiên và bít thứ hai trong ngăn xếp, nội dung ngănxếp sau đo bị đẩy xuống một bít Lệnh LPP kéo ngăn xếp lên một bít
• ORW, ORD, ANDW, ANDD, XORW, XORD
Lệnh thực hiện các thuật toán logic And, Or và Exclusive Or của đại số Booleantrên 2 bit hoặc 4 byte S7-200 cung cấp thêm những lệnh logic có khả năng thực hiện
Trang 35các thuật toán logic trên một mảng nhiều tiếp điểm (hay nhiều bít) như trên 2 bytehoặc 4 byte Luật tính toán của chúng như sau:
Biểu diễn trong STL
ANDW IN1 IN2
Lệnh thực hiện phép logicAND giữa các bít tương ứng củahai từ IN1 và IN2 Kết quả đượcghi lại vào IN2
ORW IN1 IN2
Lệnh thực hiện phép logic ORgiữa các bít tương ứng của hai từIN1 và IN2 Kết quả được ghi lạivào IN2
XORW IN1 IN2
Lệnh thực hiện phép logicXOR giữa các bít tương ứng củahai từ IN1 và IN2 Kết quả đượcghi lại vào IN2
ANDD IN1 IN2
Lệnh thực hiện phép logicAND giữa các bít tương ứng củahai từ kép IN1 và IN2 Kết quảđược ghi lại vào IN2
IN1: VD, ID,
QD, MD, SMQ
(Dword) AC,
HC, *CD,*AC Hằng số
ORD IN1 IN2
Lệnh thực hiện phép logic ORgiữa các bít tương ứng của hai từkép IN1 và IN2 Kết quả đượcghi lại vào IN2
Trang 36STL Mô tả Toán hạng
IN2: VD, ID,
QD, MD, SMD(Dword)AC,
*VD, *AC
XORD IN1 IN2
Lệnh thực hiện phép logicXOR giữa các bít tương ứng củahai từ kép IN1 và IN2 Kết quảđược ghi lại vào IN2
Biểu diễn trong LAD với các kiểu dữ liệu
Lệnh thực hiện phéptính logic AND theotừng bít của IN1 và IN2
Kết quả được ghi vàoOUT
IN1: VW, T, C,
IW, QW (word)SMW, AC, AIW, VD
*AC, Hằng số
IN2: VW, T, C,
IW, QW, (word)SMW, AC, AIW,
*VD, *AC, Hằng số
OUT: VW, T, C,
IW, QW, MW, (word)SMW, AC, *VD,
*AC
Lệnh thực hiện phéptính logic OR giữa cácbít tương ứng của hai từIN1 và IN2 Kết quảđược ghi vào từ OUT
Lệnh thực hiện phéptính logic XOR giữa cácbít của IN1 và IN2 Kếtquả được ghi vào OUT
III.1.1.4 Các lệnh tiếp điểm đặc biệt
Có thể dùng các lệnh tiếp điểm đặc biệt để phát hiện sự chuyển tiếp trạng thái củaxung (sườn xung) và đảo lại trạng thái của dòng cung cấp (giá trị của đỉnh ngăn xếp).LAD sử dụng các tiếp điểm đặc biệt để tác động vào dòng cung cấp Các tiếp điểm đặcbiệt không có toán hạng riêng của chính chúng và vì thế phải đặt chúng vào vị trí phíatrước của cuộn dây hoặc hộp đầu ra Tiếp điểm chuyển tiếp dương/âm (các lệnh sườntrước và sườn sau) có nhu cầu về bộ nhớ, nên đối với CPU 214 là 256 lệnh
Biểu diễn trong ngôn ngữ LAD
Trang 37LAD Mô tả Toán hạng
Tiếp điểm đảo trạng thái của dòng cung cấp
Nếu dòng cung cấp có tiếp điểm đảo thì nó bịngắt mạch, nếu không có tiếp điểm đảo thì nóthông mạch
Không có
Tiếp điểm chuyển đổi dương cho phép dòngcung cấp thông mạch trong một vòng quét khisườn xung điều khiển chuyển từ 0 lên 1
Không có
Tiếp điểm chuyển đổi âm cho phép dòng cungcấp thông mạch trong một vòng quét khi sườnxung điều khiển chuyển từ 1 xuống 0
EU Lệnh nhận biết sự chuyển tiếp trạng thái từ 0
lên 1 trong một vòng quét của đỉnh ngăn xếp
Khi nhận được sự chuyển tiếp như vậy đỉnhngăn xếp sẽ có giá trị bằng 1 trong một vòngquét
Không có
ED Lệnh nhận biết sự chuyển tiếp trạng thái từ 1
xuống 0 trong một vòng quét của đỉnh ngănxếp Khi nhận được sự chuyển tiếp như vậyđỉnh ngăn xếp sẽ có giá trị bằng 1 trong mộtvòng quét
Không có
NOT (NOT)
EDGE UP (EU)
EDGE DOWN (ED)
Lệnh NOT, EU va ED thực hiện các thuật toán đặc biệt trên bít đầu tiên của ngănxếp Lệnh NOT đảo giá trị của bít đầu tiên trong ngăn xếp Lệnh EU khi phát hiện thấy
Trang 38sườn lên từ 0 đến 1 trong bít đầu tiên của ngăn xêp thì đặt giá trị 1 vào bít đầu tiên củangăn xếp trong khoảng thời gian bằng một vòng quét.
Bảng 3.2 Ví dụ về các lệnh And, Not và Edge Down III.1.1.5 Các lệnh so sánh
Khi lập trình, nếu có các quyết định về điều khiển được thực hiện dựa trên kết
quả của việc so sánh thì có thể sử dụng lệnh so sánh cho byte, từ hay từ kép cua
Trang 39LAD Mô tả Toán hạng
Tiếp điểm đóng khi n1 = n2
n1, n2: VB, IB,
QB, MB, SMB, AC,Const, *VD*, ACn1, n2 (từ): VW, T,
C, IW, QW, MW,SMW,AC, AIW,Hằng số, *VD, *ACn1, n2(từ kép):VD,
để tạo ra được các phép so sánh mà S7-200 không có lệnh so sánh
Biểu diển lệnh so sánh trong STL:
2 byte n1 vàn2 thỏamãn n1 = n2
n1, n2 (byte):VB,
IB, QB, MB, SMB, AC, hằng
2 byte n1 vàn2 thỏamãn n1 < = n2
LDW = n1 n2
AW = n1 n2
Lệnh thực hiện phép tính logicLoad, And hoặc Or giữa giá trị logic n1, n2
Trang 402 từ kép n1 vàn2 thỏamãn n1 = n2
n1, n2 (từ kép):VD, ID, QD,
n1 và n2 (4 byte) thỏa mãn n1 = n2
n1, n2 (từkép):VD, ID,