CN109450756A - 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 - Google Patents

一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 Download PDF

Info

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
Application number
CN201811214123.XA
Other languages
English (en)
Inventor
朱鹤鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Pittosporum Tobira Environmental Science And Technology Co Ltd
Original Assignee
Nanjing Pittosporum Tobira Environmental Science And Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Pittosporum Tobira Environmental Science And Technology Co Ltd filed Critical Nanjing Pittosporum Tobira Environmental Science And Technology Co Ltd
Priority to CN201811214123.XA priority Critical patent/CN109450756A/zh
Publication of CN109450756A publication Critical patent/CN109450756A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

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

一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序
技术领域
本发明涉及一种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,按照先执行内循环访问当前从站的所有寄存器,再执行外循环访问下一个从站的顺序完成对整个轮询通信操作。
CN201811214123.XA 2018-10-18 2018-10-18 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序 Pending CN109450756A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
LHDZB19上传: "《实例解析西门子S7-200PLC的间接寻址》", 《HTTP://WWW.DOC88.COM/P-7952437744013.HTML》 *

Cited By (10)

* Cited by examiner, † Cited by third party
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