搜档网
当前位置:搜档网 › SLF4J中文手册

SLF4J中文手册

SLF4J中文手册
SLF4J中文手册

SLF4J中文手册

SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

典型的使用模式

下面同样的代码展示了SLF4J 的典型使用模式。注意第15行{}-占位符的使用。更多详细内容请查看FAQ中的问题"What is the fastest way of logging?"

1:import org.slf4j.Logger;

2:import org.slf4j.LoggerFactory;

3:

4:public class Wombat{

5:

6:final Logger logger =LoggerFactory.getLogger(Wombat.class); 7:Integer t;

8:Integer oldT;

9:

10:public void setTemperature(Integer temperature){

11:

12: oldT = t;

13: t = temperature;

14:

15:logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);

16:

17:if(temperature.intValue()>50){

18:https://www.sodocs.net/doc/5d16322398.html,("Temperature has risen above 50 degrees."); 19:}

20:}

21:}

在部署阶段绑定某个日志框架

前面提到过,SLF4J 支持多种日志框架。SLF4J 发行包中自带几个用于“SLF4J绑定”的jar 文件, 每种绑定对应一种支持的日志框架。

slf4j-log4j12-1.7.2.jar

用于绑定 1.2版的log4j , 这是一个广泛使用的日志系统,当然你还要把log4j包加到classpath中

slf4j-jdk14-1.7.2.jar

用于绑定java.util.logging, 作为JDK 1.4 的logging

slf4j-nop-1.7.2.jar

用于绑定NOP, 不做任何操作.

slf4j-simple-1.7.2.jar

用于绑定simple 的实现, 所有的打印会响应到System.err. 只有INFO或者更高的级别会被打印. 这个绑定在小型应用中非常有用。

slf4j-jcl-1.7.2.jar

用于绑定Jakarta Commons Logging. 这个绑定会使得SLF4J 的日志功能委托JCL来完成.

还有除了SLF4J项目以外提供的绑定包,例如logback本身就实现了SLF4J。Logback的ch.qos.logback.classic.Logger类实直接实现了SLF4J 的org.slf4j.Logger接口。因此,结合logback使用SLF4J 节省很多内存和计算的开销。

要切换日志系统,只需在classpath上替换slf4j的绑定则可。例如,你要从java.util.logging 切换到log4j,只需要把slf4j-jdk14-1.7.2.jar 替换为slf4j-log4j12-1.7.2.jar

SLF4J不依赖于任何的特殊类加载器。实际上,每个SLF4J绑定都是在编译阶段使用且指定唯一一种日志框架。例如,slf4j-log4j12-1.7.2.jar绑定在编译阶段绑定使用log4j。在你的代

码中,除了slf4j-api-1.7.2.jar意外,你只能在classpath中加入一种绑定。不要添加超过1个绑定。下面是这张图解释了总体的思路。

(underlying表示直接实现SLF4J的接口,adaptation表示通过适配器实现SLF4J的接口)

SLF4J的接口和它的各种适配器是非常简单的。大多数熟悉java语言的开发人员能够在一个小时内阅读和完全理解这些代码。因为SLF4J没有使用或者说没有直接访问类加载器,所以关于类加载器的知识不是必须的。因此,SLF4J没有类加载器和内存泄露的问题,在方面,common logging就相形见拙了。

有了简单明了的SLF4J接口和部署模型,对于一个新的日志系统,开发人员可以容易的开发SLF4J的绑定。

广泛使用的一些组件会在他们的代码中使用SLF4J 接口,这是以避免强制用户使用某一种日志框架。因此,最终用户可以再部署阶段选择自己喜欢的日志框架并在classpath中加入对应框架的slf4j绑定包。以后,还可以通过替换一个新的slf4j绑定来使用另一种日志框架。这种方案被证明是简单且健壮的。

在1.6.0版本中,如果在classpath中没有找到绑定,slf4j-api将会默认忽略所有打印请求。以前,则会因为缺少org.slf4j.impl.StaticLoggerBinder类而抛出一个NoClassDeFoundError 的错误,从SLF4J 1.6.0器,则会发出一个唯一一次警告信息,说明缺少绑定并且往后的所有答应请求会被忽略。举个实例,Wombat框架依赖于SLF4J日志功能。为了避免强制最终用户使用某种日志框架,Wombat的发布包中包含了slf4j-api.jar且不包含任何绑定包。即便用户在classpath上缺少任何SLF4J绑定包,Wombat依然能工作。只有在用户决定开启使用日志功能的时候,他才需要安装绑定某种日志框架的SLF4J绑定包。

项目中的日志功能依赖

请注意,任何可嵌入使用的组件例如库或者框架,都不应该声明某个SLF4J绑定的具体依赖,只能声明依赖于slf4j-api. 有关SLF4j在可嵌入组件中使用的在FAQ里有相关讨论logging configuration, dependency reduction and testing.

基于maven的传递依赖规则,对于“一般”项目(非库或者框架)来说,声明日志功能的依赖可以通过一条依赖声明完成。

LOGBACK-CLASSIC如果你希望使用logback-classic 作为日志框架。你只需在pom.xml 文件中声明"ch.qos.logback:logback-classic"依赖(如下所示)。此外,logback-classic-1.0.7.jar 依赖会自动把slf4j-api-1.7.2.jar加载到你的项目。不过明确的声明slf4j-api-1.7.2.jar的依赖并没有错,也避免MA VEN默认的相关版本信息不如你所意。

ch.qos.logback

logback-classic

1.0.7

LOG4J如果你希望使用log4j 作为日志框架。你只需在pom.xml文件中声明"org.slf4j:slf4j-log4j12"依赖(如下所示)。此外,slf4j-log4j12-1.7.2.jar,依赖会自动把slf4j-api-1.7.2.jar加载到你的项目。不过明确的声明slf4j-api-1.7.2.jar的依赖并没有错,也避免MA VEN默认的相关版本信息不如你所意。

org.slf4j

slf4j-log4j12

1.7.2

