Tải bản đầy đủ (.docx) (23 trang)

tìm hiểu về PLC s7 300

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (691.94 KB, 23 trang )

MỤC LỤC
LỜI MỞ ĐẦU
Hiện nay đất nước ta đang trong quá trình hội nhập và phát triển về mọi mặt:kinh tế,chính
trị,xã hôi,khoa học kỹ thuật để tiến kịp với sự phát triển của thế giới.Đặc biệt là trong qúa trình công
nghiệp hóa hiện đại hóa đất nước thì tự động hóa đóng một vai trò quan trọng đáp ứng các nhu cầu
đề ra của nền sản xuất công nghiệp hiện đại:tốc độ sản xuất,chất lượng,giá thành,khấu hao máy
móc.Với sự phát triển như ngày nay các ngành công nghiệp ngày càng ứng dụng mạnh mẽ các thành
tựu của khoa học kỹ thuật đặc biệt là TỰ ĐỘNG HÓA.
Trong những năm gần đây PLC ngày càng được sử dung rộng rãi và được coi như một giải
pháp điều khiển lí tưởng cho việc tự động hóa trong công nghiệp. Nhận thức được tầm quan trọng
đó và được sự giúp đỡ nhiều của thầy cô, chúng em tìm hiểu về PLC S7-300 để nâng cao hiểu biết
về hệ thống tự động hóa.
Bản đồ án của chúng em được trình bày theo bố cục:
Chương 1: Giới thiệu PLC S7-300
Chương 2: Tổ chức bộ nhớ CPU
Chương 3:Vòng quét chương trình PLC
Chương 4: Cấu trúc chương trình
Chương 5:Ngôn ngữ lập trình
Quá trình thực hiện đồ án chúng em đã được sự hướng dẫn tận tình của thầy giáo……Tuy
vậy, trong quá trình tìm kiếm và tổng hợp chúng em còn nhiều hạn chế và thiếu xót, chúng em mong
có được những ý kiến góp ý và giúp đỡ của thầy cô để bản đồ án được hoàn thiện hơn. Chúng em
xin chân thành cảm ơn!
Nhóm sinh viên thực hiện
Hoàng Quang Cường
Phạm Văn Cường
CHƯƠNG 1: GIỚI THIỆU PLC S7-300
1.1Tổng quan về PLC S7-300
1. Lịch sử phát triển PLC
Bộ điều khiển lập trình PLC (Programmable Logic Controller) được sáng tạo ra từ ý tưởng
ban đầu của một nhóm kỹ sư thuộc hãng General Motors vào năm 1968 nhằm thay thế những mạch
điều khiển bằng Rơle và thiết bị điều khiển rời rạc cồng kềnh.


Đến giữa thập niên 70, công nghệ PLC nổi bật nhất là điều khiển tuần tự theo chu kỳ và theo
bít trên nền tảng của CPU. Thiết bị AMD 2901 và AMD 2903 trở nên ngày càng phổ biến. Lúc này
phần cứng cũng phát triển: bộ nhớ lớn hơn, số lượng ngõ vào/ra nhiều hơn, nhiều loại module
chuyên dụng hơn. Vào năm 1976, PLC có khả năng điều khiển các ngõ vào/ra ở xa bằng kỹ thuật
truyền thông, khoảng 200 mét.
Đến thập niên 80, bằng sự nỗ lực chuẩn hoá hệ giao tiếp với giao diện tự động hoá, hãng
General Motors cho ra đời loại PLC có kích thước giảm, có thể lập trình bằng biểu tượng trên máy
tính cá nhân thay vì thiết bị lập trình đầu cuối chuyên dụng hay lập trình bằng tay.
Đến thập niên 90, những giao diện phần mềm mới có cấu trúc lệnh giảm và cấu trúc của
những giao diện được cung cấp từ thập niên 80 đã được đổi mới.
Cho đến nay những loại PLC có thể lập trình bằng ngôn ngữ cấu trúc lệnh (STL), sơ đồ hình
thang (LAD), sơ đồ khối (FBD).
Hiện nay có rất nhiều hãng sản xuất PLC như: Siemens, Allen-Bradley, General Motors,
Omron, Mitsubishi, Festo, LG, GE Fanuc, Modicon…
PLC của Siemens gồm có các họ: Simatic S5, Simatic S7, Simatic S500/505. Mỗi họ PLC có nhiều
phiên bản khác nhau, chẳng hạn như: Simatic S7 có S7-200, S7-300, S7-400… Trong đó mỗi loại
S7 có nhiều loại CPU khác nhau như S7-300 có CPU 312, CPU 314, CPU 316, CPU 315-2DP, CPU
614…
2. Vai trò của PLC
Trong hệ thống điều khiển tự động hoá PLC được xem như một trái tim, với chương trình
ứng dụng được lưu trong bộ nhớ của PLC. Nó điều khiển trạng thái của hệ thống thông qua tín hiệu
phản hồi ở đầu vào, dựa trên nền tảng của chương trình logic để quyết định quá trình hoạt động và
xuất tín hiệu đến các thiết bị đầu ra.
PLC có thể hoạt động độc lập hoặc có thể kết nối với nhau và với máy tính chủ thông qua mạng
truyền thông để điều khiển một quá trình phức tạp.
3. Ưu thế của việc dùng PLC trong tự động hoá
 Thời gian lắp đặt ngắn.
 Dễ dàng thay đổi chương trình điều khiển mà không gây tổn thất.
 Thời gian huấn luyện sử dụng ngắn, bảo trì dễ dàng.
 Độ tin cậy cao, chuẩn hoá được phần cứng điều khiển.Thích ứng trong các môi trường

