| 注冊(cè)| 產(chǎn)品展廳| 收藏該商鋪

行業(yè)產(chǎn)品

當(dāng)前位置:
潯之漫智控技術(shù)(上海)有限公司>>技術(shù)文章>>6ES7317-6TK13-0AB0安裝調(diào)試

6ES7317-6TK13-0AB0安裝調(diào)試

閱讀:157        發(fā)布時(shí)間:2023-3-8

6ES7317-6TK13-0AB0安裝調(diào)試

串口通信基本接線方法  
 
目前較為常用的串口有9針串口(DB9)和25針串口(DB25),通信距離較近時(shí)(<12m),可以用電纜線直接連接標(biāo)準(zhǔn)RS232端口(RS422,RS485較遠(yuǎn)),若距離較遠(yuǎn),需附加調(diào)制解調(diào)器(MODEM)。最為簡(jiǎn)單且常用的是三線制接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連,本文只涉及到最為基本的接法,且直接用RS232相連。
1.DB9和DB25的常用信號(hào)腳說(shuō)明
 9針串口(DB9) 25針串口(DB25)
針號(hào) 功能說(shuō)明 縮寫(xiě) 針號(hào) 功能說(shuō)明 縮寫(xiě)
1 數(shù)據(jù)載波檢測(cè) DCD 8 數(shù)據(jù)載波檢測(cè) DCD
2 接收數(shù)據(jù) RXD 3 接收數(shù)據(jù) RXD
3 發(fā)送數(shù)據(jù) TXD 2 發(fā)送數(shù)據(jù) TXD
4 數(shù)據(jù)終端準(zhǔn)備 DTR 20 數(shù)據(jù)終端準(zhǔn)備 DTR
5 信號(hào)地 GND 7 信號(hào)地 GND
6 數(shù)據(jù)設(shè)備準(zhǔn)備好 DSR 6 數(shù)據(jù)準(zhǔn)備好 DSR
7 請(qǐng)求發(fā)送 RTS 4 請(qǐng)求發(fā)送 RTS
8 清除發(fā)送 CTS 5 清除發(fā)送 CTS
9 振鈴指示 DELL 22 振鈴指示 DELL
2.RS232C串口通信接線方法(三線制)
首先,串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)針腳和發(fā)送針腳就能實(shí)現(xiàn):同一個(gè)串口的接收腳和發(fā)送腳直接用線相連,兩個(gè)串口相連或一個(gè)串口和多個(gè)串口相連
· 同一個(gè)串口的接收腳和發(fā)送腳直接用線相連 對(duì)9針串口和25針串口,均是2與3直接相連; 
· 兩個(gè)不同串口(不論是同一臺(tái)計(jì)算機(jī)的兩個(gè)串口或分別是不同計(jì)算機(jī)的串口) 
上面表格是對(duì)微機(jī)標(biāo)準(zhǔn)串行口而言的,還有許多非標(biāo)準(zhǔn)設(shè)備,如接收GPS數(shù)據(jù)或電子羅盤(pán)數(shù)據(jù),只要記住一個(gè)原則:接收數(shù)據(jù)針腳(或線)與發(fā)送數(shù)據(jù)針腳(或線)相連,彼此交叉,信號(hào)地對(duì)應(yīng)相接,就能百戰(zhàn)百勝。
3.串口調(diào)試中要注意的幾點(diǎn):
串口調(diào)試時(shí),準(zhǔn)備一個(gè)好用的調(diào)試工具,如串口調(diào)試助手、串口精靈等,有事半功倍之效果; 強(qiáng)烈建議不要帶電插撥串口,插撥時(shí)至少有一端是斷電的,否則串口易損壞。 
單工、半雙工和全雙工的定義
 如果在通信過(guò)程的任意時(shí)刻,信息只能由一方A傳到另一方B,則稱(chēng)為單工。
