当前位置:文档之家› Checking SCADE Models for Correct Usage of Physical Units

Checking SCADE Models for Correct Usage of Physical Units

Checking SCADE Models for Correct Usage of Physical Units
Checking SCADE Models for Correct Usage of Physical Units

Checking SCADE Models for Correct Usage of Physical

Units

Rupert Schlick1, Wolfgang Herzner1, Thierry Le Sergent2

1 ARC Seibersdorf research, division Information Technology

{rupert.schlick, wolfgang.herzner}@arcs.ac.at

2 Esterel Technologies

thierry.lesergent@https://www.doczj.com/doc/7e13744647.html,

Abstract. Mismatches of units and of scales of values in physical calculations

are disastrous, but rather common, in the development of embedded control

systems. They can be as plain as mixing feet and metres, or as hidden as a

wrong exponent in a complex calculation formula. These errors can be found by

a checking algorithm, following some simple rules, if information on the units

of the used variables is provided. This paper describes a developer friendly ap-

proach of providing this checking functionality in SCADE, a model-based

graphical development tool for safety-critical embedded applications.1

Key words: physical units, safety, verification, error detection, dependable em-

bedded systems, model based software development, SCADE, DECOS

1Introduction

Control systems usually have to deal with physical quantities like time, tempera-ture, length, speed or electrical current. Simply using numeric standard data types like real or float paves the way for typical programming errors like mixing scales (e.g. adding seconds and milliseconds), using wrong operators (v : m*s), swapping oper-ands (v : s/m) etc. The most well known/notorious example is the loss of the mars climate orbiter in 1999 [11], lost due to a unit conversion mistake not found during testing. But earth bound safety critical applications are prone to this family of errors as well.

While several methods and tools are available for various programming languages to cope with such problems (see section 5), for data-flow oriented modelling lan-guages like Simulink [17] or SCADE [13], which are increasingly used in the domain of embedded systems, this is less the case. In particular, SCADE is especially appro-priate for development of safety-critical applications, due to its strict temporal execu-tion model, various included testing and verification tools like a model checker and a qualified C-code generator. Since in DECOS, which aims at development support of

1 This work is partially funded by DECOS (Dependable Embedded COmponents and Systems), an integrated project funded by the EU within priority “Information Society Technologies (IST)” in the sixth EU framework programme (contract no. FP6-511 764).

distributed embedded real-time systems of up to highest criticality, SCADE is an important part of the DECOS tool chain, it was decided to develop a SCADE exten-sion which allows a developer to check its model for dimensional or physical unit errors. Since this is done at modelling time and prior to code generation, it does not affect runtime performance.

Therefore, this paper is structured as follows. The next section presents the con-cepts of a general approach, based on SI, the international system of physical units, and a special notation. Section 3 introduces SCADE shortly, and describes how this approach is implemented for SCADE, while section 4 gives some application exam-ples. The last two sections address related work and draw a conclusion, respectively. 2General Approach

This section first gives a short terminology introduction and then describes the princi-pal rules applied in automatic unit checking at development-time.

2.1The SI Unit System and Unit Representation

Physical quantities have a dimension; each dimension can be measured in multiple units. A unit system defines units for a set of mutually independent dimensions. These are the base units, all other units can be derived from them (giving derived units) by (multiple) multiplication and division of the base units.

The SI unit system [14] is the standardized unit system most widely used in engi-neering today. SI base units are kilograms (kg), meters (m), seconds (s), ampere (A), Kelvin (K), mole (mol) and candela (cd). The remainder of this document is based on the SI unit system unless noted otherwise.

Taking the SI units into consideration, it is fairly natural to represent a physical unit as a 7-dimensional vector, where each element denotes the exponent of the re-spective base unit in the given order. So, kg is denoted by [1,0,0,0,0,0,0], and s by [0,0,1,0,0,0,0]. Consequently, derived units are represented by vectors with more than one element different from 0; for instance:

(1) In the rest of the paper, this notation will be simply referred as unit representation, synonymously with unit.

2.2Rules for Operating on Physical Units

In scientific work and engineering, dimensional analysis and the unit-factor method are commonly used to ensure the correctness of equations and calculations.

The following rules are basically the rules for dimensional analysis, adapted for use in computer programs and extended with some issues useful in control systems.

Basic Rules For the four basic arithmetical operations, the following rules apply:?Addition and subtraction is allowed only for values with identical vectors. ?Multiplication gives a new unit. Base unit exponents are calculated by adding the respective base unit exponents from the multiplicands.

?Division gives a new unit. Base unit exponents are calculated by subtracting the divisors base unit exponents from the dividends exponents.

Power is derived from multiplication – base unit exponents are multiplied by the power exponent.

Root, as inverse function to power, results in the unit exponents divided by the root base. If the exponents are not divisible without remainder, the operation is not al-lowed. (In theory rational exponents are possible in intermediate results, but for the sake of brevity such details are not addressed here.)

More Rules Functions like logarithm, exponentiation, or the trigonometric functions operate only on dimensionless numbers.2 Operators typically used in programming environments should also be supported. They can be grouped as follows: ?Decision operators: all possible outputs of if and case must have the same unit. ?Comparison operators: only quantities with identical units can be compared. ?Composite data types: arithmetical operations only operate on basic data types, units of the basic data type are preserved through composition and decomposition. ?Temporal operators (SCADE specific): simply preserve the unit of their inputs. For vector and matrix operations, similar rules to the ones for the base calculation methods apply. An important aspect is that a scalar and a vector with the same dimen-sion definitely do not have the same dimension as a whole (see also next clause).

Exotic Rules There are issues with units being (formally) the same for different dimensions as well as the general topic of dimensionless units and numbers.

Ambiguous Units Due to the use of a scalar form for the notation of units, situations can occur where the same unit name applies for two or more physical quantities. One example for this situation is Newton metres. It can measure both work and torque (See formulas 2 and 3). In correct dimensional analysis, work is the scalar product of two vector quantities - force and the distance over which it moves, resulting in a sca-lar value; torque is the vector product of the same quantities force and the length of the lever.

The usual representation of units looses this information whether a quantity is a vector or not, therefore the dimensional analysis based on this unit check is some-times incomplete.

2 These functions can be expressed as power series, where ascending powers of the argument are summed up. Adding values with different dimension exponents would break the basic rules and therefore the argument must be dimensionless.

(2

) (3)

Despite the fact that torque is formally a vector, it is often feasible and efficient to treat it as a scalar during calculation, e.g. because all relevant axes are parallel any-way.

Since energy and torque are units that are rather frequent in embedded and espe-cially automotive applications, it seems desirable to have a means to distinguish be-tween the two cases even when no vectors are used for calculations.

A workaround to achieve this is to introduce an additional unit “radial meter” m r used when a radius is used in conjunction with tangential forces and other physical values. With it, the two units now become Nm r = m r m kg/s 2, and J = m 2 kg/s 2. m r can be modelled as an additional unit in the vector and should be used consis-tently for all related units like angular velocity. If a lever length is used in a calcula-tion, it must have m r as unit. All calculation rules apply to this new unit as well as for the original seven SI units. When torque is treated as a three dimensional vector, this is not necessary, although there may be other but similar issues.

In general, dimensional analysis can be complemented by orientational analysis, checking a formula for errors in spatial orientation [15, 16]. Support for spatial di-mensions and orientational analysis would address the loss of information mentioned above and possibly will be added later on, but is out of the scope of this paper Dimensionless Units

There are two dimensionless derived SI units:

(4)

In many cases, it is desirable for readability to preserve these “units”. A simple solu-tion is to make use of the “radial meter” introduced above: rad = m/m r , and sr = m 2/mr 2.

This avoids cancelling down the unit in the fraction and still gives sensible results. For example, multiplying torque with the rotational angle it is applied for yields the accomplished work.

Dimensionless Numbers There are a lot of dimensionless physical values in various application areas, especially in fluid dynamics. Sometimes it is helpful to keep the information about the quantity being measured by putting the same units in both the numerator and denominator as for radians above .

Generalized support for this would go beyond the scope of the drafted checking method, particularly because the technique of non-dimensionalization is especially

used in number crunching and fluid dynamics, but little in the physics used in embed-ded control.

A group of special cases of dimensionless numbers are logarithmically scaled ra-tios like dB. Some of them, like decibel microvolts (dBμV), are used in technical applications. In fact, they are dimensionless and if the represented quantity is needed for calculations, the value needs to be “delogarithmized” and multiplied with the base value (e.g. 1 μV for dBμV). Then the resulting value is a dimensioned value that can be checked for consistent units use as described above.

2.3Scaling

Along with the SI units, a set of SI prefixes is defined. They are representing factors in steps of 1000 ranging from 10-24 – 1024 as well as the factors 10-2, 10-1, 10 and 100.

The factor 10 can be modelled as an additional “unit” to represent the SI prefix in the same way as the seven SI units with the same rules for checking consistency. Only the root function behaves different, since it is valid to draw a root even if the exponent is not divisible by the root’s base; for a unit exponent, this would be an error. The resulting scaling exponent would be a fractional instead of an integer number as shown in the example below:

(5) The 3101 part must be included in a free scaling factor (see “Odd Scaling Factors” below), part of the unit information only kept for analysis.

Normalising and other conversion can be done by multiplication with dimen-sionless constants of a “scaled value” of 1, as 1000 milli (10-3) or 1/1000 kilo (103). Odd Scaling Factors

