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.
132 trang |
Chia sẻ: huongthu9 | Lượt xem: 593 | Lượt tải: 0
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:
- bai_giang_mon_hoc_lap_trinh_plc.pdf