本发明专利技术提供了一种基于S7-300/400PLC的Modbus RTU/ASCII协议实现方法,其采用ASCII驱动发送、接收和处理符合Modbus协议规范的数据报文,从而在S7-300/400PLC平台中的串行通讯模块上实现Modbus通讯,包括步骤:步骤1:对基本通讯参数进行配置;步骤2:通讯报文数据的处理;步骤3:报文的发送和接收。本发明专利技术简单、灵活、可靠,且硬件成本较低,通用性很强,能够广泛应用于工业自动化领域中PLC与各类智能仪表和设备的Modbus RTU/ASCII通讯。
【技术实现步骤摘要】
本专利技术涉及Mo化USRTU/ASCII协议,具体涉及在S7-300/400PLC平台上采用通用 型串行通讯模块实现Mo化USRTU/ASCII协议通讯的一种方法。
技术介绍
Mo化US是Modicon公司于1978年提出的一种用于电子控制器进行控制和通讯 的通讯协议。现在Mcxlbus已经是工业领域全球最流行的协议之一。此协议支持传统的 RS-232、RS-422、RS-485和W太网设备。许多工业设备,包括化C、DCS和智能仪表等都在使 用Mo化US协议作为他们之间的通讯标准。Mo化US协议包括ASCII、RTU、TCP等。 现有技术中,采用了 "专用串行通讯模板+Mcxlbus硬件狗"的方式来实现 S7-300/400PLC中的Mcxlbus通讯。送种方案具有W下问题;1是价格昂贵;2是通用性较差, 仅支持少数几种硬件通讯模块,且不同的通讯模式需要不同的硬件狗;3是功能不够完善, 例如不支持Mo化USASCII协议。 经检索,发现如下相关文献和传统方式。[000引相关文献: 【申请号】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主站。 技术要点比较:该专利文献采用1台S7-200PLC来实现S7-300PLC与mo化us-rtu 主站的通讯。本专利技术则只需增加通用型串行通讯模块即可,且既可W在S7-300PLC也可W 在S7-400PLC中实现Modbus-RUi/ASCII的主站和从站通讯。[000引 传统方式: 在S7-300/400PLC中实现Mo化US通讯的一般方法,是采用"串行通讯模板+Mo化US 硬件狗"的方式 技术要点比较:
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种采用"自定义软件模块+通用 型串行通讯硬件模块"的方法在S7-300/400PLC中实现Mo化USRUT/ASCII协议通讯。 根据本专利技术提供的一种基于S7-300/400PLC的Mo化USRTU/ASCII协议实现方法, 采用ASCn驱动发送、接收和处理符合Mo化US协议规范的数据报文,从而在S7-300/400化C 平台中的串行通讯模块上实现Mo化US通讯,具体包括如下步骤: 步骤1 ;对基本通讯参数进行配置: 通过集成在STEP7软件中的串行通讯模块参数化工具,根据通讯对象的要求对接 收顿的结束方式、通讯速率、数据位、停止位、奇偶校验送些基本通讯参数进行相应设定; 步骤2 ;通讯报文数据的处理: 整条报文数据由站号、功能码、寄存器、校验码四个部分组成,对于不同的从节点 修改其中的站号,对于不同的数据类型或读/写需求的修改其中的功能码,对于不同的数 据地址修改其中的寄存器的数据,并根据站号、功能码、寄存器的数据内容计算校验码的数 值;[001引步骤3 ;报文的发送和接收: 通过调用STEP7软件中提供的通讯功能,令不同的串行通讯模块调用相应的系统 通讯功能块。 优选地,报文数据末尾的校验码是CRC16校验码或LRC校验码。 优选地,CRC16校验的计算法具体为: 步骤2. 1 ;装入一个16位寄存器,所有数位均为1 ; 步骤2. 2;该16位寄存器与开始8位字节进行异或运算,运算结果放入送个16位 寄存器; 步骤2. 3;把送个16位寄存器向右移一位;步骤2.4 ;若向右移出的数位是1,则生成多项式1010000000000001和送个寄存器 进行异或运算;若向右移出的数位是0,则返回步骤2. 3 ; 步骤2. 5;重复步骤2. 3和步骤2. 4,直至移出8位; 步骤2. 6 ;该16位寄存器另外8位与该十六位寄存器进行异或运算; 步骤2. 7 ;重复步骤2. 3至2. 6,直至该报文数据所有字节均与16位寄存器进行异 或运算,并移位8次; 步骤2. 8 ;送个16位寄存器的内容即2字节CRC错误校验,加到报文数据的最高 有效位。 优选地,串行通讯模块与相应的系统通讯功能块的调用关系如下: 与现有技术相比,本专利技术具有如下的有益效果: 由于采用了上述技术方案,本专利技术的有益效果是送种方法简单、灵活、可靠,且硬 件成本较低,通用性很强。本专利技术能够广泛应用于工业自动化领域中PLC与各类智能仪表 和设备的ModbusRTU/ASCII通讯。【附图说明】 通过阅读参照W下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、 目的和优点将会变得更明显:[003引图1为Mo化USMaster软件模块功能流程图。【具体实施方式】 下面结合具体实施例对本专利技术进行详细说明。W下实施例将有助于本领域的技术 人员进一步理解本专利技术,但不W任何形式限制本专利技术。应当指出的是,对本领域的普通技 术人员来说,在不脱离本专利技术构思的前提下,还可W做出若干变形和改进。送些都属于本发 明的保护范围。 在硬件方面,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通讯的过程。 在软件方面,基于ASCII驱动编写通用的Mo化US通讯软件模块,第一步是对基 本的通讯参数进行配置;通过集成在STEP7软件中的串行通讯模块参数化工具(PTP软件 包),根据通讯对象的要求对当前第1页1 2 本文档来自技高网...
【技术保护点】
一种基于S7‑300/400PLC的Modbus RTU/ASCII协议实现方法,其特征在于,采用ASCII驱动发送、接收和处理符合Modbus协议规范的数据报文,从而在S7‑300/400PLC平台中的串行通讯模块上实现Modbus通讯,具体包括如下步骤:步骤1:对基本通讯参数进行配置:通过集成在STEP7软件中的串行通讯模块参数化工具,根据通讯对象的要求对接收帧的结束方式、通讯速率、数据位、停止位、奇偶校验这些基本通讯参数进行相应设定;步骤2:通讯报文数据的处理:整条报文数据由站号、功能码、寄存器、校验码四个部分组成,对于不同的从节点修改其中的站号,对于不同的数据类型或读/写需求的修改其中的功能码,对于不同的数据地址修改其中的寄存器的数据,并根据站号、功能码、寄存器的数据内容计算校验码的数值;步骤3:报文的发送和接收:通过调用STEP7软件中提供的通讯功能,令不同的串行通讯模块调用相应的系统通讯功能块。
【技术特征摘要】
【专利技术属性】
技术研发人员:袁翔,
申请(专利权)人:上海宝信软件股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。