Mục tiờu:
Sau khi học xong bài này người học cú khả năng :
Kiến thức: Trỡnh bày được kớ hiệu và ý nghĩa của tập lệnh PLC S7-200. Kỹ năng: Sử dụng thành thạo tập lệnh PLC S7-200 để viết chương trỡnh. Thỏi độ: Cú tỏc phong và thỏi độ nghiờm tỳc trong học tập.
4.1. LỆNH CƠ BẢN:
4.1.1. Lệnh vào/ra:
- LOAD (LD) :
Lệnh LD nạp giỏ trị logic của một tiếp điểm vào trong bit đầu tiờn của ngăn xếp, cỏc giỏ trị cũn lại trong ngăn xếp bị đẩy lựi xuống một bit. Toỏn hạng gồm I, Q, M, SM, V, C, T.
o Dạng LAD : Tiếp điểm thường mở sẽ đúng nếu I0.0 =1
o Dạng STL : LD I0.0 = Q0.0
- LOAD NOT (LDN):
Lệnh LDN nạp giỏ trị logic của một tiếp điểm vào trong bit đầu tiờn của ngăn xếp, cỏc giỏ trị cũn lại trong ngăn xếp bị đẩy lựi xuống một bit.
Toỏn hạng gồm : I, Q, M, SM, V, C, T.
o Dạng LAD : Tiếp điểm thường đúng sẽ mở khi I0.0 =1
o Dạng STL : LDN I0.0 = Q0.0
- OUTPUT (=) :
Lệnh sao chộp nội dung của bit đầu tiờn trong ngăn xếp vào bit được chỉ định trong lệnh. Nội dung ngăn xếp khụng bị thay đổi.
Toỏn hạng bao gồm : I, Q, M, SM, T, C (bit)
o Mụ tả lệnh OUTPUT bằng LAD như sau :
Nếu I0.0 = 1 thỡ Q0.0 sẽ lờn 1 (cuộn dõy nối với ngừ ra Q0.0 cú điện)
o Dạng STL : Giỏ trị logic I0.0 được đưa vào bit đầu tiờn của ngăn xếp, và bit này được sao chộp vào bit ngừ ra Q0.0 .
LD I0.0
= Q0.0
4.1.2. Cỏc lệnh ghi/xúa giỏ trị cho tiếp điểm:
- SET (S):
Lệnh dựng để đúng cỏc điểm giỏn đoạn đĩ được thiết kế. Trong LAD, logic điều khiển dũng điện đúng cỏc cuộn dõy đầu ra. Khi dũng điều khiển đến cỏc cuộn dõy thỡ cỏc cuộn dõy đúng cỏc tiếp điểm. Trong STL, lệnh truyền trạng thỏi bit đầu tiờn của ngăn xếp đến cỏc điểm thiết kế. Nếu bit này cú giỏ trị bằng 1, cỏc lệnh S sẽ đúng 1 tiếp điểm hoặc một dĩy cỏc tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp khụng bị thay đổi bởi cỏc lệnh này.
o Dạng LAD : đúng một mảng gồm n cỏc tiếp điểm kể từ địa chỉ S- bit, Toỏn hạng bao gồm I, Q, M, SM,T, C,V (bit).
o Dạng STL : Ghi giỏ trị logic vào một mảng gồm n bit kể từ địa chỉ S-bit.
LD I0.0 S Q0.0, 5
- RESET (R):
Lệnh dựng để ngắt cỏc điểm giỏn đoạn đĩ được thiết kế. Trong LAD, logic điều khiển dũng điện ngắt cỏc cuộn dõy đầu ra. Khi dũng điều khiển đến cỏc cuộn dõy thỡ cỏc cuụn dõy mở cỏc tiếp điểm. Trong STL, lệnh truyền trạng thỏi bit đầu tiờn của ngăn xếp đến cỏc điểm thiết kế. Nếu bit này cú giỏ trị bằng 1, cỏc lệnh R sẽ ngắt 1 tiếp điểm hoặc một dĩy cỏc tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp khụng bị thay đổi bởi cỏc lệnh này.
o Dạng LAD : ngắt một mảng gồm n cỏc tiếp điểm kể từ S-bit. Nếu S-bit lại chỉ vào Timer hoặc Counter thỡ lệnh sẽ xoỏ bit đầu ra của Timer/ Counter đú... .Toỏn hạng bao gồm I, Q, M, SM,T, C,V (bit)
o Dạng STL : xúa một mảng gồm n bit kể từ địa chỉ S-bit. Nếu S-bit lại chỉ vào Timer hoặc Counter thỡ lệnh sẽ xoỏ bit đầu ra của Timer/Counter đú.
LD I0.0
R Q0.0, 10
4.1.3. Cỏc lệnh logic đại số Boolean:
Cỏc lệnh tiếp điểm đại số Boolean cho phộp tạo lập cỏc mạch logic (khụng cú nhớ). Trong LAD cỏc lệnh này được biểu diễn thụng qua cấu trỳc mạch, mắc nối tiếp hay song song cỏc tiếp điểm thường đúng hay cỏc tiếp điểm thường mở. Trong STL cú thể sử dụng lệnh A (AND) và O (OR) cho cỏc hàm hở hoặc cỏc lệnh AN (AND NOT), ON (OR NOT) cho cỏc hàm kớn.
Giỏ trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh. - AND (A):
Dạng LAD : Dạng STL :
LD I0.0 A I0.1 = Q0.0
- AND NOT (AN) : Dạng LAD : Dạng STL : LD I0.0 AN I0.1 = Q0.0 - OR (O): Dạng LAD : Dạng STL : LD I0.0 O I0.1 = Q0.0 - OR NOT (ON): Dạng LAD : Dạng STL : LD I0.0 ON I0.1 = Q0.0
Ngồi những lệnh làm việc trực tiếp với tiếp điểm, S7-200 cũn cú 5 lệnh đặc biệt biểu diễn cỏc phộp tớnh của đại số Boolean cho cỏc bit trong ngăn xếp, được gọi là lệnh stack logic. Đú là cỏc lệnh ALD (AND Load), OLD (OR Load), LPS (Logic Push), LRD (Logic Read) và LPP (Logic Pop). Lệnh stack logic được dựng để tổ hợp, sao chụp hoặc xoỏ cỏc mệnh đề logic. LAD khụng cú bộ đếm dành cho Stack logic.
STL sử dụng cỏc lệnh stack logic để thực hiện phương trỡnh tổng thể cú nhiều biểu thức con và được biểu diển như sau:
- AND LOAD (ALD):
Dạng LAD : Dạng STL :
LD I0.0 LD I0.1
O Q0.0 ALD = Q0.0
- OR LOAD (OLD): Dạng LAD : Dạng STL : LD I0.0 A I0.1 O Q0.0 = Q0.0
- LOGIC PUSH (LPS), LOGIC READ (LRD) , LOGIC POP (LPP):
Dạng LAD: Dạng STL: LD I0.0 LPS LD I0.1 O Q0.0 ALD = Q0.0 LRD LD I0.2 O Q0.1 ALD = Q0.1 LPP A I0.3 = Q0.2 * í nghĩa của cỏc lệnh: Lệnh Mụ tả Toỏn hạng ALD (And load)
Lệnh tổ hợp giỏ trị của bit đầu tiờn và thứ hai của ngăn xếp bằng phộp tớnh logic AND. Kết quả ghi lại vào bit đầu tiờn. Giỏ trị cũn lại của ngăn xếp được kộo lờn một bit.
Khụng cú
OLD (Or load)
Lệnh tổ hợp giỏ trị của bit đầu tiờn và thứ hai của ngăn xếp bằng phộp tớnh logic OR. Kết quả ghi lại vào bit đầu tiờn. Giỏ trị cũn lại của ngăn xếp được kộo lờn một bit.
Khụng cú
LPS (Logic
Push)
Lệnh Logic Push (LPS) sao chụp giỏ trị của bit đầu tiờn vào bit thứ hai trong ngăn xếp. Giỏ trị cũn lại bị đẩy xuống một bit. Bit cuối cựng bị đẩy ra khỏi ngăn xếp.
Khụng cú
LRD (Logic
read)
Lệnh sao chộp giỏ trị của bit thứ hai vào bit đầu tiờn trong ngăn xếp.Cỏc giỏ trị cũn lại của ngăn xếp giữ nguyờn vị trớ
Khụng cú
Vớ dụ:
Viết chương trỡnh điều khiển động cơ bằng PLC.
Lập trỡnh LAD: Ghi chỳ :
I0.0 : Nỳt nhấn dừng I0.1 : Nỳt nhấn mở Q0.0 : Cuộn dõy KĐT Q0.0 : Tiếp điểm duy trỡ
4.1.4. Cỏc lệnh tiếp điểm đặc biệt:
- Tiếp điểm đảo, tỏc động cạnh xuống, tỏc động cạnh lờn:
NOT N P
Cú thể dựng cỏc lệnh tiếp điểm đặc biệt để phỏt hiện sự chuyển tiếp trạng thỏi của xung (sườn xung) và đảo lại trạng thỏi của dũng cung cấp (giỏ trị đỉnh của ngăn xếp). LAD sử dụng cỏc tiếp điểm đặc biệt này để tỏc động vào dũng cung cấp. Cỏc tiếp điểm đặc biệt khụng cú toỏn hạng riờng của chớnh chỳng vỡ thế phải đặt chỳng phớa trước cuộn dõy hoặc hộp đầu ra. Tiếp điểm chuyển tiếp dương/õm (cỏc lệnh sườn trước và sườn sau) cú nhu cầu về bộ nhớ bởi vậy đối với CPU 214 cú thể sử dụng nhiều nhất là 256 lệnh.
Vớ dụ: Dạng LAD : Dạng STL : LD I0.0 EU = Q0.0 LD I0.0 ED = Q0.1 LD I0.0 NOT = Q0.2 - Tiếp điểm trong vựng nhớ đặc biệt:
o SM0.1: Vũng quột đầu tiờn tiếp điểm này đúng, kể từ vũng quột
thứ hai thỡ mở ra và giữ nguyờn trong suốt quỏ trỡnh họat động.
o SM0.0: Ngược lại với SM0.1, vũng quột đầu tiờn thỡ mở nhưng
từ vũng quột thứ hai trở đi thỡ đúng.
o SM0.4: Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1 phỳt.
o SM0.5: Tiếp điểm tạo xung với nhịp xung với chu kỳ là 1s
4.1.5. Cỏc lệnh can thiệp vào thời gian vũng quột: MEND, END, STOP, NOP, WDR
Cỏc lệnh này được dựng để kết thỳc chương trỡnh đang thực hiện, và kộo dài một khoảng thời gian của một vũng quột.
Trong LAD và STL chương trỡnh phải được kết thỳc bằng lệnh kết thỳc khụng điều kiện MEND. Cú thể sử dụng lệnh kết thỳc cú điều kiện END trước lệnh kết thỳc khụng điều kiện.
Lệnh STOP kết thỳc chương trỡnh, nú chuyển điều khiển chương trỡnh
đến chế độ STOP. Nếu gặp lệnh STOP trong chương trỡnh chớnh, hoặc trong chương trỡnh con thỡ chương trỡnh đang thực hiện sẽ kết thỳc ngay lập tức.
Lệnh rỗng NOP khụng cú tỏc dụng gỡ trong việc thực hiện chương trỡnh. Lệnh WDR sẽ khởi động lại đồng hồ quan sỏt (watchdog timer ), và chương trỡnh tiếp tục được thực hiện trong vũng quột ở chế độ quan sỏt, cẩn thận khi sử dụng lệnh WDR.
4.2. CÁC LỆNH ĐẾM (COUNTER) VÀ LỆNH THỜI GIAN (TIMER): 4.2.1. Cỏc lệnh điều khiển thời gian Timer:
Timer là bộ tạo thời gian trễ giữa tớn hiệu vào và tớn hiệu ra nờn trong điều khiển vẫn thường được gọi là khõu trễ. Nếu ký hiệu tớn hiệu (logic) vào là x(t) và thời gian trễ tạo ra bằng Timer là thỡ tớn hiệu đầu ra của Timer đú sẽ là x(t – ). S7-200 cú 64 bộ Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm hai loại khỏc nhau:
- Timer tạo thời gian trễ khụng cú nhớ (On-Delay Timer), ký hiệu là TON.
- Timer tạo thời gian trễ cú nhớ (Retentive On-Delay Timer), ký hiệu TONR.
Hai kiểu Timer của S7-200 (TON và TONR) phõn biệt với nhau ở phản ứng của nú đối với trạng thỏi đầu vào.
Cả hai Timer kiểu TON và TONR 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 ở tớn hiệu đầu vào, tức là khi tớn hiệu đầu vào chuyển trạng thỏi logic từ 0 lờn 1, được gọi là thời gian Timer được kớch, và khụng tớnh khoảng thời gian khi đầu vào cú giỏ trị logic 0 vào thời gian trễ tớn hiệu đặt trước. Khi đầu vào cú giỏ trị logic bằng 0, TON tự động reset cũn TONR thỡ khụng. Timer TON được dựng để tạo thời gian trễ trong một khoảng thời gian (miền liờn thụng), cũn với TONR thời gian trễ sẽ được tạo ra trong nhiều khoảng thời gian khỏc nhau.
Timer TON và TONR bao gồm 3 loại với ba độ phõn giải khỏc nhau, độ phõn giải 1ms, 10ms và 100ms. Thời gian trễ được tạo ra chớnh là tớch của độ
phõn giải của bộ Timer được chọn và giỏ trị đặt trước cho Timer. Vớ dụ Timer cú độ phõn giải 10ms và giỏ trị đặt trước 50 thỡ thời gian trễ là 500ms.
Độ phõn giải cỏc loại Timer của S7-200, loại CPU 214, được trỡnh bày trong bảng bờn dưới.
Lệnh Độ phõn giải Giỏ trị cực đại CPU 214
1 ms 32,767 s T32 và T96 10 ms 327,67 s T33 ữ T36, T97 ữ T100 TON 100 ms 3276,7 s T37 ữ T63, T101 ữ T127 1 ms 32,767 s T0 và T64 10 ms 327,67 s T1 ữ T4, T65 ữ T68 TONR
* Cỳ phỏp khai bỏo sử dụng Timer như sau:
LAD Mụ tả Toỏn hạng
TON-Txx - IN
- PT
Khai bỏo Timer số hiệu xx kiểu TON để tạo thời gian trễ tớnh từ khi đầu vào IN được kớch. Nếu như giỏ trị đếm tức thời lớn hơn hoặc bằng giỏ trị đặt trước PT thỡ T-bit cú giỏ trị logic bằng 1. cú thể reset Timer kiểu TON bằng lệnh R hoặc bằng giỏ trị logic 0 tại đầu vào IN.
Txx (word) CPU214:32ữ63 96ữ127 PT: VW, T, (word) C, IW, QW, MW, SMW, C, IW, hằng số TONR-Txx _ _
Khai bỏo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tớnh từ khi đầu vào IN được kớch. Nếu như giỏ trị đếm tức thời lớn hơn hoặc bằng giỏ trị đặt trước PT thỡ T-bit cú giỏ trị logic bằng 1. Chỉ cú thể reset Timer kiểu TON bằng lệnh R cho T-bit.
Txx (word) CPU214: 0ữ31 64 ữ95 PT: VW, T, (word) C,IW,QW, MW, SMW, AC, AIW, hằng số
Khi sử dụng Timer TONR, giỏ trị đếm tức thời được lưu lại và khụng bị thay đổi trong khoảng thời gian khi tớn hiệu đầu vào cú logic 0. Giỏ trị của T- bit khụng được nhớ mà hồn tồn phụ thuộc vào kết quả so sỏnh giữa giỏ trị đếm tức thời và giỏ trị đặt trước.
Khi Reset một bộ Timer, T-word và T-bit của nú đồng thời được xúa và cú giỏ trị bằng 0, như vậy giỏ trị đếm tức thời được đặt về 0 và tớn hiệu đầu ra cũng cú trạng thỏi logic bằng 0.
Vớ dụ: Sử dụng Timer kiểu TON
Dạng LAD : Dạng STL : LD I0.0 TON T32, +100 LD T32 = Q0.0 IN PT IN PT
Vớ dụ: Sử dụng timer kiểu TONR Dạng LAD : Dạng STL : LD I0.0 TONR T1, +100 LDW= T1, +170 R T1, 1 4.2.2. Cỏc lệnh đếm Counter:
Counter là bộ đếm thực hiện chức năng đếm sườn xung, trong S7-200 cỏc bộ đếm được chia làm hai loại : bộ đếm tiến (CTU) và bộ đếm tiến/lựi (CTUD).
Bộ đếm tiến CTU đếm số sườn lờn của tớn hiệu logic đầu vào, tức là đếm số lần thay đổi trạng thỏi logic từ 0 lờn 1 của tớn hiệu. Số xung đếm đượ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, gọi là giỏ trị đếm tức thời của bộ đếm, luụn được so sỏnh với giỏ trị đặt trước của bộ đếm, được ký hiệu là PV. Khi giỏ trị đếm tức thời bằng hoặc lớn hơn giỏ trị đặt trước này thỡ bộ đếm bỏo ra ngồi bằng cỏch đặt giỏ trị logic 1 vào một bit đặc biệt của nú, gọi là C-bit. Trường hợp giỏ trị đếm tức thời nhỏ hơn giỏ trị đặt trước thỡ C-bit cú giỏ trị logic là 0.
Khỏc với cỏc bộ Timer, cỏc bộ đếm CTU và CTUD đều cú chõn nối với tớn hiệu điều khiển xúa để thực hiện việc đặt lại chế độ khởi phỏt ban đầu (reset) cho bộ đếm, được ký hiệu bằng chữ cỏi R trong LAD, hay được qui định là trạng thỏi logic của bit đầu tiờn của ngăn xếp trong STL. Bộ đếm được reset khi tớn hiệu xoỏ này cú mức logic là 1 hoặc khi lệnh R (reset) được thực hiện với C-bit. Khi bộ đếm được reset, cả C-word và C-bit đều nhận giỏ trị 0.
Bộ đếm tiến/lựi CTUD đếm tiến khi găp sườn lờn của xung vào cổng đếm tiến, ký hiệu là CU hoặc bit thứ 3 của ngăn xếp trong STL, và đếm lựi khi gặp sườn lờn của xung vào cổng đếm lựi, ký hiệu là CD trong LAD hoặc bit thứ 2 của ngăn xếp trong STL.
Bộ đếm tiến CTU cú miền giỏ trị đếm tức thời từ 0 đến 32.767. Bộ đếm tiến/lựi CTUD cú miền giỏ trị đếm tức thời từ –32.768 đến 32.767.
Vớ dụ: Sử dụng bộ đếm CTU Dạng LAD : Dạng STL : LD I0.0 LD I0.1 CTU C40, +5 Vớ dụ: Sử dụng bộ đếm CTUD Dạng LAD : Dạng STL : LD I0.0 LD I0.1 LD I0.2 CTUD C48, +5 LAD Mụ tả Toỏn hạng
CTU – Cxx Khai bỏo bộ đếm tiến theo sườn lờn của CU. Khi giỏ trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giỏ trị đặt trước PV, C-bit (Cxx) cú giỏ trị logic bằng 1. Bộ đếm được reset khi đầu vào R cú giỏ trị logic bằng 1. Bộ đếm ngừng đếm khi C-word Cxx đạt được giỏ trị cực đại.
Cxx : (word) CPU 214 : 0 ữ47 80 ữ127 PV(word) : VW, T, C, IW, QW, MW, SMW, AC, AIW, hằng số, *VD, *AC CTD-Cxx Khai bỏo bộ đếm tiến/lựi, đếm tiến theo
sườn lờn của CU, đếm lựi theo sườn lờn của CD. Khi giỏ trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giỏ trị đặt trước PV, C-bit (Cxx) cú giỏ trị logic bằng 1. Bộ đếm ngừng đếm tiến khi C-word Cxx đạt được giỏ trị cực đại 32.767 và ngừng đếm lựi khi C-word Cxx đạt được giỏ trị cực đại –32.768. CTUD reset khi đầu vào R cú giỏ trị logic bằng 1.
Cxx (word) CPU 214 : 48 ữ79 PV(word) : VW, T, C, IW, QW, MW, SMW, AC, AIW, hằng số, *VD, *AC CU R PV CU CD R PV
4.3. CÁC LỆNH SO SÁNH:
Khi lập trỡnh, nếu cỏc quyết định về điều khiển được thực hiện dựa trờn kết quả của việc so sỏnh thỡ cú thể sử dụng lệnh so sỏnh theo Byte, Word hay DWord của S7-200.
LAD sử dụng lệnh so sỏnh để so sỏnh cỏc giỏ trị của byte, word hay DWord (giỏ trị thực hoặc nguyờn).
Những lệnh so sỏnh thường là: so sỏnh nhỏ hơn hoặc bằng (<=); so sỏnh bằng (= =) và so sỏnh lớn hơn hoặc bằng (>=).
Khi so sỏnh giỏ trị của byte thỡ khụng cần phải để ý đến dấu của toỏn hạng, ngược lại khi so sỏnh cỏc từ hay từ kộp với nhau thỡ phải để ý đến dấu của toỏn hạng là bit cao nhất trong từ hoặc từ kộp.
Vớ dụ: 7FFF > 8000 và 7FFFFFFF > 80000000