delphi tclientsocket接收不到返回數據_RS—485中教你主站發送報文結構、從站返回報文結構?系列11...

作者:馬樂

1.主站發送報文結構

大家可以看到我之前寫的文章中的程序都是沒有什么具體功能的,都是兩個站點之間互相傳遞數據,這些數據我們只是看看是否可以正常接收發送,數據本身是沒有任何含義的。很明顯在實際使用過程中我們是不會這樣去用的,對于通訊來說主站發送的數據通常只有兩個功能,一是讀取從站寄存器中地址的狀態也就是從從站讀取數據,二是向從站寫入數據。那么主站要怎么發送數據從站才能知道,主站是要讀數據還是寫數據呢?這個就要靠功能碼來區分了,

a7c14ef4b102a142136d3c7232131951.png

圖 1-1

圖 1-1所示就是我自己定義的主站向從站發送讀取從站數據請求的報文結構,說白了就是我自己定義的一個協議,大家可以叫它馬樂協議(^_^)。下面我們一起來看看此報文中四段內容的具體含義。

地址:指的是要讀取哪個從站的數據。

功能碼:指的是主站要對從站做什么操作,我們這條報文格式是我自定義的讀取從站數據的報文(向從站寫入數據報文格式后續文章討論)此處我把讀取從站V區數據的功能碼自定義為02,那么從站只要接收到報文的第二個字符是02從站就知道主站要讀取自己的V區,其他區域大家可以自己定義。

起始地址:讀取數據區域的起始地址。

讀取數量:讀取多少數據。

2.從站返回報文結

既然是主站向從站讀取數據,那么從站接收到指令后肯定要把主站所需要的信息返回給主站,因此從站向主站返回數據也必然有一個報文格式,下面我們一起來看看,我自定義的馬樂協議的從站返回給主站數據的報文結構。

437eaec98b853a61b165fa57a6ed5f21.png

圖2?1

地址:返回數據的從站的地址,讓主站知道這是哪個從站返回來的數據。

功能碼:就是主站發送給從站的那個功能碼,從站再返回給主站。

返回字節數量:一共給主站返回多少個字節的數據,如果此處為6那么此字節后面是6個字節的數據。

返回數據1~n:從站返回給主站的數據,返回數據數量n是由主站讀取數量所決定的。

以上我通過一個我自己定義的協議,向大家介紹了RS485通訊中主站是如何讀取從站數據的過程,當然大家如果有興趣自己也可以定義個張三協議、李四協議自己玩玩,下篇文章我就教大家如何將我上面的自定義協議,變成PLC的程序。

往期優秀文章回顧:

當電工許多年,你知道為啥標準信號就是4-20mA?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276716.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MybatisPlus 通用枚舉無法正確取值

正常使用mybatisplus <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.4</version></dependency> 使用后發現項目中原先對枚舉值的轉換存在異常&#xff1a; ER…

零基礎學習 Python 之條件語句

寫在之前 我們寫程序&#xff0c;就好比學生時代寫作文一樣&#xff0c;由 “字” 到 “詞” 到 “句” 最后到 “文章” 。此前我們學會了一些詞語&#xff08;對象類型&#xff09;&#xff0c;我們接下來就是學如何造句&#xff0c;而在編程語言里&#xff0c;句子被叫做語句…

python input 文件名_Python播放音頻與錄音

這一講主要介紹些音頻基本處理方式&#xff0c;為接下來的語音識別打基礎。三種播放音頻的方式使用 python 播放音頻有以下幾種方式&#xff1a;os.system()os.system(file) 調用系統應用來打開文件&#xff0c;file 可為圖片或者音頻文件。缺點&#xff1a;要打開具體的應用&a…

jQuery選擇器和方法的等價關系

層級選擇器 1、ancestor descendant &#xff08;后代選擇器&#xff09; 在給定的祖先元素下匹配所有的后代元素 $(“form input”) $(.div span)選取<div>里的所有的<span>元素 2、parent child &#xff08;子選擇器&#xff09;在給定的父元素下匹配所有…

ActionScript 3.0 Step By Step系列(四):來自面向對象開發之前的吶喊:“學會寫可重用的代碼”...

增強代碼的可重用能力&#xff0c;從創建可重用的代碼開始&#xff0c;可重用的代碼則是通過從現有代碼中重構加以封裝,使其成為功能單一的可復用代碼塊。這句話籠統點說便是“封裝”或“抽象”。 在實際的編程開發中&#xff0c;要實現代碼重用&#xff0c;而不是每次都去Copy…

express利用nodemailer發送郵件(163郵箱)

Nodemailer 是一個簡單易用的Node.js郵件發送組件 首先安裝這個組件 npm install nodemailer --save安裝之后&#xff0c;可以在某個get請求下&#xff0c;發送郵件&#xff0c;具體路由代碼&#xff1a; const express require("express"); const nodemailer requ…

使用 Solid 私有化存儲 IPFS 文件哈希值

背景 星際文件系統 IPFS&#xff08;InterPlanetary File System&#xff09;是一個面向全球的、點對點的分布式文件系統&#xff0c;目標是為了補充&#xff08;甚至是取代&#xff09;目前統治互聯網的超文本傳輸協議&#xff08;HTTP&#xff09;&#xff0c;將所有具有相同…

使用window.postMessage實現跨域通信

JavaScript由于同源策略的限制,跨域通信一直是棘手的問題。當然解決方案也有很多&#xff1a; document.domainiframe的設置&#xff0c;應用于主域相同而子域不同&#xff1b;利用iframe和location.hash&#xff0c;數據直接暴露在了url中&#xff0c;數據容量和類型都有限Fla…

appium啟動app失敗_Appium-Desktop Capability 配置及啟動App演示

Appium-Desktop Capability配置介紹desired capability的功能是配置Appium會話。為什么要配置capability&#xff0c;目的就是為了告訴Appium服務器您想要自動化的平臺和應用程序。Desired Capabilities是一組設置的鍵值對的集合&#xff0c;其中鍵對應設置的名稱&#xff0c;而…

WinRAR 命令行簡體中文說明

從命令行也可以運行 WinRAR 命令&#xff0c;常規的命令行語法描述如下:WinRAR - -命令 要 WinRAR 運行的字符組合代表功能。開關 切換操作指定類型&#xff0c;壓縮強度&#xff0c;壓縮文件類型&#xff0c;等等的定義。壓縮文件 要處理的壓縮文件名。文件 要處理的文件名。列…

以Windows服務方式運行.NET Core程序

原文:以Windows服務方式運行.NET Core程序在之前一篇博客《以Windows服務方式運行ASP.NET Core程序》中我講述了如何把ASP.NET Core程序作為Windows服務運行的方法&#xff0c;而今&#xff0c;我們又遇到了新的問題&#xff0c;那就是&#xff1a;我們的控制臺程序&#xff0c…

SparkSession.read().csv()無法定位本地文件的問題

原因是spark有兩個文件頭 [file://]代表本地 [hdfs://]代表hdfs路徑 如果路徑沒有文件頭&#xff0c;spark會將該路徑默認添加上"hdfs://" 所以如果要訪問本地csv文件&#xff0c;需要確保路徑前面有"file://" //java代碼&#xff0c;告訴spark這是本地文件…

JavaScript的10種跨域共享的方法

在客戶端編程語言中&#xff0c;如javascript和ActionScript&#xff0c;同源策略是一個很重要的安全理念&#xff0c;它在保證數據的安全性方面有著重要的意義。同源策略規定跨域之間的腳本是隔離的&#xff0c;一個域的腳本不能訪問和操作另外一個域的絕大部分屬性和方法。那…

好用的shell工具_精選5個酷斃的Python工具

來自&#xff1a;Python之禪工欲善其事必先利其器&#xff0c;一個好的工具能讓起到事半功倍的效果&#xff0c;Python社區提供了足夠多的優秀工具來幫助開發者更方便的實現某些想法&#xff0c;下面這幾個工具給我的工作也帶來了很多便利&#xff0c;推薦給追求美好事物的你。…

承載輝煌歷史 暢想無線未來

看了JustDI的文章“手機也能當電腦用&#xff1f;&#xff0d;&#xff0d;談談未來智能手機操作系統的走向”&#xff0c;作為嵌入式愛好者&#xff0c;我也想談談自己的看法。首先&#xff0c;從網絡發展的角度看&#xff0c;移動互聯網的寬帶化&#xff0c;寬帶互聯網的移動…

接口碼釋義

1xx&#xff1a;信息&#xff0c;請求收到&#xff0c;繼續處理 2xx&#xff1a;成功&#xff0c;行為被成功地接受、理解和采納 3xx&#xff1a;重定向&#xff0c;為了完成請求&#xff0c;必須進一步執行的動作 4xx&#xff1a;客戶端錯誤&#xff0c;請求包含語法錯誤或…

java讀取文件內容,文件頭有\ufeff

"\ufeff"是UTF-8 BOM編碼的文件頭&#xff0c;代表該文件按照什么字節順序排序 調用java的工具類[ UnicodeInputStream ]即可解決這個問題 //第二個參數targetEncoding為null時在getDetectedEncoding方法中會自動檢測編碼類型 UnicodeInputStream unicodeInputStrea…

6款國內外SNS開源軟件 搭建社交網站利器

SNS(Social Network Service)&#xff0c;有時稱為社交網絡&#xff0c;有時稱為社會化網絡&#xff0c;專指旨在幫助人們建立社會性網絡的互聯網應用服務。如果對SNS概念還很模糊&#xff0c;說到人人網、開心網你就明白了。 去年360圈、螞蟻網接連關站給SNS前景蒙上一層陰影&…

aop實現原理_從宏觀的實現原理和設計本質入手,帶你理解 AOP 框架的原理

點擊上方“Java知音”&#xff0c;選擇“置頂公眾號”技術文章第一時間送達&#xff01;作者&#xff1a;FeelsChaoticjuejin.im/post/5c57b2d5e51d457ffd56ffbb前言本文將從另一個角度講解 AOP&#xff0c;從宏觀的實現原理和設計本質入手。大部分講 AOP 的博文都是一上來就羅…

孟憲會老師推薦的一部C#圖解教程

Amazon五星級盛譽 C# 最新特性一覽無余 數十年開發與教學經驗的結晶 圖、表和文字完美結合&#xff0c;最易學的C# 教程 本書詳細信息&#xff1a;http://www.china-pub.com/43556 微軟4大名著評選結果揭曉&#xff1a;http://www.china-pub.com/static07/0812/jsj_micrmingz_0…