Bài giảng môn học Lập trình PLC

1. Từ mỗi cụm đã được chia trong phần xem xét sự khả thi của hệ thống tiến hành phân tích chi tiết quy trình công nghệ, hệ truyền động và trang bị điện. Mô tả chi tiết sự liên động giữa các phần tử của hệ thống trên cơ sở đó thành lập giản đồ thời gian hay lưu đồ thuật toán đặc biệt phải chú ý đến các lỗi có thể xảy ra trong quá trình máy đang hoạt động bình thường. 2. Tính chọn thiết bị cảm biến và cơ cấu chấp hành: • Nếu đầu vào chỉ có chức năng logic 0&1 thì tính chọn cho đầu vào số. • Nếu có chức năng phân tích tín hiệu để phục vụ cho việc giám sát (nhiệt độ, độ ẩm, mức, lưu lượng, khối lượng, lực tác dụng ) hoặc điều khiển có phản hồi thì phải tính chọn cho đầu vào analog. • Nếu điều chỉnh động cơ theo phương pháp PID loop thì phải tính chọn cho đầu ra analog. • Cơ cấu chấp hành là Piton thuỷ lực hay khí nén thì phải tính chọn van thuỷ hoặc khí tương ứng. Để điều khiển các van này phải tính chọn cho đầu ra số, ngoại trừ các van tiết lưu hoặc van phần trăm điều khiển thông qua động cơ thì có thể tính chọn biến tần hoặc bộ điều chỉnh tương ứng với động cơ. Ngoài ra có thể dùng PID loop để điều khiển các van đó, lúc đó phải tính chọn cho dầu ra analog.