JAVA.UTIL.LOGGING如果你希望使用java.util.logging作为日志框架。你只需在pom.xml文件中声明"org.slf4j:slf4j-jdk14"依赖(如下所示)。此外,slf4j-jdk14-1.7.2.jar,依赖会自动把slf4j-api-1.7.2.jar加载到你的项目。不过明确的声明slf4j-api-1.7.2.jar的依赖并没有错,也避免MA VEN默认的相关版本信息不如你所意。

org.slf4j

slf4j-jdk14

1.7.2

二进制兼容性

混用不同版本的slf4j-api.jar 和slf4j绑定会导致问题。例如,你使用slf4j-api-1.7.2.jar,然后你必须使用slf4j-simple-1.7.2.jar,假若你使用了slf4j-simple-1.5.5.jar 将不能正常工作。

不过,从用户的角度来看,所有版本的slf4j-api 包都是兼容的。客户使用不通版本的slf4j-api-N.jar将不会有任何问题。你只需要保证你的slf4j绑定包的版本要匹配slf4j-api包的版本即可。

在初始化阶段,如果SLF4J 检测到slf4j-api 和slf4j绑定包的版本冲突,将会发出一个警告。

通过SLF4J统一日志

很多时候,一个项目以来不同的组件,这些组件中依赖的日志api不是SLF4J的。一个项目依赖JCL(common logging),java.util.logging, log4j 和SLF4J 的组合是很普遍的。因此,通过一个方式来统一日志则显得很有吸引力。SLF4J 通过提供JCL,java.util.logging和log4j 的桥接来满足这种普遍使用。更详细的内容参考Bridging legacy APIs.页面。

线程映射表(Mapped Diagnostic Context)

MDC本质上是日志框架维护的一个map,在应用中提供键值对,这些值可以添加到日志消息中。

SLF4J支持MDC。如果具体的日志框架提供了MDC功能,那么SLF4J就会委托下面的日志框架实现MDC功能。注意,现在只有log4j和logback提供MDC功能。如果具体的日志框架不提供,如java.util.logging,则slf4j将会存储MDC的数据,但是里面的信息需要用户通过代码来获得。

因此,作为一个SLF4J的用户,你可以利用已有MDC功能的log4j和logback,但是不能强制用户依赖具体的日志框架。

更多关于MDC的信息,请查看logback指南中的MDC 章节

行动纲要

Advantage Description

在部署阶段选择具体的日志框架通过在classpath加入日志框架对应的的slf4j绑定包

错误快速响应基于JVM加载累的方式,会很快的执行日志框架绑定验证。如果SLF4J不能再classpath 找到一个绑定,则会发出一条警告信息,接着后面的所有日志请求就没有具体的操作。

绑定流行的日志框架SLF4J 支持流行的日志框架, 包括log4j, java.util.logging, Simple logging and NOP. logback本身实现了SLF4j

桥接遗留的日志API 通过SLF4J 实现JCL , 如jcl-over-slf4j.jar, 使得项目迁移到slf4j而不用破坏已经使用了JCL的兼容。同样,log4j-over-slf4j.jar 和jul-to-slf4j 组件则允许直接将log4j和java.util.logging的调用转向SLF4J。更多信息请查看桥接遗留的API Bridging legacy APIs

迁移代码slf4j-migrator 工具可以帮你修改代码为使用SLF4J

支持参数化的日志信息所有的SLF4J绑定支持参数化日志信息,且明显地提高性能improved performance .

Krakatoa__RealFlow_and_Frost中文教程

Krakatoa,RealFlow和Frost 下面的教程讨论了加载过程中,网格和Next Limit的RealFlow的流体仿真软件使粒子产生的数据使用Krakatoa和冰霜。 本教程介绍的工作流程在喀拉喀托MX 2,但是这种方法适用于喀拉喀托1.6.x的。这两个版本之间的差异将在必要时指出。 虽然这个演示是使用的RealFlow 5,同样的原则也适用于最新发布的Next Limit的RealFlow的2012年,。 在本教程中,我们将使用一个非常简单的设置组成的Hybrido模拟。 一个球发射器产生飞溅周围的箱状的体积的颗粒流。 让加载的BIN文件序列所产生的RealFlow使用KrakatoaPRT装载机。 需要注意的是,即使有一个选项,保存喀拉喀托火山2012年的RealFlow的PRT文件,我们将使用本机的BIN文件序列。一方面,这将允许用户使用本教程的RealFlow 5,另一方面,PRT装载机进行一些坐标系统转换BIN文件加载时都比较困难,2012年从RealFlow的PRT文件保存加载时执行。 ?按住 Shift键并选择“创建一个PRT装载机...”选项的喀拉喀托菜单中创建一个PRT装载机。另外,按住 Shift并单击该PRT图标,如果你已经创建了一个喀拉喀托工具栏的Krakatoa文档中的说明。 ?添加BIN文件的RealFlow模拟PRT Loader的文件列表保存的序列。 ?在“视口”卷展栏中单击“%”渲染“按钮并从列表中选择100.0 -这将设置PRT Loader来显示所有的粒子。 ?将时间滑块拖动到运动的粒子。转到模拟(在此示例中使用的演示场景的情况下,这是帧200)的最后一帧。

TinyOS在windows中安装步骤

