| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> Modbus通信知识点 -> 正文阅读 |
|
[嵌入式]Modbus通信知识点 |
一、概述 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网、485总线)和其它设备之间可以通信。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。 二、485通讯 Modbus最常见的通信方式为RS485,故提前说明。RS485的信号将被传送出时先分成正负两路,接收端将正负相减还原成原来的信号。协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。高电平1以两线间电压差为+2至+6V表示。低电平0以两线间电压差为-2至-6V表示。 三、波特率 1.波特率是每一秒传输的位数,比如波特率为9600,即,一秒种可以传送9600 个位数 2.同一信号经不同波特率采样后,得到的结果不一样 四、数据位 传输一个字符由几个位组成,计算机的基本单位就是“位”,其值非“0”即“1”。 数据位,接收方设定的七位,即它接收到七个位就认为是一个字符,而实际发送方设定的是八位,那么接收方认定的字符与发送方发送的字符就不一样了。 五、停止位 双方准备开始传输数据时,发送端会在所发出的字符前后分别加上低电平起始位和高电平停止位,接收端会根据起始位和停止位的设定确认接收到的字符。 起始位固定位1个位,停止位有1个,1.5个,2个传输一个字符有几个停止位,用天判断某个字符是否传输结束,以便开始接收下一个字符。 六、校验位 校验位用来检查传送数据正确性的,奇校验或偶校验或无校验。 00000001 偶校验=0?? 奇校验=1 它只是用于判断一个字符(比如八个位或是七个位组成一个字符)传输是否有错误。但是它并不能完全能够判断传输是否有错。比如偶校验,在检验送八个“11111111”时,如果到达接收方,由于干扰而变成了“10111101”,“1”的个数仍然是偶数,接收方就判断不出来传送的字符已经错误! 七、完整的数据格式 一个通讯字符完整的数据格式: 起始位+字符数据+奇偶校验位+停止位 例如: 起始位1,8字符,无校验,停止位1 则:一个字读10个位。 波特率9600每秒可以传输960个字符 八、站地址 Modbus是一种单主站点的主从通讯模式。Modbus网络上只能有一个主站。 主站在Modbus网络上没有地址,从站的地址为0-247,其中0位广播地址,从站的实际地址范围为1-247。 九、寄存器 Modbus数据地址使用0*****,1*****,3*****,4*****形式,分别表示离散量输出,离散量输入,输入寄存器和保持寄存器,且地址从1开始。 九、通讯方式 从站不能主动发起数据交换,只能响应主站的访问。从站不能访问其他从站。 主站可以主动发起数据通信,读取写入从站。 ?十、报文格报文格 ? ?? ? ? ?? ? 十一、硬件方式(DB9) Modbus 通信标准协议可以通过各种 传输线路 传播,如 RS232C、RS485、光纤、无线电等。 RS-232C、RS-422,还是RS-485,串口接口的外形、尺寸都是相同的,部件间可以通用互换. 但其引脚的定义却各不相同,因此要了解串口做线,首先要知道串口各引脚的定义。 ?十二、RS232引脚定义 ?在TxD和RxD上,逻辑“1”为-3V~-15V; 逻辑“0”为+3V~+15V。 对于数据信号,逻辑“1”为低于-3V,逻辑“0”为高于+3V;对于控制信号,接通ON为低于-3V;断开OFF为高于+3V;-3V~+3V、低于-15V、高于+15V都表示电压无意义。 ?十三、232与485引脚对比 RS-232C接口,其各引脚由标准文档进行定义,所以也可以称为“标准引脚定义”。 RS-422和RS-485接口,则没有“标准”引脚定义的说法,因为RS-422和RS-485连通常的标准接口也没有,具体采用什么接口,接口中使用哪些引脚,完全取决于设备设计生产商自己的定义。 十四、西门子200系列PLC模块DB9引脚定义 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:46:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |