Xem bài viết đơn
  #24 (permalink)  
Cũ 03-06-08, 10:21 AM
vuvietcuong80 vuvietcuong80 đã thoát
Junior Member
 
Tham gia ngày: Jun 2008
Bài gửi: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Mặc định

hì theo mình hiểu thế này mong mọi người góp ý ! tại sao RS 232 chỉ tối đa cho phép giao tiếp 32 thiết bị và RS 485 cho phép 64 thiết bị là do nguyên nhân sau

do giao thức truyền bị hạn chế bởi byte mã hóa RS 232 chỉ truyền được 3 byte còn RS485 chỉ truyền được 5 byte
RS232inData
TYPE RS232
STRUCT
Status: BYTE;
SerStatus: BYTE;
D: ARRAY[0..2] OF BYTE;
END_STRUCT
END_TYPE
RS232outData
TYPE RS232outData
STRUCT
Ctrl: BYTE;
SerCtrl: BYTE;
D: ARRAY[0..2] OF BYTE;
END_STRUCT
END_TYPE
còn RS485
RS485inData
TYPE RS485
STRUCT
Status: BYTE;
SerStatus: BYTE;
D: ARRAY[0..4] OF BYTE;
END_STRUCT
END_TYPE
RS485outData
TYPE RS485outData
STRUCT
Ctrl: BYTE;
SerCtrl: BYTE;
D: ARRAY[0..4] OF BYTE;
END_STRUCT
END_TYPE
khi nhận byte thì
VAR_OUTPUT
ByteReceived: BOOL;
ReceivedByte: BYTE;
Error: INT;
END_VAR
VAR_IN_OUT
RxBuffer : ComBuffer;
END_VAR
khi gửi byte
VAR_INPUT
SendByte: BYTE;
END_VAR
VAR_OUTPUT
Busy : BOOL;
Error: INT;
END_VAR
VAR_IN_OUT
TxBuffer: ComBuffer;
END_VAR
khi nhận chuỗi
VAR_INPUT
Prefix : STRING;
Suffix : STRING;
Timeout : TIME;
Reset :BOOL;
END_VAR
VAR_OUTPUT
StringReceived: BOOL;
busy : BOOL;
Error: INT;
RxTimeout : BOOL;
END_VAR
VAR_IN_OUT
ReceivedString : STRING;
RXbuffer : ComBuffer;
END_VAR
khi gửi chuỗi
VAR_INPUT
SendString: STRING;
END_VAR
VAR_OUTPUT
Busy : BOOL;
Error: INT;
END_VAR
VAR_IN_OUT
TXbuffer: ComBuffer;
END_VAR
còn băng thông nó chỉ ảnh hưởng tới khoảng cách truyền và tốc độ truyền thôi còn muốn khoảng cách truyền xa giữa 2 cổng RS232 hay 2 cổng RS 485 thì sài conveter quang thích xa bao nhiêu cũng được mình đã làm truyền 300km rồi
tóm lại tất cả các giao thức kết nối khả năng mở rộng các nút là do giao thức mã hóa tín hiệu
còn nếu muốn mở rộng các nút thì sài kiểu kết nối hình sao một nút master quản lý 32 nút slave

Thay đổi nội dung bởi: vuvietcuong80, 03-06-08 lúc 10:23 AM
Trả Lời Với Trích Dẫn