background image

 

Power and productivity 

for a better world

TM

AC 800M

Library Object Style Guide
 

System Version 6.0

Содержание AC 800M

Страница 1: ...Power and productivity for a better worldTM AC 800M Library Object Style Guide System Version 6 0...

Страница 2: ......

Страница 3: ...AC 800M Library Object Style Guide System Version 6 0...

Страница 4: ...assumes no responsibility for any errors that may appear in this document In no event shall ABB be liable for direct indirect special incidental or consequential damages of any nature or kind arising...

Страница 5: ...umentation 11 Section 1 Libraries Introduction 13 Purpose 13 Library Categories 14 Standard Libraries 14 User Defined Libraries 15 Object Libraries 15 Library Dependencies 15 Connected Libraries 15 Sp...

Страница 6: ...ial value 31 Description 31 Parameters with Special Purposes 33 Name 33 Description 34 InteractionPar 36 ParError 37 Connections 37 Parameters for Alarm Handling 39 Monitoring Continuous Execution 39...

Страница 7: ...65 Window Appearance 66 Design 67 Interaction principles 69 Section 5 Operator Interface Introduction 71 Operator Workplace Interaction 72 Faceplates 72 Display Elements 74 National Language Support...

Страница 8: ...nous Functions 95 Special functions 96 Handling of Input and Output Values 96 Error Handling 97 Alarm and Event Handling 97 Program Stop Complication 101 Power Failure Behavior 102 State algorithms an...

Страница 9: ...lso describes the different parameter attributes Section 4 Engineering Interface describes the interface towards the application engineer It shows the requirement on how Control Modules Function Block...

Страница 10: ...n corruption of software or damage to equipment property Information icon alerts the reader to pertinent facts and conditions Tip icon indicates advice on for example how to design your project or how...

Страница 11: ...er s Dictionary of Computer Terms Related Documentation A complete list of all documents applicable to the 800xA IndustrialIT Extended Automation System is provided in Released User Documents 3BUA0002...

Страница 12: ...Related Documentation About This User Manual 12 3BSE042835 600...

Страница 13: ...internal code for CM and FB is created with the programming language Structured Text ST The suggestions regarding FB in Function Block Diagrams FBD are also applicable to Ladder Diagrams LD Purpose Th...

Страница 14: ...ship between the library categories In Table 1 Agitator is an object which cannot be used as a stand alone object in an application In order to function it needs to be part of a ready to use object in...

Страница 15: ...Library Dependencies The separation of common functions into a separate library makes code reuse possible The complete functions algorithms and user interface objects can be placed in these common lib...

Страница 16: ...rary can be flat or tree like A tree structure is created using dependencies within this family and it is recommended that this tree structure is reflected in the naming of the libraries For example c...

Страница 17: ...sub category for example Advanced and ends with the suffix Lib For the support libraries the naming convention is that the word Support should be included between the main part of the name and the Li...

Страница 18: ...Naming Convention Section 1 Libraries 18 3BSE042835 600...

Страница 19: ...al Naming Object Types Object types and parameters shall comply with relevant standards and form a consistent name space The standard IEC 61131 3 shall be followed1 The standard IEC 61131 5 shall be f...

Страница 20: ...d non hidden function block types control module types and diagram types should clearly describe the actual function of the object type and not be too short and general For example Add4Int not just Ad...

Страница 21: ...Abbreviations The following usage order is recommended 1 Use the full name 2 Use the short name If it is a compound word try to use the following rules in the following order 1 A Word full name B Word...

Страница 22: ...their abbreviations are presented The IEC 61131 3 and IEC 61131 5 the latter only for communication excluding FOUNDATION Fieldbus standards and guidelines shall be followed for naming of object types...

Страница 23: ...M A control module type that has the same functionality as an existing function block type shall have the same name as that function block type plus the suffix M For example AlarmCond Function block t...

Страница 24: ...in a library but among all libraries Object types with the same name but belonging to different libraries can be accessed via dot notation for example MyLib1 MyFunctionBlock and MyLib2 MyFunctionBlock...

Страница 25: ...nnect the right variables and use the correct control module without knowing the exact function of their respective types When designing an object type an excessive length of the name of one or a few...

