Download as pdf or txt
Download as pdf or txt
You are on page 1of 53

Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 1: THỜI GIAN THỰC - REAL TIME

1.1. KHỐI HÀM WR_SYS_T VÀ RD_SYS_T


1.1.1. Khối hàm WR_SYS_T
Khối hàm WR_SYS_T cho phép ta đặt thời gian vào CPU.
Ví dụ ta muốn set thời gian CPU bắt đầu từ năm 2020/01/15 vào lúc 07:10:20:0.0
Thực hiện:
* Tạo khối DB
Chọn Add new block

Chọn Data block (DB) > Đặt tên cho khối > Type: Global DB > Chọn number: Automatic >
Nhấn OK
(Đặt tên cho dễ hiểu, không nên quá dài như ví dụ)

Kết quả:

* Vào khối DB ta vừa tạo:


thiquocvinh@gmail.com - 0935.501.812 Trang 1 / 53
Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Tạo biến tên WR_SYS_T (đặt tên trùng khối cho dễ quản lý, hoặc tùy người viết)
Data type: Date_And_Time
Start value: thời gian ta muốn đặt với cú pháp DT#năm-tháng-ngày-giờ:phút:giây.miligiây

* Lấy khối hàm WR_SYS_T ra và khai báo như bên dưới

Khi tác động M5.0 sẽ thực hiện load thời gian DT#2020-01-15-7:20:0.0 vào CPU. Ta chỉ cần
load thời gian này vào CPU 1 lần nên M5.0 chỉ cần tác động 1 lần duy nhất. Nêu tác động lại
thì sẽ lại load DT#2020-01-15-7:20:0.0 vào CPU.
MW210 sẽ lưu giá trị mã lỗi của khối:

thiquocvinh@gmail.com - 0935.501.812 Trang 2 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

1.1.2. Khối hàm RD_SYS_T


Cũng tương tự như WR_SYS_T ta cũng tạo ra 1 khối DB để lưu giá trị Date And Time đọc
lên từ CPU.

* Tạo khối DB tên READ_DATEANDTIME

* Trong khối DB này ta cũng tao một biến có data type là Date_And_Time

* Lấy khối hàm RD_SYS_T ra và khai báo như bên dưới

Ta muốn đọc liên tục thì chân EN luôn TRUE (ở đây sử dụng 1 tiếp điểm NC)

Giá trị sẽ được xuất ra chân OUT, mà ta sử dụng DB để lưu trữ.

MW212 sẽ lưu giá trị mã lỗi của khối:

thiquocvinh@gmail.com - 0935.501.812 Trang 3 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

1.1.3. Khối hàm T_COMP


Khối hàm này sẽ cho phép ta so sánh 2 DATE AND TIME

Ví dụ ta muốn SET ngõ ra Q2.4 vào 2020/01/15 vào lúc 20:10:20:0.0

* Tạo một DB tên CMP_DT để ta lưu giá trị đặt mong muốn

* Khai báo 1 biến với data type là Date And Time và giá trị DT#2020-01-015-20:10:00

Đặt vấn đề: Viết chương trình tưới cây tự động vào 10 giờ sáng hằng ngày trong 10 phút.

Trong khối DB tên CMP_DT ta đã tạo biến với khung giờ trên, thế nhưng khung giờ cố định
nhưng ngày lại khác, qua ngày mới DB không thể tự thay đổi ngày trong khung giờ so sánh.

thiquocvinh@gmail.com - 0935.501.812 Trang 4 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

1.2. CÁC PHÉP TOÁN THỜI GIAN


1.2.1. Phép cộng thời gian T_ADD

IN1: DT
IN2: Time
OUT: DT
Giải quyết vấn đề trên:
Ta có thể viết chương trình để mỗi lần tưới sẽ thực hiện cộng thêm 24h (tức 1 ngày) vào
khung giờ tưới.

Lấy thời gian đọc được so


sánh với giá trị đặt
(Giá trị đặt ban đầu sẽ là
lần tưới đầu tiên:
DT#2020-01-15-10:0:00

Kết quả so sánh: tưới cây trong


10m
(ở đây đặt 10s để kiểm tra
chương trình nhanh hơn)

Cứ mỗi lần tưới cây


lại cộng giá trị đặt
với 1 ngày (1d)

thiquocvinh@gmail.com - 0935.501.812 Trang 5 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

1.2.2. Phép trừ thời gian T_SUB

IN1: DT
IN2: Time
OUT: DT
Tương tự phép cộng, phép trừ thực hiện (IN1 - IN2) đưa ra kết quả OUT.

1.3. KHỐI HÀM READ TIME SYSTEM - TIME_TCK

Giá trị tại chân RET_VAL chính là thời gian CPU bắt đầu hoạt động.
Giá trị sẽ chạy lại từ 0 khi CPU chuyển từ STOP sang RUN hoặc vượt quá giới hạn 231 -1 ms.

Giải quyết vấn đề tưới cây ở trên.


Ta cũng có thể dùng cách này để tưới cây hàng ngày với các khung giờ khác nhau khung giờ
được tính từ lúc mở CPU, với điều kiện CPU mở 24/24. Tuy nhiên rất khó vì có thể xảy ra
trường hợp cúp điện.

thiquocvinh@gmail.com - 0935.501.812 Trang 6 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 2: THIẾT KẾ HÀM CHỨC NĂNG VỚI FUNCTION FC

2.1. THIẾT KẾ HÀM CHỨC NĂNG VỚI FC


Hàm chức năng FC là khối hàm có các biến IN, OUT, IN/OUT do người dùng tự định nghĩa.
Trong khối FC có biến Temp sử dụng riêng trong khối, thường dùng với chức năng tính toán
trung gian.
Hàm FC không có bộ nhớ nội nên dữ liệu sẽ mất đi khi không gọi FC ra nữa. Có thể gọi FC
trong khối OB, FC, FB khác.
Không bắt buộc người dùng phải sử dụng hết toàn bộ các chức năng của các biến. Ví dụ, khối
hàm chỉ có 1 biến IN và 1 biến OUT vẫn được chấp nhận.
Ví dụ 1: Thiết kế khối hàm chức năng điều khiển động cơ thuận nghịch với thời gian đặt.
* Add new block

* Chọn FC Function > Đặt tên khối "Motor_Controller" > Chọn ngôn ngữ LAD > OK

Kết quả:

thiquocvinh@gmail.com - 0935.501.812 Trang 7 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Ta vào khối FC vừa tạo ở trên, khai báo biến Input và Output
Các biến Input bao gồm:
Nút nhấn START
Nút nhấn STOP
Nút điều khiển Motor chạy thuận: FOR.
Nút điều khiển Motor chạy nghịch: REV.
2 bộ Timer để đặt thời gian là Timer_For và Timer_Rev
2 chân để đặt giá trị thời gian
(Ở đây sử dụng Simatic Timer nên Data type là S5Time
và Timer. Nếu sử dụng IEC Tỉmer thì Data type là
IEC_Timer và Time)
Các biến Output bao gồm:
Đèn báo Start_light sáng khi nhấn START
Motor chạy thuận: Motor_For
Motor chạy nghịch: Motor_Rev
* Viết chương trình sử dụng các biến In, Out đã khai báo ở trên

thiquocvinh@gmail.com - 0935.501.812 Trang 8 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Sau khi viết xong ta compile kiểm tra lỗi và save project.

* Vào khối chương trình chính OB Main gọi khối FC2 (Khối FC ta tạo) ra hoặc nơi ta muốn
gọi khối "Motor_Controller" này.

* Lấy Điền "Motor_Controller" hoặc FC2 ta được


* Khai báo các biến địa chỉ vào ta được.

** Tương tự như vậy ta có thể gọi hàm khác ra và khai báo cho Motor 2, 3, 4, ...

Chú ý trong trường hợp này đang dùng Simatic Timer nên chỉ có thể khai báo từ T0 -T255.

thiquocvinh@gmail.com - 0935.501.812 Trang 9 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Ví dụ 2: Thiết kế hàm SCALE


Hàm SCALE có chân Input: IN, HI_LIM, LO_LIM, BIPOLAR và Ouput: OUT
OUT = [((FLOAT (IN) – K1)/(K2–K1)) ∗ (HI_LIM–LO_LIM)] + LO_LIM
* Tạo khối FC "SCALE_FC"

* Khai báo biến trong khối SCALE_FC

* Lập trình
Do chương trình thực hiện nhiều phép toán nên cần biến nhớ để chứa giá trị tính toán, giá trị
này không có ý nghĩa hiển thị ra khỏi khối nên ta dùng biến Temp.

thiquocvinh@gmail.com - 0935.501.812 Trang 10 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Sau khi viết xong ta compile kiểm tra lỗi và save project.

* Lấy Điền "SCALE_FC" hoặc FC1 (số FC khi ta khởi tạo) ta được

Khai báo và kiểm tra chức năng khối SCALE_FC.

Bài tập 10.2: Thiết kế khối hàm chức năng đọc tín hiệu Analog, đưa ra kết quả điện (giống
tín hiệu cảm biến) và giá trị vật lý (độ cao, nhiệt độ, tốc độ, ...)

thiquocvinh@gmail.com - 0935.501.812 Trang 11 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

** Khi ta thay đổi các biến In, Out hay In/Out thì sẽ phải gọi lại khối hoặc Update interface
Nhấn chuột phải vào khối hàm > Chọn Update block call

Sẽ hiện ra 2 giao diện cũ và mới để ta so sánh

Nhấn OK

** Còn nếu không thay đổi In/Out thì mà chỉ thay đổi chương trình bên trong khối thì không
ảnh hưởng đến khối hàm được gọi ra. (Lúc này chỉ khác chức năng do chương trình thay đổi).

thiquocvinh@gmail.com - 0935.501.812 Trang 12 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

2.2. THIẾT KẾ HÀM CHỨC NĂNG VỚI FC VỚI DB


Các ngõ vào START, STOP, FOR, REV ở khối hàm "Motor_Controller" sử dụng các nút
nhấn bên ngoài điều khiển, nhưng ngoài ra ta muốn trên HMI/SCADA cũng có thể điều khiển
được nên phải viết thêm một biến nhớ M song song với ngõ I.
Tuy nhiên ta có thể quản lý dữ liệu Motor_Controller bằng một khối DB.

Ví dụ 1: Từ khối hàm chức năng Motor_Controller ở trên, hãy thiết lập một khối DB quản lý
dữ liệu khối hàm này.
* Tạo một khối DB tên Motor_DB sau đó tạo các biến với kiểu dữ liệu như dưới đây.

Khi check vào ô Retain thì giá trị tag đó sẽ được lưu lại kể cả khi CPU mất điện.

thiquocvinh@gmail.com - 0935.501.812 Trang 13 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Thời gian For và Rev ta có đặt tại giá trị bắt đầu trong DB, khi ta liên kết tag này với
HMI/SCADA ta có thể thay đổi thời gian chạy của Motor. (Việc này cũng có thể sử dụng
vùng nhớ M để thực hiện nhưng phức tạp hơn.)

thiquocvinh@gmail.com - 0935.501.812 Trang 14 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

2.3. KIỂU DỮ LIỆU DO NGƯỜI DÙNG ĐỊNH NGHĨA - UDT


Đặt vấn đề: Ta có số lượng lớn Motor cần điều khiển, như vậy ta phải tạo ra một list các biến
như bảng 10.1.

Bảng 10.1: Khai báo thông thường Bảng 10.2: Khai báo với UDT
Chú ý kiểu dữ liệu Data type ở bảng 10.2.

Kiểu dữ liệu "Motor_UDT" như vậy ta có thể tự tạo cho mình kiểu dữ liệu mong muốn bao
gồm nhiều biến khác nhau. Như vậy khi khai báo biến ta chỉ việc chọn kiểu dữ liệu
"Motor_UDT" là sẽ bao gồm 7 biến bên trong.

Thực hiện: Tạo UDT

* Chọn PLC data types > Add new data type

Có thể đổi tên:

thiquocvinh@gmail.com - 0935.501.812 Trang 15 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Mở Motor_UDT > Tạo biến tên Motor_type1 với kiểu dữ liệu Struct.
Sau đó tạo các biến cần thiết như bên dưới.

* Sau đó vào khối DB > Tạo biến với tên Motor_1 với kiểu dữ liệu "Motor_UDT" mà ta đã
tạo ở trên.

** Khi ta có sự thay đổi trong Motor_UDT thì bên khối DB sẽ báo lỗi

Ta muốn cập nhật thay đổi này thì nhấn chuột phải vào chỗ bôi đỏ "Motor_UDT" > Chọn
Update interface.

thiquocvinh@gmail.com - 0935.501.812 Trang 16 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 3: THIẾT KẾ HÀM CHỨC NĂNG VỚI FUNCTION BLOCK FB

3.1. THIẾT KẾ KHỐI HÀM ĐIỀU KHIỂN ĐÈN GIAO THÔNG VỚI FB
* Tạo khối Function Block FB > Đặt tên Đèn giao thông > Ngôn ngữ LAD > OK

Kết quả:

* Vào khối FB vừa tạo để viết chương trình.


Tạo biến In, Out

thiquocvinh@gmail.com - 0935.501.812 Trang 17 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Chương trình =>

* Kiểm tra lỗi và lưu lại


* Mở chương trình OB Main lên gọi khối hàm FB này ra

Ghi đèn giao thông

thiquocvinh@gmail.com - 0935.501.812 Trang 18 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Kết quả sẽ hiện lên một bảng yêu cầu ta tạo 1 Instance DB để quản lý data của khối FB này.

Nhấn OK

** Ta có thể truy xuất trực tiếp vào từng chân


của khối FB này bằng cách sử dụng địa chỉ khối
DB3 đang quản lý khồi FB này.
Ví dụ ta sử dụng tiếp điểm của Xanh_A

Ghi "Đèn giao thông_DB".Xanh_A


Hoặc vùng DB đang lưu giá trị TG_VA.

thiquocvinh@gmail.com - 0935.501.812 Trang 19 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

3.2. THIẾT KẾ KHỐI HÀM THỜI GIAN CÓ NHỚ - TONR

* Tạo khối FB với ngôn ngữ LAD > Khai báo biến

* Chương trình

thiquocvinh@gmail.com - 0935.501.812 Trang 20 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Kết quả ta được khối hàm TONR

Khối hàm này có chức năng như bộ Ondelay nhưng cần giữ đầu vào IN luôn
mức 1. Nếu đầu vào IN về mức 0 thì bộ Timer ngưng đếm, khi có tín hiệu đầu IN lại thì đếm
tiếp tục với giá trị thời gian dừng lúc nãy. Chân R mức 1 thì reset bộ Timer này.

** Tùy thuộc vào chức năng người sử dụng muốn mà ta có thể viết cho mình những hàm chức
năng chuyên dụng và hay dùng để tiết kiệm được thời gian khi những tính năng này lặp đi lặp
lại nhiều lần trong Project.

thiquocvinh@gmail.com - 0935.501.812 Trang 21 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 4: TRUYỀN THÔNG DỮ LIỆU GIỮA 2 PLC

4.1. THIẾT LẬP PHẦN CỨNG VÀ KHAI BÁO MẠNG MPI


4.1.1. Cấu hình thiết bị
* Khai báo 2 PLC


* Chọn Network view để xem 2 PLC vừa tạo:

* Khai báo địa chỉ MPI của PLC1

* Nhấn vào cổng MPI của PLC (hoặc vào Properties PLC), nếu màu cam thì đang ở MPI, nếu
màu hồng thì đang ở Profibus (do PLC này chỉ có 1 cổng tích hợp MPI/Profibus)

thiquocvinh@gmail.com - 0935.501.812 Trang 22 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* General > MPI address > Interface type: Chọn MPI (đối với PLC MPI riêng biệt thì không
cần phải chọn, bởi phần mềm sẽ chia ra 2 phần MPI và Profibus riêng biệt) > Add new
subnet: Sẽ tự động tạo ra 1 subnet tên MPI_1 > Address: Chọn 2

* Trở lại Network view ta thầy có một subnet MPI_1 ta vừa tạo nối vào cổng MPI của PLC1.
Tương tự ta chọn PLC2

* Nhấn vào cổng MPI (hoặc vào Properties PLC)

* General > MPI address > Interface type: Chọn MPI (đối với PLC MPI riêng biệt thì không
cần phải chọn, bởi phần mềm sẽ chia ra 2 phần MPI và Profibus riêng biệt)

thiquocvinh@gmail.com - 0935.501.812 Trang 23 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Tại subnet ta sổ list ra rồi chọn MPI_1 (chính là subnet ta tạo ở trên)

Chọn địa chỉ address 3

Trở lại Network, ta thấy 2 PLC đã kết nối mạng MPI (tên subnet MPI_1)

* Sau khi khai báo xong: Ta download station của mỗi PLC
xuống. Sau đó dùng cable nối 2 cổng MPI lại với nhau.

thiquocvinh@gmail.com - 0935.501.812 Trang 24 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

4.1.2. Lệnh truyền dữ liệu X_PUT

Lệnh X_PUT dùng để ghi dữ liệu đến PLC có địa chỉ được đặt ở tham số DEST_ID.
Dữ liệu sẽ ghi từ tham số SD đến VAR_ADDR của đối tác.
Dữ liệu truyền nhận tối đa là 76 byte.
Độ dài và kiểu dữ liệu của 2 bên phải giống nhau.
Lệnh được thực thi sau khi tham số REQ = 1, khi đang thực thi thì tham số BUSY = 1.

4.1.3. Lệnh nhận dữ liệu X_GET

Lệnh X_GET dùng để đọc dữ liệu từ PLC có địa chỉ được đặt ở tham số DEST_ID.
Dữ liệu muốn đọc về được nhập tại tham số VAR_ADDR và trả về tham số RD.
Dữ liệu truyền nhận tối đa là 76 byte.
Độ dài và kiểu dữ liệu của 2 bên phải giống nhau.
Lệnh được thực thi sau khi tham số REQ=1, khi đang thực thi thì tham số BUSY = 1.

4.1.4. Ví dụ
* Đọc dữ liệu từ ngõ I1.2 của PLC có địa chỉ MPI = 3.
Dữ liệu sẽ được chứa trong chân RD (Q1.2).

* Ghi dữ liệu từ IB1 đến QB1 của PLC có địa chỉ MPI = 3.

thiquocvinh@gmail.com - 0935.501.812 Trang 25 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

4.1.5. Lệnh X_SEND và X_RCV


Hai lệnh này đi kèm với nhau.
Dữ liệu gửi đi từ lệnh X_SEND

Lệnh được thực thi sau khi tham số REQ = 1, khi đang thực thi thì tham số BUSY = 1.
Địa chỉ MPI của PLC muốn dữ liệu đến nhập tại tham số DEST_ID.
REQ_ID dùng để xác nhận là dữ liệu được gửi bởi lệnh nào. Ví dụ có 2 lệnh X_SEND cùng
thực thi (REQ_ID = 100 và REQ_ID = 101) với 2 dữ liệu gửi khác nhau thì bên lệnh X_RCV
sẽ dựa vào mã REQ_ID để biết là dữ liệu gửi của lệnh nào.
Dữ liệu gửi đi sẽ từ SD.

Muốn nhận dữ liệu từ X_SEND ta sử dụng lệnh X_RCV

EN_DT: cho phép truyền nhận dữ liệu.


REQ_ID cho biết dữ liệu từ lệnh X_SEND nào.
RD là nơi chứa dữ liệu vào.

thiquocvinh@gmail.com - 0935.501.812 Trang 26 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Ví dụ:
* Chương trình từ PLC (MPI = 2, gửi)
Có 2 vùng dữ liệu cần gửi đi là MB13 và MB12.
Ta muốn bên nhận nhận MB13 vào QB1 và MB12 vào QB0

* Chương trình từ PLC (MPI = 3, nhận)


Chỉ có 1 lệnh nhận X_RCV, ta sẽ sử dụng REQ_ID để phân biệt dữ liệu từ MB13 hay MB12.

thiquocvinh@gmail.com - 0935.501.812 Trang 27 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

thiquocvinh@gmail.com - 0935.501.812 Trang 28 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

4.2. THIẾT LẬP PHẦN CỨNG VÀ KHAI BÁO MẠNG PROFIBUS


4.2.1. Cấu hình thiết bị
* Khai báo 2 PLC


* Chọn Network view để xem 2 PLC vừa tạo:

* Khai báo địa chỉ Profibus của PLC1

* Nhấn vào cổng Profibus của PLC (hoặc vào Properties PLC), nếu màu cam thì đang ở MPI,
nếu màu hồng thì đang ở Profibus (do PLC này chỉ có 1 cổng tích hợp MPI/Profibus)
Còn nếu PLC có 2 cổng riêng biệt thì cổng bên trái là MPI, bên phải là Profibus.

thiquocvinh@gmail.com - 0935.501.812 Trang 29 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* General > MPI/Profibus address > Interface type: Chọn Profibus (đối với PLC cổng truyền
thonho riêng biệt thì không cần phải chọn, bởi phần mềm sẽ chia ra 2 phần MPI và Profibus
riêng biệt) > Add new subnet: Sẽ tự động tạo ra 1 subnet tên PROFIBUS_1 > Address: Chọn
2

* Tại Operating mode ta chọn DP master (gán PLC 1 là master)

* Trở lại Network view ta thấy có một subnet PROFIBUS_1 ta vừa tạo nối vào cổng
PROFIBUS của PLC1.

Tương tự ta chọn PLC2


* Nhấn vào cổng Profibus (hoặc vào Properties PLC)

thiquocvinh@gmail.com - 0935.501.812 Trang 30 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* General > MPI/Profibus address > Interface type: Chọn profibus


Tại subnet ta sổ list ra rồi chọn PROFIBUS_1 (chính là subnet ta tạo ở trên)

Chọn địa chỉ address 3.


* Tại Operating mode ta chọn DP slave (gán PLC 2 là Slave) và chọn DP Master là PLC1.

thiquocvinh@gmail.com - 0935.501.812 Trang 31 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Trở lại Network, ta thấy 2 PLC đã kết nối mạng Profibus (tên subnet PROFIBUS_1).

* Sau khi khai báo xong: Ta download station của mỗi PLC xuống. Sau đó dùng cable nối 2
cổng Profibus lại với nhau.

4.2.2. Truyền thông I/O


Tại PLC Slave ta sẽ đặt vùng địa chỉ truyền thông.
Trong mục Operating mode > I-slave communication > tại bảng Transfer areas > <Add
new>.
Ta có thể quy định Master adderess và Slave address, địa chỉ này là địa chỉ I/Q (sẽ không
trùng I/Q đấu nối ra thiết bị đầu cuối).
Chiều mũi tên quy định truyền hay nhận.
Độ dài dữ liệu truyền/ nhận.
Ví dụ ở đây, đường truyền số 1 là Master (PLC1) sẽ truyền 1 byte qua Slave (PLC2).
QB2 của PLC1 truyền qua IB2 của PLC2.
Đường truyền số 2 là Master nhận dữ liệu từ Slave hay nói cách khác là Slave truyền dữ liêu
qua Master với độ dài dữ liệu 1 byte.
QB2 của PLC2 truyền qua IB2 của PLC1.

Như vậy dữ liệu truyền thông đã được thiết lập.


* Nếu xảy ra lỗi ta có thể gọi thêm một số OB xử lý lỗi.

thiquocvinh@gmail.com - 0935.501.812 Trang 32 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 5: TRUYỀN THÔNG PLC VÀ HMI


5.1. Truyền thông PLC S7-300/ HMI qua MPI
5.1.1. Kết nối MPI
* Khởi tạo project và khai báo màn hình HMI và PLC S7-300 :
CPU 315F-2PN/DP (Sử dụng cổng MPI)
HMI TP700 Comfort (Sử dụng cổng MPI)

* Tại Network view > Network:

Ta nhấn vào cổng MPI của PLC sau đó kéo và thả vào cổng MPI của HMI.

Phần mềm sẽ tự quy định địa chỉ MPI của 2 thiết bị. Ta có thể vào từng thiết bị để thay đổi
địa chỉ này theo ý muốn.
* Thay đổi địa chỉ MPI của PLC

thiquocvinh@gmail.com - 0935.501.812 Trang 33 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Thay đổi địa chỉ MPI của HMI

5.1.2. Cấu hình HMI connection qua mạng MPI


* Chọn Network view > Connection > Thả list xuống chọn HMI connection.

thiquocvinh@gmail.com - 0935.501.812 Trang 34 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Ta cũng nhấn vào cổng MPI của PLC sau đó kéo và thả vào cổng MPI của HMI.

* Để kiểm tra số connection mà ta đã thiết lập, ta vào Network data (bảng bên phải).

* Sau đó chọn tab connections:

thiquocvinh@gmail.com - 0935.501.812 Trang 35 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Ta sẽ có thông tin: Local là HMI, Partner là PLC, Connection type là HMI connection.
Cụ thể hơn nữa ta xem bảng properties bên dưới.

* Vào project thiết kế của HMI > Chọn Connection

thiquocvinh@gmail.com - 0935.501.812 Trang 36 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Như vậy thiết lập connection để kết nối dữ liệu PLC/ HMI đã hoàn thành.
Khai báo HMI tags ta sẽ chọn Connection là HMI_Connection_1.

5.2. Truyền thông PLC S7-300/ HMI qua Profibus


5.2.1. Kết nối Profibus
a * Khởi tạo project và khai báo màn hình HMI và PLC S7-300 :
CPU 315F-2PN/DP (Sử dụng cổng Profibus)
HMI TP700 Comfort (Sử dụng cổng Profibus)

* Tại Network view > Network:

thiquocvinh@gmail.com - 0935.501.812 Trang 37 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Ta nhấn vào cổng PROFIBUS của PLC sau đó kéo và thả vào cổng PROFIBUS của HMI.

Phần mềm sẽ tự quy định địa chỉ PROFIBUS của 2 thiết bị. Ta có thể vào từng thiết bị để
thay đổi địa chỉ này theo ý muốn.
* Thay đổi địa chỉ PROFIBUS của PLC (mode: DP Master)

* Thay đổi địa chỉ PROFIBUS của HMI (mode: No DP)

thiquocvinh@gmail.com - 0935.501.812 Trang 38 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

5.2.2. Cấu hình HMI connection qua mạng Profibus


* Chọn Network view > Connection > Thả list xuống chọn HMI connection.

* Ta cũng nhấn vào cổng PROFIBUS của PLC sau đó kéo và thả vào cổng PROFIBUS của
HMI.

* Để kiểm tra số connection mà ta đã thiết lập, ta vào Network data (bảng bên phải).

thiquocvinh@gmail.com - 0935.501.812 Trang 39 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Sau đó chọn tab connections:


Cụ thể hơn nữa ta xem bảng properties bên dưới.

* Vào project thiết kế của HMI > Chọn Connection


Như vậy thiết lập connection để kết nối dữ liệu PLC/ HMI qua mạng Profibus đã hoàn thành.

thiquocvinh@gmail.com - 0935.501.812 Trang 40 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Khai báo HMI tags ta sẽ chọn Connection là HMI_Connection_1.

5.3. Truyền thông PLC S7-300/ HMI qua PN/IE


5.3.1. Kết nối PN/IE
* Khởi tạo project và khai báo màn hình HMI và PLC S7-300 :
CPU 315F-2PN/DP
HMI TP700 Comfort

* Tại Network view > Network:

Ta nhấn vào cổng PN của PLC sau đó kéo và thả vào cổng PN của HMI.

thiquocvinh@gmail.com - 0935.501.812 Trang 41 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Phần mềm sẽ tự quy định địa chỉ IP của 2 thiết bị. Ta có thể vào từng thiết bị để thay đổi địa
chỉ này theo ý muốn.
* Thay đổi địa chỉ IP của PLC

* Thay đổi địa chỉ IP của HMI

5.3.2. Cấu hình HMI connection qua mạng MPI


* Chọn Network view > Connection > Thả list xuống chọn HMI connection.

thiquocvinh@gmail.com - 0935.501.812 Trang 42 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Ta cũng nhấn vào cổng MPI của PLC sau đó kéo và thả vào cổng MPI của HMI.

* Để kiểm tra số connection mà ta đã thiết lập, ta vào Network data (bảng bên phải).

* Sau đó chọn tab connections:

thiquocvinh@gmail.com - 0935.501.812 Trang 43 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Ta sẽ có thông tin: Local là HMI, Partner là PLC, Connection type là HMI connection.
Cụ thể hơn nữa ta xem bảng properties bên dưới.
* Vào project thiết kế của HMI > Chọn Connection
Như vậy thiết lập connection để kết nối dữ liệu PLC/ HMI đã hoàn thành.

thiquocvinh@gmail.com - 0935.501.812 Trang 44 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Khai báo HMI tags ta sẽ chọn Connection là HMI_Connection_1.

thiquocvinh@gmail.com - 0935.501.812 Trang 45 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

BÀI 6: THIẾT LẬP TRUYỀN THÔNG GIAO TIẾP PLC S7-300

* Khởi tạo Project WinCC Professional sử dụng truyền thông Profinet.

* Khai báo PLC S7-300 có cổng truyền thông Profinet và các module mở rộng DI/DO,
AI/AO (nếu có).

* Như vậy hệ thống ta đã có: (Network view)

* Drap & Drop


Nhấn vào cổng PN của thiết bị này kéo thả vào cổng PN của thiết bị kia.

thiquocvinh@gmail.com - 0935.501.812 Trang 46 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Nhấn vào Connections:

* Làm thêm một lần Drap & Drop như bước trên.

* Như vậy PLC Tags và HMI Tags sẽ kết nối qua một connection tên là HMI_Connection_1
* Mở OB1 của PLC lên và viết một đoạn chương trình:

thiquocvinh@gmail.com - 0935.501.812 Trang 47 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Vào Screen thiết kế của WinCC.

* Thiết lập Event nhấn cho nút nhấn "HMI_START"

* Sau khi gán tag vào ta được.

thiquocvinh@gmail.com - 0935.501.812 Trang 48 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

* Đối với bơm (hình tròn)

* Nạp chương trình PLC xuống CPU.

* Chạy mô phỏng Runtime WinCC.

* Kiểm tra chức năng.

Lưu ý một số trường hợp không kết nối được và cách khắc phục:

A- Phần mềm Tia Portal sẽ tự động thực hiện các giao thức để phù hợp với thiết bị đang kết
nối.

Ví dụ: Từ Tia Portal V13 trở lên thì khi sử dụng chuẩn PN để donwload cho PLC thì Tia
Portal sẽ tự động gán địa chỉ IP cho máy tính để thực hiện việc donwload. Vì vậy khi vừa
download PLC xong máy tính vẫn đang nhớ IP đó và việc kết nối với WinCC là OK.

Nên khi ta tắt đi hoặc làm mất IP mà Tia Portal vừa gán cho ta (vào Internet, reset máy tính,
...) thì kết nối có thể không được nữa vì IP động đã thay đổi 1 IP đã cho máy tính mà không
trùng lớp mạng mà ta khai báo (thông thường dùng 192.168.0.xx / 255.255.255.0).

** Cách khắc phục tốt nhất là đặt ngay địa chỉ IP tĩnh cho máy tính.

thiquocvinh@gmail.com - 0935.501.812 Trang 49 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

B- Trường hợp đã đổi địa chỉ IP tĩnh mà vẫn không kết nối được thì kiểm tra "Set PG/PC
Interface" bằng cách:

- Vào Control Panel.

- Chọn Set PG/PC Interface.

- Chọn ngay giao thức mạng TCP

thiquocvinh@gmail.com - 0935.501.812 Trang 50 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

Mỗi máy tính sẽ có một card mạng khác nhau nên tên cũng sẽ thay đổi. Lưu ý chọn TCP

Ví dụ ở đây đang là Intel(R) Ethernet Connection I219-LM.TCPIP.1

- Nhấn OK.

C- Trường hợp sau khi thực hiện 2 bước trên vẫn không kết nối được.

Ta sẽ vào Connection của Project WinCC.

Đổi Access point thành "tên card mạng .TCP" hoặc "S7ONLINE".

Lưu ý mỗi lần đổi ta phải thoát Runtime và chạy lại.

Đôi lúc cần Reset máy tính.

thiquocvinh@gmail.com - 0935.501.812 Trang 51 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

thiquocvinh@gmail.com - 0935.501.812 Trang 52 / 53


Khoa Cơ Điện Tử - TCN KTCN Hùng Vương TIA300NC

TÀI LIỆU THAM KHẢO

1. System Manual: STEP 7 Professional V13 SP1 - Siemens


2. System Manual: Visualize processes V13 SP1 - Siemens
3. Operating Instructions S7-300 - CPU 31xC: Technological functions
4. MPS® The Modular Production System - Festo Didactic
5. Tự động hóa PLC S7-300 với TIA PORTAL - Trần Văn Hiếu
6. Tự động hóa với SIMATIC S7-300 - Nguyễn Doãn Phước, Phan Xuân Minh, Vũ Vân

7. Một số hình ảnh minh họa trên internet.
8. Thông tin từ diễn đàn - https://support.industry.siemens.com

thiquocvinh@gmail.com - 0935.501.812 Trang 53 / 53

You might also like