Vựng đối tượng

Một phần của tài liệu Thiết kế hệ thống điều khiển độ ẩm trong nhà trồng (Trang 29)

Vựng đối tượng được sử dụng để lưu giữ dữ liệu cho cỏc đối tượng lập trỡnh như cỏc giỏ trị tức thời, giỏ trị đặt trước của bộ đếm, hay Timer. Dữ liệu kiểu đối tượng bao gồm của thanh ghi của Timer, bộ đếm, bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và cỏc thanh ghi Accumulator [AC].

Kiểu được đối tượng bị hạn chế rất nhiều vỡ cỏc dữ liệu kiểu đối tượng chỉ được ghi theo mục đớch cần sử dụng của đối tượng đú.

Vựng nhớ đối tượng được phõn chia như sau:

15 0 bit

Timer (đọc/ghi) T0 T0

Μ Μ

Bộ đếm (đọc/ghi) C0 C0 Μ Μ T127 T127 Bộ đệm cổng vào tương tự (chỉ đọc) C0 C0 Μ Μ T127 T127 Bộ đệm cổng ra tương tự (chỉ ghi) C0 C0 Μ Μ T127 T127

Thanh ghi Accumulator (đọc/ghi)

AC0 (khụng cú khả năng làm con trỏ) AC1 AC2 AC3 Bộ đếm tốc độ cao (đọc/ ghi) HSC0 HSC1(chỉ cú trong CPU214) HSC2(chỉ cú trong CPU214) 2.2.2.4. Mở rộng cổng vào ra.

Cú thể mở rộng cổng vào/ra của PLC bằng cỏch ghộp nối thờm vào nú cỏc modul mở rộng về phớa bờn phải của CPU (CPU 214 nhiều nhất 7 module), làm thành một múc xớch. Cỏc module mở rộng tương tự và số đều cú trong S7-200. Địa chỉ của cỏc vị trớ của module được xỏc định bằng kiểu vào/ra và vị trớ của module trong múc xớch, bao gồm cỏc module cú cựng kiểu.

Cỏc module mở rộng số hay rời rạc đều chiếm chỗ trong bộ đếm, tương ứng với số đầu vào/ra của module.

CPU214 Module 0 [4vào/4ra] Module 1 [8vào] Module 2 [3 vào analog/1 ra analog] Module 3 [8 ra] Module 4 [3 vào analog/1 ra analog]

I0.0 Q0.0 I2.0 I3.0 AIW0 Q3.0 AIW8

I0.1 Q0.1 I2.1 I3.1 AIW2 Q3.1 AIW10

I0.2 Q0.2 I2.2 I3.2 AIW4 Q3.2 AIW12

I0.3 Q0.3 I2.3 I3.3 Q3.3

I0.4 Q0.4 I3.4 AQW0 Q3.4 AQW14

I0.5 Q0.5 Q2.0 I3.5 Q3.5 I0.6 Q0.6 Q2.1 I3.6 Q3.6 I0.7 Q0.7 Q2.2 I3.7 Q3.7 I1.0 Q1.0 Q2.3 I1.1 Q1.1 I1.2 I1.3 I1.4 I1.5

2.2.3. Thực hiện chương trỡnh của S7-200 CPU214.

PLC thực hiện chương trỡnh theo chu kỳ lặp. Mỗi vũng lặp được gọi là một vũng quột (Scan). Mỗi vũng quột được bắt đầu bằng giai đoạn đọc dữ liệu từ cỏc cổng vào vựng đệm ảo, tiếp theo là giai đoạn thực hiện chương trỡnh. Trong từng vũng quột, chương trỡnh được thực hiện bằng lệnh đầu tiờn và kết thỳc bằng lệnh kết thỳc (MEND). Sau giai đoạn thực hiện chương trỡnh là gian đoạn truyền thụng nội bộ và kiểm tra lỗi. Vũng quột được kết thỳc bằng giai đoạn chuyển cỏc nội dung của bộ đệm ảo tới cỏc cổng ra.

1. Nhập dữ liệu từ ngoại vi vào bộ đếm ảo. 2. Thực hiện chƯơng trình. 3. Truyền thông

tự kiểm tra lỗi. 4. Chuyển dữ từ bộ đếm ảo ra ngoại vi.

Hỡnh 2.5. Vũng quột (scan) trong S7-200.