1.TinyOS 1.1概要 TinyOS应用程序都是有一个或多个组件链接起来,从而形成一个完整的可执行程序。组件中实现了功能接口,同时也能使用其它组件提供的接口。 在接口定义中可以申明命令函数和事件函数,命令函数由接口提供者实现,事件函数由接口使用者实现。对于一个组件而言,如果它要使用某个组件接口中的命令,它必须实现这个接口的事件。一个组件可以使用或提供多个接口以及同一个接口的多个实例。 组件有两种类型:模块(module)和配置(configuration)。模块提供应用程序代码,实现一个或多个接口;配置则是用来将其它组件装配起来,将各个组件所使用的接口与其它组件提供的接口连接在一起,进行导通。每个应用程序都由一个顶级配置所描述,其内容就是将该应用程序所用到的所有组件导通起来,形成一个有机整体。 TinyOS应用程序必须包含Main 组件,Main组件是首先被执行的一个组件。确切的说,在TinyOS 中执行的第一个命令是Main.StdControl.init(),接下来是Main.StdControl.start()。 Main组件完成以下功能:芯片初始化,外围电路初始化,操作系统调度数据结构初始化,子组件初始化,启动子组件件,进入调度死循环从而将控制权交给操作系统,一旦没有任务可以调度就进入休眠状态以降低系统功耗。 TinyOS的调度系统是TinyOS系统的核心部分。它采用先进先出的排队策略,任务之间不可以抢占,但是中断可以抢占任务,中断是否可以抢占中断则是应用程序自己控制的。即如果中断处理程序进入中断以后执行了关中断的操作,那么这个中断将是不可抢占的,否则在服务的过程中就有可能被抢占掉。另外还要注意,在中断服务程序里面是可以创建任务的。 1.2在Cygwin下的安装 在/etc/bash.bashrc文件中增加以下内容: export TOSROOT=/opt/tinyos-2.x export TOSDIR=$TOSROOT/tos export CLASSPATH=C:\cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar export CLASSPATH="$CLASSPATH;." export MAKERULES=$TOSROOT/support/make/Makerules export PATH=/opt/msp430/bin:/opt/jflashmm:$PATH 安装以下软件包: rpm -ivh --ignoreos c:/downloads/avr-binutils-2.17tinyos-3.cygwin.i386.rpm rpm -ivh --ignoreos c:/downloads/avr-gcc-4.1.2-1.cygwin.i386.rpm rpm -ivh --ignoreos c:/downloads/avr-libc-1.4.7-1.cygwin.i386.rpm rpm -ivh --ignoreos c:/downloads/avarice-2.4-1.cygwin.i386.rpm rpm -ivh --ignoreos c:/downloads/avr-insight-6.3-1.cygwin.i386.rpm

MAGMAsoft模流分析简介

MAGMAsoft模流分析简介 中文名: MAGMA SOFT铸造仿真软件 英文名: MAGMASOFT.V4.4 资源格式: 光盘镜像 版本: V4.4 发行时间: 2008年12月 地区: 美国 语言: 英文 简介: 铸型的充填、凝固、机械性能、残余应力及扭曲变形等的模拟为全面最佳化铸造工程提供了最可靠的保证。以往只有对铸造工程参数及铸造质量的影响因素有透彻的了解,才能使铸造工程师对生产高质量的铸件拥有信心。传统的方法对铸造工程的最佳化工作既耗资又费时,时程的压力使得很多铸造工程无法发挥全面的潜力。

MAGMASOFT软件中的专用模块满足您独特的需求。 ●MAGMA standard 标准模块包括: ●Project management module 项目管理模块 ●Pre - processor 分析前处理模块 ●MAGMA fill 流体流动分析模块 ●MAGMA solid 热传及凝固分析模块 ●MAGMA batch 制程仿真分析模块 ●Post - processer 后处理显示模块 ●Thermophysical Database 热物理材料数据库 ●MAGMA lpdc 低压铸造专业模块 ●MAGMA hpdc高压铸造专业模块 ●MAGMA iron铸铁铸造专业模块 ●MAGMA tilt 倾转浇铸铸造专业模块 ●MAGMA roll-over浇铸翻转铸造专业模块 ●MAGMA thixo 半凝固射出专业模块 ●MAGMA stress 应力应变分析模块 ●MAGMA disa DISA铸造生产线模块 使用MAGMASOFT铸造仿真软件则是最经济、最方便的方式,它为以最低的成本生产高质量的铸件提供正确有效的解决方案。 MAGMASOFT铸造仿真软件的应用: ●铸造部件设计的开发 ●最佳化生产制程 ●新模具的生产

安装TinyOS需要六个步骤

安装TinyOS需要六个步骤。 1.Installing a Java 1.5 JDK. 安装java jdk 1.5需要配置环境变量 2.Install Cygwin. 安装Windows下的Linux模拟器,cygwin 3.Installing native compilers. 安装单片机工具,AVR或MSP430,根据自己需要。 4.Installing the nesC compiler. 安装nesC和TinyOS_tool 5.Installing the TinyOS source tree. 安装TinyOS2.0.2主文件。 6.Installing the Graphviz visualization tool 安装Graphviz并配置环境变量 一.安装JDK 1.5 下载JDK 2.5 在SUN的官方网站https://www.sodocs.net/doc/5d16322398.html,/. 安装并配置JDK的环境变量。 二.安装Cygwin 下装Cygwin-1.2a于https://www.sodocs.net/doc/5d16322398.html,/dist-1.2.0/tools/windows/cygwin-1.2a.tgz 这个版本TinyOS官方测试过,和TinyOS兼容度高。 三.安装单片机工具 下载以下五个rpm包 1.avr-binutils- 2.15tinyos- 3.cygwin.i386.rpm(https://www.sodocs.net/doc/5d16322398.html,/di st-2.0.0/tools/windows/avr-binutils-2.15tinyos- 3.cygwin.i386.rpm) 2.avr-gcc- 3. 4.3-1.cygwin.i386.rpm(https://www.sodocs.net/doc/5d16322398.html,/dist-2.0.0/t ools/windows/avr-gcc-3.4.3-1.cygwin.i386.rpm) 3.avr-libc avr-libc-1.2.3-1.cygwin.i386.rpm(https://www.sodocs.net/doc/5d16322398.html,/dist-2.0.0/too ls/windows/avr-libc-1.2.3- 1.cygwin.i386.rpm) 4.avarice avarice-2.4-1.cygwin.i386.rpm(https://www.sodocs.net/doc/5d16322398.html,/dist-2.0.0/tools/ windows/avarice-2.4-1.cygwin.i386.rpm) 5.insight (avr-gdb) avr-insight- 6.3-1.cygwin.i386.rpm(https://www.sodocs.net/doc/5d16322398.html,/dist-1.2.0/to ols/windows/avr-insight-6.3 -1.cygwin.i386.rpm) 下载完成之后把五个包都拷贝到Cygwin的tmp文件夹(在Windows操作即可) 依次安装(要按照顺序安装,它们之间有依赖关系),安装命令如下。 cd /tmp

露点测试仪