如果在任意時(shí)刻,信息既可由A傳到B,又能由B傳A,但只能由一個(gè)方向上的傳輸存在,稱(chēng)為半雙工傳輸。
如果在任意時(shí)刻,線路上存在A到B和B到A的雙向信號(hào)傳輸,則稱(chēng)為全雙工。
電話線就是二線全雙工信道。 由于采用了回波抵消技術(shù),雙向的傳輸信號(hào)不致混淆不清。雙工信道有時(shí)也將收、發(fā)信道分開(kāi),采用分離的線路或頻帶傳輸相反方向的信號(hào),如回線傳輸。
奇偶校驗(yàn)
串行數(shù)據(jù)在傳輸過(guò)程中,由于干擾可能引起信息的出錯(cuò),例如,傳輸字符‘E’,其各位為:
0100,0101=45H
D7 D0
由于干擾,可能使位變?yōu)?,這種情況,我們稱(chēng)為出現(xiàn)了“誤碼"。我們把如何發(fā)現(xiàn)傳輸中的錯(cuò)誤,叫“檢錯(cuò)"。發(fā)現(xiàn)錯(cuò)誤后,如何消除錯(cuò)誤,叫“糾錯(cuò)"。
的檢錯(cuò)方法是“奇偶校驗(yàn)",即在傳送字符的各位之外,再傳送1位奇/偶校驗(yàn)位??刹捎闷嫘r?yàn)或偶校驗(yàn)。
奇校驗(yàn):所有傳送的數(shù)位(含字符的各數(shù)位和校驗(yàn)位)中,“1"的個(gè)數(shù)為奇數(shù),如:
1 0110,0101
0 0110,0001
偶校驗(yàn):所有傳送的數(shù)位(含字符的各數(shù)位和校驗(yàn)位)中,“1"的個(gè)數(shù)為偶數(shù),如:
1 0100,0101
0 0100,0001

奇偶校驗(yàn)?zāi)軌驒z測(cè)出信息傳輸過(guò)程中的部分誤碼(1位誤碼能檢出,2位及2位以上誤碼不能檢出),同時(shí),它不能糾錯(cuò)。在發(fā)現(xiàn)錯(cuò)誤后,只能要求重發(fā)。但由于其實(shí)現(xiàn)簡(jiǎn)單,仍得到了廣泛使用。
有些檢錯(cuò)方法,具有自動(dòng)糾錯(cuò)能力。如循環(huán)冗余碼(CRC)檢錯(cuò)等。 
串口通訊流控制
我們?cè)诖型ㄓ嵦幚碇校3?吹絉TS/CTS和XON/XOFF這兩個(gè)選項(xiàng),這就是兩個(gè)流控制的選項(xiàng),目前流控制主要應(yīng)用于調(diào)制解調(diào)器的數(shù)據(jù)通訊中,但對(duì)普通RS232編程,了解一點(diǎn)這方面的知識(shí)是有好處的。那么,流控制在串行通訊中有何作用,在編制串行通訊程序怎樣應(yīng)用呢?這里我們就來(lái)談?wù)勥@個(gè)問(wèn)題。 

1.流控制在串行通訊中的作用
這里講到的“流",當(dāng)然指的是數(shù)據(jù)流。數(shù)據(jù)在兩個(gè)串口之間傳輸時(shí),常常會(huì)出現(xiàn)丟失數(shù)據(jù)的現(xiàn)象,或者兩臺(tái)計(jì)算機(jī)的處理速度不同,如臺(tái)式機(jī)與單片機(jī)之間的通訊,接收端數(shù)據(jù)緩沖區(qū)已滿,則此時(shí)繼續(xù)發(fā)送來(lái)的數(shù)據(jù)就會(huì)丟失?,F(xiàn)在我們?cè)诰W(wǎng)絡(luò)上通過(guò)MODEM進(jìn)行數(shù)據(jù)傳輸,這個(gè)問(wèn)題就尤為突出。流控制能解決這個(gè)問(wèn)題,當(dāng)接收端數(shù)據(jù)處理不過(guò)來(lái)時(shí),就發(fā)出“不再接收"的信號(hào),發(fā)送端就停止發(fā)送,直到收到“可以繼續(xù)發(fā)送"的信號(hào)再發(fā)送數(shù)據(jù)。因此流控制可以控制數(shù)據(jù)傳輸?shù)倪M(jìn)程,防止數(shù)據(jù)的丟失。 PC機(jī)中常用的兩種流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和軟件流控制XON/XOFF(繼續(xù)/停止),下面分別說(shuō)明。 