Như vậy, tại thời điểm thực hiện lệnh vào/ra, thụng thường lệnh khụng làm việc mà chỉ thụng qua bộ đệm ảo của cổng trong vựng nhớ tham số. Việc truyền thụng giữa bộ đệm ảo với ngoại vi trong cỏc giai đoạn 1 và 4 do CPU quản lý. Khi gặp lệnh vào/ra ngay lập tức thỡ hệ thống sẽ cho dừng mọi cụng việc khỏc, ngay cả chương trỡnh xử lý ngắt, để thực hiện lệnh này một cỏch trực tiếp với cổng vào/ra.

Nếu sử dụng cỏc chế độ xử lý ngắt, chương trỡnh con tương ứng với từng tớn hiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trỡnh. Chương trỡnh xử lý ngắt chỉ được thực hiện trong vũng quột khi xuất hiện tớn hiệu bỏo ngắt và cú thể xảy ra ở bất cứ điểm nào trong vũng quột.

2.2.4. Cấu trỳc chương trỡnh của S7-200 CPU214.

Cú thể lập trỡnh cho S7-200 bằng cỏch sử dụng một trong những phần

mềm sau đõy:

- STEP 7-Micro/DOS.

- STEP 7-Micro/WIN.

Những phần mềm này đều cú thể cài đặt được trờn cỏc mỏy lập trỡnh họ PG7xx và cỏc mỏy tớnh cỏ nhõn (PC).

Cỏc 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) và sau đú đến cỏc chương trỡnh con và cỏc chương trỡnh

xử lý ngắt được chỉ ra sau đõy:

- Chương trỡnh chớnh được kết thỳc bằng lệnh kết thỳc chương trỡnh (MEND).

- 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 MEND.

- 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 chương trỡnh chớnh MEND.

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 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 sau này. Cú thể tự do 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.

Để tạo ra 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 9 bit của ngăn xếp logic của S7-200. Ngăn xếp logic là một khối gồm 9 bit chồng lờn nhau. Tất cả cỏc thuật toỏn liờn quan đến ngăn xếp đều chỉ làm việc với bit đầu tiờn hoặc với bit đầu tiờn và bit thứ hai của ngăn xếp. Giỏ trị logic mới đều cú thể được gửi [hoặc được nối thờm] vào ngăn xếp. Khi phối hợp hai bit đầu tiờn của ngăn xếp, thỡ ngăn xếp sẽ được kộo lờn một bit.

Main Program

Μ

MEND

Thực hiện trong một vũng quột SBR 0 chương trỡnh con thứ nhất

Μ

RET

Thực hiện khi được chương trỡnh chớnh gọi

SBR 0 chương trỡnh con thứ n+1 Μ RET INT 0 chương trỡnh xử lý ngắt thứ nhất Μ RET1

Thực hiện khi cú tớn hiệu bỏo ngắt

INT 1 chương trỡnh xử lý ngắt thứ n+1

Μ

RET1

2.3. NGễN NGỮ LẬP TRèNH CỦA S7-200.

2.3.1. 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 lập trỡ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 cuối trong một vũng. Một vũng như vậy được gọi là vũng quột.

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. Scan cycle 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.

Cỏch lập trỡnh cho S7-200 núi riờng và cho cỏc PLC của Siemens núi chung dựa trờn hai phương phỏp lập trỡnh 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ắt là STL).

Nếu chương trỡnh được viết theo kiểu LAD, thiết bị lập trỡnh sẽ tự tạo ra một chương trỡnh theo kiểu STL tương ứng. Nhưng ngược lại khụng phải mọi chương trỡnh được viết theo kiểu STL cũng cú thể chuyển được sang LAD.

2.3.1.1. Định nghĩa về LAD

LAD là một ngụn ngữ lập trỡnh bằng đồ 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ủa bảng điều khiển bằng rơle. Trong chương trỡnh LAD cỏc phần tử cơ bản dựng để biểu diễn lệnh logic như sau:

- Tiếp điểm: là biểu tượng (symbol) mụ tả cỏc tiếp điểm của rơle. Cỏc tiếp

điểm đú cú thể là thường mở | | hoặc thường đúng |⁄ |

- Cuộn dõy (coil): là biểu tượng ( ) mụ tả cỏc rơle được 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. Những dạng hàm thường được biểu diễn bằng hộp là cỏc bộ định thời gian (Timer), bộ đếm (Counter) và cỏc hàm toỏn học. Cuộn dõy và cỏc hộp phải được mắc đỳng chiều dũng điện.

Mạng LAD: là đường nối cỏc phần tử thành một mạch hoàn thiện, đi từ