DMT-242P 精密露使用说明书(中文版)DMT-242P精密露点仪使用说明 一、功能概述 维萨拉公司使用DRYCAP?湿度传感器用于工业湿度测量已有近60年的历史。高品质的DRYCAP?与智能化电子部件的完美结合,使测湿仪表成功应用于各种极端恶劣的工业环境中。维萨拉公司为全世界提供湿度测量领域中先进的技术。 DRYCAP?传感器在全量程测量精确可靠,并具有卓越的长期稳定性,它不受灰尘粒子和大多数化学物污染的影响,极适合工业环境的使用。 DMT-242P 精密露点仪是在低露点且需要控制干点的工业环境的理想选择。它有化学物质清除选项,这使得DMT-242P在高浓度化学物质和清洁剂的环境中能进行精确稳定的测量,从而保证了每次校验间隔之间的准确测量。这项功能即能通过控制系统在线执行,也能按预先设定的时间间隔定期执行。该仪器具有交直流两用电源,设计轻巧,坚固耐用,可广泛应用于SF 6 电器设备的现场水分测量。 二、主要特点 ●零点自动校准 ●独有的超大储存功能●首创的电量显示 ●操作简单、携带方便●重复性好、响应速度快●斜率自动校准●独特的大屏显示 ●先进的探头保护功能●抗污染、抗干扰 ●灵敏度高、稳定性好●全量程单点法露点校 三、技术指标 测量范围:露点-80~+60℃(支持ppmv等) 露点精度:测试精度优于±0.5℃(在一定量程内) (当露点温度低于0℃,传感器输出为霜点) 响应时间:63%(90%) +20→-20℃Td 5s[45s] -20→-60℃Td 10s[240s] 分辨率:露点0.1℃或0.1ppm 重复性:±0.2℃ 气体流量:SF6调节在0.5~0.9L/min,H2调节在0.1~0.4L/min 压力测量:0~1.0MPa 探头保护:不锈钢烧结过滤网 工作电压:110~220V AC,交直流两用 储存温度等级:-40~+70℃ 输出接口:串口 操作环境:温度:-35~+60℃ 压力:0~20bar 样气流速:无影响 其它配置:标准版管理软件,含报表打印,湿度常用转换工具包电子质量流量计,锂电池,交直流电两用,自动切换,过充过放保护功能

tinyos编译环境搭建(windows)

将Tinyos2.x移植到cc2530 编译环境的搭建 流程:在windows下建立cygwin平台,并搭建Tinyos的编译环境,然后将基于Tinyos的应用程序编译成hex文件,通过仿真器下载到cc2530片子上运行。 原材料:硬件(cc2530节点,仿真器等)、软件(Cygwin,Keil,TinyOS 2.x,编译环境配置软件包,SmartRF04 Flash Programer等)。注意:硬件是原来在IAR下能正常使用的CC2530开发硬件就OK声明:一.里面很多东西我借鉴了网上的资料,并写在后面的参考文献中。并对一些内容进行了修改和强调,以及我遇到的一些问题的解决方法。 = = = = = = = = = = = = = = = = = = = = = = 1.安装Keil (Keil uVersion4) 这些资源网上很多,百度和谷歌都可以搜到(注:一定要下载keil uVersion4,不可以下载4以下的版本,因为要运行的是cc2530,4以下的版本会找不到相关的编译平台环境) 2.安装java 1.5 JDK 我开始用1.6了的,反正一直没成功,不知道是不是这个原因。最好就用1.5这个版本吧。安装完了在命令行中:java –verson ,出现“java version “1.5.0”表示是1.5版本了。 3.安装Cygwin (1)下载Cygwin,我是在这里下载的:https://www.sodocs.net/doc/5d16322398.html,/index.php/Installing_TinyOS_2.0.2#Manual_installation_on_your_host_OS_with_RPMs,在Setp 2: Install Cygwin中第一步有个cygwin-files.zip,点击即可下载。 这个地址好像也可以下载:https://www.sodocs.net/doc/5d16322398.html,rmatik.uni-freiburg.de/people/aslam/cygwin-files.zip (2)安装时先解压下载的cygwin,点击setup.exe即可,默认安装在c盘下。选项基本上不用变,都是默认选项:”install from Local Directory”->Root Directory: c:\cygwin, Install for: All Users, Default Text file type: Unix/Binary->当问到”Select local Package directory”时,选择自己解压的cygwin目录即可,如:“D:/cygwin-files”,最后等一会时间即可完成安装。 (3)启动桌面上的Cygwin快捷图标,cygwin第一次运行会设置一些东西,并创建一个home目录,里面创建了一个用户,名为windows系统的用户名。 注意:此时自己在cygwi菜单n根目录下创建一个opt目录,后面会用到。(如果你安装cygwin后有这个目录就不同了,反正我安装后没有这个目录,后面的操作会在这个目录下自动放置一些文件) 4.下载Tinyos开发必备的编译工具的安装包(共4个) NesC编译工具:nesc-1.3.0-1.cygwin.i386.rpm TinyOS相关工具: tinyos-deputy-1.1-1.cygwin.i386.rpm tinyos-tools-1.3.0-1.cygwin.i386.rpm tinyos-2.1.0-2.cygwin.noarch.rpm 这些东西在这里能够找到(呵呵):https://www.sodocs.net/doc/5d16322398.html,/dist-2.1.0/tinyos/windows/ 5.安装上面的rpm包 (1)在/home目录下是你的主目录,我的是.Adminstrator将刚才的那4个rpm包拷贝到\home\Adminstrator下(即C:\Cygwin\home\john下),进入到该目录:cd /home/Adminstrator,ls一下可以看见这4个文件。 (2)安装rpm包 rpm -ivh nesc-1.3.0-1.cygwin.i386.rpm rpm -ivh tinyos-tools-1.3.0-1.cygwin.i386.rpm

magmasoft中文教程