Страница 26: ...for example Enable but also be composed by several words InteractionPar In the latter case it is often necessary to abbreviate one or several of the words into a short form There are no strict rules o...

Страница 27: ...r is connected to another Function Block in FBDs this must be made via a local variable However this kind of connections between two function blocks will not appear graphically even though they are in...

Страница 28: ...must be given the attribute hidden The by_ref attribute can only be set for function block parameters with direction In or Out This attribute specifies that the parameter value will be passed by refer...

Страница 29: ...ontaining a reverse attribute In_Out must be connected to a variable on any level These rules also apply to connecting parameters to communication variables The in communication variable should be con...

Страница 30: ...e is Yes or No The value specifies if the parameter shall be visible when the function block type control module type or diagram type is instantiated in an FD code block The configured value represent...

Страница 31: ...le to it and the parameter then receives this parameter s initial value Parameters marked default receives the initial value of its type For simple data type it is advisable to use default only for ou...

Страница 32: ...Function Designer dependent of the first characters in the parameter description Table 4 Type Description Keywords Keyword Description IN The parameter is only read OUT The parameter is only written I...

Страница 33: ...k Type Name Data type Attributes Direction Initial value Description AEConfig dint retain IN 1 Config 0 None 1 Alarm 2 Event 3 Event1 4 Indication Else Alarm ParErr A real integer or word input parame...

Страница 34: ...aving graphical connections and a Name parameter should have the name visible in layer 1 together with the node names Figure 5 in Point to Point Connection using ControlConnection Data Type on page 38...

Страница 35: ...e object in Figure 3 is part of a standard PID controller with the Name parameter displayed in the Windows title bar and the Description parameter displayed in the control builder faceplate Figure 3 E...

Страница 36: ...owever this will require logic inside the type in order to handle the priority between the InteractionPar component and the parameter The interaction parameter data type shall be named by concatenatin...

Страница 37: ...arameter interface is defined by IEC 61131 3 for example TOn Connections A special sort of data types are the ones representing connections These are used to connect control modules function blocks an...

Страница 38: ...t components are sent in each direction Figure 4 Point to point connection between two objects The node names reflect the main direction of the signal The blow up shows in principle data flow In each...

Страница 39: ...lication ISP value must be defined for all components in a data type and for safe MMS it is on the user responsibility to arrange for safe values if the communication is broken Parameters for Alarm Ha...

Страница 40: ...no error status and that the function is active Warning status does not affect Valid Enabled bool Out Indicates that the function is activated This is not affected by error status or warning status Er...

Страница 41: ...ces available for editing in Control Builder The Diagram D editor The Control Module Diagram CMD editor The text based editor is called the POU editor or just editor The POU editor is used to create c...

Страница 42: ...ates have suffix template must be changed by the user to function These kinds are not possible to execute without any changes Protection attribute has to be set to False Function block types control m...

Страница 43: ...ol Module Diagram editor The graphic layers the grid and the coordinate system all affect how a control module behaves appears and is positioned on the screen and therefore the major issues of concern...

Страница 44: ...instance should be zoomable and MaxSize of the icon instance set to 0 85 If such a type is zoomed in on the icon is visible until the zoom level 0 85 is reached Between zoom level 0 85 and 0 95 the g...

Страница 45: ...Section 4 Engineering Interface Graphical Layers 3BSE042835 600 45 Figure 5 Recommended visibility of layers and icon at different zoom levels...

Страница 46: ...ible to put graphical nodes on the clipping border It is then easy to combine it graphically with other modules The reason is that all of its four corners always will appear on grid points in the exte...

Страница 47: ...f the windows belonging to the object 2 Internal code structure some internal control modules may be related to the connections of a module By placing the control module close to its corresponding con...

Страница 48: ...e text box should be made wide enough for the text size to be determined by the height of the text box It is then easier to combine it with text in other text boxes Texts that are too long will cause...

Страница 49: ...nd of the icon and all operator windows Example The control module types for analog control loops The Difference between basic Icons and Control Module Type Icons The icons in IconLib basic icons do n...

Страница 50: ...r and must not be covered by the other sub icons The interior of a closed symbol in an icon should however not be transparent It is important that these icons are used in the same way in all the libra...

