1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng môn học siemens PLC s7 – 300

135 557 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Giảng Môn Học Siemens PLC S7 – 300
Trường học Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông - Đại Học Thái Nguyên
Chuyên ngành Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Bài giảng
Thành phố Thái Nguyên
Định dạng
Số trang 135
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lệnh thực hiện phép tính ^ với giá trịCú pháp: AN Toánn hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C Nếu FC=0, lệnh sẽ gán giá trị logic nghịch đảo của toán hạng vào

Trang 1

BÀI GIẢNG MÔN HỌC SIEMENS PLC S7 – 300Chương mở đầu: Giới thiệu dòng sản phẩm Siemens

Chương 1: Nhập môn PLC S7 – 300

Chương 2: Cấu trúc PLC S7 – 300

Chương 3: Hướng dẫn sử dụng phần mềm lập trình PLC S7-300

Chương 4: Ngôn ngữ lập trình STL

Chương 5: Kỹ thuật lập trình

Chương 6: Bài tập thực hành

Trang 2

CHƯƠNG MỞ ĐẦU: GIỚI THIỆU DÒNG SẢN PHẨM

SIEMENS

• PLC S7 – 200: loại cực nhỏ, thích hợp cho những ứng dụng riêng lẽ, với số lượng I/O vừa phải

• PLC S7 – 300: loại trung bình, thích hợp cho những

ứng dụng vừa phải

• PLC S7 – 400: tiêu chuẩn ở mức cao đáp ứng được các bài toán điều khiển ở mức cao nhất

Trang 3

CHƯƠNG 1:

2.1 Đại số Boolean

2.2 Biểu diễn số nguyên dương

2.3 Biểu diễn số nguyên có dấu

Trang 4

- Ngược lại, nếu giá trị của biến này phụ thuộc vào giátrị của biến kia thì gọi là biến phụ thuộc

- Hàm hai trị là mô hình toán học mô tả sự phụ thuộc của một biến Boole vào các biến Boole khác

Trang 5

x và y là hai biến Boole độc lập nhau

Đèn z là biến Boole phụ thuộc vào hai biến công tắc

Trang 6

2.1.2 Các phép toán trên hàm hai trị

01

10

yx

a Phép Not (y = Not(x))

Trang 7

b Phép cộng (z = x + y)

11

1

10

1

11

0

00

0

ZY

X

Trang 8

c Phép giao (z = x^y)

11

1

00

1

01

0

00

0

ZY

X

Trang 9

2.2 Biểu diễn số nguyên dương

2.2.1 Trong hệ cơ số 10 (hệ thập phân)

Một số nguyên dương un bất kỳ, trong hệ cơ số 10 bao giờ cũng được biểu diễn đầy đủ bằng dãy con

số nguyên từ 0 đến 9

Ví dụ: un = 515 được biểu diễn trong cơ số 10

515 = 5.102 + 1.101 + 5.100

Trang 10

2.2.2 Trong hệ cơ số 2 (hệ nhị phân)

Cách biểu diễn un trong hệ cơ số 10 chưa phù hợp với nguyên tắc mạch điện (hay nguyên tắc hàm 2 trị) Để sửdụng nguyên tắc hàm 2 trị, ta đưa ra khái niệm bit

Ví dụ: un = 205

Được biểu diễn như sau:

11001101

205 = 1.27 + 1.26 + 0.25 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20

Trang 11

2.2.3 Trong hệ cơ số 16 (hệ Hexadecimal)

Cũng giống như hệ cơ số 10, một số nguyên dương bất

kỳ cũng có thể biểu diễn trong hệ cơ số 16 như sau:

Ví dụ: 7723 trong hệ cơ số 10 được biểu diễn thành

1E2B trong hệ cơ số 16

1E2B = 1.163 + 14.162 + 2.161 + 11.160

2.2.4 Mã BCD trong số nguyên dương

Số 259 trong hệ thập phân được biểu diễn dưới dạng mã BCD như sau:

0010 0101 1001

Trang 12

2.3 Biểu diễn số nguyên có dấu

Số nguyên có dấu uk được biểu diễn theo quy tắc bù loại

2 gồm các bước sau:

-Biểu diễn |uk| trong hệ cơ số 2 thành dãy các bit xk

-Đảo giá trị từng bit xk, thành

-Cộng thêm 1

Ví dụ: biểu diễn uk=-15 trong hệ có số 2 với độ dài 8