đường nguồn bờn trỏi sang đường nguồn bờn phải. Đường nguồn bờn trỏi là dõy núng, đường nguồn bờn phải là dõy trung hũa hay là đường trở về nguồn cung cấp (đường nguồn bờn phải thường khụng được thể hiện khi dựng chương trỡnh tiện dụng STEP7-Micro/DOS hoặc STEP7-Micro/WIN). Dũng điện chạy từ bờn trỏi qua cỏc 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.3.1.2. Định nghĩa về ngăn xếp logic (logic stack).

Để tạo ra 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 9 bit ngăn xếp logic của S7-200. Ngăn xếp là một khối gồm 9 bit chồng lờn nhau. Tất cả cỏc thuật toỏn liờn quan đến ngăn xếp chỉ làm việc với bit đầu tiờn hoặc bit thứ hai của ngăn xếp. Giỏ trị logic mới cú thể được gửi vào ngăn xếp. Khi kết hợp hai bit đầu tiờn của ngăn xếp thỡ ngăn xếp sẽ được kộo lờn một bit.

S0 Stack 0 – Bit đầu tiờn hay bit trờn cựng của ngăn xếp

S1 Stack 1 – Bit thứ hai của ngăn xếp

S2 Stack 2 – Bit thứ ba của ngăn xếp

S3 Stack 3 – Bit thứ tư của ngăn xếp

S4 Stack 4 – Bit thứ năm của ngăn xếp

S5 Stack 5 – Bit thứ sỏu của ngăn xếp

S6 Stack 6 – Bit thứ bảy của ngăn xếp

S7 Stack 7 – Bit thứ tỏm của ngăn xếp

S8 Stack 8 – Bit thứ chớn của ngăn xếp

2.3.2. Tập lệnh của S7-200.

2.3.2.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ũ cũn lại trong ngăn xếp bị đẩy lựi xuống một bit.