Distances, Weights, Areas and Volumes Especially for distances, weights, areas and volumes exists a multitude of units outside of the SI system (usually old, pre-SI units) some of which are (still) widely used in some regions (e.g. US customary units) or working areas (oil barrels, gold ounces, …). All of these have in common that they are a simple factor larger or smaller than the corresponding SI units. For scaling fac-tors, the basic calculation rules are adapted.

Angles Angles differ from other units due to their periodicity. But since sensors may deliver angles like for torsion or rotational position in any range, it appears reasonable to allow signed values outside the circle range without any special consideration.

2.4Absolute and Relative Values and Zero Point Translation

Most of the physical values covered above are always “relative” values. Nonetheless, at least one commonly used physical value is either relative or absolute: temperature.

A data type can be marked as “absolute”. This means certain rules for calculations apply and they can have a zero point offset. At the moment, this is only aimed at temperatures but may be found useful for other units as well. In short, absolute (x a ) and relative (x r ) types of the same dimension can be combined as follows:

? a r a x x ±x →: offset value stays the same

? r a a x x x →?: offset value must be identical, result is relative and has no offset Other addition/subtraction expressions over absolute values are invalid.

2.5 Extended Unit Representation

According to the previous, the 7-dimensional unit representation introduced in 2.1 should be extended for

?

distinction between m and m r , ?

representing the scaling exponent relative to the dimension’s unit scale, ?

representing an “odd” scaling factor for non SI-units or “rooting” results, ?

marking of “absolute” values ? offset for absolute values .

3 Solution/Application in SCADE

After a short introduction to SCADE, this section describes how the concepts and rules discussed before are implemented in SCADE.

3.1 About SCADE

SCADE (the Safety Critical Application Development Environment) is both a nota-tion and a toolset that was specifically developed to describe and implement safety critical systems for application domains such as aeronautics or automobile. The SCADE notation includes both block diagrams 3 and safe state machines, giving a rigorous description of the complete behaviour of the software [8]. It has been for-mally defined and it has the following characteristics that are key in the targeted ap-plication domain, i.e. the development of safety critical systems:

?

Strong typing ? Explicit initialization of data flows ?

Explicit management of time (delays, clocks, etc) ?

Simple expression of concurrency (data dependencies) ? Deterministic execution

3 Examples of block diagrams are shown in Figures 3 and 5.

In SCADE, a node (which we can also call a “block”) performs logically atomic com-putations, providing deterministic output values corresponding to a given set of input values, according to the previous memorized state. Nodes can use other nodes as shown in figure 5, the root node taking its inputs from the environment. Feedback loops are handled in a simple way thanks to the time operators (delay). Recursion is forbidden.

The computation is often triggered by a periodic clock (although it need not be), after inputs are sampled from the environment and hold.

The SCADE toolset supports a model-driven paradigm in which the SCADE model is the software specification. Verification activities are supported by a combi-nation of three different tools [2, 5]:

?The SCADE Suite Simulator supports interactive or batch simulation of a SCADE model, for both data flows and safe state machines.

?The SCADE Suite Model Test Coverage (MTC) tool is used to measure the cover-age of the SCADE model with respect to a given requirements-based test suite. ?The SCADE Suite Design Verifier (DV) supports corner bug detection and formal verification of safety requirements.

The SCADE toolset also provides an API to access all the details of a model from tcl scripts. This allows in a simple way development of utilities to check for example that a model conforms to some user specific methodological rules.

The C code generator is certified with respect to DO-178B level A (avionics) [6] and IEC 61508 up to Safety Integrity Level (SIL) 4 (other industrial domains, such as automotive or railways), thus providing a guarantee that the generated code is correct with respect to the model.

3.2Implementation

The Units-Check package for SCADE consists of:

1.The units-check function itself, fully integrated into the SCADE user interface

2.A SCADE library containing

?predefined units (SI and non-SI)

?conversion factor constants

?unit related operators

This package is implemented using the following concepts:

?the unit representation (as extended in 2.5) is stored in custom annotations to the data type

?values (inputs and outputs as well as constants and internal variables) are marked with their units by use of “unit annotated” data types.

?operator effects are controlled by applying the rules described in section 2.

Units-check support for developers covers the following activities:

?Marking variables with units

?Unit conversion

?Checking a model for consistent use of units

?Extending the units library

?Extending the units system

?Integrating user-implemented operators (native SCADE and imported C func-tions)

Marking Variables with Units The units-library contains a continuously expanded set of predefined aliases for the real data type. Wherever a variable is a physical quantity, the corresponding unit data type is to be used instead of real.

Fig. 1. Dialog window for selecting a predefined unit data type for a variable.

To profit from the checking script, only inputs and outputs of the root node and all used constants need to be unit-typed. However, it is good style to do the same for the inputs and outputs of all subnodes if they represent certain physical quantities.

Through the use of individual data types, unit information is documented directly in the model and improves the maintainability of the model. No changes to the pro-gram function are introduced due to SCADE’s notion of the units as “compatible” data types to real.

Unit Conversion Scaling and unit conversion is done manually by multiplication with or division by the scaling constants contained in the unit library. (See second example).

Some solutions for unit support in other languages implicitly convert units when necessary. This is not easily implemented in SCADE and would break the require-ment of minimum disturbance by massively changing the executed code.

Checking a Model for Consistent Use of units The checking function is integrated into the SCADE development environment as an analysis report for either a single node or all nodes of the project. This is quite similar to the SCADE quickcheck function for checking model consistency; therefore, SCADE application developers are familiar with the concept. The checking function is a tcl script using SCADE’s extension mechanism.

The checking function walks through the entire model and for each operator de-rives the unit of the output(s) from the unit of the input(s). Conflicts for the operator inputs and conflicts between the developer defined and the derived units of the nodes outputs are reported as errors.

Extending the Units Library Units not contained in the library can be easily added in the development model or an own library by the user.

Unit data types are defined as aliases for real with an added unit annotation. A dia-log for unit annotations is shown in the left hand side of figure 2.

Fig. 2. View of an example units library and the unit annotation for milliseconds. Extending the Units System The checking script is implemented in a generic way. If a new basic unit is needed or the used unit system should be changed, the annotation type definition for units can be changed without touching the script itself.

Additional units (e.g. for memory size) can be introduced by adding fields with names in the form: _exponent . If wanted, but at the loss of use for the provided unit library, a unit system with completely different base units could be built by removing/renaming the existing unit exponent fields.

Integrating User-implemented Operators Each modelled SCADE node is itself an operator usable for the modelling of other higher level models.

Native SCADE operators Operators (nodes) defined in SCADE are transparently traversed by the checking script.

Imported C functions, called imported operators, cannot directly be checked like nor-mal SCADE nodes. If inputs and outputs have unit types associated, unit compatibil-ity will be checked there. For imported operators operating on generic data types or plain reals, the developer can provide a tcl script calculating the output units from the input units and raising error messages.

4Examples

For demonstration we use the node shown in figure 3, calculating an average speed in m/s, from a given number of wheel axle rotations per execution cycle (ticks). The wheel circumference, the execution cycleduration and the cyclenumber of the average time window are defined in constants.

As a test scenario, the units for circumference and cycleduration differ from the units assumed by the model (cm vs. m and ms vs. s).

Fig. 3. SCADE node “avg_speed“

The data type one represents a “dimensionless” type compatible with the other unit types. As you can see, no further unit information is given for the internal variables (the “wires”) – SCADE implicitly derived the types for _L14, _L34, _L35 and _L36 from the respective sources.

A first run of the units-check Data gives a result containing (among others):

unit determination error circle in type propagation for _L22 - please set manually

This is caused by back feeding the delayed value _L22 to its own input values. The current algorithm recognizes circles; better heuristics for resolving them with less or without user interaction are possible but not implemented yet.

After manually naming _L22 to dist and setting the type to meters, the units-check result looks as shown in table 1, containing 4 distinct error messages.

Table 1. Check result for the node “avg_speed”, after manually resolving the propagation circle eqBlock Context Message Type Message

L19 = L15 + dist input unit

mismatch

Error – units for inputs differ while they are

expected to be identical

L21 = L19 - _L17 input unit

mismatch

Error – units for inputs differ while they are

expected to be identical

dist = fby( L21, 1, 0.0) unit mismatch

error

Conflicting Units single {0 1 0 0 0 0 0

1.000000} and unknown

eq_avg_speed_2_1

speed = _L26 unit mismatch

error

Conflicting Units single {0 1 -1 0 0 0 0

1.000000} and single {0 1 -1 0 0 0 3

1.000000}

The input mismatch for the addition _L19 = _L15 + dist through the multiplication for _L15 is caused by circumference having the wrong prefix (cm instead of m). This can be corrected either by changing the unit and the value of circumference or in the model by division of circumference through the scaling constant for centi.

The next two messages are due to error propagation. If the resulting unit cannot be determined, the unit “unknown” is used for further propagation. For _L21 this means that _L17 and unknown are different (message 2). The manually set unit of dist is in conflict with the unknown unit propagated from _L21 in the third message. Solving the mismatch for _L19 takes care of all these three error messages.

Fig. 4. Example node “speed_limit” using the node from the first example showing

unit conversions and comparisons

The last error message tells that the derived unit for _L26 is not the same as expected for speed because of its data type m_per_s. In a small model like this example, this error is easily traced back to the unit for cycleduration. In larger models, it can be

helpful to explicitly set intermediate unit information as done above for _L22 to nar-row down the possible cause of a unit error.