khắc nghiệt như: nhiệt độ, áp suất, độ ẩm, điện áp thay đổi,…
Rõ ràng so với hệ thống điều khiển dùng Rơle thì hệ thống điều khiển dùng PLC có ưu thế
tuyệt đối về khả năng linh động, mềm dẻo, và hiệu quả giải quyết bài toán cao.
1.2.Thiết bị điều khiển logic khả trình
Thiết bị điều khiển logic khả trình (Programmable Logic Controller) là loại thiết bị thực hiện
linh hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình, thay vì phải thực hiện thuật
toán đó bằng mạch số.Như vậy, PLC là một bộ điều khiển gọn, nhẹ và dễ trao đổi thông tin với môi
trường bên ngoài (với các PLC khác hoặc máy tính). Toàn bộ chương trình điều khiển được lưu trữ
trong bộ nhớ của PLC dưới dạng các khối chương trình và được thực hiện theo chu kỳ của vòng
quét (scan).

M
COIL
VALE
PS CPU
SM:
DI
SM:
DO
FM
SM:
AI
SM:
AO
IM CP
Hình 1.1: Cấu trúc của PLC S7-300

Hình 1.2. Cấu trúc bên trong của PLC
Để thực hiện một chương trình điều khiển, tất nhiên PLC phải có tính năng như một máy
tính, nghĩa là phải có một bộ vi xử lí (CPU), một hệ điều hành, bộ nhớ để lưu chương trình điều

khiển, dữ liệu và tất nhiên phải có các cổng vào/ra để giao tiếp được với đối tượng điều khiển và để
trao đổi thong tin với môi trường xung quanh. Bên cạnh đó phục vụ bài toán điều khiển số, PLC còn
phải có thêm một số khối chức năng đặc biệt khác như bộ đếm (Counter), bộ định thời (Timer) … và
những khối hàm chuyên dung.
Ưu điểm của bộ điều khiển lập trình được so với điều khiển nối dây:
Tính năng mở rộng: khả năng mở rộng xử lí bằng cách thay đổi chương trình lập trình một cách dễ
dàng.
Độ tin cậy cao.
Cách kết nối các thiết bị điều khiển đơn giản.
Hình dáng PLC gọn nhẹ.
Giá thành và chi phí lắp đặt thấp.
Phù hợp với môi trường công nghiệp.
Các ứng dụng của PLC trong sản xuất và trong dân dụng:
Điều khiển các Robot trong công nghiệp.
Hệ thống xử lí nước sạch.
Công nghệ thực phẩm.
Công nghệ chế biến dầu mỏ.
Công nghệ sản xuất vi mạch.
Điều khiển các máy công cụ.
Điều khiển và giám sát dây chuyền sản xuất.
Điều khiển thệ thống đèn giao thông.

1.3.Các module của PLC S7-300
Để tăng tính mềm dẻo trong các ứng dụng thực tế mà ở đó phần lớn các đối tượng điều khiển
có số tín hiệu đầu vào, đầu ra cũng như chủng loại tín hiệu vào/ra khác nhau mà cac bộ phận PLC
được thiết kế không bị cứng hóa về cấu hình. Chúng được chia nhỏ thành các module. Số các
module được sử dụng nhiều hay ít phụ thuộc vào từng bài toán, song tối thiểu bao giờ cũng có
module chính (module CPU, module nguồn). Các module còn lại là những module truyền nhận tín
hiệu với các đối tượng điều khiển, chúng được gọi là các module mở rộng.Tất cả các module đều
được gá trên một thanh Rack.

