『7x24小时有问必答』
串口通信简介
    01.串行通信与并行通信:
    串行接口简称串口,是指数据一位一位地顺序传送。串口可以算是一个泛称,一般指代的是串口时序标准。RS232、RS485、RS422都遵循着类似的通信时序协议,因此都被通称为串口。
    并行通信就是指数据的每一位同时在多根数据线上发送或者接收。可以以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。计算机或PLC各种内部总线就是以并行方式传送数据的。
    总结:
    串行通信是一种概念,是指一个bit一个bit的收发数据。
    并行通信可一次性可以同时收发n个bit数据。
    日常生活中能见到的通信几乎都是串行,如以太网、USB等等,只有在主板芯片内部,如CPU与内存RAM的连接、PLC的扩展卡插槽等才是并行。
    02.单工,半双工,全双工;
    单工模式的数据传输是单向的。通信双方中,一方固定为发送端,一方则固定为接收端。信息只能沿一个方向传输,使用一根传输线,目前基本不使用。
    半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两辆车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。
    全双工通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的。
    03.如何正确理解通信:
    举个例子,1#PLC的Y0点接到2#PLC的X0点,就可以理解为一个单工通信。此时2#PLC只能接收1#PLC的数据,数据在同一时刻只能是ON或OFF,正常的使用我们只用来传递这1个Bit;
    如果规定1#PLC的Y0点在1s内输出变化10次,即100ms变化1次,这10次中每次可能为ON也可能为OFF,这就相当于1s内传递了10个Bit,串行通信就是这个原理;
    全双工就是2#PLC也输出一个Y点给1#PLC来接收,此时两个PLC就可以同时进行数据收发。
    04.RS232:
    RS232一般采用3线制,即发送TXD、接收RXD、地线GND。特点是点对点(一对一)通信,全双工。接线方式:A设备的TX接B设备的RX,A设备的RX接B设备的TX,两个设备的GND接一起。优点:信号线少,全双工。缺点:接口电压高,不支持热拔插,容易损坏芯片;传输距离短,约在15米以内;抗干扰能力不强。
    05.RS485:
    RS485一般采用2线制,485+(A)和485-(B),汇川PLC的RS485增加一个接地GND。允许多个设备通信,半双工。
    接线方式:总线上所有设备的485+接在一起,485-接在一起。
    优点:采用差分信号,一般使用双绞线,抗干扰能力强;传输距离远,最大可达上千米;速度快,最大可达10Mbps=10000000bps;总线上允许最大128个设备;
    缺点:不支持全双工。
06.RS422:
RS422一般采用4线制,相当于两组RS485,能实现全双工。除线路上是RS485的两倍外,其他方面与RS485基本一样,不做更详细介绍。
AC801做ModbusRTU主站
01.AC801的串口类型与支持协议:
1、AC801硬件上支持1路RS232,1路RS485,不支持扩展模块。RS232老师这边没有其他设备的硬件,就以RS485演示如何使用ModbusRTU通信。
2、无论是RS232还是RS485,支持的协议都是Modbus主站、Modbus从站、串口自由协议这3种。
3、AC801做Modbus主站或从站,有两种方式实现,第1种是通过参数配置通信,第2种是通过指令通信。通过参数配置使用起来简单方便,建议使用此方式。
4、AC801做串口自由协议只能通过程序指令实现。
02.AC801做MODBUS主站连接Easy320PLC:
演示使用AC801通过ModbusRTU协议,连接Easy320PLC,读写Easy的D软元件区。
03.Easy320PLC通过ModbusRTU协议连接AC801
演示使用连接Easy320PLC通过ModbusRTU协议,连接AC801,读写AC801的%MW区。
Modbus通信原理
01.Modbus协议:
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气SchneiderElectric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(Defacto),并且现在是工业电子设备之间常用的连接方式。
简单理解为:Modbus是一个公开、免费、广泛使用的协议,它可以在RS232、RS485等串口上传输,也可在以太网上传输。
02.协议版本:
对于串口,它存在两个变种,ModbusRTU是二进制表示数据方式,ModbusASCII是字符串表示数据方式,目前RTU使用的更多。两种方式都需要CRC校验。
对于以太网,它是ModbusTCP,分客户端和服务器,客户端为主站。因基于TCP,是可靠传输,不需要额外的校验。
03.Modbus通讯方式:
Modbus是一般使用主从问答、轮询模式。通信过程是主机发送一个报文给从机,从机根据接收到的报文响应一个报文给主机,这就完成了一次通信。
在同一个总线上,只允许1个主站,1个或多个从站,通信只能由主站发起,从站进行响应,不能从站主动发起通信,从站与从站之间也不能通信。
所有从机都要分配一个地址(站号),且不能重复,主机则没有地址或广播模式地址为0。
04.Modbus寄存器,线圈:
Modbus不仅是PLC支持,电脑、仪表等设备都支持。在不同的设备之间通信交互数据,数据的格式和类型就成了问题。比如西门子的地址是%M、%I、%Q、DB,三菱的地址是X、Y、M、B、L、D、W、R,电脑则没有软元件的概念。
为解决这类问题,Modbus引入了寄存器和线圈的概念,寄存器定义为16Bit的数据,线圈定义为1Bit的数据。支持Modbus的设备将自己的内存区域RAM地址划出一片空间用来表示Modbus地址,或者把Modbus地址映射(关联)到某个软元件或变量地址上。
比如三菱PLC的保持寄存器0默认对应软元件为D0,汇川Easy系列的保持寄存器0也对应软元件D0,汇川AM、AC系列的保持寄存器0则对应地址%MW0
05.Modbus功能码:
Modbus使用功能码来区分寄存器、线圈地址最高位。保持寄存器0对应40001
06.Modbus RTU帧格式:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码