The second example shown in figure 5 makes use of the first example as a sub-node. The calculated speed in m/s is converted to miles per hour and kilometres per hour; the converted values are compared to two speed_limit inputs.

In the model as shown, the speedlimit-inputs have data type real and therefore no unit information associated. This gives the units-check result shown in table 2, easily leading to the missing units information for the speed_limit inputs.

The used conversion factors are defined in the unit library. The factor_3_pt_6 has an own unit data type by_3_pt_6, having all fields of the unit annotation except the scaling factor set to zero. The scaling factor is set to 0.2778, the reciprocal of the constants value 3.6.

Table 2. Check result for the node “speedlimit”

eqBlock Context Message Type Message

L16 = L4 > L12 input unit

mismatch

Error – units for inputs differ while they

are expected to be identical

L17 = L13 < L6 input unit

mismatch

Error – units for inputs differ while they

are expected to be identical

speedlimit : real unit determination

warning

Units information not retrievable / not

given for input/hidden input

eq_speedlimit_1

us speedlimit : real unit determination

warning

Units information not retrievable / not

given for input/hidden input

5Related Work

Since the problem area is well known and widespread throughout application do-mains, there are various tools and libraries for units support. Some theoretical work was already done in 1978 [10] and before.

Languages and tools with available, but sometimes rudimentary, unit libraries are, among others: Ada4[9], C5, C++ [3,18], Excel [1], Fortran-906[12], Java7, Lisp[4], MatLab8, and Visual Basic9. The main feature sets found are: explicit conversion, implicit conversion, documentation, runtime-check, compile-time (or other develop-ment-time) check and unit inference.

With the exception of C++ and Ada, the mentioned libraries support only runtime-evaluation (of a subset) of calculation correctness or are even limited to mere conver-

4 http://www.dmitry-kazakov.de/ada/units.htm

5 https://www.doczj.com/doc/7e13744647.html,/software/udunits

6 https://www.doczj.com/doc/7e13744647.html,/~gpetty/physunits.html

7 https://www.doczj.com/doc/7e13744647.html,/software/Libraries/quantity

8 https://www.doczj.com/doc/7e13744647.html,/matlabcentral/fileexchange/loadFile.do?objectId=10070,

https://www.doczj.com/doc/7e13744647.html,/matlabcentral/fileexchange/loadFile.do?objectId=6850

9 https://www.doczj.com/doc/7e13744647.html,/ESTools/Units.HTML

sion helpers. In dependable embedded systems, though, unit information is usually not dynamic and therefore unit correctness can and should be treated at development time. This avoids related runtime overhead as well as the resulting runtime errors.

For C++, this can be achieved by using template metaprogramming, resulting in compile time error messages for unit errors. This usage of templates is increasingly often used as an example in the teaching of C++ templates and multiple implementa-tions of various degrees of maturity are available, e.g. the SIunits library and the open source project Quantities10. [3] gives a good description of the general approach and details of implementation in the SIunits library.

Guo and McCamant [7] describe a different approach for C: In large (especially legacy) programs it is difficult to “annotate” each and every variable and constant with the correct unit information. To help with this problem, they propose an analysis tool that infers a set of unit types based on the usage of variables and constants in the program. This allows some consistency checks without further programmer interven-tion and can help a programmer annotating variables and constants. For a pre-existing open source utility with more than 50000 lines of code, they could reduce the 11000 program variables to 163 basic units requiring unit annotation.

6Conclusion

An approach for checking SCADE models for correct usage of physical dimensions has been presented which provides the following benefits:

Development-time error recognition – and, as a result, keeping unit error discovery independent from test data and test methodology, and avoiding runtime overhead. Ease of Use – by providing libraries of predefined units, a convenient way to use them and complete integration of the toolset into the development platform. Minimum disturbance – other SCADE features, including code generation and model checking, remain unaffected.

Retro-applicability – can be applied to existing models by only setting input, output and constant units in the model itself or a wrapper node or by simply using the model as a subnode in a unit marked model.

Extensibility and generic implementation – by allowing definition of new units and even extensions/changes to the unit system used (e.g. by adding “memory units”). Of course, it should be noted that several limitations have to be considered. There is the possibility to have ambiguity on scaling factors and exponents (100*103 vs. 1 * 105) and problems with computational accuracy when scaling factors are used inten-sively.

Therefore, future work will address these topics, as well as trying to further im-prove the usability e.g. by automatically resolving unit propagation circles and show-ing derived units in the block diagram. Also, future extensions of SCADE like for 10 http://www.echem.uni-tuebingen.de/~bs/AKhomepage/Quantities/quantities.html

matrix handling will be considered, possibly together with a major extension of the functionality to support orientational analysis.

Finally, it will be investigated whether the taken approach can be migrated to other platforms like e.g. Simulink.

As concluding remark, it can be stated that tools like that described in this paper are helpful for avoiding software development errors and thus important means for the verification of software.

Acknowledgements The Authors would like to thank Esterel Technologies expert Jean-Louis Cola?o for proof reading this paper.

7References

1. Antoniu, T., Steckler, P., Krishnamurthi, S,.et al.: Validating the unit correctness of spread-

sheet programs. In ICSE’04, Proceedings of the 26th International Conference on Software Engineering, pages 439–448, Edinburgh, Scotland (May 26–28, 2004)

2. Bouali, A., Dion, B., Konishi, K. : Using Formal Verification in Real-Time Embedded

Software Development. Japan SAE, Yokohama, 2005

3. Brown, W.E.: Applied template meta-programming in SIunits: the library of unit-based

computation. In: Proceedings of the Second Workshop on C++ Template Programming, Tampa Bay, FL, USA (October 14, 2001)

4. Cunis, R. 1992. A package for handling units of measure in Lisp. SIGPLAN Lisp Pointers

V, 2 (Apr. 1992), 21-25.

5. Dion, B., Gartner, J.: Efficient Development of Embedded Automotive Software with IEC

61508 Objectives using SCADE Drive.

6. DO-178B: Software Considerations in Airborne Systems and Equipment Certification.,

RTCA/EUROCAE (1992)

7. Guo, P., McCamant, S.: Annotation-less Unit Type Inference for C. Final Project, 6.883:

Program Analysis, CSAIL, MIT (December 14, 2005)

8. Halbwachs, N., Caspi, P,. Raymond, P, and Pilaud, D.: The synchronous dataflow pro-

gramming language lustre. Proceedings of the IEEE, 79(9):1305–1320 (September 1991) 9. Hilfinger, P.N.: An Ada package for dimensional analysis. ACM Transactions on Program-

ming Languages and Systems (TOPLAS), v.10 n.2, p.189-203 (April 1988)

10. K arr, M. and Loveman, D. B. 1978. Incorporation of units into programming languages.

Commun. ACM 21, 5 (May. 1978), 385-391.

11.Mars Climate Orbiter Mishap Investigation Board. Phase I report (November 1999)

12. P etty, G.W. : Automated computation and consistency checking of physical dimensions and

units in scientific programs. In: Software - Practice and Experience, 31, 1067-1076 (2001)

13.SCADE Suite Technical and User Manuals, Version 5.0.1, June 2005, Esterel Technologies

14. S ystème International d'Unités, http://www.bipm.fr/en/si/

15. S iano, D.: Orientational Analysis - A Supplement to Dimensional Analysis - I. J. Franklin

Institute (320): 267. (1985)

16. S iano, D.: Orientational Analysis, Tensor Analysis and The Group Properties of the SI

Supplementary Units - II. J. Franklin Institute (320): 285. (1985)

17. U sing Simulink, Version 6, 2005, The MathWorks

18. U mrigar, Z. D: Fully static dimensional analysis with C++. SIGPLAN Not. 29, 9 (Sep.

1994), 135-139.

螺纹通止规

螺纹通止规 定是:螺纹止规进入螺纹不能超过2.5圈,一般的要实际不得超过2圈,并且用得力度不能大,我们的经验是用拇指和食指轻轻夹持螺纹规以刚好能转动螺纹规的力度为准.力大了就相当于在使用丝锥或牙板了,那样规就用不了几次了. 螺纹通止规 螺纹通止规是适用于标准规定型号的灯头作为灯用附件电光源产品时候的设计和生产、检验的工具设备。 用途 一般用于检验螺纹灯头或灯座的尺寸是否符合标准要求,分别检验螺纹灯头的通规和止规尺寸或灯座的通规或止规尺寸。 工作原理 具体检验要求及介绍详见中国人民国国家标准:GB/T1483.1-2008或 IEC60061-3:2004标准规定容。 操作方法 具体检验要求及介绍详见中国人民国国家标准:GB/T1483.1-2008或 IEC60061-3:2004标准规定容。 通止规

