基于S7-300/400PLC的ModbusRTU/ASCII协议实现方法

文档序号:9523488阅读:2019来源:国知局
基于S7-300/400 PLC的Modbus RTU/ASCII协议实现方法
【技术领域】
[0001] 本发明涉及Mo化USRTU/ASCII协议,具体涉及在S7-300/400PLC平台上采用通用 型串行通讯模块实现Mo化USRTU/ASCII协议通讯的一种方法。
【背景技术】
[0002] Mo化US是Modicon公司于1978年提出的一种用于电子控制器进行控制和通讯 的通讯协议。现在Mcxlbus已经是工业领域全球最流行的协议之一。此协议支持传统的 RS-232、RS-422、RS-485和W太网设备。许多工业设备,包括化C、DCS和智能仪表等都在使 用Mo化US协议作为他们之间的通讯标准。Mo化US协议包括ASCII、RTU、TCP等。
[0003] 现有技术中,采用了 "专用串行通讯模板+Mcxlbus硬件狗"的方式来实现 S7-300/400PLC中的Mcxlbus通讯。送种方案具有W下问题;1是价格昂贵;2是通用性较差, 仅支持少数几种硬件通讯模块,且不同的通讯模式需要不同的硬件狗;3是功能不够完善, 例如不支持Mo化USASCII协议。
[0004] 经检索,发现如下相关文献和传统方式。
[000引相关文献:
[0006] 【申请号】200910247434. 0,专利名称;支持mo化us-rtu通讯的PLC系统W及通讯 方法。该专利文献公开了支持mo化us-rtu通讯的PLC系统W及通讯方法,该系统包括一台 S7-300PLC和一台S7-200化C,其中S7-300PLC通过S7-200PLC实现与modbus-rtu主站通 讯。相应的通讯方法包括如下步骤;(1)S7-200PLC实时读取S7-300化C数据;(2)S7-200化C 将实时数据传送给mo化us-rtu主站。
[0007] 技术要点比较:该专利文献采用1台S7-200PLC来实现S7-300PLC与mo化us-rtu 主站的通讯。本发明则只需增加通用型串行通讯模块即可,且既可W在S7-300PLC也可W 在S7-400PLC中实现Modbus-RUi/ASCII的主站和从站通讯。
[000引 传统方式:
[0009] 在S7-300/400PLC中实现Mo化US通讯的一般方法,是采用"串行通讯模板+Mo化US 硬件狗"的方式
[0010] 技术要点比较:
[0011]


【发明内容】

[0012] 针对现有技术中的缺陷,本发明的目的是提供一种采用"自定义软件模块+通用 型串行通讯硬件模块"的方法在S7-300/400PLC中实现Mo化USRUT/ASCII协议通讯。
[0013] 根据本发明提供的一种基于S7-300/400PLC的Mo化USRTU/ASCII协议实现方法, 采用ASCn驱动发送、接收和处理符合Mo化US协议规范的数据报文,从而在S7-300/400化C 平台中的串行通讯模块上实现Mo化US通讯,具体包括如下步骤:
[0014] 步骤1 ;对基本通讯参数进行配置:
[0015] 通过集成在STEP7软件中的串行通讯模块参数化工具,根据通讯对象的要求对接 收顿的结束方式、通讯速率、数据位、停止位、奇偶校验送些基本通讯参数进行相应设定;
[0016] 步骤2 ;通讯报文数据的处理:
[0017] 整条报文数据由站号、功能码、寄存器、校验码四个部分组成,对于不同的从节点 修改其中的站号,对于不同的数据类型或读/写需求的修改其中的功能码,对于不同的数 据地址修改其中的寄存器的数据,并根据站号、功能码、寄存器的数据内容计算校验码的数 值;
[001引步骤3 ;报文的发送和接收:
[0019] 通过调用STEP7软件中提供的通讯功能,令不同的串行通讯模块调用相应的系统 通讯功能块。
[0020] 优选地,报文数据末尾的校验码是CRC16校验码或LRC校验码。
[0021] 优选地,CRC16校验的计算法具体为:
[0022] 步骤2. 1 ;装入一个16位寄存器,所有数位均为1 ;
[0023] 步骤2. 2;该16位寄存器与开始8位字节进行异或运算,运算结果放入送个16位 寄存器;
[0024] 步骤2. 3;把送个16位寄存器向右移一位;
[00巧]步骤2.4 ;若向右移出的数位是1,则生成多项式1010000000000001和送个寄存器 进行异或运算;若向右移出的数位是0,则返回步骤2. 3 ;
[0026] 步骤2. 5;重复步骤2. 3和步骤2. 4,直至移出8位;
[0027] 步骤2. 6 ;该16位寄存器另外8位与该十六位寄存器进行异或运算;
[0028] 步骤2. 7 ;重复步骤2. 3至2. 6,直至该报文数据所有字节均与16位寄存器进行异 或运算,并移位8次;
[0029] 步骤2. 8 ;送个16位寄存器的内容即2字节CRC错误校验,加到报文数据的最高 有效位。
[0030] 优选地,串行通讯模块与相应的系统通讯功能块的调用关系如下:
[0031]
[0032] 与现有技术相比,本发明具有如下的有益效果:
[0033] 由于采用了上述技术方案,本发明的有益效果是送种方法简单、灵活、可靠,且硬 件成本较低,通用性很强。本发明能够广泛应用于工业自动化领域中PLC与各类智能仪表 和设备的ModbusRTU/ASCII通讯。
【附图说明】
[0034] 通过阅读参照W下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[003引图1为Mo化USMaster软件模块功能流程图。
【具体实施方式】
[0036] 下面结合具体实施例对本发明进行详细说明。W下实施例将有助于本领域的技术 人员进一步理解本发明,但不W任何形式限制本发明。应当指出的是,对本领域的普通技 术人员来说,在不脱离本发明构思的前提下,还可W做出若干变形和改进。送些都属于本发 明的保护范围。
[0037] 在硬件方面,S7-300/400PLC中通用型串行通讯模块主要有W下几类: CP340(RS232C)/CP340(20Matty)/CP340 〇?S422/485)/CP341(RS232C)/CP341 (20MaTTY)/ CP341 (RS422/485)/CP440/CP441-l/CP441-2。送些通用型串行通讯模炔基本都支持一种通 用型的串行消息收/发协议驱动一ASCII驱动。ASCII驱动可W发送和接收任何结构的 数据,包括所有可打印的ASCn字符W及从00到FFH(带有8个数据位字符顿)或从00到 7FH(带有7个数据位字符顿)的所有其它字符。因此本方案采用ASCII驱动发送、接收和 处理符合Mo化US协议规范的数据报文,从而能够在S7-300/400PLC平台中的大部分串行通 讯模块上实现Mo化US通讯的过程。
[0038] 在软件方面,基于ASCII驱动编写通用的Mo化US通讯软件模块,第一步是对基 本的通讯参数进行配置;通过集成在STEP7软件中的串行通讯模块参数化工具(PTP软件 包),根据通讯对象的要求对
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1