Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu chương trình và dữ liệu Catridge... - Vùng
Trang 1CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200 3
I GIỚI THIỆU CHUNG VỀ PLC S7-200: 3
II CẤU TRÚC PHẦN CỨNG CỦA S7-200: 4
1 Hình dáng và cấu trúc bên ngoài: 4
1.1 Các đầu vào/ra số: 4
1.2 Đèn trạng thái: 5
1.3 Port truyền thông: 5
1.4 Công tắc chuyển chế độ: 5
1.5 Vít chỉnh tương tự: 5
2 Cấu trúc phần cứng: 6
2.1 Đơn vị xử lý trung tâm (CPU Central Processing Unit): 6
2.2 Bộ nhớ: 6
2.3 Khối vào/ra: 7
2.4 Bộ nguồn: 7
2.5 Khối quản lý ghép nối: 7
III CẤU TRÚC BỘ NHỚ: 7
1 Phân chia bộ nhớ: 7
2 Vùng nhớ chương trình: 8
3 Vùng nhớ dữ liệu: 8
3.1 Truy cập trực tiếp: 8
3.2 Truy cập gián tiếp: 9
4 Vùng đối tượng: 9
IV MỞ RỘNG CỔNG VÀO RA: 10
V THỰC HIỆN CHƯƠNG TRÌNH: 11
VI CẤU TRÚC CHƯƠNG TRÌNH: 11
VII KIỂU DỮ LIỆU: 12
VIII THIẾT BỊ LẬP TRÌNH: 12
1 Giao diện làm việc: 12
2 Các khối sử dụng trong giao diện lập trình: 14
2.1 Khối Programe Block: 14
2.2 Khối Data Block: 15
2.3 Khối System Block: 15
2.4 Khối Symbol Table: 16
2.5 Khối Status Chart: 17
2.6 Khối Cross Reference: 17
Trang 22.7 Khối Communication: 18
CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH 21
I PHƯƠNG PHÁP LẬP TRÌNH: 21
1 LAD: 21
2 STL: 21
3 FBD: 22
II TẬP LỆNH S7-200: 22
1 Các lệnh làm việc với bit logic: 23
2 Nhóm lệnh so sánh: 25
3 Tập bộ tạo thời gian: 25
4 Tập bộ đếm: 27
5 Tập lệnh toán học: 28
6 Các lệnh dịch chuyển dữ liệu: 30
7 Tập lệnh làm việc với bảng dữ liệu: 31
8 Tập lệnh phép toán biến đổi logic: 33
9 Tập lệnh biến đổi kiểu dữ liệu: 34
10 Tập lệnh làm việc với thời gian thực: 36
11 Tập lệnh điều khiển chương trình: 39
12 Lệnh quay/dịch thanh ghi: 40
13 Tập lệnh xử lý ngắt: 42
CHƯƠNG 3: CÁC ỨNG DỤNG CHUYÊN DÙNG TRÊN PLC 46
I XỬ LÝ TÍN HIỆU ANALOG: 46
1 Đọc tín hiệu analog: 46
1.1 Sơ đồ đấu dây: 47
1.2 Bảng cấu hình chọn dải tín hiệu đầu vào: 48
1.3 Định dạng dữ liệu đầu vào: 49
1.4 Căn chỉnh tín hiệu đầu vào: 49
2 Xuất tín hiệu analog: 50
2.1 Sơ đồ đấu dây: 50
2.2 Định dạng dữ liệu đầu ra: 51
2.3 Xuất tín hiệu đầu ra: 51
II ĐỌC XUNG TỐC ĐỘ CAO: 52
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200
I GIỚI THIỆU CHUNG VỀ PLC S7-200:
PLC, viết tắt của programable logic controlerlà thiết bị điều khiển logic lập trình được, hay thiết
bị logic khả trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình Như vậy với chương trình điều khiển trong PLC trở thành bộ điều khiển số nhỏ gọn có thể dễ dàng thay đổi thuật toán điều khiển và trao đổi thông tin với môi trường bên ngoài ( PLC khác hoặc máy tính )
S7-200 là thiết bị điều khiển logic khả trình của hãng Siemens ( CHLB Đức ), có cấu trúc kiểu module và có các module mở rộng Các module này được sử dụng với những mục đích khác nhau
Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu chương trình và dữ liệu (Catridge )
Dòng PLC S7-200 có hai họ là 21X ( loại cũ ) và 22X ( loại mới ), trong đó họ 21X không còn sản xuất nữa Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau: 221, 222, 224,224XP, 226, 226XM
* Thông số và các đặc điểm kỹ thuật của series 22X :
* Giới thiệu về module mở rộng:
- Module đầu vào số: EM221, có nhiều loại bao gồm 8/16 đầu vào và điện áp 230VAC
24VDC/120 Module đầu ra số: EM222 bao gồm 4/8 đầu ra 24VDC/RELAY/230VAC
Trang 4- Module vào/ra số: EM223 bao gồm 4/8/16 đầu vào 24VDC và 4/8/16 đầu ra 24VDC/RELAY/230VAC.
- Module đầu vào tương tự: EM231 từ 2/4 đầu vào với các loại tín hiệu 0-10V,4-20mA…
- Module đầu ra tương tự: EM232 có 2 đầu ra
- Module vào ra tương tự: EM235 gồm 4 đầu vào và 1 đầu ra
- Ngoài ra còn có các loại module thích hợp cho những ứng dụng khác như module điều khiển vị trí, module truyền thông
Bảng giới thiệu các loại module mở rộng:
II CẤU TRÚC PHẦN CỨNG CỦA S7-200:
1 Hình dáng và cấu trúc bên ngoài:
1.1 Các đầu vào/ra số:
Trang 5- Đèn SF/DIAG: Chỉ báo hệ thống bị hỏng tức do lỗi phần cứng hoặc hệ điều hành.
- Đèn Ix.x(màu xanh): Chỉ báo trạng thái của đầu vào số(ON/OFF)
- Đèn Qx.x(màu xanh): Chỉ báo trạng thái của đầu ra số(ON/OFF)
1.3 Port truyền thông:
- Port truyền thông nối tiếp RS485: Giao tiếp với PC, PG, TD200, OP, mạng biến tần…
- Port cho module mở rộng: Kết nối với module mở rộng
1.4 Công tắc chuyển chế độ:
- RUN: Cho phép PLC thực hiện chương trình, khi chương trình lỗi hoặc gặp lệnh STOP thì PLC tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở vị trí RUN ( quan sát đèn trạng thái )
- STOP: Dừng cưỡng bức chương trình đang chạy, các đầu ra chuyển về OFF
- TERM: Cho phép người dùng chọn một trong hai chế độ RUN/STOP từ xa, ngoài ra còn được dùng để download chương trình người dùng
1.5 Vít chỉnh tương tự:
Mỗi PLC đều có từ một đến hai vít chỉnh tương tự có thể xoay được 270 độ để thay đổi giá trị của vùng nhớ biến trong chương trình
Trang 62 Cấu trúc phần cứng:
Cấu trúc phần cứng của một PLC gồm có các module sau:
- Module nguồn
- Module đầu vào
- Module đầu ra
- Module đơn vị xử lý trung tâm (CPU)
- Module bộ nhớ
- Module quản lý phối ghép vào ra
Mô hình tổng quát của một PLC
2.1 Đơn vị xử lý trung tâm (CPU Central Processing Unit):
CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng của PLC Mỗi PLC thường có từ một đến hai đơn vị xử lý trung tâm
CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử lý “từ ngữ”:
- Đơn vị xử lý “một bit”: Chỉ áp dụng cho những ứng dụng nhỏ, đơn giản, chỉ đơn thuần xử lý ON/OFF nên kết cấu đơn giản, thời gian xử lý dài
- Đơn vị xử lý “từ ngữ”: Có khả năng xử lý nhanh các thông tin số, văn bản, phép toán, đo lường, đánh giá, kiểm tra nên cấu trúc phần cứng phức tạp hơn nhiều tuy nhiên thời gian xử lý được cải thiện nhanh hơn
2.2 Bộ nhớ:
ĐƠN VỊ
XỬ LÝ TRUNG TÂM
QUẢN LÝ GHÉP NỐI
KHỐI NGÕ VÀO
KHỐI NGÕ RA
BỘ NHỚ
BỘ NGUỒN
Trang 7Biến đổi từ nguồn cấp bên ngoài vào để cung cấp cho sự hoạt động của PLC.
2.5 Khối quản lý ghép nối:
Dùng để phối ghép giữa PLC với các thiết bị bên ngoài như máy tính, thiết bị lập trình, bảng vận hành, mạng truyền thông công nghiệp
- Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh được dùng trong chương
trình.Vùng này thuộc kiểu non-volatile có thể đọc và ghi được
- Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ trạm… Vùng này thuộc
kiểu non-volatile có thể đọc và ghi được
CHƯƠNG TRÌNH
THAM SỐ
CHƯƠNG TRÌNH
THAM SỐ
Trang 8- Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm kết quả các phép tính, các
hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…
- Vùng đối tượng: Bao gồm các bộ đếm, bộ định thì, các cổng vào ra tương tự Vùng này không
thuộc kiểu non-volatile nhưng có thể đọc và ghi được
Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình.
2 Vùng nhớ chương trình:
Vùng nhớ chương trình gồm ba khối chính: OB1, SUBROUTIN và INTERRUPT
- OB1: Chứa chương trình chính, các lệnh trong khối này luôn được quét trong mỗi vòng quét
- SUBROUTIN: Chứa chương trình con, được tổ chức thành hàm và có biến hình thức để trao đổi dữ liệu, chương trình con sẽ được thực hiện khi có lệnh gọi từ chương trình chính
- INTERRUPT: Miền chứa chương trình ngắt, được tổ chức thành hàm và có khả năng trao đổi
dữ liệu với bất kỳ một khối chương trình nào khác Chương trình này sẽ được thực hiện khi có
sự kiện ngắt xảy ra
3 Vùng nhớ dữ liệu:
Vùng dữ liệu là một vùng nhớ động Nó có thể được truy cập theo từng bit, từng byte, từng từ đơn(word) hay từ kép (double word) và đượ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 dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và công dụng khác nhau, bao gồm các vùng sau:
- V (Variable memory): Vùng nhớ biến.
- I (Input image register): Vùng đệm đầu vào.
- Q (Output image register): Vùng đệm đầu ra.
- M (Internal memory bits): Vùng nhớ các bit nội.
- SM (Special memory): Vùng nhớ đặc biệt.
Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:
- Truy cập theo từ: Tên miền nhớ + W + địa chỉ byte cao của từ Ví dụ VW183 chỉ từ đơn gồm
hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VW183
Trang 93.2 Truy cập gián tiếp:
Truy cập địa chỉ gián tiếp thông qua con trỏ (pointer) Con trỏ là một miền nhớ từ kép chứa địa chỉ của vùng nhớ khác Các vùng nhớ V, L và thanh ghi chỉ mục ( AC1,AC2,AC3 ) có thể được sử dụng như
là con trỏ Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa chỉ gián tiếp vào vùng con trỏ Con trỏ cũng có thể được chuyển tới chương trình con như là một tham số
S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho phép truy cập theo từng bit và các vùng nhớ AI,AQ,HC,SM,L
Để truy cập gián tiếp dữ liệu địa chỉ của một vùng nhớ, phải tạo một con trỏ cho vùng đó bằng cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy Toán hạng đầu vào của lệnh phải bắt đầu với
ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán hạng đầu ra của lệnh Quy ước sử dụng con trỏ để truy nhập như sau:
- & địa chỉ byte (cao): Toán hạng lấy địa chỉ của byte, từ hoặc từ kép
VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao VB100 vào trong thanh ghi AC1, thanh ghi AC1 sẽ chứa địa chỉ của VW100
- * con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào
Theo ví dụ trên, khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào VW300 bằng cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1
VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300
4 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 bộ đếm, hay timer Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer,Counter, HSC, bộ đệm vào ra tương tự và các thanh ghi chỉ mục
Trang 10Đặc điểm và giới hạn vùng nhớ của PLC S7-22X
IV MỞ RỘNG CỔNG VÀO RA:
Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng nâng cao khác bằng cách ghép nối thêm các module mở rộng về phía bên phải của PLC tạo thành một móc xích các module.Địa chỉ của các vị trí các module được xác định bằng kiểu vào ra và vị trí của các 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 tương tự đều chiếm chỗ trong bộ đệm tương ứng với số đầu vào ra của module
Ví dụ cách đặt địa chỉ module mở rộng của CPU224:
Trang 11V THỰC HIỆN CHƯƠNG TRÌNH:
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp gọi là một vòng quét 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 bộ đệ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 tại lệnh kết thúc 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
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 trực tiếp với cổng vào ra 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ế độ ngắt, chương trình con tương ứng với các chế độ 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 ngắt chỉ được thực hiện khi có sự kiện báo ngắt
và có thể xảy ra bất kỳ lúc nào trong một vòng quét
VI CẤU TRÚC CHƯƠNG TRÌNH:
Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và có thể được lập dưới hai dạng cấu trúc khác nhau:
- Chương trình tuyến tính: Toàn bộ chương trình nằm trong khối chương trình chính (OB1), các lệnh trong chương trình luôn được quét từ đầu đến cuối chương trình và quay lại từ đầu trong quá trình PLC hoạt động Chương trình này chỉ thường áp dụng với các ứng dụng không phức tạp lắm
- Chương trình có cấu trúc: Chương trình được chia thành những phần nhỏ và mỗi phần thực hiện một nhiệm vụ riêng biệt, từng phần nằm trong những khối riêng biệt (OB1,SUBROUTIN, INTERRUPT) Loại chương trình này thường áp dụng với những yêu cầu phức tạp và nhiều khâu Khi lập trình chương trình có cấu trúc thường sử dụng ngoài chương trình chính còn có chương trình con và chương ngắt Chương trình con được viết trong khối chương trình con và được gọi trong chương trình chính khi có lệnh gọi Chương trình ngắt được viết trong khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời điểm nào của vòng quét Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu với các chương trình khác
Trang 12VII KIỂU DỮ LIỆU:
Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau:
(chỉ áp dụng cho lệnh SHRB) -128 ÷ 127
VIII THIẾT BỊ LẬP TRÌNH:
Có hai loại thiết bị có thể dùng để lập trình cho PLC S7- 200 là PG và PC
- PG: Là thiết bị lập trình chuyên dụng được dùng cho PLC S7-200 tuy nhiên chỉ sử dụng để lập trình với ngôn ngữ STL
- PC: Là máy tính cá nhân trên đó có cài phần mềm STEP7-MICROWIN Phần mềm này cho phép lập trình với cả ba ngôn ngữ là STL, LAD và FBD Để cài phần mềm này người phải có bản quyền và PC phải cài hệ điều hành WIN98/2000/NT/XP.Hiện nay hầu hết sử dụng STEP7-MICROWIN 3.0, 3.2, 4.0 để lập trình cho S7 để có thể sử dụng được những ứng dụng nâng cao
1 Giao diện làm việc:
Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm việc sẽ được thể hiện như sau:
Trang 13Navigation Bar-InstructionTree-Cross Reference-Data Block-Status Chart-Symbol Table
Output Window-Status Bar Program Editor Local Variable Table
- Navigation Bar: Thể hiện các khối và các lệnh làm việc được tạo sẵn trong phần mềm Để sử dụng các khối này ta chỉ cần kích vào nút biểu tượng tương ứng với khối cần dùng
- Instruction Tree: Thể hiện tất cả các khối và lệnh sử dụng trong chương trình dưới dạng cây thư mục Muốn làm việc với lệnh nào chỉ việc Click đúp chuột vào vị trí đó để chọn thiết bị làm việc
- Các khối Cross Reference, Data Block, Status Chart, Symbol Table sẽ được trình bày chi tiết ở phần sau
- Program Editor: Đây là vùng chính để thực hiện chương trình bằng cách đưa các lệnh vào trong vùng và sắp xếp chúng theo cách thức của người dùng để tạo ra một chương trình
- Menu bar và Toolbar: Là các thanh công cụ giúp thực hiện nhanh các lệnh và chức năng sử dụng trong chương trình
Trang 142 Các khối sử dụng trong giao diện lập trình:
2.1 Khối Programe Block:
Cách tạo chương trình con hay chương trình ngắt
Có thể tạo nhiều chương trình con hay chương trình ngắt tuy nhiên không thể tạo nhiều chương trình chính do chương trình chính chỉ có một Có thể xóa hay đổi tên chương trình con hay chương trình ngắt bằng cách click chuột phải vào biểu tượng chương trình và chọn “Delete” hay “Rename”
Trang 152.2 Khối Data Block:
Đây là khối chứa dữ liệu của một chương trình Ta có thể định dạng dữ liệu trước trong khối này
và sử dụng chúng trong chương trình Khi tải chương trình vào PLC thì toàn bộ nội dung của khối sẽ được lưu vào bộ nhớ của PLC Khối chỉ làm việc với dữ liệu của vùng nhớ V
Để tạo dữ liệu trong khối này ta có click vào biểu tượng trên màn hình hoặc trên cây thư mục chọn khối và click vào biểu tượng “USER”, khi đó màn hình chương trình sẽ chuyển sang làm việc với khối.Cách tạo dữ liệu được thể hiện bên dưới
Ví dụ về cách tạo một Data Block :
2.3 Khối System Block:
Đây là khối định dạng các chức năng làm việc của hệ thống Khối này gồm có 10 khối chính:
1 Communication Ports: Định dạng cho cổng giao tiếp của PLC.
Địa chỉ mặc định của PLC là 2, có thể thay đổi địa chỉ này
Tốc độ truyền mặc định là 9600kbps
2 Retentive Ranges: Khối này cho phép chọn 5 vùng nhớ có thể lưu dữ liệu khi PLC bị mất điện,
nếu vùng nào được chọn thì dữ liệu vùng đó được giữ, ngược lại sẽ bị reset về 0
3 Password: S7-200 có 3 mức chọn mật mã,thông thường chọn mức cao nhất để bảo mật bản
quyền, số ký tự tối đa là 8 Trường hợp PLC đã có password thì người không có password không thể upload từ PLC về máy tính nhưng có thể DownLoad chương trình vào PLC bằng các chọn “clear PLC”,khi đó toàn bộ dữ liệu sẽ bị xóa
4 Output table:
Khối này cho phép chọn trạng thái ngõ ra của PLC là ON hay OFF khi PLC chuyển trạng thái từ RUN sang STOP Chế độ mặc định của phần mềm là OFF
5 Input Filter:
Cho phép chọn thời gian lọc tín hiệu ngõ vào của PLC Thời gian lọc tín hiệu ngõ vào là thời gian
mà ngõ vào không đổi trạng thái thì PLC mới cho phép nhận trạng thái đó Nếu sự thay đổi trạng thái diễn
Trang 16ra trong thời gian ngắn hơn thời gian lọc thì PLC sẽ không nhận tín hiệu đó và coi như trạng thái của ngõ vào là không thay đổi.
Thời gian lọc mặc định của đầu vào là 6.4ms
6 Pulse Catch Bits:
PLC cho phép chọn ngõ vào có thể bắt những tín hiệu nhanh khi chu kỳ quét chưa kịp quét, tín hiệu đó sẽ được giữ cho đến khi chu kỳ quét được thực hiện
7 Background Time:
Background time còn gọi là thời gian nền, được chuyên dùng cho việc xử lý các yêu cầu truyền thông trong chế độ chạy ở trạng thái biên dịch hoặc đáp ứng Background time được cho dưới dạng phần trăm và tác động đến thời gian quét Khi tỷ lệ chọn càng tăng thì thời gian quét càng chậm Tỷ lệ hợp lý được chọn là 10%
2.4 Khối Symbol Table:
Khối này cho phép người dùng đặt biểu tượng và chú thích các địa chỉ sử dụng trong chương trình Khi ta đặt biểu tượng ( symbol ) và chú thích ( comment ) thì trong chương trình sẽ thể hiện các biểu tượng này thay cho địa chỉ Công việc này sẽ giúp cho người dùng dễ dàng giám sát các địa chỉ được sử dụng trong chương trình
Ví dụ về cách lập một Symbol table
Trang 172.5 Khối Status Chart:
Khối này giúp người dùng có thể giám sát và hiệu chỉnh các dữ liệu trong chương trình bằng cách đưa các dữ liệu cần giám sát vào trong khối Quá trình quan sát dữ liệu chỉ được thực hiện khi PLC đang ở chế độ RUN Người dùng có thể giám sát dữ liệu bằng hai cách: Dùng Chart Status hoặc Trend View trên thanh công cụ Chart Status thể hiện giá trị dữ liệu ở dạng bảng và Trend View thể hiện dữ liệu dưới dạng biểu đồ theo thời gian Có thể quan sát dữ liệu thông qua các công cụ là Chart Status hoặc Single read tuy trong đó chức năng Chart Status có thể cập nhật giá trị của dữ liệu khi PLC chuyển sang chế độ STOP còn chức năng Single Read thì không Ta có thể thay đổi và cập nhật giá trị của dữ liệu thông qua các chức năng Write và Force trên thanh công cụ
Ví dụ về hoạt động của một bảng dữ liệu trong chương trình:
2.6 Khối Cross Reference:
Khối Cross Reference được thể hiện dưới dạng bảng giúp người dùng có thể giám sát được vị trí
và loại của dữ liệu dùng trong chương trình Bảng chỉ được thể hiện khi chương trình được Download xuống PLC và quan sát ở chế độ online
Trang 18Ví dụ về một Cross Reference
2.7 Khối Communication:
Khối này giúp người dùng kết nối với thiết bị lập trình bằng cách định dạng cho cổng giao tiếp.Các bước thực hiện như sau:
1 Click chuột vào biểu tượng của khối trên màn hình giao diện chương trình người dùng, khi
đó sẽ hiện ra một bảng thông báo như sau:
Trong bảng này ta chọn địa chỉ của PLC, thường mặc định là 2, sau đó chọn ô “Search all baud rates” để tìm tất cả các tốc độ truyền thông yêu cầu, tiếp theo Click chuột vào biểu tượng “Set PG/PC interface” để cài đặt giao diện truyền thông, một cửa sổ sẽ hiện ra như sau:
Trang 19Trong cửa sổ này ta chọn Properties để định dạng cổng truyền thông Nếu ta dùng cổng truyền thông loại nào thì ta chọn loại đó, sau đó chọn các thông số cho chuẩn truyền thông như thể hiện bên dưới Sau khi chọn xong các thông số ta nhấn “OK”để thoát khỏi cửa sổ này và quay lại cửa sổ trước đó, tại đây
ta chọn chuẩn là PC/PPI cable (PPI) nếu cáp sử dụng là PPI, sau đó nhấn “OK”để thoát về cử sổ ban đầu.Tại đây ta click đúp chuột vào biểu tượng “Double - Click to refresh ” Nếu quá trình giao tiếp thành công tại đó sẽ hiển thị loại PLC đang kết nối có nghĩa là chương trình đã nhận dạng được loại PLC, nếu không
sẽ hiển thị cảnh báo lỗi Nếu có lỗi xảy ra ta phải kiểm tra thông báo lỗi để tìm cách khắc phục lỗi sau đó thực hiện lại các bước như trên
Sau khi kết nối thành công ta tiến hành viết hoặc đọc chương trình, nếu muốn viết chương trình vào PLC thì ta chọn “Download” còn ngược lại thì chọn “Upload” Để Upload hay Download thì người dùng phải kết nối cáp với PLC và chuyển PLC sang chế độ STOP Việc này được thực hiện như sau:
- Từ thanh menu ta chọn ‘File” và kéo thả xuống, tại đây ta chọn Upload hoặc DownLoad
- Trên thanh Toolbar ta chọn mũi tên xuống cho việc DownLoad và mũi tên lên cho việc Upload
- Nhấn phím Ctrl + U cho việc Upload và Ctrl + D cho việc DownLoad
Trang 21CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH
I PHƯƠNG PHÁP LẬP TRÌNH:
S7-200 biểu diễn chương trình dưới dạng một mạch logic cứng bằng một dãy các lệnh và khối chương trình theo thứ tự quy định Các lệnh và khối này sẽ lần lượt được quét trong chương trình từ đầu đến cuối trong một vòng quét PLC sẽ làm việc ngay tại vòng quét đầu tiên và từ đó thực hiện liên tục chu
kỳ quét Trong mỗi vòng quét nếu có một lệnh được gọi PLC sẽ nhận lệnh đó và thực hiện, nếu không quét kịp thì tại vòng quét tiếp theo sẽ thực hiện
Có ba phương pháp lập trình cơ bản:
- Lập trình hình thang (LAB – Ladder Logic)
- Phương pháp khối hàm (FBD – Funtion Block Diagram)
- Phương pháp liệt kê câu lệnh (STL – Statement List)
Nếu chương trình được viết theo kiểu LAD hoặc FBD thì có thể chuyển sang dạng STL nhưng không phải mọi chương trình viết bằng STL đều có thể chuyển sang hai dạng kia
- Cuộn dây: mô tả cuộn dây relay Toán hạng sử dụng là bit
- Hộp: Là biểu tượng mô tả các hàm khác nhau làm việc khi có tín hiệu đến kích Những hàm thường được biểu diễn bằng hộp là các hàm tạo thời gian (Timer), hàm đếm (Counter) và các hàm toán học
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn chỉnh Thông thường các tín hiệu điện phải đi từ dây nóng qua thiết bị rồi đến dây trung hoà sau đó về nguồn, tuy nhiên trong phần mềm lập trình chỉ thể hiện dây nóng và bên trái và các đường nối đến thiết bị từ đó
Trang 22Ngăn xếp và tên bit:
S0 Bit đầu tiên hay bit trên cùng của ngăn xếpS1 Bit thứ hai của ngăn xếp
S2 Bit thứ ba của ngăn xếpS3 Bit thứ tư của ngăn xếpS4 Bit thứ năm của ngăn xếpS5 Bit thứ sáu của ngăn xếpS6 Bit thứ bảy của ngăn xếpS7 Bit thứ tám của ngăn xếpS8 Bit thứ chín của ngăn xếp
3 FBD:
Là phương pháp lập trình khối hàm mô phỏng các lệnh và khối làm việc trong mạch số Các phần
tử cơ bản trong phương pháp này là các khối lệnh được liên kết với nhau
II TẬP LỆNH S7-200:
Tập lệnh của S7-200 chia làm ba nhóm:
- Các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc vào giá trị logic của ngăn xếp
- Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1
- Các nhãn lệnh đánh dấu vị trí trong tập lệnh hay còn gọi là nhóm lệnh điều khiển chương trình
Cả ba phương pháp đều sử dụng ký hiệu I để chỉ các lệnh làm việc tức thời, tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển ngay đến tiếp điểm được chỉ dẫn ngay trong lệnh ngay khi được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi của vòng quét Điều đó khác với lệnh không tức thời là giá trị chỉ chuyển vào thanh ghi ảo khi thực hiện lệnh
Các nhóm lệnh được cho trong cây lệnh của S7-200:
- Bit Logic: Tập lệnh làm việc với bit
- Clock: Tập lệnh làm việc với thời gian của hệ thống
- Communication: Tập lệnh truyền thông
- Compare: Tập lệnh so sánh
- Convert: Tập lệnh biến đổi
- Counter: Tập các bộ đếm
- Floating-Point Math: Tập lệnh toán học làm việc với số thực
- Integer Math: Tập lệnh toán học làm việc với số nguyên
- Interupt: Tập lệnh làm việc với chương trình ngắt
- Logical Operations: Tập lệnh các phép tính logic biến đổi
- Move: Tập lệnh di chuyển dữ liệu
Trang 23- Call Subroutin: Tập lệnh gọi các chương trình con
Các lệnh cơ bản được sử dụng trong S7-200 (Các lệnh sau đây chỉ được mô tả cho phương pháp lập trình LAD ):
1 Các lệnh làm việc với bit logic:
Tiếp điểm thường mở sẽ đóng khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L BoolTiếp điểm thường đóng sẽ mở khi bit = 1 bit: I,Q,M,V,SM,T,C,S,L BoolTiếp điểm thường mở sẽ đóng tức thời khi
Tiếp điểm thường đóng sẽ mở tức thời khi
Đảo giá trị của bít đầu tiên trong ngăn xếp
Bit đầu tiên trong ngăn xếp có giá trị bằng 1 trong khoảng thời gian bằng thời gian của một vòng quét khi phát hiện sườn lên của tín
Bit đầu tiên trong ngăn xếp có giá trị bằng 1 trong khoảng thời gian bằng thời gian của một vòng quét khi phát hiện sườn xuống của
Cuộn dây đầu ra ở trạng thái ON khi có tín
Cuộn dây đầu ra ở trạng thái ON tức thời khi
Set một mảng gồm n tiếp điểm tính từ tiếp điểm “bit”(n <= 128)
bit: I,Q,M,V,SM,T,C,S,L
n : IB, QB,MB,VB,SMB,SB, LB,AC,*VD,*AC, *LD, Constand
Trang 24Ví dụ minh minh hoạ sử dụng các bit logic trong chương trình:
Trang 252 Nhóm lệnh so sánh:
S7-200 cung cấp các lệnh so sánh theo từng kiểu dữ liệu vì vậy muốn thực hiện được phép so sánh thì các toán hạng phải có cùng kiểu dữ liệu nếu không chương trình sẽ báo lỗi Sau đây là một số lệnh so sánh dữ liệu kiểu Byte
Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1=IN2
IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand
Lệnh so sánh giá trị hai byte IN1 và IN2.Trạng thái tiếp điểm
là đóng khi IN1>IN2
IB,QB,MB,VB,SMB,SB,LB,AC,*VD,*AC,*LD,Constand
Byte
3 Tập bộ tạo thời gian:
liệu
Txxx : hằng số Word
EN : đầu vào kích Bool
Đây là lệnh đếm thời gian kích hoạt khi đầu vàokích là ON Khi giá trị đếm tức thời trong thanh ghi
CT >= giá trị đặt trước trong thanh ghi PT thì bit trạng thái của bộ timer Txxx sẽ ON
Khi tín hiệu đầu vào EN là OFF thì bit Txxx sẽ chuyển trạng thái sang OFF và giá trị tức thời trong
Interger
Trang 26Int để lấy giá trị tức thời và toán hạng kiểu Bit *VD,*LD,ACBit Txxx có cùng trạng thái với đầu vào EN,tại thời
điểm này giá trị trong thanh ghi CT = 0 Tại thời điểm khi có tín hiệu sườn xuống của đầu vào EN giá trị trong thanh ghi sẽ tăng dần đến khi CT = PT thì Txxx xuống mức thấp đồng thời CT giữ nguyên giá trị đến khi có tín hiệu sườn lên mới tại đầu vào EN.Có thể xoá giá trị trong CT và Txxx bằng lệnh Reset
PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,
Trang 274 Tập bộ đếm:
liệu
Cxxx : hằng số WordCU,R: đầu vào cho
>= PV thì C-bit được set lên 1, còn nếu không thì giá trị C-bit = 0 Khi đầu vào R có mức 1 thì bộ đếm
sẽ được reset về 0 cả C-word và C-bit Bộ đếm ngừng đếm khi C-word đạt giá trị cực đại là 32767
PT: IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,
*LD,AC
Interger
Cxxx : hằng số WordCU,R :đầu vào cho
Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của tín hiệu đầu vào CU và đếm lùi theo sườn lên của tín hiệu đầu vào CD Khi giá trị đếm tức thời C-word >= PV thì C-bit có giá trị logic 1, ngược lại C-bit có giá trị logic 0 Bộ đếm ngừng đếm tiến khi giá trị C-word đạt 32767 và ngừng đếm lùi khi giá trị C-word đạt cực tiểu là - 32767 PT : IW,QW,VW,MW,SMW,T,C,
Constand,LW,SW,AIW,*AC,*VD,
*LD,AC
Interger
Cxxx : hằng số WordCU,R :đầu vào cho
phép đếm
Bool
Khai báo bộ đếm lùi theo sườn lên của tín hiệu đầu vào CD Khi có sườn lên của tín hiệu đầu vào LD thì giá trị đặt trước PV được tải vào thanh ghi tức thời C-word, khi có sườn lên của tín hiệu vào CD thì giá trị trong C-word giảm đi 1 đơn vị đến khi C-word = 0 thì C-bit được sét lên 1 Nếu C-word ≠ 0 thì C-bit = 0
PT : IW,QW,VW,MW,SMW,T,C,Constand,LW,SW,AIW,*AC,*VD,
*LD,AC
Interger
Ví dụ về cách tạo bộ đếm lên/xuống:
Trang 28Giản đồ thời gian
5 Tập lệnh toán học:
Tập lệnh toán học của S7-200 được chia làm hai nhóm chính gồm các lệnh toán học làm việc với
số nguyên và các lệnh làm việc với số thực