Load (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 bit.

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 của ngăn xếp khụng bị thay đổi.

2.3.2.2. Toỏn hạng và giới hạn cho phộp.

Bảng 2.1. Giới hạn toỏn hạng của S7-200.

Phương phỏp truy nhập Giới hạn cho phộp toỏn hạng của CPU214

Truy nhập bit (địa chỉ byte chỉ số bit). V (0.0 đến 4095.7) I (0.0 đến 7.7) Q (0.0 đến 7.7) M (0.0 đến 31.7) SM (0.0 đến 85.7) T (0 đến 127) C (0 đến 127)

Truy nhập byte VB (0 đến 4095) IB (0 đến 7) MB (0 đến 31) SMB (0 đến 85) AC (0 đến 3) Hằng số

Truy nhập từ đơn (địa chỉ byte cao). VW (0 đến 4094) T (0 đến 127) C (0 đến 127) IW (0 đến 6) QW (0 đến 6) MW (0 đến 30) SMW (0 đến 84) AC (0 đến 3) AIW (0 đến 30) AQW (0 đến 30)

Truy nhập từ kộp (địa chỉ byte cao). VD (0 đến 4092) ID (0 đến 4) QD (0 đến 4) MD (0 đến 28) SMD (0 đến 82) AC (0 đến 3) HC (0 đến 2) Hằng số

2.3.2.3. Cỏc lệnh ghi/xúa giỏ trị cho tiếp điểm.

SET (S), 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 dũng điện đúng hoặc 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 đúng hoặc mở cỏc tiếp điểm (hoặc một dóy cỏc tiếp điểm).

2.3.2.4. 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ỏ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 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.

2.3.2.5. Cỏc lệnh tiếp điểm đặc biệt.

Cú thể dựng cỏc lệnh tiếp điểm đặc biệt để phỏt hiện sự chuyển trạng thỏi của xung (sườn xung) và đảo trạng thỏi của dũng cung cấp. LAD sử dụng cỏc tiếp điểm đặc biệt để tỏc động vào dũng cung cấp (giỏ trị của đỉnh ngăn xế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à vỡ thế phải đặt chỳng vào vị trớ phớa trước của 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 212 chỉ cú thể sử dụng nhiều nhất 128 lệnh và CPU 214 là 256 lệnh.

2.3.2.6. 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, từ hay từ kộp của S7-200.

LAD sử dụng lệnh so sỏnh cỏc giỏ trị của byte, từ và từ kộp (giỏ trị thực hoặc nguyờn). Những giỏ trị 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 (>=).

2.3.2.7. Lệnh nhảy và lệnh gọi chương trỡnh con.

Cỏc lệnh của chương trỡnh, nếu khụng cú những lệnh điều khiển riờng, sẽ được thực hiện theo thứ tự từ trờn xuống dưới trong một vũng quột. Lệnh điều khiển chương trỡnh cho phộp thay đổi thứ tự thực hiện lệnh. Chỳng cho phộp chuyển thứ tự thực hiện, đỏng lẽ ra là tiếp theo, tới một lệnh bất cứ nào khỏc của chương trỡnh, trong đú nơi điều khiển chuyển đến phải được đỏnh dấu trước bằng một nhón chỉ đớch. Thuộc nhúm lệnh điều khiển trong chương trỡnh gồm: lệnh nhảy, lệnh gọi chương trỡnh con. Nhón chỉ đớch, hay gọi đơn giản là nhón, phải được đỏnh dấu trước khi thực hiện lệnh nhảy hay lệnh gọi chương trỡnh con.

Việc đặt nhón cho lệnh nhảy phải nằm trong chương trỡnh. Nhón của chương trỡnh con, hoặc của chương trỡnh xử lý ngắt được khai bỏo ở đầu chương trỡnh. Khụng thể dựng lệnh nhảy JMP để chuyển điều khiển từ chương trỡnh chớnh vào một nhón bất kỳ trong chương trỡnh con hoặc chương trỡnh xử lý ngắt. Tương tự như vậy cũng khụng thể từ một chương trỡnh con hay chương trỡnh xử lý ngắt vào bất cứ một nhón nào nằm ngoài cỏc chương trỡnh đú.

Lệnh gọi chương trỡnh con là lệnh chuyển điều khiển đến chương trỡnh con. Khi chương trỡnh con thực hiện xong cỏc phộp tớnh của mỡnh thỡ việc điều khiển lại được chuyển về lệnh tiếp theo trong chương trỡnh chớnh nằm ngay sau lệnh gọi chương trỡnh con. Từ một chương trỡnh con cú thể gọi được một chương trỡnh con khỏc trong nú, cú thể gọi như vậy nhiều nhất 8 lần trong S7-200. Đệ quy (trong một chương trỡnh con cú lệnh gọi đến chương trỡnh chớnh nú) về nguyờn tắc khụng bị cấm song phải để ý đến giới hạn trờn.

2.3.2.8. 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 khoảng thời gian dài 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 như gặp lệnh STOP trong chương trỡnh chớnh

2.3.2.9. Cỏc lệnh can thiệp vào thời gian vũng quột.

Timer là bộ tạo thời gian trễ giữa tớn hiệu vào và tớn hiệu ra nờn trong điều khiển vẫn thường gọi là khõu trễ. Nếu ký hiệu tớn hiệu vào là x(t) và thời gian trễ

được tạo ra bằng Timer là τ thỡ tớn hiệu đầu ra của Timer đú là x(t-τ).

S7-200 cú 64 Timer đối với CPU212 và 128 đối với CPU214 được chia làm hai loại khỏc nhau:

- Timer tạo thời gian trễ khụng nhớ (TON).

- Timer tạo thời gian trễ cú nhớ (TONR).

Cỏc loại Timer của S7-200 (đối với CPU 214) chia theo TON, TONR và độ phõn giải bao gồm:

Bảng 2.2. Độ phõn giải của cỏc Timer

Lệnh Độ phõn giải Giỏ trị cực đại CPU212 CPU214

TON 1ms 32,767 T32 T32, T96 10ms 327,67 T33ữT36 T33ữT36, T97ữT100 100ms 3276,7 T37ữT63 T37ữT63, T101ữT127 TONR 1ms 32,767 T0 T0, T62 10ms 327,67 T1ữT4 T1ữT4, T65ữT68 100ms 3276,7 T5ữT31 T5ữT31, T69ữT95

2.3.2.10. Cỏc lệnh điều khiển Counter.

Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-2000. Cỏc bộ đếm của S7-2000 được chia ra làm 2 loại: bộ đếm tiến (CTU) và bộ đếm tiến/lựi (CTUD).

Bộ đếm tiến CTU đếm số sườn lờn của tớn hiệu logic đầu vào, tức là đếm số lần thay đổi trạng thỏi logic từ 0 lờn 1 của tớn hiệu. Số sườn xung đếm được, được ghi

vào thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C-word.

Bộ đếm tiến/lựi CTUD đếm tiến khi gặp sườn lờn của xung vào cổng đếm, ký hiệu là CU trong LAD hoặc bit thứ 3 của ngăn xếp trong STL, và đếm lựi khi gặp sườn của xung

Một phần của tài liệu Thiết kế hệ thống điều khiển độ ẩm trong nhà trồng (Trang 29)

Tải bản đầy đủ (DOC)

(100 trang)
w