论文部分内容阅读
[摘 要]本文主要是介绍了S7-200控制系统中MODBUS RTU通讯协议的应用,并且还就正确检验通讯协议的方法进行了分析与研究。
[关键词]MODBUS RTU通讯协议;S7-200;應用
中图分类号:TE161 文献标识码:A 文章编号:1009-914X(2017)34-0271-01
引言
自改革开放以来,我国工业获得了迅猛的发展,随着不断的进步,工业控制已经由单机控制逐渐的走向了集中监控、集散控制,并且随着现代社会网络的不断发展以及在工业中的应用,工业已经进入到了网络集约制造时代,而且工业控制器的联网为网络的管理大大的提供了便利。
1、应用原理
(1)相关的概述
我们对S7-200进行分析和研究就会发现,S7-200 CPU上配置通讯口支持MODBUS RTU通讯协议,在与ECS-700的MODBUS RTU通讯中,可将S7-200作为从站。
我们在对S7-200控制系统进行分析就会发现,在对S7-200控制系统的应用中,MODBUS RTU从站的指令库仅仅是支持CPU上面的通讯口,如果我们在这也过程中想要实现MODBUS RTU的通讯,我们将需要Step7一Micro/WIN32 V3 .2以上的编程软件的,而且我们还必须是要按装Step7一Micro/WIN32 V3.2 Instruction Library指令库。而且我们想要发挥Modbus RTU的功能主要我们是要通过指令库中预先编程好的程序功能来不断实现的。
2、基本的应用过程
(1)首先是需要我们要检查S7-200控制系统中使用的Micro/WIN的软件版本,最好是要Step7-Micro/WIN V3.2以上版本,这样的版本才能够使得在过程中减少一些问题的出现。
(2)其次是需要我们检查Micro/WIN的指令树中是否有ModbusRTU从站指令库的存在。不仅如此,我们还要对ModbusRTU从站指令库进行检查,是否有MBUS_INIT和MBUS_ SLAVE这两个程序的存在。如果检查之后发现没有,那就必须要安装Micro/WIN32 V3 .2 Instruction Library的软件包。
(3)我们在进行编程的时候是需要使用SMO. 1的一调用子程序MBUS _INIT来进行初始化,使用SM0.0用来研究MBUS_SLAVI。
(4)应该注意的问题
我们在调用Step7-Mciro/WIN32 V3.2 Instruction Li-brary的时候是需要分配库的指令数据区需要分配库指令数据区。指令数据区其实是相应库的子程序和一些中断的程序所要用的变量的存储空间,但是如果我们在编程的时候不分配指令数据区,那就会使得我们在编译的时候会产生许多相同的问题和错误。
由子程序的参数 HoldStart和MaxHold指定的保持寄存器区,主要是在S7-200 CPU的V数据的存储区中过来进行分配的,我们在使用的时候是不能将这个数据区与库指令数据区有重叠的,一旦有任何的重叠就会在运行的时候出现问题和错误,使得正常的通讯发生影响,不能正常运行。而且我们还要注意到Modbus中的保持寄存器区是需要按“字”来进行寻址,也就是要按照MaxHold相关规定的是VW而不是VB的个数。
3、MODBUS RTU协议的测试
我们在对MODBUS RTU协议进行测试的时候,其实主要是包括对MODBUS RTU从站指令库中的相关项目的编译,下载到CPU的中心,我们是需要在编程计算(PG/PC)上运行一些MODBUS的测试软件,这样做是可以检验S7-200的MODBUS RTU的通讯是否正常,我们这样做对检查相关的故障是十分的有用的。而且相关的测试软件主要是通过计算机的串口(RS-232)和PC/PP电缆来连接CPU的。
(1)相关的测试软件
我們在进行测试的时候主要使用的测试软件是ModScan32。
(2)相关参数的设置
我们在对MODBUS RTU协议进行测试的时候,是需要对测试软件ModScan32中的一些通讯参数要进行相关的设置的,在进行设置参数的时候要与S7-200的Modbus RTU指令库MBUS_INIT中所设置的参数是要统一的,这样才能够进行相关通讯的检测。
4、MODBUS RTU地址与S7-200地址之间的对应关系
MODBUS的地址其实主要是以00001以及30004这样的形式出现的,但是S7-200内部一些数据存储区与MODBUS地址0、1、3、4这主要是四类地址之间的对应关系主要是如表1所示:
我们对MODBUS RTU地址与S7-200地址之间的对应关系表进行分析就会发现,T是S7-200中缓冲区的起始地址,也就是我们所说的HoldStarte。
我们如果已经知道S7-200中的V存储区的地址,那么如果我们想要知道在MODBUS 中的地址,我们是可以通过S7-200中V存储区的地址来对MODBUS 中的地址进行推算的,相关的推算公式主要是如下所示:
MODBUS地址=40000+(T/2+ 1),其中的T为偶数。
ECS-700系统作为主站配置COM741模块与S7-200进行相应编程,完成MODBUS RTU通讯。
5、结束语
随着时代的发展变化,我们的社会经济获得了巨大的发展,并且随着网络应用的深化,在工业控制中也出现了相关的网络通讯协议,其实本文主要是对MODBUS RTU通讯协议在S7-200中的应用进行了分析与研究。MODBUS RTU其实主要是一种工业控制的通讯协议,我们利用MODBUS RTU主要是在各个数量众多的工业控制器之间联网、监控以及相互的通讯方面发挥着重要的作用,本文在对MODBUS RTU通讯协议进行分析的时候主要是以典型的S7-200控制系统为例来进行说明的,本文主要是通过四个方面来进行说明,首先是对MODBUS RTU协议进行了概述:其次是对MODBUS RTU协议在S7-200中的应用原理进行了阐述;再次MODBUS RTU协议进行了测试;最后就对MODBUS RTU地址与S7-200地址之间的对应关系进行了分析,并且就MODBUS RTU地址与S7-200地址之间的换算提出了相关的公式。
参考文献
[1] 何跃智;MODBUS RTU通讯协议在S7-200中的应用[J];可编程控制器与工厂自动化;2006(03).
[2] 夏勇;Modbus通讯协议在S7-200通讯中的应用[J];科技传播;2014(07).
[3] 张子荣;S7-200的Modbus RTU从站通讯在化工火炬中的应用[J];中国石油和化工标准与质量;2012(04).
[关键词]MODBUS RTU通讯协议;S7-200;應用
中图分类号:TE161 文献标识码:A 文章编号:1009-914X(2017)34-0271-01
引言
自改革开放以来,我国工业获得了迅猛的发展,随着不断的进步,工业控制已经由单机控制逐渐的走向了集中监控、集散控制,并且随着现代社会网络的不断发展以及在工业中的应用,工业已经进入到了网络集约制造时代,而且工业控制器的联网为网络的管理大大的提供了便利。
1、应用原理
(1)相关的概述
我们对S7-200进行分析和研究就会发现,S7-200 CPU上配置通讯口支持MODBUS RTU通讯协议,在与ECS-700的MODBUS RTU通讯中,可将S7-200作为从站。
我们在对S7-200控制系统进行分析就会发现,在对S7-200控制系统的应用中,MODBUS RTU从站的指令库仅仅是支持CPU上面的通讯口,如果我们在这也过程中想要实现MODBUS RTU的通讯,我们将需要Step7一Micro/WIN32 V3 .2以上的编程软件的,而且我们还必须是要按装Step7一Micro/WIN32 V3.2 Instruction Library指令库。而且我们想要发挥Modbus RTU的功能主要我们是要通过指令库中预先编程好的程序功能来不断实现的。
2、基本的应用过程
(1)首先是需要我们要检查S7-200控制系统中使用的Micro/WIN的软件版本,最好是要Step7-Micro/WIN V3.2以上版本,这样的版本才能够使得在过程中减少一些问题的出现。
(2)其次是需要我们检查Micro/WIN的指令树中是否有ModbusRTU从站指令库的存在。不仅如此,我们还要对ModbusRTU从站指令库进行检查,是否有MBUS_INIT和MBUS_ SLAVE这两个程序的存在。如果检查之后发现没有,那就必须要安装Micro/WIN32 V3 .2 Instruction Library的软件包。
(3)我们在进行编程的时候是需要使用SMO. 1的一调用子程序MBUS _INIT来进行初始化,使用SM0.0用来研究MBUS_SLAVI。
(4)应该注意的问题
我们在调用Step7-Mciro/WIN32 V3.2 Instruction Li-brary的时候是需要分配库的指令数据区需要分配库指令数据区。指令数据区其实是相应库的子程序和一些中断的程序所要用的变量的存储空间,但是如果我们在编程的时候不分配指令数据区,那就会使得我们在编译的时候会产生许多相同的问题和错误。
由子程序的参数 HoldStart和MaxHold指定的保持寄存器区,主要是在S7-200 CPU的V数据的存储区中过来进行分配的,我们在使用的时候是不能将这个数据区与库指令数据区有重叠的,一旦有任何的重叠就会在运行的时候出现问题和错误,使得正常的通讯发生影响,不能正常运行。而且我们还要注意到Modbus中的保持寄存器区是需要按“字”来进行寻址,也就是要按照MaxHold相关规定的是VW而不是VB的个数。
3、MODBUS RTU协议的测试
我们在对MODBUS RTU协议进行测试的时候,其实主要是包括对MODBUS RTU从站指令库中的相关项目的编译,下载到CPU的中心,我们是需要在编程计算(PG/PC)上运行一些MODBUS的测试软件,这样做是可以检验S7-200的MODBUS RTU的通讯是否正常,我们这样做对检查相关的故障是十分的有用的。而且相关的测试软件主要是通过计算机的串口(RS-232)和PC/PP电缆来连接CPU的。
(1)相关的测试软件
我們在进行测试的时候主要使用的测试软件是ModScan32。
(2)相关参数的设置
我们在对MODBUS RTU协议进行测试的时候,是需要对测试软件ModScan32中的一些通讯参数要进行相关的设置的,在进行设置参数的时候要与S7-200的Modbus RTU指令库MBUS_INIT中所设置的参数是要统一的,这样才能够进行相关通讯的检测。
4、MODBUS RTU地址与S7-200地址之间的对应关系
MODBUS的地址其实主要是以00001以及30004这样的形式出现的,但是S7-200内部一些数据存储区与MODBUS地址0、1、3、4这主要是四类地址之间的对应关系主要是如表1所示:
我们对MODBUS RTU地址与S7-200地址之间的对应关系表进行分析就会发现,T是S7-200中缓冲区的起始地址,也就是我们所说的HoldStarte。
我们如果已经知道S7-200中的V存储区的地址,那么如果我们想要知道在MODBUS 中的地址,我们是可以通过S7-200中V存储区的地址来对MODBUS 中的地址进行推算的,相关的推算公式主要是如下所示:
MODBUS地址=40000+(T/2+ 1),其中的T为偶数。
ECS-700系统作为主站配置COM741模块与S7-200进行相应编程,完成MODBUS RTU通讯。
5、结束语
随着时代的发展变化,我们的社会经济获得了巨大的发展,并且随着网络应用的深化,在工业控制中也出现了相关的网络通讯协议,其实本文主要是对MODBUS RTU通讯协议在S7-200中的应用进行了分析与研究。MODBUS RTU其实主要是一种工业控制的通讯协议,我们利用MODBUS RTU主要是在各个数量众多的工业控制器之间联网、监控以及相互的通讯方面发挥着重要的作用,本文在对MODBUS RTU通讯协议进行分析的时候主要是以典型的S7-200控制系统为例来进行说明的,本文主要是通过四个方面来进行说明,首先是对MODBUS RTU协议进行了概述:其次是对MODBUS RTU协议在S7-200中的应用原理进行了阐述;再次MODBUS RTU协议进行了测试;最后就对MODBUS RTU地址与S7-200地址之间的对应关系进行了分析,并且就MODBUS RTU地址与S7-200地址之间的换算提出了相关的公式。
参考文献
[1] 何跃智;MODBUS RTU通讯协议在S7-200中的应用[J];可编程控制器与工厂自动化;2006(03).
[2] 夏勇;Modbus通讯协议在S7-200通讯中的应用[J];科技传播;2014(07).
[3] 张子荣;S7-200的Modbus RTU从站通讯在化工火炬中的应用[J];中国石油和化工标准与质量;2012(04).