通止规,是量规的一种。作为度量标准,用于大批量的检验产品。 通止规是量具的一种,在实际生产批量的产品若采取用计量量具(如游标卡尺,千分表等有刻度的量具)逐个测量很费事.我们知道合格的产品是有一个度量围的.在这个围的都合格,所以人们便采取通规和止规来测量. 通止规种类 (一)对统一英制螺纹,外螺纹有三种螺纹等级:1A、2A和3A级,螺纹有三种等级:1B、2B和3B级,全部都是间隙配合。等级数字越高,配合越紧。在英制螺纹中,偏差仅规定1A和2A级,3A级的偏差为零,而且1A和2A级的等级偏差是相等的等级数目越大公差越小,如图所示:1B 2B 3B 螺纹基本中径3A 外螺纹2A 1A 1、1A和1B级,非常松的公差等级,其适用于外螺纹的允差配合。 2、2A和2B级,是英制系列机械紧固件规定最通用的螺纹公差等级。 3、3A和3B级,旋合形成最紧的配合,适用于公差紧的紧固件,用于安全性的关键设计。 4、对外螺纹来说,1A和2A级有一个配合公差,3A级没有。1A级公差比2A级公差大50,比3A级大75,对螺纹来说,2B级公差比2A公差大30。1B级比2B级大50,比3B级大75。 (二)公制螺纹,外螺纹有三种螺纹等级:4h、6h和6g,螺纹有三种螺纹等级:5H、6 H、7H。(日标螺纹精度等级分为I、II、III三级,通常状况下为II级)在公制螺纹中,H 和h的基本偏差为零。G的基本偏差为正值,e、f和g的基本偏差为负值。如图所示:公差G H 螺纹偏差基本中径外螺纹f g h e 1、H是螺纹常用的公差带位置,一般不用作表面镀层,或用极薄的磷化层。G位置基本偏差用于特殊场合,如较厚的镀层,一般很少用。 2、g常用来镀6-9um的薄镀层,如产品图纸要6h的螺栓,其镀前螺纹采用6g的公差带。 3、螺纹配合最好组合成H/g、H/h或G/h,对于螺栓、螺母等精制紧固件螺纹,标准推荐采用6H/6g的配合。 (三)螺纹标记M10×1–5g 6g M10×1–6H 顶径公差代号中径和顶径公差代号(相同)中径公差代号。 通止规是两个量具分为通规和止规.举个例子:M6-7h的螺纹通止规一头为通规(T)如果能顺利旋进被测螺纹孔则为合格,反之不合格需返工(也就是孔小了).然后用止规(Z)如果能顺利旋进被测螺纹孔2.5圈或以上则为不合格反之合格.且此时不合格的螺纹孔应报废,不能进行返工了.其中2.5圈为国家标准,若是出口件最多只能进1.5圈(国际标准).总之通规过止规不过为合格,通规止规都不过或通规止规都过则为不合格。

Tesla Model S底盘全透视..

水平对置、后置后驱、低重心、前双横臂后多连杆、全铝合金车架、5门5座,你以为笔者说的是保时捷新车型吗?那笔者再补充多几个关键词好了,后置的水平对置双电刷电动机、0油耗、藏在地板下的笔记本电池组,同时拥有这些标签的,便是Tesla第二款车型Model S。Model S是五门五座纯电动豪华轿车,布局设计及车身体积与保时捷Panamera相当,并且是目前电动车续航里程的纪录保持者(480公里)。虽然现在纯电动在我国远未至于普及,但是在香港地区却是已经有Tesla的展厅,在该展厅内更是摆放了一台没有车身和内饰,只有整个底盘部分的Model S供人直观了解Model S的技术核心。 图:Tesla Model S。

图:拆除车壳之后,Model S的骨架一目了然。

图:这套是Model S的个性化定制系统,可以让买家选择自己喜爱的车身颜色、内饰配色和轮圈款式,然后预览一下效果。可以看到Model S共分为普通版、Sign at ure版和Performance版,后面两个型号标配的是中间的21寸轮圈,而普通版则是两边的19寸款式。Signature版是限量型号,在美国已全部售罄,香港也只有少量配额。 图:笔者也尝试一下拼出自己心目中的Model S,碳纤维饰条当然是最爱啦。

图:参观了一下工作车间,不少Roadster在等着检查保养呢,据代理介绍,不同于传统的汽车,电动车的保养项目要少很多,至少不用更换机油和火花塞嘛,换言之电动车的维护成本要比燃油汽车要低。 Tesla于2010年5月进军香港市场,并于翌年2011年9月成立服务中心。由于香港政府对新能源车的高度支持,香港的电动车市场发展比起大陆地区要好得多。例如Tesla的第一款车型Roadster(详见《无声的革命者——Tesla Roadster Sport 》),在香港获得豁免资格,让车主可以节省将近100万港元的税款。在这样的优惠政策之下,Tesla Roadster尽管净车价达100万港元,但50台的配额已经基本售罄。而Model S目前在香港已经开始接受报名预定,确定车型颜色和配置之后约两个月左右可以交车。

农田水利学试题及答案

农田水利学课程考试试题及答案 姓名年级专业学号 一、名词解释(每小题2分共10分) 1.灌水率: 2.排涝模数: 3.平均排除法: 4.(排涝计算中的)设计内水位: 5.容泄区: 二.选择题(共10分) 1.灌溉设计标准是反映灌区效益达到某一水平的一个重要技术指标,一般以( )与( )表示? A、灌溉设计保证率、抗旱天数。 B、水文年型、降水量。 C、设计灌溉用水量全部获得满足的年数、抗旱天数。 D、水源来水量、灌区需水量。 2.什么叫田间渠系的灌排相邻布置?() A、灌溉渠道与排水沟道的规划布置。 B、田间各级渠道规划布置的形式。 C、田间灌排渠系并行相邻的布置形式。 D、田间灌排渠系交错的布置形式。

3.渠道的输水损失包括以下四个部分:() A、干渠、支渠、斗渠及农渠等四级渠道的水量损失。 B、渠床土质、地下水埋深、渠道的工作制度及输水时间。 C、自由渗流、顶托渗流、渠床土质、与渠道的工作制度等。 D、渠道水面蒸发损失、渠床渗漏损失、闸门漏水与渠道退水等。 4.什么叫渠道水的利用系数?() A、灌溉渠系的净流量与毛流量的比值。 B、某一级渠道的净流量与毛流量的比值。 C、田间实际灌入的有效水量与末级渠道的供水量之比。 D、实际灌入农田的有效水量和渠首引入的水量之比。 5.在渠道规划设计中,渠道最小流量有何作用?() A、用以校核对下一级渠道的水位控制条件。 B、用以校核渠道不淤条件。 C、用以确定修建节制闸的位置。 D、用以校核对下一级渠道的水位控制条件和确定修建节制闸的位置,并按最小流量验算渠道不淤条件。 6.什么叫雨水径流集蓄灌溉工程?() A、导引、收集雨水径流,并把它蓄存起来加以有效灌溉利用的工程技术措施。 B、田面、坡面、路面及屋面庭院等各类集水工程。

螺纹通止规要求螺纹通规通

螺纹通止规要求螺纹通规通,止规止。 但是如果螺纹通规止,说明什么? 螺纹止规通,又说明什么? 我也来说两句查看全部回复 最新回复 ?wpc (2008-11-07 20:11:20) 在牙型正确的前提下螺纹通止规检测螺纹中径 ?lobont (2008-11-08 11:16:32) 对外螺纹而言,螺纹通规是做到中径上偏差,所以能通过就表示产品合格,通不过就表示螺纹做大了,要再修一刀; 螺纹止规做到中径下偏差,所以只能通过2~3牙,如果也通过,就表示外螺纹做小了,产品成为废品 ?qubin8512 (2008-11-18 15:36:05) 螺纹赛规与螺纹环规主要测量螺纹的中径。 ?datafield (2008-11-29 19:12:51) 检具不是万能的,只是方便而已。具体没什么的我有在哪本书上看过,是一本螺纹手册上的。 ?ZYC007 (2009-2-09 20:31:13) 在牙型正确的前提下螺纹通止规检测螺纹中径。 对外螺纹而言,但是如果螺纹通规止,说明螺纹中径大;螺纹止规通,又说明螺纹中径小。 ?WWCCJJ (2009-3-19 09:27:19) 检测的是螺纹的中径,螺纹检测规在检定时,也是检测其中径. ?tanjiren (2009-3-20 22:23:06) 螺纹通止规只能检测螺纹的作用中径,大径和底径等均无法准确测量出来. ?月夜(2009-4-01 21:47:13) 用来测量中径 ?丽萍(2009-4-02 10:11:41)

只能检测工件螺纹的中径 yg196733456 (2009-4-03 09:15:56)原来是测中径的知道了

特斯拉电动汽车动力电池管理系统解析(苍松书屋)