MAGMASOFT 4.4 Manual Part one 1.介紹(Introduction) ……………………………… 1.1MAGMASOFT? 可以提供你什麼?……………… 1.2如何成功的使用MAGMASOFT?……………… 1.3MAGMASOFT?的文件結構……………………… 1.4拼字跟用法……………………………………… 1.5疑問……………………………………………… 2.安裝(Installation)…………………………… 2.1 系統需求 2.2 MAGMA安裝……………………………… 2.3 啟動MAGMASOFT? 執照……………… 2.3.1 擷取系統資訊……………………………… 2.3.2 從Email讀取系統和執照檔……………… 2.3.3 手動輸入系統鑰匙……………………………… 2.3.4 手動輸入執照鑰匙……………………………… 2.3.5 從檔案讀取系統鑰匙…………………………… 2.3.6 從檔案讀取執照鑰匙…………………………… 2.4 管理浮動執照……………………………… 2.4.1 顯示連結……………………………… 2.5 MAGMASOFT? 的專案……………………………… 2.6 MAGMASOFT? 的畫面……………………………… 2.7滑鼠鍵盤的用法……………………………… 3.專案管理(Project Administration) 3.1開啟專案(Open project)……………………………… 3.2 產生新的專案(Create project)……………………… 3.3 產生新的版本(Create Version)………………………… 3.4 刪除結果(Delete Result)………………………… 3.5 刪除版本(Delete Version)…………………………… 3.6 刪除專案(Delete project)……………………………

TinyOS2.x安装

一.TinyOS安装 官方说明: https://www.sodocs.net/doc/5d16322398.html,/tinyos-2.x/doc/html/install-tinyos.html https://www.sodocs.net/doc/5d16322398.html,/index.php/Installing_TinyOS_2.1#Manual_installation_on_your_host_OS_ with_RPMs 开发基础:熟悉Linux环境及常用Linux命令;熟悉嵌入式系统开发流程;精通模块设计的思想;能深刻理解交叉编译和MAKE等概念;熟悉C,nesC两种编程语言;对C++,JAVA有一定了解;对ZigBee协议熟悉且具有一定的通信基础,能深刻理解地址、通道等概念。 1.JAVE JDK 安装 首先,我们安装JAVE 开发工具JAVE JDK : Java SE Development Kit (JDK) 5/6下载地址:https://www.sodocs.net/doc/5d16322398.html,/javase/downloads/index.jsp 下载的默认文件名为:jdk-6u10-windows-i586-p.exe / jdk-1_5_0-windows-i586.exe 安装过程只需下一步……下一步便可…… 然后,我们需要设置电脑的环境变量,需要新建两个环境变量,以便使用JDK 具体过程如下: 右击我的电脑——〉属性——〉高级——〉环境变量——〉 系统变量(S)栏——〉新建(W)——〉新建系统变量对话框 如下图:

变量名(N):JAVA_HOME 变量值(V):JDK安装的路径,默认路径为:C:\Program Files\Java\jdk1.6.0_10 C:\Program Files\Java\jdk1.5.0 变量名(N):CLASSPATH 变量值(V): .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;%JAVA_HOME%\bin;%JAVA_HOME%\jr e\bin; 在用户变量的PATH中添加:;%JAVA_HOME%\bin:$PATH;%JAVA_HOME%\jer\bin:$PATH; 在系统变量(S)栏选中变量为Path的选项,点编辑 在变量值(V)的末尾添加:;%JAVA_HOME%\bin; ;%JAVA_HOME%\jre\bin; 系统变量里最好也同样再设置一个CLASSPATH。 这样,我们的环境变量已经设置完毕了。 我们可以编个JAVA小程序测试简单的测试一下: 打开记事本,输入下面这个小程序,另存为HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

PetroMod 10 中文教程-经典版

PetroMod软件教程 1.软件介绍 1.1 关于PetroMod 德国IES公司是全球最著名的含油气系统模拟软件开发商,其含油气系统模拟软件PetroMod是当今同类产品中最先进的软件,其软件最主要的特点表现为以下五个方面:1.该软件是目前唯一能够使多维(一维、二维、基于层面、多一维和三维)模拟在同一平台下操作,并使数据能够在多维模块中共享的含油气系统模拟软件系统。 2.IES软件能够始终处于同类产品领先水平的关键原因之一还在于,其拥有先进的油气运移模拟技术。该软件不仅为用户提供了经典的达西定律模拟器,现代的流线法模拟器,还创新地开发了兼有达西定律和流线法二者优点的组合模拟器。这算法不仅可保证油气运移的模拟精度,而且可很大程度地提高模拟的运算速度。 3.多组份、多相态油气生成、运移技术是世界含油气系统模拟技术最新的发展方向之一,IES软件已成功地将该技术融入到常规的2D和3D含油气系统模拟过程之中。 4 IES含油气系统模拟软件不仅具有十分良好的系统性,而且也有很好的灵活性。如对单目标层油气运移模拟评价,IES为用户提供了十分灵活的PetroCharge Express模块;对火成岩侵入、盐丘刺穿、胶结、液压缝等特殊地质现象IES软件都为用户提供了独特的解决工具。 5通过较灵活的可视化功能建立三维含油气系统模拟所需要的3D地质模型。 1.2 软件基本功能模块 PetroMod是IES含油气系统模拟的软件系统。PetroMod软件系统由一系列功能独特的模块组成。这些完全一体化设计的PetroMod1D,2D,3D软件包和一些独特的技术模块都可以从IES的公司网站(www.ies.de)上直接下载。为适应用户需求,我们制作了不同软件包的用户许可证,以使用户能够从IES所提供的所有软件模块中自由组合,满足其不同的工作需求。该系统包括1D软件包(用于真实井或虚拟井),2D软件包(用于骨干剖面地质模型)和3D软件包(用于单层、多层或全三维地质模型):

MAGMAIRON帮助文件(翻译)

目录 1 Introduction 2 Theory 2.1 热物理数据 2.2 合金成分 2.3 灰铸铁仿真 2.3.1共晶核 2.3.2石墨形态-层状石墨 2.3.3灰铁和白口铁的凝固 2.3.4固态转变 2.3.5硬度和材料特性 2.3.6弹性模量-杨氏模量 2.4球墨铸铁仿真 2.4.1石墨形核 2.4.2球墨铸铁固态转变(共析转变) 2.4.3球墨铸铁的珠光体分解 2.4.4机械性能 2.4.5弹性模量-杨氏模量 2.5蠕墨铸铁仿真 2.6铸铁收缩和疏松的形成 2.6.1凝固收缩 2.6.2砂型/芯子的变形 2.6.3疏松形成和压力特性 2.6.4石墨聚集因子 2.6.5疏松级别模拟的说明 3 How to Use MAGMAiron 3.1概述 3.2MAGMA数据库 3.2.1铸铁数据集 3.2.2一般参数 3.2.3铸铁成分 3.2.4铸铁类型/石墨种类 3.2.5型砂成分 3.2.6金相照片数据/单位面积形核数/铁素体、珠光体分布形核数3.3仿真 3.3.1概述 3.3.2窗口——铸铁 3.3.3铸铁模拟菜单 3.4结果演示/后处理 3.4.1结果-概述 3.4.2金相照片等——球墨铸铁的微观结构 3.4.3单位系统

