3.2.2.1. Phõn chia bộ nhớ
Bộ nhớ được chia làm 4 vựng cơ bản, hầu hết cỏc vựng nhớ đều cú khả năng đọc/ghi chỉ trừ vựng nhớ đặc biệt SM (Special Memory) là vựng nhớ cú số chỉ đọc.
Chuyển đổi
o Vựng nhớ chương trỡnh: Là miền bộ nhớ được dựng để lưu giữ cỏc lệnh.
chương trỡnh. Vựng này thuộc kiểu Non-Valatie đọc/ghi được.
o Vựng nhớ tham số: Là miền lưu giữ cỏc tham số như từ khoỏ, địa chỉ trạm...
cũng giống như vựng chương trỡnh, vựng này thuộc kiểu (Non-Valatile) đọc/ghi được. o Vựng dữ liệu: được sử dụng để cất cỏc dữ liệu của chương trỡnh bao gồm kết
quả của cỏc phộp tớnh, hằng số được định nghĩa trong chương trỡnh, bộ đệm truyền thụng...
o Vựng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao 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-Valatile nhưng đọc/ghi được.
Hai vựng nhớ cuối cựng cú ý nghĩa quan trọng trong việc thực hiện một chương trỡnh. Do vậy sẽ được trỡnh bày chi tiết ở mục tiếp theo.
Hinh 3.2.2.1: Cấu trỳc bộ nhớ S7 200
3.2.2.2. Vựng nhớ dữ liệu
Vựng nhớ dữ liệu là vựng nhớ động, nú cú thể truy cập theo từng bit, byte, từ đơn (Worrd), từ kộp (Double Word) và cũng cú thể truy nhập được với mảng dữ liệu. Nú được sử dụng làm miền lưu trữ dữ liệu cho cỏc thuật toỏn, cỏc hàm truyền thụng, lập bảng, cỏc hàm dịch chuyển, xoay vũng thanh ghi, con trỏ địa chỉ...
Vựng nhớ dữ liệu bao gồm 5 miền nhỏ
Miền I (Input Image Register)
Thanh ghi đệm, lưu cỏc giỏ trị ngừ vào khi PLC hoạt động.
Miền Q (Output Image Register)
Miền V (Variable Memory)
Lưu cỏc kết quả trung gian khi thực hiện chương trỡnh.
Miền M (Internal Memory bits)
Được sử dụng như cỏc Rơle điều khiển để lưu trạng thỏi trung gian của 1 hoạt động hoặc cỏc thụng tin điều khiển khỏc. (byte, Word, Dword).
Miền SM (Special Memory bits)
Chứa cỏc bit để lựa chọn và điều khiển cỏc chức năng đặc biệt của CPU (byte, Word, Dword).
Vựng dữ liệu
CPU 221 CPU 222 CPU 224 CPU 226
V V0.0 – V2047.7 V0.0 – V2047.7 V0.0 – V5119.7 V0.0 – V5119.7 I I0.0 – I15.7 I0.0 – I15.7 I0.0 – I15.7 I0.0 – I15.7 Q Q0.0 – Q15.7 Q0.0 – Q15.7 Q0.0 – Q15.7 Q0.0 – Q15.7 M M0.0 – M31.7 M0.0 – M31.7 M0.0 – M31.7 M0.0 – M31.7 SM SM0.0 – SM179.7 SM0.0 – SM179.7 SM0.0 – SM179.7 SM0.0 – SM179.7 S S0.0 – S31.7 S0.0 – S31.7 S0.0 – S31.7 S0.0 – S31.7 L L0.0 – V63.7 L0.0 – V63.7 L0.0 – V63.7 L0.0 – V63.7
Bảng 2: Phõn chia và toỏn hạng vựng dữ liệu
Địa chỉ truy nhập được qui ước theo cụng thức
Truy nhập theo bit
Tờn miền + địa chỉ byte.chỉ số bit.
Vớ dụ: V150.4 là địa chỉ bit số 4 của byte 150 thuộc miền V. Truy nhập theo byte
Tờn miền + B và địa chỉ byte.
Truy nhập theo từ (Word)
Tờn miền + W và địa chỉ byte cao của từ.
Vớ dụ: VW150 là địa chỉ từ đơn gồm hai byte 150 và 151 thuộc miền V, trong đú byte 150 cú vai trũ byte cao của từ.
Truy nhập theo từ kộp
Tờn miền + D và địa chỉ byte cao của từ.
Vớ dụ: VD150 là địa chỉ từ kộp gồm bốn byte 150, 151, 152 và 153 thuộc miền V, trong đú byte 150 cú vai trũ byte cao, 153 cú vai trũ là byte thấp của từ kộp.
Tất cả cỏc byte thuộc vựng dữ liệu đều cú thể truy nhập bằng con trỏ. Con trỏ được định nghĩa trong miền V hoặc cỏc thanh ghi AC1, AC2, AC3. Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kộp). Qui ước sử dụng con trỏ để truy nhập như sau:
& + địa chỉ byte cao
Vớ dụ:
+ AC1 = &VB150 là thanh ghi AC1 chứa địa chỉ byte 150 thuộc miền V. + VD100 = &VW150 là từ kộp VD100 chứa địa chỉ byte cao của từ đơn VW150 thuộc miền V.
+ AC2 = &VD150 là thanh ghi AC2 chứa địa chỉ byte cao 150 của từ kộp VD150 thuộc miền V.
Toỏn hạng * (con trỏ): là lấy nội dung của byte, từ hoặc từ kộp mà con trỏ đang chỉ vào. Với cỏc địa chỉ đó xỏc định trờn ta cú cỏc vớ dụ:
+ Lấy nội dung của byte VB150 là: *AC1. + Lấy nội dung của từ đơn VW150 là: *VD100.
+ Lấy nội dung của từ kộp VD150 là: *AC2.
3.2.2.3. Vựng đối tượng
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 Counter hay Timer. Dữ liệu kiểu đối tượng bao gồm cỏc thanh ghi của Counter, Timer, cỏc bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và cỏc thanh ghi AC (Accumulator).
Timer (bộ định thời): đọc/ ghi T T127 Counter (bộ đếm): đọc/ ghi C C127
Bộ đệm vào Analog (đọc): AIWO AIW3O
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).
Vựng dữ liệu
CPU 221 CPU 222 CPU 224 CPU 226
Timer T0 – T255 T0 – T255 T0 – T255 T0 – T255 Counter C0 – C255 C0 – C255 C0 – C255 C0 – C255 Analog
Input
None AIW0 – AIW30 AIW0 – AIW62 AIW0 – AIW62
Analog Output None AQW0 – AQW30 AQW0 – AQW62 AQW0 – AQW62 Thanh ghi ACC
AC0 – AC3 AC0 – AC3 AC0 – AC3 AC0 – AC3
Bộ đếm tốc độ cao HC0,HC3, HC4,HC5 HC0,HC3,HC4, HC5 HC0,HC3,HC4, HC5 HC0,HC3,HC4, HC5
Bảng 3: Toỏn hạng và phõn chia vựng đối tượng
3.2.2.4. Mở rộng cổng vào ra
Khi chương trỡnh lớn đũi hỏi số lượng ngừ vào, ra lớn hơn số lượng của CPU hiện hành ta cú thể mở rộng cổng vào/ra bằng cỏch ghộp thờm vào cỏc Module mở rộng để đỏp ứng yờu cầu của chương trỡnh. Số Module mở rộng tuỳ thuộc vào từng loại CPU. Cỏc Module mở rộng được mắc nối tiếp (theo một múc xớch) về phớa bờn phải của Module CPU. Đối với CPU 224 cú thể ghộp nối nhiều nhất 5 Module theo bảng 4.
CPU224 MODUL 0 (4vào/4ra) MODUL 1 (8 vào) MODUL 2 (3vào Analog /1ra Analog) MODUL 3 (8 ra) MODUL 4 (3vàoAnalog /1ra Analog) I0.0 Q0.0 I0.1 Q0.1 I0.2 Q0.2 I0.3 Q0.3 I0.4 Q0.4 I0.5 Q0.5 I0.6 Q0.6 I0.7 Q0.7 I1.1 Q1.0 I1.2 Q1.1 I1.3 I1.4 I1.5 I2.0 I2.1 I2.2 I2.3 Q2.0 Q2.1 Q2.2 Q2.3 I3.0 I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7 AIW0 AIW2 AIW4 AQW0 Q3.0 Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7 AIW8 AIW10 AIW12 AQW4
Bảng 4: Cỏc module mở rộng của CPU 224
3.2.2.5. Phương thức truy cập bộ nhớ
Theo Bit: tờn miền + địa chỉ byte + ‘.’+ chỉ số bit M0.0, I2.5, Q1.0, …
Hỡnh 3.2.2.5a: Truy cập theo bit
Theo Byte: tờn miền + B + địa chỉ byte
VB5, IB2, QB0, …(VB5=V5.0 V5.1 …V5.7)
Hỡnh 3.2.2.5b: Truy cập theo Byte
Theo Word: tờn miền + W + địa chỉ byte cao của Word. VW0, QW1, IW2, …(VW0=VB0 VB1).
Hỡnh 3.2.2.5c: Truy cập theo word
Theo Double Word: tờn miền + D + địa chỉ Word cao của Double Word VD0, QD2, ID1, …
(VD0 = VW0 VW2 = VB0 VB1 VB2 VB3).
Hỡnh 3.2.2.5c: Truy cập theo Double word
3.2.3. Cấu trỳc chương trỡnh của S7-200
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.
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 phớa sau chương trỡnh chớnh.
3.2.4. Nguyờn lý hoạt động
PLC thực hiện chương trỡnh theo chu trỡnh 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 gian đ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à giai đ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.
Hỡnh 3.2.4: Chương trỡnh thực hiện theo vũng quột (Scan) trong S7 200
4. Chuyển dữ liệu từ bộ đệm ảo ra ngoại vi 3. Truyền thụng và tự kiểm tra lỗi 1. Nhập dữ liệu từ ngoại vi vào bộ đệm ảo 2. Thực hiện chương trỡnh
Main Program Thực hiện trong một vũng
quột
SBR 0 Chương trỡnh con thứ nhất Thực hiện khi được chương trỡnh chớnh gọi SBR n Chương trỡnh con thứ n+1 RET INT 0 Chương trỡnh xử lý ngắt thứ nhất RET
Thực hiện khi cú tớn hiệu bỏo ngắt
INT n Chương trỡnh xử lý ngắt thứ n+1
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.
Thường việc thực thi một vũng quột xảy ra với một thời gian rất ngắn, một vũng quột đơn (Single Scan) cú thời gian thực hiện từ 1ms tới 100ms. Việc thực hiện một chu kỳ quột dài hay ngắn cũn phụ thuộc vào độ dài của chương trỡnh và cả mức độ giao tiếp giữa PLC với cỏc thiết bị ngoại vi (màn hỡnh hiển thị…). Vi xử lý cú thể đọc được tớn hiệu ở ngừ vào chỉ khi nào tớn hiệu này tỏc động với khoảng thời gian lớn hơn một chu kỳ quột thỡ vi xử lý coi như khụng cú tớn hiệu này. Tuy nhiờn trong thực tế sản xuất, thường cỏc hệ thống chấp hành “là cỏc hệ thống cơ khớ nờn cú tốc độ quột như trờn cú thể đỏp ứng được cỏc chức năng của dõy chuyền sản xuất. Để khắc phục thời gian quột dài, ảnh hưởng đến chu trỡnh sản xuất cỏc nhà thiết kế cũn thiết kế hệ thống PLC cập nhật tức thời, cỏc hệ thống này thường được ỏp dụng cho cỏc PLC lớn cú số lượng I/O nhiều, truy cập và xử lý lượng thụng tin lớn.
3.2.5. Ngụn ngữ lập trỡnh
Ngụn ngữ lập trỡnh là cỏch sử dụng lệnh để viết chương trỡnh cho PLC. Cú 2 vấn đề cần quan tõm khi viết chương trỡnh cho PLC S7-200: o Chọn loại tập lệnh nào: SIMATIC hay IEC.
o Chọn ngụn ngữ lập trỡnh nào: STL, LAD, FBD.
SIMATIC IEC
STL Khụng sử dụng
LAD LAD
FBD FBD
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 ba 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), phương phỏp hỡnh khối FBD (Function Block Diagram).
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 hoặc FBD 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 hay FBD.
3.2.5.1. Phương phỏp LADDER
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: 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.
Trong mạng LAD thỡ đườ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.
Đặc điểm:
Chương trỡnh tương tự như sơ đồ nối dõy mạch điện.
Mụ phỏng chuyển động của dũng điện từ nguồn qua cỏc điều kiện ngừ vào tỏc động đến ngừ ra.
Phự hợp với người mới bắt đầu học.
Sử dụng tập lệnh SIMATIC và IEC.
Hỡnh 3.2.5.1 - Vớ dụ về ngụn ngữ LAD
3.2.5.2. Phương phỏp hỡnh khối FBD
Sử dụng cỏc lệnh như cỏc khối logic. Chương trỡnh là sự kết nối cỏc hộp. Sử dụng tập lệnh SIMATIC và IEC.
Hỡnh 3.2.5.2: Vớ dụ về ngụn ngữ FBD
3.2.5.3. Phương phỏp liệt kờ STL
Phương phỏp liệt kờ lệnh (STL) là phương phỏp thể 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.
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
Bảng 5: Định nghĩa sắp xếp
Để 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.
Đặc điểm:
Sử dụng cỏc lệnh gợi nhớ.
Phự hợp cho người cú kinh nghiệm lập trỡnh.
Chỉ sử dụng tập lệnh SIMATIC.
Điều khiển nhiều chức năng hơn LAD và FBD.
Cú thể từ STL chuyển sang LAD và FBD.
Chương IV HỆ THỐNG VÀ CHƯƠNG TRèNH ĐIỀU
KHIỂN
4.1. Cỏc phần tử điều khiển điều chỉnh 4.1.1. Van điều khiển 4.1.1. Van điều khiển
Van điểu khiển là loại van dựng để đúng mở, nối liền hoặc ngăn cỏc đường dẫn khớ về những bộ phận tương ứng của hệ thống khớ nộn. Van điều chỉnh hướng thường