论文部分内容阅读
摘 要:现代化的科技馆许多展项具有大耗电的投影设备、LCD大屏幕等,但对电缺乏适当的自动管理系统,耗电成为科技馆运营中一个非常大的支出。根据科技馆的实际情况和特点,对科技馆自动用电系统核心建模做一探索。
关键词:科技馆 供电 建模
中图分类号:TP27 文献标识码:A 文章编号:1007-3973(2013)007-012-02
科技馆属于公益设施,科技馆的支出由财政承担。正因为如此,在科技馆的管理运营中就可能缺少“精打细算”。一个明显的例子,就是对电缺乏适当的自动管理系统。现代化的科技馆,绝大多数需要使用电力,其中许多展项又有大耗电的投影设备、LCD大屏幕等,因此耗电成为科技馆运营中一个非常大的支出。据统计,一个中型科技馆耗电功率在120万千瓦左右。这方面的挖潜应该不小。据现在科技馆对用电系统的管理情况来看,如果采用一套自动用电系统,自动控制展项的用电和展厅的照明、空调等,就可以最大限度地降低浪费,为科技馆节省大笔支出。
本文根据科技馆的实际情况和特点,对科技馆自动用电系统核心建模做一探索。
1 问题分析
为了便于分析,以某一市地科技馆为例。展馆周三至周日开放,周一周二闭馆,节假日开放,时间为上午9:00开馆,下午16:30闭馆。办公区域周一至周二轮班,其他时间需上班,时间为上午8:30上班,下午16:50下班。科技馆还会有其他区域,在时间上会有所不同,但建模的结构都相似。为简化模型,仅以展厅为例馆和办公区域这两个主要部分做讨论。
为了说明问题的方便,从简到繁进行扩展和延伸。
1.1 第一种:精简模式
按照该科技馆的实际情况,自动供电系统应满足如下的功能:
(1)控制系统分别控制两个工作时间不同的区域:展厅和办公区域。
(2)展厅按照开馆和闭馆时间,自动送电和关电。
(3)办公区域按工作时间,自动送电和关电。
根据这种要求,模结构可以为:
public class Area
{
public bool PowerState { get; set; }
}
public class Musem : Area{ }
public class Office : Area{ }
public class PowerController
{
public void PowerOn(Area area)
{
area.PowerState = true;
}
public void PowerOff(Area area)
{
area.PowerState = false;
}
}
类关系如图1。
图1 精简模式类关系图
工作原理:根据当前时间分别调用PowerOn或PowerOff方法,实现自动控制。
1.2 第二种:进一步深化模式
上述简单模式简单的按照工作时间进行供关电,显然不能满足实际的需要。原因:
(1)闭馆时间内可能维修,需要送电。
(2)闭馆时间内可能来团参观,需要送电。
(3)办公区域因事加班的时候,需要送电。
(4)在正常开放时间,因事闭馆,需要能断电。
(5)办公区域因事放假,需要断电。
因此,展厅和办公区域在接受自动控制的同时,必须能够手工干预,这种手工干预就象一个开关按钮,可以人为地决定电的供断,并且这种人工干预要高于自动控制,否则因为二者的命令是相互否定的,一个供电系统无法同时受两个相互矛盾的指令控制,这就象一个指令向北,一个指令向南,无法同时满足两个指令的请求。以事例说明:16:50后,突然来团参观,需要送电,手工送电后,但自动控制系统根据时间已经过了闭馆时间就自动断电,即便手工再次送电,自动系统又断电,循环往复,手工干预失败。事实上,由于自动控制系统的反应时间为毫秒级,从宏观上看,就是一直处于断电状态,人的手工干预就象没有发生任何动作。鉴此,系统必须要有处理这种例外的功能。当手工控制指令发出时,自动控制系统就放下控制权。从程序的角度来说,一旦手工控制,就替代了自动控制。
这种客观要求,我们可以联想到用方法的重载来实现。在前面的PowerController类中,对PowerOn和PowerOff两个方法进行重载:
public void PowerOn(Area area,bool switchTo)
{
area.PowerState = switchTo;
}
public void PowerOff(Area area, bool switchTo)
{
area.PowerState = switchTo;
}
重载PowerOn和PowerOff两个方法,一旦手工控制switchTo不为空,PowerState就只跟switchTo有关,也就实现了让自动控制失效,只服从手工控制的目的。
从类关系图(如图2)中可以清楚地看到,第二种与第一种的差别就是对于PowerOn和PowerOff进行重载。
图2 深化模式类关系图
工作原理:根据当前时间分别调用PowerOn或PowerOff方法,实现自动控制;如果有手工干预,则重载控制方法。
1.3 第三种:细化模式
但上述第二种模式仍存在缺陷。第二种模式把办公区域和展厅分别当作一个整体来处理,这虽然从管理角度上来说,从无到有,对电的供应上产生了一定的自动效果,从精致、细化的角度来说,上述方案还是显得粗放,不实用。现在从这个科技馆办公区域的上班情况进行分析。办公区域周一至周二是轮班,并不是所有办公室在这两天都上班。但上述模型只把办公区域当作一个整体来设计,要么全部供电,要么全部停电。对于加班的情况也是如此,往往并不是所有办公室加班。上述的模型并不能识别这种具体的情况,未能将控制具体到每一间办公室。展厅也存在这种情况,有时比如维修展品,也仅给展品所处的展室(展区)供电即可。
按照这个思路,就需要程序能够识别每一间办公室。这可以通过给每一间办公室和每一个展室或展区编号(ID)来实现。在程序模型上,展区跟展室按相同对象来处理,也视作展室。
其基本思路:将办公区域与展厅两个区域作为两个组,其下再包含各个办公室和展区,上述的控制方法PowerOn和PowerOff应用的主体不再是两个大区域(Area),而是各个办公室或展室(Room)。
其模型为:
工作原理:办公区域和展厅作为两个组,除了整体上对其控制外,但又可以具体到各个Room进行控制,最小的控制单元为Room。
2 结论
通过对问题的一步步深入分析,模型由简单到复杂,最终形成一个实用可操作的模型。本文给出的是最基层的模型关系,作为基石在此基础上去实现业务。当然,本文的目的是阐述建模基本思路,在实际运用中还需要做进一步地细化。
关键词:科技馆 供电 建模
中图分类号:TP27 文献标识码:A 文章编号:1007-3973(2013)007-012-02
科技馆属于公益设施,科技馆的支出由财政承担。正因为如此,在科技馆的管理运营中就可能缺少“精打细算”。一个明显的例子,就是对电缺乏适当的自动管理系统。现代化的科技馆,绝大多数需要使用电力,其中许多展项又有大耗电的投影设备、LCD大屏幕等,因此耗电成为科技馆运营中一个非常大的支出。据统计,一个中型科技馆耗电功率在120万千瓦左右。这方面的挖潜应该不小。据现在科技馆对用电系统的管理情况来看,如果采用一套自动用电系统,自动控制展项的用电和展厅的照明、空调等,就可以最大限度地降低浪费,为科技馆节省大笔支出。
本文根据科技馆的实际情况和特点,对科技馆自动用电系统核心建模做一探索。
1 问题分析
为了便于分析,以某一市地科技馆为例。展馆周三至周日开放,周一周二闭馆,节假日开放,时间为上午9:00开馆,下午16:30闭馆。办公区域周一至周二轮班,其他时间需上班,时间为上午8:30上班,下午16:50下班。科技馆还会有其他区域,在时间上会有所不同,但建模的结构都相似。为简化模型,仅以展厅为例馆和办公区域这两个主要部分做讨论。
为了说明问题的方便,从简到繁进行扩展和延伸。
1.1 第一种:精简模式
按照该科技馆的实际情况,自动供电系统应满足如下的功能:
(1)控制系统分别控制两个工作时间不同的区域:展厅和办公区域。
(2)展厅按照开馆和闭馆时间,自动送电和关电。
(3)办公区域按工作时间,自动送电和关电。
根据这种要求,模结构可以为:
public class Area
{
public bool PowerState { get; set; }
}
public class Musem : Area{ }
public class Office : Area{ }
public class PowerController
{
public void PowerOn(Area area)
{
area.PowerState = true;
}
public void PowerOff(Area area)
{
area.PowerState = false;
}
}
类关系如图1。
图1 精简模式类关系图
工作原理:根据当前时间分别调用PowerOn或PowerOff方法,实现自动控制。
1.2 第二种:进一步深化模式
上述简单模式简单的按照工作时间进行供关电,显然不能满足实际的需要。原因:
(1)闭馆时间内可能维修,需要送电。
(2)闭馆时间内可能来团参观,需要送电。
(3)办公区域因事加班的时候,需要送电。
(4)在正常开放时间,因事闭馆,需要能断电。
(5)办公区域因事放假,需要断电。
因此,展厅和办公区域在接受自动控制的同时,必须能够手工干预,这种手工干预就象一个开关按钮,可以人为地决定电的供断,并且这种人工干预要高于自动控制,否则因为二者的命令是相互否定的,一个供电系统无法同时受两个相互矛盾的指令控制,这就象一个指令向北,一个指令向南,无法同时满足两个指令的请求。以事例说明:16:50后,突然来团参观,需要送电,手工送电后,但自动控制系统根据时间已经过了闭馆时间就自动断电,即便手工再次送电,自动系统又断电,循环往复,手工干预失败。事实上,由于自动控制系统的反应时间为毫秒级,从宏观上看,就是一直处于断电状态,人的手工干预就象没有发生任何动作。鉴此,系统必须要有处理这种例外的功能。当手工控制指令发出时,自动控制系统就放下控制权。从程序的角度来说,一旦手工控制,就替代了自动控制。
这种客观要求,我们可以联想到用方法的重载来实现。在前面的PowerController类中,对PowerOn和PowerOff两个方法进行重载:
public void PowerOn(Area area,bool switchTo)
{
area.PowerState = switchTo;
}
public void PowerOff(Area area, bool switchTo)
{
area.PowerState = switchTo;
}
重载PowerOn和PowerOff两个方法,一旦手工控制switchTo不为空,PowerState就只跟switchTo有关,也就实现了让自动控制失效,只服从手工控制的目的。
从类关系图(如图2)中可以清楚地看到,第二种与第一种的差别就是对于PowerOn和PowerOff进行重载。
图2 深化模式类关系图
工作原理:根据当前时间分别调用PowerOn或PowerOff方法,实现自动控制;如果有手工干预,则重载控制方法。
1.3 第三种:细化模式
但上述第二种模式仍存在缺陷。第二种模式把办公区域和展厅分别当作一个整体来处理,这虽然从管理角度上来说,从无到有,对电的供应上产生了一定的自动效果,从精致、细化的角度来说,上述方案还是显得粗放,不实用。现在从这个科技馆办公区域的上班情况进行分析。办公区域周一至周二是轮班,并不是所有办公室在这两天都上班。但上述模型只把办公区域当作一个整体来设计,要么全部供电,要么全部停电。对于加班的情况也是如此,往往并不是所有办公室加班。上述的模型并不能识别这种具体的情况,未能将控制具体到每一间办公室。展厅也存在这种情况,有时比如维修展品,也仅给展品所处的展室(展区)供电即可。
按照这个思路,就需要程序能够识别每一间办公室。这可以通过给每一间办公室和每一个展室或展区编号(ID)来实现。在程序模型上,展区跟展室按相同对象来处理,也视作展室。
其基本思路:将办公区域与展厅两个区域作为两个组,其下再包含各个办公室和展区,上述的控制方法PowerOn和PowerOff应用的主体不再是两个大区域(Area),而是各个办公室或展室(Room)。
其模型为:
工作原理:办公区域和展厅作为两个组,除了整体上对其控制外,但又可以具体到各个Room进行控制,最小的控制单元为Room。
2 结论
通过对问题的一步步深入分析,模型由简单到复杂,最终形成一个实用可操作的模型。本文给出的是最基层的模型关系,作为基石在此基础上去实现业务。当然,本文的目的是阐述建模基本思路,在实际运用中还需要做进一步地细化。