Страница 51: ...e FBD programming language For all functions or function block types in the diagram editor it is recommended to always connect true to the EN port For SIL1 2 and SIL 3 diagrams it is mandatory to do s...

Страница 52: ...on of InteractionPar see further Section 5 Operator Interface the length of parameter names in functions and Function Block types shall not exceed eight characters When this is not possible up to twel...

Страница 53: ...k Example 3BSE042835 600 53 An IN_OUT parameter has connections on both side of the function block see Figure 7 A graphical consequence of this is that parameters of the direction IN and OUT will be g...

Страница 54: ...ameters declared in sequence of 18 to 42 IN_OUT Parameters declared as number 17 Separates parameters into a new group with start from 18 Function Block Example Section 4 Engineering Interface 54 3BSE...

Страница 55: ...32 PriorityStopMan bool in 10 ManMode bool out 33 PriorityStopManTxt string in 11 ManModeInit bool in 34 PrioritySP1 real in 12 PanMode bool out 35 OutOfServiceMode bool out 13 SetPan bool in 36 LocM...

Страница 56: ...t 81 AEConfigWarning dint in 58 AtSetpoint bool out 82 AESeverityWarning dint in 59 AboveLimit bool out 83 EnableWarning bool in 60 SP2Used bool out 84 CondNameObjectError string 15 in 61 TorqueSP rea...

Страница 57: ...ed the line will automatically be drawn in a free area so that blocks and labels are not crossed When objects are moved the affected graphical connections will be re drawn In a single diagram it is po...

Страница 58: ...s on the data flow order they are connected to each other If it cannot be determined by the connection in what data flow order the invocations shall be sorted for example if an invocation has two outp...

Страница 59: ...Section 4 Engineering Interface Data Flow Order 3BSE042835 600 59 Figure 9 Flow Order Determined by Graphical Placement...

Страница 60: ...arked with the red rectangle will be code sorted as normal for control modules This means that for example a PID loop that are dependent on the code sorting for control modules to operate optimally wi...

Страница 61: ...structured data types containing components with the reverse attribute Functions and function blocks cannot handle reverse attributes For diagrams there are also a attribute Display value for datatype...

Страница 62: ...represents the backward data flow The execution order of the code blocks will sorted according to the code sorting and algebraic loops for control modules Variable and Parameter There are two ways of...

Страница 63: ...rameters and variables are inserted in the diagram as objects instead of just textual connections then the load increases in the editor but the controller load is not affected Interaction Windows in O...

Страница 64: ...are activated from the Interaction window Control modules Function Blocks and Diagrams designed for engineering interaction shall have one or more interaction windows The engineer may then control th...

Страница 65: ...be possible to re open it from any of the secondary information windows via a button labeled with the ManoeuvreIcon Information Windows A control module that is displayed as an information window shou...

Страница 66: ...a default value of 0 6 The property Owner of interaction windows should normally not be used The property should only be set if the operator window is a full size window XSize 1 00 that contains smal...

Страница 67: ...additional information or with long texts 0 50 WSF 2 0 history graphs 1 00 WSF 4 0 configuration of large functions for example fuzzy batch All interaction windows shall have equally high texts regar...

Страница 68: ...be used for distinct indications It is also permitted to use check boxes and option buttons in the same way as a dynamic input field Apply Undo buttons when two or more interdependent input fields Th...

Страница 69: ...here is a built in solution for this in the Control Builder graphics It is possible to assign OK Cancel buttons that are associated with several input fields Another solution is that the values are st...

Страница 70: ...If the operator window has an input field interaction object for a physical value this input field usually is preceded by a text presenting the name of the quantity and succeeded by a text presenting...

Страница 71: ...ng commissioning tuning maintenance and daily operation via an operator s Workplace Introduction Graphic interfaces fetch data via parameters and variables in the object type In the sub section Intera...

Страница 72: ...reuse of graphic elements in combination with Library version handling a specific method has been developed The main idea is to put the reuse elements in a special support library from which they are...

Страница 73: ...ure 18 Example of left Reduced faceplate and Normal faceplate The Extended view is optional and should be used for additional information that does not fit in a Normal view and is not so often used du...

