2007年6月20日星期三

LabVIEW程序中参数的保存:configuration file

LabVIEW程序中参数的保存:configuration file

LabVIEW程序中经常会有一些参数需要保存到文件,以方便下次读入、或供其它程序读入。一般的方法可能是将这些参数顺序写入一个文本文件,然后再按照相 应的顺序读入,赋给每一个变量。这种方法的缺点是产生的参数文件可读性较差,用户直接打开这个文件只能看到几个值,却不知道其含义。另外一方面, 当参数较多时,逐个保存和赋值也比较繁琐。

Windows系统中有一种后缀名为ini的参数配置文件,其格式一般如下:
[Section1]
Parameter1Name=value1
Parameter2Name=value2
[Section2]
......
这个文件可以分为不同的段(Section),段内包含参数名称(Key)和对应的值。这种配置文件的可读性是很好的。LabVIEW中有一个功能模块Configuration File 支持这种格式的配置文件的读写。可以在help中找到相关的例程。

为了方便多个变量的读写,我们在程序中将参数归类,放到不同的Cluster内,每一个Cluster对应配置文件中的一个段。



而在向配置文件中写入Key时,可以通过一个属性节点获得Cluster内各个元素的名称和值,然后顺序写入文件,如下图:
上图中通过属性节点读出的值的类型是Variant,需要通过Variant To Data转为数值类型。在这里所有的参数都按照同一种类型保存。

参数读入的过程也与此类似。通过属性节点的方法避免了逐个变量的列举,在需要保存的参数较多时比较方便。


2007年6月8日星期五

PDF文件中的一页无法打印

从ScienceDirect下载的一篇论文,共十四页,其中的第十一页无法打印,选择打印后,任务管理器中spoolsv进程的CPU占用率就上升到99%。并且在任务管理器中无法结束任务,只能在服务中停止,但是关闭的速度非常慢,有时需要重新启动进程才能使CPU占用率降下来。

首先怀疑电脑中了病毒,但别的文件又能打印,并且其它时间spoolsv是不占CPU的。又清空了system32\spool\printer中的内容,还是不能解决问题。这个页面下半部分是几个图形,用Acrobat浏览,滚屏时的响应也很慢,可能是这个页面有问题,重新打印这一页到一个新的PDF文件,优化页面等其它的一些设置也不起作用。

最后终于想到可以在linux里面用其它的阅读器试一下。在我的FC6上配置好了打印机(需要启动cups),用Evince打开,浏览到这个页面时仍然非常流畅,打印,问题解决了。我想,Acrobat对PDF的支持非常全面,所以有时候反倒可能会忙中出乱,这时用一些功能简单的阅读器可能效果更好。

2007年6月7日星期四

No Easy Fix for Global Warming 没有简单的方法阻止全球变暖

原文地址:http://sciencenow.sciencemag.org/cgi/content/full/2007/605/2
No Easy Fix for Global Warming
By Phil Berardelli
ScienceNOW Daily News
5 June 2007
翻译:liuxqsmile
(水平所限,漏误难免,请参考原文)

一些科学家认为阻止全球变暖的最好的方法是改变大气层,使其能反射更多的阳光,从而给地球降温。但是一项最新的研究表明,即使这种“地球工程”是可行的,它也会扰乱目前的全球降雨分布格局,并且这项工程中止以后,会带来气温的更快上升。

在过去的一个多世纪里,平均气温一直在升高,很大程度上是由于矿物燃料燃烧产生的二氧化碳构成的保温层。政府间气候变化委员会(Intergovernmental Panel on Climate Change )的一份报告说,现在的气温比一个世纪前升高了0.74摄氏度,并且到本世纪末将会再升高1.7~4.0摄氏度。这将会导致海平面升高、干旱以及其它许多环境问题,所以研究人员和政府都急于找到减缓这种趋势的方法,最主要的是限制二氧化碳的排放。

一些人提出了另一项建议,改变大气层使其反光性更强。方法包括,使用硫酸盐微粒来“播种”云层,甚至在赤道上安装巨型的反光镜。建议者认为,这种方法可能比限制排放更简单,更快速。

