第一篇:MODBUS通讯协议学习总结
MODBUS通讯协议学习总结
1、协议分3个层次看:
协议应用函数层,如读写coil,寄存器; RTU或者ASCII传输层 硬件底层
2、比如上位机发来:01 06 00 01 02 D5 00 55 含义:表示上午12点05分开始采集,12*60+5=725=0X02D5 01地址
06表示功能码 00 01寄存器地址 02 D5数据 00 55 crc
3、就当是一个简单的协议看。其它的都是格式。比如:上位机发送A,下位机知道这个是>90分
按照他给的框架,自己再自由定义
比如:从机地址,可以写01-FF 255个这个是从机先固定好的。比如从机是01。上位机发了一串16进制数据,如果第一个字节是01,说明是在和自己通信。每台从机地址都不一样
再判断功能码。如03。这个看你写程序是怎么定义的。比如我这里是要读下位机采集到的数据,我这里就是设置了一个数组,把数据存了起来,等判断03的时候就把数据给上位机。
4、寄存器地址。自己定义,我这边是随便写的一个固定值
5、还有一个crc判断。读数据的时候,判断下。如果上位机发过来的crc,和自己计算出来的crc一样,才给返回数据
6、那个CRC怎么计算呢?
有固定的计算格式,只需调用即可。crc 在通过modbus串口传数据的时候用,网络上不用。
第二篇:学习通讯
搭建两地交流平台促进宁南教师成长 为了进一步加快宁夏南部山区基础教育建设,提高宁夏南部山区中小学校长的教育理论素养与学校管理水平,促进宁夏南部山区骨干教师、青年优秀教师专业成长和发展,在深圳市委组织部、深圳市中小学校长培训中心的关心与支持下,在宁夏回族自治区固原市委组织部、固原市教育局精心组织安排下,宁夏回族自治区固原市2011年中小学校长、骨干教师、青年优秀教师(深圳)研修班于2011年11月23日在深圳市中小学校长培训中心(深圳城市学院)隆重开班了。在开班典礼上,深圳市教育局副局长唐海海、宁夏回族自治区固原市教育局局长虎玉赟、副局长李志坚等做了重要讲话,宁夏回族自治区固原市中小学校长、骨干教师、优秀教师代表也做了表态发言。本次研修班是由来自固原市直和四县一区20名中小学校长、20名骨干教师、青年优秀教师组成。培训学习时间为一个月,从我国基础教育前沿动态、新课程改革、教师专业发展、学校管理、制度建设等方面内容进行研修学习。目前研修班已进行了为期一周的集中培训学习,聆听了4位专家关于新课程背景下校长与学校管理、打造图书馆的学校、教师校本培训与专业发展、校长的领导力提升之魅力沟通、新课程新视野等专题讲座。培训方严格高效的管理和培训方式,让学员们初步体会到了特区的效率意识和质量意识,专家们精彩的教育理论讲解,给学员们带来强烈的教育思想冲击。学习期间,每位学员都能全身心地投入,认真做笔记,积极主动与专家互动交流,谦虚好学的态度,赢得了培训单位老师和各位专家的一致好评。
第三篇:化工厂DCS与PLC的Modbus通讯应用研究论文
装置概况
本厂的双螺杆挤出机控制系统采用西门子s 7-300PLC,上位监控机位于现场厂房内,中央控制室的岗位操作人员不能对其监视,为方便岗位操作人员对现场装置的运行情况进行实时监控,决定将此装置的运行参数引入DCS控制系统。
Modbus协议具有数据传输量大、侦错能力强、实时性好等特点,该厂的DCS系统和此装置控制系统都有支持Modbus通讯接口,所以采用Modbus通讯方案来实现DCS系统和该控制系统之间的通讯功能。通讯卡安装、组态及通讯协议设置
2.1 安装及硬件组态
安装:CP341进行Modbus从站通讯时,需要安装硬件狗,按照安装说明把硬件狗插入到CP341卡的背面插槽中。针对该项目将CP设计安装在和CPU同一机架上UR(0),通过U型连接件将CP341和其前面的信号模块卡连接起来,然后通过紧固螺丝将其固定在机架上,最后将24V电源线接到CP341卡的电源端子上给其供电。CP341电气接口按照RS485接口类型方式进行连接,组成半双工通讯,根据CP431-RS485接口定义连接4T(A)-号和11 T(B)+号接线端子。
硬件组态:通过双击SIMATIC MANAGER图标进入管理器窗口,点击窗口左面的SIMATIC300站点,在窗口的右面出现Hardware图标和已组态的CPU图标,双击Hardware图标进入项目的硬件组态画面,根据CP的实际安装位置,在硬件目录中选择CP341(6ES7 341-1CH01-0AE0)通讯卡将其拖放到与CPU同一个机架UR(0)的第十个插槽,然后点击保存和编译按钮对硬件组态进行保存编译,然后将CPU硬件置于Stop位,把组态的硬件下载到CPU中。在CP341参数设置对话框的Protocol菜单中选择MODBUS SLAVE选项,然后点击Load drivers加载CP的驱动。
注意:首次组态通讯卡后需要编译下载到CPU,否则在加载CP341驱动时将会加载不成功。
2.2 通讯协议设置及功能码对应从站地址设定通讯协议设置是定义通讯时的波特率、帧特性以及从站地址,通讯双方的协议设置一致是通讯成功的关键,以下是针对该厂的通讯协议设置。通讯协议方式选择RTU(远程终端)方式,进入CP341通讯卡的Protocol协议设置窗口,在Modbus-Slave菜单下设置从站地址为3(地址范围1~255),波特率选择9600、数据位8、停止位1、奇偶校验选择偶校验(even),在Interface菜单中按照上文所说的实际连线方式,选择操作模式为半双工(RS485)两线制操作模式,选择Signal R(A)0Volt Signal R(B)5 Volt的接线方式。
功能码对应从站地址的设定:按照该厂要求只需在DCS进行该装置的监视,故功能码FC01、05、15及FC02对应的M、Q、T、C、I等数据区不需要进行设定,使用其默认值0即可。在FC03、06、16功能码菜单下设定程序中没有使用的基本数据块DB7,FC04功能码菜单下设定程序中没有使用的基本数据块DB8,在Limits菜单下MIN DB中设定DB7,MAX DB中设定DB8,来限定MODBUS访问的数据区只是在这两个数据区中,根据该厂的通讯要求Modbus只需要读取SIMATIC输入寄存器,不需FC03功能读取保持寄存器,DB7数据块实际上未用。程序编写
在程序的块文件夹里插入数据块DB7、DB8、DB80和DB81,插入功能FC15、FC16,以下对插入到程序中新对象作用分别作介绍:DB8数据块区是用于存放将要传送到DCS的数据,该项目中创建了数据类型为WORD的20个数据字存储区。DB80数据块作用是作为FB80功能块的工作数据区也称为背景数据区,不需要进行任何设置。DB81数据块中是存放FB80通讯功能块的参数初始值。FC15功能是实现调用CP341的通讯功能块FB80。FC16功能是实现将要传送到DCS的数据通过使用MOVE传送指令传送到DB8数据块里面。FC15、FC16的功能能够被执行需要在组织块OB1主程序中调用。每次CPU冷启动或暖启动之后,都要执行MODBUS通讯FB的初始化,通过CP_START输入处的上升沿激活初始化,因此在组织块OB100(CPU暖启动)或OB101(CPU冷启动)中添加程序。该项目中在OB100中添加如下一段程序:
AN DB81.DBX0.0 // 设置CP_START
S DB81.DBX0.0 //
A DB81.DBX0.1 // 重置 CP_START_FM
R DB81.DBX0.0 //
LADDR是CP的基址,使用硬件配置中CP的地址,该项目中地址为496。
START_TIMER定时器,定时器超时初始化,该项目中使用定时器T200,START_TIME S5Time,时间值超时初始化,该项目按照常规设置为5秒,其余参数则按其初始值设置即可。将CPU置于STOP位,把新编写的程序全部下载到CPU中,然后再将其置于RUN位。通讯测试方法及测试
测试时通过Modbus通讯测试软件来分别充当主站、从站与PLC和DCS进行通讯,通过发送或接受报文的方式查看通讯情况是否正常。
测试软件Mdbus32作主站和PLC进行通讯测试,电气连接通过RS485转RS232的转换器连接至PC机的DB-9针串行数据口,Modbus测试软件通讯协议设置按照PLC方进行,确保双方的协议设置一致。设定从PLC读取数据的Modbus起始地址及数据个数,点击在线按钮将通讯伙伴连接,打开测试软件的监视器窗口监视读取数据的情况。实际的通讯情况证明通讯双方的电气接线及通讯设置均正确,实现了数据的正确传送,CP341通讯卡的通讯指示灯RXTX交替闪烁。DCS和CP341通讯的实现
FBM224现场总线组件是I/A Series系统中作通讯的卡件,提供4个Modbus总线接口(RS-422和/或RS-485),传输数据类型是2字节或4字节的带符号整数或不带符号整数,4字节单精度浮点值或二进制值,字节交换和位交换可选,据此应注意在I/A系统的ICC程序组态器中对通讯点的读取要正确填写其数据类型和数据位的长度。该项目中做主站的设置Modbus地址从1开始,对应Modbus消息帧的寄存器编号值是0,则访问SIMATIC数据区是从数据字DB8.DBW0开始访问此DB,更高的Modbus寄存器编号访问此后的数据字。要保证通讯数据地址的有效性,防止出现通讯地址错位。结语
运行实践证明,应用Modbus通讯实现DCS和PLC之间的通讯是一种方便、可行、可靠性高和低成本的方案。
第四篇:RS232-RS458-RS422通讯协议简介
原文地址:RS232、RS485、RS422通讯协议简介作者:黄花有主
一、什么是RS-232 接口?
(1)RS-232 的历史和作用
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C 接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。
(“RS-232-C”中的“-C”只不过表示RS-232 的版本,所以与“RS-232”简称是一样的)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25 个脚的DB-25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232 简化成了DB-9 连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND 三条线。
(2)RS-232 接口的电气特征
在RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3 到-15V;逻辑“0”为+3 到+15V。
RS-232-C 最常用的9 条引线的信号内容如下所示
DB-9123456789
DB-2583220764522
定义DCD RXD TXD DTR GND DSR RTD CTS RI
(3)RS-232 接口的物理结构
RS-232-C 接口连接器一般使用型号为DB-9 插头座,通常插头在DCE 端,插座在DTE端。PC 机的RS-232 口为9 芯针插座。一些设备与PC 机连接的RS-232 接口,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。RS-232 传输线采用屏蔽双绞线。
(4)RS-232 传输电缆长度
由RS-232-C 标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10%-20%的范围工作的,所以实际使用中最大距离会远超过50 英尺,美国DEC 公司曾规定容许畸变为10%而得出下面实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对有22#AWG 组成,其外覆以屏蔽线。2 号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04 是22#AWG 的四芯电缆。
DEC 公司的实验结果
波特率bps 1 号电缆传输距离(米)2 号电缆传输距离(米)
1500 900
300 1500 900
1200 900 900
2400 300 150
4800 300 7
59600 75 75
经过许多年来RS-232 器件以及通信技术的改进,RS-232 的通信距离已经大大增加。RS-232 增强器可以将普通的RS-232 口的通信距离延长到1000 米。
二、什么是RS-485 接口?
1、RS-485 的电气特性:发送端:逻辑“1”以两线间的电压差+(2 至6)V 表示;逻辑“0”以两线间的电压差-(2 至6)V 表示。接收端:A 比B 高200mV 以上即认为是逻辑“1”,A 比B 低200mV 以上即认为是逻辑“0”。
2、RS-485 的数据最高传输速率为10Mbps。但是由于RS-485 常常要与PC 机的RS-232 口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使RS-485 传输距离减小,所以往往为9600bps 左右或以下。
3、RS-485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。
4、RS-485 接口的最大传输距离标准为1200 米(9600bps 时),实际上可达3000米,RS-485 接口在总线上是容许连接多达128 个收发器、即
RS-485 具有多机通信功能,这样用户可以利用单一的RS-485 接口方便的建立起网络。因为RS-485 接口组成的半双工网络,一般只需二根信号线,所以RS-485 接口均采用双绞线传输。RS-485 的国际标准并没有规定RS-485 的接口连接器标准、所以采用接线端子或者DB-
9、DB-25 等连接器都可以。
5、采用RS-485 接口时,传输电缆的长度如何考虑?
在使用RS-485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所容许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线经为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100 欧时所得出的。(引自GB11014-89 附录A)。当数据信号速率降低到90Kbit/S 以下时,假定最大容许的信号损失为6dBV 时,则电缆长度被限制在1200M。实际上,在实用时是完全可以取得比它大的电缆长度。当使用不同线经的电缆,则取得的最大电缆长度是不相同的。例如:当数据信号速率为600Kbit/S 时,采用24AWG 电缆,最大电缆长度是200m,若采用
19AWG电缆(线经为0.91mm)则电缆长度将可以大于200m;若采用28AWG 电缆(线经为0.32mm),则电缆长度只能小于200m。
RS-485 的远距离通信建议采用屏蔽电缆,并且将屏蔽层作为地线。
三、什么是RS-422 接口?
RS-422 的电气性能与RS-485 完全一样。主要的区别在于:
RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发是分开的所以可以同时收和发(全双工)。
RS-485 有两根数据线:发送和接收都是A 和B。由于RS-485 的收与发是共用两根线,所以不能同时收和发(半双工)。
四、RS-485 比RS-232-C 接口相比有何特点?
答:由于RS-232 接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps。现在由于采用了新的UART芯片,波特率达到115.2Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地
传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50 米,实际上也只能用在15 米左右。
(5)RS-232 只容许一对一的通信,而RS-485 接口在总线上是容许连接多达128 个收发器。
第五篇:OMRON Hostlink通讯协议
OMRON
Hostlink通讯协议简述
浙江大学台州研究院汽摩配研究所
物理层
基于EIA-232,通讯设定(38400,7,E,2),接线需自制,如下图
数据链路层
采用Hostlink/Fins协议,校验方式FCS
PC机为主机,PLC为从机,形成一主一从通讯架构,控制器站号“0”。
应用层(每一个X表示一个16进制数)
3.1
按Word对D寄存器写入:
@00FA000000000
0102
XXXX
00
XXXX
XXXX.....................XXXX
XX
*\r
起始符
读写选择
读:0101
写:0102
区段
W:B1
D:82
起始地址
子地址
笔数
写入的数据
(每4个十六进制字符表示一个寄存器数据)
FCS校验
结束符
星号+回车
PLC接收到后反馈(16进制字符串):
@00FA0040000000
0102
0000
XX
*\r
起始符
读写选择
读:0101
写:0102
正确无误为0000
FCS校验
结束符
星号+回车
3.2
按word从D寄存器读取
@00FA000000000
0101
XXXX
00
XXXX
XX
*\r
起始符
读写选择
读:0101
写:0102
区段
W:B1
D:82
起始地址
子地址
笔数
FCS校验
结束符
星号+回车
PLC接收到后反馈(16进制字符串):
@00FA0040000000
0101
0000
XXXX................XXXX
XX
*\r
起始符
读写选择
读:0101
写:0102
正确无误为0000
读取的数据
(每4个十六进制字符表示一个寄存器数据)
FCS校验
结束符
星号+回车
3.3
按Bit对W寄存器写入
@00FA000000000
0102
XXXX
XX
XXXX
XX............XX
XX
*\r
起始符
读写选择
读:0101
写:0102
区段
W:31
D:02
起始地址
子地址
笔数
写入的数据
(每2个十六进制字符表示一个寄存器数据)
FCS校验
结束符
星号+回车
PLC接收到后反馈(16进制字符串):
@00FA0040000000
0102
0000
XX
*\r
起始符
读写选择
读:0101
写:0102
正确无误为0000
FCS校验
结束符
星号+回车
3.4
FCS校验码计算方法
1.对一帧信息,除去校验码和结束符,从左向右每个字符转化为8位无符号整型数再做异或运算。
2.将计算结果转化为2位16进制字符串
如字符串”@00FA0000000000102B00000000000”,从@开始依次转化和运算后,得到的FCS校验码为”06”
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的支持)