bit? Lần lượt thực hiện theo 3 bước trên

Trang 13

CHƯƠNG 2: CẤU TRÚC PLC S7 – 300

2.1 Định nghĩa2.2 Các tín hiệu kết nối với PLC2.3 Các module của PLC S7-3002.4 Kiểu dữ liệu và phân chia bộ nhớ2.5 Cấu trúc bộ nhớ của CPU

2.6 Vòng quét chương trình2.7 Cấu trúc chương trình2.8 Các khối OB đặc biệt

Trang 14

toán đó bằng mạch số.

Ưu điểm: + Nhỏ gọn

+ Dễ thay đổi thuật toán + Dễ trao đổi thông tin với môi trường xung quanh (với PLC khác hoặc với máy tính)

Trang 15

*> Các bộ phận chính của PLC:

- Bộ vi xử lí trung tâm (CPU)

- Hệ điều hành

- Bộ nhớ chương trình

- Các cổng vào ra,…

Trang 16

2.2 Các tín hiệu kết nối với PLC

+ Tín hiệu số: Là các tín hiệu thuộc dạng hàm Boolean, dạng tín hiệu chỉ có 2 trị 0 hoặc 1

Đối với PLC Siemens:

- Mức 0: tương ứng với 0V hoặc hở mạch

Trang 17

2.3 Các module của PLC S7 - 300

2.3.1 Module CPU

Modul CPU là loại Module chứa vi xử lí, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm, cổng truyền thơng vàcổng vào ra số

Các cổng vào ra số trên CPU được gọi là cổng vào ra Onboard

Trong họ PLC S7 – 300 cĩ nhiều loại CPU khác nhau: CPU312, CPU314, CPU315,…

Trang 19

2.3.2 Các module mở rộng:

Được chia thành 5 loại chính sau:

- Nguồn nuôi (PS: Power Supply): cung cấp nguồn cho CPU

và các module khác.

- SM (Signal Module): Module tín hiệu vào ra, bao gồm:

+ DI: Digital Input

+ DO: Digital Output

+ DI/DO: Digital In/Output

+ AI: Analog Input

+ AO: Analog Output

+ AI/AO: Analog In/Output

- IM (Interface Module): Module ghép nối

- FM (Function Module): Module điều khiển riêng: điều

khiển Servo,…

- CP (Communication Module): Module truyền thông

Trang 22

2.4 Kiểu dữ liệu và phân chia bộ nhớ

 Kiểu BOOL: dung lượng một bit, có giá trị 0 hoặc 1

 Kiểu BYTE: gồm 8 bits, được dùng để biểu diễn số

nguyên dương trong khoảng từ 0 đến 255

 Kiểu WORD: gồm 2 bytes, biểu diễn một số nguyên

Trang 23

2.4 Kiểu dữ liệu và phân chia bộ nhớ (tt)

 Kiểuu S5T (hay S5TIME): khoảng thời gian, được tínhtheo giờ/phút/giây/mili giây

 Kiểuu TOD: biểu diễn giá trị thời gian tính theo

Trang 24

2.5 Cấu trúc bộ nhớ của CPU

+ FB (Function block): miền chứa chương trình con, được tổ chức thành hhàm, có khả năng trao đổi dữ liệuvới bất cứ một khối chương trình nào khác

Trang 25

 Vùng chứa tham số của hệ điều hành và chương

Trang 26

 Vùng chứa các khối dữ liệu:

Được chia thành 2 loại

+ DB (Data block): Miền chứa các dữ liệu được tổ chứcthành khối Kính thước và số lượng khối do người sử

dụng quy định, phù hhợp với từng bài toán điều khiển

+ L (Local data block): Miền dữ liệu địa phương, đượccác khối chương trình OB, FC, FB tổ chức, sử dụụng cho

các biến nháp tức thời và trao đổi dữ liệu của biếnn hình

thức với những khối chương trình đã gọi nó Nội dung của một số dữ liệu trong miền nhớ này sẽ bị xóa khi kếtthúc chương trình tương ứng trong OB, FC, FB

Trang 27

2.6

 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à vòng quét (scan) Mỗi vòng quétđược bắt đầu bằng giai đoạn chuyển dữ liệu từ các cổngvào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thựchiện chương trình

 Trong từng vòng quét, chương trình được thực hiện từlệnh đầu tiên đến lệnh kết thúc của khối OB1

 Sau giaigiai đoạn thực hiện chương trình là giai đoạn

chuyển các nội dung của bộ đệm ảo Q tới các cổng ra

số

 Vòng quét được kết thúc bằng giaigiai đoạn truyền thôngnội bộ và kiểm lỗi

 Thời gian cần thiết đđể PLC thực hiện được một vòng

quét gọi là thời gian vòng quét (Scan time)

Trang 28

2.7 Cấu trúc chương trình

Có 2 dạng cấu trúc chương trình sau:

 Lập trình tuyến tính: Toàn bộ chương trình điều khiểnnằm trong một khối trong bộ nhớ Loại hình cấu trúc

tuyến tính này phù hhợp với nhũng bài toán tự động nhỏ, không phức tạp Khối được chọn phải là khối OB1, làkhối mà PLC luôn quét và thực hiện các lệnh trong nóthường xuyên, từ lệnh đầu tiên đến lệnh cuối cùng và

quay lại lệnh đầu tiên

 Lập trình có cấu trúc: Chương trình được chia thành

những phần nhỏ với từng nhiệm vụ riêng và các phần

này nằm trong những khối chương trình khác nhau

Loại hình cấu trúc này phù hợp với những bài toán điềukhiển nhiều nhiệm vụ và phức tạp

Trang 29

2.7 Cấu trúc chương trình (tt)

PLC S7 – 300 có 4 loại khối cơ bản sau:

- Loại khối OB (Organization block): khối tổ chức và quản lý chương trình điều khiển Có các loại khối OB có chức năng khác nhau như: OB1, OB35, OB40,…

- Loại khối FC (Program block): khối chương trình với những chức năng riêng giống như một chương trình con hoặc một hàm Một chương trình ứng dụng có thể có nhiều khối FC.

- Loại khối FB (Function block): là loại khối FC đặc biệt có khả năng trao đổi một lượng dữ liệu lớn với các khối

chương trình khác nhau.

- Loại khối DB (Data block): khối chứa các dữ liệu cần thiết

để thực hiện chương trình Các tham số của khối do người dùng tự đặt

Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối S7 – 300 cho phép gọi chương trình con lồng nhau

Trang 30

2.8 Những khối OB đặc biệt

Các khối OB nàyy chỉ thực hiện khi xuất hiện tínhiệu báo ngắt tương ứng

 OB10 (Time of Day Interrupt): Chương trình trong

khối OB10 sẽ được thực hiện khi giá trị của đồng hồ

thời gian thực nằm trong một khoảng thời gian đã đượcquy định Việc quy định khoảng thời gian hay số lần gọiOB10 được thực hiện nhờ chương trình hệ thống SFC28

 OB20 (Time Delay Interrupt): Chương trình trong

khối OB20 sẽ được thực hiện sau một khoảng thời giantrễ đặt trước kể từ khi gọi chương trình hệ thống SFC32

Trang 31

 OB40 (Hardware Interrupt): Chương trình trong OB40

sẽ được thực hiện khi xuất hiện một tín hiệu báo ngắt từngoại vi đưa vào module CPU thông qua các cổng vào

ra số onboard đặc biệt hoặc thông qua các module SM,

CP, FM

 OB80 (Cycle Time Fault): Được thực hiện khi thời gianvòng quét (scan time) vượt quá khoảng thời gian cực

đại đã quy định hoặc khi có một tín hiệu ngắt gọi một

khối OB nào đó mà khối OB này chưa kết thúc ở lần gọitrước Mặc định, scan time cực đại là 150ms

 OB81 (Power Supply Fault): Module CPU sẽ gọi

chương trình trong khối OB81 khi phát hiện thấy có lỗi

về ngunguồn nuôi.

Trang 32

 OB82 (Diagnostic Interrupt): Được gọi khi CPU pháthiện có sự cố từ các module vào ra mở rộng Các

module mở rộng này phải là những module có khả năng

tự kiểm tra mình

 OB85 (Not Load Fault): Được gọi khi phát hiện thấy

chương trình ứng dụng có sử dụng chế độ ngắt nhưngchương trình xử lý tín hiệu ngắt lại không có trong khối

OB tương ứng

 OB87 (Communication Fault): Được gọi khi CPU pháthiện thấy lỗi trong truyền thông, ví dụ như không có tínhiệu trả lời từ đối tác