4小结- 怎么办4.1铸铁的具体数据4.2项目定义 4.3几何建模 4.4仿真设置 4.5结果显示 4.6其他信息

1 Introduction介绍 MAGMAiron是微观建模软件,可以模拟凝固、固相转变及在铸铁中凝固中相关的物理现象。MAGMAiron是一个附加的模块,可以模拟灰铸铁、球墨铸铁和蠕墨铸铁的凝固过程和固态相变过程。冶金质量、工艺条件对铸铁合金的性能有很大的影响。微观组织和铸件的力学性能不仅取决于铸造的流动过程,而且还由以下下参数决定:1)合金成分、2)金属处理、3)微量元素和杂质、4)熔炼炉、钢包金属液的处理(除氧、镁处理)5)孕育材料的类型和数量6)孕育法 析出相的晶粒长大动力学和冷却条件决定了实际的微观组织的形成,因此必须考虑凝固、疏松和固态相变过程,它们共同影响铸铁的机械性能。 MAGMAiron使用全面的物理模型来预测铸件质量。MAGMAiron是一个功能强大的工具,专门用于铸造设计、模型布置和工艺优化。模型从文献资料和实用材料数据中提取。然而,在铸铁铸造过程中,冶金、微观结构和机械性能是复杂的问题,常常是靠经验。

tinyos任务调度机制