Module nguồn PS307 của S7-300
Module PS307 có nhiệm vụ chuyển đổi nguồn xoay chiều 120/230V thành nguồn một chiều
24V để cung cấp cho các module khác của PLC. Ngoài ra còn có nhiệm vụ cung cấp nguồn cho các
cảm biến và các cơ cấu tác động có công suất nhỏ.
Module nguồn thường được lắp đặt bên trái hoặc phía dưới của CPU tuỳ theo cách lắp đặt
theo bề ngang hoặc theo chiều dọc.
Module nguồn PS307 có 3 loại: 2 A, 5A và 10 A.
Mặt trước của module nguồn gồm có:
 Một đèn Led báo hiệu trạng thái điện áp ra 24 V.
 Một công tắc dùng để bật / tắt điện áp ra.
 Một nút dùng để chọn điện áp đầu vào là 120 VAC hoặc
230VAC.
 -Mặt sau của module gồm có các lỗ dùng để nhận điện áp
vào và ra.
Khối xử lý trung tâm (CPU)
-Module CPU là loại module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ định
thời, bộ đếm và cổng truyền thông (RS485)… và có thể có một vài cổng vào/ra số. Các cổng vào ra
số này được gọi là cổng vào ra onboard.
-Trong họ PLC S7-300 các module CPU được đặt tên theo bộ vi xử lí có trong nó, như : module
CPU312, module CPU314, module CPU315,…
-Ngoài ra còn có các module được tích hợp sẵn cũng như các khối hàm đặt trong thư viện của hệ
điều hành phục vụ cho việc sử dụng các cổng vào /ra onboard, được phân biệt bằng cụm chữ cái
IFM (Intergrated Function Module). Ví dụ module CPU312 IFM, module CPU314 IFM… Bên cạnh
đó còn có loại CPU với hai cổng truyền thông, trong đó cổng thứ hai có chức năng chính là phục vụ
nối mạng phân tán và kèm theo phần mềm tiện dụng tích hợp sẵn trong hệ điều hành. Các loại
module CPU này được phân biệt bằng cách thêm cụm từ DP (Distributed port) trong tên gọi. Ví dụ:
module CPU315-2DP, module CPU316-2DP.
Module mở rộng cổng tín hiệu:
Digital Input Module: Module mở rộng các cổng vào số, có
nhiệm vụ nhận các tín hiệu số từ các thiết bị ngoại vi vào vùng

đệm để xử lý, gồm có các module sau:
 SM 321 DI16xAC120 V
 SM 321 DI16xDC24 V
 SM 321 DI16x24VDC, interrupt
 SM 321 DI8xAC120/230V
 SM 321 DI32xDC24V,…
Digital Output Module: Module mở rộng các cổng ra số, có nhiệm vụ xuất các tín hiệu từ vùng
đệm xử lý ra thiết bị ngoại vi, một số loại module ra số:
 SM 322 DO16xAC120V/0.5A
 SM 322 DO16xDC24V/0.5A
 SM 322 DO 8xAC120/230V/1A, …
Digital Input/ Output Module: module mở rộng các cổng vào/ra số. Tích hợp nhiệm vụ của hai
loại module trên. Gồm có các loại sau:
 SM 323 DI16/DO16x24V/0.5A
 SM 323 DI8/DO8x24V/0.5A
 SM 323 DI8/DO8xDC24V/0.5A…
Analog Input Module: Module mở rộng các cổng vào tương tự, có nhiệm vụ chuyển các tín hiệu
tương tự từ bên ngoài thành các tín hiệu số để xử lý bên trong S7-300. Gồm các loại module sau:
 SM 331 AI2x12bit
 SM 331 AI8x12bit
 SM 331 AI8x16bit…
Analog Output Module: Module mở rộng các cổng ra tương tự, có
nhiệm vụ chuyển các tín hiệu số bên trong S7-300 thành các tín hiệu
tương tự để phục vụ cho quá trình hoạt động của các thiết bị bên ngoài.
Gồm các loại module sau:
 SM 332 AO2x12bit
 SM 332 AO4x12bit
 SM 332 AO4x16bit…
Analog Input/Output Module: là module tích hợp nhiệm vụ của hai loại trên. Gồm có:
 SM 334 AI4/AO2

 SM 334 AI4/AO2x12bit
 SM 334 AI4/AO4x14/12bit…