Trang 33

 OB100 (Start Up Information): Được thực hiện một lầnkhi CPU chuyển trạng thái từ STOP sang RUN.

 OB121 (Synchronous): Được thực hiện khi CPU pháthiện thấy lỗi trong chương trình như đổi sai kiểu dữ liệuhoặc lỗi truy nhập khối DB, FC, FB không có trong bộnhớ của CPU

 OB122 (Synchronous error): Được thực hiện khi CPU phát hiện thấy lỗi truy nhập module trong chương trìn,

ví dụ chương trình có lệnh truy nhập module vàoo ra mở

rộng nhưng lại khôngkhông tìm thấy module này.

Trang 34

CHƯƠNG 3: HƯỚNG DẪN SỬ DỤNG

3.1 Cài đặt Step7 V5.43.2 Khái niệm về một Project3.3 Các bước soạn thảo một Project3.4 Làm việc với PLC S7-300

Trang 35

3.1 Cài đặt Step7 V5.4: Làm việc trên máy

3.2 Khái niệm về một project

 Các logic block chứa chương trình ứng dụng

 Cấu hình ghép nối và truyền thông giữa các trạm PLC

 Các màn hình giao diện phục vụ việc giám sát toàn bộmạng hoặc giám sát từng trạm PLC của mạng

Trang 36

3.3 Các bước soạn thảo một project

- Mở cửa sổ Step7 V5.4

- Khai báo cấu hình phần cứng cho trạm PLC

- Mặc định có sẵn khối OB1, nếu muốn sử dụng thêm khối nào thì tiếp tục khai báo khối đó

- Đặt tên các đầu vào ra, các bit tương ứng (nếu cần) trong “library”

- Viết chương trình trong khối OB1 bằng cách vào S7 program -> OB1

Trang 37

3.4 Làm việc với PLC S7 – 300

- Quy định địa chỉ MPI cho module CPU

- Ghi chương trình lên module CPU

- Giám sát việc thực hiện chương trình

- Giám sát module CPU

- Quan sát nội dung ô nhớ

Các thao tác trên được hướng dẫn và thao tác trực tiếp trên máy tính

Trang 38

CHƯƠNG 4: NGÔN NGỮ LẬP TRÌNH STL 4.1 Thanh ghi trạng thái (Status word)

Thanh ghi gồm 16 bits, chỉ sử dụng 9 bits với cấu trúc

Trang 39

4.1 Thanh ghi trạng thái (tt)

- OR: Ghi lại giá trị của phép tính logic ^ cuối cùng

được thực hiện để phụ giúp cho việc thực hiện phép tínhⅴsau đó

- OS (Stored overflow bit): Ghi lại giá trị Bit bị tràn ra ngoài mảng ô nhớ

- OV(Overflow Bit): Bit báo cáo kết quả phép tính bị tràn ra ngoài mảng ô nhớ

- CC0 và CC1 (Condition code): Hai bit báo trạng thái của kết quả phép tính với số nguyên, số thực phép

dịch chuyển hoặc phép tính logic trong ACCU

Trang 40

+ Khi thực hiện lệnh toán học như cộng trừ nhân chia với số nguyên hoặc số thực:

+ Khi thực hiện lệnh dịch chuyển:

+ Khi thực hiện lệnh logic trong ACCU

Trang 41

4.1 Thanh ghi trạng thái (tt)

- BR (Binary result bit): Bit trạng thái cho phép liên kết hai loại ngôn ngữ lập trình STL và LAD

Chẳng hạn cho phép người sử dụng có thể viết một khối chương trình FB hoặc FC trên ngôn ngữ STL nhưng gọi và sử dụng chúng trong một chương trình khác viết trên LAD

Để tạo ra được mối liên kết đó, ta cần phải kết thúc chương trình trong FB, FC bằng lệnh ghi:

+ BR = 1 nếu chương trình chạy không có lỗi + BR = 0 nếu chương trình chạy có lỗi

Trang 42

4.2 Nhóm lệnh logic tiếp điểm

4.2.1

4.2.1 Lệnh gán:

Cú pháp: = <toán hạng>

Toán hạng là địa chỉ bit I, Q, L, M, D

Lệnh ggán giá trị logic cả RLO tới ô nhớ có địa chỉđược chỉ thị trong toán hạng

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 43

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 44

4.2.3 Lệnh thực hiện phép tính ^ với giá trị

Cú pháp: AN <toán hạng>

Toánn hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q,

M, L, D, T, C