TOSH_sched_init();for(;;){TOSH_run_task();} 这两个函数的实现在tinyos-1.x\tos\system目录下的sched.c源文件中。这个文件就实现了tinyos 1.x的调度策略,很简单吧?闲话少说,下面分析它的数据结构。 typedef struct { void (*tp) (); } TOSH_sched_entry_T; 这个结构体就是tinyos任务队列里的东东,里面是个函数指针。 enum { #ifdef TOSH_MAX_TASKS_LOG2 #if TOSH_MAX_TASKS_LOG2 > 8 #error "Maximum of 256 tasks, TOSH_MAX_TASKS_LOG2 must be <= 8" #endif TOSH_MAX_TASKS = 1 << TOSH_MAX_TASKS_LOG2, #else TOSH_MAX_TASKS = 8, #endif TOSH_TASK_BITMASK = (TOSH_MAX_TASKS - 1) }; 上面定义了tinyos任务队列里的最大任务数TOSH_MAX_TASKS,和一个掩码。 //定义tinyos任务队列,这个队列是个循环队列! volatile TOSH_sched_entry_T TOSH_queue[TOSH_MAX_TASKS]; //“头指针”tinyos任务队列里的第一个不为空的任务的下标 uint8_t TOSH_sched_full; //“尾指针”如果tinyos任务队列没有满,则是最后一个不为空的任务 //的下一个元素的下标;如果任务队列满则是最后一个任务的下标。 volatile uint8_t TOSH_sched_free; 好了,数据结构分析完了,咱们看看tinyos是怎样实现这个队列的吧,实现一个队列,无非就是初始化,增加队列元素,删除队列元素,判断队列是否为空……,数据结构里最基本的东东,想必大家比我清楚了!(如果这个不清楚,赶紧回去看看数据结构 ^_^ )。 一初始化 s 初始化函数很简单,大家肯定都会写了。 void TOSH_sched_init(void) { int i; TOSH_sched_free = 0; TOSH_sched_full = 0; for (i = 0; i < TOSH_MAX_TASKS; i++) TOSH_queue[i].tp = NULL;

暖通专业常用名词缩写及解释

FCU 风机盘管 fan coil unit AHU 空气处理单元 air handling unit FAU 新风处理单元 fresh air unit HVAC 供热通风与空气调节 heating ventilating and air conditioning AHU ——空气处理机 CH. ——制冷机 C.D. ——冷凝水管 C.T. ——冷却塔 CAV ——新风量控制箱 EAF ——排风机 EAD ——排风管 EAG ——排风口 EAL ——排风百叶 FAG ——新风口 FAL ——新风百叶 FAF ——补风机 F.A. ——新风 FAD ——新风管 F.D. ——防火阀 HC ——加热盘管 FC ——风机盘管 HX ——热交换器 N.R.D.----风管止回阀 P.A.-------经过处理的新风 PDA-------新风管(经过处理的新风) PAU-------新风机(带处理功能) PAL-------新风百叶 R.A.-------回风 RAD-------回风管 RAG-------回风口 DCC Dry cooling coil 干盘管(干式盘管) FFU Fan filter unit 风机过滤单元 MAU Make up air hundling unit schedule 新风空调箱 AHU Air hundling unit 空气处理单元 HEPA High efficiency pariculate air 高效空气过滤器 RAC Recirculation air cabinet unit schedule 循环组合空调单元

C/R Clean room 洁净室无尘室 ULPA Ultra low penetration air filter 超高空气效过滤器AS Air shower 风淋室 PB Pass box 传递箱 CB Clean bench 净化工作台 RD Relief damper 泄压风门 单向流洁净室 Unidirectional air flow clean rooms 外围护结构负荷 skin-load 异程式系统 direct return system 水力计算 hydraulic calculation 修正系数 correction factor 区域供冷 district cooling 地源热泵 ground source heat pump 计径计数法 particle sizing and counting method 运行能耗 operation energy consumption 新风供给 fresh air supply 气流组织 air distribution 蒸汽冷凝水回收 Reclamation of condensate water 置换通风 displacement ventilation 洁净度 clean class 双速电机 two-speed motor 空调负荷 air conditioning load 消声 noise reduction 减振 vibration isolation 座椅送风 seat air supply 水平串联式 horizontal series type 燃油锅炉 oil-burning boiler 蒸汽供热管道 steam heating pipe 生活热水系统 hot water supply system 自然排烟 natural smoke exhausting

TinyOS学习笔记讲解

第一篇基础知识 TinyOS体系结构

(1) 组件模型module & configuration TinyOS 是基于构件的微操作系统,采用事件驱动模型,有效的提高了系统的运行效率以及能源合理利用。TinyOS 采用nesC 语言编写,其应用程序由一个或多个组件连接而成,而组件可以提供和使用接口,组件必须实现其所提供的command 接口,并且必须实现其连接组件中申明的事件event 接口。接口是程序的实体,实现程序的各功能模块,分为command 和event ,command 接口由组件本身实现,而event 接口则由调用者实现,值得注意的是,接口是双向的,调用command 接口时必须实现其event 接口。 组件又可以细分为模块module 和配件。模块亦可分为2个部分,其一,首先申明提供以及使用的接口,如 module BlinkC { } 其二,在implementation 中模块包含各接口所提供的行为(方法),也包含仅供本模块内部使用的函数,以及申明本模块所具有的事件signal ,以及实现其连接或使用的event 。 implementation { uint8_t counter = 0; void ledctl() { call Leds.set(counter); } event void Boot.booted() { } event void Timer0.fired() { ledctl(); } } 配件configuration 也可以分为两个部分,和module 一样,第一部分是申明可以提供以及使用的接口。第二部分implementation 中首先列出与其相连接模块的名称,使用components 标注连接的模块,然后对本配件提供的以及与其相对应模块使用以及提供的接口进行配线,如下例: {

剂型中英文对照

1. Adj:药用辅料(Pharmaceutic Adjuvant) 稀释剂(Diluent Agent) 黏合剂(Binder) 崩解剂(Disintegrating Agent) 润滑剂(Lubricant) 基质(Base) 芳香剂(Flavoring Agent) 甜味剂(Sweetening Agent) 着色剂(Coloring Agent) 防腐剂(Preservative or Antiseptics) 抗氧化剂(Antioxidant) 包衣剂(Coating Materials) 成膜材料(Film-Forming Materials) 溶剂(Solvent) 增溶剂(Solubilizer) 润湿剂(Wetting Agent or Moistening Agent) 吸附剂(Absorbent) 助滤剂(Filtering Aid) 乳化剂(Emulsifying Agent) 表面活性剂(Surfactant) 助悬剂(Suspending Agent) 增稠剂(Viscosity Increasing Agent) 增塑剂(Plasticizer) 螯合剂(Chelating Agent) 透皮促进剂(Transdermal Enhancer) 气雾抛射剂(Aerosol Propellant) 起泡剂(Foaming Agent) 酸碱调节剂(Acidifying or Alkalizing Agent) 缓冲剂(Buffering Agent) 2. Aer:气雾剂(Aerosol) 吸入气雾剂(Inhalation Aerosol) 吸入粉雾剂(Powder for Inhalation) 非吸入气雾剂(Non-Inhalation Aerosol) 非吸入粉雾剂(Non-Inhalation Aerosol Powder) 外用气雾剂(Topical Aerosol, Skin Aerosol) 喷雾剂(Spray) 药用泡沫剂(Medicated Foam, Cutaneous Foam) 鼻腔用喷雾剂(Nasal Spray) 3. Cap:胶囊剂(Capsules) 硬胶囊剂(Hard Capsules) 软胶囊剂(Soft Capsules) 肠溶胶囊剂(Enteric-coated Capsules, Enteric-Microencapsulated Capsules, Gastro-resistant Capsules, Delayed-release Capsules) 缓释胶囊剂(Sustained-release Capsules, Extended-release Capsules)

CC2530与无线传感器网络操作系统TinyOS应用实践

CC2530与无线传感器网络操作系统TinyOS应用实践(内附光盘1张) 李外云编著的《CC2530与无线传感器网络操作系统TinyOS应用实践(附光盘)》第1章简要地介绍了物联网特点、体系结构以及802.15.4网络通信协议标准。第2、3章分别介绍了TinyOS的安装方法和基于windows操作系统的TinyOS集成开发环境的配置、交叉编译开发工具的使用方法。第4章介绍了本书所有应用程序开发的硬件平台的组成、软件编程和调试方法。第5章简要地介绍了TinyOS操作系统架构、基于TinyOS操作系统平台的搭建以及CC22530移植的过程和方法。第6、7章详细地介绍了CC2530芯片的内部资源和外设接口等硬件功能模块,以及各功能模块在TinyOS操作系统下的驱动组件的编程方法和应用测试程序。第8、9章详细地剖析了CC22530的无线通信功能、基于TinyOS的主动无线通信消息机制组件的构建,并对CC2530无线通信的发送功率、信道选择、RSSI以及点对点和点对多点无线通信组件的测试过程进行了介绍。第10章以光敏传感器、DS18820温度传感器、SHTxx 温湿度传感器和超声波传感器为例,详细地介绍了在基于TinyOS操作系统的物联网系统中不同类型传感器的驱动编程方法以及测试过程。第11章介绍了TinyOS操作系统的小数据分发协议和汇聚协议的基本原理、组件构成以及多跳路由协议的应用开发。 作者:李外云编著出版社:北京航空航天大学出版社 2章TinyOS开发环境的安装与配置 第3章TinyOS在Windows环境下的集成开发工具 第4章enmote物联网开发平台介绍 第5章TinyOS操作系统与nesC语言编程 第6章CC2530基本接口组件设计与应用 第7章CC2530外设组件接口开发 第8章CC2530射频通信组件设计 第9章CC2530射频通信组件应用 第10章TinyOS传感器节点驱动与应用 第11章TinyOS-2.x网络协议与应用 TinyOS实用编程——面向无线传感网节点软件开发 者:李鸥,张效义,王晓梅,等著出版社:机械工业出版社出版时间:2013年7月 介绍了利用TinyOS开发无线传感器网络应用系统应具备的基础知识,包括TinyOS系统的特点、体系结构、安装与常用命令、简单实例等;详细介绍了TinyOS的编程语言nesC(包括组件、接口、模块、配件与连接、参数化接口、通用组件等),TinyOS系统并发执行模型,驱动程序与硬件抽象,系统主要功能模块,TinyOS典型应用;剖析了应用程序运行过程,对应用程序的仿真、调试和编程提示进行了描述;最后结合应用实例进行系统分析以提高读者对于TinyOS的系统认识。 1.2 无线传感网节点软件技术 1.3 TinyOS 1.3.1 TinyOS的特点 1.3.2 TinyOS体系结构 第2章 TinyOS安装与常用命令 2.1 TinyOS安装 2.1.1 在Windows下安装TinyOS 2.1.2 在Linux下安装TinyOS 2.2 目录结构 2.2.1 Cygwin的目录结构

空调方面的缩写

AHU ——空气处理机 CH. ——制冷机 C.D. ——冷凝水管 C.T. ——冷却塔 CAV ——新风量控制箱 EAF ——排风机 EAD ——排风管 EAG ——排风口 EAL ——排风百叶 FAG ——新风口 FAL ——新风百叶 FAF ——补风机 F.A. ——新风 FAD ——新风管 F.D. ——防火阀 HC ——加热盘管 FC ——风机盘管 HX ——热交换器 L/L---------低位 M/L--------中位 MAD-------补风管 MAF-------补风机 N.C.-------常闭 N.O.-------常开 N.R.D.----风管止回阀 P.A.-------经过处理的新风 PDA-------新风管(经过处理的新风) PAU-------新风机(带处理功能) PAL-------新风百叶 R.A.-------回风 RAD-------回风管 RAG-------回风口 AEROFLEX “亚罗弗”保温 ALCO “艾科”自控 Alerton 雅利顿 Alfa laval阿法拉伐 ARMSTRONG “阿姆斯壮”保温 AUX 奥克斯 BELIMO 瑞士“搏力谋” BERONOR西班牙“北诺尔”电加热器BILTUR 意大利“百得” BOSIC “柏诚”自控 BROAD 远大 Burnham美国“博恩汉”锅炉 CALPEDA意大利“科沛达”水泵 CARLY 法国“嘉利”制冷配件 Carrier 开利 Chigo 志高 Cipriani 意大利斯普莱力

CLIMAVENETA意大利“克莱门特”Copeland“谷轮”压缩机 CYRUS意大利”赛诺思”自控DAIKIN 大金 Danfoss丹佛斯 Dorin “多菱”压缩机 DUNHAM-BUSH 顿汉布什 DuPont美国“杜邦”制冷剂 Dwyer 美国德威尔 EBM “依必安”风机 ELIWELL意大利“伊力威”自控EVAPCO美国“益美高”冷却设备EVERY CONTROL意大利“美控”Erie 怡日 FRASCOLD 意大利“富士豪”压缩机FRICO瑞典“弗瑞克”空气幕 FUJI “富士”变频器 FULTON 美国“富尔顿”锅炉GENUIN “正野”风机 GREE 格力 GREENCOOL格林柯尔GRUNDFOS “格兰富”水泵 Haier 海尔 Hisense 海信 HITACHI 日立 Honeywell 霍尼韦尔 Johnson 江森 Kelon 科龙 KRUGER瑞士“科禄格”风机 KU BA德国“库宝”冷风机 Liang Chi 良机 LIEBERT 力博特 MARLEY “马利”冷却塔 Maneurop法国“美优乐”压缩机McQuary 麦克维尔 Midea 美的 MITSUBISHI三菱 Munters 瑞典“蒙特”除湿机Oventrop德国“欧文托普”阀门Panasonic 松下 RANCO “宏高”自控 REFCOMP意大利“莱富康”压缩机RIDGID 美国“里奇”工具 RUUD美国“路德”空调 RYODEN “菱电”冷却塔 SanKen “三垦”变频器 Samsung 三星 SANYO 三洋 SASWELL英国森威尔

一步步教你搭建TinyOS2.1.2开发环境

note:看了很多的tinyos的安装教程,差别不是很大,无非就是安装编译器配置环境等。虽然简单,但 还是有很多问题在里面。建议大家使用虚拟机安装,因为虚拟机运行在主机上,完全独立,虚拟机里面的所有操作不会影响主机,即使虚拟崩溃了。windows相对对ubuntu来说,windows的硬件驱动由于是商业化的所以做的比较完善,各种优化策略也比较好。虚拟机推荐大家使用VirtualBOX VirtualBOX 短小精悍,功能比较强大,安装文件比较小,只有几十MB,系统资源占用比较少。当然你也可以使用vmware。 安装虚拟机和ubuntu相信大家已经很熟悉了,如果还没有安装请看这个教程: 好,下面我们正式开始搭建tinyos的开发环境! 文章来源:https://www.sodocs.net/doc/5d16322398.html,/tianzhihen_wq/article/details/37505697 步骤1: 如果你以前没有安装过tinyos可以跳过这个步骤,如果你以前安装的是老的版本的tinyos(像2.1.1版本)那么你必须卸载掉有关tinyos的文件以及GCC-430的编译器以及工具等。卸载流程如下:打开终端 (ctrl+alt+t)输入以下命令:卸载tinyos老的版本: sudo apt-get remove tinyos-2.1.1 卸载gcc-msp430编译器: sudo apt-get autoremove --purge msp430* 通过这两步就把你以前老版本的tinyos卸载掉了 步骤2: 在ubuntu的package list file添加源。这个命令使用的是gedit编辑器,当然你也可以使用vim等 sudo gedit /etc/apt/sources.list 下面把以下代码添加到sources.list里面,保存,退出 1.# TinyOS Repository 2.deb https://www.sodocs.net/doc/5d16322398.html,/tinyos/dists/ubuntu lucid main 参考以下网址,并将其中内容替换源文件: https://www.sodocs.net/doc/5d16322398.html,/article/1876c852aa8c8c890b1376aa.html?qq-pf-to=pcqq.discussion#user consent# 现在执行以下命令更新安装新版本的tinyos(确保网络连接正常ping) sudo apt-get update sudo apt-get install tinyos-2.1.2 现在tinyos的基础工作已经做好,接下来就是完成配置以及安装相应的编译器即可。 步骤3: 改变tinyos文件夹的所有权,才能完成后面的配置:

相关主题