斯坦福大学卡内基研究所的生态学家Ken Caldeira和他的研究团体,在他们最新的发表在美国科学院院刊网站上的分析报告中认为,地球工程确实可以降低气温。他们假设在接下来的一个世纪中温室气体排放的趋势不发生变化,然后通过计算机模拟的方法分析了11项可能的措施将会产生的影响。好消息是,即使这些措施在二十年后开始实施也仍然是有效的。坏消息是,在所有的11项措施中,减少太阳辐射都会改变全球降雨的分布,有些地区可能会更涝,而有些以前的农业区则可能会被烤干。更糟的是,如果这些措施突然停止,气温就会急剧升高,很可能是目前变暖速度的20倍,因为二氧化碳仍然一直都在聚集。

阿拉斯加大学的地球物理学家Uma Bhatt说,当我们把气候当成一项工程时,将会面临新的意想不到的困难。西雅图华盛顿大学的大气学家Robert Charlson指出了地球工程的另一个潜在危险:这些措施可以使得全球气温整体降低,但是温室气体造成的局部区域变暖则取决于地表温度的分布,云层、湿度等。所以即使地球工程如预期一样起作用,“结果可能是全球平均气温降低了,但格陵兰的冰川却融化了。”

2007年6月6日星期三

键盘进水

键盘进水,有几个键失效了。网上有说拆开后把三层薄膜弄干就OK了,可是在太阳下晒了半天装上还是老样子。

又看到有人说线路可能有断路。仔细看了以下,在上下两个有线路的薄膜上有些地方有水渍,附近的导线的颜色不一样。用万用表量一下,果然是断开了。可能进水使附近的导线接通,发生短路,导线上因电流过大而烧毁。参照别人的方法,用透明胶带把细铜丝粘在导线上,把断的地方都补上(有些地方不是很明显),接上主机一试,好了!

历史记录的重现

我打算将2005年在自己的计算机上创建的blog的内容选择一些有价值的放在我的blog上。我在网上公开的blog创建在2007年的三月,以前的内容都是历史回顾。

2007年6月5日星期二

Alexander the Not-So-Great,亚历山大,“没那么大”大帝
















原文地址:http://sciencenow.sciencemag.org/cgi/content/full/2007/514/1?rss=1

Alexander the Not-So-Great

By John Simpson
ScienceNOW Daily News
14 May 2007

翻译:liuxqsmile
(水平所限,漏误难免,请参考原文)
历史上,对世界支配权因一座在沙滩上建成的桥而在几个月内发生了变更。公元前332年,为了占领坚固的提尔岛,亚历山大大帝命令他的工程队伍修建了一座跨越一公里海面的陆桥。他们依靠基本的工具,并且在提尔人的持续攻击下,完成了这项几乎是不可思议的工程,但是,真的是这回事吗?通过分析过去一万年的近海海底沉积情况,一个研究团队得到结论:是“大自然母亲”,而不是那个著名的希腊军事统帅,完成了这座桥的根基。

亚历山大是第一位试图征服已知世界的国王。他的军队刚刚占领了腓尼基人的城市比布鲁斯和西顿。在不远处的提尔,他认识到,这座极具战略价值的港口可以为控制东地中海提供补给和后备力量。然而,提尔是一个难啃的骨头,除了环城50米高的围墙,这座古城实际上修建在距现在的黎巴嫩海岸一公里的一个岛上,周围的海水深度达到10米。据历史记载,经过七个月的努力,亚历山大的军队借助于一座用木材、岩石和碎石修建的连接海岸和岛屿的桥梁,用攻城重棰撞破城墙,攻入城内,为最终吞并腓尼基海上帝国铺平了道路。

地球学家Nick Marriner和他位于法国普罗旺斯的环境地球科学研究和技术欧洲中心(CEREGE)的同事,研究了黎巴嫩海岸和提尔半岛沉积物的结构,得出结论:亚历山大的工程人员所填的海没有一处接近10米。相反,附件的利塔尼河三角洲经过5500年的沉积,在水下形成了一个连接陆地和提尔的平台。随着海平面升高的减缓和农业灌溉的发展,沉积的速度也逐渐增快。另外,提尔岛本身形成了一个非常好的防波堤,使得沉积物能够在它后面和陆地之间堆积起来。到公元前332年,这座天然的桥梁仅位于海平面下1-2米!这个研究小组的工作本周发表在美国国家科学院院刊的网站上。

附图:Google Earth上的提尔。