4.4. Module ghép nối (Interface module-IM):
Là loại module chuyên dụng có nhiệm vụ ghép nối
từng nhóm module mở rộng lại với nhau thành một khối và được quản lý chung bởi một module
CPU. Một module CPU S7-300 có thể làm việc trực tiếp với nhiều nhất 4 racks và các racks này
phải được nối với nhau bằng module IM. Module IM gồm có các loại:
 IM 360
 IM 361
 IM 365
Các module mở rộng được chia thành 5 loại:
PS (Power Supply): module nguồn là module tạo ra nguồn có điện áp 24Vdc cấp nguồn cho các
module khác. Có 3 loại: 2A, 5A và 10A.
Hình 1.2. Sơ đồ khối và sơ đồ đấu dây của module nguồn PS307;2A
(6ES7307-1BA00-0AB)
Đèn chỉ thị nguồn 24Vdc
Đômino nối dây ngõ ra điện áp 24Vdc
Cầu chì bảo vệ quá dòng
Đôminô nói dây với điện áp 220Vac
ON/OFF Switch 24 Vdc
SM (Signal Module): Module mở rộng vào/ra, bao gồm:
DI (Digital Input): module mở rộng cổng vào số. Số các cổng vào số mở rộng có thể là 8, 16 hoặc
32 tùy thuộc vào từng loại module.
Hình 1.3.Sơ đồ đấu dây của Module Hình 1.4.Sơ đồ đấu day của module
SM221; DI32 x DC 24V SM221; DI 32 x AC 120V
(6ES7321-1BL00-0AA0) (6ES7321-1EL00-0AA0)
Số thứ tự các ngõ vào số trong module
Đèn chỉ thị mức logic
Bus bên trong của module
DO (Digital Output): module mở rộng cổng ra số. Số các cổng vào số mở rộng có thể là 8, 16 hoặc

32 tùy thuộc vào từng loại module.
Hình 1.5.Sơ đồ đấu dây của module Hình 1.6.Sơ đồ đấu dây của module
SM322; DO 32 x 24 VDC/0.5A; SM322; DO 16 x AC 120/230 V/1 A;
(6ES7322-1BL00-0AA0) (6ES7322-1EL00-0AA0)
Hình 1.7.Sơ đồ đấu dây của module Hình 1.8.Sơ đồ đấu dây của module
SM 332; DO 16 x Rel. AC 120/230V; SM 332; DO 8 x Rel. AC 230V/5A;
(6ES7322-1HH01-0A00) (6ES7322-5HF00-0AB0)
Số thứ tự các ngõ vào số trong module
Đèn chỉ thị mức logic
Bus bên trong của Module
DI/DO (Digital Input/Digital Output): module mở rộng cổng vào/ra số. Số các cổng vào/ra số mở
rộng có thể là 8 vào/8 ra hoặc 16 vào/16 ra tùy thuộc vào từng loại module.

Hình 1.9.Sơ đồ đấu dây của module SM 323; DI 16/DO 16 x DC 24V/0.5A;
(6ES7323-1BL00-0AA0)
Số thứ tự các ngõ vào số trong module
Đèn chỉ thị mức logic
Bus bên trong của Module
AI (Analog Input): module mở rộng cổng vào tương tự. Bản chất chúng là những bộ chuyển tương
tự sang số (ADC). Số các cổng vào tương tự có thể là 2, 4 hoặc 8 tùy từng loại module, số bit có thể
là 8, 10, 12, 14, 16 tùy theo từng loại module.
Ví dụ: Module SM 331; AI 2 x 12 bit; (6ES7331-7KB02-0AB0)
Các dạng tín hiệu đọc được:
Điện áp
Dòng điện
Điện trở
Nhiệt độ
Độ phân giải 12 bit:
Hình 1.10.Sơ đồ đấu dây của module Hình 1.11.Sơ đồ đấu dây của module
khi tín hiệu vào là điện áp khi tín hiệu là dòng điện

Hình 1.12.Sơ đồ đấu dây của module Hình 1.13.Sơ đồ đấu dây của module
khi tín hiệu vào là điện trở khi tín hiệu vào là Thermocouple
AO (Analog Output): module mở rộng cổng ra tương tự. Chúng là những bộ chuyển đổi từ số sang
tương tự (ADC). Số cổng ra tương tự có thể là 2 hoặc 4 tùy thuộc từng loại module.

