CN109450756A - 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 - Google Patents
一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 Download PDFInfo
- Publication number
- CN109450756A CN109450756A CN201811214123.XA CN201811214123A CN109450756A CN 109450756 A CN109450756 A CN 109450756A CN 201811214123 A CN201811214123 A CN 201811214123A CN 109450756 A CN109450756 A CN 109450756A
- Authority
- CN
- China
- Prior art keywords
- modbus
- slave station
- register
- address pointer
- simatic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于SIMATIC S7‑200 SMART的ModbusRTU通信程序,属于计算机程序技术领域,通过指针间接寻址将不连续的从站设备寄存器Modbus地址通过转换变成连续的Modbus地址,仅使用一条MBUS_MSG指令完成整个轮询工作,通过配置Count参数和DataPtr参数提高CPU的内存利用率。本发明将指针间接寻址和循环嵌套结合应用,极大的减少了编程人员的工作量,大幅缩减程序体积,精简优化的程序故障率更低,更易于调试,编程效率得到显著提高。
Description
技术领域
本发明涉及一种ModbusRTU通信程序,特别是涉及一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,属于计算机程序技术领域。
背景技术
建筑设施智能化集成管理系统,简称IBFMs,是一套建立在各项建筑智能化子系统之上的开放式的、广泛兼容的信息化集成管理平台,该平台基于设备互联及网络技术将多地域、多楼宇、多系统的建筑设备设施的监测与控制管理集成在一个管理界面上,可分别面向集团总部管理员、区域公司管理员及建筑物业管理员等不同层面提供先进的设备监控、能效提升、业务管理、安全应急管理整体解决方案。
SIMATIC S7-200 SMART是自动化控制产品,S7-200 SMART设计精良且性能可靠,具备强大的通信功能,每个S7-200 SMART CPU都提供一个以太网端口和一个RS485端口,标准型CPU额外支持SB CM01信号板,信号板可通过STEP 7-Micro/WIN SMART软件组态为RS232通信端口或RS485通信端口。
IBFMs系统中有大量的设备,比如热泵机组、新风机组、板换机组等设备的各种状态参数,这些设备需要通过Modbus RTU通信协议接入信息管理平台,现场同样有大量的开关量设备需要分散监管,如各种阀门的状态反馈和输出控制。
S7-200 SMART标准CPU自带的两个RS485端口最大可以挂载64个Modbus从站设备,DI、DO可以采集开关量输入和控制开关量输出,以太网口支持程序上下载和在线监控、Modbus TCP通讯。
使用S7-200 SMART CPU作为Modbus主站访问IBFMs系统中的从站设备需要调用西门子标准Modbus RTU主站协议库指令,以端口0为例,该指令库包含主站初始化指令(MBUS_CTRL)和从站控制指令(MBUS_MSG),MBUS_MSG指令的数量可以是一条或者多条。
主站初始化指令(MBUS_CTRL)完成后可以开始调用从站控制指令(MBUS_MSG)对从站设备进行读写操作,当从站设备数量较多,每个从站需要访问的地址较多,并且地址不连续时通常需要调用多条MBUS_MSG指令来完成读写操作,由于某一时间只能有一条MBUS_MSG指令处于激活状态,因此通常使用当前MBUS_MSG指令的“读写功能完成位:Done”来作为下一条MBUS_MSG“使能:EN”的触发条件。由于需要循环使能所有MBUS_MSG指令以便访问所有从站的所有地址,因此使用最后一条MBUS_MSG指令的“读写功能完成位:Done”来作为第一条MBUS_MSG“使能:EN”的触发条件。
这种通信方式固然能够完成通信工作,但是只适用于从站数量较少,并且从站需要访问的寄存器数量较少的情况,当从站设备数量较多,每个从站需要访问的寄存器较多,并且这些寄存器的地址不连续时这种通信方式就存在如下三个缺陷:1)编程工作量巨大;2)CPU内存利用率低,存储方式不合理;3)通信速率低。
例如有24个从站需要被循环访问,每个从站有6个寄存器需要被读取,其Modbus地址分别为40002、40003、40005、40016、40017、40019,基于MBUS_MSG指令的工作原理,可以使用以下两种配置方式完成通信,同样通过这两种通信方式分析其缺陷:
1)为每个从站分配4条MBUS_MSG指令,累计使用96条MBUS_MSG指令;读取寄存器40002、40003使用一条MBUS_MSG指令,读取寄存器40005使用一条MBUS_MSG指令,读取寄存器40016、40017使用一条MBUS_MSG指令,读取寄存器40019使用一条MBUS_MSG指令;以第一个从站为例,寄存器Modbus地址和CPU内存地址映射关系如图1A,由于这6个寄存器的数据被连续有序的存储在CPU内存中,内存利用率为100%,但是编程工作量和程序体积较大;首先必须为每一条MBUS_MSG指令分配EN和Done以及Error的存储空间,这些存储空间严禁重复和交叉引用,这是整个轮询能够正常进行的前提条件;在编程时再将这些地址配置给每条MBUS_MSG指令的各个管脚,这项工作内容需要机械的重复96次,如果每个从站的寄存器数量是10个甚至20个,那类似的编程工作量将成倍增加,这使得编程效率下降,程序故障率升高,程序的体积也会随之增加,后期难以维护更新。
2)为每个从站分配一条MBUS_MSG指令,累计使用24条MBUS_MSG指令;每条指令都是从当前从站的Modbus地址为40002开始的寄存器读取数据,一次性读取18个寄存器的数据,依次存储在DataPtr指向的18个内存单元中;以第一个从站为例,寄存器Modbus地址和CPU内存地址映射关系如图1B,从图1B中可以发现大量无关的数据被读取存储在CPU内存单元中,仅VW1000、VW1002、VW1006、VW1028、VW1030、VW1034这6个内存单元的数据是我们需要的数据,其余12个内存单元被重复循环存储着无关的数据,这12个内存单元不能再被其他程序使用,否则会出现数据混乱,程序故障的现象;使用该通信方式虽然指令数为24条,编程工作量相对较少,但是CPU的内存利用率仅为30%,并且存储这些有效数据的CPU内存地址也分散,程序中二次寻址和使用相当麻烦,极易出错。
3)通信速率低,随着MBUS_MSG指令数量的增加,通信速率和质量呈反比下降,这个缺陷在实例测试中证实。
在实际项目应用中,使用SIMATIC S7-200 SMART通过Modbus RTU访问多从站多寄存器的案例相当常见,如何在减少编程工作量,减少程序体积,优化CPU内存利用率,优化CPU存储结构,提高通信速率的前提下完成通信工作意义重大。
发明内容
本发明的主要目的是为了提供一种应用于IBMS系统基于SIMATIC S7-200 SMART指针间接寻址的能够适应从站数量较多、从站寄存器数量较多、从站寄存器地址不连续的ModbusRTU通信程序,使编程效率更高、CPU内存利用率更高、存储分配更合理、通信效率更高。
本发明的目的可以通过采用如下技术方案达到:
一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序,通过指针间接寻址将不连续的从站设备寄存器Modbus地址通过转换变成连续的Modbus地址,仅使用一条MBUS_MSG指令完成整个轮询工作,通过配置Count参数和DataPtr参数提高CPU的内存利用率。
进一步的,该基于SIMATIC S7-200 SMART的ModbusRTU通信程序,包括如下步骤:
步骤1:在SIMATIC S7-200 SMART的内存中开辟存储空间;
步骤2:创建一个Modbus地址指针,把前面开辟的存储空间赋值给此Modbus地址指针,创建一个CPU内存地址指针;
步骤3:创建两个计数器,分别为内循环计数器和外循环计数器;
步骤4:将创建的Modbus地址指针配置给MBUS_MSG指令,将创建的CPU内存地址指针配置给MBUS_MSG指令;
步骤5:启动MBUS_MSG指令,对某个从站的某个寄存器执行一次读取或者写入操作;
步骤6:将Modbus地址指针加4,将CPU内存地址指针加2,内循环计数器加1;
步骤7:访问下一个寄存器,重复步骤6后再次执行步骤7,如此循环,直到当前从站的所有寄存器访问完毕,再次重复以上的步骤5至步骤7,直到当前从站的所有寄存器访问完毕,如此循环直到访问完所有从站的所有寄存器。
进一步的,步骤1中,在SIMATIC S7-200 SMART的内存中开辟出一块连续的存储空间,以双字大小为一个单元,然后把这些离散的设备寄存器Modbus地址有序的存储在S7-200 SMART的这些双字内存单元中。
进一步的,步骤2中,创建一个Modbus地址指针,把前面开辟的双字单元的第一个单元内存地址赋值给此Modbus地址指针,此时该Modbus地址指针指向了第一个双字单元,创建一个CPU内存地址指针,用于指示读取或者写入从站数据的CPU内存单元。
进一步的,步骤3中,创建两个计数器,一个用于当前从站已访问寄存器数量的计数,记为内循环计数器,另一个用于已访问从站设备数量的计数,记为外循环计数器。
进一步的,步骤4中,将创建的Modbus地址指针配置给MBUS_MSG指令的参数Addr,将创建的CPU内存地址指针配置给MBUS_MSG指令的参数DataPtr,Count配置为1。
进一步的,步骤6中,将Modbus地址指针加4,用于指向另一个CPU内存单元,间接寻址后得到下一个离散的寄存器Modbus地址,将CPU内存地址指针加2,为下一次读写操作指明存储区域,内循环计数器加1。
进一步的,步骤7中,访问下一个寄存器,重复步骤6后再次执行步骤7,如此循环,直到当前从站的所有寄存器访问完毕,此时外循环计数器加1,表示当前从站已经访问完毕,可以访问下一个从站的寄存器,此时需要把Modbus地址指针初始化,重新指向双字单元的第一个存储空间,间接寻址后得到第一个寄存器的Modbus地址,还需要把内循环计数器清零,用于统计当前从站寄存器访问数量,再次重复以上的步骤5至步骤7,直到当前从站的所有寄存器访问完毕,如此循环直到访问完所有从站的所有寄存器。
进一步的,完成一轮完整的从站轮询,为了能够重复循环的访问所有从站的所有寄存器,把Modbus地址指针初始化、CPU内存地址指针初始化、内循环计数器清零和外循环计数器清零,然后再次循环步骤5至步骤7,按照先执行内循环访问当前从站的所有寄存器,再执行外循环访问下一个从站的顺序完成对整个轮询通信操作。
本发明的有益技术效果:
1、本发明提供的基于SIMATIC S7-200 SMART的ModbusRTU通信程序,将指针间接寻址和循环嵌套结合应用,极大的减少了编程人员的工作量,大幅缩减程序体积,精简优化的程序故障率更低,更易于调试,编程效率得到显著提高。
2、本发明提供的基于SIMATIC S7-200 SMART的ModbusRTU通信程序,通过有序的规范化的数据存储,极大的提高了S7-200 SMART CPU内存空间的率用率,并且合理有序的存储数据同样便于数据的二次寻址应用。
3、本发明提供的基于SIMATIC S7-200 SMART的ModbusRTU通信程序,显著的提高了轮询的通信效率和通信质量,对比传统轮询通信方式,通信速率提高50%以上。
附图说明
图1A为现有技术中寄存器Modbus地址和CPU内存地址映射关系图;
图1B为现有技术中寄存器Modbus地址和CPU内存地址映射关系图;
图1C为现有技术中传统通信方式实际测试的结果;
图2为按照本发明的基于SIMATIC S7-200 SMART的ModbusRTU通信程序的一优选实施例的程序执行流程图;
图3为按照本发明的基于SIMATIC S7-200 SMART的ModbusRTU通信程序的一优选实施例的MBUS_MSG指令的参数配置图;
图4为按照本发明的基于SIMATIC S7-200 SMART的ModbusRTU通信程序的一优选实施例的寄存器Modbus地址和CPU内存地址映射关系图;
图5为按照本发明的基于SIMATIC S7-200 SMART的ModbusRTU通信程序的一优选实施例的指针间接寻址通信方式实际测试结果图。
具体实施方式
为使本领域技术人员更加清楚和明确本发明的技术方案,下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图2所示,本实施例提供的基于SIMATIC S7-200 SMART的ModbusRTU通信程序,通过指针间接寻址将不连续的从站设备寄存器Modbus地址通过转换变成连续的Modbus地址,仅使用一条MBUS_MSG指令完成整个轮询工作,通过配置Count参数和DataPtr参数提高CPU的内存利用率,具体包括如下步骤:
步骤1:在SIMATIC S7-200 SMART的内存中开辟存储空间;
步骤2:创建一个Modbus地址指针,把前面开辟的存储空间赋值给此Modbus地址指针,创建一个CPU内存地址指针;
步骤3:创建两个计数器,分别为内循环计数器和外循环计数器;
步骤4:将创建的Modbus地址指针配置给MBUS_MSG指令,将创建的CPU内存地址指针配置给MBUS_MSG指令;
步骤5:启动MBUS_MSG指令,对某个从站的某个寄存器执行一次读取或者写入操作;
步骤6:将Modbus地址指针加4,将CPU内存地址指针加2,内循环计数器加1;
步骤7:访问下一个寄存器,重复步骤6后再次执行步骤7,如此循环,直到当前从站的所有寄存器访问完毕,再次重复以上的步骤5至步骤7,直到当前从站的所有寄存器访问完毕,如此循环直到访问完所有从站的所有寄存器。
在某IBMS系统单元楼内有24个露点控制器需要通信,考虑到布线成本和施工难度不使用星型网络拓扑结构,而采用“手拉手”串联的总线形式接入S7-200 smart CPU端口0,物理层为RS485,每个控制器需要访问的寄存器单元都是相同的(40005=温度设定值、40016=干球温度实测值、40017=相对湿度实测值、40019=露点温度值)。
如图2所示,考虑到实际测试环境和测试设备,本实施例现使用4个露点控制器作为实验对象接入S7-200 smart CPU的端口0。4个露点控制器累计有16个Modbus寄存器需要访问,设备的从站地址从6到9,使用西门子官方提供的Modbus库指令对S7-200 smart CPU进行编程,本实施例仅使用一条MBUS_MSG指令,使用指针间接寻址和双循环结合,以实现对16个寄存器的高速高效访问,程序执行流程如图2,该流程图大体反应了程序的执行过程。
程序开始需要做初始化,初始化分为两种,一种是供电初始化,一种是用户需求初始化,通信初始化的部分内容为:
1.从站地址变量VB20赋值为6,每次轮询都是从6号从站开始访问;
2.把从站需要被访问的寄存器Modbus地址存入S7-200 smart CPU中连续的内存单元:V40=40005、VD44=40016、VD48=40017、VD52=40019;
3.Modbus地址指针初始化,将双字单元VD40的第一个字节VB40的内存地址(16#08000028)存放在Modbus地址指针VD22中,此时Modbus地址指针VD22指向了内存单元VB40;
4.CPU内存地址指针初始化,将字单元VW1000的第一个字节VB1000的内存地址(16#080003E8)存放在S7-200 smart CPU内存指针VD28中,此时该内存地址指针指向了CPU的内存单元VB1000。
如图3和图4所示,主站(S7-200 smart CPU)初始化完成后启动通讯,开始访问从站。MBUS_MSG指令的参数配置为:
Slave=VB20、RW=0、Addr=*VD22、Count=1、DataPtr=VD28,如图3。在访问第一个从站的第一个寄存器时,几个重要参数为:Slave=6、Addr=40005、DataPtr=&VB1000,其中参数Addr和参数DataPtr都是通过指针间接寻址得到。
在完成此次访问后,首先需要对MBUS_MSG指令的启动位进行复位,即复位M24.0,然后将Modbus地址指针VD22加4,即VB40的内存地址(16#08000028)加4得到VB44的内存地址(16#0800002C),用于指向下一个内存单元VD44。
将CPU内存指针VD28加2,即VB1000的内存地址(16#080003E8)加2得到VB1002的内存地址(16#080003EA),用于指向下一个内存单元VW1002。
内循环计数器VW32加1。再次启动MBUS_MSG指令访问当前从站的下一个寄存器,此时Addr=40016、DataPtr=&VB1002。参数Addr已通过指针间接寻址得到了第二个寄存器的Modbus地址,从该寄存器读取的数据将存储在VW1002中,内循环计数器VW32再次加1。
当VW32计数到4表明当前从站的所有寄存器访问完毕,当前从站的内循环结束,需要进入外循环,开始访问下一个从站。
此时需要再次把Modbus地址指针VD22初始化,用于指向下一个从站的第一个寄存器Modbus地址。
CPU内存指针VD28不需要处理,因为当前从站的数据是接着上一个从站连续存储的。
内循环计数器需要清零。
然后重复上面的操作,以访问当前从站的所有寄存器。
当外循环计数器(从站地址变量)VB20计数到10时,说明所有从站的所有寄存器都已经访问完毕,此番通信结束,4个从站的16个寄存器数据被有序连续的存储在CPU内存单元VW1000至VW1030这段区域中。
此时需要初始化所有通信参数,以便开启新一轮的轮询。本实施例的寄存器Modbus地址和CPU内存地址映射关系如图4。
如图5所示,为测试传统通信方式和指针间接寻址通信方式的效率差异,现统计每100次轮询所用时间(T),再计算出单次轮询所用时间的平均值(T/100),累计采样20组平均值,20组平均值存储在VW2000到VW2038这段内存单元中,传统通信方式实际测试结果如图1C,指针间接寻址通信方式实际测试结果图5。对比传统通信方式和指针间接寻址方式,后者通信效率提高61.12%。
综上所述,在本实施例中,本实施例提供的基于SIMATIC S7-200 SMART的ModbusRTU通信程序,将指针间接寻址和循环嵌套结合应用,极大的减少了编程人员的工作量,大幅缩减程序体积,精简优化的程序故障率更低,更易于调试,编程效率得到显著提高;通过有序的规范化的数据存储,极大的提高了S7-200 SMART CPU内存空间的率用率,并且合理有序的存储数据同样便于数据的二次寻址应用;显著的提高了轮询的通信效率和通信质量,对比传统轮询通信方式,通信速率提高50%以上。
以上所述,仅为本发明进一步的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明所公开的范围内,根据本发明的技术方案及其构思加以等同替换或改变,都属于本发明的保护范围。
Claims (9)
1.一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,通过指针间接寻址将不连续的从站设备寄存器Modbus地址通过转换变成连续的Modbus地址,仅使用一条MBUS_MSG指令完成整个轮询工作,通过配置Count参数和DataPtr参数提高CPU的内存利用率。
2.根据权利要求1所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,包括如下步骤:
步骤1:在SIMATIC S7-200SMART的内存中开辟存储空间;
步骤2:创建一个Modbus地址指针,把前面开辟的存储空间赋值给此Modbus地址指针,创建一个CPU内存地址指针;
步骤3:创建两个计数器,分别为内循环计数器和外循环计数器;
步骤4:将创建的Modbus地址指针配置给MBUS_MSG指令,将创建的CPU内存地址指针配置给MBUS_MSG指令;
步骤5:启动MBUS_MSG指令,对某个从站的某个寄存器执行一次读取或者写入操作;
步骤6:将Modbus地址指针加4,将CPU内存地址指针加2,内循环计数器加1;
步骤7:访问下一个寄存器,重复步骤6后再次执行步骤7,如此循环,直到当前从站的所有寄存器访问完毕,再次重复以上的步骤5至步骤7,直到当前从站的所有寄存器访问完毕,如此循环直到访问完所有从站的所有寄存器。
3.根据权利要求2所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤1中,在SIMATIC S7-200SMART的内存中开辟出一块连续的存储空间,以双字大小为一个单元,然后把这些离散的设备寄存器Modbus地址有序的存储在S7-200SMART的这些双字内存单元中。
4.根据权利要求3所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤2中,创建一个Modbus地址指针,把前面开辟的双字单元的第一个单元内存地址赋值给此Modbus地址指针,此时该Modbus地址指针指向了第一个双字单元,创建一个CPU内存地址指针,用于指示读取或者写入从站数据的CPU内存单元。
5.根据权利要求4所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤3中,创建两个计数器,一个用于当前从站已访问寄存器数量的计数,记为内循环计数器,另一个用于已访问从站设备数量的计数,记为外循环计数器。
6.根据权利要求5所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤4中,将创建的Modbus地址指针配置给MBUS_MSG指令的参数Addr,将创建的CPU内存地址指针配置给MBUS_MSG指令的参数DataPtr,Count配置为1。
7.根据权利要求6所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤6中,将Modbus地址指针加4,用于指向另一个CPU内存单元,间接寻址后得到下一个离散的寄存器Modbus地址,将CPU内存地址指针加2,为下一次读写操作指明存储区域,内循环计数器加1。
8.根据权利要求7所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,步骤7中,访问下一个寄存器,重复步骤6后再次执行步骤7,如此循环,直到当前从站的所有寄存器访问完毕,此时外循环计数器加1,表示当前从站已经访问完毕,可以访问下一个从站的寄存器,此时需要把Modbus地址指针初始化,重新指向双字单元的第一个存储空间,间接寻址后得到第一个寄存器的Modbus地址,还需要把内循环计数器清零,用于统计当前从站寄存器访问数量,再次重复以上的步骤5至步骤7,直到当前从站的所有寄存器访问完毕,如此循环直到访问完所有从站的所有寄存器。
9.根据权利要求8所述的一种基于SIMATIC S7-200SMART的ModbusRTU通信程序,其特征在于,完成一轮完整的从站轮询,为了能够重复循环的访问所有从站的所有寄存器,把Modbus地址指针初始化、CPU内存地址指针初始化、内循环计数器清零和外循环计数器清零,然后再次循环步骤5至步骤7,按照先执行内循环访问当前从站的所有寄存器,再执行外循环访问下一个从站的顺序完成对整个轮询通信操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214123.XA CN109450756A (zh) | 2018-10-18 | 2018-10-18 | 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214123.XA CN109450756A (zh) | 2018-10-18 | 2018-10-18 | 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450756A true CN109450756A (zh) | 2019-03-08 |
Family
ID=65546633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811214123.XA Pending CN109450756A (zh) | 2018-10-18 | 2018-10-18 | 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450756A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN111478837A (zh) * | 2020-04-02 | 2020-07-31 | 广东美的暖通设备有限公司 | 数据通信方法、空调器、空调系统和存储介质 |
CN111884915A (zh) * | 2020-07-17 | 2020-11-03 | 杭州电子科技大学 | 一种提高网关采集modbus设备效率的方法 |
CN112073280A (zh) * | 2020-09-07 | 2020-12-11 | 合肥阳光新能源科技有限公司 | 基于Modbus协议的通信方法、装置及通信设备 |
CN112636473A (zh) * | 2020-12-11 | 2021-04-09 | 中腾微网(北京)科技有限公司 | 一种应用于微电网行业的Modbus数据采集方法 |
CN115174306A (zh) * | 2022-07-04 | 2022-10-11 | 北京广利核系统工程有限公司 | Modbus通信内存优化方法、通信方法及相关装置 |
CN116661865A (zh) * | 2023-07-26 | 2023-08-29 | 深圳大学 | 寄存器管理方法、装置、终端设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638451A (zh) * | 2012-03-14 | 2012-08-15 | 江苏斯菲尔电气股份有限公司 | Modbus通讯协议的寄存器列表数据的动态重组方法 |
US20130031285A1 (en) * | 2011-07-26 | 2013-01-31 | Endress + Hauser Conducta Gesellschaft Fur Mess- Und Regeltechnik Mbh + Co. Kg | Apparatus for determining and/or monitoring a chemical or physical process variable in automation technology |
-
2018
- 2018-10-18 CN CN201811214123.XA patent/CN109450756A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031285A1 (en) * | 2011-07-26 | 2013-01-31 | Endress + Hauser Conducta Gesellschaft Fur Mess- Und Regeltechnik Mbh + Co. Kg | Apparatus for determining and/or monitoring a chemical or physical process variable in automation technology |
CN102638451A (zh) * | 2012-03-14 | 2012-08-15 | 江苏斯菲尔电气股份有限公司 | Modbus通讯协议的寄存器列表数据的动态重组方法 |
Non-Patent Citations (1)
Title |
---|
LHDZB19上传: "《实例解析西门子S7-200PLC的间接寻址》", 《HTTP://WWW.DOC88.COM/P-7952437744013.HTML》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN110851392B (zh) * | 2019-11-13 | 2021-10-01 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN111478837A (zh) * | 2020-04-02 | 2020-07-31 | 广东美的暖通设备有限公司 | 数据通信方法、空调器、空调系统和存储介质 |
CN111884915A (zh) * | 2020-07-17 | 2020-11-03 | 杭州电子科技大学 | 一种提高网关采集modbus设备效率的方法 |
CN112073280A (zh) * | 2020-09-07 | 2020-12-11 | 合肥阳光新能源科技有限公司 | 基于Modbus协议的通信方法、装置及通信设备 |
CN112636473A (zh) * | 2020-12-11 | 2021-04-09 | 中腾微网(北京)科技有限公司 | 一种应用于微电网行业的Modbus数据采集方法 |
CN115174306A (zh) * | 2022-07-04 | 2022-10-11 | 北京广利核系统工程有限公司 | Modbus通信内存优化方法、通信方法及相关装置 |
CN115174306B (zh) * | 2022-07-04 | 2023-07-25 | 北京广利核系统工程有限公司 | Modbus通信内存优化方法、通信方法及相关装置 |
CN116661865A (zh) * | 2023-07-26 | 2023-08-29 | 深圳大学 | 寄存器管理方法、装置、终端设备以及存储介质 |
CN116661865B (zh) * | 2023-07-26 | 2023-12-08 | 深圳大学 | 寄存器管理方法、装置、终端设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450756A (zh) | 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 | |
CN103792928B (zh) | 一种基于Modbus的工业现场数据采集分析系统 | |
CN102736599B (zh) | 基于物联网技术的实时互动智能终端控制系统 | |
CN101937232B (zh) | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 | |
CN201174706Y (zh) | 基于fpga技术的以太网串口转换器 | |
CN109525474A (zh) | 一种基于Linux平台的多接口协议智能转换器及转换方法 | |
US4276925A (en) | Electronic temperature control system | |
CN100524122C (zh) | 专用于全数字环形总线数控系统的总线控制器 | |
CN106814657B (zh) | 基于ARM的嵌入式实时EtherCAT主站构建方法 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN105939253A (zh) | 一种工业无线网关装置及其协议转换方法 | |
CN108006897B (zh) | 群组控制方法和装置 | |
CN100504688C (zh) | 在环形总线数控系统中实现总线控制器功能的专用芯片 | |
CN101163017A (zh) | 嵌入式变电站信息集成服务器 | |
CN113028603B (zh) | 一种应用于中央空调系统的设备监测系统 | |
CN202257553U (zh) | 一种通用串口到modbus的协议转换器 | |
CN103455463A (zh) | 一种主控单元通信接入和转出方法 | |
CN107145467A (zh) | 一种分布式实时计算硬件系统 | |
CN106270911A (zh) | 一种全智能锡膏回温存取装置 | |
CN108345236A (zh) | 一种基于EtherCAT的控制系统 | |
CN214281032U (zh) | 基于边缘计算的智能配电网关 | |
CN101702119A (zh) | 面向设备的编程技术与方法 | |
CN112884358A (zh) | 一种电采暖设备有序用电优化调度方法及终端 | |
CN209105202U (zh) | 一种基于Linux平台的多接口协议智能转换器 | |
CN208001376U (zh) | 一种环境数据采集系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |