RS422 cũng có thể tạo thành mạng multi-drop network với một bộ truyền và khoảng 10 bộ nhận Tuy nhiên , một mạng multi-network thực sự gồm nhiều mạch phát và nhận cùng nối vào một đường d
Trang 1CHƯƠNG II :
CHUẨNTRUYỀNTHÔNG RS485 VÀ
ADAPTER CHUYỂN ĐỔI RS232 - RS485
I Giới thiệu:
Những tổ chức tiêu chuẩn quốc tế chính cho truyền thông là ITU
( International Communication Union) , EIA (Electronic Industry Association )
và ISO ( International Standards Organisaton) Những tiêu chuẩn của ITU liên quan tới truyền thông nối tiếp được định nghĩa trong đặc điểm kỹ thuật của V-series Sau đây là một số chuẩn truyền thông thường dùng trong công nghiệp
Cổng giao tiếp RS-232C là giao diện phổ biến rộng rãi nhất Máy tính PC thường dùng chuột cho cổng COM1 , COM2 để trống cho các ứng dụng khác Cùng với cổng máy in , cổng nối tiếp RS-232C được sử dụng rất thuận tiện cho mục đích đo lường và điều khiển
Việc truyền dữ liệu qua RS-232C được tiến hành theo cách nối tiếp , nghĩa
là các bit dữ liệu được gửi nối tiếp nhau trên một đường truyền dẫn Trước hết , vì loại truyền này có thể dùng cho những khoảng cách lớn hơn do khả năng gây nhiễu nhỏ đáng kể so với dùng cổng song song Mặt khác , việc dùng cổng song song có một nhược điểm đáng kể là cáp truyền dùng quá nhiều sợi và vì vậy làm tăng chi phí Hơn nữa , tín hiệu nằm trong khoảng 0-5V không thích hợp với khoảng cách lớn
Tốc độ baud thông thường có giá trị : 300, 1200 , 4800 , 9600 , 19200 baud
9 chân 25 chân Chức năng
1 8 DCD – Data Carrier Detect (ngõ vào)
2 3 RXD – Receive Data ( ngõ vào)
3 2 TXD – Transmit Data( ngõ ra)
4 20 DTR – Data Terminal Ready ( ngõ ra)
Trang 25 7 GND – Ground ( nối đất)
6 6 DSR – Data Set Ready ( ngõ vào
7 4 RTS – Request To Send ( ngõ ra)
8 5 CTS – Clear To Send ( ngõ vào)
9 22 RI – Ring Indicator ( ngõ ra)
Bảng 1.1 Sắp xếp chân của cổng nối tiếp ở máy tính
Mức tín hiệu nhận và truyền qua chân RXD và TXD thông thường nằm trong khoảng –12V đến +12V , mức logic tín hiệu được đảo ngược lại Mức điện áp đối với mức High nằm giữa –3V và –12V , mức Low nằm giữa +3V
và +12V
Ở trạng thái tĩnh trên đường vẫn có điện áp –12V , một bít khởi động
( startbit) sẽ mở đầu cho việc truyền dữ liệu , tiếp sau đó là đến các bit dữ liệu
; trong đó các bit có giá trị thấp được gửi trước tiên Số các bit dữ liệu thay đổi giữa 5 và 8 Cuối cùng là một bit dừng ( stop bit) đặt lại trạng thái lối ra (-12V)
Một trong những yêu cầu quan trọng của RS-232 là thời gian chuyển từ mứclogic này tới một mức logic khác không vượt quá 4% thời gian 1 bit Vì thế ,
ở tốc độ 19200 baud , thời gian chuyển mức logic phải nhỏ hơn
0.04/19200=2,1s Vấn đề này làm giới hạn chiều dài đường truyền Với tốc
độ truyền 19200 baud ta có thể truyền xa nhất là 50ft ( khoảng 15m)
Một trong những vấn đề quan trọng cần chú ý khi sử dụng RS-232C là mạchthu phát không cân bằng ( đơn cực ) Điều này có nghĩa là tín hiệu vào ra được so với đất Vì vậy , nếu điện thế tại hai điểm đất của hai mạch thu phát không bằng nhau thì sẽ có dòng điện chạy trên trên dây đất Kết quả là sẽ có
áp rơi trên dây đất ( V=I.R) sẽ làm suy yếu tín hiệu logic
Nếu truyền tín hiệu đi xa , điện trở R sẽ tăng dẫn đến áp rơi trên đất sẽ lớn dần đến lúc tín hiệu logic sẽ rơi vào vùng không xác định và mạch thu sẽ không đúng dữ liệu được truyền từ mạch phát Chính sự không cân bằng trên mạch thu phát là một trong những nguyên nhân giới hạn đường truyền
Trang 3III RS-422/485 :
Khi thực hiện thông tin ở tốc độ cao , hoặc qua một khoảng cách lớn trong môi trường thực , phương pháp đơn cực (single-ended) thường không thích hợp Việc truyền dẫn dữ liệu vi sai ( hay tín hiệu vi sai cân bằng) cho kết quả tốt hơn trong phần lớn trường hợp Tín hiệu vi sai có thể loại bỏ ảnh
hưởng do sự thay đổi trong việc nối đất và giảm nhiễu có thể xuất hiện như điện áp chung trên mạng
RS422 được thiết kế dùng cho khoảng cách và tốc độ Baud rates lớn hơn
so với RS232 , mức tín hiệu có thể lên đến 100K bít/giây và khoảng cách có thể đạt 4000ft RS422 cũng có thể tạo thành mạng multi-drop network với một
bộ truyền và khoảng 10 bộ nhận
Tuy nhiên , một mạng multi-network thực sự gồm nhiều mạch phát và nhận cùng nối vào một đường dây bus chung , mỗi node đều có thể phát và nhận data RS485 đáp ứng các yêu cầu này Chuẩn RS485 cho phép 32 mạch truyền và mạch nhận cùng nối vào đường dây bus đơn (với bộ repeater tự động
và các bộ truyền / nhận trở kháng cao, giới hạn này có thể mở rộng lên đến hàng trăm node trên một mạng) Bên cạnh đó , RS485 còn có thể chịu được cácxung đột data(data collision) và các điều kiện lỗi trên đường dây bus
Để giải quyết vấn đề xung đột data thường xuất hiện trên mạng drop network , các đơn vị phần cứng( converters, repeaters , micro-processor controls ) được thiết kế để luôn duy trì ở trạng thái nhận cho đến khi chúng đã sẵn sàng truyền data Một node master sẽ kích khởi một yêu cầu truyền đến một slave node bằng cách định địa chỉ node đó Phần cứng phát hiện bit start của ký tự được truyền và tự động cho phép bộ truyền làm việc Sau khi một ký
multi-tự được truyền , phần cứng sẽ trở về trạng thái nhận sau một vài micro giây Khi có ký tự mới cần gửi , bộ truyền sẽ tự động được kích lại Như vậy , một slave node được định địa chỉ có thể đáp ứng ngay lập tức mà không cần thực hiện một khoảng delay dài để tránh xung đột
Những ưu điểm của RS485 so với RS232 :
Trang 4 Chi phí thấp Bộ truyền và bộ nhận thường không quá đắt và chỉ đòi hỏi
một nguồn đơn +5V ( hoặc thấp hơn) để tạo ra mức áp tối thiểu là 1,5V tại ngõ ra vi sai Ngược lại , ngõ ra tối thiểu của RS232 là 5V cần một nguồn cung cấp kép hoặc một chip có chi phí đáng kể để tạo ra các nguồn này
Khả năng nối mạng Thay vì giới hạn ở 2 đơn vị , RS485 là giao diện có
thể cung cấp cho việc kết nối có nhiều bộ truyền và nhận Với bộ nhận có trở kháng cao , RS485 có thể cho kết nối lên đến 256 node
Đường dây kết nối dài Một mạng RS485 có thể dài đến 4000 feet so với
RS232 có giới hạn từ 50 đến 100 feet
Tốc độ nhanh RS485 có thể cho tốc độ lên đến 10 Megabits/giây.
Trang 6IV Full Duplex :
Giao diện RS485 được thiết kế để sử dụng trong hệ thống có nhiều node , với một hoặc nhiều bộ truyền hoặc nhận Phần lớn các kết nối RS485 đều là bán song công , trong đó bộ truyền và nhận dùng chung một đường tín hiệu Tuy nhiên , ta cũng có thể dùng RS485 dưới dạng song công , mỗi hướng truyền dùng một đường tín hiệu riêng Đây là giải pháp đơn giản khi ta muốn tạo một kết nối dài , song công giữa các microcontrollers Các chip dùng cho RS485 cũng nhỏ hơn , đơn giản hơn và rẻ hơn so với RS232 Thuận lợi của cách kết nối này là nó tiết kiệm thời gian cho các slave ( bộ nhận) vì chúng không phải đọc tín hiệu trả lời ( master) từ các slave được hỏi Tuy nhiên , nếu dùng đường dây dài , chi phí sẽ tăng đáng kể
V Half Duplex :
Nhiều liên kết RS485 ở dạng bán song công , với nhiều bộ nhận và truyền dùng chung một đường tín hiệu Khi một liên kết có 3 node hoặc nhiều hơn, ta chú ý rằng chỉ có một đường tín hiệu và chỉ có một node được truyền tại mỗi thời điểm Do đó cần bảo đảm đường truyền đang ở trạng thái free khi một node muốn truyền
* Mạch bảo vệ bên trong :
Trong kết nối bán song công , chỉ có một bộ truyền được cho phép tại một thời điểm nhưng cho dù được thiết kế cẩn thận đến đâu , vẫn có thể có trường hợp tại một thời điểm nào đó hai hoặc nhiều bộ truyền đều được enablecùng một lúc Khi điều này xảy ra, nếu các driver kéo đường dây theo các trạngthái ngược nhau , tín hiệu trên đường dây sẽ ở mức logic không xác định , hiệntượng này gọi là sự tranh chấp trên đường dây (line contention)
Tất cả các chip RS485 đều có giới hạn dòng (curent limiting) và tự động shutdown do quá nhiệt (thermal shutdown) để bảo vệ chip nếu có nhiều hơn một bộ nhận được cho phép cùng lúc Giới hạn dòng hạn chế dòng ra của
bộ truyền Theo chuẩn TIA/EIA-485 mức giới hạn này phải dưới 250mA Nếu ngõ ra output tiếp tục đưa ra dòng cao , nhiệt độ của chip sẽ tăng lên và cuối cùng mạch bảo vệ quá nhiệt bên trong chip sẽ chuyển ngõ ra sang trạng thái trở kháng cao( high-impedance state) Điều này cũng đồng nghĩa với việc ngõ
ra sẽ không thể sử dụng cho tới khi nó được hạ nhiệt , nhưng bảo đảm linh kiện
sẽ không bị hư
VI Các Phương Pháp Truyền Thông
Đơn công ( Simplex Communication) : truyền thông một chiều Dữ liệu chỉ
có thể truyền đi theo một chiều từ thiết bị này sang thiết bị khác mà không cóchiều ngược lại(hình 1.2)
Bán song công ( Half Duplex Communication ) : tại một thời điểm chỉ có một node truyền và một node nhận Cho phép truyền hai chiều(hình 1.3)
Trang 7Song công ( Full Duplex Communication ) : cho phép truyền dữ liệ đồng thời giữa hai thiết bị(hình 1.4).
Chuẩn RS-232C được định nghĩa là một chuẩn giao tiếp giữa một DTE ( Device Terminal Equipment – thường là computer) và một DCE ( Device Communication Equipment – các thiết bị ngoại vi) với khoảng cách truyền tối
đa là 50ft ( khoảng 15m ) và tốc độ tối đa là 20kps
Chương III :
I Hoạt Động Của Bus I 2 C :
Bus I2C (viết tắt từ Inter-Ic-Bus) là một mối liên kết dữ liệu 2 dây giữa một hoặc nhiều bộ xử lý (Master) và những khối ngoại vi cụ thể (slave).Tất cả các vi mạch đều liên kết trực tiếp với bus và được trao đổi dưới địa chỉ của từng vi mạch Các địa chỉ và dữ liệu được truyền trên chính các đường dẫn Bus I2C cho phép hình thành một mối liên kết đơn giản giữa nhiều vi mạch và cho phép dễ dàng mở rộng thêm
Trang 8Tất cả các vi mạch tham gia bus, khống chế giao thức theo một cách riêng Bên cạnh các bộ nhớ RAM, EEPROM, các vi mạch mở rộng cổng, các
bộ biến dổi A/D và D/A cũng như các vi mạch đồng hồ còn có nhiều vi mạch chuyên dụng, chẳng hạn bộ đệm hiển thị hoặc các vi mạch dùng trong kỹ thuật truyền hình Tất cả các vi mạch này đều có thể điều khiển dễ dàng và trực tiếp qua hai đường dẫn của dao diện song song với máy tính PC Chỉ cần bổ sung thêm rất ít các vi mạch, cổng nối tiếp cũng có thể được sử dụng
II Truyền Dữ Liệu và Định Địa Chỉ :
vi mạch chủ cũng như từ vi mạch tớ
Giao thức bus I2C nhận biết một dẵy các tình huống đẵ được định nghĩa chính xác, các tình huống này giới thiệu từng thành viên bus, để nhận dạng chỗbắt dầu và kết thúc của một cuộc truyền cũng như cách định địa chỉ có thể có của nó
Trạng thái yên tĩnh: SDA và SCL ở mức HIGH và do vậy là không kích hoạt
Điều kiện bắt đầu( Start): SDA được vi mạch master chuyển sang mức thấp, trong khi SCL giữ nguyên ở mức HIGH
Điều kiện dừng (Stop) : SDA chuyển từ trạng thái LOW sang HIGH, trong khi SCL giữ nguyên ở mức HIGH
Truyền dữ liệu : Mỗi bộ truyền xếp tám bít dữ liệu lên đường dẫn dữ liệu SDA, bằng các xung giữ nhịp các bít này được vi mạch chủ(master) đẩy tiếp lên đường giữ nhịp SCL Việc truyền dữ liệu bắt đầu với bít có giá trị lớn nhất
Xác nhận (Acknowledge):Mỗi bộ nhận kết thúc qúa trình nhận môt byte bằng một mức LOW ở đường dẫn SDA, cho đến khi vi mạch chủ tạo ra xung đồng
hồ thứ chín ở đường dẫn SCL Việc xác nhận đồng thời có nghĩa là một byte tiếp theo cần được nhận Việc kết thúc cuộc truyền theo mong muốn cần phải được báo trước bằng việc không xuất hiện sự xác nhận Sự kết thúc thật sự của cuộc truyền được đạt tới bằng điều kiện dừng(Stop)
Các địa chỉ được truyền và kết thúc giống hệt như dữ liệu Trong trường hợp đơn giản nhất là cuộc truyền dữ liệu từ vi mạch chủ tới một vi mạch
tớ(slave) chẳng hạn tới một cổng lối ra, các qúa trình diễn ra sau: Vi mạch chủ (master) tạo ra diều kiện bắt đầu và truyền địa chỉ của vi mạch cổng vào các bit
Trang 97 đến 1 và hướng mong muốn truyền dữ liệu vào bit 0, cụ thể là 0 đối với trường hợp "ghi" và 1 đối với trường hợp "đọc" Việc truyền địa chỉ được kết thúc bởi vi mạch tớ (slave) cần trao đổi Sau đó vi mạch chủ (master) gửi byte
dữ liệu và cũng là để kết thúc một qúa trình truyền Vi mạch chủ có thể chấm dứt mối liên kết bằng điều kiện Stop hoặc gửi các byte tiếp theo tới chính các
vi mạch ấy
Các địa chỉ chỉ vi mạch có độ dài 7 bit,trong đó còn một bit hướng dữ liệu được truyền bổ sung sau cùng Thông thương các địa chỉ vi mạch được quiđịnh để chỉ rõ loại trong 4 bit cao hơn và có thể được lựa chọn tự do trong 3 bitthấp hơn (A0 - A2) bằng mạch điện bên ngoài Nhiều vi mạch cùng một loại cũng có thể hoạt động trên cùng một bus Tổng cộng có thể có đến 128 vi mạch
có thể được sử dụng trên cùng một bus
Địa chỉ bus I2C với hướng dữ liệu
Khi cần đọc dữ liệu từ một vi mạch tớ (slave), địa chỉ cần phải được truyền bằng bit hướng dữ liệu đẵ được đặt Vi mạch chủ xuất ra từng nhóm támxung đồng hồ và nhận được tám bit dữ liệu Cho đến khi nó xác nhận cuộc nhận dữ liệu bằng Acknowledge, ở xung đồng hồ thú chín, vi mạch này có thể nhận các byte tiếp theo.Cuối cùng, cuộc truyền được vi mạch chủ kết thúc bằngviệc không đưa ra tín hiệu xác nhận (Nacknowledge ) và kèm theo là điều kiện dừng
Mỗi mạch I2C đều có một địa chỉ đẵ được quy định, địa chỉ này một phần được quy định để đặc trưng cho từng loại còn một phần khác được thay đổi qua các đường dẫn địa chỉ được dẫn ra ngoài Điều đó có nghĩa là,chẳng hạn với ba đường địa chỉ được dẫn ra ngoài có tới tám vi mạch cùng loại có thểđược đấu nối vào bus
Tốc độ giữ nhịp cực đại dùng cho bus I2C bằng 100 KHz Các chương trình được giới thiệu dưới đây sử dụng thời gian chờ bằng 10ms, để tránh tình trạng vượt qúa tốc độ cưc đại khi cho chạy trên các máy tính nhanh
III Bus I 2 C Dùng SEEPROM AT24C0X
Đây là 1 bộ nhớ cố định (permanent),có thể được xoá và ghi bằng điện
mà không cần cung cấp điện áp làm việc phụ thêm
Trang 10Các bộ nhớ SEEPROM có dung lượng nhỏ thường được sử dụng để thiết lập các dữ liệu định chuẩn hoặc một lương dữ liệu không đáng kể khác mộtcách độc lập với nguồn cung cấp vào một hệ thống Các vi mạch này bảo đảm việc lưu trữ dữ liệu được trên 10 năm Một ưu điểm khác là việc thiết
kế mạch đơn giản,đồng nghĩa với việc không cần đến điện áp bổ sung dùngcho bộ nạp chương trình,bởi vì một điện áp cao hơn đã được tạo ra ngay trên chip
WP VCC
AT89C51
9 18
30 31
1 2 3 4 5 6 7 8
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
39 38 37 36 35 34 33 32
RST XTAL2 XTAL1 PSEN
ALE/PROG EA/VPP
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
Trang 11Viết AT24C0X : Xóa ghi EEPROM,max 2 bytes
Viết Ack của Slave
Đọc AT24C0X :
Viết Ack của Slave
Ack của Master không có NACK
Khi đọc ra,sau địa chỉ vi mạch,trước hết là địa chỉ byte của byte đầu tiên mong muốn phải được chỉ định Sau đó,điều kiện ngừng cần phải được xuất ra
để trao đổ với vi mạch theo hướng đọc ra Trên đó nhiều byte có thể đuợc đọc
ra một cách tùy ý Một bộ đệm địa chỉ bên trong tự động tăng thêm một
Khi lập trình (viết) cấn chú ý là sau địa chỉ vi mạch,địa chỉ byte mong muốn cần được chuyển giao Sau đó,tiếp theo là byte dữ liệu cần được lập trình.Cũng có thể xảy ra trường hợp hai byte được truyền kế tiếp nhau Khi đó,quá trình lập trình và xoá thực tế bắt đầu ngay sau điều kiện ngừng
S Địa chỉ Slave 0 A Địa chỉ bộ nhớ A Viết byte 1 A Viết byte 2 A S
S Địa chỉ Slave 0 A Địa chỉ bộ nhớ A A
Đọc byte 1 A
S Địa chỉ Slave 1
Đọc byte 2 A Đọc byte n NACK S
Trang 12III CHƯƠNG TRÌNH VIẾT EEPROM AT24C0X TỪ PC :
1 Chương trình vi xử lí :
ORG 0000HMEM1 EQU 30HMEM2 EQU 31HMEM19 EQU 50HMEM20 EQU 51HMAIN:
MOV SCON,#01010010BCLR TR1
MOV TMOD,#21HMOV TH1,# -3SETB TR1 LOOP:
;Nhan tin hieu tu PCACALL INCHARCJNE A,#79,NEXT
;CT write a byteACALL INCHARMOV MEM1,A ; Address 24C02ACALL INCHAR
MOV MEM2,A ; Data 24C02ACALL VIETROM
;Delay thoi gian de nap RomACALL DELAY100MS
;Goi CT con docrom NEXT:
CJNE A,#79,LOOP
;CT Read a byte
;Khai bao cac CT conACALL INCHARMOV MEM1,A ; Address 24C02ACALL DOCROM
Trang 13;Phat len PC gia tri rom doc duocACALL OUTCHAR
;Xuat ra P2 de kiem tra
Trang 14MOV MEM20,A ;LUU TRU
Trang 15CLR P1.7 ;SCL = 0 DJNZ MEM19,LAP1 ;8 LAN RET
JNB TF0,$
CLR TF0
CLR TR0
DJNZ B,LAP2
Trang 16POP B RETEND
2 Chương trình Visual Basic :
Dim Dataout(0) As Byte
Dim Datain() As Byte
Dim Transfer As Byte
Dim Timeout As Boolean
Dim str As String
Dim Buffer As Variant
Private Sub CmdRead_Click()
'Phat tin hieu read a byte
Loop Until MSComm1.InBufferCount = 1 Or Timeout = True
If Timeout = False Then
Trang 17'Phat tin hieu write a byte
Loop Until MSComm1.InBufferCount = 1 Or Timeout = True
If Timeout = False Then
Buffer = MSComm1.Input
Datain() = Buffer
If Datain(0) = Val(Text1.Text) Then
Text4.Text = "Data writed successfully !"
Trang 18GIỚI THIỆU DÂY CHUYỀN SẢN XUẤT
I.Yêu Cầu Của Công Việc Đối Với Dây Chuyền Sản Xuất :
Sản phẩm sau khi qua giai đoạn cơ bản,nó phải qua các công đoạn phụ Sau khi làm đã đủ các công đoạn phụ này,nó sẽ trở thành sản phẩm hoàn chỉnh để đưa đến người tiêu dùng Các công đoạn phụ này có đặc điểm là chúng không phụ thuộc vào nhau,công đoạn này có thể làm trước hoặc làm saubất kỳ công đoạn nào,không cần theo thứ tự Trong dây chuyền sản xuất này cócông đoạn cuối cùng để lấy sản phẩm hoàn chỉnh đã làm đủ các công đoạn phụ
ra khỏi dây chuyền đồng thời cho phép đưa sản phẩm mới vào (sản phẩm chưa làm công đoạn phụ nào)
Mục đích sau cùng là làm sao phân bố đều công việc đến các công đoạn phụ,tại mỗi thời điểm ở các công đoạn đều có sản phẩm để làm Khi đó dây chuyền sản xuất sẽ đạt năng suất và hiệu quả cao nhất
* Em cũng xin giới thiệu dây chuyền sản xuất đang được ứng dụng tại xínghiệp may Việt Tiến Sản phẩm ở đây là áo quần các loại Các công đoạn phụ bao gồm: vào cổ,đơm nút,may túi,may cánh tay
II.Dây Chuyền Sản Xuất:
Dây chuỵền sản xuất ở đây có băng tải chuyển động tròn đều với vậntốc không đổi ( vận tốc của băng tải tương đối thấp khoảng10cm/s) Sau khi chuyển động được một vòng, nó sẽ trở về vị trí ban đầu
Trang 19 Băng tải ở đây có nhiệm vụ chuyển động để đưa các sản phẩm sau khi đã hoàn thành bất kỳ công đoạn nào hoặc đưa sản phẩm mới vào dây
chuyền sản xuất
Vấn đề đặt ra là quản lý số sản phẩm có trên băng tải, đồng thời biết được các sản phẩm đó đã làm công đoạn nào và chưa làm công doạn nào Từ
đó cho phép điều khiển vào,ra tại các vị trí vào ra của các công đoạn
Do đó cấu tạo của băng tải sẽ gồm một số rãnh cố định ( ký hiệu là n,
n = const, n có thể lên đến hàng ngàn) Mỗi rãnh của băng tải có hai trạng thái: chứa một bánh xe dùng để treo sản phẩm hoặc trống ( không có sản phẩm)
Băng tải có thể cho phép các bánh xe( dùng để treo sản phẩm) vào hoặc ra tại các vị trí cho phép vào ra của các công đoạn Khi có tín hiệu điều khiển vào thì ngay lập tức băng tải sẽ đẩy bánh xe ra khỏi dây chuyền, đồng thời khi có tín hiệu điều khiển ra thì băng tải sẽ cho phép bánh xe chứa sản phẩm đã làm xong công đoạn nào đó đang chờ vào dây chuyền tức thì
Hình : Dây Chuyền Sản Xuất
1 Băng chuyền chính 4 Truyền động chính
2 Băng chuyền rẽ nhánh 5 Thiết bị rẽ nhánh
3 Bàn làm việc 6 Thiết bị nhận dạng
7 Tủ điều khiển băng chuyền chính 10 Cột chính truyền động
8 Tủ điều khiển băng chuyền rẽ nhánh 11 Sản phẩm chờ
Trang 21Cột trung gian Cột truyền động chính
III.Cách Nhận Biết Các Bánh Xe (các sản phẩm):
Vấn đề đặt ra làm thế nào để nhận biết được các bánh xe khi chúng vào
và ra khỏi băng tải của dây chuyền không theo một thứ tự, quy định nào Do đó
để nhận biết các bánh xe ta sẽ gắn một con SEEPROM (AT24C0X) Mỗi một con AT24C0X sẽ được nạp một giá trị cố định ( mã ROM)
VÍ DỤ: giả sử băng tải của dây chuyền có 1000 rãnh thì ta sẽ dùng 1000 con ROM gắn trên 1000 bánh xe Vì vậy để phân biệt được bánh xe (sản phẩm)này thì các con SEEPROM sẽ được nạp các giá trị từ 1 đến 1000 (2 bytes)
IV Đọc Dữ Liệu Từ Serial EEPROM :
Như ta đã giới thiệu ở phần bus I2C để đọc dữ liệu từ SEEPROM tại mỗi công đoạn ta sẽ dùng 1 con VXL AT89C51
Nếu dây chuyền sản xuất có n công đoạn ,ta sẽ dùng (n+1) con VXL Con VXL sau cùng dùng cho việc lấy sản phẩm đã làm xong n công đoạn ra và đưa sản phẩm mới vào
V Điều Khiển Vào và Điều Khiển Ra :
Tại mỗi công đoạn sẽ có 2 vị trí đặc biệt :
Vị trí cho phép vào (MEMIN) : Cho phép bánh xe chứa sản phẩm rẽ vào băng chuyền rẽ nhánh để làm
Trang 22 Vị trí cho phép ra (MEMOUT) : Cho phép bánh xe chứa sản phẩm làm xong đang chờ chạy vào băng chuyền chính
Các vị trí MEMIN & MEMOUT của cùng 1 công đoạn và giữa các công đoạn sẽ cách nhau 1 khoảng cách cố định do cấu tạo cơ khí và cách bố trí các công đoạn của dây chuyền sản xuất
Điều khiển vào : điều kiện
MEMIN # 0 : có bánh xe (sản phẩm)
Không có tín hiệu báo đầy từ công đoạn đang xét
Điều khiển ra : điều kiện
MEMOUT # 0 :không có sản phẩm
Có sản phẩm làm xong đang chờ Ghi chú : Khi có sản phẩm làm xong đang chờ cho ra để vào băng tải Khi có tín hiệu Điều Khiển ra thì bánh xe ( AT24C02 ) sẽ được cấp nguồn
và 2 chân SDA và SCL tiếp xúc P1.6 và P1.7 , VXL sẽ đọc được dữ liệu từ AT24C02 được cấp nguồn và phát lên PC
VI Sơ Đồ Nguyên Lý Điều Khiển :
Đọc EEPROM
ĐK Vào&Ra
Đọc EEPROM
ĐK Vào&Ra
Đọc EEPROM
Trang 23 Điều khiển vào (sản phẩm đã làm đủ n công đoạn)
Điều khiển ra (đưa sản phẩm mới vào)
Phát PC tín hiệu :
Cờ báo băng tải chuyển động (mỗi lần băng tải chuyển động được 1
ô (rãnh) thì cờ băng tải sẽ báo)
Mã SEEPROM
PC có nhiệm vụ thu thập,quản lý và xử lí dữ liệu
Set các vị trí MEMIN(i) và MEMOUT(i) (i = 1đến n+1)
Quản lí n rãnh băng tải của dây chuyền sản xuất :mỗi lần nhận được tín hiệu cờ băng tải từ VXL cuối (n+1),PC sẽ tăng các giá trị MEMIN(i) và MEMOUT(i) lên 1 đơn vị
Quản lí n sản phẩm (n bánh xe) đã làm công đoạn nào và chưa làm công đoạn nào hay là sản phẩ mới đưa vào
Phát tín hiệu Điều khiển vào và Điều khiển ra đến các VXL
Trang 24CHƯƠNG V :
ĐỂ ĐIỀU KHIỂN DÂY CHUYỀN SẢN XUẤT (DCSX) TỔNG QUÁTTRÊN GỒM n CÔNG ĐOẠN (CĐ),CHƯƠNG TRÌNH MINH HỌA SAU ĐÂY SẼ TRÌNH BÀY DÂY CHUYỀN SẢN XUẤT ĐƠN GIẢN NHƯ SAU :SẢN PHẨM (SP) PHẢI LÀM 3 CĐ VÀ CĐ CUỐI CÙNG LÀ CĐ 4 ĐỂ LẤY
SP ĐÃ LÀM XONG 3 CĐ RA VÀ ĐƯA SP MỚI VÀO (CHƯƠNG TRÌNH HOÀN TOÀN CÓ THỂ MỞ RỘNG CHO DCSX GỒM n CĐ) CÁC CĐ 1,2,3,4 ỨNG VỚI VỊ TRÍ CỦA CÁC VXL 1,2,3,4
* Giả sử băng tải của DCSX có 12 rãnh (ô) ,do đó có thể chứa tối đa 12 bánh xe (SP) mỗi bánh xe có gắn 1 con seeprom AT24C0X,các con seeprom được nạp các giá trị từ 1 - 12 (1 byte)
* Các VXL 1,2,3 :
Nhận từ PC tín hiệu :
ĐK Vào (xuất xung ra P3.4 để kiểm tra)
ĐK Ra (xuất xung ra P3.5 để kiểm tra)
ĐK Vào (xuất xung ra P3.4 để kiểm tra)
ĐK Ra (xuất xung ra P3.5 để kiểm tra)
Phát lên PC tín hiệu :
Cờ báo băng tải chuyển động ( Swich P3.2 = 0 )
Mã ROM đọc được (Swich P3.3 = 0 : có sản phẩm làm xong đang chờ để vào DCSX )
* PC :
Dùng mảng MEMIN(1-4) để xét các vị trí ĐK Vào tại các VXL 1,2,3,4
Dùng mảng MEMOUT(1-4) để xét các vị trí ĐK Ra tại các VXL 1,2,3,4
Trang 25 Dùng mảng DATA(1-12) để quản lí 12 ô BT, ô nào không có SP thì DATA(i) = 0,ô nào có SP thì giá trị DATA(i) = mã ROM chứa SP đó (i = 1-12)
Dùng mảng DATACD(1-12) để quản lí các CĐ đã làm hoặc chưa làm của 12 SP Nếu SP trên bánh xe chứa ROM có mã là i thì DATACD(i) sẽ quản lí (i = 1-12) SP đó
Trang 265V 5V
-Busy ( CĐ1,2,3 ) -Cờ BT (CĐ4 )
330 33p
12 9
14
7
16
15 R1IN
T1IN
C+
C2- V+
C1-
V-R1OUT T1OUT
VCC
GND
AT24C02
1 3 4
5
7
8 A0 A2 GND
SDA SCLK WP VCC
C
1 2 4 6 8
1 3 5 7
21 23 25 27 10
12 14 16
39 37 35 33 RST
P1.0 P1.2 P1.4 P1.6
P2.0/A8 P2.2/A10 P2.4/A12 P2.6/A14 P3.0/RXD
P3.1/TXD
P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0 P0.2/AD2 P0.4/AD4 P0.6/AD6
JP2
1 3
1U
12MHZ 1U
CT ĐK Vào LOOP PC
Trang 27N Y
LƯU ĐỒ GIẢI THUẬT CHI TIẾT :
DATA[MEMIN(1)]#
0
Phát tín hiệu ĐK vào xuống VXL1 DATAOUT = 11H
CĐ1 làm chưa ? DATACD[DATA(MEMIN(1))]
AND 01H = 01H ?
LOOP
Trang 28N
Y
N
N
Xoá ô nhớ vừa cho SP vào
CĐ2 làm chưa ? DATACD[DATA(MEMIN(2))]
AND 02H = 02H ?
Trang 29
Y
Y Y
N
N
Y
Y
Có tín hiệu báo Busy
từ VXL2 ? DATAIN = 42H ?
Xoá ô nhớ vừa cho SP vào
DAT[MEMIN(2)] = 0
Vị trí vào CĐ3 có SP?
DATA[MEMIN(3)#
0?
Phát tín hiệu ĐK vào xuống VXL3 DATAOUT = 13H
CĐ3 làm chưa ? DATACD[DATA(MEMIN(3))]
AND 04H = 04H ?
Trang 30N
N
Phát tín hiệu ĐK vào xuống VXL4 DATAOUT = 14H
Có tín hiệu báo Busy
từ VXL3 ? DATAIN = 43H ?
Xoá ô nhớ vừa cho SP vào
DATA[MEMIN(3)] = 0
Vị trí vào CĐ4 có SP?
DATA[MEMIN(4)#
0?
Cả ba CĐ1,CĐ2,CĐ3 làm chưa ? DATACD[DATA(MEMIN(4))]
AND 07H = 07H ?
Xoá ô nhớ vừa cho SP vào DATA[MEMIN(4)] = 0
Trang 31Y
Y
CT ĐK RA
Vị trí ra CĐ1 có SP ? DATA[MEMOUT(1) ] #0 ?
Truyền tín hiệu ĐK ra xuống VXL1
Đánh dấu CĐ1 đã làm DATACD[DATA(MEMOUT(1))] OR 01H
Trang 32
Truyền tín hiệu ĐK ra xuống VXL2
Đánh dấu CĐ2 đã làm DATACD[DATA(MEMOUT(2))] OR 02H