Hình 1.14.Sơ đồ đấu dây của module SM 332; AO 4 x 12 bit;
(6ES7332-5HD01-0AB0)
AI/AO (Analog Input/Analog Output): module mở rộng vào/ra tương tự. Số các cổng vào ra tương
tự có thể là 4 vào/2 ra hoặc 4 vào/4 ra tùy thuộc loại module.
IM (Interface Module): Module kết nối.

Hình 1.15.Sơ đồ đấu dây của Module IM 365; (6ES7365-0BA01-0AA0)
Đây là loại module dung để kết nối từng nhóm các module mở rộng thành một khối và được quản lí
bằng một module CPU.Thông thường các mở rộng được gá liền nhau trên một thanh Rack.Mỗi
thanh Rack chỉ có thể gá được nhiều nhất 8 module mở rông (không kể module CPU và module
nguồn).Một module CPU có thể làm việc nhiều nhất với 4 thanh Rack và các Rack này phải được
nối với nhau bằng module IM.
FM (Function Module): Module có chức năng điều khiển như : module điều khiển động cơ bước,
module điều khiển động cơ servo, module PID…
CP (Communication Processor): Module truyền thông giữa PLC với PLC hay giữa PLC với PC.
1.4.Trao i d liu gia CPU v cỏc module m rng
Trong trm PLC luụn cú s trao i d liu gia CPU vi cỏc module m rng thụng qua
bus ni b. Ngay ti u vũng quột, cỏc d liu ti cng vo ca cỏc module s (DI) s c CPU
chuyn ti b m vo s (process image input table-I). Cui mi vũng quột, ni dung ca b m
ra (process image output table-Q) li c CPU chuyn ti cng ra ca cỏc module ra s (DO). Vic
thay i ni dung hai b m ny c thc hin bi chng trỡnh ng dng. Nu trong chng
trỡnh ng dng cú nhiu lnh c cng vo s thỡ cho dự giỏ tr logic thc cú ca cỏc cng vo ny
cú th b thay i trong quỏ trỡnh thc hin vũng quột, chng trỡnh s vn luụn c c cựng mt
giỏ tr t I v giỏ tr ú chớnh l giỏ tr ca cng vo cú ti thi im u vũng quột. Cng nh vy,
nu chng trỡnh ng dng nhiu ln thay i giỏ tr cho mt cng ra s thỡ do nú ch thay i ni

dung bớt nh tng ng trong Q nờn ch cú giỏ tr thay i cui cựng mi thc s a ti cng ra vt
lý ca module DO.
Khỏc hn vi vic c/ghi cng s, vic truy nhp cng vo/ra tng t li c CPU thc
hin trc tip vi module m rng (AI/AO). Nh vy mi lnh c giỏ tr t a ch thuc vựng PI
(peripheral input) s thu c mt giỏ tr ỳng bng giỏ tr thc cú cng ti thi im thc hin
lnh.
Tng t khi thc hin lnh gi mt giỏ tr (s nguyờn 16 bits ) ti a ch ca vựng PQ
(peripheral output), giỏ tr ú s cỹ gi ngay ti cng ra tng t ca module.
Chổồng trỗnh ổùng duỷng
(user program)
Module AI
Module DI
Process image input table (I)
Module DO
Module AO
Âoüc/ghi giaïn tiãúp
Âoüc træûc tiãúp
0
:
127
256
:
767
Peripheral input
PI (64K)
Peripheral output
PQ (64K)
Process
imag output
table (Q)

:
:
0
:
127
256
:
767
:
:
Ghi træûc tiãúp




Hình 1.16: Ngun lý trao đổi dữ liệu giữa CPU và các module mở rộng
Tuy nhiên miền địa chỉ PI và PQ lại được cung cấp nhiều hơn là số các cổng vào/ra tương tự
có thể có của một trạm. Điều này tạo khả năng kết nối các cổng vào/ra số với những địa chỉ dơi ra
đó trong PI/PQ giúp chương trình ứng dụng có thể truy nhập trực tiếp các module DI/DO mở rộng
để có được giá trị tức thời tại cổng mà khơng cần thơng qua bộ đệm I và Q.
CHƯƠNG 2: TỔ CHỨC BỘ NHỚ CPU
Systerm memory
Bộ đệm ra số Q
Bộ đệm vào số I
Vùng nhớ cờ M
Timer T
Counter C
Work memory
• Logic block
• Data block