Nếu FC=0, lệnh sẽ gán giá trị logic nghịch đảo của

toán hạng vào RLO Ngược lại, sẽ thực hiện phép

tính ^ giữa RLO với giá trị nghịch đảo của toán hạng

và ghi kết quả vào RLO

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 45

4.2.4 Lệnh thực hiện phép tính hợp:

Cú pháp: O < toán hạng >

Toán hạng làdữ liệu kiểu Bool hoặc địa chỉ bit

I,Q,M,L,D,T,C

Nếu FC=0 lệnh sẽ gán giá trị logic của toán hạng vào RLO Ngược lại sẽ thực hiện phép tính hợp giữa RLO với giá trị nghịch đảo của toán hạng và ghi lại kết quảvào RLO

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 46

4.2.5 Lệnh thực hiện phép tính hợp với giá trị nghịch đảo

Cú pháp: ON < toán hạng >

Toán hạng làdữ liệu kiểu Bool hoặc địa chỉ bit

I,Q,M,L,D,T,C

Nếu FC=0 lệnh sẽ gán giá trị logic nghịch đảo của

toán hạng vào RLO Ngược lại sẽ thực hiện phép tính hợp giữa RLO với giá trị nghịch đảo của toán hạng vàghi lại kết quả vào RLO

Lệnh tác động vao thanh ghi trạng thái như sau:

Trang 47

4.2.6 Lệnh thực hiện phép tính giao với giá trị một biểu thức

Cú pháp: A (

Lệnh không có toán hạng

Nếu FC=0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO Ngược lại sẽ thực hiện

phép tính giao giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nó ghi lại kết quả vào RLO

Lệnh sẽ tác động vào thanh ghi trạng thái như sau:

Trang 48

4.2.7 Lệnh thực hiện phép tính hợp với giá trị một biểu thức

Cú pháp: O (

Lệnh không có toán hạng

Nếu FC=0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO Ngược lại sẽ thực hiện

phép tính hợp giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nó ghi lại kết quả vào RLO

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 49

4.2.8 Lệnh thực hiện phép tính giao với giá trị nghịch đảo của một biểu thức

Cú pháp: AN (

Lệnh không có toán hạng

Nếu FC=0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO Ngược lại sẽ thực hiện

phép tính giao giữa RLO với giá trị nghịch đảo logic của biểu thức trong dấu ngoặc sau đó ghi lại kết quả

vào RLO

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 50

4.2.9 Lệnh thực hiện phép tính hợp với giá trị nghịch đảo một biểu thức

Cú pháp: ON (

Lệnh không có toán hạng

Nếu FC=0 lệnh sẽ gán giá trị logic nghịch đảo của

biểu thức trong dấu ngoặc sau nó vào RLO Ngược lại sẽ thực hiện phép tính hợp giữa RLO với giá trị nghịch đảo logic nghịch đảo của biểu thức trong dấu ngoặc

sau đó ghi lại kết quả vào RLO

Lệnh tác động vào thanh ghi trạng thái như sau:

Trang 51

4.2.10 Lệnh thực hiện phép exclusive or

Cú pháp: x < toán hạng >

Toán hạng làdữ liệu kiểu Bool hoặc địa chỉ bit

I,Q,M,L,D,T,C

Nếu FC=0 lệnh sẽ gán giá trị logic của toán hạng vào RLO Ngược lại sẽ kiểm tra xem nội dung của RLO vàgiá trị logic của toán hạng có khác nhau không Trong trường hợp khác nhau thì ghí vào RLO, ngược lại thìghi 0 Nói cách khác, lệnh sẽ đảo nội dung của RLO nếu toán hạng có giá trị là1

Trang 52

Nếu FC=0 lệnh sẽ gán giá trị logic nghịch đảo của

toán hạng vào RLO Ngược lại sẽ kiểm tra xem nội

dung của RLO và giá trị logic của toán hạng có khác nhau không Trong trường hợp khác nhau thì ghi 1 vào RLO, ngược lại thì ghi 0 Nói cách khác, lệnh sẽ đảo nội dung của RLO nếu toán hạng có giá trị là 0

4.2.11 Lệnh thực hiện phép exclusive or notCú pháp: XN < toán hạng >

Toán hạng làdữ liệu kiểu Bool hoặc địa chỉ bit

I,Q,M,L,D,T,C

Ngày đăng: 24/05/2014, 20:08

TỪ KHÓA LIÊN QUAN