特斯拉电动汽车动力电池管理系统解析 1. Tesla目前推出了两款电动汽车,Roadster和Model S,目前我收集到的Roadster 的资料较多,因此本回答重点分析的是Roadster的电池管理系统。 2. 电池管理系统(Battery Management System, BMS)的主要任务是保证电池组工作在安全区间内,提供车辆控制所需的必需信息,在出现异常时及时响应处理,并根据环境温度、电池状态及车辆需求等决定电池的充放电功率等。BMS的主要功能有电池参数监测、电池状态估计、在线故障诊断、充电控制、自动均衡、热管理等。我的主要研究方向是电池的热管理系统,因此本回答分析的是电池热管理系统 (Battery Thermal Management System, BTMS). 1. 热管理系统的重要性 电池的热相关问题是决定其使用性能、安全性、寿命及使用成本的关键因素。首先,锂离子电池的温度水平直接影响其使用中的能量与功率性能。温度较低时,电池的可用容量将迅速发生衰减,在过低温度下(如低于0°C)对电池进行充电,则可能引发瞬间的电压过充现象,造成内部析锂并进而引发短路。其次,锂离子电池的热相关问题直接影响电池的安全性。生产制造环节的缺陷或使用过程中的不当操作等可能造成电池局部过热,并进而引起连锁放热反应,最终造成冒烟、起火甚至爆炸等严重的热失控事件,威胁到车辆驾乘人员的生命安全。另外,锂离子电池的工作或存放温度影响其使用寿命。电池的适宜温度约在10~30°C之间,过高或过低的温度都将引起电池寿命的较快衰减。动力电池的大型化使得其表面积与体积之比相对减小,电池内部热量不易散出,更可能出现内部温度不均、局部温升过高等问题,从而进一步加速电池衰减,缩短电池寿命,增加用户的总拥有成本。 电池热管理系统是应对电池的热相关问题,保证动力电池使用性能、安全性和寿命的关键技术之一。热管理系统的主要功能包括:1)在电池温度较高时进行有效散热,防止产生热失控事故;2)在电池温度较低时进行预热,提升电池温度,确保低温下的充电、放电性能和安全性;3)减小电池组内的温度差异,抑制局部热区的形成,防止高温位置处电池过快衰减,降低电池组整体寿命。 2. Tesla Roadster的电池热管理系统 Tesla Motors公司的Roadster纯电动汽车采用了液冷式电池热管理系统。车载电池组由6831节18650型锂离子电池组成,其中每69节并联为一组(brick),再将9组串联为一层(sheet),最后串联堆叠11层构成。电池热管理系统的冷却液为50%水与50%乙二醇混合物。

NPT螺纹以及检测方法详解

N P T螺纹以及检测方法详 解 Prepared on 22 November 2020

一、目的:规范公司技术员,检验员,操作员对NPT螺纹的了解。 二、适用范围:适用于公司任何NPT螺纹类产品,参考资料为通用管螺 纹和国家标准GB/T12716-2011。 三、目录 1、NPT和NPTF介绍 2、螺纹技术参数参数讲解 3、NPT与NPTF加工工艺 4、NPT和NPTF的检测方法 四、内容: NPT和NPTF螺纹介绍 NPT 是 National (American) Pipe Thread 的缩写,属於美国标准的 60 度锥管 密封螺纹,用於北美地区,美国标准为13)通用管螺纹.国家标准可查阅 GB/T12716-2011。NPTF:美制干密封圆锥管螺。NPTF = National Pipe Thread Fine 称之为一般用途的锥管螺纹,这也是我们以前称之为的布氏锥螺纹。NPTF 螺纹称之为干密封式锥管螺纹,它连接密封的原理是在没有润滑剂或密封填 料情况下完全依靠螺纹自身形成密封,设计意图是使内、外螺纹牙的侧面、 牙顶和牙底同时接触,来达到密封的目的。它们两者的牙型角、斜度等指标 都是相同的,关键是牙顶和牙底的削平高度不一样,所以,量规的设计也是 不一样的。NPTF干密封管螺纹的牙形精度比NPT螺纹高,旋合时不用任何 填料,完全依靠螺纹自身形成密封,螺纹间无任何密封介质。干密封管螺纹 规定有较为严格的公差,属精密型螺纹,仅用在特殊场合。这种螺纹有较高 的强度和良好的密封性,在具有薄截面的脆硬材料上采用此螺纹可以减少断 裂现象。NPTF内、外螺纹牙顶与牙底间没有间隙,是过盈配合,而NPT螺 纹是过渡配合。NPTF螺纹主要用于高温高压对密封要求严格的场所。NPT

特斯拉整体介绍

Tesla Model S 特斯拉Model S是一款纯电动车型,外观造型方面,该车定位一款四门Coupe车型,动感的车身线条使人过目不忘。此外在前脸造型方面,该车也采用了自己的设计语言。另值得一提的是,特斯拉Model S的镀铬门把手在触摸之后可以自动弹出,充满科技感的设计从拉开车门时便开始体现。该车在2011年年中正式进入量产阶段,预计在2012年年内将有5000台量产车投放市场。 目录 1概述 2售价 3内饰 4动力 5车型 6技术规格 7性能表现 8荣誉 9对比测试 10车型参数 1概述

Tesla Model S是一款由Tesla汽车公司制造的全尺寸高性能电动轿车,预计于2012年年中投入销售,而它的竞争对手则直指宝马5系。该款车的设计者Franz von Holzhausen,曾在马自达北美分公司担任设计师。在Tesla汽车公司中,Model S拥有独一无二的底盘、车身、发动机以及能量储备系统。Model S的第一次亮相是在2009年四月的一期《大卫深夜秀》节目中 4 Tesla Model S 。 2售价 Model S的电池规格分为三种,分别可以驱动车辆行驶260公里、370公里和480公里。而配备这三种电池的Model S的售价则分别为57400美元、67400美元和77400美元。下线的首批1000辆签名款车型将配有可以行驶480公里的蓄电池。尽管官方尚未公布该签名款车型的具体售价,但据推测,价格将会保持在50000美元左右。 Tesla汽车公司称其将会对市场出租可以提供480公里行驶距离的电池。而从Model S中取得的收益将为第三代汽车的发展提供资金保障。 3内饰

基于4P-4C-4R理论的特斯拉电动汽车品牌营销策略探究

基于4P-4C-4R理论的特斯拉电动汽车品牌营销策略探究 兰州大学管理学院:鲍瑞雪指导老师:苏云【摘要】:特斯拉汽车作为新兴的电动汽车品牌,其发展速度是十分惊人的,尤其是自2014年进入中国市场后更是在中国新能源汽车业引起巨大的轰动,其成功模式值得深思,其中特斯拉汽车公司的营销策略,不仅根据目标市场进行分析,还结合了自身的实际情况,通过对多种营销策略的综合利用,最终实现了成功,促进了企业的持续发展。本文基于营销学4P-4C-4R理论对特斯拉汽车公司的营销策略进行深入分析,研究表明特斯拉从顾客角度出发,采取4P、4C、4R相结合的营销策略。4P是战术,4C是战略,应用4C、4R来思考, 4P角度来行动。 【关键词】: 4P 4C 4R 品牌营销策略特斯拉电动汽车 一、研究背景 当前,美国电动汽车企业特斯拉公司已经成为世界电动汽车界的一匹黑马。特斯拉公司成立于2003年,不同于其它新能源汽车企业,它主要从事电动跑车等高端电动汽车的设计、制造和销售。成立仅仅10年,特斯拉就已经开始在新能源汽车企业和高端汽车企业中崭露头角。作为新兴电动汽车品牌,特斯拉汽车的成功不是偶然的,这与其注重品牌营销策略密不可分。特斯拉汽车公司不仅对目标市场进行具体细分,结合自身实际进行有特色的精准的定位,还充分利用名人效应,提升品牌形象,并借助已有成功模式,寻求找到符合自身发展的途径,出一条饱含自己特色的品牌营销之路。 二、理论依据及文献综述 (一)理论依据 本文以经典的营销学理论4P-4C-4R理论为理论依据,着力探究4P-4C-4R 理论与特斯拉电动汽车营销策略之间的内在联系,分析特斯拉电动汽车品牌营销策略的经典之处。 1、4P营销理论 4P营销理论被归结为四个基本策略的组合,即产品(Product)、价格(Price)、渠道(Place)、促销(Promotion)。该理论注重产品开发的功能,要求产品有独特的卖点,把产品的功能诉求放在第一位。在价格策略方面,企业应当根据不

通止规的用法及管理

通止规的用法及管理 1、止规 使用前:应经相关检验计量机构检验计量合格后,方可投入生产现场使用。 使用时:应注意被测螺纹公差等级及偏差代号与环规标识公差等级、偏差代号相同(如M24*1.5-6h与M24*1.5-5g两种环规外形相同,其螺纹公差带不相同,错用后将产生批量不合格品)。 检验测量过程:首先要清理干净被测螺纹油污及杂质,然后在环规与被测螺纹对正后,用大母指与食指转动环规,旋入螺纹长度在2个螺距之内为合格,否则判为不合格品。 2、通规 使用前:应经相关检验计量机构检验计量合格后,方可投入生产现场使用。 使用时:应注意被测螺纹公差等级及偏差代号与环规标识的公差等级、偏差代号相同(如M24*1.5-6h与M24*1.5-5g两种环规外形相同,其螺纹公差带不相同,错用后将产生批量不合格品)。 检验测量过程:首先要清理干净被测螺纹塞规油污及杂质,然后在环规与被测螺纹对正后,用大母指与食指转动环规,使其在自由状态下旋合通过螺纹全部长度判定合格,否则以不通判定。 3、注意事项 在用量具应在每个工作日用校对塞规计量一次。经校对塞规计量超差或者达到计量器具周检期限的环规,由计量管理人员收回、标识隔离并作相应的处理措施。 可调节螺纹环规经调整后,测量部位会产生失圆,此现象由计量修复人员经螺纹磨削加工后再次计量鉴定,各尺寸合格后方可投入使用。 报废环规应标识隔离并及时处理,不得流入生产现场。 4、维护与保养 量具(环规)使用完毕后,应及时清理干净测量部位附着物,存放在规定的量具盒内。生产现场在用量具应摆放在工艺定置位置,轻拿轻放,以防止磕碰而损坏测量表面。 严禁将量具作为切削工具强制旋入螺纹,避免造成早期磨损。可调节螺纹环规严禁非计量工作人员随意调整,确保量具的准确性。环规长时间不用,应交计量管理部门妥善保管。

详解特斯拉Model S

