工业人机界面组态系统及其变量监控方法
技术领域
本发明涉及工业人机界面访问控制领域,尤其涉及工业人机界面组态系统及其变量监控方法。
背景技术
工业人机界面(Human-Machine Interface,HMI),是用户和机器设备之间传递和交换信息的媒体,用户可以根据控制的需要,组态不同的画面,并在不同的画面上组态文字、按钮、图形、数字以及图表等画面对象来处理或监控机器设备的工作。
工业人机界面一般通过现场总线连接到至少一个工业控制器PLC(Programmable Logic Controller,可编程逻辑控制器)和其他具备现场总线接口的工业设备如:变频器,智能仪表等。作为人和整套设备的接口设备的工业人机须通过现场总线来访问这些控制部件内的各种参数,这些分布在不同的PLC或其他工业设备内部的应用参数表征不同控制环路的状态和设定;这些参数一般称为外部变量;而工业人机界面正是通过提供对这些变量的访问来实现自动化系统的监控设备。这些分布在现场总线上不同PLC或其他工业设备上的外部变量,实际上对应着这些PLC或其他种类设备的内部存储器上所存储的变量,而通过每个现场总线上的设备又具备各自的网络地址,因此对于工业人机界面而言,网络地址加设备内部地址就是外部变量地址。
工业人机界面一般是通过组态软件来实现(后文统称为HMI组态软件),其中,该HMI组态软件会生成很多组态画面,而每个组态画面设置有多个画面对象,每个画面对象对应于一个PLC或其他工业设备通信的外部变量,每个外部变量通常会设置一个访问频率,HMI组态软件根据该访问频率从PLC或其他工业设备上获其最新的变量值,如图1所示,为现有技术外部变量访问频率示意图;例如,其中对变量1的访问频率为16次/每秒,则该HMI组态软件以16次/每秒的频率向PLC访问,获得该变量1的最新值。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在现有HMI组态软件生成组态画面的过程中,设计人员(或使用者)没有办法获悉当前组态画面上的所有画面对象所对应的变量在实际操作中是否可以在有效的刷新周期内从PLC或其他工业设备中及时获得最新数据。例如,在一些情况下,当组态画面上所对应的变量过多时,显然有些变量是不能按上述预先设置的访问频率从PLC或其他工业设备上获得该变量的最新值。故在现有技术中,设计人员(或使用者)没办法及时感知当前组态画面上的画面对象所对应变量的数量是否合适,无法作出相应的调整。
发明内容
鉴于现有技术的不足,本发明实施例一种工业人机界面组态系统及其变量监控及方法,本发明实施例实现了对当前HMI组态画面上对应的变量进行监控,并进行提示及处理,可以及时对当前HMI组态画面进行调整。
为了达到上述发明目的,本发明实施例提供了一种工业人机界面组态系统变量监控方法,包括:
在当前组态画面上添加至少一个画面对象,其中每个画面对象对应一个外部变量;
获取当前组态画面上所有画面对象所对应的外部变量访问频率参数,以及所述当前组态画面所对应的通信口的通信协议参数;
根据所述访问频率参数与所述通信协议参数,判断当前组态画面上的所有画面对象所对应的外部变量能否在当前通信口上及时通信;
对所述判断结果进行提示并进行相应处理。
优选地,所述获取当前组态画面上所有画面对象所对应的外部变量访问频率参数以及对应的通信协议参数的步骤具体为:
从属性存储单元中获得预存的所述各个外部变量访问频率参数以及通信协议参数,其中,所述通信协议参数进一步包括:两个数据包之间的最小时间间隔值,每个外部变量的请求包的长度值、回应包的长度值,通信口的通信波特率、数据结构的长度。
优选地,所述根据所述访问频率参数与所述通信协议参数,判断当前组态画面上的所有画面对象所对应的外部变量能否在当前通信口上及时通信的步骤进一步包括:
确定所述当前组态画面上所有画面对象所对应的外部变量中最大的组态周期值,其中,组态周期值为访问频率的倒数;
计算在所述最大组态周期值中所有外部变量的必要通信数据量,并获得该通信数据量所需实际通信时间;
判断所述通信数据量所需实际通信时间是否小于所述最大组态周期值。
优选地,所述计算在所述最大组态周期值中所有外部变量的必要通信数据量,并获得该通信数据量所需实际通信时间的步骤具体为:
计算在所述最大组态周期值中的所有外部变量的必要通信数据量,其中每一外部变量的必要通信数据量为:(Rlen+Alen)*M,其中,Rlen为所述外部变量的请求包的长度值,Alen为所述外部变量回应包的长度值,M为在所述最大组态周期值中所述外部变量的通信次数;
计算单个字节数据的通信时间t1,所述t1=数据结构的长度/通信口的通信波特率;
计算在最大组态周期值a内通信所述必要通信数据量所需实际通信时间,所述所需实际通信时间为:所有外部变量的必要通信数据量之和* t1+K* t0;其中,t0为两个数据包之间的最小时间间隔值,K为所有数据包之间的间隔数。
优选地,对所述判断结果进行提示并进行相应处理的步骤进一步包括:
如果所述判断结果为是,则提示在当前组态画面上可继续添加画面对象;
否则,则提示当前组态画面的画面对象所对应的外部变量不能够及时进行通信。
优选地,在提示当前组态画面上的画面对象所对应的外部变量不能够及时进行通信的步骤之后进一步包括:
删除当前组态画面的画面对象中的至少一个;或者
调整当前组态画面上至少一个画面对象所对应的外部变量访问频率参数,并存储。
相应地,本发明实施例提供了一种工业人机界面组态系统,包括:
组态画面生成单元,用于生成组态画面,并在组态画面上添加画面对象,其中每个画面对象对应一个外部变量;
参数获取单元,用于获取当前组态画面上所有画面对象所对应的外部变量访问频率参数,以及对应的通信口通信协议参数;
判断处理单元,根据参数获取单元所获取的访问频率参数与所述通信协议参数,判断当前组态画面上的所有画面对象所对应的外部变量能否在当前通信口上及时通信;
结果处理单元,用于对判断处理单元的判断结果进行提示或作相应处理。
优选地,进一步包括:
属性存储模块,用于存储预先设定的对应各个画面对象的外部变量访问频率参数以及通信协议参数,其中,通信协议参数包括:每个数据包之间的最小时间间隔值,每个外部变量的请求包的长度值、回应包的长度值,以及通信口的通信波特率、数据结构的长度。
优选地,所述判断处理单元进一步包括:
最大组态周期确定子单元,用于确定所述当前组态画面上所有画面对象所对应的外部变量中最大的组态周期值,其中,组态周期值为访问频率的倒数;
计算子单元,用于计算在所述最大组态周期值中所有外部变量的必要通信数据量,并获得该通信数据量所需实际通信时间;
判断子单元,判断所述计算子单元所计算出的通信数据量所需实际通信时间是否小于所述最大组态周期确定子单元所确定的最大组态周期值。
优选地,所述计算子单元进一步包括:
第一计算子单元,用于计算在所述最大组态周期值中的所有外部变量的必要通信数据量,其中每一外部变量的必要通信数据量为:(Rlen+Alen)*M,其中,Rlen为所述外部变量的请求包的长度值,Alen为所述外部变量回应包的长度值,M为在所述最大组态周期值中所述外部变量的通信次数;
第二计算子单元,用于计算单个字节数据的通信时间t1,所述t1=数据结构的长度/通信口的通信波特率;
第三计算子单元,用于计算在最大组态周期值内通信所述必要通信数据量所需实际通信时间,所述所需实际通信时间为:所有外部变量的必要通信数据量之和* t1+K* t0;其中,t0为两个数据包之间的最小时间间隔值,K为所有数据包之间的间隔数。
优选地,所述结果处理单元进一步包括:
提示子单元,用于对所述判断处理单元的判断结果进行提示,所述提示方式为文字、声音、光线、动画提示之任一种。
优选地,所述结果处理单元进一步包括:
画面对象删除子单元:用于根据指示删除当前组态画面的画面对象中的至少一个;或者
调整子单元,用于调整当前组态画面上至少一个画面对象所对应的外部变量访问频率参数。
本发明实施例提供的技术方案,通过对当前组态画面上的当前所组态的所有变量的参数进行处理,可以判断当前组态画面上的画面对象所对应的变量的在有效的刷新周期内从PLC中能否及时获得最新数据,并将判断结果提示出来,以便让设计人员(或使用者)及时感知当前组态画面上画面对象的数量(对应的变量)是否合适,且能自动作出相应的调整(例如减少画面对象的数量,或者调整对变量的访问频率)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术外部变量访问频率示意图;
图2是本发明实施例一种工业人机界面组态系统变量监控方法的流程示意图;
图3是图2中步骤S23的一个实施例的流程示意图;
图4是图2中步骤S24的一个实施例的流程示意图;
图5是本发明实施例的工业人机界面组态系统的结构示意图;
图6是图5中判断处理单元的一个实施例的结构示意图;
图7是图5中结果处理单元的一个实施例的结构示意图。
具体实施方式
为了便于理解本发明实施的技术方案,首先对以下实施例中涉及到的画面对象进行简单阐述。
画面对象一般是利用计算机图形控件技术实现的显示控件,本发明实施例的工业人机界面中所提到的画面对象通常与外部设备控制参数相关联,用于传达外部工业设备的工作状况。例如,“指示灯”画面对象,是利用动态的仿形指示灯指示现场设备开关量状态;“开关”画面对象,是利用仿形开关模拟工业设备开关,允许操作人员进行开关操作;“历史记录”画面对象,提供一个或多个工业变量的历史记录信息,便于设备维护人员追溯设备运行状况;“文本/数字编辑”画面对象,用于操作人员对工业设备设定工业参数;“图表”画面对象,是利用表格的形式直接展示现场相关参数,便于比对,成批监控;“棒图”画面对象,是利用仿形指示棒长短表征工业现场参数变化高低;“仪表盘”画面对象,是利用仿形仪表盘表征工业设备控制参数变化高低;“趋势图”画面对象,是利用带坐标的曲线来显示工业设备控制参数变化趋势;“静态图像”画面对象,是用户组态的任意静态图像,可以是现场设备或现场工艺流程等静态图像;“直线”、“圆”及“静态文字”画面对象,用于构造画面提示等,除此之外,还有其他画面对象,不再一一罗列。
如图2所示,是本发明实施例的一种工业人机界面组态系统变量监控方法的流程示意图。其中,该方法包括:
步骤S240,在当前组态画面上添加至少一个画面对象,其中每个画面对象对应一个外部变量;
步骤S242,获取当前组态画面上所有画面对象所对应的外部变量访问频率参数,以及所述当前组态画面所对应的通信口的通信协议参数;例如,可以从外部变量属性存储单元中获得预存的所述各个外部变量访问频率参数以及通信协议参数,其中,所述通信协议参数进一步包括:两个数据包之间的最小时间间隔值,每个外部变量的请求包的长度值、回应包的长度值,通信口的通信波特率、数据结构的长度;可以理解的是,对于通信口采用的不同的通信协议,上述的通信协议参数值可以是不同的;
步骤S244,根据所述访问频率参数与所述通信协议参数,判断当前组态画面上的所有画面对象所对应的外部变量能否在当前通信口上及时通信;
步骤S246,对所述判断结果进行提示并进行相应处理。
请参照图3所示,是图2中步骤S23的一个实施例的流程示意图;该步骤进一步包括:
步骤S230,确定所述当前组态画面上所有画面对象所对应的外部变量中最大的组态周期值,其中,组态周期值为访问频率的倒数;
步骤S232,计算在所述最大组态周期值中所有外部变量的必要通信数据量,并获得该通信数据量所需实际通信时间;具体地,该步骤为:
计算在所述最大组态周期值中的所有外部变量的必要通信数据量,其中每一外部变量的必要通信数据量为:(Rlen+Alen)*M,其中,Rlen为所述外部变量的请求包的长度值,Alen为所述外部变量回应包的长度值,M为在所述最大组态周期值中所述外部变量的通信次数;
计算单个字节数据的通信时间t1,所述t1=数据结构的长度/通信口的通信波特率;
计算在最大组态周期值内通信所述必要通信数据量所需实际通信时间,所述所需实际通信时间为:所有外部变量的必要通信数据量之和* t1+K* t0;其中,t0为两个数据包之间的最小时间间隔值,K为所有数据包之间的间隔数;
步骤S234,判断所述通信数据量所需实际通信时间是否小于所述最大组态周期值。
如图4所示,是图2中步骤S24的一个实施例的流程示意图;
步骤S240,在步骤S23判断结果为否时,则提示当前组态画面的画面对象所对应的外部变量不能够及时进行通信,不能在当前组态画面上继续添加画面对象;
可以理解的是,在步骤S23判断结果为是时,则提示在当前组态画面上可继续添加画面对象;
步骤S242,删除当前组态画面的画面对象中的至少一个,以使当前组态画面的画面对象所对应的外部变量可以及时进行通信;在一个具体的实施例中,也可以在删除当前组态画面的画面对象中的至少一个之后,流程转至S22,重新进行整个流程,以判断当前组态画面是否符合要求。
步骤S244,调整当前组态画面上至少一个画面对象所对应的外部变量访问频率参数并存储,通过这种方式,以使当前组态画面的画面对象所对应的外部变量可以及时进行通信;同样,在一个具体的实施例中,也可以在删除当前组态画面的画面对象中的至少一个之后,流程转至S22,重新进行整个流程,以判断当前组态画面是否符合要求。
需要注意的是,上述步骤S242和S244可以是可选择的步骤,即在一个实施例中,只需要其中一个步骤,在另外的实施例中也可同时具备上述两个步骤。
上述介绍了本发明的一种工业人机界面组态系统变量监控方法的一种实施例的流程,为便于理解,下面举一个实例进行说明。
假设HMI组态系统当前的组态画面中有三个画面对象,分别对应于A、B、C 三个外部变量;其中,每个外部变量的访问频率分别为:1/a次/秒、1/b次/秒以及1/c次/秒。且其中,a>b>c。故计算得到这三个外部变量的刷新周期分别为a秒、b秒和c秒,其中,最大组态周期时间值为a秒。 首先,获得在最大组态周期时间a秒内三种外部变量的分别需要通信的次数:在最大组态周期时间a秒内变量A、B、C分别需要通信的次数为:1次、a/b次以及a/c次; 其次,取得到通信中每个数据包之间的最小时间间隔(单位为秒),根据通信口组态的通信协议(例如,modbus协议),可知每个数据包之间的预定最小时间间隔t0; 再者,计算每个变量的通信一次的数据包长度(包括请求包和回应包)(单位为字节):根据通信口组态的通信协议,可知A、B、C三个变量请求包与回应包长度分别为:RlenA和AlenA,RlenB和AlenB,RlenC和AlenC。 接着,计算最大组态周期时间a秒内的必要通信数据量(单位为字节): 需要通信的数据量为:
((RlenA+AlenA)*1+ (RlenB+AlenB)*a/b+(RlenC+AlenC)*c/b)
接着,计算单个字节数据的通信时间(单位为秒):
由通信口组态的通信波特率baud,数据结构的长度(包括:停止位stopbit,校验位个数n,数据位个数ndata)可知一个数据需要的通信时间t1秒为:
(stopbit+n+ndata)/baud 接着,计算最大组态周期时间a秒内通信的必要通信数据量所需实际通信时间toll(单位为秒): ((RlenA+AlenA)*1+(RlenB+AlenB)*a/b+(RlenC+AlenC)*c/b)*t1+(1+a/b+c/b)*2*t0
其中,(1+ a/b+ c/b)*2即为步骤S232中提到的所有数据包之间的间隔数K;
此时,如果实际需要的时间toll大于最大组态周期时间a秒,则认为当前组态画面中对应的变量已经不能够按组态的刷新周期从外部设备(如PLC)刷回数据,则按照图4中的步骤进行处理。否则则认为可以按照组态的刷新周期从外部设备(如PLC)刷回数据,及变量的刷新被认为是实时的刷新没有延迟,提示可以在当前组态画面上继续添加画面对象。
如图5所示,是本发明实施例的工业人机界面组态系统的结构示意图;该工业人机界面组态系统,包括:
组态画面生成单元50,用于生成组态画面,并在组态画面上添加画面对象,其中每个画面对象对应一个外部变量;
属性存储模块52,用于存储预先设定的对应各个画面对象的外部变量访问频率参数以及通信协议参数,其中,通信协议参数包括:每个数据包之间的最小时间间隔值,每个外部变量的请求包的长度值、回应包的长度值,以及通信口的通信波特率、数据结构的长度;
参数获取单元54,用于获取当前组态画面上所有画面对象所对应的外部变量访问频率参数,以及对应的通信口通信协议参数,具体地,从所述属性存储模块52获得这些参数;
判断处理单元56,根据参数获取单元54所获取的访问频率参数与所述通信协议参数,判断当前组态画面上的所有画面对象所对应的外部变量能否在当前通信口上及时通信;
结果处理单元58,用于对判断处理单元的判断结果进行提示或作相应处理。
如图6所示,是图5中判断处理单元56的一个实施例的结构示意图,所述判断处理单元进一步包括:
最大组态周期确定子单元560,用于确定所述当前组态画面上所有画面对象所对应的外部变量中最大的组态周期值,其中,组态周期值为访问频率的倒数;
计算子单元562,用于计算在所述最大组态周期值中所有外部变量的必要通信数据量,并获得该通信数据量所需实际通信时间;
判断子单元564,判断所述计算子单元562所计算出的通信数据量所需实际通信时间是否小于所述最大组态周期确定子单元所确定的最大组态周期值。
具体地,所述计算子单元562进一步包括:
第一计算子单元566,用于计算在所述最大组态周期值中的所有外部变量的必要通信数据量,其中每一外部变量的必要通信数据量为:(Rlen+Alen)*M,其中,Rlen为所述外部变量的请求包的长度值,Alen为所述外部变量回应包的长度值,M为在所述最大组态周期值中所述外部变量的通信次数;
第二计算子单元567,用于计算单个字节数据的通信时间t1,所述t1=数据结构的长度/通信口的通信波特率;
第三计算子单元568,用于计算在最大组态周期值内通信所述必要通信数据量所需实际通信时间,所述所需实际通信时间为:所有外部变量的必要通信数据量之和* t1+K* t0;其中,t0为两个数据包之间的最小时间间隔值,K为所有数据包之间的间隔数。
如图7所示,是图5中结果处理单元8的一个实施例的结构示意图;所述结果处理单元58进一步包括:
提示子单元580,用于对所述判断处理单元的判断结果进行提示,所述提示方式为文字、声音、光线、动画提示之任一种。
画面对象删除子单元582,用于根据指示删除当前组态画面的画面对象中的至少一个;
调整子单元584,用于调整当前组态画面上至少一个画面对象所对应的外部变量访问频率参数。
需要注意的是,上述画面对象删除子单元582和调整子单元584是可以是可选择的单元模块,即在一个实施例中,只需要其中一个子单元,在另外的实施例中也可同时具备上述两个子单元。
本发明实施例提供的技术方案,通过对当前组态画面上的当前所组态的所有变量的参数进行处理,可以判断当前组态画面上的画面对象所对应的变量的在有效的刷新周期内从PLC中能否及时获得最新数据,并将判断结果提示出来,以便让设计人员(或使用者)及时感知当前组态画面上画面对象的数量(对应的变量)是否合适,且能自动作出相应的调整(例如减少画面对象的数量,或者调整对变量的访问频率)。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。