Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 27: Truyền thông nối tiếp

27. TRUYỀN THÔNG NỐI TIẾP  
Chủ đề:  
Truyền thông nối tiếp và RS-232c  
Các hàm logic bậc thang ASCII  
Trường hợp thiết kế  
Mục tiêu:  
Để hiểu các truyền thông nối tiếp với RS-232  
Có khả năng dùng các truyền thông nối tiếp với một PLC  
27.1 GIỚI THIỆU  
Nhiều hệ điều khiển sẽ được dùng cho các quá trình phức tạp. Các hệ điều  
khiển này có thể là các PLC, nhưng các bộ điều khiển khác bao gồm các người máy,  
các đầu cuối dữ liệu và các máy tính. Đối với các bộ điều khiển này cho làm việc cùng  
với nhau, chúng phải giao tiếp. Chương này sẽ thảo luận các kỹ thuật truyền thông  
giữa các máy tính, và chúng áp dụng cho các PLC như thế nào.  
Một dạng đơn giản nhất của truyền thông là một kết nối trực tiếp giữa hai máy  
tính. Một mạng sẽ nối một cách đồng thời một số lượng lớn các máy tính trên một  
mạng. Dữ liệu có thể được truyền một bit tại một thời điểm theo loạt liên tiếp, đây  
được gọi là truyền thông nối tiếp. Các bit dữ liệu cũng có thể được gửi song song. Tốc  
độ truyền sẽ thường bị giới hạn tới một vài giá trị cực đại, từ một vài bit trên giây, tới  
hàng tỷ bit trên giây. Các truyền thông này thường có các khoảng cách bị giới hạn, từ  
vài bộ cho tới hàng ngàn dặm Anh/ki lô mét.  
Truyền thông dữ liệu đã phát triển từ các năm 1800 khi các máy điện báo đã  
được dùng để truyền các thông điệp đơn giản bằng cách dùng mã Morse. Quá trình  
này đã tự động với các máy teletype mà chúng đã cho phép một người dùng đánh  
một thông điệp tại một đầu cuối, và kết quả sẽ được in ra trên một đầu cuối từ xa.  
Trong lúc đó, hệ điện thoại bắt đầu xuất hiện như một mạng lớn cho kết nối các  
người dùng. Trong cuối những năm 1950 Bell Telephone đã giới thiệu các mạng  
truyền thông dữ liệu, và Texaco đã bắt đầu dùng điều khiển và giám sát từ xa để tự  
động một nhà máy trùng hợp. Những năm 1960 truyền thông dữ liệu và hệ điện  
thoại đang được dùng cùng nhau. Vào cuối những năm 1960 những năm 1970 các kỹ  
thuật truyền thông dữ liệu hiện đại đã được phát triển. Nó bao gồm phiên bản sớm  
hơn của Internet, được gọi là ARPAnet. Trước những năm 1980 cấu hình máy tính  
thông thường nhất đã là một máy tính mainframe trung tâm với các đầu cuối dữ liệu  
từ xa, được kết nối với đường dữ liệu nối tiếp. Trong những năm 1980 máy tính cá  
nhân đã bắt đầu thay thế cho các máy tính trung tâm. Kết quả là, các mạng tốc độ  
cao bây giờ đang được thay thế các kết nối nối tiếp dành riêng. Các giao tiếp nối tiếp  
và các mạng cả hai là rất quan trọng trong các ứng dụng điều khiển hiện đại.  
Một ví dụ của một hệ điều khiển dựa trên mạng được chỉ ra trong hình 27.1.  
Máy tính này và PLC được kết nối với một kết nối (dữ liệu nối tiếp) RS-232. Kết nối  
này có thể chỉ kết nối hai thiết bị. Devicenet được dùng bởi máy tính này để giao tiếp  
với các bộ truyền động và các cảm biến khác nhau. Devicenet có thể hỗ trợ lên tới 63  
bộ truyền động và cảm biến. Các đầu vào và các đầu ra PLC này được kết nối như  
bình thường tới quá trình này.  
Figure 27.1 A Communication Example – Một ví dụ truyền thông  
27.2 TRUYỀN THÔNG NỐI TIẾP  
Các truyền thông nối tiếp gửi một bit đơn lẻ tại một thời điểm nào đó giữa các  
máy tính. Điều này chỉ yêu cầu một kênh giao tiếp đơn lẻ, trái ngược với 8 kênh để  
gửi một byte. Với chỉ một kênh giá là thấp hơn, nhưng tốc độ truyền thông là chậm  
hơn. Các kênh truyền thông thường dựa trên dây kim loại, nhưng chúng cũng có thể  
là quang hay ra đi ô. Hình 27.2 chỉ ra một vài kết nối điện chuẩn. RS-232c là chuẩn  
thông dụng nhất mà nó dựa trên mức thay đổi điện thế. Tại máy tính gửi một đầu  
vào sẽ hoặc là đúng hoặc là sai. Bộ điều khiển dây (line driver) này sẽ chuyển một giá  
trị sai vào trong (in) một điện thế Txd giữa +3V tới +5V, đúng sẽ giữa -3V tới -15V.  
Một cáp kết nối Txd này và com trên máy tính gửi tới Rxd và các đầu vào com trên  
máy tính nhận. Bộ tiếp nhận chuyển các điện thế dương và âm trở lại các mức điện  
thế logic trong máy tính nhận này. Độ dài cáp được giới hạn là 50 bộ để giảm ảnh  
hưởng của ồn điện. Khi RS-232 được dùng cho nhà máy, sự quan tâm được yêu cầu  
để giảm ảnh hưởng của ồn điện – các cáp bọc và kết nối đất cẩn thận thường được  
dùng.  
Figure 27.2 Serial Data Standards – Các chuẩn dữ liệu nối tiếp  
Cáp RS-422a dùng một mạch một chiều 20mA thay vì các mức điện áp. Điều này  
làm các hệ miễn dịch hơn với ồn điện, vì thế cáp này có thể dài lên tới 3000 bộ.  
Chuẩn RS-423a dùng một mức điện áp vi phân qua hai đường, cũng làm hệ này miễn  
dịch hơn với ồn điện, vì thế cho phép các cáp dài hơn. Để cung cấp giao tiếp nối tiếp  
trong hai hướng các mạch này phải được kết nối theo cả hai hướng.  
Để truyền dữ liệu, trình tự các bit này theo sau một mẫu (dạng), như cái được  
chỉ trong hình 27.3. Việc truyền này bắt đầu tại phía tay trái. Mỗi bit sẽ là đúng hay  
sai cho một khoảng thời gian cố định, được xác định bởi tốc độ truyền.  
Một byte dữ liệu điển hình trông giống như cái dưới đây. Điện thế/dòng trên  
đường này được làm đúng hay sai. Độ rộng của các bit xác định các bit có thể được  
trên giây (bps). Giá trị được chỉ ra trước được dùng để truyền một byte đơn lẻ. Giữa  
các byte, và khi dây là chờ (không làm gì cả), Txd được giữ là đúng, điều này giúp bộ  
tiếp nhận phát hiện khi một bộ gửi là hiện diện. Một bit bắt đầu riêng lẻ được gửi  
bằng cách làm Txd là sai. Trong ví dụ này tám bit tiếp theo là dữ liệu được truyền,  
một byte với giá trị 17. Dữ liệu này được theo sau bởi một bit chẵn lẻ mà nó có thể  
được dùng để kiểm tra byte này. Trong ví dụ này có nhóm hai bit dữ liệu, và bit chẵn  
lẻ chẵn đang được dùng, vì thế bit chẵn lẻ này được thiết đặt. Bit chẵn lẻ này được  
theo sau bởi hai bit dừng để giúp phân chia byte này từ cái tiếp theo.  
Mô tả:  
before – trước – đây là một khoảng ở đó không bit nào đang được gửi và  
đường này là đúng.  
start – bắt đầu - một bit đơn lẻ để giúp lấy được các hệ được đồng bộ  
data – dữ liệu – cái này có thể là 7 hay 8 bit, nhưng bây giờ nó hầu như luôn  
luôn là 8. Giá trị được chỉ ra ở đây là một byte với giá trị nhị phân 00010010  
(bit có nghĩa nhỏ nhất được gửi đầu tiên).  
parity – chẵn lẻ - cái này cho phép ta kiểm tra nếu byte này đã được gửi một  
cách hợp lệ. Các lựa chọn thông thường nhất ở đây là không bit chẵn lẻ, một  
bit chẵn lẻ chẵn, hay một bit chẵn lẻ lẻ. Trong trường hợp này có nhóm hai  
bit trong byte dữ liệu. Nếu ta đang dùng bit chẵn lẻ chẵn bit này sẽ là đúng.  
Nếu ta đang dùng bit chẵn lẻ lẻ bit này sẽ là sai.  
stop – dừng – các bit dừng cho phép một tạm dừng tại điểm cuối của dữ liệu  
này. Một hay hai bit dừng có thể được dùng.  
idle – nghỉ - một khoảng thời gian ở đó đường là đúng trước khi byte tiếp  
theo.  
Figure 27.3 A Serial Data Byte  
Một vài thiết đặt byte là tùy ý, như là số lượng của các bit dữ liệu (7 hay 8), bit  
chẵn lẻ (không chẵn lẻ, chẵn hay lẻ) và số lượng của các bit dừng (1 hay 2). Các máy  
tính gửi và nhận phải biết cái mà các thiết đặt này nhận và giải mã hợp lệ dữ liệu.  
Hầu hết các máy tính gửi dữ liệu một cách bất đồng bộ, có nghĩa là dữ liệu này có thể  
được gửi tại bất cứ thời điểm nào, mà không có cảnh báo nào. Điều này làm các thiết  
đặt bit quan trọng hơn.  
Một phương pháp khác được dùng để phát hiện các lỗi dữ liệu là truyền nửa  
song công và đủ song công. Trong truyền nửa song công dữ liệu chỉ được gửi theo  
một hướng. Nhưng, trong truyền đủ song công một sao chép của bất cứ byte được  
nhận nào được truyền trở lại cho bộ gửi để kiểm tra rằng nó đã được gửi và nhận  
một cách chính xác. (Ghi chú: nếu bạn gõ và không có gì được hiển thị trên một màn  
hình nào đó, hay các ký tự được chỉ ra hai lần bạn có thể phải thay đổi thiết đặt  
nửa/đủ song công).  
Tốc độ truyền này là số lượng tối đa của các bit mà chúng có thể được gửi trong  
một giây. Các đơn vị này là baud. Tốc độ baud bao gồm các bit bắt đầu, chẵn lẻ và  
dừng. Ví dụ một truyền 9600 của dữ liệu trong hình 27.3 sẽ truyền lên đến  
ꢀꢁꢂꢂꢂ  
ꢃꢄꢅꢄꢃꢄꢆ = 800 byte mỗi giây. Các tốc độ baud thấp hơn là 120; 300; 1,2K; 2,4K; và  
9,6K. Các tốc độ cao hơn là 19,2K; 28,8K and 33,3K. (Ghi chú: Khi điều này được thiết  
đặt một cách không hợp lệ bạn sẽ nhận được nhiều lỗi truyền, hay rác trên màn hình  
của bạn).  
Các đường nối tiếp đã trở nên một trong số các phương pháp thông dụng nhất  
cho truyền dữ liệu tới các thiết bị: hầu hết các máy tính cá nhân có hai cổng nối tiếp.  
Thảo luận trước của các kỹ thuật truyền thông nối tiếp cũng áp dụng cho các thiết bị  
như là các mô đem.  
27.2.1 Chuẩn RS-232  
Chuẩn RS-232c được dựa trên một điện thế thấp/sai giữa +3 tới +15V, và một  
điện thế cao/đúng giữa -3 tới -15V (±12V được dùng phổ biến). Hình 27.4 chỉ ra một  
vài sơ đồ kết nối thông dụng. Trong tất cả phương pháp các đường txd và rxd được  
gạch ngang để gửi các đầu ra txd vào trong các đầu vào lắng nghe rxd nghe khi giao  
tiếp giữa các máy tính. Khi giao tiếp với một thiết bị truyền thông (mô đem), các dây  
này là không được gạch ngang. Trong kết nối mô đem các đường dsr và dtr được  
dùng để điều khiển dòng dữ liệu. Trong máy tính này các đường cts và rts được kết  
nối. Các dòng này tất cả được dùng cho bắt tay, để điều khiển dòng dữ liệu từ bộ gửi  
đến bộ nhận. Các cấu hình mô đem-không có gì đơn giản hóa việc bắt tay giữa các  
máy tính. Có ba cấu hình dây là một cách thô để kết nối các thiết bị, và dữ liệu có thể  
bị mất.  
Figure 27.4 Common RS-232 Connection Schemes  
Các sơ đồ kết nối RS-232 thông dụng  
Các bộ kết nối thông dụng cho giao tiếp nối tiếp được chỉ ra trong hình 27.5. Các  
bộ kết nối này hoặc là đực (với các chân) hay cái (với các lỗ), và thường dùng các  
chân được chỉ định đã chỉ ra. Bộ kết nối DB-9 bây giờ là thông dụng hơn, nhưng bộ  
kết nối DB-25 vẫn còn sử dụng. Trong bất cứ kết nối nào các chân RXD và TXD phải  
được dùng để truyền và nhận dữ liệu. Dây trung hòa (COM) này phải được kết nối để  
cho một tham chiếu điện thế thông thường. Tất cả các chân còn lại được dùng để bắt  
tay.  
DB-25  
DB-9  
Commonly used pins – Các chân được dùng thông dụng  
1 - GND (chassis ground – sát xi đất)  
1 - DCD  
2 - RXD  
3 - TXD  
4 - DTR  
5 - COM  
6 - DSR  
7 - RTS  
8 - CTS  
9 - RI  
2 - TXD (transmit data – truyền dữ liệu)  
3 - RXD (receive data – nhận dữ liệu)  
4 - RTS (request to send – yêu cầu gửi)  
5 - CTS (clear to send – làm sạch để gửi)  
6 - DSR (data set ready – nhóm dữ liệu sẵn sàng)  
7 - COM (common – dây trung hòa)  
8 - DCD (Data Carrier Detect – Phát hiện Bộ mang Dữ liệu)  
20 - DTR (data terminal ready – đầu cuối dữ liệu sẵn sàng)  
Other pins – Các chân khác  
9 - Positive Voltage – điện thế dương  
10 - Negative Voltage – điện thế âm  
11 - not used – không dùng  
12 - Secondary Received Line Signal Detector – máy dò tín hiệu  
đường nhận thứ cấp  
13 - Secondary Clear to Send – làm sạch thứ cấp để gửi  
14 - Secondary Transmitted Data – Dữ liệu được truyền thứ cấp  
Ghi chú: các bộ  
kết nối này  
15 - Transmission Signal Element Timing (DCE) – Định thời yếu tố thường có các số  
tín hiệu truyền  
rất nhỏ được in  
trên chúng để  
giúp bạn nhận ra  
các chân này  
16 - Secondary Received Data – dữ liệu nhận thứ cấp  
17 - Receiver Signal Element Timing (DCE) – Định thời yếu tố tín  
hiệu nhận  
18 - not used – không dùng  
19 - Secondary Request to Send – Yêu cầu thứ cấp cho gửi  
21 - Signal Quality Detector – Bộ dò chất lượng tín hiệu  
22 - Ring Indicator (RI) – Chuông chỉ thị  
Figure 27.5 Typical RS-232 Pin Assignments and Names  
Các tên và các nhiệm vụ chân RS-232 điển hình  
Các dòng bắt tay được dùng để phát hiện trạng thái của bộ gửi và bộ nhận, và  
để điều chỉnh dòng dữ liệu. Nó sẽ là không bình thường cho hầu hết các chân này để  
được kết nối trong bất cứ ứng dụng nào. Các chân thông dụng nhất được cung cấp  
trên bộ kết nối DB-9, và cũng được mô tả dưới đây.  
TXD/RXD – (truyền dữ liệu, nhận dữ liệu) – các đường dữ liệu  
DCD – (phát hiện bộ mang dữ liệu) – điều này chỉ ra khi một thiết bị từ xa là  
hiện diện  
RI – (chỉ thị chuông) – điều này được dùng bởi các mô đem để chỉ thị khi một  
kết nối sắp sửa được làm.  
CTS/RTS – (làm sạch cho gửi, sẵn sàng cho nhận)  
DSR/DTR - (nhóm dữ liệu sẵn sàng, đầu cuối dữ liệu sẵn sàng) – các dòng bắt  
tay này chỉ thị khi máy từ xa là sẵn sàng để nhận dữ liệu  
COM – một nối đất chung để cung cấp một điện thế tham chiếu chung cho  
TXD và RXD  
Khi một máy tính là sẵn sàng cho nhận dữ liệu nó sẽ thiết đặt bit CTS, máy từ xa  
sẽ nhận ra điều này trên chân RTS. Chân DSR là tương tự trong việc nó nhận ra mô  
đem này là sẵn sàng để truyền dữ liệu. Các ký tự XON và XOFF được dùng cho chỉ  
một phần mềm nào đó sơ đồ điều khiển dòng.  
Nhiều bộ xử lý PLC có một cổng RS-232 mà nó thường được dùng cho lập trình  
PLC. Hình 27.6 chỉ ra một bộ điều khiển PLC-5 được kết nối tới một máy tính cá nhân  
với một đường mô đem không có gì. Nó được kết nối tới kênh 0 bộ kết nối nối tiếp  
trên bộ xử lý PLC-5, và tới cổng 1 nối tiếp trên máy tính này. Trong ví dụ này đầu cuối  
có thể là một máy tính cá nhân đang chạy một chương trình bản sao đầu cuối. Logic  
bậc thang sau sẽ gửi một xâu tới cổng nối tiếp kênh 0 khi A trở thành đúng. Trong  
trường hợp này xâu này được lưu trong bộ nhớ xâu ST9:0 và có độ dài 4 ký tự. Nếu  
xâu này được lưu trong ST9:0 là HALFLIFE, chương trình đầu cuối sẽ hiển thị xâu này  
là HALF.  
Figure 27.6 Serial Output Using Ladder Logic  
Đầu ra nối tiếp bằng cách dùng logic bậc thang  
Hàm AWT (Ascii WriTe) sau sẽ ghi ra các cổng nối tiếp chỉ trên CPU này. Để ghi  
tới các cổng nối tiếp khác hàm thông điệp trong hình 27.7 phải được dùng. Trong ví  
dụ này khối thông điệp sẽ trở thành kích hoạt khi A trở thành đúng. Nó sẽ dùng các  
tham số thông điệp được lưu trong bộ nhớ thông điệp MG9:0. Các nhóm tham số  
này chỉ thị rằng thông điệp ấy Viết dữ liệu được lưu tại N7:50, N7:51 và N7:52. Điều  
này sẽ ghi xâu ASCII ABC tới cổng nối tiếp này.  
Figure 27.7 Message Function for Serial Communication  
Hàm thông điệp cho truyền thông nối tiếp  
27.2.1.1 - Các hàm ASCII  
Các hàm ASCII cho phép các chương trình xử lý các xâu trong bộ nhớ của PLC.  
Các hàm cơ bản được liệt kê trong hình 27.8.  
ABL(channel, control) – báo cáo số lượng các ký tự ASCII bao gồm dấu kết  
thúc dòng  
ACB(channel, control) – báo cáo số lượng các ký tự ASCII trong bộ đệm  
ACI(string, dest) – chuyển xâu ASCII sang số nguyên  
ACN(string, string,dest) – móc nối các xâu  
AEX(string, start, length, dest) – điều này sẽ cắt một đoạn của một xâu ra  
khỏi một xâu lớn hơn  
AIC(integer, string) – chuyển một số nguyên sang xâu  
AHL(channel, mask, mask, control) – làm bắt tay dữ liệu  
ARD(channel, dest, control, length) – sẽ lấy các ký tự từ bộ đệm xác định  
ASCII  
ARL(channel, dest, control, length) - sẽ lấy các ký tự từ một bộ đệm ASCII  
nào đó  
ASC(string, start, string, result) – điều này sẽ tìm kiếm cho một xâu trong  
một xâu khác  
ASR(string, string) – so sánh hai xâu  
AWT(channel, string, control, length) - sẽ ghi các ký tự tới một đầu ra ASCII  
Figure 27.8 PLC-5 ASCII Functions – Các hàm ASCII của PLC-5  
Trong ví dụ trong hình 27. 9, các ký tự “Hi” được đặt trong bộ nhớ xâu ST10:1.  
Hàm ACB kiểm tra để thấy bao nhiêu ký tự đã được nhận, và đang đợi trên kênh 0.  
Khi số lượng của các ký tự bằng 2, hàm ARD (AsciiReaD) sau đó sẽ sao chép các ký tự  
ấy vào trong bộ nhớ ST10:0, và bit R6:0/DN sẽ được thiết đặt. Bit làm xong ấy sẽ làm  
cho hai ký tự được móc nối vào nhau tới xâu “Hi”, và kết quả được ghi ngược trở lại  
tới cổng nối tiếp. Vì thế, nếu ta đã gõ trong khởi đầu “HJ”, ta sẽ nhận được trả lời “HI  
HJ”.  
Figure 27.9 An ASCII String Example – Một ví dụ xâu ASCII  
Các hàm ASCII cũng có thể được dùng để hỗ trợ các chuyển đổi số đơn giản. Ví  
dụ trong hình 27.10 sẽ chuyển các xâu trong ST9:10 và ST9:11 sang các số nguyên,  
cộng các số này, và lưu kết quả trong một xâu trong ST9:12.  
Figure 27.10 A String to Integer Conversion Example  
Một ví dụ chuyển đổi xâu sang số nguyên  
Nhiều hàm xâu còn lại được minh họa trong hình 27.11. Khi A là đúng các hàm  
ABL và ACB sẽ kiểm tra các ký tự mà chúng đã tới từ kênh 1, nhưng đã không được  
lấy với một hàm ARD. Nếu các ký tự "ABC<CR>" đã đến (<CR> là một ký tự kết thúc  
dòng ASCII) hàm ACB sẽ đếm ba ký tự, và lưu giá trị trong R6:0.POS. Hàm ABL cũng sẽ  
đếm <CR> và lưu một giá trị của bốn trong R6:1.POS. Nếu B là đúng, và xâu trong  
ST9:0 là "ABCDEFGHIJKL", thì “EF” sẽ được lưu trong ST9:1. Hàm cuối cùng sẽ so sánh  
các xâu trong ST9:2 và ST9:3, và nếu chúng là bằng nhau, đầu ra O:001/2 sẽ được  
bật.  
Figure 27.11 String Manipulation Functions  
Các hàm xử lý xâu  
Hàm AHL có thể được dùng để bắt tay với một thiết bị nối tiếp từ xa.  
27.3 TRUYỀN THÔNG SONG SONG  
Truyền dữ liệu song song sẽ truyền nhiều bit tại cùng một thời điểm qua nhiều  
dây. Điều này cho phép các tốc độ truyền dữ liệu nhanh hơn, nhưng các bộ kết nối và  
cáp trở nên lớn hơn nhiều, đắt hơn và kém mềm dẻo hơn. Các giao diện này vẫn  
dùng bắt tay cho dòng dữ liệu điều khiển.  
Các giao diện này là thông dụng cho các cáp máy in máy tính và các cáp giao  
diện ngắn, nhưng chúng là không phổ biến trên các PLC. Một danh sách của các giao  
diện thông dụng như sau:  
Centronics printer interface – Giao diện máy in Centronics – Chúng là giao  
diện máy in thông dụng được dùng cho hầu hết các máy tính cá nhân. Nó đã được  
làm phổ biến gần đây là không sản xuất nữa bởi công ty máy in Centronic.  
GPIB/IEEE-488 - (General Purpose Instruments Bus) – Buýt các thiết bị mục  
đích chung – Buýt này đã được phát triển bởi Hewlett Packard Inc. cho kết nối các  
thiết bị. Nó vẫn có sẵn như một tùy chọn trên nhiều thiết bị mới.  
27.4 CÁC TRƯỜNG HỢP THIẾT KẾ  
27.4.1 Giao diện PLC cho một Robot  
Bài toán: Một người máy sẽ tải các vật thể vào trong một hộp cho đến khi hộp  
này đạt đến một trọng lượng được mô tả trước. Một PLC sẽ cung cấp các vật thể vào  
trong một vị trí nhận cố định khi nó trống rỗng. PLC này sẽ bảo người máy khi nào  
nhặt một vật thể và tải nó vào trong hộp này bằng cách truyền nó một xâu ký tự  
ASCII, “pickup”.  
Figure 27.12 Box Loading System – Hệ thống tải hộp  
Giải pháp: Logic bậc thang sau sẽ thực thi một phần của hệ điều khiển này cho  
hệ trong hình 27.12.  
Figure 27.13 A Box Loading System – Một hệ thống tải hộp  
27.5 TÓM TẮT  
Các truyền thông nối tiếp truyền dữ liệu một bit tại một thời điểm.  
Các giao tiếp RS-232 dùng các mức điện thế cho các khoảng cách ngắn. Một sự  
đa dạng của các cáp giao tiếp và các thiết đặt đã được thảo luận.  
Các hàm ASCII là có sẵn cho các PLC làm các giao tiếp nối tiếp trở nên thực  
hiện được.  
27.6 BÀI TẬP THỰC HÀNH  
1. Mô tả các bit sẽ là gì khi một ký tự A (ASCII 65) được truyền trong một giao diện  
RS-232 với 8 bit dữ liệu, chẵn lẻ chẵn và 1 bit dừng.  
2. Phân chia xâu trong ST10:0 bởi xâu trong ST10:1 và lưu kết quả trong ST10:2. Kiểm  
tra một lỗi chia cho số không.  
ST10:0 “100”  
ST10:1 “10”  
ST10:2  
3. Sẽ mất bao lâu để truyền một tệp ASCII qua một đường nối tiếp với 8 bit dữ liệu,  
không chẵn lẻ, 1 bit dừng? Là gì nếu dữ liệu là dài 7 bit?  
4. Viết một chương trình đoán số mà nó sẽ cho phép một người dùng đưa vào một  
số trên một đầu cuối mà đầu cuối này truyền nó tới một PLC ở PLC này nó được so  
sánh với một giá trị trong N7:0. Nếu việc đoán này là trên “Hi” sẽ được trả về. Nếu ở  
dưới “Lo” sẽ được trả về. Khi nó bằng “ON” sẽ được trả về.  
5. Viết một chương trình mà nó sẽ chuyển một giá trị số được lưu trong F8:0 và ghi  
nó ra đầu ra RS-232 trên một bộ xử lý PLC-5.  
27.7 GIẢI PHÁP CHO BÀI TẬP THỰC HÀNH  
1.  
2.  
3. Nếu ta giả sử rằng 9600 baud, cho (1bắt đầu+8dữ liệu+0chẵn  
lẻ+1dừng)=10bit/byte ta nhận 960 byte một giây. Nếu chỉ có 7 bit dữ liệu một byte  
điều này trở thành 9600/9=1067 byte trên giây.  
4.  
5.  
27.8 GIAO BÀI TẬP  
1. Mô tả một ứng dụng của các giao tiếp ASCII  
2. Viết một chương trình logic bậc thang để đưa ra một thông điệp cảnh báo ASCII  
trên kênh 1 khi giá trị trong N7:0 nhỏ hơn 10, hay lớn hơn 20. Thông điệp này phải là  
"out of temp range" (ngoài phạm vi nhiệt độ).  
3. Viết một chương trình mà nó sẽ gửi một thông điệp ASCII mỗi phút một lần. Thông  
điệp này phải bắt đầu bằng từ ‘count’, theo sau bởi một số. Số này sẽ là 1 trên quét  
đầu của PLC này, và gia tăng thêm một mỗi phút.  
4. Một PLC sẽ được điều khiển bởi các câu lệnh ASCII được nhận qua cổng các giao  
tiếp RS-232C. Các câu lệnh này sẽ làm cho PLC này chuyển động giữa các trạng thái  
được chỉ ra trong sơ đồ trạng thái sau. Thực thi logic bậc thang này.  
5. Một chương trình được viết để điều khiển một rô bốt qua một giao diện RS-232c.  
Rô bốt này đã được lập trình để trả lời hai xâu ASCII. Khi rô bốt này nhận xâu ‘start’  
nó sẽ chuyển một vật thể từ một bộ cung cấp tới một máy bắt vít nào đó. Khi rô bốt  
này nhận một lệnh ’idle’ nó sẽ trở nên không kích hoạt (safe - an toàn). PLC này có  
các đầu vào ‘start’ và ‘end’ để điều khiển quá trình này. PLC này cũng có hai đầu vào  
khác mà chúng chỉ ra khi bộ cung cấp các vật thể có các vật thể có sẵn (‘part present’  
– vật thể hiện diện) và khi máy bắt vít làm xong (‘machine idle’ – máy không làm gì  
cả). Nút ‘start’ sẽ bắt đầu một vòng ở đó rô bốt này tải các vật thể lặp đi lặp lại vào  
trong máy bắt vít bất cứ khi nào đầu vào ‘machine idle’ là đúng. Nếu cảm biến ‘part  
present’ là tắt (ví dụ: khi không có vật thể nào), hay đầu vào ‘end’ là tắt (một yêu cầu  
dừng), máy bắt vít sẽ được phép kết thúc, nhưng sau đó quá trình này sẽ dừng và rô  
bốt này sẽ được gửi lệnh idle. Dùng một phương pháp thiết kế có cấu trúc (ví dụ: các  
sơ đồ trạng thái) để phát triển một chương trình logic bậc thang hoàn chỉnh để thực  
hiện công việc này.  
6. Một PLC-5 được kết nối tới một cái cân mà nó đo trọng lượng và sau đó gửi một  
xâu ASCII. Định dạng xâu này là ‘XXXX.XX’. Vì thế một trọng lượng là 29,9 gam sẽ đưa  
ra kết quả là một xâu ‘0029.90’. PLC này được đọc xâu này và sau đó kiểm tra để thấy  
nếu trọng lượng này giữa 18,23 và 18,95 gam. Nếu nó không thế một đèn đầu ra lỗi  
phải được thiết đặt cho đến khi một nút đặt lại được ấn.  
pdf 16 trang baolam 23801 Free
Bạn đang xem tài liệu "Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 27: Truyền thông nối tiếp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_thong_san_xuat_tu_dong_hoa_voi_plcs_phan_27_tr.pdf