详解特斯拉Model S 1、Model S的核心技术是什么? 核心技术是软件,主要包括电池管理软件,电机以及车载设备的电控技术。最重要的是电池控制技术。 Model S的加速性能,续航里程、操控性能的基础都是电池控制技术,没有电池控制技术,一切都就没有了。 2、Model S的电池控制技术有什么特色? 顶配的Model S使用了接近7000块松下NCR 18650 3100mah电池,对电池两次分组,做串并联。设置传感器,感知每块电池的工作状态和温度情况,由电池控制系统进行控制。防止出现过热短路温度差异等危险情况。 在日常使用中,保证电池在大电流冲放电下的安全性。 其他厂商都采用大电池,最多只有几百块,也没有精确到每块电池的控制系统。 3、为什么要搞这么复杂的电池控制系统? 为了能够使用高性能的18650钴锂电池。高性能电池带来高性能车。因为18650钴锂电池的高危性,没有一套靠谱的系统,安全性就不能保证。这也是大多数厂商无论电力车,插电车,混合动力车都不太敢用钴锂电池,特别是大容量钴锂电池的原因。 松下NCR 18650 3100mah,除了测试一致性最好,充放电次数多,安全性相对较好以外,最重要的是能量大,重量轻,价格也不高。 由于能量大,重量轻,在轿车2吨以内的车重限制下,可以塞进去更多的电池,从而保证更长的续航里程。因为电池输出电流有限制,电池越多,输出电流越大,功率越大,可以使用的电机功率也就越大。电机功率越大,相当于发动机功率大,车就有更快的加速性能,而且可以保持较长的一段时间。 4、作为一辆车,Model S有哪些优点?这些优点是电动车带来的吗? 作为一辆车,Model S主要具有以下几个优点 (1)起步加速快,顶配版本0-100公里加速4秒多,能战宝马M5

农田水利学试题及答案资料

农田水利学课程考试试题及答案 姓名 年级 专业 学号 一、名词解释(每小题 2 分 共 10 分) 1. 灌水率: 2. 排涝模数: 3. 平均排除法: 4. (排涝计算中的)设计内水位: 5. 容泄区: 二.选择题(共 10 分) 1. 灌溉设计标准是反映灌区效益达到某一水平的一个重要技术指标,一般以 ( )与 ( )表示? A 、灌溉设计保证率、抗旱天数。 B 、水文年型、降水量。 C 、设计灌溉用水量全部获得满足的年数、抗旱天数。 D 、水源来水量、灌区需水量。 2. 什么叫田间渠系的灌排相邻布置? ( ) 3. 渠道的输水损失包括以下四个部分: ( ) A 、干渠、支渠、斗渠及农渠等四级渠道的水量损失。 B 、渠床土质、地下水埋深、渠道的工作制度及输水时间。 C 、自由渗流、顶托渗流、渠床土质、与渠道的工作制度等。 D 、渠道水面蒸发损失、渠床渗漏损失、闸门漏水与渠道退水等。 4. 什么叫渠道水的利用系数? ( ) A 、灌溉渠系的净流量与毛流量的比值。 B 、某一级渠道的净流量与毛流量的比值。 C 、田间实际灌入的有效水量与末级渠道的供水量之比。 D 、实际灌入农田的有效水量和渠首引入的水量之比。 5. 在渠道规划设计中,渠道最小流量有何作用? ( ) A 、用以校核对下一级渠道的水位控制条件。 A 、灌溉渠道与排水沟道的规划布置。 B 、田间各级渠道规划布置的形 式。

B、用以校核渠道不淤条件。 C、用以确定修建节制闸的位置。 D、用以校核对下一级渠道的水位控制条件和确定修建节制闸的位置,并按最小流量验算渠道不淤条件。 6.什么叫雨水径流集蓄灌溉工程?() A 、导引、收集雨水径流,并把它蓄存起来加以有效灌溉利用的工程技术措施。 B、田面、坡面、路面及屋面庭院等各类集水工程。 C、各类形式的水窖、水窑窖等蓄水工程。 D、各类最为有效节水的灌溉方式。 7.集流面的处理主要包括哪三类方法?() A 、采用混凝土、水泥土、三七灰土进行表面处理。 B、采用塑料薄膜、或塑膜复沥青、复草泥。 C、植被管理;地表处理;化学处理。 D、采用钠盐、硅有机树脂及粗石蜡等化学处理方法。 8.蓄水工程有哪几种主要的类型?() A 、引水渠沟或管道、入水口、拦污栅、沉沙槽、蓄水设施以及放水装置等。 B、涝池、旱井、田间蓄水池、水窖、水窑窖等。 C、引水渠、蓄水窑洞与放水暗管与放水暗渠。 D 、沉沙池、进水管、水窖等。 9.什么叫续灌方式?() A 、类似于自来水管道可随机用水的供水方式。 B、输配水管道进行输水、配水和灌水的方式。 C、是指上一级管道按预先划分好的轮灌组分组向下一级管道配水的方式。 D 、是指上一级管道向所有的下一级管道同时配水的方式。 10.什么叫集水效率?() A 、降水特征(次降雨量、降雨强度)和集水面质地、坡度、前期含水量与集水面尺寸。 B、集水面的处理材料、集水面积、集流路径和汇流时间。 C、随降水强度的增大而提高。 D、某时段内或某次降雨集水面的集水量占同一时期内的降雨量的比值。 三、简答题(每题6分,共30分) 1.四种地表取水方式的使用条件

TESLA特斯拉解析

TESLA 硅谷工程师、资深车迷、创业家马丁·艾伯哈德(Martin Eberhard)在寻找创业项目时发现,美国很多停放丰田混合动力汽车普锐斯的私家车道上经常还会出现些超级跑车的身影。他认为,这些人不是为了省油才买普锐斯,普锐斯只是这群人表达对环境问题的方式。于是,他有了将跑车和新能源结合的想法,而客户群就是这群有环保意识的高收入人士和社会名流。 2003年7月1日,马丁·艾伯哈德与长期商业伙伴马克·塔彭宁(Marc Tarpenning)合伙成立特斯拉(TESLA)汽车公司,并将总部设在美国加州的硅谷地区。成立后,特斯拉开始寻找高效电动跑车所需投资和材料。

由于马丁·艾伯哈德毫无这方面的制造经验,最终找到AC Propulsion公司。当时,对AC Propulsion公司电动汽车技术产生兴趣的还有艾龙·穆思科(Elon Musk)。在AC Propulsion公司CEO汤姆·盖奇(Tom Gage)的引见下,穆思科认识了艾伯哈德的团队。2004年2月会面之后,穆思科向TESLA投资630万美元,但条件是出任公司董事长、拥有所有事务的最终决定权,而艾伯哈德作为创始人任TESLA的CEO。 在有了技术方案、启动资金后,TESLA开始开发高端电动汽车,他们选择英国莲花汽车的Elise作为开发的基础。没有别的原因,只是因为莲花是唯一一家把TESLA放在眼里的跑车生产商。

艾伯哈德和穆思科的共同点是对技术的热情。但是,作为投资人,穆思科拥有绝对的话语权,随着项目的不断推进,TESLA开始尝到“重技术研发轻生产规划、重性能提升轻成本控制”的苦果。2007年6月,离预定投产日期8月27日仅剩下两个月时,TESLA还没有向零部件供应商提供Roadster的技术规格,核心的部件变速箱更是没能研制出来。另一方面,TESLA在两个月前的融资中向投资人宣称制造Roadster的成本为6.5万美元,而此时成本分析报告明确指出Roadster最初50辆的平均成本将超过10万美元。 生意就是生意,尤其硅谷这样的世界级IT产业中心,每天都在发生一些令人意想不到的事情。投资人穆思科以公司创始人艾伯哈德产品开发进度拖延、成本超支为由撤销其

农田水利学试题六

农田水利学课程考试试题 姓名年级专业学号 一、名词解释(每小题2分共10分) 1、渠道设计流量: 2、灌溉水利用系数: 3、最小流量: 4、田间净流量:: 5、不冲流速: 二.单向选择题(共10分) 1.地下水临界深度是指? () A、地下水埋藏深度。 B、在一定的自然条件和农业技术措施条件下,为了保证土壤不产生渍害,所要求保持的地下水最小埋深。 C、在一定的自然条件和农业技术措施条件下,为了保证土壤不产生盐碱化和作物不受盐害,所要求保持的地下水最小埋深。 D、在一定的自然条件和农业技术措施条件下,为了保证土壤不产生盐碱化和作物不受盐害,所要求保持的地下水最大埋深。 2.对于控制一定地下水位要求的农田排水系统,下列哪种说法是正确的?() A、在同一排水沟深度的情况下,排水沟的间距愈大,地下水位下降速度愈快,在一定时间内地下水位的下降值愈大,在规定时间内地下水位的下降值也愈大。 B、在允许的时间内要求达到的地下水埋藏深度ΔH一定时,排水沟的间距愈大,需要的深度也愈大。 C、在允许的时间内要求达到的地下水埋藏深度ΔH一定时,排水沟的间距愈小,需要的深度也愈大。 D、在同一排水沟间距的情况下,排水沟的深度愈小,地下水位下降速度愈快,在一定时间内地下水位的下降值愈大,在规定时间内地下水位的下降值也愈大。

