Thiết kế, chế tạo mô hình mạng vi điều khiển PIC góp phần thúc đẩy xây dựng các mô hình phục vụ cho công tác đào tạo sinh viên, cho thấy thực tiễn mạng DCS hoạt động như thế nào.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
ĐÀO MINH ĐỨC
THIET KE, CHE TAO MO HINH MANG
VI DIEU KHIEN PIC
Chuyén nganh : SAN XUAT TU DONG
Mã số : 60.52.60
TOM TAT LUAN VAN THAC Si KY THUAT
Da Nang — Nam 2011
Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: PGS TS TRÀN XUÂN TÙY
Phan Bién 1:PGS.TS PHAM DANG PHUOC
Phan Bién 2:TS TRAN DINH KHOI QUOC
Luận văn sẽ được bảo vệ tại hội đông châm luận văn tôt nghiệp thạc
sĩ kỹ thuật họp tại đại học Đà Nẵng vào ngày 5 tháng 12 năm 2011
Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Da Nẵng
- Trung tâm Thông tin tư liệu, Đại học Đà Nẵng
Trang 23
MO DAU
1 LY DO CHON DE TAI
Hiện nay trước sự phát triển mạnh mẽ của công nghệ điện tử,
nano, sản xuất chip cũng như công nghệ phần mềm, nhiều thiết bi
mới ra đời hoặc các thiết bị cũ được cải tiến với những chức năng
mới làm cho các hệ thống điều khiến tự động chuyển dần từ hệ điều
khiển tập trung sang hệ điều khiến không tập trung hoặc hệ điều
khiển phân tán (DCS = distributed control systems)
PLC và DCS ra đời không cách xa nhau nhiều PLC chuyên sâu về
điều khiển Lôgic rời rạc thì DCS lại thiên về điều khiển quá trình
Ứng dụng của DCS thường dành cho các nhà máy xí nghiệp lớn, cho
nên dùng điều khiến tập trung sẽ tốn kém cả về đầu tư ban đầu và giá
trị bảo trì vận hành Vì vậy, các hệ DCS đã ứng dụng phương thức
điều khiển phân tán thay vì điều khiển tập trung như PLC
Đặc điểm chính của của 1 hệ thống DCS là:
+ Điều khiển quá trình — PID, Cascade PID, Ratio Control,
FeedFoward
+ Diéu khién phan tan qua mang FieldBus, Profibus, Device Net
+ Du phong nong (Redundancy)
+ Nạp chương trình khi hệ thống đang chạy
Dé tai “THIET KE, CHE TAO MO HINH MANG VI DIEU KHIEN
PIC” nhăm mô phỏng một hệ thống DCS nhỏ, phục vụ cho công tác
giảng dạy Đây là một hướng nghiên cứu mới có thể áp dụng cho các
nhà máy sản xuất quy mô nhỏ
2 MUC DICH CUA DE TAI
Ngày nay, vi điều khiến phát triển rất với công nghệ hiện đại,
ứng dụng của vi điêu khiên được dùng nhiêu trong sản xuât và đời
4
sống sinh hoạt hằng ngày Các vi điều khiển có thể được sử dụng
trong các hệ thống DCS, với rất nhiều tính năng điều khiến hệ thống
dễ dàng Vì vậy, mụch đích của đẻ tài “THIẾT KẾ - CHÉ TẠO MÔ
HÌNH MẠNG VI ĐIÊU KHIÊN PIC”' v phục vụ công tác đào tạo tại
nhà trường
3 PHAM VI VA NOI DUNG NGHIEN CUU
Pham vi:
- Thiết kế, chế tạo mô hình mạng PIC
- Thiết kế phần mềm điều khién mang PIC
Nội dung nghiên cứu:
- Thiết kế các Môđun phần cứng
- Thiết kế phần mềm điều khiến
- Chế tạo và lắp ráp mô hình 4 PHƯƠNG PHÁP NGHIÊN CUU
Đề tài nghiên cứu được thực hiện theo phương pháp kết hợp giữa lý thuyết và thực nghiệm Cụ thể như sau:
- Nghiên cứu các tài liệu liên quan nhằm tổng hợp chọn phương án và thiết kế mạng PIC: phần cứng giao tiếp với các thiết bị
ngoại vi, điều khiển và lập trình
- Chế tạo mô hình để kiểm chứng các kết quả
5 Ý NGHĨA KHOA HỌC THỰC TIỀN
Góp phần thúc đây việc xây dựng các mô hình phục vụ cho công tác
đào tạo sinh viên, cho thấy thực tiễn mạng DCS hoạt động như thé nao
Trang 3
a) Cấp chấp hành
1.1.1.1 Đặc trưng các lĩnh vực ứng dụng điều khiển 1.1.2.3 Cấu trúc điều khiển
Khi xây dựng một giải pháp điều khiển, ta phải quan tâm a), Điều khiển tập trung
tới qui mơ và đặc thù của lĩnh vực ứng dụng
- Điều khiển các thiết bị và máy mĩc đơn lẻ (cơng nghiệp và PRẾ861IMIAï 900180 a
+eeeeee
- Cơng nghiệp chế biến, khai thác
Hiện trường
- Cơng nghiệp chế tạo, lắp ráp
- Điều khiển các hệ thống phân phối năng lượng (dầu khí, Ỷ
gas, dién
Các giải pháp điều khiển cơng nghiệp chia làm hai ứng Hình 1.3 Cấu trúc điều khiến tập trung với vào/ra tập trung
- Cơng nghiệp chế biến, khai thác
- Giao diện quá trình: Các cảm biên và cơ câu chap hanh "UUNIIN MU HUU]I
Trang 4
MTGS | | KHIEN TRUNG TAM
MTĐK ! PHÒNG ĐIÊU
= ! KHIÊN CỤC BỘ
Hình 1.5: Cấu trúc điều khiển phân tán với vào/ra tập trung
d) Điều khiển phân tán với vào ra phân tán
bus hệ
thong
TRUONG
Ạ Ạ HIỆN
Phân đoạn1 | —=3>| Phản đoạn 2 |@đ——> - =>
Hinh 1.6: Cau tric diéu khién phan tan véi vao ra phan tan
1.1.3.1 Cấu hình cơ bản
8
- Các trạm điều khiến cục bộ
- Các trạm vận hành
- Trạm kỹ thuật và công cụ phát triển
- Hệ thống truyền thông
goa en
l
Hình 1.7 : Cau hinh cơ bản của một hệ điều khiển phân tán
1.1.3.2 Phân loại các hệ DCS a) Các hệ DCS truyện thống Các hệ này sử dụng các bộ điều khiển quá trình đặc chủng theo kiến trúc riêng của nhà sản xuất
b)_ Các hệ DCS trên nên PLC
Với cấu trúc ghép nối vào/ra linh hoạt, nguyên tắc làm việc đơn giản theo chu kì, khả năng lập trình và lưu trữ chương trình trong bộ nhớ không cần can thiệp trực tiếp tới phần cung, PLC nhanh chóng thu hút sự chú ý trong giới chuyên ngành
Trang 5c)_ Các hệ DCS trên nên PC
Giải pháp sử dụng máy tính cá nhân (PC) trực tiếp làm thiết bị
điều khiển không những được bàn tới rộng rãi, mà đã trở
thành thực tế phổ biến trong những năm sần đây
1.2 GIOI THIEU VE VI DIEU KHIEN PIC
1.2.1 PIC
PIC là viết tắt của “ Programable Intelligent Computer” do hang
Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ:
PIC 1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi
điều khiển CP 1600
1.2.2 Kiến trúc PIC
Tổ chức phàn cứng của PIC được thiết kế theo kiến trúc Havard,
điểm khác biệt giữa kiến trúc Havard và kiến trúc Von-Neuman
là cấu trúc bộ nhớ dữ liệu và bộ nhớ chương trình
- Đối với kiến trúc Von- Neuman, bộ nhớ dữ liệu và bộ
nhớ chương trình nằm chung trong một bộ nhớ, do đó ta có thể tổ
chức cân đối một cách linh hoạt bộ nhớ chương trình và bộ nhớ
dữ liệu
- Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ
chương trình tách ra thành hai bộ nhớ riêng biệt Do đó trong
cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ như
vậy tốc độ xử lý của vi điều khiển được cải thiện dáng kể
1.2.3 Vi điều khiến PIC 16F877A
1.2.3.1 Thông số của vì điều khiển PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35
lệnh có độ dài 14 bit, mỗi lệnh đều được thực thi trong một chu kì
xung clock Tốc độ hoạt động tối đa cho phép là 20MHz với một
chu ki lệnh là 200ns Bộ nhớ chương trình SKxI14bit, bộ nhớ dữ
liệu 368x§ byte RAM và bộ nhớ dữ liệu EEPROM voi dung
lượng 256x§ byte Số cổng đầu vào /ra là 5 với 33 chân.Các đặc tính ngoại vi bao gồm các chức năng sau:
- Timer0: Bộ đếm 8 bit với bộ chia tần số 8 bit
- Timer1: Bộ đếm 16bit với bộ chia tan số
- Timer2: Bộ đếm 8 bit với bộ chia tần số 8 bit
- Hai bộ điều chế độ rộng xung 10 bit
- 8 kênh chuyên đối ADC 10 bit
1.2.3.2 Sơ đồ khối của PIC
x] RAQVANO x|8A2KN2Vre./Cvr
x] RASA SICZOUT
RC1/71OSKCC£2
| — “K1esrm | aK words | 2 Byes | TS Bye
| PIC IEFSTEA I SK words I 6 Bytes T Z6 8/404 |
Hình 1.12: So đồ khối của Pic 16F877A
1.2.3.3 Tổ chức bộ nhớ
4) Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiến là bộ nhớ Flash, dung
lượng bộ nhớ 8K word( 1word là 14 bit) và được phân thành nhiều trang ( từ page0 đến page 3) Để mã hóa được địa chỉ
Trang 6II của 8K word bộ nhớ chương trình, bộ đếm chương trình có
dung luong 13 bit ( PC <12:0>)
Bộ nhớ dữ liệu là bộ nhớ EEPROM duoc chia lam 4 bank,
mỗi bank có dung lượng 128 byte bao gồm các thanh ghi có
chức năng đặc biệt SFG( Special Euntion Register) năm ở các
vùng địa chỉ thấp và các thanh ghi mục đích chung
1.2.3.4 Thanh ghi chức năng đặc biệt
- Thanh ghi STATUS(03H, 83H, 103H, 183H) : thanh ghi
chứa kết quả thực hiện phép toán của khối ALU
- Thanh ghi OPTION REG (81H, 181H) : thanh ghi cho
phép đọc và ghi, cho phép điều khiển chức năng pull-up của các
chan trong PORTB
- Thanh ghi INTCON (OBH, 8BH, 10BH,18BH) : Thanh
ghi cho phép đọc và ghi, chứa các bit điều khiển và các bít cờ hiệu
khi TimerO bị tran
- Thanh ghi PIEI1 (SCH) : chứa các bit điều khiển các ngắt
của các khối chức năng ngoại vi
- Thanh ghi PIRI ( 0Ch) : chứa cờ ngắt của các khối chức
năng ngoại V1
- Thanh ghi PIE2 (SDH) : chứa các bit điều khiển các ngắt
của các khối chức năng CCP2, SSP bus, ngắt của bộ so sánh và
ngắt ghi vào bộ nhớ EEPROM
12
CHƯƠNG 2 THIET KE MO DUN GIAO TIEP THIET BI NGOAI VI
2.1 THIET KE MO DUN VAO/RA SO 2.1.1 Mô đun vào số
Ngày nay, trong các nhà máy công nghiệp người ta thường sử dụng các công tắc, hoặc các cảm biến số, các công tắc hành trình để
báo hiệu cho trạng thái làm việc của các thiết bị.Có 2 trạng thái
ON/OFF đối với trạng thái ON báo hiệu cho thiết bị được vận hành,
trạng thái OFE báo hiệu cho thiết bị dừng Dựa trên hai trạng thái
ON/OEE, ta thiết kế mô đun vào số với hai mức logic 1 và 0 tương ung voi 2 trang thai ON/OFF
5VDC
9°
4.7K R7
U1B
ce
Oo
Sk 2 bs
+ 2 74HC14
a
O
IN 2
+77
Hình 2.1: Sơ đồ mạch đầu vào số
Trang 7
J4 PVNI1
MCLR*/VPP RB0/INT [S7 VAO 2 SDI 2 12C
RBI 3 VAO 3 RAO/ANO RB2 [36 VAO 2 RA1/AN1 RB3/PGM [F57 VAO 5 RA2/AN2/VREF-/CVREF RB4 3g VAO SG RA3/AN3/VREF+ RBS [35 VAO_7 PGC J3 RA4/TOCKI/C10UT RB6/PGC [T0 VAO 5B PGD
RAB/AN4/SS*/C2OUT RB7/PGD ~ SCK 1 RC0/T1OSO/T1CKI RDO/PSPO 2 —— — 2 [fc RCG1/T1OSI/CCP2 RD1/PSP1 [53 VAO TH
RC2/CCP1 RD2/PSP2 [F22 VÀO T2 RC3/SCK/SCL RD3/PSP3 F357 VAO TẢ RC4/SDI/SDA RD4/PSP4 [5g VAO T4 RC5/SDO RD5/PSPS [5g VAO T5 RC6/TX/CK RD6/PSP6 [3G VÀO TỔ RC7/RXDT RD7/PSP7 = OSC1/GLKIN 8 ”
RE2/CS*/AN7 Ƒ—< VDD 3 OSC2/CLKOUT PGD 4 vee Vbp 14 PGC 5
PIC 16F877A NAP_CHIP
Ó
Hình 2.2: Mạch điều khiển đầu vào số
2.1.2 M6 dun ra sé
Đề điều khiển các thiết bị có trạng thái hoạt động ON/OFFE như
Van điện từ, các Relay, Contactor người ta chỉ việc cấp nguồn
220 hoặc 24VDC để cho các thiết bị hoạt động Vì vậy dựa trên
nguyên lý làm việc ON/OFF ta thiết kế Môđun ra số 8 ngõ ra, có
chức năng xuất tín hiệu điều khiến trạng thái ON/OFF tương ứng
với mức Logic 0 va ] của vi điêu khiên
NGUON_24VDG
r $1
5 Oo
4 OUTPUT 1
2
D468
NGUON_24VDG
LS2
5 2
4 OUTPUT 2
2
D468
Hình 2.3: Sơ đô mạch đâu ra sô
5VDC
J10 PVN2
* 38 BA 1 SCK 1 MCLR*/VPP RB0/INT PS RAD SDI 2] lac
sa RBI 35 BA
sw ———-] RA0/AN0 RB2 [S§———A TT]
—-] RA1/AN1 RB3/PGM [S2 RAS
%~— =] RA2/AN2/VREF-/CVREF KT] AC 2—@_] RA3/AN3/VREF+ RBB [Rõ H7” cc J9
————] RA4/T0CKI/C1OUT RB6/PGC 40 RAS PGD
——]| RA5/AN4/SS*/C2OUT RB7/PGD = SGK 1
DI
x 2 RC0/T1OSO/T1CKI RDO/PSPO 43 < 2 2c X47] RCITIOSI/CCP2 RD1/PSP1 [57M
sck *—Fe7] RG2/CCP1 RD2/PSP2 [55%
[E5 3| RG3/SGK/SGL RD3/PSP3 [Ƒf?—
54] RC4/SDISDA RD4/PSP4 Fag
$=] RC5/SDO RD5/PSP5 [59%
X56 | RCS/TWCK RD@/PSP6 [S—%
C6 »—“—| Rc7/RXDT RD7/PSP7 -——-X
lÌ + 13 Í OSG1/CLKIN 8 vu
RE0/RD*“/AN5 F6——* MCLR
1 T 14 RE2/CS”/AN7 Ƒ—— VDD 3
Pt
22P 3í VSS VDD 3 oo 5
PIC16F877A NAP_ CHIP
Ỏ
Hình 2.4: Sơ đồ mạch điều khiển Môđun ra số
Trang 815
2.2.MÔ ĐUN ĐẦU VÀO ANALOG
2.2.1 Tin hiéu Analog
Là hàm của 1 hoặc nhiều biến độc lập đại lượng vật lý theo thời
gian như : tiếng nói, nhiệt độ theo thời gian A=f(th).Xuất hiện
liên tục trong khoảng thời gian từ tạ — tị Giá trị biến thiên liên tục
trong khoảng biên độ từ Aa- Ai
Để đọc được các giá tri cần phải rời rạc hóa các tín hiệu về thời
gian và giá trị, dùng thiết bị chuyển đối ADC tạo ra các tín hiệu số
dé:
- Xử lý và lưu trữ dữ liệu
- Truyền gửi đi xa
- Tai tao lai hay tổng hợp lại tín hiệu
2.2.2 Bộ chuyển doi ADC
2.2.2.1 Khai niém
Là thiết bị có 2 chức năng:+ Rời rạc hóa tín hiệu theo thời gian.+
Số hóa tín hiệu về biên độ(Lượng tử hóa).Phân loại:
- Chuyên đổi trực tiếp: u(t) => code
- Chuyển đổi gián tiếp: u() => đại lượng trung gian =>
code
2.2.2.2 Nguyên lý cơ bản của chuyển đổi tương tự
Tín hiệu tương tự là tín hiệu biến thiên liên tục theo thời gian, tín
hiệu số mã hoá là rời rac theo thời gian Như vậy, nguyên lý chung
của sự chuyển đổi là:
- Lay mau
- Nhớ mẫu
- Lượng tử hoá
- Mã hoá
16 2.2.2.3 Sơ đồ khối và nguyên lý làm việc của của ADC
a) Sơ đô khối
ADC
UA TH —_= -*% Mach lay Un > Luong Mã hoá |————n> Ữ
Hình 2.6: Sơ đô khôi của ADC
b)_ Nguyên lý lam viéc cua ADC
Trước hết, mạch lẫy mẫu tín hiệu tương tự tại các thời điểm khác
nhau đều và cách đều nhau (rời rạc hoá tín hiệu về mặt thời gian), giữ cho biên độ điện áp tại các thời điểm lấy mẫu không đổi trong quá trình chuyền đổi tiếp theo Tín hiệu ra mạch lấy mẫu được đưa
tới mạch lượng tử hoá để thực hiện làm tròn với biên độ chính
xác.Sau mạch lượng tử hoá là mạch mã hoá Irong mạch mã hoá,
kết quả lượng tử hoá được sắp xếp lại theo một quy luật nhất định
phụ thuộc vào loại mã yêu câu tên đầu ra của bộ chuyển đôi
c)_ Phân loại chuyển đổi ADC
- Phương pháp chuyển đổi song song: Trong phương pháp này tín hiệu được so sánh cùng một lúc với nhiều giá trị chuẩn
Do đó tất cả các bit được xác định đồng thời và đưa đến đầu ra
- Phương pháp biến đổi theo mã đếm:Ö đây, quá trình so
sánh được thực hiện lần lượt từng bước theo quy luật của mã đếm
Kết quả chuyển đổi được xác định bằng cách đếm số lượng giá
trị chuẩn có thể chứa được trong giá trị tín hiệu tương tự cần
chuyên đổi
- Phương pháp biến đổi nồi tiếp theo mã nhị phân: Qúa trình
so sánh đựoc thực hiện lần lượt từng bước theo quy luật mã nhị
phân Các đơn vị chuân dùng đê so sánh lây các giá trị giảm dân, do
Trang 9đó các bit được xác định lần lượt từng bit có nghĩa lớn nhất đến bịt
nhỏ nhất
- Phương pháp biến đổi song song nối tiếp kết họp:Trong
phương phápnàymỗi bước so sánhcó thể được xác định được tối
thiểu là 2 bit đồng thời
2.2.3 ADC cua PIC 16F877A
Pic 16F887A c6 8 ngé vao Analog, hiệu điện thé chuẩn
Veer c6 thé duoc lua chon 1A Vpp hodc Vss hay hiéu dién thé chuan
được xác lập trên 2 chân RA2, RA3.Kết quả chuyên đổi từ tín hiệu
tương tự sang tín hiệu số là 10 bít số tương ứng được lưu trong hai
thanh ghi ADRESH:ADRESL Khi quá trình chuyển đổi hoàn tất,
kết quả được lưu vào hai thanh ghi ADRESH:ADRESL, bít
ADCON0(2) được xóa về 0 và cờ ngắt ADIF được set
2.2.4 Sơ đồ mạch Mô đun đầu vào Analog
24VDC
INPUT_AD1
INPUT_AD
Hình 2.7: Sơ đồ mạch đầu vao Analog
2.3.MO DUN DAU RA ANALOG
2.3.1 Bộ chuyển đối DAC Chuyên đổi số -tương tự (DAC) là một khâu không kém phan quan
trọng trong một hệ thống đo lường và điều khiển bằng máy tính Để
điều khiển một hệ thống như điều khiến tăng, giảm ổn nhiệt của một
lò nhiệt dùng trong công nghiệp haynhư điều khiển động cơ điện thì máy tính cần phát ra tín hiệu điều khiển Tín hiệu này là tín hiệu số
vì thế trong hâù hết các hệ thống tự động hoá cần phải chuyền tín hiệu
này thành tín hiệu tương tự
2.3.2 Sơ đồ khối và nguyên lý làm việc
Dé lay được tín hiệu tương tự từ tín hiệu số là tín hiệu rời rạc theo thời gian, tín hiệu này được đưa qua một bộ lọc thông thấp lý tưởng
z DAC Z LTD 5
Hình 2.8 : Sơ đồ khôi phục tín hiệu tương tự
2.3.3 Các phương pháp chuyền đổi số sang tương tự 2.3.3.1 Chuyển đối bằng phương pháp đấu điện trở R - 2R 2.3.3.2 Chuyển đổi bằng phương pháp Shannon — Rack 2.3.4 So dé mach đầu ra Analog
Trang 1019 2.3.4.1 Mạch khuếch đại điện áp
10K 0.1UF
AD_OUT
J40
OUTPUT_AD
+77
Hình 2.11 : Sơ đỗ mạch khuếch đại điện áp
2.3.4.2 Mạch chuyển áp thành dòng
R143 đ U20A
100K
10K
0.1UF 10K> R147
AD_OUT co
OUTPUT_AD
Hình 2.12: Sơ đồ mạch tạo dòng điện
20 CHƯƠNG 3 THIET KE VA GIAO TIEP MAY TINH
3.1 GIỚI THIỆU MẠNG CÔNG NGHIỆP 3.1.1 Mạng công nghiệp
Mạng công nghiệp hay mạng truyền thông công nghiệp là một khái niệm chỉ các hệ thống mạng truyền thông số, truyền bit nối tiếp, được
sử dụng để ghép nối các thiết bị công nghiệp
3.1.2 Phân loại của hệ thống mạng công nghiệp
Cấp cao nhât là cấp Quan lý, cấp thấp nhất là Chấp hành, càng ở cấp dưới thì các chức năng càng mang tính cơ bản hơn đòi hỏi yêu câu cao hơn về độ nhạy và thời gian đáp ứng Một chức năng ở
trên được thực hiện dựa trên các chức năng cấp dưới, không đòi hỏi
thời gian đáp ứng nhanh như cấp dưới, nhưng lượng thông tin cần trao đối và xử lý lớn hơn nhiều
3.1.3 Cấu trúc Master/Slaver
Trong cầu trúc chủ/tớ, một trạm chủ (Master) có trách nhiệm chủ động phân chia quyền truy nhập bus cho các trạm tớ (slaver) Các trạm tớ đóng vai trò bị động, chỉ có quyên truy nhập bus và gửi tín hiệu đi khi có yêu cầu Trạm chủ có thể dùng phương pháp hỏi tuần tự (polling) theo chu kỳ để kiểm soát toàn bộ hoạt động giao tiếp của cả hệ thống
3.2 GIỚI THIỆU MSSP TRONG VI DIEU KHIEN PIC
3.2.1 SPI
Chuẩn giao tiép SPI cho phép truyén nhận đồng bộ Ta cần sit dung 4 pin cho chuan giao tiép nay
- RC5/SDO: ngõ ra dữ liệu dạng nối tiếp (Serial Data output)