基于多主站通讯模式的PLC运行数据记录方法与流程

文档序号:20786353发布日期:2020-05-19 21:44阅读:441来源:国知局
基于多主站通讯模式的PLC运行数据记录方法与流程

本发明涉及工业自动控制技术领域,尤其涉及一种基于多主站通讯模式的plc运行数据记录方法。



背景技术:

在自动控制设备运行的过程中,在许多应用场合对可编程逻辑控制器plc及其控制对象的带电时间、大电流(大于某一电流数值视为重负荷,如5a)运行时间、最大电流数值等参数进行记录并管理,为设备的维修维护等具有重要的参考价值。

现有技术中,多数场景下采用在线监测技术记录并管理plc的运行数据,在线监测技术是在被监测设备处于运行的条件下,对被监测设备的运行数据进行连续或定时的监测,通常是自动进行的。检测人可以通过在线监测平台同步监视被监测设备。但是这种方法的适用于固定位置安装的设备,或者有无线或有线网络覆盖的可内采用在线监视,并形成记录历史数据记录。并且,这种方法还需要配置监控、组态软件所需的计算机运行平台。

但是,实际应用中,以plc为核心的设备的租赁,已经成为设备共享的一种方式,针对这种场景,通常没有网络覆盖条件,出租方、承租方对plc设备的运行数据非常关注,专门建设相应的包含上位机的通讯网络来监视plc设备的使用情况,需要修改plc设备的源程序,购买组态软件、建设通讯网络等,甚至有的还需修改设备中plc的源程序,导致系统非常复杂,多数承租人没有这样的二次开发能力,即使这样的二次开发能力,花费也非常高昂,因此,急需一种简易的,能够防篡改的plc运行数据记录系统。



技术实现要素:

本发明实施例提供一种基于多主站通讯模式的plc运行数据记录方法,用于解决现有技术中的上述技术问题。

为了解决上述技术问题,一方面,本发明实施例提供一种基于多主站通讯模式的plc运行数据记录方法,包括:

周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;

若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

进一步地,所述确定与所述目标plc之间的数据通道处于断开态之后,还包括:

若上一周期也监测到与所述目标plc之间的数据通道处于断开态,则将与所述目标plc之间的断开时间累加一个周期;

若上一周期监测到与所述目标plc之间的数据通道处于连接态,则将与所述目标plc之间的断开时间不做累加。

进一步地,所述确定与所述目标plc之间的数据通道处于连接态之后,还包括:

若上一周期也监测到与所述目标plc之间的数据通道处于连接态,则将与所述目标plc之间的连接时间累加一个周期;

若上一周期监测到与所述目标plc之间的数据通道处于断开态,则将与所述目标plc之间的连接时间不做累加。

进一步地,所述按照多主站通讯模式从所述目标plc中读取运行数据并记录之后,还包括:

接收非接触cpu卡发送的数据抄取请求信息,所述数据抄取请求信息中携带有抄取数据权限标识;

若对所述抄取数据权限标识的验证通过,则将记录的运行数据写入非接触cpu卡。

进一步地,所述确定与所述目标plc之间的数据通道处于连接态之后,还包括:

按照多主站通讯模式从所述目标plc中读取时钟数据;

与所述目标plc进行时钟同步。

进一步地,所述运行数据至少包括开关量输入点数据、开关量输出点数据、模拟量输入点数据、模拟量输出点数据、通过通讯接口读取的外部变量和发送给其他设备的外部变量中的一种。

另一方面,本发明实施例提供一种基于多主站通讯模式的plc运行数据记录装置,包括:

发送模块,用于周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;

记录模块,用于若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

再一方面,本发明实施例提供一种电子设备,包括:存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述方法的步骤。

又一方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述方法的步骤。

本发明实施例提供的基于多主站通讯模式的plc运行数据记录方法,实现了即使在没有网络覆盖的场所,同样可以实现关键运行累计数据的防篡改记录、传递;在不改动plc原有程序的基础上,可以实现其内部数据的查询、累计、统计等功能,并存储于防复制、防篡改的cpu型的ic卡内。

附图说明

图1为本发明实施例提供的基于多主站通讯模式的plc运行数据记录方法示意图;

图2为本发明实施例提供的基于多主站通讯模式的plc运行数据记录装置示意图;

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

多主站通讯模式是指网络中的所有设备均为主站,在各个主站之间采用“主动协议”进行数据传输的通讯模式,无论网络上是否有其他机器访问,则均在不断的发送数据帧,让网络中的机器知道他的存在。多点接口协议是多主站通讯模式采用的一种常见的协议。

多点接口(multipointinterface,mpi)是西门子公司开发的用于plc之间通讯的保密的协议。mpi通讯是当通信速率要求不高、通信数据量不大时,可以采用的一种简单经济的通讯方式。mpi通信可使用plcs7-200/300/400、操作面板tp/op及上位机mpi/profibus通信卡,如cp5512/cp5611/cp5613等进行数据交换。mpi网络的通信速率为19.2kbps~12mbps,最多可以连接32个节点,最大通讯距离为50m,但是可以通过中继器来扩展长度。

类似的,在多于1个西门子s7-200系列plc组成的网络中,也存在s7-200系列的某plc作为主站,另外一些作为从站的情况。例如,西门子的某些plc用特殊寄存器的字smb30(对port0,端口0)和smb130(如有port1,则对port1,端口1)定义通信口。通信模式由控制字的最低的两位决定,可定义为:ppi从站模式(默认值)、和ppi主站模式。

ppi协议是西门子为s7-200全系列开发的一种通讯协议。ppi是一种主从协议,主站发送要求到从站,从站做出响应。从站不主动发信息,只是等待主站的要求并做出响应。而工作在主站模式的plc也响应其他主站(包括开停机系统电路板)发来的指令,并作出回应。

在本发明实施例中,当需要从目标plc获取数据时,需要先响应其周期性发出的数据帧(类似于广播数据帧)等相互确认交互后完成握手过程,然后才能实现后续的通讯过程。

目前使用的某些ic卡已经被破解,存储于其中的数据已经有了成熟的破解方法,在某些场合已经广为流传。而非接触cpu卡又称智能卡,卡内的集成电路中带有微处理器cpu、存储单元(包括随机存储器ram、程序存储器rom(flash)、用户数据存储器eeprom)以及芯片操作系统cos。装有cos的cpu卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。在安全方面,非接触cpu卡与非接触ic卡相比,拥有独立的cpu处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计数据交换流程,截止目前尚无破解和篡改的技术和方法。是一种极为安全的存储载体。

本发明实施例提供了一套基于多主站通讯模式的plc运行数据记录方法。在不改动plc原有程序的基础上,实现统计记录系统电路板与plc-cpu之间通道通断记录,plc内部的开关型输入量、开关型输出量、模拟型输入量、模拟型输出量之间的等查询、累计、统计等目的,并存储于防复制、防篡改的cpu型的ic卡内。

图1为本发明实施例提供的基于多主站通讯模式的plc运行数据记录方法示意图,如图1所示,本发明实施例提供一种基于多主站通讯模式的plc运行数据记录方法,该方法包括:

步骤s101、周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧。

步骤s102、若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

具体来说,下面以西门子plc为例对本发明实施例中的上述方法进行说明。

在西门子plc-cpu的db9串行接口上,通过第一串口连接线连接一个统计记录系统电路板的板载mpi协议串口上、统计记录系统电路板的机载非接触cpu卡读写器接口上通过第二串口连接线连接机载非接触cpu卡读写器,在机载非接触cpu卡读写器上安装有非接触cpu卡读写线圈。在统计记录系统电路板上特别设置有中央处理器cpu、flash储存器、随机读取存储器ram、电源处理单元,时钟电池;另外还配置有非接触读写cpu卡主机,在非接触读写cpu卡主机还包括非接触cpu卡上位机读写器。

特别的,常见的波特率是300bps、600bps、1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、43000bps、56000bps、

57600bps、115200bps等标准波特,常用的性能比较好的台式机波特率可以设置,但最高也只有115200bps;而西门子mpi接口的推荐波特率高达187500bps,甚至12mbit/s,统计记录系统电路板的板载mpi协议串口采用的波特率是高波特率串口,以保证与西门子plc-cpu能正确通讯。

