首页> 中国专利> 一种煤样检测系统中的PLC数据读写方法及系统

一种煤样检测系统中的PLC数据读写方法及系统

摘要

本发明公开了一种煤样检测系统中的PLC数据读写方法及系统,方法包括:S1.在主站初始化端口时,固化各模块的MB_DB背景数据块;S2.根据从站类型划分地址区间,固化从站的MODBUS地址;S3.在主站中,根据模块与从站的连接关系,对从站地址进行配置;S4.根据主站中的地址配置参数,进行轮询扫描,对各从站的数据进行读写操作。本发明具有通用性强,收发数据稳定、效率高等优点。

著录项

  • 公开/公告号CN107390625A

    专利类型发明专利

  • 公开/公告日2017-11-24

    原文格式PDF

  • 申请/专利权人 湖南三德科技股份有限公司;

    申请/专利号CN201710741622.3

  • 发明设计人 肖兵球;谭为;

    申请日2017-08-25

  • 分类号

  • 代理机构湖南兆弘专利事务所(普通合伙);

  • 代理人周长清

  • 地址 410205 湖南省长沙市高新区桐梓坡西路558号

  • 入库时间 2023-06-19 03:51:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-01

    未缴年费专利权终止 IPC(主分类):G05B19/05 专利号:ZL2017107416223 申请日:20170825 授权公告日:20200121

    专利权的终止

  • 2020-01-21

    授权

    授权

  • 2017-12-19

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20170825

    实质审查的生效

  • 2017-11-24

    公开

    公开

说明书

技术领域

本发明涉及煤样检测系统的控制领域,尤其涉及一种煤样检测系统中的PLC数据读写方法及系统。

背景技术

在煤样检测系统中,主要通过PLC(可编程控制器)对项目的执行过程以及试验的数据进行收发,以实现煤样检测的高效与准确。在煤样检测中,包括多个子项目方案,而每个子项目方案中,自动制样室、人工制样室、化验室、存样室的空间位置不一样,因此,需要布置大量了PLC子站进行对控制及试验的数据进行收发,以气动输送项目为例:PLC485从站地址大概10多个,PLC配置4个PLC485模块收发数据。如果按照同一种方案接线,可能会造成线路复杂、通信干扰等,所以接线方式也需要根据具体现场进行调整。这样就造成了每个从站都有可能任意组合挂在任意一个PLC485模块端口上。由于每个 PLC485模块初始化端口时系统自动分配的唯一的ID识别号,同时所挂的从站地址也不是固定的,所以现有煤样管理系统中的PLC通信模块读取从站信号时需要根据项目的接线方式进行通信编程调整。具体调整内容为MB_MASTER数据发送块的接口及背景数据块,比方说MODBUS地址调整,背景数据块的更新,每个项目需要做大量的通信接口修改及配置。由于无法通过可配置实现通用版,非资深的PLC工程师难以在短时间完成设计与测试。如何通过上位机配置实现从站地址自由组合,PLC程序自适应各种复杂现场组合,以通用版程序适应各个“专用版”项目方案,非常有必要。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种通用性强,收发数据稳定、效率高的煤样检测系统中的PLC数据读写方法及系统。

为解决上述技术问题,本发明提出的技术方案为:一种煤样检测系统中的PLC数据读写方法,包括如下步骤:

S1. 在主站初始化端口时,固化各模块的MB_DB背景数据块;

S2. 根据从站类型划分地址区间,固化从站的MODBUS地址;

S3. 在主站中,根据模块与从站的连接关系,对从站地址进行配置;

S4. 根据主站中的地址配置参数,进行轮询扫描,对各从站的数据进行读写操作。

进一步地,对于每个模块,与之连接的从站数量小于等于50个。

进一步地,步骤S3中,所述主站通过固定数组来配置从站的地址。

进一步地,对于与模块连接的N个从站,通过所述固定数组的前N个元素来配置从站地址,并在第N+1个元素配置预设的结束标志。

进一步地,步骤S4的具体步骤包括:

S4.1. 对于每个模块,分别定义工作步变量;

S4.2. 在每次轮询扫描中,对于每个模块,依次将与模块连接的从站地址赋值给所述工作变量,并调用读写子程序对工作步变量所指定的子站执行读写操作,直到完成对所述从站的读写操作。

进一步地,在所述读写子程序中,在完成当前子站的读写操作后,直接在所述读写子程序中将所述工作步变量幅值为一下个子站的地址值。