pdf132 trang | Chia sẻ: huongthu9 | Lượt xem: 489 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn học Lập trình PLC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
T, C, D, L. Tín hiệu ra Q4.0 sẽ bị xoá khi tín hiệu đầu vào I0.0 = 1. 58/130 Lệnh SET: Toán hạng là địa chỉ bit I, Q, M, T, C, D, L. Tín hiệu ra Q4.0 = 1 (Q4.0 sẽ được thiết lập ) khi I0.0 =1. Bộ nhớ RS: Toán hạng là địa chỉ bit I, Q, M, D, L • Khi I0.0 = 1 và I0.1 = 0 Merker M0.0 bị Reset và đầu ra Q4.0 là "0". Nếu I0.0 = 0 và I0.1 = 1 thì Set cho M0.0 và đầu ra Q4.0 là "1". • Khi cả hai đầu vào Set và Reset cùng đồng thời =1 thì M0.0 và Q4.0 có giá trị là "1". 59/130 Bộ nhớ SR: Toán hạng là địa chỉ bit I, Q, M, D, L • Khi I0.0 = 1 và I0.1 = 0 thì Set cho Merker M0.0 và đầu ra Q4.0 là "1". Nếu I0.0 = 0 và I0.0 = 1 thì M0.0 bị Reset và đầu ra Q4.0 là "0". • Khi cả hai đầu vào Set và Reset cùng đồng thời =1 thì M0.0 và Q4.0 có giá trị là "0". Chú ý: Trong kỹ thuật số trạng thái của trigơ RS sẽ bị cấm khi R=1 và S=1. Nên ở đây có hai loại bộ nhớ RS và SR là loại Trigơ ưu tiên S hay ưu tiên R 60/130 Bộ đếm (Counter) Nguyên lý hoạt động Counter thực hiện chức năng đếm tại các sườn lên của các xung đầu vào. S7-300 có tối đa là 256 bộ đếm phụ thuộc vào từng loại CPU, ký hiệu bởi Cx. Trong đó x là số nguyên trong khoảng từ 0 đến 255. Trong S7-300 có 3 loại bộ đếm thường sử dụng nhất đó là : Bộ đếm tiến lùi (CUD), bộ đếm tiến (CU) và bộ đếm lùi (CD). Một bộ đếm tổng quát có thể được mô tả như sau: Trong đó: CU : BOOL là tín hiệu kích đếm tiến CD : BOOL là tín hiệu kích đếm lùi S : BOOL là tín hiệu đặt PV : WORD là giá trị đặt trước R : BOOL là tín hiệu xoá CV : WORD Là giá trị đếm ở hệ đếm 16 CV_BCD: WORD là giá trị đếm ở hệ đếm BCD Q : BOOL Là tín hiệu ra . Quá trình làm việc của bộ đếm được mô tả như sau: 61/130 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 thanh ghi C-Word được gọi là giá trị đếm tức thời của bộ đếm và ký hiệu bằng CV và CV_BCD. Bộ đếm báo trạng thái của C-Word ra ngoài C-bit qua chân Q của nó. Nếu CV 0, C-bit có giá trị "1". Ngược lại khi CV = 0, C- bit nhận giá trị 0. CV luôn là giá trị không âm. Bộ đếm sẽ không đếm lùi khi CV = 0. Đối với Counter, giá trị đặt trước PV chỉ được chuyển vào C-Word tại thời điểm xuất hiện sườn lên của tín hiệu đặt tới chân S. Bộ đếm sẽ được xoá tức thời bằng tín hiệu xoá R (Reset). Khi bộ đếm được xóa cả C- Word và C- bit đều nhận giá trị 0. Khai báo sử dụng Việc khai báo sử dụng một Counter bao gồm các bước sau: - Khai báo tín hiệu Enable nếu muốn sử dụng tín hiệu chủ động kích đếm (S): dạng dữ liệu BOOL - Khai báo tín hiệu đầu vào đếm tiến CU : dạng dữ liệu BOOL - Khai báo tín hiệu đầu vào đếm lùi CD : dạng dữ liệu BOOL - Khai báo giá trị đặt trước PV: dạng dữ liệu WORD - Khai báo tín hiệu xoá: dạng dữ liệu BOOL - Khai báo tín hiệu ra CV (hệ 16): dạng dữ liệu WORD. - Khai báo tín hiệu ra CV-BCD nếu muốn lấy giá trị đếm tức thời ở hệ BCD dạng dữ liệu WORD. - Khai báo đầu ra Q nếu muốn lấy tín hiệu tác động của bộ đếm. dạng dữ liệu BOOL. Trong đó cần chú ý các tín hiệu sau bắt buộc phải khai báo: Tên của bộ đếm cần sử dụng, tín hiệu kích đếm CU hoặc CD. 62/130 Bộ đếm tiến/lùi: Khai báo Nguyên lý hoạt động Khi tín hiệu I0.2 chuyển từ 0 lên 1bộ đếm được đặt giá trị là 55. Giá trị đầu ra Q4.0 =1 . Bộ đếm sẽ thực hiên đếm tiến tại các sườn lên của tín hiệu tại chân CU khi tín hiệu I0.0 chuyển giá trị từ "0" lên "1" Bộ đếm sẽ đếm lùi tại các sườn lên của tín hiệu tại chân I0.1 khi tín hiệu chuyển từ "0" lên "1" . Giá trị của bộ đếm sẽ trở về 0 khi có tín hiệu tai sườn lên của chân R ( I0.3) Bộ đếm tiến CU: Khai báo Nguyên lý hoạt động Khi tín hiệu I0.2 chuyển từ "0" lên "1" bộ đếm được đặt giá trị là 55. Giá trị đầu ra Q4.0 =1. Bộ đếm sẽ thực hiên đếm tiến tại các sườn lên của tín hiệu tại chân CU khi tín hiệu I0.0 chuyển giá trị từ "0" lên "1" .Giá trị của bộ đếm sẽ trở về 0 khi có tín hiệu tai sườn lên của chân R (I0.3). Bộ đếm sẽ chỉ đếm đến giá trị <= 999. 63/130 Bộ đếm lùi CD: Khai báo Nguyên lý hoạt động • Khi tín hiệu I0.2 chuyển từ "0" lên "1" bộ đếm được đặt giá trị là 55. Giá trị đầu ra Q4.0 =1. • Bộ đếm sẽ thực hiên đếm lùi tại các sườn lên của tín hiệu tại chân CD khi tín hiệu I0.0 chuyển giá trị từ "0" lên"1". • Giá trị của bộ đếm sẽ trở về 0 khi có tín hiệu tai sườn lên của chân R(I0.3). Bộ đếm sẽ chỉ đếm đến giá trị >= 0. 64/130 Ví dụ: Viết chương trình điều khiển để quản lý bãi đỗ xe ôtô tự động. Cảm biến S1để phát hiện xe vào, cảm biến S2 để phát hiện xe ra. Số xe trong Gara được lưu vào địa chỉ QW20. 65/130 Bộ thời gian (Timer) Nguyên lý hoạt động của bộ Timer Bộ thời gian Timer là bộ tạo thời gian trễ T mong muốn giữa tín hiệu logic đầu vào X(t) và đầu ra Y(t). S7-300 có 5 kiểu thời gian Timer khác nhau. Tất cả 5 loại Timer này 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 của tín hiệu kích đầu vào, tức là khi có tín hiệu đầu vào U(t) chuyển trạng thái từ logic "0" lên logic"1", được gọi là thời điểm Timer được kích. Thời gian trễ T mong muốn được khai báo với Timer bằng giá trị 16 bits bao gồm hai thành phần: - Độ phân giải với đơn vị là mS. Timer của S7 có 4 loại phân giải khác nhau là 10ms, 100ms, 1s và 10s. - Một số nguyên BCD trong khoảng từ 0 đến 999 được gọi là PV (Preset Value - giá trị đặt trước). Như vậy thời gian trễ T mong muốn sẽ được tính như sau: T = Độ phân giải x PV. Tùy theo ngôn ngữ lập trình mà có thể khai báo thời gian trễ theo hai cách sau: - Cách 1: S5t#5s: Cách khai báo này dùng được cho các loại ngôn ngữ lập trình Step 7 66/130 - Cách 2: L W#16#1350, cách khai báo này chỉ dùng được cho ngôn ngữ STL Để xác định được độ phân giải trong cách khai báo thứ nhất ta có thể tính như sau: Áp dụng công thức tính: T = Độ phân giải x PV; trong đó PV là số nguyên lớn nhất có thể nằm trong khoảng 0-999. Như vậy, nếu khai báo s5t#5s thì có thể tính như sau: 5s=10mS x 500, vậy độ phân giải là 10mS. Với cách khai báo này ta không thể thay đổi được độ phân giải vì phần mềm Step7 tự gán cho nó độ phân giải. Với cách khai báo thứ 2 ta co thể lựa chọn độ phân giải tùy ý. Ví d ụ muốn khai báo khoảng thời gian trể là 5s ta có thể khai báo như sau: W#16#1050 hoặc W#16#2005. Trong đó, chữ số 1 hoặc 2 là độ phân giải được quy định theo bảng sau: Còn ba chữ số đứng sau là giá trị đặt. Như vậy, trong ví dụ trên với cùng một giá trị thời gian trễ 5s ta có thể đặt được độ phân giải là 100ms hoặc 1s. Ngay tại thời điểm kích Timer, giá trị PV được chuyển vào thanh ghi 16 bits của Timer T-Word ( gọi là thanh ghi CV- Curren value- giá trị tức thời). Timer sẽ ghi nhớ khoảng thời gian trôi qua kể từ khi kích bằng cách giảm dần một cách tương ứng nội dung thanh ghi CV. Nếu nội dung thanh ghi CV trở về bằng 0 thì Timer đã đạt được thời gian mong muốn T và điều này được báo ra ngoài bằng cách thay đổi trạng thái tín hiệu đầu ra Y(t). Việc thông báo ra ngoài bằng cách đổi trạng thái tín hiệu dầu ra Y(t) như thế nào còn phụ thuộc vào loại Timer được sử dụng. Bên cạnh sườn lên của tín hiệu đầu vào U(t), Timer còn có thể kích bằng sườn lên của tín hiệu kích chủ động có tên là tín hiệu ENABLE nếu như tại thời điểm có sườn lên của tín hiệu ENABLE, tín hiệu đầu vào U(t) có gic là "1". Từng loại Timer được đánh số từ 0 đến 255 (tuỳ thuộc vào từng loại CPU). Một Timer được đặt tên là Tx, trong đó x là số hiệu của Timer ( 0<=x<=255). Ký hiệu Tx cũng đồng thời là tín hiệu hình thức của thanh ghi CV (T-Word) và đầu ra T-bits của Timer 67/130 đó. Tuy chúng có cùng địa chỉ hình thức, nhưng T-Word và T-bits vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng toán hạng Tx. Khi dùng làm việc với từ Tx được hiểu là T-Word còn khi làm việc với điểm thi Tx được hiểu là T-bit. Để xóa tức thời trạng thái của T-word và T-bit người ta sử dụng một tín hiệu reset Timer. Tại thời điểm sườn lên của tín hiệu này giá trị T-Word và T-bit đồng thời có giá trị bằng 0 tức là thanh ghi tức thời CV được đặt về 0 và tín hiệu đầu ra cũng có trạng thái Logic là "0". Trong thời gian tín hiệu Reset có giá trị logic là "1" Timer sẽ không làm việc. Khai báo sử dụng Các tín hiệu điều khiển cho một bộ Timer phải được khai báo bao gồm các bước sau: - Khai báo tín hiệu ENABLE nếu muốn sử dụng tín hiệu chủ động kích. - Khai báo tín hiệu đầu vào U(t). - Khai báo thời gian trễ mong muốn TV. - Khai báo loại Timer được sử dụng (SP, SE, SD, SS, SF). - Khai báo tín hiệu xoá Timer nếu muốn sử dụng chế độ Reset chủ động. Trong các bước trên thì bước 1 và 5 có thể bỏ qua. Dạng dữ liệu vào / ra của bộ Timer: S : BOOL BI :WORD TW : S5TIME BCD : WORD R : BOOL Q: BOOL 68/130 Bộ thời gian SP: Khai báo Nguyên lý làm việc Tại thời điểm sườn lên của tín hiệu vào SET thời gian sẽ đựơc tính đồng thời giá trị Logic ở đầu ra là "1". Khi thời gian đặt kết thúc giá trị đầu ra cũng trở về 0. Khi có tín hiệu RESET (R) thời gian tính lập tức trở về 0 và tín hiệu đầu ra cũng giá trị là "0". Ví dụ: Viết chương trình điều khiển động cơ không đồng bộ 3 pha đổi nối Y/∆, hoạt động theo nguyên tắc sau: Ấn nút Start khóa K1 có điện cấp điện cho hệ thống, đồng 69/130 thời K2 cũng có điện để động cơ hoạt động chế đô Y, sau thời gian 5s khóa K3 có điện để động cơ hoạt động chê độ ∆. Ấn nút Stop hệ thống dừng Bộ thời gian SE: Khai báo Nguyên lý làm việc Tại thời điểm sườn lên của tín hiệu vào SET cuối cùng bộ thời gian đựơc thiết lập và thời gian sẽ đựơc tính đồng thời giá trị Logic ở đầu ra là "1". Kết thúc thời gian đặt tín hiệu đầu ra sẽ trở về 0. Khi có tín hiệu RESET (R) thời gian tính lập tức trở về 0 và tín hiệu đầu ra cũng giá trị là "0". 70/130 Ví dụ: Viết chương trình điều khiển bóng đèn hoạt động như sau: ấn nút S đèn sáng sau thời gian 10s bóng đèn tự tắt. Bộ thời gian SD: Khai báo Nguyên lý làm việc Tại thời điểm sườn lên của tín hiệu vào SET bộ thời gian đựơc thiết lập và thời gian sẽ đựơc tính. Kết thúc thời gian đặt tín hiệu đầu ra sẽ có giá trị là "1". Khi tín hiệu đầu vào kích S là "0" đầu ra cũng lập tức trở về "0" nghĩa là tín hiệu đầu ra sẽ không được duy trì khi tín hiệu kích có giá trị là "0". 71/130 Khi có tín hiệu RESET (R) thời gian tính lập tức trở về "0" và tín hiệu đầu ra cũng giá trị là "0". Bộ thời gian SS: Khai báo Nguyên lý làm việc Tại thời điểm sườn lên của tín hiệu vào SET bộ thời gian đựơc thiết lập và thời gian sẽ đựơc tính. Kết thúc thời gian đặt tín hiệu đầu ra sẽ có giá trị 1 giá trị này vẫn duy trì ngay cả khi tín hiệu đầu vào kích S có giá trị là 0. Khi có tín hiệu RESET (R) thời gian tính lập tức trở về 0 và tín hiệu đầu ra cũng giá trị là "0". 72/130 Ví dụ: Một bóng đèn D được bật theo yêu cầu sau: Ấn nút S1 sau 5s bóng đèn sáng, tắt đèn bằng nút ấn S2 Bộ thời gian SF: Khai báo Nguyên lý làm việc 73/130 Tại thời điểm sườn lên của tín hiệu vào SET bộ thời gian đựơc thiết lập. Tín hiệu đầu ra có giá trị là 1. Nhưng thời gian sẽ đựơc tính ở thời điểm sườn xuống cuối cùng của tín hiệu đầu vao SET(S). Kết thúc thời gian đặt tín hiệu đầu ra sẽ trở về 0. Khi có tín hiệu RESET (R) thời gian tính lập tức trở về 0 và tín hiệu đầu ra cũng giá trị là "0". Ví dụ: Một động cơ được điều khiển hoạt động theo nguyên tắc sau: Bật công tắc S1 động cơ hoạt động, động cơ dừng lại sau 5s khi tắt công tắc S1 hoặc dừng lại ngay khi ấn nút S2 74/130 Các hàm so sánh Hàm so sánh số nguyên 16 bits: Khai báo Khối thực hiện chức năng so sánh bằng nhau Có các dạng so sánh hai số nguyên 16 bits như sau: - Hàm so sánh bằng nhau giữa hai số nguyên 16 bits: == - Hàm so sánh khác nhau giữa hai số nguyên 16 bits: - Hàm so sánh lớn hơn giữa hai số nguyên 16 bits: > - Hàm so sánh nhỏ hơn giữa hai số nguyên 16 bits: < - Hàm so sánh lớn hơn hoặc bằng nhau giữa hai số nguyên 16 bits: >= - Hàm so sánh nhỏ hơn hoặc bằng nhau giữa hai số nguyên 16 bits: <= Trong ví dụ trên đầu ra Q4.0 sẽ là "1" khi MW0 = MW2 75/130 Hàm so sánh số nguyên 32 bits Khối thực hiện chức năng so sánh bằng nhau Có các dạng so sánh hai số nguyên 32 bits như sau: - Hàm so sánh bằng nhau giữa hai số nguyên 32 bits: == - Hàm so sánh khác nhau giữa hai số nguyên 32 bits: - Hàm so sánh lớn hơn giữa hai số nguyên 32 bits: > - Hàm so sánh nhỏ hơn giữa hai số nguyên 32 bits: < - Hàm so sánh lớn hơn hoặc bằng nhau giữa hai số nguyên 32 bits: >= - Hàm so sánh nhỏ hơn hoặc bằng nhau giữa hai số nguyên 32 bits: <= Hàm so sánh số thực 32 bits Khối thực hiện chức năng so sánh 2 số thực 76/130 Trong ví dụ trên đầu ra Q4.0 sẽ là "1" khi MD0 < MD4 . Các dạng so sánh hai số thực 32 bits như sau : - Hàm so sánh bằng nhau giữa hai số thực 32 bits: == - Hàm so sánh khác nhau giữa hai số thực 32 bits: - Hàm so sánh lớn hơn giữa hai số thực 32 bits: > - Hàm so sánh nhỏ hơn giữa hai số thực 32 bits: < - Hàm so sánh lớn hơn hoặc bằng nhau giữa hai số thực 32 bits: >= - Hàm so sánh nhỏ hơn hoặc bằng nhau giữa hai số thực 32bits: <= Ví dụ: Một Gara ôtô tự động có khả năng chứa 100 xe. Lập trình cho bộ hiển thị sao cho nếu còn chỗ thì báo đèn xanh, hết chỗ báo đèn đỏ. 77/130 Các hàm toán học Nhóm làm việc với số nguyên 16 bits. Cộng 2 số nguyên Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện cộng hai số nguyên 16 bits MW0 với MW2. Kết quả được cất vào MW10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Dữ liệu vào ra EN: BOOL IN1: INT IN2 :INT OUT: INT ENO : BOOL Ví dụ: Chương trình tính tổng sản phẩm của hai băng tải vận chuyển hàng vào kho chứa, kết quả cất vào vùng nhớ MW4: 78/130 Trừ 2 số nguyên Dữ liệu vào ra EN: BOOL IN1: INT IN2 :INT OUT: INT ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện trừ hai số nguyên 16 bits MW0 với MW2. Kết quả được cất vào MW10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Nhân 2 số nguyên Dữ liệu vào ra EN: BOOL IN1: INT IN2 :INT OUT: INT ENO : BOOL 79/130 Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện nhân hai số nguyên 16 bits MW0 với MW2. Kết quả được cất vào MW10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Chia 2 số nguyên Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện chia hai số nguyên 16 bits MW0 với MW2. Kết quả được cất vào MW10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Nhóm làm việc với số nguyên 32 bits Cộng 2 số nguyên Dữ liệu vào ra 80/130 EN: BOOL IN1: DINT IN2 :DINT OUT: DINT ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện công hai số nguyên 32 bits MD0 với MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Trừ 2 số nguyên Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện trừ hai số nguyên 32 bits MD0 với MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Dữ liệu vào ra EN: BOOL IN1: DINT IN2 :DINT OUT: DINT ENO : BOOL 81/130 Nhân 2 số nguyên Dữ liệu vào ra EN: BOOL IN1: DINT IN2 :DINT OUT: DINT ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện nhân hai số nguyên 32 bits MD0 với MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Chia 2 số nguyên Dữ liệu vào ra EN: BOOL IN1: DINT 82/130 IN2 :DINT OUT: DINT ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện chia hai số nguyên 32 bits MD0 với MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Nhóm làm việc với số thực Cộng 2 số thực Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện cộng hai số thực MD0 + MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Dữ liệu vào ra EN: BOOL IN1: REAL IN2 : REAL OUT: REAL ENO : BOOL Trừ 2 số thực Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện trừ hai số thực MD0 - MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. 83/130 Dữ liệu vào ra EN: BOOL IN1: REAL IN2 : REAL OUT: REAL ENO : BOOL Nhân 2 số thực Dữ liệu vào ra EN: BOOL IN1: REAL IN2 : REAL OUT: REAL ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện nhân hai số thực MD0 . MD4. Kết quả được cất vào MD10. 84/130 Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Chia 2 số thực Dữ liệu vào ra EN: BOOL IN1: REAL IN2 : REAL OUT: REAL ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiện chia hai số thực MD0 : MD4. Kết quả được cất vào MD10. Trong trường hợp tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. 85/130 Một số hàm khác Hàm lấy giá trị tuyệt đối ABS Dữ liệu vào ra EN: BOOL OUT: REAL IN : REAL ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiên chức năng lấy giá trị tuyệt đối của MD8 rồi cất vào MD12 Khi tín hiệu vao I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. Hàm SIN, COS, TAN, ASIN, ACOS, ATAN Dữ liệu vào ra EN: BOOL OUT: REAL 86/130 IN : REAL ENO : BOOL Khi tín hiệu vào I0.0 = 1 đầu ra Q4.0 = 1 và hàm sẽ thực hiên chức năng tính SIN, COS, TAN, ASIN, ACOS, ATAN của MD0 rồi cất vào MD10. Khi tín hiệu vào I0.0 = 0 đầu ra Q4.0 = 0 và hàm sẽ không thực hiện chức năng. 87/130 Hàm di chuyển dữ liệu Khối chuyển dữ liệu: Khai báo Nguyên lý hoạt động Khi có tín hệu kích I0.0 khối MOVE được thiết lập, tín hiệu đầu ra ENO là Q4.0 =1. Đồng thời số liệu ở đầu vào IN là MW0 được Copy sang đầu ra OUT là MW2. Khi tín hiệu kích I0.0 = 0 tín hiệu đầu ra Q4.0 = 0. Trong trường hợp muốn thay đổi số liệu trong bộ nhớ (tức là thay đổi giá trị trong MW2) ta có thể không cần sử dụng tín hiệu kích I0.0. Ví dụ: Một bóng đèn được hoạt động theo nguyên tắc sau: Nếu ấn nút S1 đèn sáng 5s, nếu ấn nút S2 đèn sáng 10s, đèn tắt khi ấn nút S3 Các bộ ghi dịch và quay số liệu trên thanh ghi Dịch phải số nguyên 16 bits: Khai báo Khi tín hiệu kích I0.0 = 1 Khối sẽ thực hiện chức năng dich chuyển sang phải số liệu trong thanh ghi. Đồng thời tín hiệu ra tại ENO là Q4.0 có giá trị là “1”. Số liệu đưa vào tại IN là MW0 Số bit sẽ dich chuyển là MW2 ( tại chân N) Kết quả sau khi dịch được cất vào MW4. Trên sơ đồ cho ta thấy kết quả của bộ dịch phải 4 bit. 88/130 Dịch phải số nguyên 32 bits: Khai báo Khi tín hiệu kích I0.0 = 1. Khối sẽ thực hiện chức năng dich chuyển sang phải số liệu trong thanh ghi. Đồng thời tín hiệu ra tại ENO là Q4.0 có giá trị là 1. Số liệu đưa vào tại IN là MD0 89/130 Số bit sẽ dịch chuyển là MW2 (tại chân N). Kết quả sau khi dịch được cất vào MW4. Trên sơ đồ cho ta thấy kết quả của bộ dịch phải 4 bit. Dịch trái 16 bits: Khai báo Nguyên lý hoạt động Khi có tín hiệu kích I0.0 = 1 tín hiệu ra Q4.0 được thiết lập và có giá trị 1. Dữ liệu ở đầu vào MW0 được dịch sang trái với số bit được đặt tại chân N (MW2). Kết quả sau khi dịch được ghi vào MW4. Giản đồ thời gian bộ dịch trái 6 vị trí Quay trái số 32 bits: Khai báo 90/130 Nguyên lý hoạt động Khi có tín hiệu kích I0.0 = 1 tín hiệu ra Q4.0 được thiết lập và có giá trị 1. Dữ liệu ở đầu vào MD0 được quay sang trái với số bit được đặt tại chân N (MW4) Kết quả sau khi dịch được ghi vào MD10. 91/130 Quay phải số 32 bits: Khai báo Nguyên lý hoạt động - Khi có tín hiệu kích I0.0 = 1 tín hiệu ra Q4.0 được thiết lập và có giá trị 1. - Dữ liệu ở đầu vào MD0 được quay phải với số bit được đặt tại chân N (MW4) - Kết quả sau khi dịch được ghi vào MD10. Giản đồ thời gian bộ dich phải 3 vị trí số 32 bits 92/130 Hàm logic thực hiện trên thanh ghi Hàm AND 2 số 16 bits: Khai báo Nguyên lý hoạt động Hàm sẽ thực hiện chức năng nhân hai số nhị phân tai đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT ( MW2) khi có tín hiệu kích tại chân EN (I0.0 =1). Tín hiệu ở đầu ra ENO (Q4.0 = 1) khi hàm thực hiện chức năng. -Ví dụ: IN1 = 0101010101010101 Số thứ nhất IN2 = 0100000000001111 Số thứ 2 OUT = 0100000000000101 Kết quả 93/130 Hàm OR 2 số 16 bits: Khai báo Nguyên lý hoạt động Hàm sẽ thực hiện chức năng OR hai số nhị phân tai đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT ( MW2) khi có tín hiệu kích tại chân EN (I0.0= 1). Tín hiệu ở đầu ra ENO (Q4.0 = 1) khi hàm thực hiện chức năng. -Ví dụ: IN1 = 0101010101010101 Số thứ nhất IN2 = 0000000000001111 Số thứ 2 OUT = 0101010101011111 Kết quả Hàm XOR 2 số 16 bits: Khai báo Nguyên lý hoạt động 94/130 Hàm sẽ thực hiện chức năng XOR hai số nhị phân tai đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT khi có tín hiệu kích tại chân EN. Tín hiệu ở đầu ra ENO khi hàm thực hiện chức năng. Ví dụ: IN1 = 0101010101010101 Số thứ nhất IN2 = 0000000000001111 Số thứ 2 OUT = 0101010101011010 Kết quả Hàm AND 2 từ kép: Khai báo EN(I0.0): BOOL IN2 : DWORD IN1 : DWOED OUT : DWORD ENO : BOOL Nguyên lý hoạt động Hàm sẽ thực hiện chức năng AND hai số nhị phân tại đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT khi có tín hiệu kích tại chân EN. Tín hiệu ở đầu ra ENO khi hàm thực hiện chức năng. Ví dụ: IN1 = 0101010101010101 0101010101010101 IN2 = 0000000000000000 0000111111111111 95/130 OUT = 000000000000000 0000010101010101 Hàm OR 2 từ kép: Khai báo EN(I0.0): BOOL IN2 : DWORD IN1 : DWOED OUT : DWORD ENO : BOOL Nguyên lý hoạt động Hàm sẽ thực hiện chức năng OR hai số có độ dài 2 từ tại đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT khi có tín hiệu kích tại chân EN. Tín hiệu ở đầu ra ENO khi hàm thực hiện chức năng. Ví dụ: IN1 = 0101010101010101 0101010101010101 IN2 = 0000000000000000 0000111111111111 OUT = 0101010101010101 0101111111111111 96/130 Hàm XOR 2 từ kép: Khai báo EN(I0.0): BOOL IN2: DWORD IN1: DWORD OUT: DWORD ENO: BOOL Nguyên lý hoạt động Hàm sẽ thực hiện chức năng XOR hai số có độ dài 2 từ tại đầu vào IN1 và đầu vào IN2 kết quả được cất ở OUT khi có tín hiệu kích tại chân EN Tín hiệu ở đầu ra ENO khi hàm thực hiện chức năng. Ví dụ: IN1 = 0101010101010101 0101010101010101 IN2 = 0000000000000000 0000111111111111 OUT = 0101010101010101 0101101010101010 97/130 Lệnh làm việc với tín hiệu tương tự Các dạng tín hiệu tương tự Nếu tín hiệu số (digital signals) là loại tín hiệu chỉ có 2 mức “0” và “1” tương ứng với 0V và 24V thì tín hiệu tương tự có thể nhận bất cứ giá trị nào trong một dải xác định. Để xử lý tín hiệu tương tự, các đại lương vật lý như: nhiệt độ, lưu lượng, tốc độ từ cảm biến sẽ được chuyển đổi thành tín hiệu điện như dòng điện, điện áp, điện trở. Sau đó tín hiệu này được gửi tới PLC để xử lý. Tín hiệu này được chuyển đổi A/D. Thông thường bộ chuyển đổi A/D dùng trong các module tương tự của PLC là loại 8bit hoặc 12 bit. . Các câu lệnh xử lý tín hiệu tương tự - Kiểu giá trị ở đầu vào/ ra tương tự : Word Lệnh đọc và ghi: L PIW x (Đọc các giá trị ở đầu vào) T PQW x (Ghi các giá trị tới đầu ra) Giá trị các tín hiệu vào/ra tương tự sẽ được lưu trữ tại PI/PQ. Kiểu dữ liệu là số tự nhiên (INT) Địa chỉ vùng nhớ của các đầu vào/ra tương tự phụ thuộc vào vị trí của module tương tự. Nếu module ở slot 4, nó sẽ có địa chỉ bắt đầu là 256, các module ở các slot tiếp theo sẽ tăng lên 16 byte cho mỗi slot. Nếu module tương tự ở slot 6 nó sẽ có địa chỉ vào bắt đầu là PIW288, địa chỉ đầu ra đầu tiên là PQW288. - Chuyển đổi các giá trị từ đầu vào tương tự. Để chuyển đổi các tín hiệu đầu vào tương tự có thể sử dụng các hàm toán học. Để giảm sai số chúng ta phải chuyển đổi kiểu số thực trước khi xử lý. - Chuyển đổi tín hiệu ra tương tự Giá trị được xử lý có thể là kiểu số thực trong khoảng nào đó, chúng ta sẽ phải chuyển đổi thành số tự nhiên nằm trong dải tương ứng. 98/130 Chương 3 : Ngôn ngữ lập trinh Step 7 CÀI ĐẶT STEP 7 Step 7 là một phần mềm hỗ trợ, cho phép : - Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7-300/400. - Xây dựng cấu hình mạng gồm nhiều trạm PLC S7-300/400 cũng như thủ tục truyền thông giữa chúng. - Soạn thảo và cài đặt chương trình điều khiển cho 1 hoặc nhiều trạm. - Giám sát việc thực hiện chương trình điều khiển trong một trạm PLC và gỡ rối chương trình. Ngoài ra Step 7 còn có cả một thư viện đầy đủ với các hàm chuẩn hữu ích, phần trợ giúp Online rất mạnh có khả năng trả lời mọi câu hỏi của người sử dụng về cách sử dụng Step 7, về cú pháp lệnh trong lập trình, về xây dựng cấu hình cứng của một trạm cũng như của một mạng gồm nhiều trạm PLC. Chú ý: Điều kiện để cài đặt thành công phần mềm STEP7 vào máy tính là đòi hỏi cấu hình máy tối thiểu : CPU 80586, 8MRAM , ổ cứng trống 90MB và có card VGA Tại việt nam hiện có rất nhiều phiên bản của bộ phần mềm gốc của Step7. Đang được sử dụng nhiều nhất là phiên bản (version) 4.2, 5.0, 5.1, 5.2, 5.3. Trong khi phiên bản 4.2 khá phù hợp cho những PC có cấu hình trung bình (CPU 80586, 90MB còn trống trong ổ cứng, màn hình VGA) nhưng lại đòi hỏi tuyệt đối có bản quyền. Trong khi phiên bản 5.0 và 5.1 mặc dù đòi hỏi máy tính có cấu hình mạnh nhưng lại không đòi hỏi bản quyền một cách tuyệt đối, nghĩa là phiên bản này vẫn làm việc ở một mức hạn chế khi không có bản quyền. Phần lớn các đĩa gốc của Step7 đều có khả năng tự cài đặt chương trình (autorun). Bởi vậy chỉ cần cho đĩa vào ổ CD và thực hiện theo đúng chỉ dẫn hiện trên màn hình. Ta có thể chủ động thực hiện việc cài đặt bằng cách gọi chương trình Setup.exe có trên đĩa. Công việc cài đặt, về cơ bản không khác nhiều so với việc cài đặt các phần mềm ứng dụng khác, tức là cũng bắt đầu bằng việc chọn ngôn ngữ cài đặt ( mặc định là tiếng Anh), chọn thư mục đặt trên ổ cứng (mặc định là C:\simens), kiểm tra dung lượng còn lại trên ổ cứng, chọn ngôn ngữ sẽ được sử dụng trong quá trình làm việc với Step7 sau này. 99/130 Khai báo mã hiệu sản phẩm: mã hiệu sản phẩm luôn đi kèm với sản phẩm và được in ngay trên đĩa chứa bộ cài Step7. Khi trên màn hình xuất hiện cửa sổ yêu cầu cho tiết mã hiệu sản phẩm, ta phải điền đầy đủ vào tất cả các thư mục của cửa sổ đó, kể cả địa chỉ người sử dụng sau đó ấn continue để tiếp tục. 100/130 Soạn thảo một Project mới Khái niệm Project không đơn thuần chỉ là chương trình ứng dụng mà rộng hơn bao gồm tất cả những gì liên quan đến việc thiết kế phần mềm ứng dụng để điều khiển, giám sát một hay nhiều trạm PLC. Theo khái niệm như vậy, trong một Project sẽ có: 1. Bảng cấu hình cứng về tất cả các module của từng trạm PLC. 2. Bảng tham số xác định chề độ làm việc cho từng module của mỗi trạm PLC. 3. Các Logic block chứa chương trình ứng dụng của từng trạm PLC. 4. Cấu hình ghép nối và truyền thông giữa các trạm PLC. 5. Các cửa sổ giao diện phục vụ việc giám sát toàn bộ mạng hoặc giám sát từng trạm PLC của mạng. Ở đây, trong khuôn khổ phần mềm Step7 tôi chỉ giới thiệu việc soạn thảo một Project gốm các phần 1,2,3. Những phần còn lại bạn đọc có thể tham khảo trong cuốn tài liệu khác Các thao tác khai báo và mở một Project mới. Để khai báo một Project, từ màn hình chính của Step 7 ta chọn File-> New hoặc kích chuột tại biểu tượng "New Project/ Library". Khi đó trên màn hình sẽ xuất hiện hộp hội thoại như hình 3-6. Gõ tên Project rồi ấn phím OK và như vậy ta đã khai báo song một Project mới. Ngoài ra ta còn có thể chọn nơi Project sẽ được cất lên đĩa. Mặc định, nơi cất sẽ là thư mục đã được quy định khi cài đặt Step 7, ở đây là thư mục F:\S7_ projects. Trong trường hợp muốn mở một Project đã có, ta chọn File -> Open hoặc kích chuột tại biểu tượng "Open Project/ Library" từ cửa sổ chính của Step7 rồi chọn tên Project muốn mở từ hộp hội thoại có dạng như hình 3-7. Cuối cùng ấn phím OK để kết thúc. 101/130 Xây dựng cấu hình cứng cho trạm PLC. Sau khi khai báo xong một Project mới, trên màn hình sẽ xuất hiện Project đó nhưng ở dạng rỗng (chưa có gì trong project), điều này ta nhận biết được qua biểu tượng thư mục bên cạnh tên Project giống như một thư mục rỗng của Window. Công việc tiếp theo ta có thể làm là xây dựng cấu hình cứng cho một trạm PLC. Điều này không bắt buộc, ta có thể không cần khai báo cầu hình cứng cho trạm mà đi ngay 102/130 vào phần chương trình ứng dụng. Song kinh nghiệm cho thấy công việc này nên làm vì khi có cấu hình trong project, lúc bật nguồn PLC, hệ điều hành của S7-300 bao giờ cũng đi kiểm tra các module hiện có trong trạm, so sánh với cấu hình mà ta xây dựng và nếu phát hiện thấy sự không đồng nhất sẽ phát ngay tín hiệu báo ngắt lỗi hoặc thiếu module chứ không cần phải đợi tới khi thực hiện chương trình ứng dụng. Trước hết ta khai báo cấu hình cứng cho một trạm PLC với simatic S7-300 bằng cách vào: Insert -> Station ->Simatic 300- Station: Trong trường hợp không muốn khai báo cấu hình cứng mà đi ngay vào chương trình ứng dụng ta có thể chọn thẳng. Động tác này sẽ hữu ích cho những trường hợp một trạm PLC có nhiều phiên bản ứng dụng khác nhau. Màn hình khai báo cấu hình cứng cho tạm PLC 103/130 Sau khi đã khai báo một trạm (chèn một Station), thư mục Project chuyển sang dạng không rỗng với thư mục con trong nó tên mặc định là Simatic300(1) chứa tệp thông tin về cấu hình cứng của trạm. Để vào màn hình khai báo cấu hình cứng, ta nháy chuột tại biểu tượng Hardware. Trong hộp thoại hiện ra ta khai báo thanh Ray (Rack) và các module có trên thanh Ray đó. Ví dụ: Step7 giúp việc khai báo cấu hình cứng được đơn giản nhờ bảng danh mục các module của nó. Muốn đưa module nào vào bảng cấu hình ta chỉ cần đánh dấu vị trí nơi module sẽ được đưa vào rồi nháy kép chuột trái tại tên của module đó trong bảng danh mục các module kèm theo. Đặt tham số quy định chế độ làm việc cho module. Với bảng cấu hình cứng phần mềm Step7 cũng xác định luôn cho ta địa chỉ từng module. Chẳng hạn Step7 có hỗ trợ việc tích cực ngắt theo thời điểm cho module CPU để module này phát một tín hiệu ngắt gọi khối OB10 một lần vào đúng ngày 16/02/2003 lúc 10 giờ 30 phút. Để làm được điều này ta nháy đúp chuột tại tên của module CPU ở vị trí 2 rồi chọn ô Time-Of-Day Interrupt, trên màn hình sẽ xuất hiện hộp hội thoại như hình 3-12. Điền thời điểm, tần suất phát tín hiệu ngắt rồi đánh dấu tích cực chế độ ngắt vào các ô tương ứng trong hộp hội thoại. Cuối cùng ấn phím OK.’ 104/130 Đặt tham số cho Modul CPU Cũng trong hộp hội thoại ta thấy module CPU314 chỉ cho phép sử dụng OB10 trong số các module OB10 - OB17 với mức ưu tiên là để chứa chương trình xử lý tín hiệu ngắt theo thời điểm. Các chế độ làm việc khác của module CPU cũng được quy định nhờ Step7. Ví dụ để sửa đổi thời gian vòng quét cực đại cho phép từ giá trị mặc định 150ms thành 100 ms, ta chọn Cycle/Clock memory trong hộp hội thoại rồi sửa nội dung ô Scan time thành 100. Hoàn toàn tương tự ta cũng có thể sử dụng Step7 để quy định chế độ làm việc cho các module mở rộng khác, như xác định chế độ làm việc với dạng tín hiệu điện áp, vởi dải ? 5V cho module AI: 105/130 106/130 Soạn thảo chương trình Các thiết bị lập trình Thiết bị lập trình được sử dụng để nhập chương trình cần thiết vào bộ nhớ của bộ xử lý. Chương trình được viết trên thiết bị này, sau đó được chuyển đến bộ nhớ của PLC. Thiết bị này không kết nối cố định với PLC và có thể chuyển từ thiết bị điều khiển này sang thiết bị điều khiển khác. PLC vận hành mà không cần kết nối với thiết bị lập trình Có hai loại thiết bị lập trình là thiết bị lập trình PG và thiết bị lập trình PC Thiết bị lập trình PG: Đây là loại thiết bị lập trình cầm tay, có bàn phím nhỏ và màn hình tinh thể lỏng. Các thiết bị lập trình cầm tay thường có bộ nhớ đủ để lưu giữ chương trình trong khi chuyển từ vị trí này sang vị trí khác. Thiết bị lập trình PC: Là các máy tính cá nhân có cài đặt phần mềm và được thiết lập cấu hình như các trạm của PLC.Ưu điểm chính khi sử dụng máy tính là các chương trình có thể lưu trên đĩa cứng hoặc đĩa mềm dễ dàng, nhược điểm là việc lập trình khó thực hiện. Chương trình chỉ được chuyển vào bộ nhớ của PLC khi đã được viết hoàn chỉnh trên thiết bị lập trình. Soạn thảo trên các khối chương trình Tất cả các khối Logic (OB, FC, FB, DB) chứa chương trình ứng dụng sẽ nằm trong thư mục Block. Soạn thảo chương trình cho khối OB1: Chức năng chương trình soạn thảo của Step7 về cơ bản cũng giống như các chương trình soạn thảo khác, tức là cũng có các phím nóng để gõ nhanh, có chế độ cắt và dán, có chế độ kiểm tra lỗi cú pháp lệnh. 107/130 Để khai báo và soạn thảo chương trình cho các khối OB khác hoặc cho các khối FC, FB hoặc DB, ta có thể tạo một khối mới ngay trực tiếp từ chương trình soạn thảo. Các bước soạn thảo một khối logic cho chương trình ứng dụng được tóm tắt như sau: - Tạo khối logic hoặc từ cửa sổ màn hình chính của Step7 bằng cách chọn Einfuegen (Insert) trên thanh công cụ rồi vào S7 Block dể chọn loại khối logic mong muốn ( OB, FB, FC ) hoặc vào chương trình soạn thảo rồi từ đó kích biểu tượng New. - Thiết kế local block cho khối logic vừa tạo. Với tất cả các khối để hoàn thành công việc thiết kế Local Block ta cần phải chú ý việc khai báo theo bảng sau: 108/130 Soạn thảo chương trình: chương trình có thể được soạn thảo theo rất nhiều ngôn ngữ khác nhau ví dụ: FBD, LAD, STL.... Soạn thảo một chương trình trong khối logic FC1: Ta thực hiện các bước như sau: Tạo khối: Tạo một khối logic mới Sau khi chọn thư mục như hình vẽ trên trên màn hình sẽ hiện ra một cửa sổ sau: Đặt tên và chọn chế độ làm việc cho khối logic mới 109/130 Trong hộp hội thoại cho phép ta chọn tên của FC ví dụ FC2. Trong thực tế Step7 luôn mặc định thứ tự của các FC và ta chỉ cần OK nếu ta chấp nhận tên như đã mặc định, ngoài ra ta còn có thể chọn chế độ viết chương trình trong khối hàm FC2 dưới dạng FBD, LAD hay STL. Cuối cùng ta nhấn nút OK. Trên màn hình sẽ xuất hiện cửa sổ chính của Step7 như sau: Gọi màn hình soạn thảo Để soạn thảo chương trình trong FC2 ta chỉ cần nhấy đúp chuột trái vào biểu tượng của FC2 và lập tức sẽ hiện ra cửa sổ soạn thảo chương trình cho FC2: 110/130 Xây dựng Local block: Trong cửa sổ màn hình soạn thảo ta xây dựng local block cho khối FC2 như sau: Nhập dữ liệu vào khối Lokal block của khối FC Soạn thảo chương trình: Toàn bộ chương trình có thể viết trong khối logic FC2 như sau: 111/130 Soạn thảo chương trình trong khối logic FC1 Soạn thảo chương trình cho khối FB. Tạo khối FB: Ta có thể tạo khối FB bằng cách từ cửa sổ màn hình chính của Step7 ta dùng chuột phải và chọn các đối tượng như hình sau: Sau khi chọn thư mục Funktionsblock trên màn hình xuất hiện một cửa sổ: Trong cửa sổ đó ta cần phải đặt tên cho khối FB mà ta mới chọn ví dụ FB1 (thông thường S7 tự gán cho một tên theo thứ tự mà người lập trình đã chọn khi đó nếu đồng ý ta chỉ cần nhấn nút OK). Ngoài ra ta còn có thể đặt tên cho khối FB; ví dụ: test_1, chọn cách viết chương trình STL, LAD, FBD hay S7-GRAPH,..... Sau khi đã điền đủ các thông tin vào cửa sổ màn hình ta nhấn nút OK. 112/130 Muốn soạn thảo chương trình trong khối FB ta chỉ cần nhấn đúp chuột trái vào biểu tượng FB trên màn hình chính. Sau khi thực hiện xong bước này ta sẽ có cửa sổ soạn thảo chương trình cho khối FB1 và công việc tiếp theo cũng được thực hiện giống như ta đã thực hiện đối với khối FC ở trên, đó là các bước như xây dựng Local block, soạn thảo chương trình. Chọn ngôn ngữ viết chương trình trong khối FB1 Thủ tục gọi khối FB: Vì khối FB bao giờ cũng làm việc với khối dữ liệu DB dùng để lưu giữ nội dung các biến kiểu STAT của Local block. Vì vậy để thực hiện việc gọi khối FB ta phải đặt tên cho khối dữ liệu DB tương ứng. Lệnh gọi khối hàm FB như sau: 113/130 Tuỳ theo nhu cầu sử dụng mà ta sử dụng một , hai hay nhiều khối DB ta phải đặt tên cho khối DB mà ta vừa chọn ví dụ DB1, DB2,... Sau khi đã chọn xong bước trên ta có thể soạn thảo chương trình cho khối DB1 và DB2 như sau: Màn hình soạn thảo trong khối FBs Sử dụng biến hình thức: Step7 cung cấp một khả năng sử dụng tên hình thức trong lập trình thay vì các ký hiệu địa chỉ , chữ số khối FB, FC,...khó nhớ. Các tên hình thức được thay bởi một địa chỉ hay một tên khối tuỳ ý theo người lập trình tự đặt. Để làm được điều này, người lập trình cần phải khai báo trước trong một bảng có tên là Symbols. Kích chuột vào thư mục mẹ của Block, ở đây là thư mục với tên mặc định là S7 Program(1), sau đó nháy phím chuột trái tại biểu tượng Symbole như hình vẽ ta sẽ có màn hình soạn thảo bằng các tên hình thức sau: 114/130 Sử dụng biến hình thức Ghi các ký hiệu biến hình thức vào bảng Symbol Sau khi điền đày đủ tên hình thức, địa chỉ ô nhớ mà nó thay thế ( hầu hết kiểu dữ liệu đều được S7 tự xác định căn cứ vào địa chỉ ô nhớ) và cất vào Project, ta sẽ quay trở lại màn hình chính của S7. Mở một khối chương trình, ví dụ OB1 và chọn biểu tượng dùng biến hình thức ta sẽ chuyển sang dạng soạn thảo với những biến hình thức như đẫ đặt sẵn trong bảng Symbole. 115/130 Màn hình soạn thảo với các tên biến hình thức Muốn quay trở về để sử dụng lại các ký hiệu địa chỉ tuyệt đối ta nhấn lại nút đã chọn ban đầu là biểu tượng này nằm trên thanh công cụ . 116/130 Chạy thử, nạp chương trình xuống phần cứng, giám sát hoạt đọng của chương trình Trước khi khởi động hệ thống cần phải chắc chắn dây nối từ plc đến các thiết bị ngoại vi là đúng, trong quá trình chạy kiểm tra có thể cần thiết phải thực hiện các bước tinh chỉnh hệ thống nhằm đảm bảo an toàn khi đưa vào hoạt động thực tế. Để làm được điều này ta có thể sử dụng một số các phần mềm sau: PLC-SIM, SPS VISU, Nạp chương trình xuống phần cứng Nạp chương trình soạn thảo từ PC xuống CPU: Chương trình sau khi đã soạn thảo cần được truyền xuống CPU. Chú ý: Khi nạp chương trình cần phải đặt CPU ở trạng thái Stop hoặc đặt CPU ở trạng thái RUN-P. Xoá chương trình đã có trong CPU: Để thực hiện việc nạp chương trình mới từ PC xuống CPU ta cần thực hiện công việc xoá chương trình đã có sẵn trong CPU. Điều này ta thực hiện các bước như sau: • Đưa trạng thái của CPU về STOP • Từ màn hình chính của Step7 ta chọn lệnh 117/130 Nạp chương trình Sử dụng biểu tượng nạp chương trình trên thanh công cụ của menu chính và thực hiện trả lời đày đủ các câu hỏi của phần mềm. Giám sát hoạt động của chương trình Sau khi đã nạp chương trình soạn thảo xuống CPU lúc này chương trình đã được ghi vào bộ nhớ của CPU. Khi đó ta có thể tách rời PC và CPU của S7 mà chương trình vẫn hoạt động bình thường. Để thực hiện việc quan sát quá trình hoạt động của chương trình và CPU ta sử dụng chức năng giám sát chương trình bằng cách nhấn vào biểu tượng này trên thanh công cụ. Sau khi chọn chức năng giám sát chương trình này thì trên màn hình sẽ xuất hiện một cửa sổ sau: Tuỳ theo kiểu viết chương trình mà ta nhận được sự khác nhau về kiểu hiển thị trên màn hình (Dưới đây sử dụng kiểu viết chương trình FBD). 118/130 Quan sát quá trình hoạt động Ngoài ra ta còn có thể quan sát được nội dung của ô nhớ. Những ô nhớ muốn quan sát cần phải khai báo trong bảng Variable. Quan sát nội dung của ô nhớ Sau khi khai báo tất cả các biến cần quan sát ta kích vào phím quan sát trên màn hình xuật hiện cửa sổ như hình trên. Tuỳ theo yêu cầu mà ta kích vào phím quan sát tương 119/130 ứng trên màn hình sẽ hiển thị nội dung của ô nhớ tại thời điểm hiện tại hay liên tục quan sát theo từng thời điểm. 120/130 Chương 4 : Lựa chọn, lắp đặt, kiểm tra và bảo trì hệ thống Lựa chọn, lắp đặt, kiểm tra và bảo trì hệ thống XEM XÉT TÍNH KHẢ THI Dựa vào quy mô của hệ thống, nếu hệ thống sản xuất theo dây chuyền thì có thể phân dây chuyền ra làm nhiều cụm dựa trên đặc điểm công nghệ. Sao cho mỗi cụm làm việc tương đối độc lập nhau, khoảng cách dây nối đến cảm biến và cơ cấu chấp hành không vượt quá chiều dài quy định tương ứng với từng loại, số I/O hợp lý nằm trong khoảng mà các loại PLC nhỏ cho phép. TRÌNH TỰ THIẾT KẾ HỆ THỐNG PLC Trình tự thiết kế hệ thống thực hiện qua các bước sau: 1. Từ mỗi cụm đã được chia trong phần xem xét sự khả thi của hệ thống tiến hành phân tích chi tiết quy trình công nghệ, hệ truyền động và trang bị điện. Mô tả chi tiết sự liên động giữa các phần tử của hệ thống trên cơ sở đó thành lập giản đồ thời gian hay lưu đồ thuật toán đặc biệt phải chú ý đến các lỗi có thể xảy ra trong quá trình máy đang hoạt động bình thường. 2. Tính chọn thiết bị cảm biến và cơ cấu chấp hành: • Nếu đầu vào chỉ có chức năng logic 0&1 thì tính chọn cho đầu vào số. • Nếu có chức năng phân tích tín hiệu để phục vụ cho việc giám sát (nhiệt độ, độ ẩm, mức, lưu lượng, khối lượng, lực tác dụng) hoặc điều khiển có phản hồi thì phải tính chọn cho đầu vào analog. • Nếu điều chỉnh động cơ theo phương pháp PID loop thì phải tính chọn cho đầu ra analog. • Cơ cấu chấp hành là Piton thuỷ lực hay khí nén thì phải tính chọn van thuỷ hoặc khí tương ứng. Để điều khiển các van này phải tính chọn cho đầu ra số, ngoại trừ các van tiết lưu hoặc van phần trăm điều khiển thông qua động cơ thì có thể tính chọn biến tần hoặc bộ điều chỉnh tương ứng với động cơ. Ngoài ra có thể dùng PID loop để điều khiển các van đó, lúc đó phải tính chọn cho dầu ra analog. 121/130 • Cơ cấu chấp hành là động cơ phải xem xét có cần thiết phải điều khiển tốc độ không. Nếu có thì phải tính chọn biến tần, bộ điều chỉnh điện áp nếu là động cơ một chiều hay module điều khiển vị trí nếu là động cơ bước. Xem xét có cần thiết phải kết nối biến tần với PLC không? Nếu chỉ đơn thuần là việc khởi động và dừng động cơ thì không nhất thiết phải kết nối qua cổng truyền thông mà chỉ cần dùng các đầu ra số là đủ. Nếu cần thiết giám sát dòng điện, điện áp, nhiệt độ hoặc đặt lại giá trị tốc độ thì phải kết nối biến tần với PLC thông qua cổng truyền thông theo giao thức riêng của hãng. Hiện hai giao thức được sử dụng thông dụng nhất đối với biến tần MicroMaster 430, 440 là USS protocol và Mudbus protocol. • Tính chọn công tắc, nút ấn trên panel điều khiển bằng tay. • Ngoài ra còn phải xem xét dòng ra của cơ cấu chấp hành: Ich > 1.5A đối với PLC loại DC/DC/RLY; Ich > 0.2A đối với loại DC/DC/DC thì nhất thiết phải thông qua hệ rơ le trung gian, Transistor, Tiristor hay Triac. 3. Tính chọn PLC: • Các ứng dụng sử dụng đầu ra phát xung nhanh thì nhất thiết phải chọn PLC đầu ra Transistor (loại DC/DC/DC). Nếu không sử dụng cho các ứng dụng có đầu ra phát xung nhanh thì nên chọn PLC loại đầu ra là rơle (loại DC/DC/RLY). Vì loại này đơn giản hơn trong việc giao tiếp với cơ cấu chấp hành. • Tính tổng số: • Xem xét nếu sử dụng cổng truyền thông vào những mục đích như điều khiển biến tần, kết nối panel, OPs (Operation), PC hay mạng thì nên sử dụng PLC có hai cổng truyền thông PPI như CPU 2224XP, 226, 226XM. 4. Nếu hệ thống làm việc dây chuyền thì phải thiết kế mạng để kết nối các PLC lại với nhau. Quy trình thiết kế và chạy mạng sẽ nêu rõ hơn ở môn học mạng truyền thông công nghiệp, trong giáo trình này chỉ giới hạn trên 1 PLC. 122/130 THIẾT KẾ CHƯƠNG TRÌNH TRÊN PLC Trình tự thiết kế chương trình của PLC thực hiện theo các bước sau đây: 1. Trên cơ sở giản đồ thời gian hay lưu đồ thuật toán dựa theo bài toán công nghệ đã phân tích ở phần 8.2. Tiến hành phân chia địa chỉ vào/ra, thiết lập những vùng nhớ để phục vụ cho quá trình xử lý dữ liệu. Liệt kê các bộ đếm, bộ định thời cần thiết phải sử dụng trong chương trình, các bit, byte trong vùng nhớ đặc biệt. Liệt kê các chương trình con, chương trình xử lý ngắt... 2. Sau đó tiến hành biên dịch từ giản đồ thời gian hay lưu đồ thuật toán sang ngôn ngữ của PLC. 3. Có thể dùng các công tắc và đèn Led hay dùng phần mềm PLCsim cho S7-200 để chạy thử chương trình ở chế độ offline. Trên cơ sở đó xem xét, đánh giá mức độ tối ưu của chương trình. Chương trình cần phải được viết ngắn gọn (nhất là các chương trình xử lý ngắt) và tin cậy, đặc biệt cần phải có các chương trình xử lý sự cố. TỔ CHỨC, BỐ TRÍ PHẦN CỨNG HỆ THỐNG Hệ thống PLC bao gồm: Module nguồn, module CPU, Module mở rộng tất cả đều được lắp trên giá theo chẩn DIN như trong hình vẽ 1 và 2. Giá lắp đặt PLC theo chuẩn DIN Ở hai mặt giao tiếp với dây nối của cảm biến và cơ cấu chấp hành, không gian tối thiểu phải 25mm. Có thể lắp đặt các Rack theo chiều đứng hoặc ngang. Số rack không vượt quá hai rack. Khoảng cách giữa hai mặt trước và sau tủ không được nhỏ hơn 75mm. PLC phải đặt trong không gian tương đối thoáng, ít bụi. Trong các tủ điện thường phải có quạt thông gió. 123/130 Khoảng cách lắp đặt cho phép của PLC trong tủ điện CHẠY THỬ CHƯƠNG TRÌNH Đây là quá trình chạy thật trên máy ở chế độ online. Trước khi chạy ở chế độ này phải thực hiện các bước sau: 1. Kiểm tra mức độ tiếp xúc dây nối cũng như địa chỉ ở đầu vào của công tắc, nút nhấn, công tắc hành trình dựa vào các đèn trạng thái trên đầu vào của PLC. Dùng đồng hồ để đo đạc các tín hiệu tương tự. 2. Kiểm tra dây nối đến các cơ cấu chấp hành lần cuối trước khi cho chạy thử nghiệm. Xem xét đã chắc chắn đấu nối đúng theo sơ đồ hay chưa. Kiểm tra điện áp trên các cơ cấu chấp hành xem thử đã đạt chưa. 3. Có thể viết từng đoạn chương trình nhở để kiểm tra trạng thái hoạt động của từng đầu ra, nhất là đối với các cơ cấu thuỷ lực và khí nén. Bước này gọi là bước chạy đơn động. Thường thực hiện cho những máy móc có công nghệ tương đối phức tạp. Các máy đơn giản có thể bỏ qua bước này. Đưa các cơ cấu về trở lại trạng thái ban đầu (đúng với quy trình đã thiết kế theo giản đồ thời gian hay lưu đồ thuật toán). 4. Nạp chương trình vào PLC và chạy liên động toàn bộ hệ thống. Xem xét, đánh giá mức độ tin cậy của chương trình nếu chưa tốt thì có thể hiệu chỉnh thêm một vài lần nữa. XÂY DỰNG TÀI LIỆU CHO HỆ THỐNG Lập tài liệu theo các gói sau: 1. Tài liệu chung cho hệ thống như: Tài liệu về phần cứng và phần mềm của PLC, động cơ, biến tần 124/130 2. Tài liệu lắp đặt: Các bản vẽ, tài liệu hướng dẫn lắp đặt cũng như tài liệu về cách cài đặt phần mềm và chạy thử nghiệm hệ thống. 3. Tài liệu vận hành: Hướng dẫn các quy trình vận hành máy. 4. Tài liệu bảo dưỡng. 125/130 Tham gia đóng góp Tài liệu: Lập trình PLC Biên tập bởi: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: MỞ ĐẦU Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Lịch sử phát triển Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Cấu trúc và nguyên lý làm việc của PLC Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Phân loại Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Hệ thống Module Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Cấu trúc bộ nhớ Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: 126/130 Giấy phép: Module: Giới thiệu các ngôn ngữ lập trình Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Chu trình làm việc, lập trình và cấu trúc chương trình Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Nhóm lệnh logic tiếp điểm Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Bộ đếm (Counter) Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Bộ thời gian (Timer) Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Các hàm so sánh Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Các hàm toán học Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: 127/130 Module: Hàm di chuyển dữ liệu Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Hàm logic thực hiện trên thanh ghi Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Lệnh làm việc với tín hiệu tương tự Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: CÀI ĐẶT STEP 7 Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Soạn thảo một Project mới Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Soạn thảo chương trình Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Chạy thử, nạp chương trình xuống phần cứng, giám sát hoạt đọng của chương trình Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: Module: Lựa chọn, lắp đặt, kiểm tra và bảo trì hệ thống 128/130 Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: Giấy phép: 129/130 Chương trình Thư viện Học liệu Mở Việt Nam Chương trình Thư viện Học liệu Mở Việt Nam (Vietnam Open Educational Resources – VOER) được hỗ trợ bởi Quỹ Việt Nam. Mục tiêu của chương trình là xây dựng kho Tài nguyên giáo dục Mở miễn phí của người Việt và cho người Việt, có nội dung phong phú. Các nội dung đểu tuân thủ Giấy phép Creative Commons Attribution (CC-by) 4.0 do đó các nội dung đều có thể được sử dụng, tái sử dụng và truy nhập miễn phí trước hết trong trong môi trường giảng dạy, học tập và nghiên cứu sau đó cho toàn xã hội. Với sự hỗ trợ của Quỹ Việt Nam, Thư viện Học liệu Mở Việt Nam (VOER) đã trở thành một cổng thông tin chính cho các sinh viên và giảng viên trong và ngoài Việt Nam. Mỗi ngày có hàng chục nghìn lượt truy cập VOER (www.voer.edu.vn) để nghiên cứu, học tập và tải tài liệu giảng dạy về. Với hàng chục nghìn module kiến thức từ hàng nghìn tác giả khác nhau đóng góp, Thư Viện Học liệu Mở Việt Nam là một kho tàng tài liệu khổng lồ, nội dung phong phú phục vụ cho tất cả các nhu cầu học tập, nghiên cứu của độc giả. Nguồn tài liệu mở phong phú có trên VOER có được là do sự chia sẻ tự nguyện của các tác giả trong và ngoài nước. Quá trình chia sẻ tài liệu trên VOER trở lên dễ dàng như đếm 1, 2, 3 nhờ vào sức mạnh của nền tảng Hanoi Spring. Hanoi Spring là một nền tảng công nghệ tiên tiến được thiết kế cho phép công chúng dễ dàng chia sẻ tài liệu giảng dạy, học tập cũng như chủ động phát triển chương trình giảng dạy dựa trên khái niệm về học liệu mở (OCW) và tài nguyên giáo dục mở (OER) . Khái niệm chia sẻ tri thức có tính cách mạng đã được khởi xướng và phát triển tiên phong bởi Đại học MIT và Đại học Rice Hoa Kỳ trong vòng một thập kỷ qua. Kể từ đó, phong trào Tài nguyên Giáo dục Mở đã phát triển nhanh chóng, được UNESCO hỗ trợ và được chấp nhận như một chương trình chính thức ở nhiều nước trên thế giới. 130/130

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_mon_hoc_lap_trinh_plc.pdf