Đồ án Logic chuông báo tiết học dùng plc (tự động hóa trong trường học)

PLC-S7-200 là loại thiết bị điều khiển lập trình, loại nhỏ của hãng Siemens, có cấu trúc dạng môđun mở rộng. Các môđun này được sử dụng cho nhiều những ứ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 212 hoặc CPU 214. Về hình thức bên ngoài, sự khác nhau của hai loại CPU này nhận biết được nhờ số đầu vào/ra và nguồn cung cấp. - CPU 212: Có 8 cổng vào và 6 cổng ra, có khả năng mở rộng thêm 2 môđun mở rộng. - CPU 214: Có 14 cổng vào và 10 cổng ra, có khả năng mở rộng thêm 7 môđun mở rộng. S7-200 có nhiều loại môđun mở rộng khác nhau.

doc34 trang | Chia sẻ: ngtr9097 | Lượt xem: 3955 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Logic chuông báo tiết học dùng plc (tự động hóa trong trường học), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trường Đại học Bách Khoa Khoa Điện Bộ môn Tự động hóa Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập - Tự do - Hạnh phúc -----co0od----- NHIỆM VỤ ĐỒ ÁN MÔN HỌC ĐIỀU KHIỂN LOGIC GVHD: Trần Thái Anh Âu SVTH: Đào Thanh Hải Lớp:06D3 Tên đề tài: Tự động hóa trong trường học. Nội dung: Chương 1: Giới thiệu tổng quan về PLC S7-200 Chương 2: Phân địa chỉ vào/ra; Tính chọn PLC và mô đun mở rộng nếu cần; Thiết kế kết nối giữa PLC và các thiết bị bên ngoài. Chương 3: Thiết kế lưu đồ thuật toán hoặc giản đồ thời gian Chương 4: Chương trình phải được thiết kế trên phần mềm Step 7 MicroWin; Ngôn ngữ LAD; Có chú thích rõ cho từng network; Bản vẽ: Bản vẽ A3 (hoặc A2 nếu cần thiết) trên đó thể hiện được sơ đồ kết nối điện; Thuật toán; Chương trình thiết kế bằng LAD. Tài liệu tham khảo: Tùy chọn Kiểm tra tiến độ đồ án Đà nẵng, ngày tháng năm 2010 Giáo viên hướng dẫn Trần Thái Anh Âu CHƯƠNG I : TỔNG QUAN VỀ PLC S7-200 I. Cấu trúc phần cứng. PLC-S7-200 là loại thiết bị điều khiển lập trình, loại nhỏ của hãng Siemens, có cấu trúc dạng môđun mở rộng. Các môđun này được sử dụng cho nhiều những ứ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 212 hoặc CPU 214. Về hình thức bên ngoài, sự khác nhau của hai loại CPU này nhận biết được nhờ số đầu vào/ra và nguồn cung cấp. - CPU 212: Có 8 cổng vào và 6 cổng ra, có khả năng mở rộng thêm 2 môđun mở rộng. - CPU 214: Có 14 cổng vào và 10 cổng ra, có khả năng mở rộng thêm 7 môđun mở rộng. S7-200 có nhiều loại môđun mở rộng khác nhau. I.1. CPU-212 bao gồm: - 512 từ đơn (Word) =1 Kbyte, để lưu chương trình thuộc miền nhớ đọc/ghi được, không bị mất dữ liệu nhờ có giao diện với EEPROM-Vùng nhớ Non-Valatile. - 512 từ đơn (Word) =1 Kbyte dùng để lưu dữ liệu, có 100 từ nhớ đọc/ghi thuộc vùng nhớ Non-Valatile. - 8 cổng vào logic và 6 cổng ra logic. - Có thể ghép thêm 2 modul để mở rộng tổng số cổng vào/ra, bao gồm cả modul tương tự. - Tổng số cổng Logic vào/ra cực đại là 64 cổng vào và 64 cổng ra. - Có 64 bộ timer, trong đó có: + 2 bộ timer có độ phân giải 1ms. + 8 bộ timer có độ phân giải 10 ms. + 54 bộ timer có độ phân giải 100 ms. - Có 64 bộ counter, trong đó có hai loại counter: + Loại chỉ đếm tiến. + Loại vừa đếm tiến vừa đếm lùi. - Có 368 bit nhớ đăc biệt sử dụng làm các bit trạng thái hoặc các bit đặt các chế độ làm việc. - Có các chế độ ngắt vá xử lý tín hiệu ngắt khác nhau: Ngắt truyền thông; ngắt theo sườn lên hay sườn xuống; ngắt theo thời gian và ngắt theo bộ đếm tốc độ cao(2khz). - Bộ nhớ không bị mất dữ liệu trong 50 giờ khi CPU mất nguồn nuôi. I.2. CPU-214 bao gồm: - 2048 từ đơn (Word) =4 Kbyte, để lưu chương trình thuộc miền nhớ đọc/ghi được, không bị mất dữ liệu nhờ có giao diện với EEPROM - Vùng nhớ Non-Valatile. - 2048 từ đơn (Word) =4 Kbyte, Có 15 từ nhớ đọc/ghi thuộc vùng nhớ Non-Valatile. - 14 cổng vào logic và 10 cổng ra logic. - Có thể ghép thêm 7 modul để mở rộng tổng số cổng vào/ra, bao gồm cả modul tương tự. - Tổng số cổng Logic vào/ra cực đại là 64 cổng vào và 64 cổng ra. - Có 128 bộ timer, trong đó có: + 4 bộ timer có độ phân giải 1ms. + 16 bộ timer có độ phân giải 10 ms. + 108 bộ timer có độ phân giải 100 ms. - Có 128 bộ counter, trong đó có hai loại counter: + Loại chỉ đếm tiến . + Loại vừa đếm tiến vừa đếm lùi. - Có 688 bit nhớ đặc biệt sử dụng làm các bit trạng thái hoặc các bit đặt các chế độ làm việc. - Có các chế độ ngắt và xử lý tín hiệu ngắt khác nhau: Ngắt truyền thông; ngắt theo sườn lên hay sườn xuống; ngắt theo thời gian và ngắt theo bộ đếm tốc độ cao và ngắt truyền xung. - 3 Bộ đếm tốc độ cao với nhịp 2 KHz và 7 KHz. - 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ự. - Bộ nhớ không bị mất dữ liệu trong 190 giờ khi CPU mất nguồn nuôi. II.Cấu trúc bộ nhớ. Bộ nhớ của S7-200 được chia làm 4 vùng với 1 tụ có nhiệm vụ duy trì dữ liệu trong một trời gian nhất định khi mất nguồn. Bộ nhớ S7-200 có tính năng động cao, đọc và ghi được trong toàn vùng, loại trừ phần các bit nhớ đặc biệt được ký hiệu bởi SM (Special Memory bits) chỉ có thể truy cập để đọc. -Vùng chương trình: là miền bộ nhớ dùng để lưu giữ các lệnh trong chương trình. Vùng này thuộc vùng nhớ đọc/ghi được (Vùng Non-Valatile). -Vùng tham số: là miền lưu giữ các thông số như: từ khóa, địa chỉ,…Vùng này thuộc vùng Non-Valatile. - 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 các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyề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 volatile nhưng đọc/ghi được. III. Tập lệnh. III.1. 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ên trong điều khiển vẫn thường gọi là khâu trễ. Nếu ký hiệu tín hiệu (logic) vào là x (t) và thời gian trễ được tạo ra bằng Timer là r thì tín hiệu đầu ra của Timer đó sẽ là x (t-r). S7-200 có 128 Timer (CPU-214) được chia làm 2 loại khác nhau, đó là: * Timer tạo thời gian trễ không có nhớ (Timer on delay), ký hiệu là TON. * Timer tạo thời gian trễ có nhớ (Timer on delay retentive), ký hiệu là TONR. Hai kiểu Timer của S7-200 (TON và TONR) phân biệt với nhau ở phản ứng của nó đối với trạng thái tín hiệ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 0 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ự 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 trong nhiều khoảng thời gian khác nhau. Timer TON và TONR bao gồm 3 loại với 3 độ phân giải khác nhau, độ phân giải 1ms, 10 ms, 100 ms. Thời gian trễ r đượ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 10 ms và giá trị đặt trước 10 ms thì thời gian trễ sẽ là r = 500 ms Timer của S7-200 có những tính chất cơ bản sau: Các bộ Timer được điều khiển bởi một cổng vào và giá trị đếm tức thời. Giá trị đếm tức thời của Timer được nhớ trong thanh ghi 2 byte (gọi là T-word) của Timer, xác định khoảng thời gian trễ kể từ khi Timer được kích. Giá trị đặt trước của các bộ Timer đưđược ký hiệu trong LAD và STL là PT. Giá trị đếm tức thời của thanh ghi T-word thường xuyên được so sánh với giá trị đặt trước của Timer. Mỗi bộ Timer, ngoài thanh ghi 02 byte T-word lưu giá trị đếm tức thời, còn có 1 bít, ký hiệu bằng T-bít, chỉ trạnh 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. Trong khoảng thời gian tín hiệu x (t) có giá trị logic 1, giá trị đếm tức thời trong T-word luôn được cập nhật và thay đổi tăng dần cho đến khi nó đạt giá trị cực đại. Khi giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước, T-bít có giá trị logic 1. Các loại Timer của S7-200 (đối với CPU 214) chia theo TON, TONR và độ phân giải bao gồm: Lệnh Độ phân giải Giá trị cực đại CPU 214 TON 1 ms 32,767s T32, T96 10 ms 327,67s T33¸T36; T97¸ T100 100 ms 3276,7s T37¸T63; T101¸ T127 TONR 1 ms 32,767s T0 , T64 10 ms 327,67s T1¸T4; T65¸T68 100 ms 3276,7s T5¸T31; T69¸T95 Cú pháp khai báo sử dụng Timer trong LAD như sau: LAD Mô tả Toán hạng TON Txx IN PT Khai báo Timer số hiệu xx kiểu TON để tạo thời gian trễ tính từ khi đầu vào IN được kích. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước PT thì T-bít có giá trị logic bằng 1. Có thể reset Timer kiểu TON bằng lệnh R hoặc bằng giá trị logic 0 tại đầu vào IN 1 ms T32 ; T96 10 ms T33¸T36; T97¸ 100 100 ms T37¸T63; T101¸ T127 Txx : 32¸63 96¸127 PT : VW, T, C, IW,QW, MW, SMW,AC, AIW, VD,*AC, Hằng số. TONR _Txx IN PT Khai báo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tính từ khi đầu vào IN được kích. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước PT thì T-bít có giá trị logic bằng 1. Chỉ có thể reset kiểu TONR bằng lệnh R cho T-bít 1 ms T0 ; T64 10 ms T1 ¸ T4 ; T65 ¸ T68 100 ms T5 ¸ T31; T69 ¸ T95 Txx : 0 ¸31 64¸95 PT: VW, T, C, IW,QW, AIW, SMW, AC, AIW, VD, *AC, Hằng số. Cú pháp khai báo sử dụng Timer trong STL như sau: TON, TONR : Khai báo sử dụng Timer của S7-200, lệnh khai báo sử dụng Timer là lệnh có điều kiện. Tại thời điểm khai báo tín hiệu đầu vào có giá trị logic bằng giá trị logic của bít đầu tiên trong ngăn xếp. STL Mô tả Toán hạng TON Txx n Khai báo Timer số hiệu xx kiểu TON để tạo thời gian trễ tính từ khi bit đầu tiên trong ngăn xếp có giá trị logic 1. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước n thì T-bít có giá trị logic bằng 1. Có thể reset Timer kiểu TON bằng lệnh R hoặc bằng giá trị logic 0 tại đầu vào. 1 ms T96 10 ms T97¸T100 T97 ¸T100 100 ms T101¸T127 T101 ¸T127 Txx: 32 ¸63 96¸127 n (word) : VW, T, C, IW,QW, MW, SMW,AC, AIW, VD,*AC, Hằng số TONR Txx n Khai báo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tính từ khi bit đầu tiên trong ngăn xếp có giá trị logic 1. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước n thì T-bit có giá trị logic bằng 1. Chỉ có thể reset Timer kiểu TONR bằng lệnh R cho T-bit 1 ms T64 10 ms T65¸T68 T65 ¸T68 100 ms T69¸T95 T69 ¸T95 Txx : 0 ¸31 64 ¸95 n (word) : VW, T, C, IW,QW, AIW, SMW,AC, AIW, VD,*AC, Hằng số 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-bít 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ừ 0 đến 127 (đối với CPU 214). Một Timer được đặt tên là Txx, trong đó 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-bít vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng với Txx. Khi dùng lệnh làm việc với từ, 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-bít. 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 bộ Timer, T-word và T-bít của nó đồng thời được xóa và có giá trị bằng 0, như vậy giá trị đếm tức thời được đặt về 0 và 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 của S7-200 bằng lệnh R (reset). Điều đó nói rằng khi dùng lệnh R cho T-bít 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 xóa T-word vừa xóa T-bít của Timer đó. Có hai phương pháp để reset một Timer kiểu TON: - Xóa tín hiệu đầu vào. - Dùng lệnh R (reset). 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ể xóa T-bít của Timer đó. Cũng như vậy, khi đặt một giá trị logic 0 cho T-bít của một Timer không thể xóa giá trị đếm tức thời của Timer đó. Cú pháp reset một timer Txx bằng lệnh R là : R Txx K1 Chú ý rằng lệnh R thuộc nhóm lệnh có điều kiện. x(t) T-Bit Giá trị đặt trước T-word Giá trị đếm tức thời Hình 7a : Timer của S7-200 : III.2. Các lệnh điều khiển Counter Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-2000. Các bộ đếm của S7-2000 được chia ra làm 2 loại: bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD). Bộ đế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 thanh 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 1 vào một bít đặc biệt của nó, được gọi là C-bít. Trường hợp giá trị đếm tức thời nhỏ hơn giá trị đặt trước thì C-bít có giá trị logic là 0. Khác với các bộ Counter, các bộ đếm CTU đều có chân nối với tín hiệu điều khiển xóa để thực hiện việc đặt lại chế độ khởi phát ban đầu (reset) cho bộ đếm, được ký hiệu bằng chữ cái R trong LAD hay được qui định là trạng thái logic của bít đầu tiên của ngăn xếp trong STL. Bộ đếm được reset khi tín hiệu xóa này có mức logic là 1 hoặc khi lệnh R (reset) được thực hiện với C-bít. Khi bộ đếm được reset, cả C-word và C-bít đều nhận giá trị 0. Hình 8a : Bộ đếm CTU của S7-200 : CU C-Bit PV R C-word Giá trị đếm tức thời 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, ký hiệu là CU trong LAD hoặc bít thứ 3 của ngăn xếp trong STL, và đếm lùi khi gặp sườn lên của xung vào cổng đếm lùi, được ký hiệu là CD trong LAD hoặc bít 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. Khi đầu vào logic của chân xóa, 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, Bằng lệnh R (reset) với C-bít 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 so 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 bằng bằng giá trị đặt trước thì C-bít có giá trị logic bằng 1. Còn các trường hợp khác C-bít có giá trị logic bằng 0. Hình 8b : Bộ đếm CTUD của S7-200 : CU C-Bit PV CD R C-word Giá trị đếm tức thời Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767. Bộ đếm tiến/lùi CTUD có miền giá trị đếm tức thời là -32.767 ¸ 32.767 . Các bộ đếm được đánh số từ 0 đến 127 (đới với CPU 214) và ký hiệu bằng Cxx, trong đó xx là số thứ tự của bộ đếm. Ký hiệu Cxx đồng thời cũng là địa chỉ hình thức của C-word và của C-bít. Mặc dù dùng địa chỉ hình thức, song C-word và C-bít vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng làm việc với từ hay với tiếp điểm (bít). Lệnh khai báo sử dụng bộ đếm trong LAD như sau: LAD Mô tả Toán hạng CTU Cxx CU PV R Khai báo bộ đếm tiến theo sườn lên của CU. Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bít (cxx) có giá trị logic bằng 1. Bộ đếm được reset khi đầu vào R có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-word Cxx đạt giá trị cực đại 32.767. Cxx: 0 ¸47 80 ¸127 PV (word) : VW , T, C, IW, QW, MW, SMW, AC,AIW, Hằng số, *VD, *AC CTUD Cxx CU PV R Khi báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của CU và đếm lùi theo sườn lên của CD. Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bít (cxx) có giá trị logic bằng 1. Bộ đếm ngừng đếm tiến khi C-word đạt giá trị cực đại 32.767 và ngừg đếm lùi khi C-word đạt giá trị cực tiểu 32.767 CTUD reset khi đầu vào R có giá trị logic bằng 1. Cxx : 48 ¸79 PV (word): VW,T , C , IW, QW, MW, SMW, AC,A IW, Hằng số, *VD, *AC Lệnh khai báo sử dụng bộ đếm trong STL như sau: STL Mô tả Toán hạng CTU Cxx n Khai báo bộ đếm tiến theo sườn lên cùa CU. Khi giá trị đếm tức thời C-word lớn hơn hoặc bằng giá trị đặt trước n, C-bít có giá trị logic bằng 1. Bộ đếm được reset khi đầu ngăn xếp có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-word đạt giá trị cực đại 32.767. Cxx : 0 ¸47 80 ¸127 n (word): VW, T , C , IW , QW , MW, SMW, AC, AIW, Hằng số, *VD, *AC CTUD Cxx n Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của CU và đếm lùi theo sườn lên của CD. Khi giá trị đếm tức thời C-word, Cxx lớn hơn hoặc bằng giá trị đặt trước n, C-bít có giá trị logic bằng 1, bộ đếm ngừng đếm tiến khi C-word đạt giá trị cực đại 32.767 và ngừng đếm lùi khi C-word đạt được giá trị cực tiểu 32.767 CTUD reset khi bít đầu của ngăn xếp có giá trị logic bằng 1. Cxx: 48 ¸ 79 n (word) : VW, T, C, IW, QW, MW, SMW, AC, AIW, Hằng số, *VD, *AC III.3. Các lệnh dịch chuyển nội dung ô nhớ Các lệnh dịch chuyển nội dung ô nhớ thực hiện việc di chuyển hoặc sao chép số liệu từ vùng này sang vùng khác trong bộ nhớ. Trong LAD hay trong STL lệnh dịch chuyển thực hiện việc di chuyển hay sao chép nội dung của một byte, một từ đơn, một từ kép hoặc một giá trị thực từ vùng này sang vùng khác trong bộ nhớ. Lệnh trao đổi nội dung của 2 byte trong một từ đơn thực hiện việc chuyển nội dung của byte thấp sang byte cao và ngược lại nội dung của byte cao sang byte thấp của từ đó. a. Lệnh MOV_B Là lệnh sao chép nội dung của byte IN sang byte OUT. Cú pháp dùng lệnh MOV_B trong LAD hay MOVB trong STL như sau: LAD STL MOV B EN IN OUT MOVB IN OUT b. Lệnh MOV_W Là lệnh sao chép nội dung của từ đơn IN sang từ đơn OUT. Cú pháp dùng lệnh MOVW trong STL hay MOV_W trong LAD như sau: LAD STL MOV W EN IN OUT MOVW IN OUT c. Lệnh MOV_DW Là lệnh sao chép nội dung của từ kép IN sang từ kép OUT. Cú pháp dùng lệnh MOVD trong STL hay MOV_DW trong LAD như sau: LAD STL MOV DW EN IN OUT MOVD IN OUT d. Lệnh MOV_R Là lệnh sao chép một số thực từ IN (4 byte) sang OUT (4 byte). Cú pháp dùng lệnh MOV_R trong LAD hay MOVR trong STL: LAD STL MOV R EN IN OUT MOVR IN OUT e. Lệnh SWAP Là lệnh trao đổi nội dung của Byte thấp và Byte cao trong nội dung từ đơn IN Cú pháp dùng lệnh SWAP trong LAD hay trong STL như sau: LAD STL SWAP EN IN OUT SWAP IN III.4. Đồng hồ thời gian thực Đồng hồ thời gian thực chỉ có ở CPU 214. Để có thể làm việc với đồng hồ thời gian thực CPU 214 cung cấp hai lệnh đọc và ghi giá trị cho đồng hồ. Những giá trị đọc được hoặc ghi được với đồng hồ thời gian thực là các giá trị về ngày, thánh, năm, và các giá trị giờ, phút, giây. Các dữ liệu đọc, ghi với đồng hồ thời gian thực trong LAD và trong STL có độ dài một byte và phải được mã hóa theo kiểu số nhị phân BCD . Byte 0 Năm ( 0 ¸99) Byte 1 Tháng(0 ¸12) Byte 2 Ngày (0 ¸÷31) Byte 3 Giờ (0 ¸23) Byte 4 Phúc (0 ¸ 59) Byte 5 Giây (0 ¸59) Byte 6 0 Byte 7 ngày trong tuần Các dữ liệu hợp lệ là: Năm (yy) Tháng (mm) Ngày (dd) Giờ (hh) Phút (mm) Giây (ss) 0 ¸ 99 1 ¸ 12 1 ¸ 31 0 ¸ 23 0 ¸ 59 0 ¸ 59 Riêng giá trị về ngày trong tuần là một số tương ứng với nội dung của nibble(4 bit) thấp trong byte theo kiểu : Chủ nhật Thứ hai Thứ ba Thứ tư Thứ năm Thứ sáu Thứ bảy 1 2 3 4 5 6 7 READ_RTC (LAD) TODR (STL) Lệnh đọc nội dung của đồng hồ thời gian thực với bộ đệm 8 byte được chỉ thị trong lệnh bằng toán hạng T. SET_RTC (LAD) TODW (STL ) Lệnh ghi nội của bộ đệm 8 byte được chỉ thị trong lệnh bằng toán hạng T vào đồng hồ thời gian thực . Cú pháp sử dụng lệnh đọc, ghi dữ liệu với đồng hồ thời gian thực trong LAD , STL: LAD STL Toán hạng READ RTC EN T TODR T T(byte) : VB , IB , QB , MB , SMB , *VD , *AC SET RTC EN T TODW T Tuyệt đối không sử dụng lệnh TODR và lệnh TODW đồng thời vừa trong chương trình chính, vừa trong chương trình xử lý ngắt. Khi một lệnh TODR hay TODW đã được thực hiện, thì khi gọi chương trình xử lý ngắt, các lệnh làm việc với đồng hồ thời gian thực trong chương trình xử lý ngắt sẽ không được thực hiện nữa. Bit SM4.5 sẽ có logic 1 trong những trường hợp như vậy. CHƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG TRONG TRƯỜNG HỌC N gày nay, với sự phát triển mạnh mẽ của công nghệ chế tạo thiết bị tự động hóa, kết hợp với những thành tựu trong công nghệ vi điện tử và công nghệ thông tin, đã cho phép tạo nên một giải pháp tự động hóa trong mọi lĩnh vực . Có thể nói tự động hóa đã trở thành xu hướng tất yếu cho mọi lĩnh vực, cho bất kì quốc gia và vùng lãnh thổ nào . Ngôn ngữ lập trình PLC được ứng dụng trong nhiều lĩnh vực công nghiệp như : chế biến thực phẩm , sản xuất xi măng, gạch, các hệ thống tự động từ đơn giản đến phức tạp…gắn liền với các tên tuổi hàng đầu trong việc chế tạo các thiêt bị tự động hóa như CNC…và các hãng như Siemens, Honeywell, Alen Bradley, ABB…và các hệ thống mạng kèm theo là : Hệ thống sản xuất linh hoạt (FMS), Hệ thống điều khiển phân tán (DSC) đã tạo nên bước phát triển nhảy vọt trong nền sản xuất công