2.硬件流控制
硬件流控制常用的有RTS/CTS流控制和DTR/DSR(數(shù)據(jù)終端就緒/數(shù)據(jù)設(shè)置就緒)流控制。
硬件流控制必須將相應(yīng)的電纜線連上,用RTS/CTS(請(qǐng)求發(fā)送/清除發(fā)送)流控制時(shí),應(yīng)將通訊兩端的RTS、CTS線對(duì)應(yīng)相連,數(shù)據(jù)終端設(shè)備(如計(jì)算機(jī))使用RTS來(lái)起始調(diào)制解調(diào)器或其它數(shù)據(jù)通訊設(shè)備的數(shù)據(jù)流,而數(shù)據(jù)通訊設(shè)備(如調(diào)制解調(diào)器)則用CTS來(lái)起動(dòng)和暫停來(lái)自計(jì)算機(jī)的數(shù)據(jù)流。這種硬件握手方式的過(guò)程為:我們?cè)诰幊虝r(shí)根據(jù)接收端緩沖區(qū)大小設(shè)置一個(gè)高位標(biāo)志(可為緩沖區(qū)大小的75%)和一個(gè)低位標(biāo)志(可為緩沖區(qū)大小的25%),當(dāng)緩沖區(qū)內(nèi)數(shù)據(jù)量達(dá)到高位時(shí),我們?cè)诮邮斩藢TS線置低電平(送邏輯0),當(dāng)發(fā)送端的程序檢測(cè)到CTS為低后,就停止發(fā)送數(shù)據(jù),直到接收端緩沖區(qū)的數(shù)據(jù)量低于低位而將CTS置高電平。RTS則用來(lái)標(biāo)明接收設(shè)備有沒(méi)有準(zhǔn)備好接收數(shù)據(jù)。
常用的流控制還有還有DTR/DSR(數(shù)據(jù)終端就緒/數(shù)據(jù)設(shè)置就緒)。我們?cè)诖瞬辉僭斒觥S捎诹骺刂频亩鄻有?,我個(gè)人認(rèn)為,當(dāng)軟件里用了流控制時(shí),應(yīng)做詳細(xì)的說(shuō)明,如何接線,如何應(yīng)用。 

3.軟件流控制
由于電纜線的限制,我們?cè)谄胀ǖ目刂仆ㄓ嵵幸话悴挥糜布骺刂疲密浖骺刂?。一般通過(guò)XON/XOFF來(lái)實(shí)現(xiàn)軟件流控制。常用方法是:當(dāng)接收端的輸入緩沖區(qū)內(nèi)數(shù)據(jù)量超過(guò)設(shè)定的高位時(shí),就向數(shù)據(jù)發(fā)送端發(fā)出XOFF字符(十進(jìn)制的19或Control-S,設(shè)備編程說(shuō)明書(shū)應(yīng)該有詳細(xì)闡述),發(fā)送端收到XOFF字符后就立即停止發(fā)送數(shù)據(jù);當(dāng)接收端的輸入緩沖區(qū)內(nèi)數(shù)據(jù)量低于設(shè)定的低位時(shí),就向數(shù)據(jù)發(fā)送端發(fā)出XON字符(十進(jìn)制的17或Control-Q),發(fā)送端收到XON字符后就立即開(kāi)始發(fā)送數(shù)據(jù)。一般可以從設(shè)備配套源程序中找到發(fā)送的是什么字符。
應(yīng)該注意,若傳輸?shù)氖嵌M(jìn)制數(shù)據(jù),標(biāo)志字符也有可能在數(shù)據(jù)流中出現(xiàn)而引起誤操作,這是軟件流控制的缺陷,而硬件流控制不會(huì)有這個(gè)問(wèn)題

Delphi是一種具有功能強(qiáng)大、簡(jiǎn)便易用和代碼執(zhí)行速度快等優(yōu)點(diǎn)的可視化快速應(yīng)用開(kāi)發(fā)工具,它在構(gòu)架企業(yè)信息系統(tǒng)方面發(fā)揮著越來(lái)越重要的作用,許多程序員愿意選擇 Delphi作為開(kāi)發(fā)工具編制各種應(yīng)用程序。但是,美中不足之處是 Delphi沒(méi)有自帶的串口通信控件,在它的幫助文檔里也沒(méi)有提及串口通信,這就給編制通信程序的開(kāi)發(fā)人員帶來(lái)許多不便。
目前,利用 Delphi實(shí)現(xiàn)串口通信的常用的方法有 3種:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函數(shù);三是調(diào)用其他串口通信程序。其中利用 API編寫(xiě)串口通信程序較為復(fù)雜,需要掌握大量的通信知識(shí)。相比較而言,利用 SPCOMM控件則相對(duì)較簡(jiǎn)單,并且該控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對(duì)串口的各種操作,而且還支持多線程。下面本文結(jié)合實(shí)例詳細(xì)介紹 SPCOMM控件的使用。
SPCOMM的安裝
1.選擇下拉菜單 Component中的 Install Component選項(xiàng),彈出如圖 1所示的窗口。


在 Unit file name處填寫(xiě) SPCOMM控件所在的路徑,其他各項(xiàng)可用默認(rèn)值,點(diǎn)擊 OK按鈕。
2.安裝后,在 System控件面板中將出現(xiàn)一個(gè)紅色控件 COM?,F(xiàn)在就可以像 Delphi自帶控件一樣使用 COM控件了。
SPCOMM的屬性、方法和事件
1.屬性
●CommName:表示 COM1、 COM2等串口的名字;
●BaudRate:根據(jù)實(shí)際需要設(shè)定的波特率,在串口打開(kāi)后也可更改此值,實(shí)際波特率隨之更改;
●ParityCheck:表示是否需要奇偶校驗(yàn);
●ByteSize:根據(jù)實(shí)際情況設(shè)定的字節(jié)長(zhǎng)度;
●Parity:奇偶校驗(yàn)位;
●StopBits:停止位;
●SendDataEmpty:這是一個(gè)布爾型屬性,為 true時(shí)表示發(fā)送緩存為空,或者發(fā)送隊(duì)列里沒(méi)有信息;為 false時(shí)表示發(fā)送緩存不為空,或者發(fā)送隊(duì)列里有信息。
2.方法
●Startcomm方法用于打開(kāi)串口,當(dāng)打開(kāi)失敗時(shí)通常會(huì)報(bào)錯(cuò)。錯(cuò)誤主要有 7種:⑴串口已經(jīng)打開(kāi);⑵打開(kāi)串口錯(cuò)誤;⑶文件句柄不是通信句柄;⑷不能夠安裝通信緩存;⑸不能產(chǎn)生事件;⑹不能產(chǎn)生讀進(jìn)程;⑺不能產(chǎn)生寫(xiě)進(jìn)程;
●StopComm方法用于關(guān)閉串口,沒(méi)有返回值;
●WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是個(gè)帶有布爾型返回值的函數(shù),用于將一個(gè)字符串發(fā)送到寫(xiě)進(jìn)程,發(fā)送成功返回 true,發(fā)送失敗返回 false。執(zhí)行此函數(shù)將立即得到返回值,發(fā)送操作隨后執(zhí)行。該函數(shù)有兩個(gè)參數(shù),其中 pDataToWrite是要發(fā)送的字符串, dwSizeofDataToWrite是發(fā)送字符串的長(zhǎng)度。
3.事件
●OnReceiveData :procedure (Sender: Tbbbbbb;Buffer: Pointer;BufferLength: Word) of bbbbbb
當(dāng)有數(shù)據(jù)輸入緩存時(shí)將觸發(fā)該事件,在這里可以對(duì)從串口收到的數(shù)據(jù)進(jìn)行處理。 Buffer中是收到的數(shù)據(jù), BufferLength是收到的數(shù)據(jù)長(zhǎng)度。
●OnReceiveError : procedure(Sender: Tbbbbbb; EventMask : DWORD)
當(dāng)接收數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí)將觸發(fā)該事件


收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
二維碼