當前位置:首頁 » 生產設備 » 如何向rs232設備發送字元

如何向rs232設備發送字元

發布時間: 2021-03-10 09:39:37

Ⅰ JAVA程序向RS232串口發送十六進制字元,比如十六進制的AA。則代碼如何編寫

JAVA不能直接同硬體底層打交道,這種情況只能編寫本地程序,並編譯為動態鏈接庫,在JAVA中調用本地方法才可。只用JAVA無法實現。

Ⅱ RS232介面的設置

串列通信在軟體設置里需要做多項設置,最常見的設置包括波特率(Baud Rate)、奇偶校驗(Parity Check)和停止位(Stop Bit)。
波特率(又稱鮑率):是指從一設備發到另一設備的波特率,即每秒鍾多少比特bits per second (bit/s)。典型的波特率是300, 1200, 2400, 9600, 15200, 19200等bit/s。一般通信兩端設備都要設為相同的波特率,但有些設備也可以設置為自動檢測波特率。
奇偶校驗(Parity:是用來驗證數據的正確性。奇偶校驗一般不使用,如果使用,那麼既可以做奇校驗(Odd Parity)也可以做偶校驗(Even Parity)。奇偶校驗是通過修改每一發送位元組(也可以限制發送的位元組)來工作的。如果不作奇偶校驗,那麼數據是不會被改變的。在偶校驗中,因為奇偶校驗位會被相應的置1或0(一般是最高位或最低位),所以數據會被改變以使得所有傳送的數位(含字元的各數位和校驗位)中「1」的個數為偶數;在奇校驗中,所有傳送的數位(含字元的各數位和校驗位)中「1」的個數為奇數。奇偶校驗可以用於接受方檢查傳輸是否發送生錯誤——如果某一位元組中「1」的個數發生了錯誤,那麼這個位元組在傳輸中一定有錯誤發生。如果奇偶校驗是正確的,那麼要麼沒有發生錯誤要麼發生了偶數個的錯誤。如果用戶選擇數據長度為8位,則因為沒有多餘的比特可被用來作為同比特,因此就叫做「無位元(Non Parity)」。
停止位:是在每個位元組傳輸之後發送的,它用來幫助接受信號方硬體重同步。
RS-232在傳送數據時,並不需要另外使用一條傳輸線來傳送同步信號,就能正確的將數據順利傳送到對方,因此叫做「非同步傳輸」,簡稱UART(Universal Asynchronous Receiver Transmitter),不過必須在每一筆數據的前後都加上同步信號,把同步信號與數據混和之後,使用同一條傳輸線來傳輸。比如數據11001010被傳輸時,數據的前後就需加入Start(Low)以及Stop(High)等兩個比特,值得注意的是,Start信號固定為一個比特,但Stop停止比特則可以是1、1.5或者是2比特,由使用RS-232的傳送與接收兩方面自行選擇,但需注意傳送與接受兩者的選擇必須一致。 在串列通信軟體設置中D/P/S是常規的符號表示。8/N/1(非常普遍)表明8bit數據,沒有奇偶校驗,1bit停止位。數據位可以設置為7、8或者9,奇偶校驗位可以設置為無(N)、奇(O)或者偶(E),奇偶校驗可以使用數據中的比特(bit),所以8/E/1就表示一共8位數據位,其中一位用來做奇偶校驗位。停止位可以是1、1.5或者2位的(1.5是用在波特率為60wpm的電傳打字機上的)。
流量控制:當需要發送握手信號或數據完整性檢測時需要制定其他設置。公用的組合有RTS/CTS, DTR/DSR或者XON/XOFF(實際中不使用連接器管腳而在數據流內插入特殊字元)。
接受方把XON/XOFF信號發給發送方來控制發送方何時發送數據,這些信號是與發送數據的傳輸方向相反的。XON信號告訴發送方接受方准備好接受更多的數據,XOFF信號告訴發送方停止發送數據直到知道接受方再次准備好。XON/XOFF一般不贊成使用,推薦用RTS/CTS控制流來代替它們。 XON/XOFF是一種工作在終端間的帶內方法,但是必須兩端都支持這個協議,而且在突然啟動的時候會有混淆的可能。 XON/XOFF可以工作於3線的介面。RTS/CTS最初是設計為電傳打字機和數據機半雙工協作通信的,每次它只能一方數據機發送數據。終端必須發送請求發送信號然後等到數據機回應清除發送信號。盡管RTS/CTS是通過硬體達到握手,但它有自己的優勢。
ASR(Automatic Send Receive)電傳打字機有一個紙帶讀卡機。當讀卡機讀數據的時候字元被發提交去。ASR電傳打字機里收到一個XOFF字元就關掉紙帶讀卡機收到一個XON字元就啟動紙帶讀卡機。當遠端系統有必要降低發送放的速率時就發出XOFF。在原始的系統中,消息要用紙帶事先准備好,傳送的時間才能被縮短。那時的帶寬非常有限並且昂貴,有時候傳輸不得不推遲到晚上進行,這也正推動了簡明電報表達的發展。在有些早期的小型機中,ASR紙帶讀卡機和紙帶穿孔器也是唯一的恢復程序的方法。

Ⅲ securecrt怎麼發送rs232指令

securecrt
僅僅是一個連接工具

發送 rs232指令看你 連接設備的 說明書

Ⅳ labview和RS232通信怎麼給232串口發送命令

使用儀器與IO中的串口函數庫。首先打開串口,然後寫,再讀,再關閉串口。
在寫中有一個字元串輸入口,那裡就是用來寫指令的。

Ⅳ 如何控制RS-232發送字元

應該說 發送任何數據都可以

關鍵在於 如何定義數據
其實,這涉及到 通信 協議的問題

推薦看書
Visual C++_Turbo C串口通信編程實踐
Visual_Basic與_RS-232_串列通信控制
Delphi串口通信工程開發實例導航

Ⅵ 跪求大神!!!如何讓RS232介面給PLC發送一個字元,就可以讓已經下載到PLC上的程序自動運行呢

不用發,程序下好通電就已經在運行了!我們只要滿足觸發條件相應的輸出就會動作的

Ⅶ 串口RS-232發送代碼問題

「商業軟體」串口發送和接收數據,發送的只能是字元串型的代碼,設備要收十六進制代碼
答案:
1、分析
發送字元串型,實際是一個一個字元發送的,設備也是一個一個十六進制代碼接受的。
應此,如果設備端要接收「55 01 01 02 01」這樣5個位元組的十六進制代碼,軟體端發送可以這樣,
例如發送字元串變數是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
不幸的是如果要發送「55 01 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼,由於裡面含有十六進制00(即0x00),0x00字元表示是'\0',在字元串中表示的字元串結束。
看你運氣了,如果程序的源代碼中發送字元串模塊,發送字元長度是通過判斷字元串長度(strlen)來工作的,那你怎麼也發送不出「55 01 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼,從上看出
buff[5]=0x00;buff[6]=0x00;buff[7]=0x5a;時,你的軟體會認為字元串長度只有5。只會發送出「55 01 01 02 01」這樣5個位元組的十六進制代碼。如果你的軟體發送字元長度是根據你輸入或設定的,那能正常發送「55 01 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼。
例如發送字元串變數是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
buff[5]=0x00;
buff[6]=0x00;
buff[7]=0x5a;
2、解決辦法(不該源代碼的情況下)
做個中間件,需要用到PC的多個串口通道(串口不夠用多串口卡擴展),系統接線也要調整,如果是1對1(一套軟體對一個設備)
例如:軟體是用com1口發送接收,原來是直接com1口接設備,現在改成,com1口接com2口,com2口同時也接設備(注意RS232是可以三線通訊的,PC端com1口的2腳接com2口的3腳,com2口的3腳接設備的2腳,PC端com1口的3腳接com2口的2腳,com2口的2腳接設備的3腳,PC端com1口的5腳接com2口的5腳,接設備的5腳),這樣做的原理是通過com2口來正確發送給設備十六進制代碼。並且com1向com2發送的命令需要修改。例如
要發送「55 01 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼,軟體這端
發送字元串變數是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
buff[5]=0xee;
buff[6]=0xff;
buff[7]=0xee;
buff[8]=0xff;
buff[9]=0x5a;
com2口中間件收到「55 01 01 02 01 ee ff ee ff 5a」這樣10個位元組的十六進制代碼,他就會進行轉換(0xee表示下個位元組需要轉碼,轉碼方法是減去0xff,那0xff實際就是0x00。)這樣通過中間件在com2口向設備發送「55 01 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼。
以上是發送,如果接收呢,同樣看商業軟體的接受機制,如果商業軟體收到0x00,實際就是'\0',表示一個字元串接受終止,那麼接收數據怎麼整都不能正常收到「55 02 01 02 01 00 00 5a」這樣8個位元組的十六進制代碼(含0x00),那麼只有改寫源代碼一種方法。
3、後記
如果你的所謂商業軟體要求別人改源代碼不切實際,而且商業軟體也不復雜,可以找人重寫商業軟體了,現在做軟體外快的人太多了,拿公司軟體稍微改改,時間用不了多少,費用也不高,幾千吧

Ⅷ RS-232C標准介面中發送數據和接收數據的針序號是什麼

計算機串口(RS232)共有9個針腳,都是按順序排列,各個針腳的定義如下:

1、針腳1的定義 :載波檢測(DCD) ,接收線信號檢出(Received Line detection-RLSD)。

2、針腳2 的定義:接受數據(RXD) ,為接收數據的引腳。

3、針腳3 的定義:發出數據(TXD),為發送數據的引腳。

4、針腳4的定義:數據終端准備好(DTR),數據終端就緒的首字母縮略詞。

5、針腳5的定義:信號地線(SG)

6、針腳6的定義 :數據准備好(DSR) ,當調制/解調器啟動時,在經過自身檢測後,用DSR來聲明已經准備就緒。

7、針腳7的定義 :請求發送(RTS) ,取得發送信息。

8、針腳8的定義:清除發送(CTS) ,清除數據。

9、針腳9的定義 :振鈴指示(RI) ,發出提示。

仔細看 針腳對應的 數字

Ⅸ RS232發送數據的問題

換用數據模式

27 十進制數 不就是 十六進制1B 嗎
270 十進制數 不就是 十六進制10E 嗎

Ⅹ 模擬電壓經AD轉換由串口rs232發送

50Hz?是不是信號發生器質量不好,把電源雜波帶進來了(市電不是50Hz的交流電嗎,雜波就來自這里).有很多工業控制設備都把低通濾波器的截止頻率調到50以下,為的就是逃過來自電源的干擾.
至於匹配的問題,元件型號不知道,很難講的.AD本身輸出是BCD碼,還是2進制數,還是10進制值,或者其他什麼希奇古怪的數據格式,反正232就直接轉換為232的格式直接一字不差的輸出了.

熱點內容
線切割怎麼導圖 發布:2021-03-15 14:26:06 瀏覽:709
1台皮秒機器多少錢 發布:2021-03-15 14:25:49 瀏覽:623
焊接法蘭如何根據口徑配螺栓 發布:2021-03-15 14:24:39 瀏覽:883
印章雕刻機小型多少錢 發布:2021-03-15 14:22:33 瀏覽:395
切割機三五零木工貝片多少錢 發布:2021-03-15 14:22:30 瀏覽:432
加工盜磚片什麼櫸好 發布:2021-03-15 14:16:57 瀏覽:320
北洋機器局製造的銀元什麼樣 發布:2021-03-15 14:16:52 瀏覽:662
未來小七機器人怎麼更新 發布:2021-03-15 14:16:33 瀏覽:622
rexroth加工中心亂刀怎麼自動調整 發布:2021-03-15 14:15:05 瀏覽:450
機械鍵盤的鍵帽怎麼選 發布:2021-03-15 14:15:02 瀏覽:506