Страница 74: ...ag Figure 20 The mandatory display elements left Reduced Icon middle Icon and right Tag In addition the following Display Element aspects can be used if suitable Value Bar Value Bar Figure 21 The addi...

Страница 75: ...ia an Alarm and Event translator The Alarm and Event translator shall be common for all standard libraries and placed outside the libraries Figure 22 Example of NLS treated default value of Condition...

Страница 76: ...800xA process graphic principles Use of buttons and check boxes in faceplates Check boxes shall be used to enable or disable functions and signals Buttons in the button row of the faceplate framework...

Страница 77: ...typically InteractionPar the Access Level shall be configured on the variable parameter and on the data type components Only variables parameters or their components used for interaction shall be conf...

Страница 78: ...tely from what is displayed in the faceplate for example using different NLS managers in order to avoid systematic errors In the Confirmed Write Support aspect on the type all changeable properties ar...

Страница 79: ...log shall be named as the identifiers for the faceplate but with a _AM suffix For Control Builder standard libraries the NLS identifiers for the Confirm Write dialog shall be configured in the NLS Res...

Страница 80: ...firm Operation dialog Support for Confirm Operation Dialog Section 5 Operator Interface 80 3BSE042835 600 The Faceplate button in Figure 24 is configured in the Main Faceplate aspect with a Property n...

Страница 81: ...Property Value Section 5 Operator Interface Support for Confirm Operation Dialog 3BSE042835 600 81 In the Confirmed Write Support aspect on the type the property is associated with a Confirm Name Con...

Страница 82: ...Figure 26 Configuration of the aspect Confirmed Write Support for the Confirm Operation dialog shown in Figure 24 Support for Confirm Operation Dialog Section 5 Operator Interface 82 3BSE042835 600...

Страница 83: ...his case an alarm icon and button shall be displayed as they are when AEConfig 1 An exception from this rule is how the components of InteractionPar are displayed The values are entered from the graph...

Страница 84: ...Error indication on a Graphic Element Reduced Icon left and in Workplace faceplates right The CB Graphics Control Builder graphics have the corresponding red triangle displayed in the upper left corne...

Страница 85: ...ply comments that clearly describe the different parts of the code Do not forget that the identifiers of variables and parameters should be descriptive as well In addition logical indents of loops etc...

Страница 86: ...ible This means that all object types and data types shall have a brief three to four short rows and clear description to be shown under the Description tab in the lower pane of Project Explorer when...

Страница 87: ...value Add Loc or Int to the Avoid the use of the Retain attribute on a variable when it is not necessary For example when the variable obtains its initial value at warm restart and when it is written...

Страница 88: ...y versions Project constants shall begin with a lowercase c followed by an uppercase letter For structured project constants this rule applies to the main name only not to the individual components fo...

Страница 89: ...ges including variable names Object type instances that can appear in loop messages should always have a descriptive name Simple data types should be used for parameters as far as possible in internal...

Страница 90: ...e 31 where both memory and execution time is saved by the use of dot notation Another variant of this solution can be used when the same function block is called several times The fact that parameter...

Страница 91: ...the attribute nosort to avoid loops In order to secure that the output parameters are updated correctly each of these internal variables must be assigned in one code block only If an output parameter...

Страница 92: ...me especially in SIL applications and might danger the code sorting A compiler switch exists to rule the code sorting loop detection Code sorting loops may hazard the object functionality at code modi...

Страница 93: ...trol modules are sorted according to the data flow order The actual execution order is indicated on each instance in the diagram The code sorting of the diagram has to be considered when designing a d...

Страница 94: ...e EquipProcedureTemplate Code intended to be changed by the user shall be put in templates All other functional code should be placed in protected object types This strategy promotes safe future updat...

Страница 95: ...part of For example some parameters like Done are only set during one scan This is the reason why an object in a slower task reading this parameter may not receive it The passing of parameters to and...

Страница 96: ...eter description which values are considered invalid and which valid values these are mapped to For further details see Range Check on page 103 The object must have a predictable behavior when calcula...

Страница 97: ...m a failed procedure call or from the code itself Number range 5000 to 6000 for standard library objects It may also contain information about where the error has occurred in the code Alarm and Event...