3.设计排涝标准时,需选择发生一定重现期的暴雨,一般选择标准是?() A、1-5年。 B、5-10年。 C、10-15年。 D、15-20年。 4.对渍害最不敏感的作物是?() A、小麦; B、玉米; C、高粱; D、水稻。 5.特别适宜防治土壤次生盐碱化的农田排水方式是?() A、明沟排水; B、竖井排水; C、暗管排水; D、暗沟排水。 6.在进行排水沟设计时,用来校核排水沟的最小流速的设计流量是?() A、排涝设计流量; B、排渍设计流量; C、日常排水设计流量; D、排涝模数。 7.农田长期渍水不会造成下列后果? A、土壤的透气性很差。 B、土层都处于强烈的氧化状态。 C、利于硫化氢等硫化物的形成,对作物根系产生永久性伤害。 D、有机质矿化程度低,分解释放的有效养分少,不能满足作物生长的需要。 8.防治土壤盐碱化的水利技术不包括?() A、明沟排水 B、井灌井排 C、灌水冲洗 D、放淤改良 9.什么叫计划用水?() A、灌溉水量的分配方法。 B、就是按作物的需水要求与灌溉水源的供水情况,结合渠系工程状况,有计划地蓄水、引水、配水与灌水。 C、是指灌溉水在灌区各级渠系调配、管理的方式。 D、是指灌溉水通过各级渠道流入田间的方法。 10.灌区用水计划一般来说有哪四种主要类型?() A、水源引水计划、渠系配水计划与田间的用水计划等。 B、水权集中、统筹兼顾、分级管理、均衡受益。 C、年度轮廓用水计划、某灌季全渠系用水计划、干支渠段用水计划及用水单位的用水计划。 D、上下结合、分级编制,统一调度、联合运用。

通止规的用法及管理

通止规的用法及管理 令狐采学 1、止规 使用前:应经相关检验计量机构检验计量合格后,方可投入生产现场使用。 使用时:应注意被测螺纹公差等级及偏差代号与环规标识公差等级、偏差代号相同(如M24*1.56h与M24*1.55g两种环规外形相同,其螺纹公差带不相同,错用后将产生批量不合格品)。 检验测量过程:首先要清理干净被测螺纹油污及杂质,然后在环规与被测螺纹对正后,用大母指与食指转动环规,旋入螺纹长度在2个螺距之内为合格,否则判为不合格品。 2、通规 使用前:应经相关检验计量机构检验计量合格后,方可投入生

产现场使用。 使用时:应注意被测螺纹公差等级及偏差代号与环规标识的公差等级、偏差代号相同(如M24*1.56h与M24*1.55g两种环规外形相同,其螺纹公差带不相同,错用后将产生批量不合格品)。 检验测量过程:首先要清理干净被测螺纹塞规油污及杂质,然后在环规与被测螺纹对正后,用大母指与食指转动环规,使其在自由状态下旋合通过螺纹全部长度判定合格,否则以不通判定。 3、注意事项 在用量具应在每个工作日用校对塞规计量一次。经校对塞规计量超差或者达到计量器具周检期限的环规,由计量管理人员收回、标识隔离并作相应的处理措施。 可调节螺纹环规经调整后,测量部位会产生失圆,此现象由计量修复人员经螺纹磨削加工后再次计量鉴定,各尺寸合格后方

可投入使用。 报废环规应标识隔离并及时处理,不得流入生产现场。 4、维护与保养 量具(环规)使用完毕后,应及时清理干净测量部位附着物,存放在规定的量具盒内。生产现场在用量具应摆放在工艺定置位置,轻拿轻放,以防止磕碰而损坏测量表面。 严禁将量具作为切削工具强制旋入螺纹,避免造成早期磨损。可调节螺纹环规严禁非计量工作人员随意调整,确保量具的准确性。环规长时间不用,应交计量管理部门妥善保管。

扬州大学农科农田水利学计算题过程及答案

农田水利学计算题 1、某小型灌区作物单一为葡萄,某次灌水有600亩需灌水,灌水定额为25m 3/亩,灌区灌溉水利用系数为0.75,试计算该次灌水的净灌溉用水量和毛灌溉用水量。 解:W 毛=MA/η水=25*600/0.75=20000(m3) W 净=MA=25*600=15000(m3) 2、某灌区A =0.2万亩,A 蔬菜=0.16万亩,A 花卉=0.04万亩,m 蔬菜=20m 3/亩,m 花卉=15m 3/亩。求综合净灌水定额m 综及净灌溉用水量。 解:m 综=α1m 1+α2m 2=0.8*20+0.2*15=16+3=19(m3/亩) W=m 综*A=19*2000=38000(m3) 3、某小型提水灌区,作物均为果树,面积1000亩,用水高峰期最大灌水定额为25m3/亩,灌溉水利用系数为0.75,灌水延续4天,每天灌水20小时。试计算水泵设计流量。 解:Q 设= =25*1000/(3600*20*4*0.75)=0.12(m3/s ) 4、已知苏南某圩区,F=3.8Km2,其中旱地占20%,水田占80%。水田日耗水e=5mm/d ,水田滞蓄30mm ,旱地径流系数为0.6 。排涝标准采用1日暴雨200mm ,2天排除,水泵每天工作时间22小时。试求泵站设计排涝流量Q 和综合设计排涝模数q 。 解:R 水田=P-h 田蓄-eT=200-30-5*2=160(mm ) 水ηTt A m t T W Q k j j ij i i i 360036001∑==??=

R旱田=αP=0.6*200=120(mm) ∴Q=(R水田F水田+R旱田F旱田)/3.6Tt =(160*3.8*0.8+120*3.8*0.2)/3.6*2*22 =3.65(m3/s) ∴q =Q/F=3.65/3.8=0.96(m3/km2) 5、冬小麦播前土壤最大计划湿润层深度为0.6m,土壤平均孔隙率42.5%(占土壤体积百分比),土壤田间持水率为70%(孔隙百分比)。播前土壤含水率为45.0%(孔隙百分比)。计算冬小麦的播前灌水定额。解:M=667Hn(θmax-θ0)=667*0.6*0.425*(0.7-0.45) =42.5(m3/亩) 6、已知某渠系如图1-4-3所示,干、支渠采用续灌,设计灌水率q=0.78m3/(s·万亩),一支灌溉面积为2万亩,二支灌溉面积为2.4万亩,三支灌溉面积2.5万亩,支渠的灌溉水利用系数为0.82,干渠渠道水利用系数0.9。 【要求】 (1)计算各支渠设计流量; (2)计算干渠设计流量和灌区灌溉水利用系数。 解:(1)Q1=qA1/η支水=0.78*2/0.82=1.90(m3/s) Q2=qA2/η支水=0.78*2.4/0.82=2.28(m3/s) Q3=qA3/η支水=0.78*2.5/0.82=2.38(m3/s) (2)η水=η支水*η干=0.82*0.9=0.74 7、1)下图渠系干、支渠续灌

河海农水试题1

河海大学2002年攻读硕士学位研究生入学考试试题 名称:农田水利学 一:名词解释(每小题4分) 1、作物需水量 2、喷灌强度 3、灌溉水利用系数 4、作物水分生产函数 5、排渍水位 6、排水承泄区 二、判断题(每小题2分,共20分) 1、土壤中的毛管水是不能被植物根系吸收利用的水分() 2、灌水定额是灌区的单位面积在单位时间内的灌水量() 3、水库取水方式适用于河道水位和流量都满足灌溉引水要求的情况() 4、规划固定式喷灌系统时,支管轮灌方式是否合理对于管的设计流量有显著影响() 5、设计灌溉渠道时,如果糙率系数取值偏小,就会使渠道断面偏小,从而影响渠道过水能力() 6、田间排水沟的间距取决于土壤性质和排水要求,和排水沟的深度无关() 7、排渍模数是排水渠单位面积的排渍流量() 8、灌溉渠道实行轮灌的主要目的在于减少渠道渗漏损失() 9、喷灌工程不适用于地面坡度变化复杂的农田使用() 10、用平均排出法计算的排涝设计流量比可能出现的排涝设计流量偏大() 三、问答题(每小题8分,共40分) 1、灌溉渠道的设计流量、加大流量、最小流量在渠道设计中各有什么用途? 2、排水沟道系统的规划布置要考虑哪些原则? 3、局部灌溉包括哪些类型?渠道衬砌有何优缺点? 4、渠道的水量损失包括哪些方面?渠道衬砌有何优缺点? 5、灌溉管道系统的工作制度包括哪些内容?各自的适用条件是什么? 河海大学2001年攻读硕士学位入学考试试题 名称:农田水利学 一:名词解释(每小题三分) 1. 凋萎系数2、作物需水量3、灌溉设计保证率 4、灌溉制度5、日常水位6、排水承泻区7、排渍模数8、轮灌 二、判断题(每小题而分) 对以下概念,你认为正确的在括号内填“+”号,你认为错误的在括号内填“-”号。 1、土壤中的吸湿水是可以被作物根系吸收利用的水分() 2、鉴定土壤水分对作物生长是否有效的主要标志是土壤含水量() 3、制定作物灌溉制度的基本原理是水量平衡() 4、从河道引水灌溉时,如果河道流量大于灌溉引水流量,但枯水期水位偏低,饮水不足,应修筑水库调节径流() 5、设计灌溉渠道时,如果糙率系数取值偏小,就会失渠道断面过大而增加工程量() 6、上层滞水是停留在包气带土壤中的重力水() 7、地下水的流量、流速、水位等运动要素随时间而变化的运动叫做地下水非稳定流动() 8、田间排水沟的间距取决于土壤性质和排水要求,与排水沟深度无关() 9、制定旱作物灌溉制度是作物地下水利用量指的是地面以下土层的储水量() 10、用平均排出法计算的排涝设计流量比可能出现的排涝设计流量偏大() 三、问答题(每小题6分)