为了保护非接触cpu卡读写过程的安全,对其读写命令都开启线路保护功能,外部的非授权的破解设备无法获得真实的传输的数据信息,即使采取了技术手段,截获的却是加密后的传输数据,从而保证数据在非接触cpu卡与非接触cpu卡上位机读写器或机载非接触cpu卡读写器之间数据传输过程中的信息安全。

选择西门子mpi协议进行控制西门子plc-cpu,无需编程、无需改变其内部的控制程序,来实现西门子plc-cpu与统计记录系统电路板数据传输方案是:根据西门子mpi设备的特性,西门子plc-cpu处于何种状态(run或stop),一经上电,西门子plc-cpu就会不断地发出数据帧,并对收到的正确数据帧做出响应。西门子plc-cpu经过db9串行接口、通过第一串口连接线、统计记录系统电路板的板载mpi协议串口给一个统计记录系统电路板发送数据帧。写向西门子plc-cpu的数据帧,从统计记录系统电路板、统计记录系统电路板的板载mpi协议串口、通过第一串口连接线、db9串行接口传递给西门子plc-cpu。

西门子plc-cpu与统计记录系统电路板之间的通讯通道的状态监控、记录的对象是统计记录系统电路板与西门子plc-cpu之间的通讯通道,由统计记录系统电路板的板载mpi协议串口、通过第一串口连接线、db9串行接口相连接而成。

西门子plc-cpu与统计记录系统电路板之间的通讯通道的状态监控、记录的分为两个方向:第一个方向是从西门子plc-cpu到统计记录系统电路板数据通道、第二个方向是从统计记录系统电路板到西门子plc-cpu数据通道。

第一个方向通道的通断判定方案,如果统计记录系统电路板持续很短时间(如0.5秒、1秒等)未收到西门子plc-cpu发出的数据帧则判定从西门子plc-cpu到统计记录系统电路板的接收通道处于断开态;否则判定通道处于连接态。

第一个方向据通道的通道状态累积时间和通断转换时刻监视、记录、统计的方案是:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),判断第一个方向是从西门子plc-cpu到统计记录系统电路板数据通道是断开态还是连接态,并存储到随机读取存储器ram的某存储空间中,处理方法分为以下四种情况。

第一种情况:如果从西门子plc-cpu到统计记录系统电路板数据通道是连接态与上次是连接态相同,则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值)并写入flash储存器。

第二种情况:如果从西门子plc-cpu到统计记录系统电路板数据通道是断开态与上次是断开态相同,则将在其内部的存储空间的断开时间长度累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),并写入flash储存器。

第三种情况:如果从西门子plc-cpu到统计记录系统电路板数据通道是断开态与上次是连接态不同,则将在其内部的存储空间的通畅/中断时间长度不累计本次固定时间间隔,也不写入flash储存器,但记录本次时刻为本通道中断时刻,写入flash储存器。

第四种情况:如果从西门子plc-cpu到统计记录系统电路板数据通道是连接态与上次是断开态不同,则将在其内部的存储空间的通畅/中断时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器,但记录本次时刻为本通道恢复时刻,写入flash储存器。

第二个方向通道的通断判定方案:统计记录系统电路板按照mpi协议,向西门子plc-cpu发送数据帧,并在很短时间(如0.5秒、1秒等)中内收到从西门子plc-cpu响应的正确数据帧,则判定从统计记录系统电路板到西门子plc-cpu的通道处于连接态;否则判定通道处于断开态。

第二个方向通道的通道状态累积时间和通断转换时刻监视、记录、统计的方案是:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),判断从统计记录系统电路板到西门子plc-cpu是断开态还是连接态,并存储到随机读取存储器ram的某存储空间中,分为以下四种情况。

第一种情况:如果从统计记录系统电路板到西门子plc-cpu数据通道是连接态与上次是连接态相同,则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值)并写入flash储存器。

第二种情况:如果从统计记录系统电路板到西门子plc-cpu数据通道是断开态与上次是断开态相同,则将在其内部的存储空间的断开时间长度累计本次固定时间间隔,并写入flash储存器。

第三种情况:如果从统计记录系统电路板到西门子plc-cpu数据通道是断开态与上次是连接态不同,则将在其内部的存储空间的通畅/中断时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器,但记录本次时刻为本通道中断时刻,写入flash储存器。

第四种情况:如果从统计记录系统电路板到西门子plc-cpu数据通道是连接态与上次是断开态不同,则将在其内部的存储空间的通畅/中断时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器,但记录本次时刻为本通道恢复时刻,写入flash储存器。

实际使用时,首先对非接触cpu卡中进行初始化,其方案是:首先,通过非接触读写cpu卡主机、经过非接触cpu卡上位机读写器判断该非接触cpu卡中是否有有用数据,如果是则读取其中的数据记录,并清空该卡;其次,通过非接触读写cpu卡主机、经过非接触cpu卡上位机读写器向非接触cpu卡中写入抄取数据权限标识,该标识表示这是一张具有抄取数据的权限的非接触cpu卡。

西门子plc-cpu时钟与统计记录系统电路板时钟,两者需要形成共同时间数据(年、月、日、时、分、秒),其解决方案是:为解决任何电路板上的时钟在长期运行(如一天、一周等)后,都会与标准的时钟基准(如北京时间)存在时间差,西门子plc-cpu与统计记录系统电路板上均设置有时钟,则这两个时钟必定略有不同。这两个的共同时间数据(年、月、日、时、分、秒)的形成方法是:每间隔一个时间(如60秒),统计记录系统电路板经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取plc-cpu时钟数据到统计记录系统电路板中的随机读取存储器ram中;统计记录系统电路板判断统计记录系统电路板中的板载时钟数据与plc-cpu时钟数据进行比较。可分为两种情况。

第一种情况,如果两个时钟数据差小于一个小数值(如5秒),则取板载时钟数据与plc-cpu时钟数据中的中间数值(称为:中值时间数据);统计记录系统电路板执行自己的时钟设置指令,将该“中值时间数据”设置为内部统计记录系统电路板的时钟数值;同时,统计记录系统电路板将“中值时间数据”的经第一串口连接线和db9串行接口采用mpi协议发送给西门子plc-cpu,西门子plc-cpu按此指令完成其内部的时钟数值设置。

第二种情况,如果两个时钟数据差大于这个小数值(如5秒),则取板载时钟数据与plc-cpu时钟数据中的较大数值(称为:大值时间数据);统计记录系统电路板执行自己的时钟设置指令,将该“大值时间数据”设置为内部统计记录系统电路板的时钟数值;同时,统计记录系统电路板将“大值时间数据”的经第一串口连接线和db9串行接口采用mpi协议发送给西门子plc-cpu,西门子plc-cpu按此指令完成其内部的时钟数值设置。

对于西门子plc对其的控制对象的感知类型是六类信号:第一类是用开关量输入点(digitalinput,如i0.0)、第二类是用开关量输出点(digitaloutput如q0.0)、第三类是用模拟量输入点(analoginputway,如aiw0)、第四类是用模拟量输出点(analogoutputway,如aqw0)。特别的是第五类信号和第六类信号:通过通讯接口(如db9、以太网等)读取的外部变量(如外部变频器的转速监视信号),这里称为第五类信号;通过通讯接口(如db9、以太网等)送给其他设备的外部变量(如变频器的转速指令等),这里称为第六类信号。

第一类,对于西门子plc的开关量io接点中,已经引入了被控制对象的开关型运行反馈信号的控制系统,其采集统计记录的方案如下:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),按照mpi协议经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取运行信号接入的点位(如i0.0)的0或者1的信号(一般而言,0表示被控制设备未运行态、1表示被控制设备是运行态)到随机读取存储器ram的某存储空间中,处理方法分为以下四种情况。

第一种情况:如果读取的回的数值与上次读取的状态相同(如同为1),则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值)并写入flash储存器。

第二种情况:如果读取的回的数值与上次读取的状态相同(如同为0),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第三种情况:如果读取的回的数值与上次读取的状态不相同(上次为1,本次为0),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第四种情况:如果读取的回的数值与上次读取的状态不相同(上次为0,本次为1),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第二类,对于西门子plc的开关量io接点中,引入了被控制对象的开关型运行控制信号的控制系统,其采集统计记录的方案如下:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),按照mpi协议经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取运行信号的控制点位(如q0.0)的0或者1的信号(一般而言,0表示被控制设备未运行态、1表示被控制设备是运行态)到随机读取存储器ram的某存储空间中,处理方法分为以下四种情况。

第一种情况:如果读取的回的数值与上次读取的状态相同(如同为1),则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值),并写入flash储存器。

第二种情况:如果读取的回的数值与上次读取的状态相同(如同为0),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第三种情况:如果读取的回的数值与上次读取的状态不相同(上次为1,本次为0),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第四种情况:如果读取的回的数值与上次读取的状态不相同(上次为0,本次为1),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第三类,对于西门子plc的模拟量输入接点中,已经引入了用于监视被控制对象的模拟量的控制系统,即西门子plc采集了被控制对象的模拟量参数(如电动机的工作电流),其采集统计记录的方案如下:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),按照mpi协议经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取运行信号接入的模拟量点位(如aiw0)的数字信号,经过量程变换后(如65535对应100安培,0对应0安培),到随机读取存储器ram的某存储空间中。测量到量程变换后的被控制对象的工作电流数值大于某个门槛数值(如50安培)则认为是被控制对象的载荷状态处于重载状态,否则处于判定为轻载状态,处理方法以下四种情况。

第一种情况:如果判断被控制对象处于的载荷状态与上次相同(如同为重载),则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值)并写入flash储存器。

第二种情况:如果判断被控制对象处于的载荷状态与上次相同(如同为轻载),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第三种情况:如果判断被控制对象处于的载荷状态与上次不相同(如上次为轻载,本次为重载),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第四种情况:如果判断被控制对象处于的载荷状态与上次不相同(如上次为重载,本次为轻载),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第四类,对于西门子plc的模拟量输出接点,外送给被控制对象参数输入控制通道的控制系统,即西门子plc通过模拟量输出通道连接被控制对象(如不同的模拟量对应相应的阀门开度),其采集统计记录的方案如下:统计记录系统电路板固定时间间隔(如1秒,或者1分钟,或者其他数值),按照mpi协议经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取输出模拟量点位(如aqw0)的数字信号,经过量程变换后(如65535对应100%阀门开度,0对应0%阀门开度),到随机读取存储器ram的某存储空间中。测量到量程变换后的被控制对象的数值大于某个门槛数值(如50%)则认为是被控制对象的开度状态处于大开度状态,否则处于判定为小开度状态,处理方法分为出现以下四种情况。

第一种情况:如果判断被控制对象处于的开度状态与上次相同(如同为大开度),则将在其内部的存储空间的运行时间长度进行累计一次固定时间间隔(如1秒,或者1分钟,或者其他数值)并写入flash储存器。

第二种情况:如果判断被控制对象处于的开度状态与上次相同(如同为小开度),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第三种情况:如果判断被控制对象处于的开度状态与上次不相同(如上次为小开度,本次为大开度),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第四种情况:如果判断被控制对象处于的开度状态与上次不相同(如上次为大开度,本次为小开度),则将在其内部的存储空间的运行时间长度不累计本次固定时间间隔(如1秒,或者1分钟,或者其他数值),也不写入flash储存器。

第五类,通过通讯接口(如db9、以太网等)读取的外部反馈模拟变量(如外部变频器的转速采集反馈信号等),处理方法同第三类;通过通讯接口(如db9、以太网等)读取的外部反馈开关变量(如外部变频器的开/停状态信号等)处理方法同第一类。

第六类,通过通讯接口(如db9、以太网等)送给其他设备的外部模拟类变量(如外部变频器的转速指令、阀门开度指令等),处理方法同第四类;通过通讯接口(如db9、以太网等)送给其他设备的外部开关变量(如外部变频器的开/停指令信号等)处理方法同第二类。

特别的,对于第三类、第六类涉及到模拟量(如外部变频器的转速指令、阀门开度指令等,外部变频器的转速采集反馈信号等)的极大数值,其采集统计记录的方案如下:统计记录系统电路板固定时间间隔(如1秒/次,或者1分钟/次,或者其他数值),按照mpi协议经第一串口连接线和db9串行接口采用mpi协议从西门子plc-cpu中读取输出模拟量点位(如aqw0)或者某中间变量的数值信号,经过量程变换后(如65535对应100%阀门开度,0对应0%阀门开度),到随机读取存储器ram的某存储空间中。如果该值小于flash储存器中相应存储单元中存储的数值,则不作处理;否则予以更新flash储存器中的数值,并将该时刻的时钟记录在flash储存器中。