进一步地,在所述读写子程序中,通过写数据使能变量控制读写子程序对子站执行写操作,仅在需要向子站写数据时,所述写数据使能变量才被打开,执行写数据操作。

一种煤样检测系统中的PLC数据读写系统,包括上位机、主站和从站,所述主站包括多个模块,所述主站与上位机连接,所述从站与主站的模块连接;所述主站在初始化端口时,固化各模块的MB_DB背景数据块;所述从站采用固化的MODBUS地址;所述主站根据模块与从站的连接关系,对从站地址进行配置;根据主站中的地址配置参数,进行轮询扫描,对各从站的数据进行读写操作。

进一步地,在所述主站中,对于每个模块,分别定义工作步变量;在每次轮询扫描中,对于每个模块,依次将与模块连接的从站地址赋值给所述工作变量,并调用读写子程序对工作步变量所指定的子站执行读写操作,直到完成对所述从站的读写操作。

进一步地,在所述读写子程序中,在完成当前子站的读写操作后,直接在所述读写子程序中将所述工作步变量幅值为一下个子站的地址值。

进一步地,在所述读写子程序中,通过写数据使能变量控制读写子程序对子站执行写操作,仅在需要向子站写数据时,所述写数据使能变量才被打开,执行写数据操作。

进一步地,所述主站通过固定数组来配置从站的地址;对于与模块连接的N个从站,通过所述固定数组的前N个元素来配置从站地址,并在第N+1个元素配置预设的结束标志;对于每个模块,与之连接的从站数量小于等于50个。

与现有技术相比,本发明的优点在于:

1、本发明通用性强,不需要针对不同的应用场景分别PLC编写控制程序,只需要在PLC主站中,根据从站与主站各模块之间的连接关系,配置好从站的地址即可方便的实现控制程序的共用。

2、本发明通过主站调用读写子程序来对从站的数据进行读写,并通过轮询的方式来依次读写各从站的数据,既减少PLC内存消耗,又增加收发数据稳定性与效率。

3、本发明根据煤样检测系统中对数据读取时效性的要求,将从站的数量限制为50个以下,保证了煤样检测时所读取数据的时效性和有效性。

附图说明

图1为本发明具体实施例流程示意图。

图2为本发明具体实施例中从站地址配置示意图。

图3为本发明具体实施例结构示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例的煤样检测系统中的PLC数据读写方法,包括如下步骤:S1.在主站初始化端口时,固化各模块的MB_DB背景数据块;S2. 根据从站类型划分地址区间,固化从站的MODBUS地址;S3. 在主站中,根据模块与从站的连接关系,对从站地址进行配置;S4. 根据主站中的地址配置参数,进行轮询扫描,对各从站的数据进行读写操作。

在本实施例中,以具有4个模块的主站为例进行说明,分别为模块1、模块2、模块3和模块4,PLC通过MB_COMM_LOAD进行初始化端口,固化MB_DB背景数据块,分别为:模块1为DB101,模块2为DB102,模块3为DB103,模块4为DB104。通过在初始化端口时固化MB_DB背景数据块,解决了常规PLC初始化端口时,在通信参数或者背景数据块有改变,需要再次初始化端口参数,且链接的MB_MASTER背景数据块固化的问题。

在本实施例中,在煤样检测过程中,需要用到多种不同类型的从站,并且在不同的应用场景中,每种类型的从站的数量也是变化的。因此,本实施例按照从站的类型划分地址区间,并固化从站MODBUS地址,如对于自动发终端类型的从站,划分其地址区间为90至99,即对于同一应用场景,可以连接10个自动发终端类型的从站。假设对于其中某个自动发终端的从站地址固化为99,那么,对于每个应用场景,地址为99的从站都是自动发终端对应的地址,不需要再针对不同应用场景的项目,再针对不同的从站地址来分别编写程序。

在本实施例中,步骤S3中,所述主站通过固定数组来配置从站的地址。对于与模块连接的N个从站,通过所述固定数组的前N个元素来配置从站地址,并在第N+1个元素配置预设的结束标志。如图2所示,对于主站的4个模块,分别定义4个长度为50的固定数组,分别为A[i]、B[i]、C[i]、D[i],1≤ i≤50。其中,模块1连接4个从站,其地址分别为1、10、11、3,则通过数组A[i]的前4个元素来存储4个从站的地址,即A[1]=1、A[2]=10、A[3]=11、A[4]=3。同时,将数组A[i]的第5个元素设置为预设的结束标志0,即A[5]=0。同理,对于连接有6个从站的模块2,其数组为B[1]=6、B[2]=12、B[3]=4、B[4]=2、B[5]=9、B[6]=8、B[7]=0。

