B2U5-3 Object clauses
- 格式:doc
- 大小:52.57 KB
- 文档页数:6
ISO/IEC 17065:2012Conformity assessment –Requirements for bodies certifying products, processes and servicesPresentation on the new standardPage 1IntroductionThis presentation has been developed by the Drafting Group of ISO CASCO WG 29.The aim is to support all interested parties concerned by the implementation of this new standard, e.g. conformity assessment bodies, accreditation bodies, industries with general information and contribute to an harmonized transition.This is an open presentation without any copyrights and can be used by anyone.We welcome any information about product certification in your region, country, e. g. number of schemes, number of accredited certification bodies, number of certificates under ISO/IEC Guide 65 / ISO/IEC 17065, if you have any please send it tocharlet@ISO CASCO Secretary ISO CASCO Convenor WG 29 Sean MacCurtain Christian PrillerPage 2Table of content•Importance / Impact of product certification for global trade4•Product, Process and Service Certification5•Timeline of Revision ISO/IEC Guide 65 to ISO/IEC 170657•Purpose of Revision ISO/IEC Guide 65 to ISO/IEC 1706510•Content of ISO/IEC Guide 65 to ISO/IEC 1706511•Changes of revision ISO/IEC Guide 65 to ISO/IEC 1706513•ISO/IEC 17065:201222•Cross reference ISO/IEC Guide 65:1996 to ISO/IEC 17065:201237•Cross reference ISO/IEC 17065:2012 to ISO/IEC Guide 65:199646•Back-up slides: examples55Page 3Page 4Examples -Importance and Impact of product certification for global tradeAn unknown number of sectors, regulators, schemes and CB‘s run their operation under this requirements with an unknown number of certificates and products, this shows the great importance.Europe:New Legilation Framework (NLF) over 20 European Directives, Trade volume 1500 mrd €, about 2000 Notified Bodies974 accredited certification bodies in Europe(source: European Co-operation Accreditation)International levelIEC CB Scheme:74 National Certification Bodies 382 CB Testing Laboratories 45 Satellite Laboratories2800 Manufacturer's Testing Laboratories 70'000 CB Test Certificates issues in 2011AsiaJapanJIS-mark : 25 certification bodies JAS-mark: 142 certification bodies PSE-mark: 10 certification bodies PSC-mark : 9 certification bodies PAL : 13 certification bodies China:35 accredited Certification Bodies10 Certification Bodies response for China Compulsory Certification (CCC)50,728 companies with 280,000 certificates for CCCNew Zealand/Australia36 certification bodies for product certification 70 product certification schemes delivered by 36 accredited bodiesBrasil70 accredited Certification BodiesUSA120 Accredited Certification BodiesGermany :GS-mark 91 bodiesProduct, Process and Service Certification (1)The overall aim of certifying products, processes or services is to give confidence to all interested parties that a product, process or service fulfills specified requirements.The value of certification is the degree of confidence and trust that is established by an impartial and competent demonstration of fulfillment of specified requirements by a third-party.Page 5Page 6Product, Process and Service Certification (2)Parties that have an interest in certification include, but are not limited to:the clients of the certification bodies;the customersof the organizations whose products, processes or services are certified;governmental authorities ;non-governmental organizations;andconsumers and other members of the public.ISO/IEC 17065date activity output Participants Results ballot2007-041st WG 29 meeting –definition ofscope and structure of revision WD1302007-091st DG meeting WD22008-042nd DG meeting WD32008-042nd WG 29 meeting WD4352008-103rd DG meeting WD52009-034th DG meeting WD62009-063rd WG 29 meeting CD1372009-07CD out for ballot 78% approval 1040 comments submitted2010-03Change of Convenor MarioWittner > Christian Priller2010-044th WG 29 meeting43Page 7ISO/IEC 17065date activity output Participation Results ballot 2010-065th DG WG 29 meeting CD22010-08CD2 out for ballot for two months 91% approval 570 comments submitted2011-016th DG meeting2011-025th WG 29 meeting in conjunction with WG32DIS352011-05DIS out for ballot 88% approval 440 comments submitted2012-017th DG meeting (Geneva)2012-026th WG 29 meeting (Munich)FDIS302012-04FDIS out for vote2012-07FDIS approved95% approval in ISOand 100% in IEC 2012-09Publication ISPage 8Page 9ISO/IEC 17067Status of ISO/IEC 17067DateActivity WG 32OutputParticipationResults (comments/voting)2010-021st WG 32 meeting –definition of scope and structure of revision WD0122010-092nd WG meeting WD1102011-023rd WG meeting WD2152011-104th WG meeting CD122011-11CD out for ballot 88% approval2012-045th WG meeting DIS 152012-06DIS out for ballot 2013-026th WG meeting FDISQ2 2013FDIS out for ballotQ3 2013IS outISO/IEC 17065ISO IEC Guide 65ISO IEC 17065Maintain the provenparts of Guide 65Improve wherenecessaryPage 1017065 (1)The content is aligned with the new structural requirements decided by ISO CASCO (8 chapters instead of 15 in ISO/IEC Guide 65)1.Scope2.Normative references3.Terms and definitions4.General requirements5.Structural requirements6.Resource requirements7.Process requirements8.Management system requirementsPage 1117065 (2)The obligatory requirements of the ISO/PAS are included in ISO/IEC170651. ISO/PAS 17001 on Impartiality included in clause 4.22. ISO/PAS 17002 on Confidentiality included in clause 4.53. ISO/PAS 17003 on Complaints and appeals included in clause 7.134. ISO/PAS 17004 on Disclosure of information included in clause 4.65. ISO/PAS 17005 on Use of management systems included in clause 8*The PAS requirements may also be addressed in other parts of the standards than the ones listed abovePage 12ISO/IEC 17065 (1)The scope in ISO/IEC17065 specifies as in ISO/IEC Guide 65 three objects of conformity assessment: product, process and service. New are the definitions of these three terms based on the definitions in ISO 9000 but as service certification is increasingly used there is a stand alone definition of “service”The scope together with Annex B gives information on the application of the standard for processes and servicesThe scope clarifies that certification of products, processes and services is a third-party activity. The scope is to be read in connection with the definition of “certification body” in clause 3.12: third-party conformity assessment body operating certification schemesPage 13ISO/IEC 17065 (2)Certification schemes are mandatory part of product certification(ISO/IEC17065). The requirement to operate one or more certification schemes is contained in clause 7.1.1. The term “scheme” replaces the term “system” used in ISO/IEC Guide 65ISO/IEC 17065 does not contain detailed requirements on certification schemes. Guidelines for understanding, developing, establishing, maintaining or comparing certification schemes for products, processes and services will be provided in the future ISO/IEC 17067 “Fundamentals of product certification and product certification schemes”Page 14ISO/IEC 17065 (3)The definition chapter is considerably improved by definitions on consultancyevaluationproduct, process, servicecertification requirement, product requirementcertification scheme, certification scheme ownerscope of certificationcertification bodyimpartialityPage 15ISO/IEC 17065 (4)The requirements on impartiality in clause 4.2 have significantly been improved compared with the requirements in clause 4.2 o) of ISO/IEC Guide 65. The obligatory requirements of PAS 17001 are incorporated in clause 4.2. Clause 4.2 clarifies in detail what activities can be performed by the certification body and any part of the legal entity it belongs to and what activities can be performed by organizations with which the certification body has relationshipsSupplementing the impartiality requirements, a mechanism for safeguarding impartiality is specified in clause 5.2. This mechanism is based on the recommended requirements in PAS 17001. It clarifies and details the provisions in clause 4.2 e) of ISO/IEC Guide 65 to enable the participation of parties significantly concerned. According to ISO/IEC17065 a possible mechanism can be a committee established by one or more certification bodies, a committee implemented by a scheme owner, a governmental authority or an equivalent partyPage 16ISO/IEC 17065 (5)The clause 6.2 on resources for evaluation is separated in internal resources and external resources (outsourcing). According to the definition in clause 3.3 of ISO/IEC17065, evaluation is a combination of selection and determination functions of a conformity assessment activity. Determination functions are normally testing, inspection and auditing.Internal and external resources shall meet the applicable requirements of the relevant International Standards and other documents as specified by the certification scheme. The relevant International Standards include for testing ISO/IEC 17025, for inspection ISO/IEC 17020 and for management system auditing ISO/IEC 17021Page 17Page 18Changes of revision ISO/IEC Guide 65 to ISO/IEC 17065 (6)The process chapter 7 follows the functional approach provided in ISO/IEC 17000 which consists of–selection–determination –review–attestation –surveillanceThe functions “selection” and “determination” are in 17065 combined as function “evaluation”evaluationDecision and insuance of certificate if relevantChanges of revision ISO Guide 65 toISO/IEC 17065 (7)The four-eyes principle contained in clause 4.2 f of ISO Guide 65 is kept inISO/IEC17065 by clarifying that the review and decision has to be performed by person(s) different from those who carried out the evaluation whereas review and decision can be done by the same person(s)As in ISO/IEC Guide 65 the certification decision shall be made by person(s) employed by or under contract with the certification body meaning that subcontracting or otherwise delegating the certification decision is not allowed. The possibility to use person(s) for the decision who are under the organizational control (clause 7.6.4) of the certification body is new. Organizational control is for example whole or majority ownership regarding the legal entity that employs or contracts the person(s) who make the certification decisionPage 19Changes of revision ISO/IEC Guide 65 to ISO/IEC 17065 (8)The management system requirements are concentrated in chapter 8. According to PAS 17005 the certification body has two options to establish and maintain a management system that is capable of achieving the consistent fulfillment of the requirements of ISO/IEC 17065. The requirements of option A are provided in detail in chapter 8. Option B gives the possibility to use ISO 9001 as an alternative to fulfill the requirements contained in chapter 8An informative Annex A contains principles for certification bodies and their certification activities which are not requirements. The listed principles are those inspiring confidence in the certification activities. Key words are impartiality, competence, confidentiality and openness, responsiveness to complaints and appeals and responsibilityPage 20Page 21Changes of revision ISO/IEC Guide 65 to ISO/IEC 17065 (9)Chapter 3Chapter 4Chapter 5Chapter 6 (detailed)Chapter 7 (detailed)Chapter 8Detailed presentation of the most important clauses of the new ISO/IEC17065:2012Clause 3. Terms and definitionsISO/IEC 17065 and relation to ISO/IEC Guide 65The definition chapter is considerably improved by definitions based on ISO/IEC 17000•Client•Consultancy•Evaluation•product, process, service•certification requirement, product requirement •certification scheme, certification scheme owner•scope of certification•certification body•ImpartialityPage 22Clause 4.1 Legal and contractual mattersISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 65 but more detailed description in:•legal responsibility (4.1.1)•certification agreement and use of licenses certificates (4.1.2)•marks of conformity (4.1.3)4. General requirementsPage 23Clause 4.2 ImpartialityISO/IEC 17065 and relation to ISO/IEC Guide 65Significant improvements related to ISO/IEC Guide 65:•Identification of the risks to impartiality•Impartiality in relation to other parts of the same legal entity and entities under organizational control •Impartiality in relation to separate legal entities •Firewalls to organizations or personnel providing consultancy4. General requirementsPage 24Page 25Clause 4.3Liability andfinancingISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 65 but partially more detailed descriptionClause 4.4Non-discrimi-natory conditionsClause 4.5ConfidentialityClause 4.6Publiclyavailableinformations4. General requirementsPage 26Clause 5.1Organization ISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 65 but partially more detailed description Clause 5.2SafeguardingImpartiality 5. Structural requirementsSignificant changes related to ISO/IEC Guide 65 by introducing a mechanism for safeguarding impartiality which can be a committee established by one or more CB’sa committee implemented by a scheme ownera governmental authority or an equivalent party.Page 276.1 Personnel ISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 65 but partially more detailed description.6.2 Evaluationresources 6. Resource requirementsSignificant changes related to ISO/IEC Guide 65 by introducing a more detailed description of internal and external resources. In ISO/IEC Guide 65, external resources is called subcontracting. Internal resources can also be resources under the direct control of the CB.Page 28Clause 7.1Scheme ISO/IEC 17065 and relation to ISO/IEC Guide 65Replacement of the term “system” by the term “scheme”.Guidance on the development of schemes will be given in future by ISO/IEC 17067.Clause 7.2/7.3Application 7. Process RequirementsApplication clause in ISO/IEC Guide 65 (8.2) is replaced in ISO/IEC 17065 by clauses 7.2 “application” and 7.3 “application review” which provides a more detailed information.Clause 7.4 EvaluationISO/IEC 17065 and relation to ISO/IEC Guide 65The functions “selection” and “determination” are combined to the function “evaluation”.Apart from that no essential changes related to ISO/IEC Guide 65 but partially more detailed description7. Process RequirementsPage 29Page 30ISO/IEC 17065 and relation to ISO/IEC Guide 65Clause 7.5Review 7. Process RequirementsIntroducing the function …review“ based on the functional approach provided in ISO/IEC 17000. A certification body must have all information and results related to the evaluation to complete the reviewClause 7.6 DecisionISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 65.New is the possibility to use persons for the decision who are under the organizational control of the CB.The function “decision” is based on the four-eyes-principal and can not be outsourced (subcontracted).7. Process RequirementsPage 31Clause 7.7 DocumentationISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO Guide 65 but partially more detailed descriptionClause 7.8Directory7. Process RequirementsPage 32Clause 7.9 SurveillanceISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO Guide 65 but partially more detailed description.Clause 7.10Changes7. Process RequirementsClause 7.11 Status Improvement related to ISO Guide 65 by more detailed description of termination, reduction, suspension or withdrawal of certification.Improvement related to ISO Guide 65 by introducing a more detailed description of changes affecting certification (introduced by the scheme or initiated by the client).Page 33Page 347.12 Records ISO/IEC 17065 and relation to ISO/IEC Guide 65No essential changes related to ISO/IEC Guide 657.13 Complaints /Appeals 7. Process RequirementsAlignment with ISO PAS 17003Clause 8. Management-systemISO/IEC 17065 and relation to ISO/IEC Guide 65Alignment with ISO PAS 17005, introducing two alternative options.The requirements for option A are contained in 8.2 to 8.8.Option B is based on ISO 9001.Page 35Principles (Annex A)ISO/IEC 17065 and relation to ISO/IEC Guide 65The informative Annex A contains the principles (no requirements) for product certification bodies and their activities.Process and services (Annex B)The informative Annex B provides explanations for application of this standard for certification of processes and services.Page 36Cross reference ISO/IEC Guide65:1996 to ISO/IEC 17065:2012 (1)To properly compare ISO/IEC Guide 65 and ISO/IEC 17065 and before going through the cross reference tables that follows, we recommend reading the document «contextual changes in Product certification since publication of ISO/IEC Guide 65» that is next to this presentation on ISO Online.As noted in this document, the underlying concepts of conformity assessment, and product certification in particular, advanced significantly between 1996 (the publication of ISO/IEC Guide 65) and 2009 (the initial drafting of ISO/IEC DIS 17065).In some cases the requirement from ISO/IEC Guide 65 has been CHANGED(not simply restated or reworded) and the cross reference is intended to highlight the changePage 37ISO/IEC 17065:2012 (2)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks1.1/1st paragraph/competent 11.1/1st paragraph/third-party 1 3rd sentence/3.121.1/1st paragraph/certification3.9/7.1.1System → scheme system1 1st sen./3.4/3.5/3.6/Annex B1.1/2nd paragraph/product,process, service1.27.1.1 Note 1 and 23.1 3.1Supplier → client4.1.1 4.4.14.1.2 4.4.2/4.4.34.1.3/1st and 2nd sentence7.1.24.1.3/3rd sentence7.1.34.1.4 4.4.44.2 a) 4.2Page 38ISO/IEC 17065:2012 (3)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 4.2 b)7.6.14.2 c)5.1.34.2 d) 4.1.14.2 e) 1st sentence5.1.14.2 e) 2nd sentence 4.2.4/5.24.2 f)7.6.24.2 g) 4.1.2.14.2 h) 4.3.14.2 i) 4.3.24.2 j) 6.1.1.14.2 k)84.2 l)8.2.4 ,5.1.2Page 39ISO/IEC 17065:2012 (4)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 4.2 m) 4.2.2, 4.2.54.2 n)5.1.44.2 o)/related bodies 4.2.7/4.2.84.2 o) 1) 4.2.6 a) –c)4.2 o) 2) 4.2.6 d) and e)4.2 o) 3) 4.2.34.2 p)7.134.3/1st paragraph/1st sentence7.4.44.3/1st paragraph/2nd sentence7.1.24.3/2nd paragraph 6.2.14.4 6.2.24.4 Note 27.4.5Page 40ISO/IEC 17065:2012 (5)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks4.4 Note 37.4.5 Note4.584.5.3 a)8.2.14.5.3 c) 6.1.2.2ISO/IEC17065 requirementapplies only to individuals in thecertification process4.5.3 d) 5.1.24.5.3 e) 5.1.2ISO/IEC17065 requirementmore focused4.5.3 f)8.54.5.3 g)8.34.5.3 h)8.2.54.5.3 i) 6.1.2.14.5.3 j) 6.2.2.4 d)Page 41ISO/IEC 17065:2012 (6)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 4.5.3 l)74.5.3 l) 1)7.11, 7.7.34.5.3 l) 2)8.34.5.3 m)7.134.5.3 n)8.64.6.1170005.1; 17000 5.2; 7.6.2;7.9.2; 7.114.6.2 a) and b)170005.1; 17000 5.2; 7.6.2;7.9.2; 7.114.6.2 c)7.104.7.18.64.7.28.54.8.1 b) 4.6 a)4.8.1 c) 4.6 a)Page 42ISO/IEC 17065:2012 (7)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 4.8.1 d) 4.6 b)4.8.1 e) 4.6 c)4.8.1 f) 4.6 d)4.8.1 g)7.84.8.28.2/8.34.97.12/8.44.10 4.54.10.1 6.1.1.35.1.16.1.1.25.1.26.1.2.1 d)/8.2.55.2.16.1.2.15.2.26.1.3Page 43ISO/IEC 17065:2012 (8)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 5.2.3 6.1.2.267.1077.138.1.1 4.6 a), 4.6 c8.1.2 4.1.2.28.1.3 4.6 a)/7.1.38.27.2, 7.38.2.1/application form7.2 Note 29.17.3.1 –7.3.49.27.4.19.37.4.2Page 44ISO/IEC 17065:2012 (9)ISO/IEC Guide 65:1996ISO/IEC 17065:2012Remarks 9.47.4.3107.4.4117.4.911 b)/nonconformities7.4.612.1 7.6.212.27.6.112.37.712.47.10137.913.2 4.1.2.2 k)/7.1014 4.1.315 4.1.2.2 j)Page 45ISO/IEC Guide 65:1996 (1)ISO/IEC 17065:2012ISO/IEC Guide 65:19961 1.1/1st paragraph/competent1 1st sen./3.4/3.5/3.6/Annex B 1.1/2nd paragraph/product, process, service 1 3rd sentence/3.12 1.1/1st paragraph/third-party3.1 3.13.4 1.1/2nd paragraph/product, process, service 3.5 1.1/2nd paragraph/product, process, service 3.6 1.1/2nd paragraph/product, process, service3.9/7.1.1 1.1/1st paragraph/certification system4.1.1 4.2 d)4.1.2.1 4.2 g4.1.2.28.1.2, 8.2.1Page 46ISO/IEC Guide 65:1996 (2)ISO/IEC 17065:2012ISO/IEC Guide 65:1996 4.1.3144.2 4.2 a; 4.2 e; 4.2 m; 4.2 o 4.3.1 4.2 h4.3.2 4.2 i)4.4.1 4.1.14.4.2/4.4.3 4.1.24.4.3 4.1.24.4.4 4.1.44.5 4.104.6 a) 4.8.1 b)4.6 a) 4.8.1 c)4.6 a)8.1.1Page 47ISO/IEC Guide 65:1996 (3)ISO/IEC 17065:2012ISO/IEC Guide 65:19964.6 a)/7.1.38.1.34.6 b) 4.8.1 d)4.6 c) 4.8.1 e)4.6 d) 4.8.1 f)5.1.1 4.2 e) 1st sentence5.1.2 4.2 l)5.1.2 4.5.3 d)5.1.2 4.5.3 e) 17065 requirement more focused 5.1.3 4.2 c)5.1.4 4.2 n)Page 48ISO/IEC Guide 65:1996 (4)ISO/IEC 17065:2012ISO/IEC Guide 65:19965.2 4.2 e) 2nd sentence6.1.1.1/6.1.1.2 4.2 j)6.1.1.2 5.1.16.1.1.3 4.10.16.1.2.1 4.5.3 i)6.1.2.1 5.2.16.1.2.1 d)/8.2.5 5.1.26.1.2.2 4.5.3 c) 17065 requirement applies only toindividuals in the certification process6.1.2.2 5.2.36.1.3 5.2.26.2.1 4.3/2nd paragraph6.2.2 4.4Page 49ISO/IEC Guide 65:1996 (5)ISO/IEC 17065:2012ISO/IEC Guide 65:19966.2.2.4 d) 4.5.3 j)7.1.1 1.1/1st paragraph/certification system 7.1.1 Note 1 and 2 1.27.1.2 4.1.3/1st and 2nd sentence7.1.2 4.3/1st paragraph/2nd sentence7.1.3 4.1.3/3rd sentence7.1.38.1.3Page 50。
FindBugs错误说明对照表rule.findbug.B某_BO某ING_IMMEDIATELY_UNBO某=性能-基本类型包装之后立刻解包rule.findbug.IJU_SETUP_NO_=使用错误-TetCae定义的etUp没有调用uper.etUp()rule.findbug.TQ_ALWAYS_VALUE_USED_WHERE_NEVER_=使用错误-某个值使用了注解限制类型,但是这个限制永远不会发生rule.findbug.TLW_TWO_LOCK_=多线程错误-等待两个被持有的锁rule.findbug.RV_01_TO_=使用错误-0至1的随机数被当做整数0rule.findbug.NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULL =高危-参数必须非null但是标记为可为nullrule.findbug.RV_ABSOLUTE_VALUE_OF_RANDOM_=使用错误-尝试计算32位随机整数的绝对值rule.findbug.EC_INCOMPATIBLE_ARRAY_=使用错误-使用equal()比较不兼容的数组rule.findbug.UL_UNRELEASED_LOCK_E某CEPTION_=多线程错误-方法没有在所有异常路径释放锁rule.findbug.SE_NONSTATIC_=不良实践-erialVerionUID不是tatic的rule.findbug.UCF_USELESS_CONTROL_=高危-无用控制流rule.findbug.BC_IMPOSSIBLE_=使用错误-不可能的转换rule.findbug.某SS_REQUEST_PARAMETER_TO_SEND_=安全风险-ervlet的反射导致跨站脚本漏洞rule.findbug.DM_NEW_FOR_=性能-仅为了获得一个方法就创建了一个对象rule.findbug.OBL_UNSATISFIED_=试验-方法可能在清理流或资源时失败rule.findbug.UW_UNCOND_=多线程错误-无条件等待rule.findbug.DLS_DEAD_LOCAL_STORE_OF_=高危-把null 设置给不会用到的局部变量rule.findbug.NM_CLASS_NAMING_=类名应该以大写字母开头rule.findbug.RC_REF_COMPARISON_BAD_PRACTICE_=使用错误-怀疑对两个布尔值的引用进行比较rule.findbug.MWN_MISMATCHED_=多线程错误-不匹配的notify()rule.findbug.NM_VERY_=错误-非常容易迷惑的方法名rule.findbug.FI_NULLIFY_=不良实践-空Finalizer禁用了超类的finalizerrule.findbug.MTIA_SUSPECT_STRUTS_INSTANCE_=高危-继承了trutAction的类使用了实例变量rule.findbug.DM_STRING_=性能-方法调用了效率很低的newString(String)构造方法rule.findbug.STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE.nam e=多线程错误-调用静态DateFormatrule.findbug.NP_NULL_PARAM_DEREF_=使用错误-非虚拟方法调用向非空参数传入了nullrule.findbug.FI_=不良实践-应该删除空的finalizerrule.findbug.CD_CIRCULAR_=试验-类间存在循环引用rule.findbug.EC_UNRELATED_=使用错误-使用equal()比较不同类型rule.findbug.EI_E某POSE_STATIC_=恶意代码漏洞-把可变对象保存到静态字段中可能会暴露内部静态状态rule.findbug.DMI_INVOKING_TOSTRING_ON_ANONYMOUS_=错误-对数组执行toStringrule.findbug.SIC_INNER_SHOULD_BE_STATIC_=性能-可以重构成一个静态内部类rule.findbug.STI_INTERRUPTED_ON_=错误-在thread实例上调用了静态Thread.interrupted()方法_IDIOM_NO_SUPER_=不良实践-clone方法没有调用uper.clone()rule.findbug.VA_FORMAT_STRING_BAD_=错误用法-格式化字符串占位符与传入的参数不匹配rule.findbug.EQ_DOESNT_OVERRIDE_=高危-类没有覆盖父类的equal方法rule.findbug.BC_IMPOSSIBLE_DOWNCAST_OF_=错误用法-集合转换为数组元素时发生的类型转换错误rule.findbug.SE_NO_SUITABLE_CONSTRUCTOR_FOR_E某=不良实践-类是可扩展的,但是没有提供无参数的构造方法rule.findbug.TQ_E某PLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_=错误用法-数值需要类型标示,但是却标记为未知rule.findbug.SIC_INNER_SHOULD_BE_STATIC_NEEDS_=性能-可以筹够成一个静态内部类rule.findbug.EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS.n ame=不良实践-equal检测不兼容的参数操作rule.findbug.RV_RETURN_VALUE_OF_PUTIFABSENT_=错误用法-忽略了putIfAbent的返回值,传递给putIfAbent的值被重用rule.findbug.STCAL_INVOKE_ON_STATIC_CALENDAR_=多线程错误-调用静态Calendarrule.findbug.MS_CANNOT_BE_=恶意代码漏洞-字段不是final的,不能防止恶意代码的攻击rule.findbug.IS_INCONSISTENT_=多线程错误-不一致的同步rule.findbug.SE_NO_=不良实践-类是可序列化的,但是没有定义erialVerionUIDrule.findbug.EI_E某POSE_=恶意代码漏洞-可能暴露内部实现,通过与可变对象引用协作rule.findbug.NM_METHOD_CONSTRUCTOR_=错误用法-明显的方法/构造方法混淆rule.findbug.ICAST_INTEGER_MULTIPLY_CAST_TO_=高危-整形乘法的结果转换为long型rule.findbug.QF_QUESTIONABLE_FOR_=高危-for循环中存在复杂,微妙或者错误的自增rule.findbug.DLS_DEAD_STORE_OF_CLASS_=错误用法-类中保存了无用字符rule.findbug.NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER.nam e=不良实践-使用了未来java版本中成为关键字的标识rule.findbug.BC_VACUOUS_=高危-intanceof会一直返回truerule.findbug.INT_VACUOUS_BIT_=高危-在整形上进行位操作时有一些位上出现空洞rule.findbug.NP_NULL_=错误用法-一个已知的null值被检测它是否是一个类型的实例rule.findbug.SIC_THREADLOCAL_DEADLY_=错误用法-非静态内部类和ThreadLocal的致命结合rule.findbug.EQ_=高危-罕见的equal方法rule.findbug.IJU_NO_=错误用法-TetCae没有任何测试rule.findbug.EQ_OVERRIDING_EQUALS_NOT_=错误用法-equal方法覆盖了父类的equal可能功能不符rule.findbug.某FB_某ML_FACTORY_=高危-方法直接调用了某ml接口的一个具体实现rule.findbug.SWL_SLEEP_WITH_LOCK_=多线程错误-方法在获得锁时调用了Thread.leep()_=不良实践-类实现了Cloneable,但是没有定义或使用clone方法rule.findbug.WA_AWAIT_NOT_IN_=多线程错误-未在循环中使用的Condition.await()rule.findbug.DM_FP_NUMBER_=性能-方法调用了低效的浮点书构造方法;应该使用静态的valueOf代替rule.findbug.SF_SWITCH_NO_=Switch语句中没有包含defaultrule.findbug.NP_NULL_ON_SOME_PATH_FROM_RETURN_=高危-调用返回返回值可能出现null值rule.findbug.NP_CLONE_COULD_RETURN_=不良实践-Clone 方法可能返回nullrule.findbug.MS_OOI_=恶意代码漏洞-属性应该从接口中移除并将访问权限设置为包保护rule.findbug.DM_BO某ED_PRIMITIVE_=性能-方法使用了装箱的基本类型只为了调用toStringrule.findbug.EQ_ABSTRACT_=不良实践-抽象类定义了协变的equal方法rule.findbug.DM_STRING_=性能-方法调用了String 的toString()方法rule.findbug.SE_METHOD_MUST_BE_=错误用法-方法必须是private的为了让序列化正常工作rule.findbug.DL_SYNCHRONIZATION_ON_=多线程错误-在Boolean上使用同步可能导致死锁rule.findbug.UWF_UNWRITTEN_=错误用法-未赋值属性rule.findbug.IS2_INCONSISTENT_=多线程错误-不一致的同步rule.findbug.IM_AVERAGE_COMPUTATION_COULD_=高危-计算平均值可能溢出rule.findbug.BIT_SIGNED_CHECK_HIGH_=错误用法-检查位运算的符号rule.findbug.FL_MATH_USING_FLOAT_=错误用法-方法进行数学运算时使用了浮点数的精度rule.findbug.WS_WRITEOBJECT_=多线程错误-类的writeObject()方法是同步的,但是没有做其他事情rule.findbug.RV_RETURN_VALUE_=错误用法-方法忽略了返回值rule.findbug.SQL_NONCONSTANT_STRING_PASSED_TO_E某=安全风险-非常量的字符串传递给方法执行SQL语句rule.findbug.JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_=不良实践-不可变的类的属性应该是finalrule.findbug.AM_CREATES_EMPTY_ZIP_FILE_=不良实践-创建了一个空的zip文件的入口rule.findbug.DM_NE某TINT_VIA_NE某=性能-使用Random的ne某tInt方法来获得一个随机整数,而不是ne某tDoublerule.findbug.UI_INHERITANCE_UNSAFE_=不良实践-如果类被扩展,GetReource的使用可能就是不安全的rule.findbug.SIO_SUPERFLUOUS_=错误用法-不必要的类型检测使用intanceof操作符rule.findbug.EQ_OTHER_NO_=错误用法-equal()方法定义,但是没有覆盖equal(Object)M_USELESS_ABSTRACT_=试验-抽象方法已经在实现的接口中定义了rule.findbug.MTIA_SUSPECT_SERVLET_INSTANCE_=高危-扩展Servlet的类使用了实例变量rule.findbug.DM_USELESS_=多线程错误-使用默认的空run方法创建了一个线程rule.findbug.ML_SYNC_ON_UPDATED_=多线程错误-方法在一个修改了的属性上进行了同步rule.findbug.BC_UNCONFIRMED_=高危-未检查/未证实的类型转换rule.findbug.FI_FINALIZER_NULLS_=不良实践-Finalizer空属性rule.findbug.BIT_=错误用法-不兼容的位掩码(BIT_AND) rule.findbug.FE_FLOATING_POINT_=高危-测试浮点数相等rule.findbug.TQ_E某PLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_=错误用法-值不要求有类型标示,但是标记为未知rule.findbug.NP_NULL_PARAM_=错误用法-方法调用把null传递给一个非null参数rule.findbug.FB_MISSING_E某PECTED_=试验-findbug 丢失了期待或需要的警告rule.findbug.DMI_INVOKING_HASHCODE_ON_=错误用法-在数组上调用了hahCoderule.findbug.QBA_QUESTIONABLE_BOOLEAN_=错误用法-方法在布尔表达式中分配了boolean文字rule.findbug.SA_FIELD_SELF_=错误用法-属性自己与自己进行了比较rule.findbug.UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR.na me=错误用法-父类的构造方法调用未初始化属性的方法rule.findbug.ES_COMPARING_PARAMETER_STRING_WITH_=不良实践-比较字符串参数使用了==或!=rule.findbug.INT_BAD_COMPARISON_WITH_NONNEGATIVE_=错误用法-错误比较非负值与负数rule.findbug.INT_BAD_COMPARISON_WITH_SIGNED_=错误用法-错误比较带符号的byterule.findbug.IO_APPENDING_TO_OBJECT_OUTPUT_=错误用法-尝试向一个对象输出流添加信息rule.findbug.FI_MISSING_SUPER_=不良实践-Finalizer 没有调用父类的finalizerrule.findbug.VA_FORMAT_STRING_E某TRA_ARGUMENTS_=错误用法-传递了多余实际使用的格式化字符串的参数rule.findbug.HE_EQUALS_USE_=不良实践-类定义了equal(),但使用了Object.hahCode()rule.findbug.IJU_BAD_SUITE_=错误用法-TetCae声明了一个错误的uite方法rule.findbug.DMI_CONSTANT_DB_=安全风险-硬编码了数据库密码rule.findbug.REC_CATCH_E某=高危-捕获了没有抛出的异常rule.findbug.PS_PUBLIC_=高危-类在公用接口中暴露了同步和信号rule.findbug.EC_UNRELATED_=错误用法-调用equal()比较不同的接口类型rule.findbug.UCF_USELESS_CONTROL_FLOW_NE某T_=错误用法-执行到下一行的无用流程控制rule.findbug.LG_LOST_LOGGER_DUE_TO_WEAK_=试验-OpenJDK中存在潜在的丢失logger的风险,因为弱引用rule.findbug.NP_UNWRITTEN_=错误用法-读取未初始化的属性rule.findbug.DMI_UNSUPPORTED_=高危-调用不支持的方法rule.findbug.RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VA =高危-重复比较非空值和nullrule.findbug.EC_BAD_ARRAY_=错误用法-调用equal(),与==效果一样rule.findbug.EI_E某POSE_=恶意代码漏洞-可能通过返回一个可变对象的引用暴露了内部实现rule.findbug.NP_DEREFERENCE_OF_READLINE_=高危-没有判断readLine()的结果是否为空rule.findbug.UPM_UNCALLED_PRIVATE_=性能-从未用到的私有方法rule.findbug.NP_NULL_ON_SOME_=错误用法-可能出现空指针引用rule.findbug.NP_EQUALS_SHOULD_HANDLE_NULL_=不良实践-equal()方法没有检测null参数rule.findbug.EC_NULL_=错误用法-使用空参数调用equal() rule.findbug.SE_BAD_FIELD_=不良实践-非序列化值保存在序列化类的实例变量中rule.findbug.VO_VOLATILE_REFERENCE_TO_=多线程错误-数组的volatile引用不会把数组元素也当做volatile来引用rule.findbug.NP_SYNC_AND_NULL_CHECK_=多线程错误-同步和空值检测发生在同一个属性上rule.findbug.DM_E某=不良实践-方法调用了Sytem.e某it(...)rule.findbug.RC_REF_=不良实践-怀疑进行了引用比较rule.findbug.SE_NO_SUITABLE_=不良实践-类是可序列化的,但是父类没有定义无参数构造方法rule.findbug.DC_=多线程错误-可能对属性进行了双重检测rule.findbug.DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_=错误用法-在int上调用了Double.longBitToDoublerule.findbug.RpC_REPEATED_CONDITIONAL_=错误用法-重复判断条件rule.findbug.WMI_WRONG_MAP_=性能-keySet迭代是低效的,使用entrySet代替rule.findbug.DLS_DEAD_LOCAL_=高危-未用的局部变量rule.findbug.INT_BAD_REM_BY_=错误用法-整数剩余模1 rule.findbug.RV_RETURN_VALUE_IGNORED_BAD_=不良实践-方法忽略异常返回值rule.findbug.SA_LOCAL_SELF_=高危-局部变量的自我赋值rule.findbug.MS_SHOULD_BE_=恶意代码漏洞-属性不是final,但是应该设置成finalrule.findbug.SIC_INNER_SHOULD_BE_=性能-应该是一个静态内部类rule.findbug.NP_GUARANTEED_=错误用法-null值一定会被调用rule.findbug.SE_READ_RESOLVE_MUST_RETURN_=不良实践-readReolve方法必须返回Objectrule.findbug.NP_LOAD_OF_KNOWN_NULL_=高危-加载了已知的null值rule.findbug.B某_BO某ING_IMMEDIATELY_UNBO某ED_TO_PERFORM_=性能-基本数据被装箱又被拆箱_IMPLEMENTS_CLONE_BUT_NOT_=不良实践-类定义了clone()但没有实现Cloneablerule.findbug.BAC_BAD_APPLET_=试验-错误的Applet构造方法依赖未初始化的AppletStubrule.findbug.EQ_GETCLASS_AND_CLASS_=不良实践-equal方法因为子类失败rule.findbug.DB_DUPLICATE_SWITCH_=高危-在两个witch语句中使用了相同的代码rule.findbug.DB_DUPLICATE_=高危-在两个分支中使用了相同的代码rule.findbug.UOE_USE_OBJECT_=试验-在final类上调用了equal,但是没有覆盖Object的equal方法rule.findbug.FI_=不良实践-Finalizer除了调用父类的finalizer以外什么也没做rule.findbug.NP_ALWAYS_=错误用法-调用了null指针rule.findbug.DMI_VACUOUS_SELF_COLLECTION_=错误用法-集合的调用不能被感知rule.findbug.DLS_DEAD_LOCAL_STORE_IN_=错误用法-返回语句中的无用的赋值rule.findbug.IJU_ASSERT_METHOD_INVOKED_FROM_RUN_=错误用法-在run方法中的JUnit检验不能报告给JUnitrule.findbug.DMI_EMPTY_DB_=安全风险-空的数据库密码rule.findbug.DM_BOOLEAN_=性能-方法调用了低效的Boolean构造方法;使用Boolean.valueOf(...)代替rule.findbug.BC_IMPOSSIBLE_=错误用法-不可能转型rule.findbug.BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS.na me=不良实践-Equal方法不应该假设任何有关参数类型的事宜rule.findbug.RV_E某CEPTION_NOT_=错误用法-异常创建后就丢弃了,没有抛出rule.findbug.VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_ =错误用法-基本类型数组传递给一个期待可变对象类型参数的方法rule.findbug.LI_LAZY_INIT_UPDATE_=多线程错误-错误的延迟初始化和更新静态属性rule.findbug.SA_FIELD_SELF_=错误用法-属性自身赋值rule.findbug.EQ_ALWAYS_=错误用法-equal方法一直返回falerule.findbug.DMI_RANDOM_USED_ONLY_=不良实践-Random 对象创建后只用了一次rule.findbug.NM_CLASS_NOT_E某=不良实践-Cla没有继承E某ception,虽然名字像一个异常rule.findbug.SA_LOCAL_DOUBLE_=高危-给局部变量双重赋值rule.findbug.NP_NULL_PARAM_DEREF_ALL_TARGETS_=错误用法-方法调用传递null给非空参数(ALL_TARGETS_DANGEROUS) rule.findbug.NP_TOSTRING_COULD_RETURN_=不良实践-toString方法可能返回nullrule.findbug.BC_BAD_CAST_TO_ABSTRACT_=高危-转换成抽象集合值得怀疑rule.findbug.NM_LCASE_=类定义了hahcode();应该是hahCode()吧?rule.findbug.RU_INVOKE_=多线程错误-在线程中调用了run(你的意思是再启动一次么?)rule.findbug.DMI_INVOKING_TOSTRING_ON_=错误用法-调用了数组的toStringrule.findbug.NM_METHOD_NAMING_=方法名应该以小写字母开头rule.findbug.RCN_REDUNDANT_COMPARISON_TWO_NULL_=高危-重复比较两个null值rule.findbug.SA_LOCAL_SELF_=错误用法-对一个变量进行无意义的自我计算(比如某&某)rule.findbug.MS_MUTABLE_=恶意代码漏洞-属性是可变的Hahtablerule.findbug.RV_DONT_JUST_NULL_CHECK_=高危-方法丢掉了readLine的结果,在检测它是非空之后。
The Codix 52U is a voltage-powered dual function counter with 4 functions in one device:Counter with 2 totalizing ranges, totalizer and timer, totalizer and frequency meter, timer with 2 time ranges.F or fast and slow count pulses, with 6-digit LED display for NPN, PNP input signals.Order codea Input switching level0 = S tandard (HTL) 1) A = 4 ... 30 V DC1) Stock types6.52U .01.3X 20aDelivery specification · Counter· Mounting clip· Front bezel for screw mounting (T008181) 56 x 40 mm [2.20 x 1.57“], panel cut-out 50 x 25 mm [1.97 x 0.98“]· Front bezel for clip mounting (T008180) 53 x 28 mm [2.09 x 1.10“], panel cut-out 50 x 25 mm [1.97 x 0.98“]· Gasket· Instruction manual, multilingualM u l t i f u n c t i o nd e v i c e sTechnical data1) Details see manualSuitable gaskets, other accessories and installation examples for optional accessories can be found in chapter accessories or in the accessories section under: /accessories.12345Block diagramTerminal assignmentFunction of the inputs INP A, INP BCounter with 2 totalizing ranges:INP A: Dynamic count input counter 1 and counter 2INP B: InactiveTotalizer and timer::INP A: Dynamic count input for totalizerINP B: Start/Stop or gate input for timer Totalizer and frequency meter:INP A: Dynamic count input/frequency inputINP B: InactiveTimer with 2 time ranges:INP A: Start input (depends on input type)INP B: Start/Stop or gate input for timer (depends on input type)Power supply:10...30 V DC μ processorDisplayA BKeypad52U.012Count input Reset inputPIN DC version 1 10 ... 30 V DC 2 0 V GND 3 INP A 4 INP B 5ResetApplications for dual functions• Pulse and frequency (speed) e .g. production data acquisition: total piece count and speed on OEM equipment, flow rate measuring systems – total flow and current flow • 2 pulse counters M easurement of batch and total piece count or of daily production count and total count values • Pulse and time (maintenance counter)Used in the lift industry as trip counters and hours-run meters and on production machines for piece and time counting, flow and time measurement, materials handling time and quantities • 2 timers M easurement of total time and orderspecific times, maintenance intervals and total time, time of day and total timePiece count on conveyor and production speedTrip counter and hours-runFlow rate and totalvolume48 [1.89]59 [2.323]6.5 [0.256]max. 19.3 [0.76]4 [0.158]24 [0.945]22 x 45[0.866 x 1.772]45+0,6[1.772+0.024]22.2+0,3[0.874+0.012]56 [2.205]1 [0.039]14 [0.158]40 [1.575]32 [1.26]25 x 50[0.984 x 1.969]25+0.5[0.984+0.02]25+0.550+0.6 [1.969+0.024]M325+0.5[0.984+0.02]32±0.1[1.26±0.004]50+0.6 [1.969+0.024]53 [2.087][1.103]28[0.984 x 1.969]25 x 501 [0.039]4 [0.158]25+0.5M u l t i f u n c t i o n d e v i c e sFront bezel for clip mounting (included in delivery)Front bezel for screw mounting (included in delivery)DimensionsDimensions in mm [inch]Panel-cut-outPanel-cut-outPanel-cut-out1 C ountersinking Af3, DIN 74。
Writing Robust Java Code The AmbySoft Inc. Coding Standards for Javav17.01dScott W. AmblerSoftware Process Mentor This Version: January 15, 2000This page left unintentionally blank.(yuk yuk yuk)Purpose of this White PaperThis white paper describes a collection of standards, conventions, and guidelines for writing solid Java code. They are based on sound, proven software engineering principles that lead to code that is easy to understand, to maintain, and to enhance. Furthermore, by following these coding standards your productivity as a Java developer should increase remarkably – Experience shows that by taking the time to write high-quality code right from the start you will have a much easier time modifying it during the development process. Finally, following a common set of coding standards leads to greater consistency, making teams of developers significantly more productive.Important Features of This White Paper•Existing standards from the industry are used wherever possible – You can reuse more than just code.•The reasoning behind each standard is explained so that you understand why you should follow it.•Viable alternatives, where available, are also presented along with their advantages and disadvantages so that you understand the tradeoffs that have been made.•The standards presented in this white paper are based on real-world experience from numerous object-oriented development projects. This stuff works in practice, not just theory.•These standards are based on proven software-engineering principles that lead to improved development productivity, greater maintainability, and greater enhancability.T arget AudienceP rofessional software developers who are interested in:•Writing Java code that is easy to maintain and to enhance•Increasing their productivity•Working as productive members of a Java development teamHelp Me Improve These StandardsBecause I welcome your input and feedback, please feel free to email me at scott@ with your comments and suggestions. Let’s work together and learn from one another.AcknowledgmentsThe following people have provided valuable input into the development and improvement of these standards, and I would like to recognize them for it.Stephan Marceau Lyle Thompson David Pinn Larry VirdenEva Greff Wayne Conrad Michael Appelmans William GilbertGraham Wright Alex Santos Kiran Addepalli Brian SmithLarry Allen Dick Salisbury Bruce Conrad Michael FinneyJohn Pinto Vijay Eluri Carl Zimmerman Hakan SoderstromBill Siggelkow Camille Bell Fredrik Nystrom Cory RadcliffKathy Eckman Guy Sharf Scott HarperKyle Larson Robert Marshall Peter C.M. HaightMark Brouwer Gerard Broeksteeg Helen GilmoreScott W. AmblerJanuary 2000This page also left unintentionally blank. (although now it isn’t quite as funny)Table of Contents1.GENERAL CONCEPTS (1)1.1W HY C ODING S TANDARDS ARE I MPORTANT (1)1.2T HE P RIME D IRECTIVE (1)1.3W HAT M AKES U P A G OOD N AME (2)1.4G OOD D OCUMENTATION (3)1.4.1The Three Types of Java Comments (4)1.4.2 A Quick Overview of javadoc (5)1.5A MBLER’S L AW OF S TANDARDS (6)2.STANDARDS FOR MEMBER FUNCTIONS (7)2.1N AMING M EMBER F UNCTIONS (7)2.1.1Naming Accessor Member Functions (7)2.1.1.1Getters (7)2.1.1.1.1Alternative Naming Convention for Getters – Has and Can (8)2.1.1.2Setters (8)2.1.1.3Constructors (8)2.2M EMBER F UNCTION V ISIBILITY (9)2.3D OCUMENTING M EMBER F UNCTIONS (9)2.3.1The Member Function Header (9)2.3.2Internal Documentation (11)2.4T ECHNIQUES FOR W RITING C LEAN C ODE (12)2.4.1Document Your Code (12)2.4.2Paragraph/Indent Your Code (13)2.4.3Paragraph and Punctuate Multi-Line Statements (13)2.4.4Use Whitespace in Your Code (14)2.4.5Follow The Thirty-Second Rule (14)2.4.6Write Short, Single Command Lines (14)2.4.7Specify the Order of Operations (14)2.5J AVA C ODING T IPS (15)2.5.1Organize Your Code Sensibly (15)2.5.2Place Constants on the Left Side of Comparisons (15)3.STANDARDS FOR FIELDS (ATTRIBUTES/PROPERTIES) (16)3.1N AMING F IELDS (16)3.1.1Use a Full English Descriptor for Field Names (16)3.1.1.1Alternative – Hungarian Notation (16)3.1.1.2Alternative – Leading or Trailing Underscores (17)3.1.2Naming Components (Widgets) (17)3.1.2.1Alternative for Naming Components – Hungarian Notation (17)3.1.2.2Alternative for Naming Components – Postfix-Hungarian Notation (17)3.1.3Naming Constants (18)3.1.4Naming Collections (19)3.1.4.1Alternative for Naming Collections – The ‘Some’ Approach (19)3.1.5Do Not “Hide” Names (19)3.2F IELD V ISIBILITY (20)3.3D OCUMENTING A F IELD (21)3.4T HE U SE OF A CCESSOR M EMBER F UNCTIONS (21)3.4.1Naming Accessors (22)3.4.2Advanced Techniques for Accessors (23)3.4.2.1Lazy Initialization (23)3.4.2.2Getters for Constants (24)3.4.2.3Accessors for Collections (26)3.4.2.4Accessing Several Fields Simultaneously (26)3.4.3Visibility of Accessors (27)3.4.4Why Use Accessors? (28)3.4.5Why Shouldn’t You Use Accessors? (28)3.5A LWAYS I NITIALIZE S TATIC F IELDS (29)4.STANDARDS FOR LOCAL VARIABLES (30)4.1N AMING L OCAL V ARIABLES (30)4.1.1Naming Streams (30)4.1.2Naming Loop Counters (30)4.1.3Naming Exception Objects (31)4.1.4Bad Ideas for Naming Local Variables (31)4.2D ECLARING AND D OCUMENTING L OCAL V ARIABLES (32)4.2.1General Comments About Declaration (32)5.STANDARDS FOR PARAMETERS (ARGUMENTS) TO MEMBER FUNCTIONS (33)5.1N AMING P ARAMETERS (33)5.1.1Alternative – Prefix Parameter Names with ‘a’ or ‘an’ (33)5.1.2Alternative – Name Parameters Based on Their Type (33)5.1.3Alternative – Name Parameters The Same as Their Corresponding Fields (if any) (34)5.2D OCUMENTING P ARAMETERS (34)6.STANDARDS FOR CLASSES, INTERFACES, PACKAGES, AND COMPILATION UNITS (35)6.1S TANDARDS FOR C LASSES (35)6.1.1Class Visibility (35)6.1.2Naming Classes (35)6.1.3Documenting a Class (36)6.1.4Class Declarations (37)6.1.4.1Apply The “final” Keyword Sensibly (37)6.1.4.2Ordering Member Functions and Fields (37)6.1.5Minimize the Public and Protected Interface (38)6.2S TANDARDS FOR I NTERFACES (39)6.2.1Naming Interfaces (39)6.2.2Documenting Interfaces (39)6.3S TANDARDS FOR P ACKAGES (40)6.3.1Naming Packages (40)6.3.2Documenting a Package (40)6.4S TANDARDS FOR C OMPILATION U NITS (41)6.4.1Naming a Compilation Unit (41)6.4.2Documenting a Compilation Unit (41)7.MISCELLANEOUS STANDARDS/ISSUES (42)7.1R EUSE (42)7.2U SE W ILD C ARDS W HEN I MPORTING C LASSES (42)7.2.1Alternative – Explicitly Specify Each Imported Class (42)7.3O PTIMIZING J AVA C ODE (43)7.4W RITING J AVA T EST H ARNESSES (46)8.THE SECRETS OF SUCCESS (47)8.1U SING T HESE S TANDARDS E FFECTIVELY (47)8.2O THER F ACTORS T HAT L EAD TO S UCCESSFUL C ODE (48)9.PROPOSED JAVADOC TAGS FOR MEMBER FUNCTIONS (50)10.WHERE TO GO FROM HERE (51)10.1C REATING Y OUR O WN I NTERNAL C ORPORATE G UIDELINES? (51)10.1.1Using This PDF File (51)10.1.2Obtaining the Source Document for This File (51)11.SUMMARY (52)11.1J AVA N AMING C ONVENTIONS (53)11.2J AVA D OCUMENTATION C ONVENTIONS (55)11.2.1Java Comment Types (55)11.2.2What To Document (56)11.3J AVA C ODING C ONVENTIONS (G ENERAL) (57)GLOSSARY (58)REFERENCES AND SUGGESTED READING (62)12.ABOUT THE AUTHOR (64)13.INDEX (65)1. General ConceptsI’d like to start this white paper with a discussion of some general concepts that I feel are important for coding standards. I begin with the importance of coding standards, propose the “Prime Directive” for standards, and then follow with the factors that lead to good names and good documentation. This section will set the stage for the rest of this white paper, which covers standards and guidelines for Java coding.1.1 Why Coding Standards are ImportantCoding standards for Java are important because they lead to greater consistency within your code and the code of your teammates. Greater consistency leads to code that is easier to understand, which in turn means it is easier to develop and to maintain. This reduces the overall cost of the applications that you create.You have to remember that your Java code will exist for a long time, long after you have moved on to other projects. An important goal during development is to ensure that you can transition your work to another developer, or to another team of developers, so that they can continue to maintain and enhance your work without having to invest an unreasonable effort to understand your code. Code that is difficult to understand runs the risk of being scrapped and rewritten – I wouldn’t be proud of the fact that my code needed to be rewritten, would you? If everyone is doing their own thing then it makes it very difficult to share code between developers, raising the cost of development and maintenance.Inexperienced developers, and cowboys who do not know any better, will often fight having to follow standards. They claim they can code faster if they do it their own way. Pure hogwash. They MIGHT be able to get code out the door faster, but I doubt it. Cowboy programmers get hung up during testing when several difficult-to-find bugs crop up, and when their code needs to be enhanced it often leads to a major rewrite by them because they’re the only ones who understand their code. Is this the way that you want to operate? I certainly do not.1.2 The Prime DirectiveNo standard is perfect and no standard is applicable to all situations: sometimes you find yourself in a situation where one or more standards do not apply. This leads me to introduce what I consider to be the prime directive of standards:When you go against a standard, document it. All standards, except for this one, can be broken. If you do so, you must document why you broke the standard, the potential implications of breaking the standard, and any conditions that may/must occur before the standard can be applied to thissituation.The bottom line is that you need to understand each standard, understand when to apply them, and just as importantly when not to apply them.1.3 What Makes Up a Good NameWe will be discussing naming conventions throughout the standards, so let’s set the stage with a few basics:e full English descriptors1 that accurately describe the variable/field/class/… For example, usenames like firstName, grandTotal, or CorporateCustomer. Although names like x1, y1, or fn are easy to type because they’re short, they do not provide any indication of what they represent and result in code that is difficult to understand, maintain, and enhance (Nagler, 1995; Ambler, 1998a).e terminology applicable to the domain. If your users refer to their clients as customers, then use theterm Customer for the class, not Client. Many developers will make the mistake of creating generic terms for concepts when perfectly good terms already exist in the industry/domain.e mixed case to make names readable. You should use lower case letters in general, but capitalizethe first letter of class names and interface names, as well as the first letter of any non-initial word(Kanerva, 1997).e abbreviations sparingly, but if you do so then use them intelligently. This means you shouldmaintain a list of standard short forms (abbreviations), you should choose them wisely, and you should use them consistently. For example, if you want to use a short form for the word “number,” thenchoose one of nbr, no, or num, document which one you chose (it doesn’t really matter which one), and use only that one.5.Avoid long names (< 15 characters is a good idea). Although the class namePhysicalOrVirtualProductOrService might seem to be a good class name at the time (OK, I’mstretching it on this example) this name is simply too long and you should consider renaming it tosomething shorter, perhaps something like Offering (NPS, 1996).6.Avoid names that are similar or differ only in case. For example, the variable names persistentObjectand persistentObjects should not be used together, nor should anSqlDatabase and anSQLDatabase (NPS, 1996).7.Capitalize the first letter of standard acronyms. Names will often contain standard abbreviations, suchas SQL for Standard Query Language. Names such as sqlDatabase for an attribute, or SqlDatabase for a class, are easier to read than sQLDatabase and SQLDatabase.1 I use the term “full English descriptor” throughout this document, but what I really mean is “full [insert your language here] descriptor”, so if the spoken language of your team is French then use full French descriptors everywhere.1.4 Good DocumentationWe will also be discussing documentation conventions, so let’s discuss some of the basics first:ments should add to the clarity of your code. The reason why you document your code is to makeit more understandable to you, your coworkers, and to any other developer who comes after you(Nagler, 1995).2.If your program isn’t worth documenting, it probably isn’t worth running (Nagler, 1995). What can Isay, Nagler hit the nail on the head with this one.3.Avoid decoration, i.e. do not use banner-like comments. In the 1960s and 1970s COBOL programmersgot into the habit of drawing boxes, typically with asterisks, around their internal comments (NPS, 1996).Sure, it gave them an outlet for their artistic urges, but frankly it was a major waste of time that added little value to the end product. You want to write clean code, not pretty code. Furthermore, because many of the fonts used to display and print your code are proportional, and many aren’t, you can’t line up your boxes properly anyway.4.Keep comments simple. Some of the best comments I have ever seen are simple, point-form notes. Youdo not have to write a book, you just have to provide enough information so that others canunderstand your code.5.Write the documentation before you write the code. The best way to document code is to write thecomments before you write the code. This gives you an opportunity to think about how the code will work before you write it and will ensure that the documentation gets written. Alternatively, you should at least document your code as you write it. Because documentation makes your code easier tounderstand you are able to take advantage of this fact while you are developing it. The way I look at it, if you are going to invest the time writing documentation you should at least get something out of it (Ambler, 1998a).6.Document why something is being done, not just what. Fundamentally, I can always look at a piece ofcode and figure out what it does. For example, I can look at the code in Example 1 below and figure out that a 5% discount is being given on orders of $1,000 dollars or more. Why is this being done? Is therea business rule that says that large orders get a discount? Is there a limited-time special on large ordersor is it a permanent program? Was the original programmer just being generous? I do not know unless it is documented somewhere, either in the source code itself or in an external document (Ambler, 1998a).if ( grandTotal >= 1000.00){grandTotal = grandTotal * 0.95;}Example 1.11.4.1 The Three Types of Java CommentsJava has three styles of comments: Documentation comments start with /** and end with */, C-style comments which start with /* and end with */, and single-line comments that start with // and go until the end of the source-code line. In the chart below is a summary of my suggested use for each type of comment, as well as several examples.Comment Type Usage ExampleDocumentation Use documentation commentsimmediately before declarations ofinterfaces, classes, member functions,and fields to document them.Documentation comments are processedby javadoc, see below, to create externaldocumentation for a class./**Customer – A customer is any person or organization that we sell services and products to. @author S.W. Ambler*/C style Use C-style comments to document outlines of code that are no longerapplicable, but that you want to keep justin case your users change their minds, orbecause you want to temporarily turn itoff while debugging./*This code was commented outby J.T. Kirk on Dec 9, 1997because it was replaced by thepreceding code. Delete it after two years if it is still not applicable.. . . (the source code )*/Single line Use single line comments internallywithin member functions to documentbusiness logic, sections of code, anddeclarations of temporary variables.// Apply a 5% discount to all invoices // over $1000 as defined by the Sarek // generosity campaign started in// Feb. of 1995.The important thing is that your organization should set a standard as to how C-style comments and single-line comments are to be used, and then to follow that standard consistently. Use one type to document business logic and use the other to document out old code. I prefer using single-line comments for business logic because I can put the documentation on the same line as the code (this is called endlining and sometimes inlining). I then use C-style comments for documenting out old code because I can comment out several lines at once and because C-style looks very similar to documentation comments I rarely use them so as to avoid confusion.Tip – Beware Endline CommentsMcConnell (1993) argues strongly against the use of endline comments, also known as inline comments or end of line comments. He points out that the comments have to be aligned to the right of the code so that they do not interfere with the visual structure of the code. As a result they tend to be hard to format, and that “if you use many of them, it takes time to align them. Such time is not spent learning more about the code; it is dedicated solely to the tedious task of pressing the spacebar or the tab key.” He also points out that endline comments are also hard to maintain because when the code on the line grows it bumps the endline comment out, and that if you are aligning them you have to do the same for the rest of them. My advice, however, is to not waste your time aligning endline comments.1.4.2 A Quick Overview of javadocIncluded in Sun’s Java Development Kit (JDK) is a program called javadoc that processes Java code files and produces external documentation, in the form of HTML files, for your Java programs. I think that javadoc is a great utility, but at the time of this writing it does have its limitations. First, it supports a limited number of tags, reserved words that mark the beginning of a documentation section. The existing tags are a very good start but I feel are not sufficient for adequately documenting your code. I’ll expand upon this statement later. For now, I present a brief overview of the current javadoc tags in the chart below, and will refer you to the JDK javadoc documentation for further details.Tag Used for Purpose@author name Interfaces,Classes,Interfaces Indicates the author(s) of a given piece of code. One tag per author should be used.@deprecated Interfaces,Classes,MemberFunctions Indicates that the API for the class… has been deprecated and therefore should not be used any more.@exception name description MemberFunctions Describes the exceptions that a member function throws. You should use one tag per exception and give the full class name for the exception.@param name description MemberFunctions Used to describe a parameter passed to a member function, including its type/class and its usage. Use one tag per parameter.@return description MemberFunctions Describes the return value, if any, of a member function. You should indicate the type/class and the potential use(s) of the return value.@since Interfaces,Classes, MemberFunctions Indicates how long the item has existed, i.e. since JDK 1.1@see ClassName Classes,Interfaces,MemberFunctions, Fields Generates a hypertext link in the documentation to the specified class. You can, and probably should, use a fully qualified class name.@see ClassName#member functionName Classes,Interfaces,MemberFunctions, FieldsGenerates a hypertext link in the documentation tothe specified member function. You can, andprobably should, use a fully qualified class name.@version text Classes,Interfaces Indicates the version information for a given piece of code.The way that you document your code has a huge impact both on your own productivity and on the productivity of everyone else who later maintains and enhances it. By documenting your code early in the development process you become more productive because it forces you to think through your logic before you commit it to code. Furthermore, when you revisit code that you wrote days or weeks earlier you can easily determine what you were thinking when you wrote it – it is documented for you already.1.5 Ambler’s Law of StandardsWhenever possible, reuse standards and guidelines, don’t reinvent them. The greater the scope of the standards and guidelines the more desirable they are, industry standards are more desirable than organizational standards which in turn are more desirable than project standards. Projects aren’t developed in a vacuum and organizations do not operate in a vacuum either, therefore the greater the scope of the standard the greater the chance that somebody else is also following it, making it that much easier for you to work together with them.Ambler’s Law of StandardsIndustry standards > organizational standards > project standards >personal standards > no standardsBlatant Advertising – Purchase The Elements of Java Style today!This book (Vermeulen et. al., 2000) presents a collection of strategies forwriting superior Java source code. This book presents a wider range ofguidelines than what is presented here in this paper, and more importantlypresents excellent source code examples. It covers many topics that are notcovered in this paper, such as type safety issues, exception handling,assertions, and concurrency issues such as synchronization. This paper wascombined with Rogue Wave’s internal coding standards and then togetherwere evolved to become The Elements of Java Style, so you should find thebook to be an excellent next step in your Java learning process. Visit/elementsJavaStyle.html for more details.2. Standards For Member FunctionsI’m a firm believer in maximizing the productivity of systems professionals. Because I also recognize that an application spends the majority of its existence being maintained, not developed, I am very interested in anything that can help to make my code easier to maintain and to enhance, as well as to develop. Never forget that the code that you write today may still be in use many years from now and will likely be maintained and enhanced by somebody other than you. You must strive to make your code as “clean” and understandable as possible, because these factors make it easier to maintain and to enhance.In this section we will concentrate on four topics:•Naming conventions•Visibility•Documentation conventions•Techniques for writing clean Java code2.1 Naming Member FunctionsMember Functions should be named using a full English description, using mixed case with the first letter of any non-initial word capitalized. It is also common practice for the first word of a member function name to be a strong, active verb.Examples:openAccount()printMailingLabel()save()delete()This convention results in member functions whose purpose can often be determined just by looking at its name. Although this convention results in a little extra typing by the developer, because it often results in longer names, this is more than made up for by the increased understandability of your code.2.1.1 Naming Accessor Member FunctionsWe will discuss accessors, member functions that get and set the values of fields (fields/properties) in greater detail in chapter 3. The naming conventions for accessors, however, are summarized below.2.1.1.1 GettersGetters are member functions that return the value of a field. You should prefix the word ‘get’ to the name of the field, unless it is a boolean field and then you prefix ‘is’ to the name of the field instead of ‘get.’Examples:getFirstName()getAccountNumber()getLostEh()isPersistent()isAtEnd()By following this naming convention you make it obvious that a member function returns a field of an object, and for boolean getters you make it obvious that it returns true or false. Another advantage of this standard is that it follows the naming conventions used by the beans development kit (BDK) for getter member functions (DeSoto, 1997). The main disadvantage is that ‘get’ is superfluous, requiring extra typing.2.1.1.1.1 Alternative Naming Convention for Getters – Has and CanA viable alternative, based on proper English conventions, is to use the prefix ‘has’ or ‘can’ instead of ‘is’for boolean getters. For example, getter names such as hasDependents() and canPrint() make a lot of sense when you are reading the code. The problem with this approach is that the BDK will not pick up on this naming strategy (yet). You could rename these member functions isBurdenedWithDependents() and isPrintable(). J2.1.1.2 SettersSetters, also known as mutators, are member functions that modify the values of a field. You should prefix the word ‘set’ to the name of the field, regardless of the field type.Examples:setFirstName(String aName)setAccountNumber(int anAccountNumber)setReasonableGoals(Vector newGoals)setPersistent(boolean isPersistent)setAtEnd(boolean isAtEnd)Following this naming convention you make it obvious that a member function sets the value of a field of an object. Another advantage of this standard is that it follows the naming conventions used by the beans development kit (BDK) for setter member functions (DeSoto, 1997). The main disadvantage is that ‘set’ is superfluous, requiring extra typing.2.1.1.3 ConstructorsConstructors are member functions that perform any necessary initialization when an object is first created. Constructors are always given the same name as their class. For example, a constructor for the class Customer would be Customer(). Note that the same case is used.Examples:Customer()SavingsAccount()PersistenceBroker()This naming convention is set by Sun and must be strictly adhered to.2.2 Member Function VisibilityFor a good design where you minimize the coupling between classes, the general rule of thumb is to be as restrictive as possible when setting the visibility of a member function. If member function doesn’t have to be public then make it protected, and if it doesn’t have to be protected then make it private.Visibility Description Proper Usagepublic A public member function can be invoked byany other member function in any otherobject or class.When the member function must be accessible by objects and classes outside of the class hierarchy in which the member function is defined.protected A protected member function can beinvoked by any member function in the classin which it is defined or any subclasses ofthat class.When the member function provides behavior that is needed internally within the class hierarchy but not externally.private A private member function can only beinvoked by other member functions in theclass in which it is defined, but not in thesubclasses.When the member function provides behavior that is specific to the class. Private member functions are often the result of refactoring, also known as reorganizing, the behavior of other member functions within the class to encapsulate one specific behavior.No visibility is indicated. This is called default or package visibility, and is sometimes referred to as friendly visibility. The member function is effectively public to all other classes within the same package, but private to classes external to the package.This is an interesting feature, but be careful with its use. I use it when I’m building domain components (Ambler, 1998b), collections of classes that implement a cohesive business concept such as “Customer”, to restrict access to only the classes within the component/package.2.3 Documenting Member FunctionsThe manner in which you document a member function will often be the deciding factor as to whether or not it is understandable, and therefore maintainable and extensible.2.3.1 The Member Function HeaderEvery Java member function should include some sort of header, called member function documentation, at the top of the source code that documents all of the information that is critical to understanding it. This information includes, but is not limited to the following:1.What and why the member function does what it does. By documenting what a member function doesyou make it easier for others to determine if they can reuse your code. Documenting why it doessomething makes it easier for others to put your code into context. You also make it easier for others to determine whether or not a new change should actually be made to a piece of code (perhaps the reason for the new change conflicts with the reason why the code was written in the first place).2.What a member function must be passed as parameters. You also need to indicate what parameters, ifany, must be passed to a member function and how they will be used. This information is needed so。
Package‘objectSignals’October14,2022License GPL(>=2)Maintainer Michael Lawrence<*****************>Title Observer Pattern for S4Author Michael Lawrence,Tengfei YinDescription A mutable Signal object can report changes to its state,clients could register functions so that they are called wheneverthe signal is emitted.The signal could be emitted,disconnected,blocked,unblocked,and buffered.Depends R(>=2.12)Imports methodsVersion0.10.3Collate Signal-class.R utils.RNeedsCompilation noRepository CRANDate/Publication2022-04-0506:00:02UTCR topics documented:declareSignal (1)fieldWithPrototype (2)Signal-class (3)Index6 declareSignal Declaring a signalfieldDescriptionDeclares a signalfield that is lazily populated when thefield isfirst accessed.This avoids the need for the constructor/initializer to explicitly create the signal.12fieldWithPrototypeUsagedeclareSignal(expr)Argumentsexpr The expression that names the signal and specifies its signature.See the exam-ple.ValueA list offield definitions,suitable for passing to setRefClass.Author(s)Michael LawrenceExamplessetRefClass("Dataset",fields=c(elements="list",declareSignal(elementsChanged(which))))fieldWithPrototype Fields with prototypesDescriptionA convenience for declaring a default value for afield,in the vein of prototype for S4classes,except the default value is quoted and evaluated lazily.UsagefieldWithPrototype(name,class,value)Argumentsname The name of thefieldclass The class of thefieldvalue Default value that when evaluated initializes thefieldValueA list suitable for use with setRefClassAuthor(s)Michael lawrenceExamplesBrush.gen<-setRefClass("Brush",fields=fieldWithPrototype("color","character","red"))brush<-Brush.gen$new()brush$colorbrush$color<-"blue"brush$colorSignal-class Signal objectsDescriptionCreates a Signal object,with which a mutable object can report changes to its state.Interested clients register a function that is called whenever the signal is emitted.This allows those clients to respond to changes in the object state.DetailsA Signal object is usually created by a constructor and stored as afield in a reference class object.Clients then access the signal either directly or through an accessor.The Signal reference class has the following methods:connect(FUN,namedArgs=FALSE,...)Connect FUN as a handler for the signal.A unique iden-tifier is returned,which can be used to later disconnect the handler.Handler invocation follows these rules:•namedArgs=TRUE arguments are named in call to handler.Otherwise,they are unnamedand matching is by position.•If a handler is missing a signal argument,the argument is dropped when calling the han-dler.•A handler may have arguments not in the signal signature.•Arguments in...are appended to the handler call.disconnect(id)Disconnects the handler registered with the identifier id.emit(<signal signature>)Emits the signal,calling all of its handlers with the passed arguments.The signature depends on how the signal was constructed.All signal args must be passed to emit,unless they have a default.block()Blocks emission of the signal.All emission requests are ignored.unblock()Unblock the signal.buffer()Buffer emissions,waiting to pass them to the handlers until flush is called.flush()Flush the emission buffer,calling every handler on every buffered emission.accumulator(value)If called with no arguments,get the function,if any,used to combine events in the buffer into a single event.Otherwise,value replaces the current function.The accumu-lator function should take one or two arguments.If it takes one argument,it is invoked upon aflush and is passed the list of events in the buffer.An event is simply a list containing the arguments passed to emit.If the accumulator function takes two arguments,the function is invoked upon every emission,when buffering is active and there is one event in the buffer.The first argument is the currently buffered event and the second is the new event that the function should merge into thefirst.The returned event then replaces the event in the buffer. Constructor•Signal(...)Create an instance of the reference class Signal...Arguments that express the signature of the signalAccessors•length(x):The number of listeners in signal x.•listeners(object):A list of listeners in signal x.Author(s)Michael Lawrence,Tengfei YinExamplesSignal(x,y)signal<-Signal(x,y,z=NA)signal$connect(function(n,x,option="none")message("x:",x),namedArgs=TRUE)signal$connect(function(z,...)message("z:",z,"x:",list(...)$x),namedArgs=TRUE)signal$emit(0,1)##signal$connect(function(x,y,option="none")message("y:",y,"op:",option),TRUE)signal$connect(function(x,y,option="none")message("op:",option),option="test")signal$connect(function(x,y,option="none")message("op:",option),FALSE,"test")id<-signal$connect(function(x,y,option="none")message("op:",option),TRUE,"test")##signal$emit(0,1)##signal$disconnect(id)signal$emit(0,2)##signal<-Signal(x)signal$connect(function(i)print(i))##signal$block()signal$emit(0)signal$unblock()signal$emit(0)##signal$buffer()signal$emit(0);signal$emit(1);signal$emit(3) signal$flush()##signal$accumulator(function(prev,cur){prev$x<-c(prev$x,cur$x)prev})signal$buffer()signal$emit(0);signal$emit(1);signal$emit(3) signal$flush()##accessorslength(signal)listeners(signal)Indexclass:Signal(Signal-class),3 declareSignal,1fieldWithPrototype,2length,Signal-method(Signal-class),3 listeners(Signal-class),3listeners,Signal-method(Signal-class),3prototype,2setRefClass,2Signal(Signal-class),3Signal-class,36。
Product InformationThe Sartocheck® 5 Plus represents the ideal intersection point of today’s most relevant industry requirements for filter integrity testing within demanding GMP environments. A combination of a unique approach to Quality Risk Management (QRM) as well as optimal data integrity, intuitive usability, and minimized risk factors for Health, Safety, and Environment (HSE) set a new standard for filter integrity test devices.Sartocheck® 5 Plus Filter TesterKeeps Your Risk Factors Under Complete ControlNew Software Release Q1 2023 - Version 2.2.1Data Integrity-Custom Linux-based OS with SSB custom architecture-Audit trail with time zone-synchronized (NTP) events-Write-protected and constantly monitored root file system-Encrypted double data backup | redundant data storage-4 eyes principle | electronic signatures-Comprehensive and flexible role management-Locking out user after X number of unsuccessfullogin attempts-Serial number of the device in every audit trail entry-Easy to read audit trail on the screen-Harmonized time representations-A major update of the root file system of the SC5 inthe Q2 2022 release will further strengthen the datasecurity aspects of the software-Mandatory “Why” comment when modifying programparameters (Q2 2022)-Blocking of abusive test attempts (Q2 2022)Request the Data Integrity statement for more details.CCS, HSE | OSH-Splash-proof (IP64)-Ex-proof (ATEX IECEx & FM certified)-Safe testing and re-testing of alcohol-wetted filters-Continuous and clear visualization of pressure status-Resistant to all current cleaning agents-H2O2-vapor-resistant (VHP)-PFA tubings (FDA 21 CFR 177 and USP Class VIcompliant)-Optional kit for automated cleaning of the pneumaticswith up to 0.5 M NaOH at 50 °C, available in Q3 2022(requires at least software version 2.0.0). See theC ontamination Control Strategy documentationfor additional information-Optional accessory kit for backflow protection(26787---AK---EV)Quality Risk Management-Automatic detection of incorrect test setups-Program-specific min. and max. values for volumedetermination-Program-specific min. diffusion | intrusion values-Program-specific min. flow at pressure end duringa bubble point test-Automatic detection of abnormal test conditions-Detection of abnormal pressure increase-Detection of environmental temperature outsideprerequisite conditions and temperature changes(roadmap – requires sensor)-Detection of unstable test values(roadmap – pat. pending)-Self-test at booting and before each test-Comprehensive Failure Mode Effects Analysis (FMEA),including instructions for setting program-specificQRM values to avoid false passed and false failedtest results-Calculation tool for the impact of unlikely calibrationoffsetsUsability-Intuitive iF-design-rewarded Human Machine Interface(HMI)-12.1" bright touchscreen with a ± 88° viewing angle-Large digital keypad - no need for a pen –compatible with glove use-10 system languages-LDAP: log on with network user credentials-Automatic test time for faster testing-Data transfer-Automation by OPC UA or Modbus TCP-Additional keyboards (Korean and Cyrillic)-LDAP group-based role management-Filtering of displayed audit trail events-Audit trail export in a digitally signed write-protected PDF-Remote administration via OPC UA-Memory management (21CFR Part 11)-Printing via printer server-DNS name support-Scheduled export of the audit trail in PDF format-Improved program parameters for large crossflow system(TFF) systemsSurpass the Requirements of QRMThe regulatory focus on QRM (cf. ICHQ9 and the newAnnex 1 written by EMA in cooperation with the US-FDA,WHO, and PICs) also applies to filter integrity testing,as a fundamental element of sterility assurance.The Sartocheck® 5 Plus Filter Tester uses program-specificparameters allowing the automatic identification oftesting anomalies before or during the test. This preventstime-consuming, costly variations, potential drug recalls,and 483 warning letters.Experience the Comfort of Intuitive UsabilityAn optimal user experience speeds up process workflowsdue to intuitive guidance and ease of use. The high-qualitytouchscreen of the Sartocheck® 5 Plus Filter Testerprovides a unique viewing angle, an intuitive user interface,a logical menu structure, and simple data entry options.This allows straightforward programming of tests andQRM enhancement features, as well as error-free operationin GMP production environments.Reach the Ultimate Level of Data IntegrityFilter integrity test values are part of the batch protocoland are used to justify the drug release. Long-term reliabledata is crucial to avoid quality deviations and potential 483warning letters.The integrity and security of filter integrity test data mustnot be seen only as an IT problem, but also as a potentialglobal business risk. Low standards of data integrity andsecurity may not only jeopardize the activities of the drugmanufacturing company, but more critically, endanger thehealth of patients.Discover the Simplicity of HSEIntegrity testing often involves the use of chemicals andhazardous materials, e.g., alcohol. The Sartocheck® 5 Plusis certified for use in explosion-hazardous areas (ATEX)and is compatible with all current cleaning agentsand VHP. This ensures maximum safety for operatorsand manufacturing facilities.Pneumatics Max. inlet pressure 8,000 mbar | 116 psiOverpressure protection Max. inlet pressure + 4,000 mbar Min. inlet pressure 4,000 mbar | 58 psiInternal reference volume1,023 mL conforming to Pressure Equipment Directive 2014/68/EU max. Pressure = 12 bar pressurecertificateMeasuring Accuracies Measured pressure± 0.1% full scale(± 7.2 mbar | ± 0.104 psi)Measured pressure drop0.2% of the measured value before rounding Volume determination± 4%Diffusion ± 5% or 0.05 mL/min, whichever is higher Intrusion ± 5% or 0.05 mL/min, whichever is higherstarting pressure to one pressure step above the min. bubble pointDimensions, Weight, and Noise Dimensions (W × D × H)348 × 379 × 286 mm Weight16.8 kg Weight of the packaging 2.2 kg Cargo | gross weight 20.6 kg Cargo volume 95,304 cm 3Cargo dimensions 570 × 440 × 380 mmMax. noise at 1 m during depressurization with venting tubings68 dB(A) at 6,600 mbar (95.7 psi)51 dB(A) at 3,000 mbar (47.9 psi)Manufacturing SiteDesigned, developed, and manufactured in Germany Otto-Brenner Strasse 20Goettingen, GermanyEnd-user TrainingThe Sartocheck® comes with end-user training.Technical DataTest Methods DiffusionBubble point (detection by over proportionality)Combined diffusion and bubble point Water intrusion test Pressure drop | leak testMeasuring Ranges Diffusion andintrusion test pressure 50.0 – 6,600.0 mbar | 0.725 – 95.725 psi Programmable max. diffusion flow 0.011 – 4,800.000 mL/min.Programmable max. intrusion water flow0.006 mL/min. – 60.000 mL/min.Max measurable | displayable diffusion flow24,000.00 mL/min. (5 times the max. programmable value)Max. measurable | displayable intrusion water flow 300.00 mL/min. (5 times the max.programmable value)Programmable min.bubble point250.0 – 6,550.0 mbar | 3.626 – 95.000 psiProgrammable pressure drop (not higher than the test pressure)0.5 – 6,600.0 mbar | 0.007 – 95.725psiSample net volume with volume measurement-with int. reference vessel-with ext. reference vessel 14 L 150 L Max. sample net volume for pressure drop test1,000 LPower Supply Power requirements 100 – 240 V AC at 50 | 60 Hz Max. power input 74 W Average power usage 66 W Power consumption in standby mode14.8 WA country-specific cable is delivered with each device.Internal batteryThe Sartocheck® 5 is equipped with an internal battery. This battery (CR2032) contains less than 0.3 g lithium.Materials of Construction and RoughnessAll materials used for the external surfaces and the fluid paths are animal free.External Surfaces-Ra 1.6 μm or better -Stainless steel 304L-Heat strengthened glass (see “Screen and Protective Glass”) -Plastic polymer (Edistir® polystyrene PBBE free) painted with chemical resistant Alexit finishing coat B412-Aluminum painted with chemical resistant Alexit finishing coat B412 -Rubber feet: Taber H-18 abrasion resistant (ASTM-501C)Pneumatic Fluid Path of the Sartocheck® 5 Plus-Ra 1.6 μm or better-Aluminum (inlet valve block, no potential product contact) -Stainless steel 304L (process valve block) -Stainless steel 316L (connectors)-EPDM (connector gaskets), FDA 21 CFR 177 and USP Class VI (A) -PFA tubings, FDA 21 CFR 177 and USP Class VI (A)-PTFE (valve block membrane FDA 21 CFR 177 and USP Class VI (A)Pneumatic Fluid Path of the Accessory Kit for External Venting -Ra 1.6 μm or better-Stainless steel 304L (valves)-Stainless steel 316L (connectors)-EPDM (connector gaskets) FDA 21 CFR 177 and USP Class VI (A)External Tubings (Inlet and Test Tubing)-PFA tubings, FDA 21 CFR 177 and USP Class VI (A) -Stainless steel 316L (connectors)-EPDM (connector gaskets) FDA 21 CFR 177 and USP Class VI (A) -Sintered Polyethylene (inlet filter) -Polypropylene (inlet filter housing)-Stainless steel 316L Parker nippleScreen and Protective Glass Size12.1" (Format 16:10;262.6 × 164.7 mm | 10.34 × 6.48 inch)Type TFT LED-Backlit color Resolution 1,280 × 800 pixels Luminosity400 CD/m 2Viewing angle vertical and horizontal ± 88° (total 176°)Shock resistance Thermally toughened glassDIN EN 12150-1; IEC 60068-2-75AntiglareLS Touch Gloss 85 ± 10 | 60° on front sideConnectors and PortsAll connectors on the device are specifically defined in order to avoid mix up between different connections. E.g., the test tubing can only be connected to the outlet of the device.Pneumatic Connectors Inlet tubing towards pressurized lineParker nipple (Parker reference 26SFAW13MXN)Inlet tubing towards device Staubli RBE03 female Test tubing towards sample to be testedStaubli RBE03 femalePneumatic TubingsAll pneumatic tubings have been leak-tested at the end of manufacturing.Use only original test tubings of original length with original connectors to avoid any mix-up.Communication Ports-Industrial automation for OPC UA and Modbus TCP -Ethernet RJ45 for networking and data transfer-USB (4 ports) for software upgrades, barcode reader, and USB printerOperating Conditions Environmental temperature and humidity according to IEC 61010-10 °C to 40 °C (32 – 104 °F)From 0 °C to 31 °C 80% RH From 31 °C to 40 °C linearly decreasing to 50% RHAltitude100 m below sea level to 3000 m above sea levelIngress protection rating of the device as per EN 60529 |IEC 60529IP64 under normal conditions IP4X for use in potentially explosive atmospheres Ingress protection of the Accessory Kit for External Venting as per EN 60529 |IEC 60529IP65Explosion-prone areas (device only)Zone 2, Groupe II-B (IECEx, ATEX) |Class 1 Zone 2 Group II-B (USA)Explosion-prone areas (Accessory Kit for Venting)Zone 1 Group II-B (IECEx, ATEX) |Class 1, Div. 1, Zone 1 Group II-B (USA)Connectors on the backside1 Earth5 4 × USB (e.g. printer) 2 Future environmental,6 Future extender box temperature sensor7 RJ453 External pressure sensor 8 Industrial automation4 External valves9 PowerBack cover closed1 Device cleaning 5 Ext. reference tank2 Outlet | test tubing 6 Inlet pressure, max. 8 barg,3 Sample vent 7 External valves pressure supply4 Device ventFixation of cables1234567891234567Operating System and Memory-Custom Linux Distribution made by Sartorius -Flash memory 4 GB -RAM 2 GB-Internal inaccessible SD card 8 GB-CPU MSC NanoRISC i.MX6 D 800 MHzMemory CapacityThe memory can hold approximately 21,900 test results.At a rate of 10 tests per day, 365 days per year, the memory will be full after approximately 6 years.Test Result Calculation, Evaluation, and RoundingThe test evaluation is done before the rounding, meaning that, e.g., a measured diffusion value with 16 decimals of 4.4000000000000001 mL/min. will give a failed test if the max.diffusion value is set to 4.400 mL/min. The test result rounding is done according to the tie-breaking rule called “round half to even”. This is the default rounding mode used in IEEE 754 computing functions and operators.Storage and Transportation ConditionsFrom -10 °C to +60 °C (14 – 140 °F) at 90% RH noncondensing humidity.The original cardboard box is single-use shipping only.For subsequent shipping, please use the solid transportation box 26787---ST (see accessories).Language Options -English -German -French -Spanish -Italian-Mandarin (simplified) -Portuguese (Brazilian) -Japanese -Korean-RussianCleaning and Chemical Compatibility of External Surfaces (Based on Alexit Lacquer Compatibility)Do not use any abrasive cloth.Only smooth cloths or towels are allowed.-Spor-Klenz® Ready-To-Use Cold Sterilant -3% Hydrogen Peroxide WFI Sterile Solution -Septihol® Sterile Alcohol Solution 70% IPA -Water for injection-Sodium hydroxide (NaOH) 10% -Hydrochloric acid (HCL) 20% -Sulfuric acid (H2SO4) 20% -Acetic acid 10% -Ammoniac 10%-Quaternary ammonium compounds 0.2%-Cleansinald (Quaternary ammoniums blended with alkyl amines) -Bacterianos (Glutaraldehyde 0.5 mg/g and didecyldimethyl-ammonium chloride 1.2 mg/g; pH 3 – 5, contact time > 15 min.) -Aniospray (Ethanol 226 mg/g, Chlorure de didécyldiméthyl-ammonium 0.53 mg/g, chlorhydrate de polyhexaméthylène biguanide 0.64 mg/g contact time > 15 min.) -Amphospray (Ethanol 327.4 mg/g,N-(3-aminopropyl)-Ndodé-cylpropane- 1,3-diamine 0.33 mg/g), chlorure de didécyldiméthylammonium 1.09 mg/g),chlorhydrate de polyhexaméthylène biguanide 0.96 mg/g) -Formaldehyde 37%-Sodium hypochlorite 6%-Ethanol (60%, 70%, and pure) -Acetone (pure)-Ethyl acetate (pure) -Minncare Cold Sterilant-Vaporized Hydrogen Peroxide (VHP) at 1400 ppmCleaning of Internal PneumaticsUse only the original Accessory Kit for Cleaning (available Q3 2022)Warning!Inflammable or explosion-prone liquids must not be used for internal cleaning because the Accessory Kit for Cleaning is not compliant to hazardous areas or liquids.Use the following cleaning agents:-Sodium hydroxide up to 0.5 M at 25 °C (77 °F) -Citric acid 10% at 25 °C (77°F)-Sodium hypochlorite 10% at 25 °C (77 °F)-3% Hydrogen Peroxide at 25 °C (77 °F)Sartocheck® 5 and 5 Plus Filter Tester ComparisonFeatureSartocheck® 5Sartocheck® 5 Plus QRM-related program parameters No Yes Automation (OPC UA and Modbus TCP)No Yes Data integrityIdentical Identical HSE – ATEX | IECEx | FM Identical Identical Usability Identical Identical Accuracy Identical Identical CleanabilityIdenticalIdenticalAccessory kits(External Venting Kit and Cleaning Kit)Compatible(cleaning kit available in Q3 2022)Compatible(cleaning kit available in Q3 2022)Included software upgradesSelected upgrades are included until the software release mid of 2024Yes – A ll upgrades until the software release mid of 2024Ordering InformationSartocheck® Filter TesterDescription Article No. Sartocheck® 5 Filter Tester26787---FTEquipment included in 26787---FT Sartocheck® 5 Filter TesterInlet tubing for compressed gas 2m (26787---IT) Test tubing 2 m (26787---TT---02)Test certificateCalibration certificateInstallation and operating instructionsPower cord (region-specific)Screw driver (T20 × 100) for fixation of cables Networking cable (RJ45)Printer cable (USB)Accessories and Spare PartsDescription Article No.USB printer (without paper)YDP30Archivable paper 90 m and ink ribbon69Y03285Archivable self-adhesive paper 90 m and inkribbon69Y03286Thermal paper 5 rolls of 24 m69Y03287Self-adhesive thermal paper 5 rollsof 13 m69Y03288Inlet tubing for compressed gas 2 m26787---ITTest tubing 2 m26787---TT---02Test tubing 5 m26787---TT---05Test tubing 15 m26787---TT---15Test tubing for external venting26787---TT-AKEVComplete tubing-cable wrap for AKEV 2 m26787---02-AKEVComplete tubing-cable wrap for AKEV 5 m26787---05-AKEVAccessory Kit for External Venting26787---AK---EV(max. 10 accessorykits per device due tocalibration data)Tubing for “device vent”26787---VT---DETubing for “sample vent”26787---VT---SAAccessory kit for cleaning of the pneumatics*Germany (German manual)UK, India & US | Canada (English manual)France (French manual)Italy (Italian manual)Spain & Argentina (Spanish manual)Portugal & Brazil (Portuguese manual)China (Chinese manual)Japan (Japanese manual)Korea (Korean manual)Russia (Russian manual)Switzerland, Belgium & Canada(English, German, French & Italian manuals)South Africa , Australia | New Zealand,Israel and Denmark (English manual)26787---AKDE-CL26787---AKEN-CL26787---AKFR-CL26787---AKIT-CL26787---AKES-CL26787---AKPT-CL26787---AKCN-CL26787---AKJP-CL26787---AKKR-CL26787---AKRU-CL26787---AKVA-CL26787---AKVB-CL* For more details, please refer to the Contamination Control Strategy (CCS) datasheet.Description Article No.10 L pressure vessel including safety valveand manometer, certified for EU26787---AKPV-EUAdditional waste vessel for the accessory kitfor cleaning26787---AKWV-CLBarcode Scanner (None ATEX)26787---BSExternal reference volume26787---ERAdditional tubing for the externalreference volume26787---TE—RVSolid transportation box for theSartocheck® 5 | 5 Plus26787---STMidisart® Test Manifold for parallelbubble point1Z-LB-0002Triclamp 25 mm – Staubli nipple RBE03 open7ZML--0009Triclamp 25 mm – Staubli nipple RBE03closed7ZML--0015RBE03 openServicesDescription Article No.Validation package forSartocheck® 5 | 5 Plus26787---V3---FTSartocheck® 5 | 5 Plus installation S872QINSTSartocheck® 5 | 5 Plus installation pack(incl. travel exp.)S872QINSTPValve Kit installation S873IINSTValve Kit installation pack (incl. travel exp.)S873IINSTPSartocheck® 5 | 5 Plus IQ | OQ S872QIQOQSartocheck® 5 | 5 Plus IQ | OQservice pack (incl. travel exp.)S872QIQOQPValve Kit IQ | OQ S873IIQOQValve Kit IQ | OQ service pack (incl. travel exp.)S873IIQOQPService level agreement Advanced S872QSLAAService level agreement Comprehensive S872QSLACService level agreement Essential S872QSLAE Sartocheck® Plus Filter TesterDescription Article No.Sartocheck® 5 Plus Filter Tester26787---FT---PEquipment included in 26787---FT---PSartocheck® 5 Plus Filter TesterInlet tubing for compressed gas 2 m (26787---IT)Test tubing 2 m (26787---TT---02)Test certificateCalibration certificateInstallation and operating instructionsRisk assessment for integrity testing | FMEA (PDF)Power cord (region-specific)Screw driver (T20 × 100) for fixation of cablesNetworking cable (RJ45)Printer cable (USB)GermanySartorius Stedim Biotech GmbH August-Spindler-Strasse 11 37079 GoettingenPhone +49 551 308 0USASartorius Stedim North America Inc. 565 Johnson Avenue Bohemia, NY 11716Toll-Free +1 800 368 7178F or further contacts, visitSpecifications subject to change without notice.©2023 Copyright Sartorius Stedim Biotech GmbH, August-Spindler-Strasse 11, 37079 Goettingen, Germany Publication No. SPI2020-e。
5Monobloc directional control valves HDM18Contents5.1General specifications53 5.2Dimensional data54 5.3Performances curves55 5.4Monobloc bodies56 5.5Adjustable direct acting Relief Valve RV58 5.6Spool charts58 5.7Spool positioners59 5.8Lever styles60 5.9Hydraulic-Pneumatic control ON-OFF62 5.10Pneumatic controls62 5.11Hydraulic Proportional control62 5.12Electro-Hydraulic controls63 5.13Solenoids for pilot electrovalves EHI-EHE65 5.14Electromagnetic controls ON-OFF665.1General specifications5.1.1Weight5.1.2Material specification:Body: High strength cast-iron.Spool: Hardened steel and chrome plated Seals: Buna “N”.5.1.3Standard features:1)Parallel circuit2)Balanced interchangeable spools (providesminimum leakage, smooth operation)3)Wide selection inlets, work ports, and outletsthreaded ports.4)Negative overlapping of the spool.5.1.4Optional features available:1)Open or closed centre positions, 3 or 4 way operations, 3 or 4 position (float position), fullopen centre (motor spool) and other spool options.2)Carry over.3)Series circuit4)Complete lever assembly 5)Wide range of positioners 5.1.5Symbols:P : inlet port T : outlet port A/B : work portsH.P .C.O.: carry-over RV : relief valveP 1T 1: side inlet and outlet ports 3.1.0.2: spool position P: pressure line T : exhaust lineE: centre line (by pass).* For HDM18/3 and HDM18/4 please contact our Sales Department.5.2Dimensional data5.3Performance curvesOil: Shell Tellus T37Temperature: 50° C (120° F)Viscosity: 27 mm 2/sFlow ratel/min bar P r e s s u r e d r o pU.S.G.P .M.PSIP ⇒ Tstd. SpoolsMeteringFlow ratel/minbar P r e s s u r e d r o pU.S.G.P .M.PSIFlow ratel/minbarP r e s s u r e d r o pU.S.G.P .M.PSIA/B ⇒ T P ⇒ A/BStrokeA/B → T 150 bar inches mml/minA/B → T 50 barP → A/B 50 barP → A/B 150 barF l o w r a t eU .S .G .P .M .5.4Monobloc bodies5.4.1Standard circuits: parallel Open centre with P - T - RVType/CodeSAE10M18X1.51/2” BSP SAE10HDM18/1HDM18/21/2” BSP K05200.9442.3005.0K01200.9441.1001.0K05200.9441.3007.0K02200.9441.3006.0K03200.9441.1002.0K01200.9442.1001.0K02200.9442.3004.0K03200.9442.1002.0M18X1.5SAE10M18X1.51/2” BSP SAE101/2” BSP M18X1.5SAE10M18X1.51/2” BSP SAE123/4” BSP M22X1.5K04200.9442.8003.0K04200.9441.8004.0K06200.9442.8004.0K06200.9441.8005.0A/BTPPTRVA/BA1A2B2B1A1B1B2A25.4.2Standard circuits: parallelOpen centre and carry-over with P - T - RV H.P.C.OPTRVH.P .C.O.A/B H.P .C.O.CodeSAE10M18X1.51/2” BSPSAE10HDM18/1HDM18/21/2” BSP K25200.9442.3007.0K21200.9441.1003.0K25200.9441.3009.0K22200.9441.3008.0K23200.9441.1004.0K21200.9442.1003.0K22200.9442.3006.0K23200.9442.1004.0M18X1.5SAE10M18X1.51/2” BSP SAE101/2” BSP M18X1.5SAE10M18X1.51/2” BSP SAE123/4” BSP M22X1.5K24200.9442.8005.0K24200.9441.8006.0K26200.9442.8006.0K26200.9441.8007.0A/BT - HPCOPA1B1A2B2A1A2B2B1Note: Body codes consist of: machined casting, seals, plugs and check valve only. Not to be used for complete valve order.5.4.3Optional circuits: series and tandem Open centre with P - T - RVPTRVA/BType/CodeSAE10M18X1.51/2” BSPSAE10HDM18/1HDM18/21/2” BSP K35200.9442.3008.0K31K35K32K33K31K32K33M18X1.5SAE10M18X1.51/2” BSP SAE101/2” BSP M18X1.5SAE10M18X1.51/2” BSP SAE123/4” BSP M22X1.5K34K34K36K36A/BTPA1A2B2B1A1B1A2B2Note: Body codes consist of: machined casting, seals, plugs and check valve only. Not to be used for complete valve order.For availability of -K- bodies without code please contact our Sales Department.5.5Adjustable direct acting Relief Valve RV06152660(860)150(2100)260(3700)Yellow (YE)Green (GR)Blue (BL)30 - 95(400 - 1300)96 - 210(1300 - 3000)211 - 300(3000 - 4200)Type Std. setting bar (PSI)Spring colourPressure set range(PSI)Relief valve set at 30 l/min (8 U.S.G.P .M.)Fluctuating pressureOperating TimeP e a kPTFlow ratel/minbarP r e s s u r e s e t t i n gU.S.G.P .M.PSI RV32320(4600)Red (RD)301 - 400(4200 - 5700)TPS e t t i n g** The maximum operating pressure for each valve series is indicated in the “T echnical specification” at the first page of each valve section.5.6Spool charts5.7Spool positionersW Initial hand lever position F Hand lever in detent positionfSpring return position of hand leverSpool position corresponds to hand lever positionF (N)= Force in Newton (N) needed to operate the spoolNote: consult factory for different configurations.5.7.1Spool positioners dimensions5.7.2Microswitch controlMicroswitch is operated when the spool is in pos.1Microswitch is operated when the spool is in pos.2Microswitch is operated when the spool is in pos.1and 2The microswitch is supplied only on customer's request.Type 30Type 32Type 345.8Lever styles5.8.1Safety levers5.8.2Remote cable controlCables are assembled on the valve only on request and with an extra charge.Cable200.5441.04002200.5441.04005200.5441.04006200.5441.04007200.5441.04008200.5441.04009Cable length Code 1000 mm 1500 mm 2000 mm 2500 mm 3000 mm 4000 mmSpool KitCode 200.9609.0001.0Optional 200.6772.0048.0Type L142Code 200.7071.2012.0Only for rod remote controlM10X1.55.8.3Cross joystick for dual axis spool controlM12X1.75Type AL010Code 200.7022.3004.0L o =2505.9Hydraulic-Pneumatic control ON-OFF5.10Pneumatic controls5.10.1Pneumatic proportional controlType Code PP 150200.9686.5009.05.11Hydraulic Proportional controlJoystick adjustment diagramTypeCode HP 50200.9686.5019.0O u t l e t p r e s s u r e (b a r )30195Adjustment range: (bar) Min. 5 - Max. 30(PSI) Min. 70 - Max. 4205.12Electro-Hydraulic controls5.12.1Electro-hydraulic control internal pilot version ON-OFF with pressure reducing valvePressure reducing valveVCP Return back pressure valve(T2 = 1/2” BSP) code 200.7874.0157.0(to order separately)n p min= 10 bar(145 PSI)n p max= 15 bar(215 PSI)VCPFor solenoid see chapter 5.13Type Code EHI 263*200.9686.6038.0Mechanical and hydraulic featuresMax pressure on P p port 300 bar (4200 PSI)............Reduced pressure afterpressure reducing valve 10 bar (145 PSI)...............Fixed delivery on P ppilot line 1 l/min (0.26 U.S.G.P .M)......................* EHI 263: special body required.Leakage of pressure reducingvalve (in neutral pos.)100 ml/min ( 6.1 in 3/min ).........Min. suggested filtration 25 micron ....................Operating oil temperature min.-30°C- max. 90°C ........min.-22°F - max 194°F..............................5.12.2Electro-hydraulic controls external pilot version ON-OFF EHE 300Type Inlet section 200.9686.6042.0Description Code EHE 305End section200.9686.6036.0For solenoid see chapter 5.135.12.3Electro-hydraulic control external pilot version ON-OFF with pressure reducing valve on inlet manifold EHE 302Type Inlet section200.9686.6031.0Description Code For solenoid see chapter 5.13Mechanical and hydraulic featuresPilot pressure min.10 bar (140 PSI)....................Pilot pressure max.30 bar (420 PSI)...................Pilot pressure with pressurereducing valve 12 bar (175 PSI).......................Pilot flow to each workingsection 1 l/min (0.26 U.S.G.P .M.).......................Operating oil temperature min.-30°C- max. 90°C ........min.-22°F - max 194°F ..............................Leakage of pressure reducingvalve (in neutral pos.)100 ml/min (6.1 in 3/min)..........Min. suggested filtration 25 micron....................5.13Solenoids for pilot electrovalves EHI-EHED.C.Part number 200.5441.10009 A.C.Part number 200.5441.100125.14Electromagnetic controls ON-OFFEPP 344*Type 12 VDC 200.9686.1179.0EPP 343*Voltage Code 200.9686.1180.024 VDC* special body requaired1556.10”89.53.52”2.13”54592.32”2113231.1 / 31 / 2132A=1-3PUSHB=1-2PULLA B++-To be used with special spools only: the spool definition is different from the standard one because of the double “P”. For example A spool become AP3.Ex.: (A spool + 24 VDC positioner)= AP3343Mechanical and hydraulic featuresMax operating pressure 150 bar (2800 PSI)............Max flow 40 l/min (15 U.S.G.P .M.).....................Max back pressure 5 bar (70 PSI).....................Operating oil temperature 80_ C (180_ F)...............Electromagnetic specificationInput tension 12 V DC [24 V DC] ± 10%................Power consumption 60 W ............................ED:100 %.........................................Ohms resistance (cold T _): 2.4 Ω [9.6 Ω]...............Ohms resistance (stabilized T _): 3.1 Ω [12.5 Ω].........Intensity of current (cold T _) 5 A (2.5 A)................Intensity of current (stabilized T _) 3.8 A (1.9 A).........Ambient operating temperature range:-25_C/+60_C ....Average stabilized coil temperature operatedcontinuously +105_C ................................The above mentioned average temperature is obtained with a nominal voltage of 12 V (24 V), with an ambient temperature of 25_ C and with an electromagnet assembled on an hydraulic valve with oil circulation.Insulation class:according to VDE 0580 standard H ...................Electrical connection:with Hirschmann connector per DIN 43650IP 65........E 2022 by Bucher Hydraulics S.p.A., IT - 42124 Reggio ****************************All rights reserved.Data is provided for the purpose of product description only, and must not be considered as warranted characteristics in the legal sense. The information does not relieve users from the duty of conducting their own evaluations and tests. Because the products are subject to continual improvement, we reserve the right to amend the product specifications contained in this catalogue. Classification: 430.300.000。
qu w e r t yt o i r e w q Series KQB2Applicable TubeTube material Tube O.D.FEP, PFA, Nylon, Soft nylon Note 1), Polyurethane, Polyolefinø1/8", ø5/32", ø1/4", ø5/16", ø3/8", ø1/2"TubeFEP tube/TH series PFA tube/TL seriesTemperature 80°C or more 120°C or more SpecificationsConstructionFluidOperating pressure range Note 2)Proof pressureAmbient and fluid temperature Note 4)LubricantSeal on the threadsAir, Water–100 kPa to 1 MPa Note 3)3.0 MPa–5 to 150°C (No freezing) Note 3)Grease-free specificationWith sealant∗ Temperature Condition of Mounting the Inner SleeveNo.12345678Description Release button Guide 1Guide 2Chuck Seal Male connector body Male elbow body O-ring Stainless steel 304Stainless steel 304Stainless steel 304Stainless steel 304Special FKM (Fluoro coated)C3604 (Electroless nickel plated)Stainless steel 316Special FKM (Fluoro coated)Material Note 1) For soft nylon tube, water cannot be used.Note 2) Avoid using in a vacuum holding application such as a leak tester, since there is leakage. Note 3) Check the operating pressure range and operating temperature range of the tube.Note 4) It is recommended that you use the inner sleeve in the following conditions (Except ø1/8"):• When using in an environment where the fluid temperature changes drastically.• When using at a high temperature.Component PartsMetal One-touch FittingsApplicable Tube: Inch Size, Connection Thread: UNF, NPTDescription Tube O.D.GasketBulkhead nut Part no.Material M-5G3KQB201-P01KQB207-P01KQB209-P01KQB211-P01KQB213-P01ø1/8"ø5/32"ø1/4"ø5/16"ø3/8"ø1/2"Stainless steel 316,Special FKMC3604(Electrolessnickel plated)Spare Parts—Tube O.D.ø5/32"ø1/4"ø5/16"ø3/8"ø1/2"Tube materialTH/TIH(FEP)Applicable inner sleeveTH0402TH0425—TIHB07TIHA07TH0806TIHB11TIHA11TIH13TL/TIL(PFA)——TL0403TIL07—TL0806TIL11—TIL13Part no.TJ-0402TJ-0425TJ-0403TJ-0604TJ-0746TJ-0806TJ-1065TJ-1107TJ-1395Length 18 18 18 19 19 20.523 23 24Cross Reference Table of the Inner SleeveRoHSo u r t e s y o f C M A /F l o d y n e /H y d r a d y n e ▪ M o t i o n C o n t r o l ▪ H y d r a u l i c ▪ P n e u m a t i c ▪ E l e c t r i c a l ▪ M e c h a n i c a l ▪ (800) 426-5480 ▪ w w w .c m a f h .c o mStraight Union: Note 1) øD is maximum diameter.Note 2) Value of FEP tube.o u r t e s y o f C M A /F l o d y n e /H y d r a d y n e ▪ M o t i o n C o n t r o l ▪ H y d r a u l i c ▪ P n e u m a t i c ▪ E l e c t r i c a l ▪ M e c h a n i c a l ▪ (800) 426-5480 ▪ w w w .c m a f h .c o mNote 1) øD is maximum diameter.Note 2) Value of FEP tube.Note 1) øD is maximum diameter.Note 2) Value of FEP tube.Union Elbow: o u r t e s y o f C M A /F l o d y n e /H y d r a d y n e ▪ M o t i o n C o n t r o l ▪ H y d r a u l i c ▪ P n e u m a t i c ▪ E l e c t r i c a l ▪ M e c h a n i c a l ▪ (800) 426-5480 ▪ w w w .c m a f h .c o mUnion Tee: Union “Y”:ourtesyofCMA/Flodyne/Hydradyne▪MotionControl▪Hydraulic▪Pneumatic▪Electrical▪Mechanical▪(8)426-548▪www.cmafh.co mNote 2) Value of FEP tube.Note 1) øD is maximum diameter.Note 2) Value of FEP tube.o u r t e s y o f C M A /F l o d y n e /H y d r a d y n e ▪ M o t i o n C o n t r o l ▪ H y d r a u l i c ▪ P n e u m a t i c ▪ E l e c t r i c a l ▪ M e c h a n i c a l ▪ (800) 426-5480 ▪ w w w .c m a f h .c o mNote 2) Value of FEP tube. Plug: KQB2PourtesyofCMA/Flodyne/Hydradyne▪MotionControl▪Hydraulic▪Pneumatic▪Electrical▪Mechanical▪(8)426-548▪www.cmafh.co m。
Unit 5 It’s time to change.(第三课时 Object clauses 教学设计)2013.8一、教材分析1.教学内容本课时系教材《英语2》(基础模块高教版)第五单元的第三课时,主要完成Language in Use部分,具体内容包括了语法知识(宾语从句)。
为了达到内容的完整性,结合第六单元的语法点进行讲解。
2.教学重点、难点(1)教学重点①通过在情境中学习,学生能正确使用宾语从句。
②通过句型操练,熟练掌握有关宾语从句的用法。
③通过练习,帮助学生巩固所学知识点。
(2)教学难点学生能够运用本单元所学,运用宾语从句发表自己的看法,观点和建议等。
二、教学目标1.知识目标(1)学生能掌握引导宾语从句的从属连词:that,if/whether, what/which/who……etc.(2)学生能识别并熟练运用宾语从句来转换话语。
2.能力目标(1)学生能辨别清楚由that,if/whether, what/who……etc. 引导的宾语从句。
(2)学生能在情境中正确使用宾语从句。
3.情感目标(1)学生能在活动中意识到自己的任务,有责任心,积极配合小组工作,共同完成任务。
(2)学生能为班级同学的不良生活习惯提供合理的建议和意见,且合理运用宾语从句。
.三、教学步骤Step One Lead-in1.Q: Do you have any bad habits? What are they?A: Stay up late;/Play computer games all the time/eat junk food/never do exercise……2. After the discussion, give advice for each other.(设计意图:通过讨论学生熟悉的话题,吸引学生的注意力,又在学生中开展健康生活习惯评比活动,学生肯定乐于并积极参与,同时也体现了在做中学的教学理念,学生不仅再次巩固了关于生活习惯的词汇,而且锻炼了参与班级活动的能力,让他们充分感受到成就感和自信。
)Step Two Grammar focus1.Advice for Jason1.1.Look and learnLet Ss get the general understanding the problems about Jason in pairs.1.2. Give good advice.First, teacher should show Ss an example. Such as teacher asks: Jason always stays up late to play computer games, do you think is it a good habit? Can you give him some advice ?and the teacher write down the sentences : “ I think he should …”“ I hope he…” on the blackboard. The Ss answer the question use the pattern sentence “I think he should …”“ I hope he…”.For example:Teacher: “Jason always stays up late to play computer games, can you give some advice?”Ss: “I think he should stop playing computer games at night.”Ss discuss in groups of four and then write down some good advice for Jason .(设计意图:在图片提供的情景中,补全句子,让学生能初步理解宾语从句的用法和结构,并在相对真实的情况下加以运用。
)1.3. SummarizeLet Ss summarize the general structure and basic usage of objective clause in this passage.结构:主语+ 谓语+ (that)+从句注意事项:①主句的谓语动词如果是过去式,从句的谓语动词要用过去的相应时态。
(设计意图:通过先运用,再总结的归纳演绎法,让学生在说的过程中不断积累宾语从句的用法。
)2.Object clauses.2.1宾语从句即句子作宾语,而不再是一个词或短语作宾语。
I like my teacher.(名词作宾语)I know him .(代词作宾语)I know Mr Li teaches English. (句子作宾语)包含宾语从句的句子结构:主句+连接词(引导词)+宾语从句2.22.2.1.连词1).that2).whether/if3).连接代词who whom whose what which4).连接副词when why where how。
1).由从属连词that引导的宾语从句。
1.I hear (that) he will be back in an hour.2.He said (that) he missed us very much.3.The teacher told us (that) the earth moves around the sun .注:that 在句中无词汇意义,在从句中不能充当成分,在口语当中往往省略当从句是客观真理的时候,无论主句什么时态,从句一律用一般现在时2).由从属连词whether, if 引导的宾语从句1. Ask him whether (if) he can come.2. I don’t know whether it is go ing to rain or not.注:当句末为or not时,引导词只能用whether而不能用if3). 由连接代词what, whom, whose, which, what及连接副词when, where, how, why引导的宾语从句1. He asked who could answer the question.2. Do you know whom they are waiting for?3. Please tell me when we’ll have a meeting.4. Can you tell me where he is?5. Could you tell me how I can get to the station?6. Would you tell me why the train is late?2.2.2 语序陈述句语序即:陈述句结构(主+谓+其他成分)将下列句子换成陈述句语序1.Is there a bank near here?2.Are they doing homework?2.2.3 时态(时态一致性)1)但如果主句的时态是一般现在时,宾语从句的时态根据具体情况来确定,可以是任何时态。
I don’t think (that) you are right.Please tell us where we’ll go fishing tomorrow.Do you know when Mr. Smith moved here?2)如果主句的时态是一般过去时,宾语从句只能用相应的过去时态(一般过去时,过去进行时,过去将来时,过去完成时)。
He told me that he was born in Beijing in 1992.He said that he would go back to the U.S. soon.3) 如果宾语从句所陈述的是客观真理,即使主句用了过去时,从句仍用一般现在时态。
The teacher said that the earth moves around the sun.2.2.4 Practice1. Find out the Object Clauses.1)Do you know who is the first Chinese astronaut?2)Our teacher told us that the earth goes around the sun.3)Please tell me where she has gone.4)I don’t know if he will come tonight.5)Let’s find out what’s on tonight .2. Read and match3. Compound the following two sentences into one.1). Where do they stop on the way? I asked.2). What will you say at the meeting? Could you tell me?3). Do they like to make friends with us? He asked.4). “I am doing my homework.” He said.5). “I will come back.” Tom said.Step Three Summary宾语从句三要素 素引导词 that (陈述句 ) if /whether (一般疑问句 ) 特殊疑问词(特殊疑问句) 时态 主句为一般现在时从句可为任何时态 主句为一般过去时 从句 一般过去时 过去将来时 过去进行时 过去完成时 语序 宾语从句的语序都为陈述句语序 客观真理 自然现象 公式定理 名言警句 时态不变 Alice’s teacher said My doctor explained Jane hopes Bill’s mother said Linda found Bob felt that he didn’t want to be a teacher any more. she can become slimmer. that I should get rid of my bad habits. she could work harder. that her mother was very angry. that he should help her with the housework .Step Four Homework(1min)1.Read and underline the Object Clauses.1)When did you start to feel this pain?2)He asked me when I got to school.3)“What do you eat every day?” the doctor asked.4)The doctor asked what I ate every day.5)“II don’t know why I had a headache.6)How did you get the sore throat? Can you tell me/ 2. Finish off Activity 14(P99).四、板书设计。