• Local block, Stack
Load memory
• User program (EEPROM)
• User program (RAM)
ACCU1
ACCU2
Accumulator
AR1
AR2
Address register
DB (share)
DI (instance)
Data block register
Status
Status word
Hình 2.1: Tổ chức bộ nhớ trong CPU
Vùng nhớ chức các thanh ghi: ACCU1, ACCU2, AR1, AR2…
Load memory: là vùng nhớ chứa lượng chương trình ứng dụng (do người sử dụng viết) bao
gồm tất cả các khối chương trình ứng dụng OB, FB, FC các khối chương trình trong thư viên hệ
thốngđược sử dụng (SFC,SFB) và các khối dự liệu DB. Vùng nhớ này được tạo bởi một phần bộ
nhớ RAM của CPU và EEPROOM (nếu có EEFROOM).Khi thực hiện động tác xóa bộ nhớ
(MRES) toàn bộ các khối chương trình và dữ liệu nằm trong RAM sẽ bị xóa.Cũng như vậy khối
chương trình hay dữ liệu được đổ (hay down load) từ thiết bị lập trình (PG,máy tính) vào module
CPU,chúng sẽ được ghi lên phần RAM của vùng nhớ Load memory.
Work memory: là vùng nhớ chứa các khối DB đang được mở, khối chương trình (OB, FB,
FC, SFC hay SFB) đang được CPU thực hiện và phần bộ nhớ cấp phát cho những tham số hình thức
để các khối chương trình này trao đổi tham trị với hệ điều hành và các khối chương trình khác
(local block). Tại một số thời điểm nhất định vùng work memory chỉ chứa một khối chương trình.
Sau khi khối chương trình đó được thực hiện xong thì hệ điều hành sẽ xóa khỏi work memory và
nạp vào đó khối chương trình kế tiếp đến lượt được thực hiện.

System memory: là vùng nhớ chứa các bộ đệm vào/ra số (Q,I) các biến cờ (M) thanh ghi C-
Word, PV, C-bit của couter.Việc truy nhập, sửa lỗi dữ liệu những ô này được phân chia hoặc bởi hệ
điều hành của CPU hoặc do chương trình ứng dụng .
Có thể thấy rằng trong các vùng nhớ được trình bày ở trên không có vùng nhớ nào được
dùng làm bộ đệm cho các cổng vào/ra tương tự.Nói cách khác các cổng vào/ra tương tự không có bộ
đệm và như vậy mỗi lệnh truy nhập module tương tự (đọc hoặc gửi giá trị) đều có tác dụng trực tiếp
tới các cổng vật lý của module.
Tên gọi Kích thước truy cập
Kích thước tối đa (tùy thuộc
vào CPU)
Processinputimage(I) I 0.0÷127.7
Bộ đệm vào số
IB 0÷127
IW 0÷126
ID 0÷124
Processoutputimage(Q) Q 0.0÷127.7
Bộ đếm ra số
QB 0÷127
QW 0÷126
ID 0÷124
Bitmemory(M) M 0.0÷255.7
Vùng nhớ cờ
MB 0÷255
MW 0÷254
MD 0÷252
Timer(T) T0÷T255
Counter(C) C0÷C255
Datablock(DB) DBX 0.0÷65535.7
Khối dữ liệu share
DBB 0÷65535

DBW 0÷65534
DBD 0÷65532
Datablock(DI) DIX 0.0÷65535.7
Khối dữ liệu instance
DIB 0÷65535
DIW 0÷65534
DID 0÷65532
Local block(L) L 0.0÷65535.7
Miến nhớ địa phương LB 0÷65535
Cho các tham số hình
thức
LWLD
0÷65534
0÷65532
Peripheralinput(PI) PIB 0÷65535
PIW 0÷65534
PID 0÷65532
Peripheraloutput(PQ)
PQB 0÷65535
PQW 0÷65534
PQD 0÷65532
Trừ phần bộ nhớ EEPROOM thuộc vùng load memory và một phần RAM tự nuôi đặc biệt (non
volatine) dùng để lưu giữ tham số cấu hình trạm PLC như địa chỉ trạm (MPI address), tên các
module mở rộng tất cả các phần bộ nhớ còn lại ở chế độ mặc định không có khả năng tự nhớ (non-
retentive). Khi mất nguồn nuôi hoặc khi thực hiện công việc xóa bộ nhớ (MEES), toàn bộ nội dung
của phần bộ nhớ retentive sẽ bị mất.
CHƯƠNG 3: VÒNG QUÉT CHƯƠNG TRÌNH PLC
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ổng vào số tới vùng đệm ảo I, 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 từ lệnh đầu

tiên đến lệnh kết thúc của khối OB1 (Block end). Sau giai đ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 giai đoạn
truyền thông nội bộ và kiểm tra 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).
Thời gian vòng quét không cố định,tức là không phải vòng quét nào cũng thực hiên lâu, có vòng
quét được thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện vào khối dữ liệu
được truyền thông trong vòng quét đó.
Truyền thông và kiểm tra nội bộ
chuyển dữ liệu từ cổng vào tới I
Thực hiện chương trình
Chuyển dữ liệu từ Q tới cổng ra
Vòng quét
Hình 3.1.Vòng quét CPU
Như vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín hiệu điều khiển tới đối
tượng có một thời gian trễ đúng bằng thời gian vòng quét.Nói cách khác thời gian vòng quét quyết
định tính thời gian thực của chương trình điều khiển trong PLC.Thời gian vòng quét càng ngắn, tính
thời gian thực của chương trình càng cao.
Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ như khối OB40, Ob80,…
Chương trình của các khối đó sẽ thực hiện trong vòng quét chứ không bị gò ép là phải ở trong giai
đoạn thực hiện chương trình. Chẳng hạn khi một tín hiệu báo ngắt xuất hiện khi PLC đang ở giai
đoạn truyền thông và kiểm tra nội bộ, PLC sẽ tạm dừng công việc truyền thông, kiển tra, để thực
hiện khối chương trình tương ứng với khối tín hiệu báo ngắt đó. Với hình thức xử lý tín hiệu ngắt
như vậy, thời gian vòng quét sẽ ngày càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện trong vòng
quét. Do đó để nâng cao tính thời gian thực cho chương trình điều khiển tuyệt đối không nên viết
chương trình xử lý ngắt quá dài hoặc lạm dụng việc sử dụng chế độ ngắt trong chương trình điều
khiển.
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 các bộ đệm
ảo với ngoại vi trong các giai đoạn 1 v1f 3 do hệ điều hành quản lý. Ở một số modulu CPU , khi gặp
lệnh vào ra, ngay lập tức, hệ thống sẽ dừng công việc khác , ngay cả chương trình xử lý ngắt để thực

hiện lệnh trực tiếp với cổng vào/ra.
CHƯƠNG 4: CẤU TRÚC CHƯƠNG TRÌNH
Chương trình cho S7-300 được lưu trong bộ nhớ của PLC ở vùng dành riêng cho chương
trình. Ta có thể được lập trình với hai dạng cấu trúc khác nhau
4.1. Lập trình tuyến tính
Toàn bộ chương trình điều khiển nằm trong một khối trong bộ nhớ.Loại lập trình cấu trúc chỉ
thích hợp cho những bài toán tự động nhỏ, không phức tạp.
Khối được chọn là khối OB1 là khối mà PLC luôn 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
4.2. Lập trình 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 biết và các phần này
nằm trong các khối chương trình khác nhau.Loại lập trình có cấu trúc phù hợp với những bài toán
điều khiển nhiều nhiệm vụ và phức tạp. Các khối cơ bản:
Khối OB (Oganization Block): khối tổ chức và quản lí chương trình điều khiển. Có nhiều
loại khối OB với những khả năng khác nhau. Chúng được phân biết với nhau bằng số nguyên theo
nhóm kí tự OB, ví dụ như OB1, OB35, OB80…
Khối FC (Program Block): khối chương trình với nhưng chắc năng riêng biệt giống như một
chương trình con hay một hàm (chương trình con có biến hình thức). Một chương trình ứng dụng có
thể có nhiều khối FC và các khối FC này được phân biệt với nhau bằng số nguyên theo nhóm kí tự
FC như FC1, FC2,…
Khối FB (Funcian Block) là 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. Các dữ liệu này phải được tổ chức thành khối dữ liệu riêng được gọi là
data block.Một chương trình ứng dụng có thể có nhiều khối FB này được phân biệt khác nhau bằng
số nguyên theo nhóm ký tự FB như FB1 FB2.
Khối DB (Data Block): khối 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 sử dụng tự đặt. Một chương trình ứng dụng có thể có nhiều khối DB này được phân
biệt với nhau bằng số nguyên theo nhóm ký tự DB. Chẳng hạn như DB1, DB2,…
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 và chuyển khối.Các
chương trình con được gọi lồng nhau, tức từ một chương trình con này gọi một chương trình con
khác và từ chương trình con được chọn lại chọn chương trình con thứ ba

Số các lệnh gọi lồng nhau nhiều nhất cho phép tuỳ từng loại CPU
FC1
FB2
FC7
FB5
FC3
FB9
Hệ điều hành
OB1
Hình 4.1.Lập trình có cấu trúc
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.
Xem những phần chương trình trong các khối như là những chương trình con thì S7-300 cho phép
gọi chương trình con lồng nhau. Số các lệnh gọi lồng nhau tuỳ thuộc vào từng chủng loại module
CPU.
4.3. Các khối OB đặc biệt
1) OB10 (Time of Day Interupt): chương trình trong khối OB10 sẽ được thực hiện khi giá trị thời
gian của đồng hồ thời gian thực nằm trong một khoảng thời gian đã được qui định. Việc quy định
khoảng thời gian hay số lần OB10 được thực hiện nhờ chương trình hệ thống SFC28 hay trong bảng
tham số của module CPU nhở phần mềm STEP 7.
2) OB20 (Time Relay Interupt): chương trình trong khối OB20 sẽ được thực hiện sau một khoảng
thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống SFC32 để đặt thời gian trễ.
3)OB35 (Cyclic Interupt): Chương trình trong khối OB35 sẽ được thực hiện cách đều nhau một
khoảng thời gian cố định. Mặc định khoảng thời gian này là 100 ms nhưng ta có thể thay đổi nhờ
STEP 7.
4)OB40 (Hardware Interupt) chương trình trong khối OB40 sẽ được thực hiện khi xuất hiện tín
hiệu báo ngắt từ ngoại vi đưa vào CPU thông qua cổng onboard đặc biệt, thông qua các module SM,
CP, FM.
5)OB80 (Cycle Time Fault): Chương trình trong khối OB80 sẽ được thực hiện khi thời gian vòng
quét vượt quá khoabgr thời gian cực đại đã qui định hoặc khi có một tín hiệu ngắt gọi khối Ob nào
đó mà khối OB này chưa kết thúc ở lần trước.Thời gian quét mặc định là 150ms.

6)OB81 (Power Suply Fault): Chương trình trong khối OB81 sẽ được thực hiện khi thấy xuất hiện
lỗi về bộ nguồn nuôi.
7)OB82 (Diagnostic Interupt): Chương trình trong khối OB82 sẽ được thực hiện khi có sự cố từ các
module mở rộng vào/ra. Các module này phải là các module có khả năng tự kiểm tra mình
(diagnostic calabities).
8)OB87 (Communication Falt): Chương trình trong khối OB87 sẽ được thực hiện khi có lỗi truyền
thông.
9)OB100(Start Up Information): Chương trình trong khối OB100 sẽ được thực hiện khi có lỗi truy
nhập module trong chương trình.
CHƯƠNG 5: NGÔN NGỮ LẬP TRÌNH
PLC S7-300 có 3 ngôn ngữ lập trình cơ bản sau:
Ngôn ngữ lập trình liệt kê lệnh STL (Statemen List). Đây là dạng ngôn ngữ lập trình thông thường
của máy tính. Một chương trình được hoàn chỉnh bởi sự ghép nối của nhiều câu lệnh của một thuật
toán nhất định, mỗi lệnh chiếm một hang và có cấu trúc chung “tên lệnh” + “toán hạng”.
Lệnh 2
Lệnh 1
Lệnh cuối cùng
Vòng quét
OB1
Hình 5 :Lập trình tuyến tính
Ngôn ngữ lập trình LAD (Ladder Logic). Đây là dạng ngôn ngữ đồ họa, thích hợp với những người
lập trình quen với việc thiết kế mạch điều khiển logic.
Ngôn ngữ lập trình FBD (Funtion Block Diagram). Đây cũng là dạng ngôn ngữ đồ họa, thích hợp
cho những người quen thiết kế mạch điều khiển số.
Ngôn ngữ lập trình Graph. Đây cũng là dạng ngôn ngữ đồ họa, thích hợp cho những hệ thống tuần
tự.
Ngôn ngữ lập trình SCL. Đây là dạng ngôn ngữ cấp cao, thích hợp cho những người biết viết ngôn
ngữ cấp cao.
Trong PLC có nhiều ngôn ngữ lập trình nhằm phục vụ cho các đối tượng sử dụng khác nhau. Tuy
nhiên một số chương trình viết trên ngôn ngữ LAD hay FBD có thể chuyển sang STL, nhưng ngược

lại thì không. Và trong STL có nhiều lệnh mà LAD hoặc FBD không có, đây cũng là thế mạnh của
ngôn ngữ STL.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×