Bộ điều khiển lập trình S7-200 được chia thành 4 vùng nhớ. Với 1 tụ cĩ nhiệm vụ duy trì dữ liệu trong thời gian nhất định khi mất nguồn bộ nhớ S7-200 cĩ tính năng động cao đọc và ghi trong phạm vi tồn vùng loại trừ các bít nhớ đặc biệt SM (Special Memory)chỉ cĩ thể truy nhập để đọc.
Hình II-1: Bộ nhớ trong và ngồi của S7-200
1- Vùng chương trình : là vùng bộ nhớ được sử dụng để lưu trữ các lệnh chương trình vùng này thuộc bộ nhớ trong đọc và ghi được
2- Vùng tham số : là vùng lưu giữ các tham số như : từ khĩa, địa chỉ trạm… cũng giống như vùng chương trình thuộc bộ nhớ trong đọc và ghi được
3- Vùng dữ liệu : là vùng nhớ động được sử dụng cất các dữ liệu của chương trình bao gồm các kết quả các phép tính nĩ được truy cập theo từng bit từng byte vùng này được chia thành những vùng nhớ với các cơng dụng khác nhau.
- Vùng I (Input image register): là vùng nhớ gồm 8 byte I (đọc /ghi) : I.O ÷ I.7
- Vùng Q (Output image register): là vùng nhớ gồm 8 byte Q (đọc /ghi) : Q.O ÷ Q.7
- Vùng M (Internal memory bits): là vùng nhớ gồm cĩ 32 byte M (đọc /ghi) : M.O ÷ M.31
- Vùng V (Variable memory ): là vùng nhớ gồm cĩ 4096 byte Vùng chương trìnhn Vùng
tham sốốốVùng dữ liệuuVùng đối tượngn
Chương trìnhn Tham
sốốốDữ liệuu Chương trìnhTham sốDữ liệu
C
V (đọc /ghi) : V.O ÷ V.4095
Vùng SM : (special memory): là vùng nhớ gồm 86 byte chia làm 2 phần SMO ÷ SM29 chỉ đọc
SMO ÷ SM85 chỉ ghi
4- Vùng đối tượng : là timer (định thì), counter (bộ đếm) tốc độ cao vàv các cổng vào/ra tương tự được đặt trong vùng nhớ cuối cùng vùng này khơng thuộc kiểu non – volatile nhưng đọc ghi được.
- Timer (bộ định thì) : đọc/ ghi Tφ ÷ T127 - Counter (bộ đếm): đọc/ ghi Cφ ÷ C127
- Bộ đệm vào analog (đọc) : AIWO ÷ AIW3O
- Bộ đệm ra analog (ghi) : AQWO ÷ AQW3O
- Accumulator (thanh ghi) :ACO ÷ AC3
- Bộ đếm tốc độ cao : HSCO ÷ HSC2
Tất cả các miền này đều cĩ thể truy nhập được theo từng bit, từng byte, từng từ đơn (word – 2byte), từ kép (Double word)
III/ CẤU TRÚC CHƯƠNG TRÌNH :
Chương trình cho S7-200 phải cĩ cấu trúc bao gồm chương trình chính (main program) sau đĩ đến các chương trình con và các chương trình xử lý ngắt
- Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (End)
- Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc chương trình chính đĩ là lệnh (End)
- Các chương trình xử lý ngắt là một bộ phận của chương trình, nếu cần sử dụng chương trình xử lý ngắt phải viết sau lệnh kết thúc End
- Các chương trình con được nhĩm lại thành một nhĩm ngay sau chương trình
chính sau đĩ đến ngay các chương trình xử lý ngắt bằng cách viết như vậy cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình cĩ thể trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính Main program . . . End { stop}
Thực hiện trong 1 vịng quét
SBR (n) {no ÷ 255}chương trình con .
. . Ret
Thực hiện khi được chương trình chính gọi
INT (n) {no ÷ 255}chương trình xử lý ngắt .
Thực hiện khi cĩ tín hiệu báo ngắt
. . Ret
IV/ PHƯƠNG PHÁP LẬP TRÌNH :
S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh chương trình bao gồm một dãy các lệnh
S7-200 thực hiện chương trình bắt đầu từ lệnh lập trình đầu tiên và kết thúc ở lệnh lập trình cuối trong một vịng. Một vịng như vậy gọi là dịng quét (scan)
Một vịng quét (Scan cycle) được bắt đầu bằng việc đọc trạng thái của đầu vào và sau đĩ thực hiện chương trình, vịng quét kết thúc bằng việc thay đổi trạng thái đầu ra. Trước khi bắt đầu một vịng quét tiếp theo S7-200 thực thi các nhiệm vụ bên trong và nhiệm vụ truyền thơng. Chu trình thực hiện chương trình là chu trình lập.
Hình IV –1 : Thực hiện chương trình theo vịng quét trong S7-200
Cách lập trình cho S7-200 dựa trên hai phương pháp cơ bản : phương pháp hình thang (ladder logic – viết tắt là LAD) và phương pháp liệt kê lệnh (statement list viết tắc là STL)
- Chương trình được viết theo kiểu LAD thiết bị lập trình sẽ tạo ra một chương trình theo, kiểu STL tương ứng và ngược lại
1- Phương pháp LAD : LAD là ngơn ngữ lập trình đồ họa những thành phần cơ bản dùng trong LAD tương ứng với các thành phần cơ bản dùng để biểu diễn lệnh lơgic như sau:
- Tiếp điểm : là biểu tượng (symbol) mơ tả các tiếp điểm rơle các tiếp điểm cĩ thể thường đĩng , thường mở
- Cuộn dây (coil) : là biểu tượng mơ tả rơle mắc theo chiều dịng điện cung cấp cho rơle
- Hộp (box) : là biểu tượng mơ tả các hàm khác nhau nĩ làm việc khi cĩ dịng điện chạy đến hộp thường là các bộ thời gian (timer), bộ đếm (counter) và các hàm tốn học
- Mạng LAD : là đuờng nối các phần tử thành một mạch hồn thiện, đi từ đường
nguồn bên trái sang nguồn bên phải dịng điện chạy từ trái qua tiếp điểm đến các cuộn dây hoặc các hộp trở về bên phải nguồn.
2- Phương pháp liệt kê lệnh STL : Phương pháp liệt kê (STL) là phương pháp thực hiện chương trình dưới dạng tập hợp các câu lệnh. Mỗi câu lệnh trong chương trình kể cả những lệnh hình thức biểu diễn một chức năng của PLC
Giai đoạn nhập dữ liệu từ ngoại Giai đoạn
chuyển dữ liệu
Giai đoạn truyền thơng nội bộ và tự
Giai đoạn thực hiện chương trình
Để tạo một chương trình dạng STL người lập trình cần phải hiểu rõ phương thức sử dụng của ngăn xếp logic của S7-200 (S0 ÷ S8).
Ngăn xếp lơgic là một khối gồm 9 bit chồng lên nhau. Tất cả các thuật tốn liên quan đến ngăn xếp, đều chỉ làm việc với bít đầu tiên hoặc với bít đầu và bit thứ hai của ngăn xếp (S0 ÷ S1) giá trị logic mới đều cĩ thể được gửi vào ngăn xếp
V/ CÚ PHÁP LỆNH CƠ BẢN TRONG S7-200
1- Lệnh vào ra : (Input/ Output)
- Load (LD) : lệnh LD nạp giá trị của một tiếp điểm vào trong bit đầu tiên của ngăn xép cĩ giá trị cũ cịn lại ngăn xếp bị đẩy lùi xuống một bít (như hình V-1)
- Load not (LDN) : lệnh LDN nạp giá trị logic nghịch đảo 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ũ cịn lại trong ngăn xếp bị đẩy lùi xuống một bít (hình V-2)
- Các dạng khác nhau của lệnh LD, LDN cho LAD như sau :
LAD MƠ TẢ TỐN HẠNG C0C1C2C33 C4C5C6C77 C88 m m C1C2C33 C4C5C6C77 Trước Sau LD
Hình V-1 : Trạng thái của ngăn xếp trước và sau khi thực hiện hiệu lệnh LD Bị đẩy ra khỏi ngăn xếp C0C1C2C33 C4C5C6C77 C88 m m C1C2C33 C4C5C6C77 Trước Sau LDN
Hình V-2 : Trạng thái của ngăn xếp trước và sau khi thực hiện hiệu lệnh LDN
Bị đẩy ra khỏi ngăn xếp
n Tiếp điểm thường mở sẽ được đĩng Nếu n =1
n Tiếp điểm thườngđĩng sẽ mở
Khi n =1
n : I, Q, M, SM, T, C, V (bit)
n Tiếp điểm thường mở sẽ đĩng tức thời khi n =
1
n Tiếp điểm thường đĩng sẽ mở tức thời khi n =1
n: I
- Các dạng khác nhau của lệnh LD, LDN cho STL như sau
LỆNH MƠ TẢ TỐN HẠNG
LD n Lện nạp giá trị logic của điểm n vào bit đầu tiên trong ngăn xếp
LDN n Lệnh nạp giá trị logic nghịch đảo của điểm n
vào bit đầu tiên trong ngăn xếp
n : I, Q, M, SM, T, C, V (bit)
LDI n Lệnh nạp tức thời giá trị logic của điểm n và bit đầu tiên trong ngăn xếp
LDNI n Lệnh nạp tức thời giá trị logic nghịch đảo vào điểm n vào bit đầu tiên
n: I (bit)
LAD MƠ TẢ TỐN HẠNG
Cuộn dây đầu ra ở trạng thái kích thích khi cĩ dịng điện điều khiển đi qua
n : I, Q, M, SM, T, C, V (bit)
Cuộn dây đầu ra được kích tức thời khi cĩ dịng điều khiển đi qua
n : Q (bit) + Mơ tả lệnh output bằng STL
STL MƠ TẢ TỐN HẠNG
= n Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp điểm n được chỉ dẫn trong lệnh
n : I, Q, M, SM, T, C, V (bit)
=I n Lệnh = I (immediate) sao chép tức thời giá trị
của đỉnh stack tới tiếp điểm n được chỉ dẫn trong lệnh
n :Q bit
2- Lệnh ghi/ xĩa giá trị cho tiếp điểm: Set (S) và Reset (R) lệnh dùng để đĩng và ngắt các điểm gián đoạn đã được thiết kế. Trong LAD logic điều khiển đến các cuộn dây thì các cuộn dây đĩng hoặc mở các tiếp điểm
I
n n I
Trong STL lệnh truyền trạng thái bit đầu 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 và R sẽ đĩng ngắt tiếp điểm một dãy các tiếp điểm (giới hạn từ 1 ÷ 255). Nội dung của ngăn xếp khơng bị thay đổi bởi các lệnh này – mơ tả lệnh S và R bằng LAD
LAD MƠ TẢ TỐN HẠNG
Đĩng một mảng gồm n các tiếp điểm kể từ S – bit
Ngắt một mảng gồm n các tiếp điểm kể từ S bit lại chỉ vào timer và counter thì lệnh sẽ xĩa bit đầu ra của timer/ counter
S-bit : P, Q, M, SM, T, C, V (bit) n : PB, QB, MB, SMB, VB, AC, hằng số, *VD*AC Đĩng tức thời một mảng gồm n các tiếp điểm kể từ S bit Ngắt tức thời một mảng gồm n các tiếp điểm kể từ địa chỉ S bit
S bit : Q bit
n: PB, QB, MB, SMB, VB, AC, hằng số, *VD*AC
- Mơ tả các lệnh set (S) và reset (R) bằng STL
STL MƠ TẢ TỐN HẠNG
S – S.bit – n Ghi giá trị logic và một mảng gồm n
bit kể từ địa chỉ S.bit
R – S.bit – n 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 counter thì lệnh sẽ xĩa bit đầu ra của timer counter
S-bit : P, Q, M, SM, T, C, V (bit)
n : PB, QB, MB, SMB, VB, AC, hằng số, *VD
SI – S.bit – n Ghi tức thời giá trị lơgic 1 vào một
mãng gồm n bit kể từ địa chỉ S.bit
RI – S.bit - n Xĩa tức thời một mảng gồm n bit kể
từ địa chỉ S.bit
S bit : Q bit
n: IB, QB, MB, SMB, VB, AC, hằng số, *VD
Ví dụ : mơ tả S và R trong LAD và STL
Bit n S Bit n S Bit n S Bit n S
Lad STL IO.O LD I0 . 0 = Q2. 0 S Q 2 . 1 K1 R Q2 . 2 K1 R Q 1 . 0 K3
3- Các lệnh logic đại số boolean
Các lệnh đại số boolean cho phép tạo lập được các mạch logic khơng cĩ nhớ. Trong LAD các lệnh này được biểu diễn thơng qua cấu trúc mạch mắc nối tiếp hay song song các tiếp điểm thường đĩng và các tiếp điểm thường mở. STL cĩ thể sử dụng các lệnh A (And) và O (OR) cho các hàm số hoặc các lệnh AN (And not); ON (Or not) cho các hàn kín giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh
LỆNH MƠ TẢ TỐN HẠNG
O n A n
Lệnh thực hiện tốn tử ∧(A) và ∨(O) giữa giá trị logic của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AN n
ON n
Lệnh thực hiện tốn tử ∧(A) và ∨(O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bit đầu tiên của ngăn xếp kết quả được ghi lại vào bit đầu tiên của ngăn xếp
n: I, Q, U, SM, T, C, V
AI n
OI n
Lệnh thực hiện tốn tử ∧(A) và ∨(O) giữa giá trị logic của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp kết quả được ghi lại vào bit đầu tiên của ngăn xếp
ANI n
ONI n
Lệnh thực hiện tốn tử ∧(A) và ∨(O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp kết quả được ghi lại vào bit đầu tiên của ngăn xếp
n : I bit
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à các lệnh Strack
Q2 .0 Q2.1 .K1 S Q2.2 .K1 R Q1.0 .K3 R
logic. Đĩ là lệnh ALD (And load), OLD (Orload), LPS (logic push), LRD (logic read) và LPP (logic pop). Lệnh stack logic được dùng để tổng hợp sao chụp hoặc xĩa các mệnh đề logic LAD khơng cĩ bộ đếm dành cho lệnh strack 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, bảng sau tĩm tắt cú pháp gọi các lệnh Stack logic trong STL
LỆNH MƠ TẢ TỐN HẠNG
ALD 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 và 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 1 bit
Khơng cĩ
OLD 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 và 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 1 bit
Khơng cĩ
LPS Lệnh logic sao chụp giá trị của các bit đầu vào bit thứ hai trong ngăn xếp giá trị cịn lại của ngăn xếp bị đẩy xuống 1 bit. Bit cuối cùng bị đẩy ra khỏi ngăn xếp
Khơng cĩ
LRD Lệnh sao chép giá trịv 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ĩ
LPP Lệnh kéo ngăn xếp lên 1 bit giá trị của bit sau được chuyển
cho bít trước
Khơng cĩ
a- Lệnh AND (A) và OR (O)
Lệnh A và O phối hợp giá trị của một tiếp điểm n với giá trị bit đầu tiên trong ngăn xếp kết quả phép tính được đặt lại vào bit đầu tiên trong ngăn xếp giá trị của các bit cịn lại trong ngăn xếp khơng bị thay đổi
b- Lệnh AND AD và OR O XORW XORD lệnh thực hiện các thuật tĩn logic And, Or, Exclusive Or của đại số boolean trên 2 byte hoặc 4 byte
4- Lệnh cĩ tiếp điểm đặc biệt : cĩ thể dùng các lệnh cĩ tiếp điểm đặc biệt để phát hiện 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ị của đỉnh ngăn xếp)
LAD sử dụng các tiếp điểm đặc biệt để tác động vào dịng cung cấp các tiếp điểm đặc biệt, khơng cĩ tốn hạng riêng của chính chúng và vì thế phải đặt chúng vào vị trí phía trước của cuộn dây hộp đầu ra. Tiếp điểm chuyển tiếp dương/ âm( các lệnh sườn trước sau) cĩ nhu cầu về bộ nhớ bởi vậy đối với CPU 214 là 256 lệnh
- Mơ tả lệnh tiếp điểm đặc biệt trong LAD và STL LAD STL Net work1 LD I0.0 Not = Q0.1 Net work2 LD I0.0 Eu = Q0.2 Net work3 LD I0.0 Eu = Q0.3
5. Các lệnh điều khiển timer
Timer là hệ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên trong điều khiển vẫn thường gọi là khâu trễ
S7-200 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 TON - Timer tạo thời gian trễ cĩ nhớ (Retentive on Delay Timer)ký hiệu TONR
Hai kiểu timer các S7-200 (TON và TONR) phân biệt với nhau trong phản ứng của nĩ đối với trạng thái tín hiệu đầu vào
Cả hai kiểu TON và TONR cùng bắt đầu tạo thời gian trễ tín hiệu 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 từ 0 lên 1 gọi là thời điểm timer được kích và khơng tính thời gian khi đầu vào cĩ giá trị logic 0 mà thời gian trễ tín hiệu được đặt trước
Khi đầu vào cĩ giá trị logic bằng 0. TON tự động reset cịn TONR thì khơng tự động reset
Timer TON được dùng để tạo thời gian trễ trong một khoảng thời gian
Timer 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, 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