在本实施例中,步骤S4的具体步骤包括:S4.1. 对于每个模块,分别定义工作步变量;S4.2. 在每次轮询扫描中,对于每个模块,依次将与模块连接的从站地址赋值给所述工作变量,并调用读写子程序对工作步变量所指定的子站执行读写操作,直到完成对所述从站的读写操作。在所述读写子程序中,在完成当前子站的读写操作后,直接在所述读写子程序中将所述工作步变量幅值为一下个子站的地址值。在所述读写子程序中,通过写数据使能变量控制读写子程序对子站执行写操作,仅在需要向子站写数据时,所述写数据使能变量才被打开,执行写数据操作。

在本实施例中,对于主站的4个模块,定义工作步变量分别为工作步1、工作步2、工作步3和工作步4,通过工作步变量来表征4个模块的工作流程。以模块1为例进行说明。在初始状态,工作步1=0,主流程开始,通过读取固定数组中A[1]的值,由于A[1]不等于0,将A[1]的值赋值给工作步1,即工作步1=1,并调用读写子程序对读写地址为1的从站数据进行读写,完成对该从站的数据读写后,再将固定数组中A[2]的值赋值给工作步1,再次调用读写子程序对读写地址为10的从站数据进行读写,依此类推,直到完成对读写地址为3的从站数据的读写操作,即完成对A[4]所对应从站的数据的读写操作。由于A[5]的值为预设的结束标志,则结束本轮循环,开始下一轮的循环扫描。主站根据从站的实际连接状态,按模块对接入的从站进行轮询扫描,不仅能够减少PLC的内存消耗,又增加了收发数据的稳定性和效率。

在本实施例中,以对地址为10从站读写为例进行说明,读写子程序入口参数,工作步1=10,进行读写子程序,读取该从站的数据,并判断写数据使能变量是否被打开,是则说明有数据需要写入到该从站,执行写操作完成对该从站数据的写入,否则说明没有数据需要写入,则直接跳过。在本实施例中,在读写子程序中,在完成了对从站的数据读写操作后,直接在子程序内部对变量工作步1进行赋值,配置出口参数,将A[3]的值赋值给工作步1,工作步1= A[i+1]=11,以直接进入地址为11的从站进行数据读写。本实施例中,同一个从站地址封装通信模块编写,调用时,既保证入口参数,又根据配置解析得出出口参数。提高了程序运行的效率。

在本实施例中,对于每个模块,与之连接的从站数量小于等于50个。在煤样检测过程中,对于煤样检测的数据读写,具有时效上的要求,如某此相关但需要通过不同从站读取的数据,必须在1秒内完成数据的读取,否则会因数据的延时导致数据不可用,影响检测结果。而主站依次数据各从站的数据均需要花费一定的时间,因此,为了保证读取数据的时效性,从站的数量设置为50个以下。

如图3所示,本实施例的煤样检测系统中的PLC数据读写系统,包括上位机、主站和从站,所述主站包括多个模块,所述主站与上位机连接,所述从站与主站的模块连接;其特征在于:所述主站在初始化端口时,固化各模块的MB_DB背景数据块;所述从站采用固化的MODBUS地址;所述主站根据模块与从站的连接关系,对从站地址进行配置;根据主站中的地址配置参数,进行轮询扫描,对各从站的数据进行读写操作。

在本实施例中,所述主站通过固定数组来配置从站的地址;对于与模块连接的N个从站,通过所述固定数组的前N个元素来配置从站地址,并在第N+1个元素配置预设的结束标志;对于每个模块,与之连接的从站数量小于等于50个。

在本实施例中,在所述主站中,对于每个模块,分别定义工作步变量;在每次轮询扫描中,对于每个模块,依次将与模块连接的从站地址赋值给所述工作变量,并调用读写子程序对工作步变量所指定的子站执行读写操作,直到完成对所述从站的读写操作。在所述读写子程序中,在完成当前子站的读写操作后,直接在所述读写子程序中将所述工作步变量幅值为一下个子站的地址值。在所述读写子程序中,通过写数据使能变量控制读写子程序对子站执行写操作,仅在需要向子站写数据时,所述写数据使能变量才被打开,执行写数据操作。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号