基于Modbus的上位机通讯文档格式.docx
- 文档编号:13782432
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:37
- 大小:930.97KB
基于Modbus的上位机通讯文档格式.docx
《基于Modbus的上位机通讯文档格式.docx》由会员分享,可在线阅读,更多相关《基于Modbus的上位机通讯文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
4.2.1编程口RS-422接口的介绍17
4.2.2基于三菱FxPLC编程口的通信17
4.3上位机的VB监控系统的设计22
4.3.1VB介绍22
4.3.2制作流25
4.3.3监控系统的界面设计26
4.3.4监控系统的代码设计29
总结35
参考文献36
致谢37
第一章绪论
PLC足专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,配置灵活和完善的功能,因此在工业控制系统中得到了广泛的使用。
随着工业自动化程度的提高,对PLC的应用提出了更高的要求:
更快的处理速度,更高的可靠性,控制与管理功能一体化,控制与管理一体化也就足将计算机信息处理技术,网络通信技术应用于PLC,使用用下位分散控制,用计算机提供图形显示界面,同时对下拉机进行监控。
所以通常采用计算机PC与PLC组成一个完整的监控系统。
随着工业自动化技术的不断发展,在工业控制中,交流电机的拖动越来越多地采用变频器完成,而变频器也不仅仅作为一个单独的执行机构,而是随着其不断的智能化,可以同主机之间通过一定的通信方式结合成一个有机的整体。
虽然变频器广泛用于各行各业,但因其显示面板简单,且在对数据的处理、计算、保存等方面存在弱点,在一定程度上影响了变频器在复杂控制系统中的应用,不过通信技术与变频器相结合可以弥补这些缺点,可以利用PLC与变频器之间的通讯功能实现远程控制,采用RS485通信接口,使用MODBUS协议实现,对交流电机的拖动进行控制,这是一种低成本的联接方案,可以极大地减少线路联接的复杂性,避免现场可能的各种电磁干扰对控制设备的影响。
同时增强了变频器对数据处理,故障报警等方面的功能。
第二章基于Modbus总线控
制的上位机通信的总体框架
计算机通过三菱Fx系列PLC的程序下载线连接至PLC,PLC上的485通信板连接到变频器的PU接头,这样,计算机与PLC,PLC与变频器就得以通信。
PLC和变频器通过输出给外部设备进而控制外部设备的运行。
如图2-1
图2-1
第三章基于Modbus总线控制
的上位机通信的硬件设计
硬件结构包括了气动回路、主控制电路、PLC控制电路、上位机与PLC的接线图。
3.1气动回路图
气动回路:
为送料缸,推料缸,龙门机械手提供动力能源。
如图3-1所示。
图3-1
3.2主控制电路图
主电路:
为整流变压模块,变频器,异步电动机,PLC等提供工作电源。
如图3.2所示。
图3-2
3.3PLC控制电路图
即PLC的IO接线,接收外部信号,并将信息经过CPU处理运算后经由输出口控制电磁换向阀,指示灯,变频器。
如图3-3所示。
图3-3
3.4上位机与PLC的连接图
计算机与PLC连接时是用计算机的9针串口,而PLC编程是8针圆头的接口,这里就需要做一个转换。
其接线图如3-4图:
图3-4
3.5PLC与变频器的网络接线
PLC与变频器的网络通信,PLC端是用485通信板,而变频器端则是PU接口,接线图3.5:
图3-5
第四章基于Modbus总线控制
的上位机通信的软件设计
4.1Modbus通信
Modbus应用层协议由美国Modicon公司(现为施耐德电气旗下品牌)于1979年开发的,用于实现其PLC产品与上位机的通信。
由于其简单易用,得到了广大工业自动化仪器仪表企业的采纳与支持,实际上已成为了业界标准,我国标准化委员会已将Modbus协议作为我国工业自动化的行业标准,分别制定了GB/Z19582.1-2004(Modbus应用层协议),GB/Z19582.2-2004(串行链路上的Modbus)和GB/Z19582.3-2004(Modbus-TCP)三个标准。
Modbus应用层协议位于OSI模型中的第七层,将它嵌入到不同的低层协议中形成了三种具体的通信方式:
Modbus串行链路、Modbus-Plus和Modbus-TCP,三种通信网络上的设备可以通过网关来达到数据交换的目的。
这些年来以太网的繁荣壮大使得将Modbus协议嵌入到TCP/IP协议中实现Modbus设备间的通信非常必要,鉴于此,1999年施奈德电气发布了Modbus-TCP协议,使得以太网上的Modbus设备可以通过502端口进行通信。
4.1.1Modbus通信协议介绍
Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。
Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通讯。
它己经成为一通用工业标准。
Modbus协议是一种在工业领域被广为应用的真正开放、标准的网络通讯协议,被大部分SCADA(SupervisorControlAndDataAcquisition数据采集与监视控制系统)HMI(HumanMachineInterface人机界面)软件支持,所以它实际上己经成为一种通用的工业标准。
有了它不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通讯的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通讯时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包的结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
Modbus有两种传输模式,一种是ASCII模式,另一种是RTU模式。
当控制器设为在Modbus网络上以ASCI工(美国标准信息交换代码)模式通讯,在消息中的每个s字节都作为两个ASCI工字符发送。
这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。
本文以RUT模式为例说明。
4.1.2变频器的ModbusRUT通信
这里所使用的变频器是三菱公司的FR--D700系列,
4.1.2.1Modbus通信协议描述
1、Modbus通信协议
Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。
特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域。
图
图4-1
启动Modbus事务处理的客户机创建Modbus应用单元。
功能码向服务指示将执行哪各操作。
Modbus协议建立了客户机启动的请求格式。
用一个字节编码Modbus数据单元功能码域。
有效的码字范围是十进制1-255(128—255为异常响应保留)。
当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。
向一些功能码加入子功能码来定义多项操作。
从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。
这个域还包括离散项目和寄存器地址、处理项目数量以及域中的实际数据字节数。
在某种请求中,数据域可是不存在的(0长度),在此情况下服务器不需要任何附加信息。
功能码仅说明操作。
如果在一个正确接收的ModbusADU中,不出现与请求Modbus功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。
如果出现与请求Modbus功能有关的差错,那么域包括一个异常码。
服务器应用能够使用这个域确定下一个执行的操作。
例如。
客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数据内容。
当服务器对客户响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。
对于一个正常响应来说,服务器仅原始功能码响应。
图4-2Modbus事务处理(无差错)
对于异常响应,服务器返回一个与原始功能码等同的码,设置该原始功能码的最高有效位为逻辑1.
图4-3Modbus事务处理(异常响应)
2、Modbus主站/从站协议原理
Modbus串行链路协议是一个主—从协议。
在同一时刻,只有一个主节点连接于总线,一个或多个子节点(最大编号为247)连接于同一个串行总线。
Modbus通信总是由主节点发起。
子节点在没有收到来主节点的请求时,从不会发送数据,子节点之间从不会互相通信。
主节点在同一时刻只会发起一个Modbus事务处理。
主节点以两但种模式对子节点发出Modbus请求:
在单播模式,主节点以特定地址访问某子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文(一个‘应答’)。
在这个模式,一个Modbus事务处理包含2个报文:
一个来自主节点的请求,一个来自子节点的应答。
每个子节点必须有唯一的地址(1到247),这样才能区别于其它节点被猪瘟独立的寻址。
在广播模式,主节点向所有子节点以送请求。
对于主节点广播的请求没有应答返回,广播请求一般用于写命令。
所有设备必须接受广播模式的写功能。
地址0是专门用于表示广播数据的。
本文以单播模式为例。
图4-4单播模式
图4-5广播模式
3、CRC16校验
在RTU模式包含一个对全部报文内容执行的,基于循环冗余校验(CRC-CyclicalRedundancyChecking)算法的错误检验域。
CRC域检验整个报文的内容。
不管报文有无奇偶校验,均执行此检验。
CRC包含由两个8位字节组成的一个16位值。
CRC域作为报文的最后的域附加在报文之后。
计算后,首先附加低字节,然后是高字节。
CRC高字节为报文发送的最后一个子节。
附加在报文后面的CRC的值由发送设备计算。
接收设备在接收报文时重新计算CRC的值,并将计算结果于实际接收到的CRC值相比较。
如果两个值不相等,则为错误。
CRC的计算,开始对一个16位寄存器预装全1。
然后将报文中的连续的8位子节对其进行后续的计算。
只有字符中的8个数据位参与生成CRC的运算,起始位,停止位和校验位不参与CRC计算。
CRC的生成过程中,每个8–位字符与寄存器中的值异或。
然后结果向最低有效位(LSB)方向
移动(Shift)1位,而最高有效位(MSB)位置充零。
然后提取并检查LSB:
如果LSB为1,则寄存器中的值与一个固定的预置值异或;
如果LSB为0,则不进行异或操作。
这个过程将重复直到执行完8次移位。
完成最后一次(第8次)移位及相关操作后,下一个8位字节与寄存器的当前值异或,然后又同上面描述过的一样重复8次。
当所有报文中子节都运算之后得到的寄存器忠的最终值,就是CRC。
当CRC附加在报文之后时,首先附加低字节,然后是高字节。
4.1.2.2变频器的ModbusRTU通信的实现
1关于协议
●通信方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Modbus 上位 通讯