特斯拉电动汽车电池管理系统解析

1. Tesla目前推出了两款电动汽车,Roadster和Model S,目前我收集到的Roadster的资料较多,因此本回答重点分析的是Roadster的电池管理系统。 2. 电池管理系统(Battery Management System, BMS)的主要任务是保证电池组工作在安全区间内,提供车辆控制所需的必需信息,在出现异常时及时响应处理,并根据环境温度、电池状态及车辆需求等决定电池的充放电功率等。BMS的主要功能有电池参数监测、电池状态估计、在线故障诊断、充电控制、自动均衡、热管理等。我的主要研究方向是电池的热管理系统,因此本回答分析的是电池热管理系统 (Battery Thermal Management System, BTMS). 1. 热管理系统的重要性 电池的热相关问题是决定其使用性能、安全性、寿命及使用成本的关键因素。首先,锂离子电池的温度水平直接影响其使用中的能量与功率性能。温度较低时,电池的可用容量将迅速发生衰减,在过低温度下(如低于0°C)对电池进行充电,则可能引发瞬间的电压过充现象,造成内部析锂并进而引发短路。其次,锂离子电池的热相关问题直接影响电池的安全性。生产制造环节的缺陷或使用过程中的不当操作等可能造成电池局部过热,并进而引起连锁放热反应,最终造成冒烟、起火甚至爆炸等严重的热失控事件,威胁到车辆驾乘人员的生命安全。另外,锂离子电池的工作或存放温度影响其使用寿命。电池的适宜温度约在10~30°C 之间,过高或过低的温度都将引起电池寿命的较快衰减。动力电池的大型化使得其表面积与体积之比相对减小,电池内部热量不易散出,更可能出现内部温度不均、局部温升过高等问题,从而进一步加速电池衰减,缩短电池寿命,增加用户的总拥有成本。 电池热管理系统是应对电池的热相关问题,保证动力电池使用性能、安全性和寿命的关键技术之一。热管理系统的主要功能包括:1)在电池温度较高时进行有效散热,防止产生热失控事故;2)在电池温度较低时进行预热,提升电池温度,确保低温下的充电、放电性能和安全性;3)减小电池组内的温度差异,抑制局部热区的形成,防止高温位置处电池过快衰减,降低电池组整体寿命。 2. Tesla Roadster的电池热管理系统 Tesla Motors公司的Roadster纯电动汽车采用了液冷式电池热管理系统。车载电池组由6831节18650型锂离子电池组成,其中每69节并联为一组(brick),再将9组串联为一层(sheet),最后串联堆叠11层构成。电池热管理系统的冷却液为50%水与50%乙二醇混合物。 图 1.(a)是一层(sheet)内部的热管理系统。冷却管道曲折布置在电池间,冷却液在管道内部流动,带走电池产生的热量。图 1.(b)是冷却管道的结构示意图。冷却管道内部被分成四个孔道,如图 1.(c)所示。为了防止冷却液流动过程中温度逐渐升高,使末端散热能力不佳,热管理系统采用了双向流动的流场设计,冷却管道的两个端部既是进液口,也是出液口,如图 1(d)所示。电池之间及电池和管道间填充电绝缘但导热性能良好的材料(如Stycast 2850/ct),作用是:1)将电池与散热管道间的接触形式从线接触转变为面接触;2)有利于提高单体电池间的温度均一度;3)有利于提高电池包的整体热容,从而降低整体平均温度。

Tesla Model S电池组设计全面解析

Tesla Model S电池组设计全面解析 对Tesla来说最近可谓是祸不单行;连续发生了3起起火事故,市值狂跌40亿,刚刚又有3名工人受伤送医。Elon Musk就一直忙着到处“灭火”,时而还跟公开表不对Tesla“不感冒”的乔治·克鲁尼隔空喊话。在经历了首次盈利、电池更换技术·穿越美国、水陆两栖车等头条新闻后,Elon Musk最近总以各种负面消息重返头条。这位"钢铁侠。CE0在201 3年真是遭遇各种大起大落。 其中最为人关注的莫过于Model S的起火事故,而在起火事故中最核心的问题就是电池技术。可以说,牵动Tesla股价起起落落的核心元素就是其电池技术,这也是投资者最关心的问题。在美国发生的两起火事故有着相似的情节Model S 撞击到金属物体后,导致电池起火,但火势都被很好地控制在车头部分。在墨西哥的事故中,主要的燃烧体也是电池;而且在3起事故中,如何把着火的电池扑灭对消防员来说都是个难题。 这让很多人产生一个疑问:Model S的电池就这么不禁撞吗?在之前的一篇文章中,我跟大家简单讨论了一下这个问题,但只是停留在表面。读者普遍了解的是,Model S的电池位于车辆底部,采用的是松下提供的18650钴酸锂电池,整个电池组包含约8000块电池单元;钴酸锂电池能量密度大,但稳定性较差,为此Tesla研发了3级电源管理体系来确保电池组正常运作。现在,我们找到了Tesla的一份电池技术专利,借此来透彻地了解下Model S电池的结构设计和技术特征。 电池的布局与形体

FIG3 如专利图所示,Model S的电池组位于车辆的底盘,与轮距同宽,长度略短于轴距。电池组的实际物理尺寸是:长2.7m,宽1.5m,厚度为0.1 m至0.1 8m。其中0.1 8m较厚的部分是由于2个电池模块叠加而成。这个物理尺寸指的是电池组整体的大小,包括上下、左右、前后的包裹面板。这个电池组的结构是一个通用设计,除了18650电池外,其他符合条件的电池也可以安装。此外,电池组采用密封设计,与空气隔绝,大部分用料为铝或铝合金。可以说,电池不仅是一个能源中心,同时也是Model S底盘的一部分,其坚固的外壳能对车辆起到很好的支撑作用。 由于与轮距等宽,电池组的两侧分别与车辆两侧的车门槛板对接,用螺丝固定。电池组的横断面低于车门槛板。从正面看,相当于车门槛板"挂着。电池组。其连接部分如下图所示。 FIG, 4

特斯拉Model S电动汽车性能介绍

特斯拉Model S 特斯拉Model S并非小尺寸、动力不足的短程汽车——这是某些人对电动车的预期。作为特斯拉三款电动车中体积最大的车型,根据美国环保署认证,这款快捷、迷人的运动型轿车一次充电能够行驶265英里(426公里),不过特斯拉声称可以达到300英里。不管哪种情况,这肯定是电动车行业的新高。Model S Performance版本的入门级价格为94,900美元,我测试的版本价格为101,600美元(按照美国联邦税收抵免,可以在此基础上扣减7,500美元)。 在一次开放驾驶上,这款特斯拉汽车硕大的85千瓦时电池的确可以至少行驶426公里。电流来自于车底的电池组,里面有大约7,000颗松下锂电池,重量约为590公斤(1,300磅). 试驾的第二天是前往威斯康辛州,在行驶了320公里后电几乎用光,不过其中包括了在芝加哥的一场交通拥堵中无奈爬行的两个小时。这天的测试充满野心,更多是针对性能而非行驶里程,包括这款特斯拉汽车迅速地用4.4秒时间从0加速到时速97公里(0至60英里每小时),此外测试达到的最高时速为210公里。 我有没有提到,在0到时速100英里的加速时间方面,这款310千瓦(416马力)的特斯拉汽车将击败威力巨大、使用汽油的413千瓦(554马力)宝马M5?部分原因在于这款特斯拉汽车的同步交流电发动机能够即时提供600牛·米(443英尺磅)的扭矩。像电灯开关一样轻点特斯拉的油门,最大的扭矩已经准备就绪,一分钟内能够实现从0到5,100转。后悬挂、液冷式发动机可以保持1.6万转每分钟,通过一个单速变速箱将动力传导至后轮。 它就像一头冷酷的猛兽,在出奇安静之中让内燃机这个猎物消失于无形——安静到何种程度呢?来自轮胎和风阻的声音比在其他大部分豪华车中感受到的更加明显。安装于车底的电池让特斯拉获得与很多超级车相当的重心,这非常有利于稳定操控。Model S经过弯道的时候也能很好地保持贴地感。 尽管这款特斯拉汽车看起来并不笨重,但其重量达到2,108公斤;随着速度和重力的提升,这些多余的重量表露无遗。加大油门后,沉重的尾部会产生震动。在操控手感的愉悦性方面,特斯拉无法与宝马相提并论,甚至连马自达都赶不上。 美妙的试驾体验在你进入车内之前就开始了,你靠近汽车时,可伸缩的车门把手自动弹出。接着看到的是特斯拉标志性的驾驶室特色内容,一个43厘米(17英寸)电容触摸屏,看起来就像一对相互配合的iPad. 在其用铝合金加强的底盘和车身内,Model S可以容纳5人。一个可爱但是奇怪的按钮可以在车门位置增加脸朝车后的儿童座椅,从而实现最多承载7人。将第二排座椅向下折,可以扩展后座载货空间,可用于家得宝(Home Depot)采购之旅。由于引擎盖下面没有发动机,这些空间可以作为有用的前置行李箱,特斯拉将其称为“前备箱”(“frunk”),就像保时捷911一样。

相关主题
文本预览
相关文档 最新文档