当非接触cpu卡靠近机载非接触cpu卡读写器的非接触cpu卡读写线圈时,非接触cpu卡读写线圈感知到有非接触cpu卡靠近,机载非接触cpu卡读写器发送“有卡靠近”信号经第二串口连接线、统计记录系统电路板的机载非接触cpu卡读写器接口发送给统计记录系统电路板。统计记录系统电路板下发给机载非接触cpu卡读写器读卡命令。机载非接触cpu卡读写器读取非接触cpu卡中的抄取数据的权限信息,并经第二串口连接线、统计记录系统电路板的机载非接触cpu卡读写器接口发送给统计记录系统电路板。由统计记录系统电路板判断非接触cpu卡是否有抄取数据的权限。判断出非接触cpu卡中的数据是有抄取数据的权限后,通过将各种类型变量的累计时长、最大电流数值、最大开度数值等关键数字向非接触cpu卡进行写入。实现有抄取数据的权限的非接触cpu卡抄取统计记录系统电路板中累计的数值。

最后对非接触cpu卡中的抄取的数据进行读取、并将其重新设置为有抄取权限的非接触cpu卡,其方案是:首先通过非接触读写cpu卡主机经过非接触cpu卡上位机读写器从非接触cpu卡中读取其中的数据,并向非接触cpu卡中写入标识,该标识表示这是一张具有抄取数据的权限的非接触cpu卡。

为了避免西门子plc-cpu与统计记录系统电路板不同时开机、不同时掉电停机的问题,两者从同一个电源取电。

同样的,基于上述对于西门子plc对其的控制对象的感知类型的六类信号。这六类信号中,开关量的变化或者模拟量超越某一门槛值,统称为控制系统事件。基于上述思路,在不付出创造性劳动的前提下,通过不同的事件处理方法,获得其他的累计时间或者事件发生时刻的记录。

同样的,对于其他厂家的plc,采用其编程口(也称程序下装接口、下载接口)通过本发明提供的连接方式,通过其厂家特有的协议也可以实现对其他厂家的plc的同样效果。

本发明实施例提供的基于多主站通讯模式的plc运行数据记录方法,实现了即使在没有网络覆盖的场所,同样可以实现关键运行累计数据的防篡改记录、传递;在不改动plc原有程序的基础上,可以实现其内部数据的查询、累计、统计等功能,并存储于防复制、防篡改的cpu型的ic卡内。

基于上述实施例,进一步地,图2为本发明实施例提供的基于多主站通讯模式的plc运行数据记录装置示意图,如图2所示,本发明实施例提供一种基于多主站通讯模式的plc运行数据记录装置,包括发送模块201和记录模块202,其中:

发送模块201用于周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;记录模块202用于若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

本发明实施例提供的基于多主站通讯模式的plc运行数据记录装置,实现了即使在没有网络覆盖的场所,同样可以实现关键运行累计数据的防篡改记录、传递;在不改动plc原有程序的基础上,可以实现其内部数据的查询、累计、统计等功能,并存储于防复制、防篡改的cpu型的ic卡内。

图3为本发明实施例提供的电子设备的结构示意图,如图3所示,该电子设备包括:处理器(processor)301、通信接口(communicationsinterface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301和存储器302通过总线303完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:

周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;

若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

进一步地,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例中的步骤,例如包括:

周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;

若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

进一步地,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述各方法实施例中的步骤,例如包括:

周期性地接收到目标plc发送的设备查找数据帧,并作出响应后,接收到目标plc反馈的数据帧,这些数据帧用作通道状态监听数据帧;所述通道状态监听数据帧用于指示所述目标plc在预设时间内反馈通道状态响应数据帧;

若在所述预设时间内未接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于断开态;若在所述预设时间内接收到所述通道状态响应数据帧,则确定与所述目标plc之间的数据通道处于连接态,按照多主站通讯模式从所述目标plc中读取运行数据并记录。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1