Страница 98: ...ation parameter AESeverityX In Dint Severity for alarm condition X CondNameX In String 15 Name of the condition X Shall have a NLS treated default value EnableX In Bool If false the XStat and XAct out...

Страница 99: ...s active condition X This output can be controlled via Enable XEnabled Out Bool Indicates that the XStat and XAct parameters are enabled This parameter can be used when additional actions should be pe...

Страница 100: ...tate for condition X Valid if AEConfigX 1 EnableSupOut In Bool Default true When false out parameter X is false when XEnabled is false This parameter is earlier introduced for a selection of objects a...

Страница 101: ...om the alarm list Doing so will however not influence the XStat or XAct outputs NLS for alarm and event The NLS translator for alarms is discussed in sub section National Language Support NLS on page...

Страница 102: ...ure Behavior Outputs shall be ramped when the application is restarted after a power failure and if an OSP value has been used State algorithms and bumpless parameters changes Some parameter changes i...

Страница 103: ...meters Generally the object must have a predictable behavior for out of range input values One example can be to use the closest range border value for internal calculations What action that is most r...

Страница 104: ...ter is used in an internal FB the range check shall be made there as well In the main object the ParError should be calculated as the sum error of the ParError of the block itself if any and the ParEr...

Страница 105: ...n Out Indicates parameter range error If a conditional range check is applied the execution time can be reduced in Non SIL applications In the example code the parameter EnableParError is copied durin...

Страница 106: ...mit then No assignment use last good value ParErrorInt true else MyParInt MyPar end More range checked assignments else Assignment without range checks MyParInt MyPar More assignments end_if Note that...

Страница 107: ...e IF T Ts THEN Y G Ts ELSE Y G T END_IF Where Ts is the selected sample time for the running task The requirement is that the library object shall not give an overflow output value if none of the inpu...

Страница 108: ...SIL Mark Restrictions Section 6 Program Code Issues 108 3BSE042835 600...

Страница 109: ...in standard libraries These are included for reference since it is necessary to know about them when naming additional types and parameters when creating self defined types Recommended Names and Abbr...

Страница 110: ...Command Cmd Communication Comm Condition Cond Connect Conn Connected Conn Connection Conn Control Ctrl Cyclic Cyc Decrement Decr Delay Delay Description Descr Detection Dct Deviation Dev Device Dev Di...

Страница 111: ...t Force Force Do not abbreviate Function block FB Gain Scheduling GS Hysteresis Hyst In In Do not abbreviate Integer Int Inactive Inact Increment Incr Inhibit Inh Interaction Iact InteractionPar Inter...

Страница 112: ...t Obj Occurrence Occ Out Out Do not abbreviate Panel Pan Parameter Par Periodic Periodic Do not abbreviate Positive Pos Preset value PV 61131 3 standard Print Prt Process value PV Pulse Pulse Ready Rd...

Страница 113: ...ditional parameters for many Function Block and Control Module types Select Sel Setpoint Sp Signal Sig Simple Smp Simulate Sim Slave S Source Src Start Start Do not abbreviate Status Stat Stop Stop Do...

Страница 114: ...Execute M D or Req FB The status can be set several scans after the command was set 0 means that the module is pending 1 means ready and OK 0 means error Warning True at a warning of unexpected operat...

Страница 115: ...type ControlConnection For example PidCC Control Module M A control module type that has the same functionality as an existing function block type shall have the same name as that function block type...

Страница 116: ...Standard Library Parameters Appendix A Names and Abbreviations 116 3BSE042835 600...

Страница 117: ...e type graphical connections 44 layers 43 visible 43 zoomable 43 control module type icons 49 Core 23 cWindowSizeFactor 66 to 67 D D 23 Dimming 70 Dint 23 direction 38 Display Elements Icon 74 Reduced...

Страница 118: ...o 34 NLS strings 75 nosort 27 P Project Constants 88 Protection 42 R range 37 Real 23 Reset Shape 46 retain 27 S Scope Private 88 Public 88 severity 39 Source Name 34 string literal 90 structured data...

Страница 119: ......

Страница 120: ...Power and productivity for a better worldTM Contact us Copyright 2003 2014 ABB All rights reserved 3BSE042835 600 www abb com 800xA www abb com controlsystems...

Отзывы: