L20 Prog
L20 Prog
L20 Prog
Hydraulics
Pneumatics
Service
R911323260 Edition 01
Title
Operating and Programming Instructions DOK-CONTRL-IC*L20**V04-AW01-EN-P RS-b6888fa573a02bb70a6846a000c5cda0-1-en-US-7 This documentation provides an overview of the system components belonging to the IndraLogic L20 DP control and describes their project planning and pro gramming.
Edition 120-0401-B345-01/EN Release Date 04.2008 Notes First edition
Record of Revision
Copyright
2008 Bosch Rexroth AG Copying this document, giving it to others and the use or communication of the contents thereof without express authority, are forbidden. Offenders are liable for the payment of damages. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design (DIN 34-1).
Validity
The specified data is for product description purposes only and may not be deemed to be guaranteed unless expressly confirmed in the contract. All rights are reserved with respect to the content of this documentation and the availa bility of the product. Bosch Rexroth AG Bgm.-Dr.-Nebel-Str. 2 97816 Lohr am Main, Germany Phone +49 (0)93 52/ 40-0 Fax +49 (0)93 52/ 40-48 85 http://www.boschrexroth.com/ Dep. BRC/EPY (MK/MePe) Dep. BRC/EAH2 (BA)
Published by
Note
I/VII
Table of Contents
Table of Contents
Page
1
1.1 1.2
2
2.1 2.1.1 2.1.2 2.2
3
3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8
4
4.1 4.2 4.3 4.3.1 4.3.2
4.3.3
4.3.4
II/VII
Table of Contents Page 4.5 4.5.1 4.5.2 4.5.3 4.6 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7 4.7.1 4.7.2 4.7.3 4.7.4 4.8 4.8.1 Projecting Rexroth Inline Modules ....................................................................................................... 30 Overview............................................................................................................................................ 30 Inserting Inline Modules..................................................................................................................... 30 Configuring Inline Modules................................................................................................................ 31 Configuring IndraLogic L20 as Profibus DP Master ............................................................................. 33 Overview............................................................................................................................................ 33 Making Master-Specific Settings....................................................................................................... 33 Inserting Profibus DP Slaves ............................................................................................................ 36 Configuring Profibus DP Slaves ....................................................................................................... 37 Inserting Modules in a Profibus DP Slave ........................................................................................ 41 Configuring Modules of a Profibus DP Slave ................................................................................... 42 Configuring IndraLogic L20 as Profibus DP Slave ............................................................................... 44 Overview............................................................................................................................................ 44 Making Slave-Specific Basic Settings............................................................................................... 44 Parameterizing the Coupling Area..................................................................................................... 46 Projecting a Superordinate Control................................................................................................... 48 IndraLogic L20 as Ethernet/IP Slave ................................................................................................... 49 Configuring IndraLogic L20 as an Ethernet/IP Slave ........................................................................ 49 Overview......................................................................................................................................... 49 Making Slave-Specific Basic Settings............................................................................................ 49 Parameterizing the Coupling Area.................................................................................................. 50 Ethernet/IP Connection Types........................................................................................................ 52 Features of Cyclic Data Transmission............................................................................................ 53 Configuring IndraLogic L20 as CIP Data Server............................................................................... 54 Overview......................................................................................................................................... 54 Projecting........................................................................................................................................ 54 Features of Acyclic Data Transmission.......................................................................................... 54 Configuring IndraLogic L20 as CIP Data Client................................................................................. 55 PLC Programming with IndraLogic ...................................................................................................... 55 Overview............................................................................................................................................ 55 Target Settings ................................................................................................................................. 57 Task Configuration ........................................................................................................................... 58 Library Manager ............................................................................................................................... 59 Creating a PLC Program .................................................................................................................. 61 Saving IndraLogic Project Data ........................................................................................................ 62 Compatible IEC Programming between Different Controls.................................................................. 62 Overview............................................................................................................................................ 62 Using of Pointers within Structures ................................................................................................... 63 Packing Structures for IndraLogic L10/20......................................................................................... 64 Alignment for I/O Addresses ............................................................................................................. 65 Assigning Structures to I/O Addresses ............................................................................................. 66 Download and Commissioning............................................................................................................. 66 Loading Configurations and the PLC Program to the Control .......................................................... 66 Online Functions ............................................................................................................................... 67 Control Behavior During Turnon........................................................................................................ 70
4.8.2
4.8.3 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.10 4.10.1 4.10.2 4.10.3 4.10.4 4.10.5 4.11 4.11.1 4.11.2 4.11.3
III/VII
5
5.1 5.1.1 5.1.2 5.2 5.3
Additional Functions..................................................................................................... 71
Firmware Management......................................................................................................................... 71 Updating the Control Firmware.......................................................................................................... 71 Updating the Function Module Firmware........................................................................................... 72 Importing IndraLogic Project Data ....................................................................................................... 72 IndraLogic Functions ........................................................................................................................... 73
6
6.1 6.2 6.2.1 6.2.2 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.5 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5
Libraries ...................................................................................................................... 75
Overview............................................................................................................................................... 75 BuepE_Client ....................................................................................................................................... 76 General Information........................................................................................................................... 76 BuepE_Client..................................................................................................................................... 76 IL_VCP_DP .......................................................................................................................................... 79 Overview............................................................................................................................................ 79 VCP_PBS16_A4096 ......................................................................................................................... 79 VCP_PBS32_A4096 ......................................................................................................................... 80 VCP_PBS32_A65536 ....................................................................................................................... 80 RIH_CML20 ......................................................................................................................................... 81 Overview............................................................................................................................................ 81 IH_GetOhcCtrl................................................................................................................................... 81 IH_SetDisplay ................................................................................................................................... 82 IH_Temperature ................................................................................................................................ 83 IH_TempWarning .............................................................................................................................. 83 RIL_Check.lib........................................................................................................................................ 84 RIL_EtherNetIP..................................................................................................................................... 85 Overview............................................................................................................................................ 85 IL_ReadDataTable............................................................................................................................. 86 IL_WriteDataTable............................................................................................................................. 87 Error Messages of IL_ReadDataTable and IL_WriteDataTable........................................................ 89 IL_Status............................................................................................................................................ 90 General Information........................................................................................................................ 90 Example.......................................................................................................................................... 90 Error Messages of IL_Status............................................................................................................. 91 RIL_L20_Util ........................................................................................................................................ 91 RIL_Inline.............................................................................................................................................. 91 FB Overview...................................................................................................................................... 91 Data Types........................................................................................................................................ 92 Configuration ID Description........................................................................................................... 92 Error Struct..................................................................................................................................... 94 Version.............................................................................................................................................. 96 Version_RIL_Inline_01V01............................................................................................................. 96 Diagnostics........................................................................................................................................ 96 IL_InlineDiagGlobalStatus.............................................................................................................. 96 IL_InlineDiagModulImage............................................................................................................... 98 IL_InlineCfgDiagData...................................................................................................................... 99 IL_InlineDiagCfgChk..................................................................................................................... 101
6.8.3 6.8.4
IV/VII
Table of Contents Page IL_InlineDiagModulPosi................................................................................................................ 102 IL_InlineDiagModulNext................................................................................................................ 103 IL_InlineDiagMasterBus................................................................................................................ 105 IL_InlineDiagMasterFatal.............................................................................................................. 106 RIL_ProfibusDP ................................................................................................................................. 107 Overview.......................................................................................................................................... 107 General Information...................................................................................................................... 107 DPV1 Services............................................................................................................................. 107 Diagnostic Information ................................................................................................................. 108 Sync and Freeze ......................................................................................................................... 108 Slave Diagnostic Data According to the Profibus DP Standard ..................................................... 108 General Field Bus Diagnostics ....................................................................................................... 110 Data Types...................................................................................................................................... 111 tFBD_BM_INFO ........................................................................................................................... 111 tFBD_BIT_LIST ............................................................................................................................ 112 tFBD_KSD_LIST .......................................................................................................................... 113 Function Blocks............................................................................................................................... 114 DP_RDIAG .................................................................................................................................. 114 DP_RDIAG_EXT .......................................................................................................................... 115 DP_RDREC ................................................................................................................................. 116 DP_WRREC ................................................................................................................................ 117 fbdBaudrateGet ........................................................................................................................... 118 fbdBmErrorGet ............................................................................................................................ 118 fbdBmInfoGet .............................................................................................................................. 118 fbdBmStateGet ............................................................................................................................ 119 fbdKsdListGet .............................................................................................................................. 119 fbdPdTypeGet ............................................................................................................................. 119 fbdPrjSlaveListGet ....................................................................................................................... 120 fbdSlaveDiagListGet .................................................................................................................... 120 DP_SYCFR .................................................................................................................................. 120 Functions......................................................................................................................................... 122 DP_ADDR .................................................................................................................................... 122 DP_ID........................................................................................................................................... 123 DP_SLOT..................................................................................................................................... 123 RIL_ProfibusDP_02............................................................................................................................ 124 Overview.......................................................................................................................................... 124 FB Overview.................................................................................................................................... 124 Data Types...................................................................................................................................... 124 Slave Diagnostic Data According to the Profibus DP Standard................................................... 124 Bus Master Status Word............................................................................................................... 126 Bus Master Error Word................................................................................................................. 127 DP_SLAVELIST Structure............................................................................................................ 128 DP_DEVICELIST Structure.......................................................................................................... 128 DP_MASTERINFO Structure........................................................................................................ 128 Selecting the DP Master.................................................................................................................. 129 Version_RIL_ProfibusDP_02_01V00............................................................................................... 129
6.9 6.9.1
6.9.5
6.9.6
6.10.4 6.10.5
V/VII
Table of Contents Page 6.10.6 6.10.7 6.10.8 6.10.9 6.10.10 6.10.11 6.10.12 6.10.13 6.10.14 6.10.15 6.10.16 IL_DPIdent....................................................................................................................................... 129 IL_DPV1Read.................................................................................................................................. 130 IL_DPV1Write.................................................................................................................................. 131 IL_DPReadDiag............................................................................................................................... 133 IL_DPSycFr..................................................................................................................................... 134 IL_DPDeviceListGet........................................................................................................................ 136 IL_DPBaudrateGet.......................................................................................................................... 137 IL_DPDevInfoGet............................................................................................................................. 138 IL_DPPrjSlaveGet............................................................................................................................ 139 IL_DPSlaveDiagListGet................................................................................................................... 140 Error Identifications.......................................................................................................................... 141 ErrorID.......................................................................................................................................... 141 ErrorIdent...................................................................................................................................... 141 ErrorTable..................................................................................................................................... 142 ErrorAdditional1............................................................................................................................ 143 ErrorAdditional2............................................................................................................................ 143 FM_Error_Code............................................................................................................................ 143 Error_Code_OB............................................................................................................................ 144 Error_Code_FDL........................................................................................................................... 145 Error_Code_DP............................................................................................................................ 145 RIL_Utilities ........................................................................................................................................ 146 Overview.......................................................................................................................................... 146 Data Types...................................................................................................................................... 147 Global Variables.............................................................................................................................. 147 Version_RIL_Utilities_01V* ............................................................................................................. 147 IL_HighResTimeTick....................................................................................................................... 148 IL_HighResTimeDiff......................................................................................................................... 149 IL_Date............................................................................................................................................ 150 IL_TimeOfDay.................................................................................................................................. 150 IL_DateAndTime.............................................................................................................................. 150 IL_SysTime64.................................................................................................................................. 151 IL_SysTimeDate.............................................................................................................................. 151 IL_ExtSysTimeDate......................................................................................................................... 151 IL_SysTime64ToSysTimeDate ....................................................................................................... 152 IL_SysTimeDateToSysTime64 ....................................................................................................... 152 RIL_VExUtil.lib.................................................................................................................................... 153 IL_VExKeys..................................................................................................................................... 153
6.11 6.11.1 6.11.2 6.11.3 6.11.4 6.11.5 6.11.6 6.11.7 6.11.8 6.11.9 6.11.10 6.11.11 6.11.12 6.11.13 6.11.14 6.12 6.12.1
7
7.1 7.2 7.3 7.4 7.4.1 7.4.2
VI/VII
Table of Contents Page Default Display ............................................................................................................................ 157 PLC Mode .................................................................................................................................... 158 Inline Mode .................................................................................................................................. 158 Onboard DP Mode ....................................................................................................................... 158 IL Appl. Display ............................................................................................................................ 158 Default Menu .................................................................................................................................. 158 General Information...................................................................................................................... 158 Ethernet ....................................................................................................................................... 159 RS 232 ......................................................................................................................................... 162 Firmware ...................................................................................................................................... 162 Temp. .......................................................................................................................................... 162 OHC CTRL .................................................................................................................................. 163 PLC Menu ....................................................................................................................................... 163 General Information...................................................................................................................... 163 OUTP ON / OUTP OFF ............................................................................................................... 164 PLC RUN / PLC STOP ................................................................................................................ 164 PLC PROJ ................................................................................................................................... 164 Profibus-DP Menu .......................................................................................................................... 164 General Information...................................................................................................................... 164 DP Master/Slave .......................................................................................................................... 165 Display DP-M/S Address ............................................................................................................. 165 Display DP Baud Rate ................................................................................................................. 165 Boot Menu: Deleting the Boot Project............................................................................................. 165 General Information...................................................................................................................... 165 Bootproj ....................................................................................................................................... 165 Web-based IndraControl Service Tool ............................................................................................... 166 General Information......................................................................................................................... 166 Browser Settings............................................................................................................................. 166 Login ............................................................................................................................................... 167 Symbols........................................................................................................................................... 167 Network Configuration .................................................................................................................... 168 Hardware Overview ........................................................................................................................ 168 Diagnostics ..................................................................................................................................... 169 Variable Editor ................................................................................................................................ 169 User Management .......................................................................................................................... 170
7.4.3
7.4.4
7.4.5
7.4.6
7.5 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.5.8 7.5.9
8
8.1 8.2
9
9.1 9.2 9.3 9.4
VII/VII
Index.......................................................................................................................... 177
1/179
System Overview
1
1.1
System Overview
Components
Control
The control IndraLogic L20 DP consists of: Hardware: IndraControl L20 including connector set Firmware: IndraLogic L20 DP (on CompactFlash card)
The modular and scalable IndraControl L20 hardware platform can be used in combination with the IndraLogic L20 DP firmware for PLC applications.
Software
The "IndraWorks Logic" software serves to commission and project the Indra Logic L20 DP. It consists of the following components: IndraWorks: Project planning, configuration IndraLogic: PLC programming IndraWorks HMI: Visualization and user interface as well as diagnostic functions (ProVi) IndraWorks WinStudio: Engineering tool to create user screens for Indra Works HMI IndraLogic L20 DP TSP: Target system files (Target Support Package) to edit the IndraLogic L20 DP using IndraWorks and IndraLogic Target Manager: Tool for TSP data management and installation, Inline module description files and libraries
1.2
No Title . /1/ /2/ /3/ /4/ /5/ /6/ /7/
Related Documentation
Identification DOK-CONTRL-IC*L20*****-PR..-EN-P DOK-CONTRL-IL**PRO*V02-AW..-EN-P DOK-CONTRL-R-IL*PBSSYS-AW..-EN-P DOK-CONTRL-R-IL*PB*-BK-FK..-EN-P DOK-IWORKS-ENGINEE*V..-AW..-EN-P DOK-CONTRL-WIS*PC**V06-KB..-EN-P Rexroth IndraControl L20; Project Planning Manual PLC Programming with Rexroth IndraLogic; Operating and Programming Instructions Rexroth Inline Profibus DP; Application Manual Rexroth Inline Profibus DP Terminal and Module Supply; Functional Description Rexroth IndraWorks Engineering; Operating and Programming Instructions Rexroth WinStudio; Overall View
Rexroth PLCopen Function Blocks For Field Bus Drives; Ap DOK-CONTRL-PLCOPENFB*D-AW..-EN-P plication Manual
Fig.1-1:
Related documentation
3/179
2
2.1
2.1.1
Physical injury and material damage might result from inappropriate use of the products! WARNING
The products are designed for use in an industrial environment and may there fore only be used for the intended purpose. If they are not used as intended, situations causing personal injury as well as material damage can occur. Rexroth disclaims as manufacturer any warranty, liability or dam ages occurring due to inappropriate use of the products. Further more, Rexroth is not paying any compensation. The user is responsible for any risks resulting from inappropriate use of the products. Before using Rexroth products, the following requirements must be met to en sure appropriate use of the products: Anyone handling one of the Rexroth products in any way has to read and understand the respective safety-related guidelines as well as the instruc tions on appropriate use. Hardware products have to remain in their original state, in other words, modifications regarding their design are not allowed. Software products must not be decompiled and their source codes must not be modified. Damaged or faulty products must not be implemented or put into opera tion. It must be ensured that the products are installed as specified in the doc umentation.
2.1.2
4/179
Important Instructions on Use [Printing machines and paper processing machines] [Machine tools]
The IndraLogic L20 DP may only be operated under the assembly and instal lation conditions, in the position of application and under the ambient conditions (temperature, degree of protection, humidity, EMC, etc.) specified in this doc umentation.
2.2
Inappropriate Use
Applications of IndraLogic L20 DP that are not within the specified areas of application or under operating conditions deviating from the operating condi tions and technical data specified in the documentation are considered as "inappropriate". The IndraLogic L20 DP must not be used if ... it is exposed to operating conditions that do not fulfill the ambient condi tions specified (for example, operation under water, under extreme tem perature fluctuations or extreme maximum temperatures is not allowed); Rexroth has not explicitly released the intended applications please also note the general statements in the general safety-related guidelines; it is used in household devices or devices belonging to categories 1 to 7 and 10 specified in Appendix IA of the Directive 2002/96/EC ("WEEE").
5/179
3
3.1
3.1.1
WARNING
Improper use of these devices, failure to follow the safety instructions in this document or tampering with the product, including disabling of safe ty devices, may result in material damage, bodily harm, electric shock or even death!
Observe the safety instructions!
3.1.2
6/179
Safety Instructions for Electric Drives and Controls Follow all safety regulations and requirements for the specific application as practiced in the country of use. The devices have been designed for installation in industrial machinery. The ambient conditions given in the product documentation must be ob served. Only use safety-relevant applications that are clearly and explicitly ap proved in the Project Planning Manual. If this is not the case, they are excluded. Safety-relevant are all such applications which can cause dan ger to persons and material damage. The information given in the documentation of the product with regard to the use of the delivered components contains only examples of applica tions and suggestions. The machine and installation manufacturer must make sure that the delivered components are suited for his individual application and check the information given in this documentation with regard to the use of the components, make sure that his application complies with the applicable safety regulations and standards and carry out the required measures, modifications and complements.
Commissioning of the delivered components is only permitted once it is sure that the machine or installation in which they are installed complies with the national regulations, safety specifications and standards of the application. Operation is only permitted if the national EMC regulations for the appli cation are met. The instructions for installation in accordance with EMC requirements can be found in the section on EMC in the respective documentation (Project Planning Manuals of components and system). The machine or installation manufacturer is responsible for compliance with the limiting values as prescribed in the national regulations.
Technical data, connection and installation conditions are specified in the product documentation and must be followed at all times.
National regulations which the user must take into account European countries: according to European EN standards United States of America (USA): National Electrical Code (NEC) National Electrical Manufacturers Association (NEMA), as well as local engineering regulations regulations of the National Fire Protection Association (NFPA) Canada: Canadian Standards Association (CSA) Other countries: International Organization for Standardization (ISO) International Electrotechnical Commission (IEC)
3.1.3
7/179
Warning symbol
Signal word
Danger
Warning
Caution
Fig.3-1:
3.1.4
DANGER
Dangerous movements! Danger to life, severe bodily harm or material damage by unintentional motor movements! DANGER
Observe the safety instructions!
High electric voltage because of incorrect connection! Risk of death or bodily injury by electric shock! WARNING
Observe the safety instructions!
Health hazard for persons with heart pacemakers, metal implants and hearing aids in proximity to electrical equipment! WARNING
Observe the safety instructions!
CAUTION Risk of injury by improper handling! Risk of bodily injury by bruising, shearing, cutting, hitting or improper handling of pressurized lines! CAUTION
Observe the safety instructions!
8/179
CAUTION
3.2
3.2.1
High electrical voltage! Danger to life, electric shock and severe bodily injury! DANGER
Only those trained and qualified to work with or on electrical equipment are permitted to operate, maintain and repair this equipment. Follow general construction and safety regulations when working on pow er installations. Before switching on the device, the equipment grounding conductor must have been non-detachably connected to all electrical equipment in ac cordance with the connection diagram. Do not operate electrical equipment at any time, even for brief measure ments or tests, if the equipment grounding conductor is not permanently connected to the mounting points of the components provided for this purpose. Before working with electrical parts with voltage potentials higher than 50 V, the device must be disconnected from the mains voltage or power supply unit. Provide a safeguard to prevent reconnection. With electrical drive and filter components, observe the following: Wait 30 minutes after switching off power to allow capacitors to discharge before beginning to work. Measure the electric voltage on the capacitors before beginning to work to make sure that the equipment is safe to touch. Never touch the electrical connection points of a component while power is turned on. Do not remove or plug in connectors when the component has been powered. Install the covers and guards provided with the equipment properly before switching the device on. Before switching the equipment on, cover and safeguard live parts safely to prevent contact with those parts. A residual-current-operated circuit-breaker or r.c.d. cannot be used for electric drives! Indirect contact must be prevented by other means, for example, by an overcurrent protective device according to the relevant standards. Secure built-in devices from direct touching of electrical parts by providing an external housing, for example a control cabinet.
9/179
Safety Instructions for Electric Drives and Controls For electrical drive and filter components with voltages of more than 50 volts, observe the following additional safety instructions.
High housing voltage and high leakage current! Risk of death or bodily injury by electric shock! DANGER
Before switching on, the housings of all electrical equipment and motors must be connected or grounded with the equipment grounding conductor to the grounding points. This is also applicable before short tests. The equipment grounding conductor of the electrical equipment and the devices must be non-detachably and permanently connected to the power supply unit at all times. The leakage current is greater than 3.5 mA. Over the total length, use copper wire of a cross section of a minimum of 10 mm2 for this equipment grounding connection! Before commissioning, also in trial runs, always attach the equipment grounding conductor or connect to the ground wire. Otherwise, high vol tages may occur at the housing causing electric shock.
3.2.2
High electric voltage by incorrect connection! Risk of death or bodily injury by electric shock! WARNING
If extra-low voltage circuits of devices containing voltages and circuits of more than 50 volts (e.g. the mains connection) are connected to Rexroth products, the connected extra-low voltage circuits must comply with the requirements for PELV. 2)
3.2.3
Dangerous movements can occur immediately after equipment is switched on or even after an unspecified time of trouble-free operation.
1) 2)
10/179
Safety Instructions for Electric Drives and Controls The monitoring in the drive components will normally be sufficient to avoid faulty operation in the connected drives. Regarding personal safety, especially the danger of bodily harm and material damage, this alone cannot be relied upon to ensure complete safety. Until the integrated monitoring functions become effective, it must be assumed in any case that faulty drive movements will occur. The extent of faulty drive movements depends upon the type of control and the state of operation.
11/179
Dangerous movements! Danger to life, risk of injury, severe bodily harm or material damage! DANGER
Ensure personal safety by means of qualified and tested higher-level monitoring devices or measures integrated in the installation. These measures have to be provided for by the user according to the specific conditions within the installation and a hazard and fault analysis. The safety regulations applicable for the installation have to be taken into consideration. Unintended machine motion or other malfunction is possi ble if safety devices are disabled, bypassed or not activated. To avoid accidents, bodily harm and/or material damage: Keep free and clear of the machines range of motion and moving parts. Possible measures to prevent people from accidentally entering the ma chines range of motion: use safety fences use safety guards use protective coverings install light curtains or light barriers
Fences and coverings must be strong enough to resist maximum possible momentum. Mount the emergency stop switch in the immediate reach of the operator. Verify that the emergency stop works before startup. Dont operate the device if the emergency stop is not working. Isolate the drive power connection by means of an emergency stop circuit or use a safety related starting lockout to prevent unintentional start. Make sure that the drives are brought to a safe standstill before accessing or entering the danger zone. Additionally secure vertical axes against falling or dropping after switching off the motor power by, for example: mechanically securing the vertical axes, adding an external braking/ arrester/ clamping mechanism or ensuring sufficient equilibration of the vertical axes.
The standard equipment motor brake or an external brake controlled di rectly by the drive controller are not sufficient to guarantee personal safety! Disconnect electrical power to the equipment using a master switch and secure the switch against reconnection for: maintenance and repair work cleaning of equipment long periods of discontinued equipment use
Prevent the operation of high-frequency, remote control and radio equip ment near electronics circuits and supply leads. If the use of such devices cannot be avoided, verify the system and the installation for possible mal functions in all possible positions of normal use before initial startup. If necessary, perform a special electromagnetic compatibility (EMC) test on the installation.
12/179
3.2.4
Protection Against Magnetic and Electromagnetic Fields During Oper ation and Mounting
Magnetic and electromagnetic fields generated by current-carrying conductors and permanent magnets in motors represent a serious personal danger to those with heart pacemakers, metal implants and hearing aids.
Health hazard for persons with heart pacemakers, metal implants and hearing aids in proximity to electrical equipment! WARNING
Persons with heart pacemakers and metal implants are not permitted to enter following areas: Areas in which electrical equipment and parts are mounted, being operated or commissioned. Areas in which parts of motors with permanent magnets are being stored, repaired or mounted.
If it is necessary for somebody with a pacemaker to enter such an area, a doctor must be consulted prior to doing so. The noise immunity of pres ent or future implanted heart pacemakers differs greatly so that no general rules can be given. Those with metal implants or metal pieces, as well as with hearing aids, must consult a doctor before they enter the areas described above. Oth erwise health hazards may occur.
3.2.5
CAUTION
Do not touch surfaces of device housings and chokes in the proximity of heat sources! Danger of burns! Do not touch housing surfaces of motors! Danger of burns! According to the operating conditions, temperatures can be higher than 60 C, 140F during or after operation. Before accessing motors after having switched them off, let them cool down for a sufficiently long time. Cooling down can require up to 140 mi nutes! Roughly estimated, the time required for cooling down is five times the thermal time constant specified in the Technical Data. After switching drive controllers or chokes off, wait 15 minutes to allow them to cool down before touching them. Wear safety gloves or do not work at hot surfaces. For certain applications, the manufacturer of the end product, machine or installation, according to the respective safety regulations, has to take measures to avoid injuries caused by burns in the end application. These measures can be, for example: warnings, guards (shielding or barrier), technical documentation.
3.2.6
13/179
Risk of injury by improper handling! Bodily injury by bruising, shearing, cutting, hitting! CAUTION
Observe the general construction and safety regulations on handling and mounting. Use suitable devices for mounting and transport. Avoid jamming and bruising by appropriate measures. Always use suitable tools. Use special tools if specified. Use lifting equipment and tools in the correct manner. If necessary, use suitable protective equipment (for example safety gog gles, safety shoes, safety gloves). Do not stand under hanging loads. Immediately clean up any spilled liquids because of the danger of skidding.
3.2.7
Battery Safety
Batteries consist of active chemicals enclosed in a solid housing. Therefore, improper handling can cause injury or material damage.
CAUTION
Do not attempt to reactivate low batteries by heating or other methods (risk of explosion and cauterization). Do not recharge the batteries as this may cause leakage or explosion. Do not throw batteries into open flames. Do not dismantle batteries. When replacing the battery/batteries do not damage electrical parts in stalled in the devices. Only use the battery types specified by the manufacturer. Environmental protection and disposal! The batteries contained in the product are considered dangerous goods during land, air, and sea transport (risk of explosion) in the sense of the legal regulations. Dispose of used batteries separate from other waste. Observe the local regulations in the country of assembly.
3.2.8
14/179
CAUTION
Do not attempt to disconnect, open or cut pressurized lines (risk of explo sion). Observe the respective manufacturer's operating instructions. Before dismounting lines, relieve pressure and empty medium. Use suitable protective equipment (for example safety goggles, safety shoes, safety gloves). Immediately clean up any spilled liquids from the floor. Environmental protection and disposal! The agents used to operate the product might not be economically friendly. Dispose of ecolog ically harmful agents separately from other waste. Observe the local regulations in the country of assembly.
15/179
4
4.1
The IndraWorks Logic package is installed. The target system information (Target Support Package) of the IIndra Logic L20 DP are available in IndraWorks. All relevant data are automat ically generated during the installation of IndraWorks. IndraWorks Engineering is started. An IndraWorks project exists and is indicated in the project explorer. For detailed information on the user interface and the handling of IndraWorks refer to the IndraWorks documentation /5/ or online help.
Required Steps
1. 2. 3. 4. 5.
Creating a new IndraLogic L20 DP device with IndraWorks. Defining basic settings with IndraWorks. Defining field bus and I/O configuration with IndraWorks. PLC programming with IndraLogic. Loading configuration and PLC program data into the hardware of the IndraLogic L20 DP and activating them with IndraWorks.
4.2
16/179
Fig.4-1:
Then a wizard starts automatically to guide you through the definition of the necessary basic settings.
4.3
4.3.1
17/179
Fig.4-2:
Device Name
Device settings
Enter any device name desired. The default setting of this field is the name specified in the library. The name entered here will be device name displayed in the project explorer. Enter any comment to describe the device in detail. Enter the project author's name. These details can still be changed later, please refer to chapter 4.3.5 "Modifying Basic Settings" on page 24. Confirm the settings with "Next >>".
Comment Author
4.3.2
General Information
18/179
Fig.4-3:
Entering the firmware version and the settings for the field bus interfaces
Once the new IndraLogic L20 DP device is included in the project explorer, versions can no longer be modified!
Target and Firmware Release DP Onboard
Select the "target system version" and the "firmware" for this version. This also affects further settings provided in this dialog. "Profibus/M": If you select this option, subordinate Profibus DP slaves will be coupled to the IndraLogic L20 DP via the onboard Profibus DP interface (X7P). In this case, the IndraLogic L20 DP will be the master of the slaves connected there. "Profibus/S": If you select this option, the IndraLogic L20 DP will be a subordi nate Profibus DP slave coupled to a superordinate Profibus DP master via the onboard Profibus DP interface (X7P).
Ethernet/IP Slave
Activate this option to use the IndraLogic L20 DP via the onboard Ethernet interface (X7E) as follows: As CIP data server(CIP: Communication Industrial Protocol): Allows si multaneous access for a maximum of 6 CIP data clients to enabled variables of the IndraLogic L20 DP via acyclic DataTable services ("Un connected Explicit Messaging" and "Class 3 Connected Messaging"). As CIP data client: Allows access to enabled variables via the "RIL_Ether NetIP" library of a CIP data server via acyclic DataTable services. As Ethernet/IP slave (target): Allows cyclic exchange of I/O data blocks with a superordinate control (master/originator) via an "Exclusive Owner connection" (transport class 1) and a further "Listen Only connec tion" (transport class 1).
Type of Addressing
Click on the "Extended..." button to set the desired I/O addressing type (bytes or word). Basic settings of the I/O addressing type: Lower than firmware version 03 VRS: Word Higher than firmware version 03 VRS: Bytes
19/179
Fig.4-4:
Select the setting which corresponds to the type of addressing in the PLC pro grams to be used. For example, the following applies to word addressing: output byte 10 (QB10) is addressed by "QW5". In contrast, the following applies to byte addressing: output byte 10 (QB10) is addressed by "QW10". Once the new IndraLogic L20 DP device is included in the project explorer, the type of addressing can no longer be modified! Confirm the settings with "Next >>". This opens the dialog for defining the communication settings.
4.3.3
Communication Settings
Define the settings for communication between IndraWorks and the IndraLog ic L20 DP. Opening of this dialog automatically starts the IndraLogic gateway server used to enable communication. If already provided in the gateway serv er, communication settings can be selected from the "Channels" dropdown list. If there is no entry yet, a dialog to create a communication channel appears automatically. If there is no suitable entry, you can either create a new or edit an existing communication channel. Click on the "Communication parameters..."button. Proceed as described chapter "Communication Parameters" on page 20.
General Information
20/179
Fig.4-5:
The gray fields show the parameters of the entry selected from "Channels". The communications settings have to correspond to the actual setting of the IndraLogic L20 DP, also refer to chapter 7.4.3 "Default Menu " on page 158 or chapter 7.5.5 "Network Configuration " on page 168. For more information about the subject of "Communication", please refer to the IndraLogic help or to the IndraLogic manual /2/. To complete your settings, click on the "Finish" button. This completes the wiz ard-guided basic settings. The new IndraLogic L20 DP device appears in the project explorer. The basic settings can be changed later, refer to chapter 4.3.5 "Modifying Basic Settings" on page 24. For more information on the device, please refer to chapter 4.3.4 "Components of the IndraLogic L20 Device" on page 22.
Communication Parameters
General Information
New communication channels (communication instances) can be created, modified or deleted in the "Communication Parameters" dialog.
21/179
Fig.4-6:
Communication parameters
Name Device
Fig.4-7:
Name Device
Enter a name for the new communication channel in this box. Select the desired communication driver to enable communication between In draWorks and the IndraLogic L20 DP. Click on the appropriate line in the "Name" column and confirm your settings with "OK". The new communication channel appears in area in fig. 4-8 "Adjusting the parameters of a communication channel" on page 22.
22/179
Fig.4-8:
4.3.4
General Information
23/179
Fig.4-9:
The object tree of the IndraLogic L20 DP can contain the following objects: "Logic": Part of the IndraLogic L20 DP device responsible for processing all I/O signals through the software. This includes e.g. PLC modules (POUs), the PLC task management and global variables. Double-click on the "Logic" object to start IndraLogic with the "IndraLogic L20 DP" target system. "Onboard I/O": Local I/O area of the IndraLogic L20 DP (Onboard I/O). This area is equipped with 8 high-speed inputs and 8 high-speed outputs each. The configuration is described in chapter 4.4 "Configuring the On board I/O " on page 26. "Inline I/O": Local Inline I/O area of the IndraLogic L20 DP. This area con tains the I/Os of Rexroth Inline modules that can be coupled to the IndraLogic L20 DP. Configuration is described in chapter 4.5 "Projecting Rexroth Inline Modules " on page 30. "Profibus/M": Only available, if the onboard Profibus DP interface (X7P) has been configured as "Profibus/M" (Profibus master) or, alternatively, a Profibus/M function module has been configured, refer to fig. 4-3 "Entering the firmware version and the settings for the field bus interfaces" on page 18. This object allows parameterization of important Profibus operating data and integration of Profibus slaves, refer to chapter 4.6 "Configuring IndraLogic L20 as Profibus DP Master " on page 33. The object icon indicates the interface selected: = onboard Profibus DP inter face (X7P).
24/179
Project Planning and Programming "Profibus/S": Only available, if the onboard Profibus DP interface (X7P) has been configured as "Profibus/S" (Profibus slave), refer to fig. 4-3 "Entering the firmware version and the settings for the field bus interfa ces" on page 18. This object allows configuration of the Profibus slave settings of the IndraLogic L20 DP, refer to chapter 4.7 "Configuring In draLogic L20 as Profibus DP Slave " on page 44. "Ethernet/IP slave": Only available, if the IndraLogic L20 DP has been configured as Ethernet/IP slave, refer to fig. 4-3 "Entering the firmware version and the settings for the field bus interfaces" on page 18. This object allows configuration of the appropriate settings of the IndraLogic L20 DP, refer to chapter 4.8.1 "Configuring IndraLogic L20 as an Ethernet/IP Slave " on page 49.
4.3.5
Use the "Properties" menu item in the context menu of the IndraLogic L20 DP device.
Fig.4-10:
This will open the dialog for modifying the device settings, refer to fig. 4-2 "Device settings" on page 17.
Modifying Communication Settings
Use the "Properties" menu item in the context menu of the "Logic" object.
25/179
Fig.4-11:
Fig.4-12:
Please also note chapter 4.3.3 "Communication Settings" on page 19. The tabs of this dialog allow further settings to be made in addition to the communication settings (refer to fig. 4-13 ""Further settings" tab in the "Properties" dialog" on page 26). For more information about this subject, please refer to the IndraWorks documentation / 5/ and/or online help.
26/179
Fig.4-13:
4.4
4.4.1
Fig.4-14:
Inputs Outputs
27/179
Project Planning and Programming The digital inputs and outputs available on slots 1 to 4 (from left to right) are assigned to light-emitting diodes and bit addresses according to the following table:
Inputs Slot Status LED Byte-bit view Byte Bit Module Terminal point (signal) Terminal point (24 V) Terminal point (last ground) 0 1.1 1.2 1 2.1 2.2 1 2 1 3 4 1 2 2 3 4 1 2 3 3 4 1 2 Outputs 4 3 4
IX0.0 0.7 (default) 2 1.4 1.3 3 2.4 2.3 4 1.1 1.2 5 2.1 2.2 6 1.4 1.3 7 2.4 2.3 0 1.1 1.2 1 2.1 2.2
QX0.0 0.7 (default) 2 1.4 1.3 3 2.4 2.3 4 1.1 1.2 5 2.1 2.2 6 1.4 1.3 7 2.4 2.3
Fig.4-15:
Fig.4-16:
28/179
Fig.4-17:
"Onboard Settings"
Name: Internal name, defined through the installed target system. Based on: Name of the basic device description file. The file is an integral part of the installed target system. ID: Internal ID, defined through the installed target system. Comment: Enter any comment to describe the onboard I/O in detail.
This tab is for assigning the I/O areas of the onboard I/Os to the physical ad dresses of the control (I/O addresses of the PLC). Identifier: This column shows the two input and output modules. Click on the plus or minus symbol to switch between the byte and bit views respectively. You can also assign a symbolic address to each absolute address (double-click on the particular field). After it has been entered, the symbolic address is au tomatically created as a global variable in the PLC project. The symbolic address of a node also appears in the project explorer:
29/179
Fig.4-18:
Address: I/O address. Enter the desired I/O address as byte address (e.g. %IB10). Entries in italics serve only for display purposes and cannot be edited. An automatic readdressing is possible in the "I/O settings" tab. Data type: "BYTE" stands for byte addresses, and "BOOL" for bit addresses. Comment: Enter any comment regarding an address in this column. Status: Physical status of the input/output. The status is only indicated in diag nostic mode during communication between IndraWorks and IndraLogic L20 DP.
"I/O Settings" Tab
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Current or desired start addresses of the outputs and inputs. "Apply": Renumbers automatically all outputs and inputs of the onboard I/O in ascending order, starting with the start addresses displayed (refer to "From input / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
30/179
Fig.4-19:
4.5
4.5.1
4.5.2
31/179
Fig.4-20:
4.5.3
Fig.4-21:
32/179
Fig.4-22:
"Module Settings"
Name: Internal name, specified by the installed target system. ID: Internal ID, defined through the installed target system. Comment: Enter any comment to describe the Inline module in detail.
This tab is for assigning the I/O areas of the Inline modules to the physical addresses of the control (I/O addresses of the PLC). Identifier: This column shows the input and output structure. Click on the plus or minus symbol to switch between the byte and bit views respectively. You can also assign a symbolic address to each absolute address (double-click on the particular field). After it has been entered, the symbolic address is au tomatically created as a global variable in the PLC project. The symbolic address of a node also appears in the project explorer. For an example of onboard I/O, refer to fig. 4-18 "Symbolic and absolute addresses of I/O objects" on page 29. Address: I/O address. Enter the desired I/O address as byte address (e.g. %IB10). Entries in italics serve only for display purposes and cannot be edited. Automatic readdressing is possible in the "I/O Settings" tab. Data type: "BYTE" stands for byte addresses, and "BOOL" for bit addresses. Comment: Enter any comment regarding an address in this column. Status: Physical status of the input/output. The status is only indicated in diag nostic mode during communication between IndraWorks and IndraLogic L20 DP.
33/179
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Current or desired start addresses of the inputs and outputs. This tab provides only those input boxes that are relevant to the Inline module functionality used (module with inputs, module with outputs). If, for ex ample, you parameterize an Inline module having inputs only, there will be no "From output" input box. "Apply": Renumbers automatically all inputs and outputs of the Inline module in ascending order, starting with the start addresses displayed (refer to "From input / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
Fig.4-23:
4.6
4.6.1
4.6.2
34/179
Fig.4-24:
Master Settings
"Profibus/M" window
Name: Internal device name of the bus master Bus address: Bus address of the bus master (FDL address: Fieldbus Data Link). Address "1" is entered automatically. If necessary, enter a different address in this box. Address "0" is reserved for engineering devices and cannot be used. The address values for the master should always be as low as pos sible. High address values deteriorate the bus performance! Comment: Enter any comment to describe the bus master in detail. Based on: File name of the basic ident number according to the GSD file. The GSD file contains the settings options of the device and is provided by the manufacturer of the device. SW version: Software version according to the GSD file. HW version: Hardware version according to the GSD file.
The "Bus Parameters" tab contains the bus parameters required for operation of the Profibus DP. If the "Set to default" option is activated, only the "Baud rate" and "Max. retry limit" boxes can be edited. All other parameters are ad justed to the currently defined baud rate and are suitable for the majority of applications. To change the values, deactivate the "Set to default" option and set the "Opti mization" option to "Enabled". To disable the input boxes, you can reset the "Optimization" option to "Disabled". Once the "Set to default" option is activated, the values entered beforehand are overwritten by the adjusted values.
35/179
Modifications of the bus parameters might cause an unpredictable sys tem behavior! CAUTION
That is why the bus parameters may only be modified by skilled Profibus DP specialists, who are aware of the effects of such modifications! Baud rate (transmission rate): Select the data transmission rate of the entire bus system from this list box. All connected slaves have to support the specified value. The maximum baud rate must not exceed the highest possible baud rate of the "worst" slave. Max. retry limit: Maximum number of repetitions of a call telegram by the ini tiator, if the responder (receiver) does not send any answer. Possible settings: 1 to 15. Target rotation time (Ttr): Command token rotation time for multi-master mode. Possible settings: 256 to 6647 Tbits (bit time units). Quiet time (Tqui): Modulator quiet time or repeater rotation time. This is the time to elapse while the system waits for "quietness at the bus". Telegrams are nei ther sent nor received. Possible settings: 0 to 255 Tbits. Setup time (Tset): Release time. Maximum time elapsing from the arrival of an event until execution of the required reaction. Possible settings: 1 to 255 Tbits. Slot time (Tsl): "Waiting for reception" time. Maximum time that the initiator is waiting for the immediate acknowledgement or response after having emitted a call telegram (message cycle). Since Tid2 takes direct effect, the setting can be selected from a range from Tid2 + 15 to16383 Tbits. Poll timeout: Time monitoring for an acyclic service (DPV1). Maximum time that the initiator is waiting for the reception of the response after emitting an acyclic request. The setting can be selected in steps of 10 ms from a range from 10 to 655350 ms. Data control time: Slave-related monitoring time in the bus master; within this time period at least one user data transfer with the corresponding slave must be completed. Possible settings: 1 to 65535 ms. GAP update factor: Factor allowing to control after how many bus cycles new masters can be identified. Possible settings: 1 to 10. Min. Tsdr: This is the minimum time a responder needs to answer a request telegram. Possible settings: 11 to 255 Tbits. Max. Tsdr: This is the maximum time a responder needs to answer a request telegram. Possible settings: 35 to 1023 Tbits. Min slave intervall: This is the minimum time having to elapse between two accesses of the bus master to the same slave. Possible settings: 1 to 65535 (factor: 100 s).
"Groups" Tag
Group assignment relates to the sync and freeze commands of the "global control" services provided by Profibus DP. Activate the group(s) to receive the sync and freeze commands sent by the master in the "Sync" and "Freeze" col umns respectively. Example:As can be seen from the group assignment shown in the following figure, the bus master is allowed to send the sync command to slaves of groups 3 and 4 and the freeze commands to slaves of groups 1 and 3.
36/179
Fig.4-25:
For information on how to assign slaves to a particular group, refer to "Group Assignment Tab" on page 40. Control commands of the "sync" and "freeze" modes can be gen erated with the DP_SYCFR function block (refert to section "DP_SYCFR" on page 6-51). In this case, the master freezes the transfer of the commands to the relevant slaves if slaves of a "dis abled" group are specified as receivers.
"Parameters" Tag
This tab is for displaying and editing possibly available vendor-specific bus master parameters. The integrated bus master of the IndraLogic L20 DP does not have any specific parameters. That is why this tab remains empty.
4.6.3
37/179
Fig.4-26:
Inserting a Profibus DP slave via the context menu of the "Profibus/M" object
4.6.4
38/179
Fig.4-27:
Modular Profibus DP slave; still without subordinate modules Compact Profibus DP slave Current bus addresses of the Profibus DP slaves
Select the "Bus address" menu item of the context menu. This will open the "DP Bus addresses" dialog where you can change the bus address of a slave. This dialog displays the complete address assignment of all Profibus DP devi ces. Double-click on a free field in the "Status" table column to apply the corresponding bus address to the currently selected slave. The address values for the master should always be as low as pos sible. High address values deteriorate the bus performance! To configure a Profibus DP slave, double-click on the corresponding slave entry in the project explorer. This opens a window in the workspace, refer to the figure below:
Fig.4-28:
"Slave Settings"
Name: Device name according to the GSD file. Bus address: Bus address of the slave (FDL address). Here, IndraWorks enters the next free bus address automatically. If necessary, enter a different address
39/179
Project Planning and Programming in this box. Alternatively, click on the "..." button to open the "DP bus address es" dialog. This dialog displays the complete address assignment of all Profi bus DP devices. Double-click on a free field in the "Status" or "Bus address" table column to apply the corresponding bus address to the currently selected slave. Please note the following restrictions for the address selection: Address "0": reserved for engineering devices Address "1": reserved for the Profibus DP master The bus address of the slave also appears in the project explorer, refer to fig. 4-34 "Module of a Profibus DP slave (example)" on page 42. Active: Activate this option, so that the slave can be commissioned at the Pro fibus after the next program download (refer to chapter 4.11 "Download and Commissioning" on page 66). Deactivate this option, if the slave is to be con figured and archived, but not to be commissioned at the Profibus. The setting (active/not active) can be also recognized and made in the project explorer. If the mouse pointer is positioned on the slave, the setting can be changed by a left mouse-click, see in the following figure.
Fig.4-29:
Display of the settings "not active" (first line) and "active" (second line). Display of the settings, if the mouse pointer is positioned on the slave.
Based on: File name of the basic ident number according to the GSD file. SW version: Software version according to the GSD file. HW version: Hardware version according to the GSD file. Comment: Enter any comment to describe the slave in detail.
"I/O Settings" Tab
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Desired start addresses for automatic numbering of the inputs and outputs of all subordinate modules of the Profibus DP slave. Apply: Renumbers automatically all inputs and outputs of the subordinate Pro fibus DP slave modules in ascending order, starting with the start addresses displayed (see "From input / From output"). Please note that any existing ad dress gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area. Automatic numbering of subordinate modules can also be made in the module configuration. Also refer to chapter 4.6.5 "Inserting Modules in a Profibus DP Slave " on page 41.
This tab is for displaying and editing possibly available vendor-specific slave parameters. This tab displays "vendor-specific data" with regard to the slave if such data is provided in the GSD file. To change a parameter value, double-click on the "Parameter value" or "Val ue" field in the corresponding line of the table. If you click on "Default", all modified values are overwritten by the original values from the GSD file.
40/179
Project Planning and Programming Depending on the type provided in the GSD file, the data can be displayed in two different manners: Display with address, parameter name and value:
Fig.4-30:
List with parameter name and value Parameter data in byte view
In this type of display, a parameter value can be shown and edited according to its data type , e.g. "Active" and "Not active" for boolean values. Additionally, all resulting parameter data is displayed in the byte view . Display of address and value:
Fig.4-31:
In this type of display, the values are subdivided in bytes. The Numerical ba sis can be set for display of byte values.
"Group Assignment" Tab
Group assignment relates to the sync and freeze commands of the "global control" services provided by Profibus DP. To assign the slave to one or several groups, activate the desired group in the "Member of" column. The "Sync mode" and "Freeze mode" columns indicate the groups actually re ceiving the sync or freeze commands sent by the master. These assignments are set in the "Groups" tab in the "Master Settings", see chapter 4.6.2 "Making Master-Specific Settings" on page 33. Example:As can be seen from the setting shown in the following figure, the master sends sync commands to groups 3 and 4 and freeze commands to groups 1 and 3. The outputs of the slave are frozen to (synchronized with) the current value as soon as the master sends the sync command to group 3. The
41/179
Project Planning and Programming states of the inputs are frozen to the current value, as soon as the master sends the freeze command to group 1 or group 3.
Fig.4-32:
4.6.5
42/179
Fig.4-33:
Inserting a module
4.6.6
Fig.4-34:
To configure a module, double-click on the corresponding module entry in the project explorer. This opens the following window in the workspace:
43/179
Fig.4-35:
"Module Information" "I/O Addresses" Tab
Name: Module name (box on the left) and internal module identification ac cording to the GSD file (box on the right). This tab is for assigning the I/O areas of the modules to the physical addresses of the control (I/O addresses of the PLC). Identifier: This column shows the input and output structure. Click on the plus or minus symbol to switch between the byte and bit views respectively. You can also assign a symbolic address to each absolute address (double-click on the particular field). After it has been entered, the symbolic address is au tomatically created as a global variable in the PLC project. The symbolic address of a node also appears in the project explorer. For an example of onboard I/O, refer to fig. 4-18 "Symbolic and absolute addresses of I/O objects" on page 29. Address: I/O address. Enter the desired I/O address as byte address (e.g. %IB10). Entries in italics serve only for display purposes and cannot be edited. Automatic readdressing is possible in the "I/O Settings" tab. Data type: "BYTE" stands for byte addresses, and "BOOL" for bit addresses. Comment: Enter any comment regarding an address in this column. Status: Physical status of the input/output. The status is only indicated in diag nostic mode during communication between IndraWorks and IndraLogic L20 DP.
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Current or requested initial addresses of the inputs and outputs. This tab provides only those input boxes that are relevant to the module funcitonality used (module with inputs, module with outputs). If, for ex ample, you parameterize a module having inputs only, there will be no "From output" input box.
44/179
Project Planning and Programming "Apply": Renumbers automatically all inputs and outputs of the module in as cending order, starting with the start addresses displayed (refer to "From input / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
"Vendor-Specific Data" Tab
This tab is for displaying and editing possibly available vendor-specific module parameters. This tab displays "vendor-specific data" with regard to the module if such data is provided in the GSD file. For more information about "vendor-specific data," refer to section "VendorSpecific Data Tab" on page 39.
4.7
4.7.1
4.7.2
Fig.4-36:
"Profibus/S" object
45/179
Fig.4-37:
"Slave Settings"
"Profibus/S" window
Name: Internal device name of the slave Bus address: Bus address of the slave (FDL address: Fieldbus Data Link). Ad dress "2" is entered automatically. If necessary, enter a different address in this box. Please note the following restrictions for the address selection: Address "0": reserved for engineering devices Address "1": reserved for the Profibus DP master The bus address also appears in the project explorer, see fig. 4-27 "Profibus DP slaves (example)" on page 38. Based on: File name of the basic ident number according to the GSD file. SW version: Software version according to the GSD file. HW version: Hardware version according to the GSD file. Comment: Enter any comment to describe the slave in detail.
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Desired start addresses for automatic numbering of the I/O coupling area (for a description see chapter 4.7.3 "Parameterizing the Coupling Area" on page 46). "Apply": Renumbers automatically all inputs and outputs of the I/O coupling area in ascending order, starting with the start addresses displayed (see "From input / From output"). Please note that any existing address gaps are closed during this process!
46/179
Project Planning and Programming If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
4.7.3
Fig.4-38:
To configure the inputs and outputs, double-click on the corresponding module entry in the project explorer. This opens the following window in the workspace:
47/179
Fig.4-39:
"Module Information" "I/O Addresses" Tab
Name: Module name (box on the left) and internal module identification (box on the right). This tab is for assigning the coupling area to the physical addresses of the control (I/O addresses of the PLC). The addresses are the local I/O addresses of the IndraLogic L20 DP. Identifier: This column shows the input and output structure. Click on the plus or minus symbol to switch between the byte and bit views respectively. You can also assign a symbolic address to each absolute address (double-click on the particular field). After it has been entered, the symbolic address is au tomatically created as a global variable in the PLC project. The symbolic address of a node also appears in the project explorer. For an example of onboard I/O, refer to fig. 4-18 "Symbolic and absolute addresses of I/O objects" on page 29. Address: I/O address. Enter the desired I/O address as byte address (e.g. %IB10). Entries in italics serve only for display purposes and cannot be edited. Automatic readdressing is possible in the "I/O Settings" tab. Data type: "BYTE" stands for byte addresses, and "BOOL" for bit addresses. Comment: Enter any comment regarding an address in this column. Status: Physical status of the input/output. The status is only indicated in diag nostic mode during communication between IndraWorks and IndraLogic L20 DP.
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Current or desired start addresses for automatic num bering of the I/O coupling area. "Apply": Renumbers automatically all inputs and outputs of the I/O coupling area in ascending order, starting with the start addresses displayed (see "From
48/179
Project Planning and Programming input / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
"Vendor-Specific Data" Tab
4.7.4
Fig.4-40:
Projecting the IndraLogic L20 as slave in the superordinate control (de vice in the library)
While projecting the device, select those modules from the superordinated control, which correspond to the data capacity of the coupling area of the inputs and outputs. The following figure shows an example with a coupling area of 8 byte inputs and 8 byte outputs.
Fig.4-41:
49/179
4.8
4.8.1
Overview
Fig.4-42:
Fig.4-43:
"EtherNet/IP Slave Settings"
50/179
Project Planning and Programming Based on: Name of the basic device description file. The file is an integral part of the installed target system. ID: Internal ID, specified by the installed target system. Comment: Enter any comment to describe the slave in detail.
"I/O Settings" Tab
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Desired start addresses for automatic numbering of the I/O coupling area. "Apply": Renumbers automatically all inputs and outputs of the I/O coupling area in ascending order, starting with the start addresses displayed (see "From input / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
Fig.4-44:
Selecting the data capacity for the input and output fields of the Ethernet/ IP slave
To configure the inputs and outputs, double-click on the corresponding module entry in the project explorer. This opens the following window in the workspace:
51/179
Fig.4-45:
"Ethernet/IP Module Settings"
Name: Internal name, specified by the installed target device. Based on: File name of the used device description file. The file is an integral part of the installed target system. Assembly instance: Internal identification. Comment: Enter any text to describe the I/O field in detail.
This tab is for assigning the coupling area to the physical addresses of the control (I/O addresses of the PLC). The addresses are the local I/O addresses of the IndraLogic L20 DP. Identifier: This column shows the input and output structure. Click on the plus or minus symbol to switch between the byte and bit views respectively. You can also assign a symbolic address to each absolute address (double-click on the particular field). After it has been entered, the symbolic address is au tomatically created as a global variable in the PLC project. The symbolic address of a node also appears in the project explorer. For an example of onboard I/O, refer to fig. 4-18 "Symbolic and absolute addresses of I/O objects" on page 29. Address: I/O address. Enter the desired I/O address as byte address (e.g. %IB10). Entries in italics serve only for display purposes and cannot be edited. Automatic readdressing is possible in the "I/O Settings" tab. Data type: "BYTE" stands for byte addresses, and "BOOL" for bit addresses. Comment: Enter any comment regarding an address in this column.
52/179
Project Planning and Programming Status: Physical status of the input/output. The status is only indicated in diag nostic mode during communication between IndraWorks and IndraLogic L20 DP.
"I/O Settings" Tab
This tab is for starting the automatic assignment of I/O addresses. From input/From output: Current or desired start addresses for automatic num bering of the I/O coupling area. Apply: Renumbers automatically all inputs and outputs of the I/O coupling area in ascending order, starting with the start addresses displayed (see "From in put / From output"). Please note that any existing address gaps are closed during this process! If the automatic numbering causes collisions with already assigned address areas, IndraWorks indicates the collision cause and automatically determines the next free address area.
Fig.4-46:
53/179
Fig.4-47:
The consumer instance of the IndraLogic L20 DP monitors the cyclic transmis sion of the master output image by means of a monitoring time (timeout). To achieve this, the IndraLogic L20 DP receives the appropriate parameters while the cyclic data channel is initialized. The resulting monitoring time can be cal culated from the following formulas:
Fig.4-48:
Timeout Multiplier Value Timeout Multiplier Requested Packet Interval (in s) Monitoring time (in ms)
Examples:
54/179
Fig.4-49:
4.8.2
Overview
Projecting
To use the IndraLogic L20 DP as a CIP data server, proceed as follows: 1. Define the IndraLogic L20 DP as an Ethernet/IP slave, refer to chapter 4.3.2 "Device and Function Module Settings" on page 17. This is the only case where the required subordinate "Ethernet/IP slave" object is availa ble in the project explorer. If additional cyclic communication is not necessary, parameterize the data capacities of the I/O coupling area such that they are equal to 0. To ach ieve this, use the "Replace module" item of the particular contect menu and select the "0 Byte Input" or "0 Byte Output..." module, see fig. 4-44 "Selecting the data capacity for the input and output fields of the Ethernet/ IP slave" on page 50. Define the appropriate variables in IndraLogic. Ensure that the "Dump symbol entries" and "Dump XML symbol table" options are activated in IndraLogic under Project Options Symbol configuration. Open the "Set object attributes" dialog in IndraLogic by selecting Proj ect Options Symbol configuration Configure symbol file. Select the desired variables and activate the "Export variables of the object" option. The "Write access" option affects the write protection of a variable. To avoid external overwriting of the variable value, deactivate the write access option.
2.
3. 4.
5.
55/179
Project Planning and Programming Access is possible to variables (INT, DINT, ...) and to one-dimensional variable arrays (up to 450 bytes). The CIP data server acknowledges the read and write accesses. Reasons for negative acknowledgements are listed in the following table:
Error code 0x1F 0x1F 0x1F 0x1F Additional error code 0x0101 0x0106 0x0107 0x0108
Description No symbol information for variable available Variable is read-only Too much data sent during the write access Not enough data sent during the write access
Fig.4-50:
4.8.3
2.
3. 4.
4.9
4.9.1
56/179
Project Planning and Programming The control is configured in IndraWorks, not in IndraLogic, see chapter 4.3 "Specifying Basic Settings (Wizard-Guided) " on page 16. That is why many input boxes of the IndraLogic PLC configu ration are deactivated and cannot be edited. PLC project planning with IndraLogic is activated via the "Logic" object in the project explorer.
Fig.4-51:
Double-click on the "Logic" object to start IndraLogic with the "IndraLog ic L20 DP" as target system. Double-click on an entry under "POUs" (e.g. PLC_PRG) to open the cor responding module for further editing in IndraLogic, see chapter 4.9.5 "Creating a PLC Program " on page 61. Double-click on "Tasks" to start task configuration in IndraLogic, see chapter 4.9.3 "Task Configuration " on page 58.
Updating a Project
To apply all of the modules generated in IndraLogic as well as any edited set tings to the IndraWorks project explorer, select the Update function from the context menu of the "Logic" object:
Fig.4-52:
57/179
4.9.2
Target Settings
Any modification of the preset target configuration can have serious ef fects on the behavior of the target system!
CAUTION
The target settings may only be modified by skilled specialists, who are aware of the effects of such modifications! The target settings are optimized to comply with the most frequently used ap plications. Some of the settings can be adjusted to special cases of application. The target settings are modified via the properties dialog of the "Logic" object. IndraLogic must be closed. Settings that are not available on the IndraWorks level (e.g. "Network func tions") can be made in IndraLogic under "Target Settings". To open these settings in IndraLogic, click on "Target Settings" in the "Resources" tab, see fig. 4-53 "IndraLogic, resources, "Target Settings" object" on page 57. For more information about target settings, please refer to the In draLogic documentation /2/ and/or online help.
Fig.4-53:
Interrupting the Database Connec tion
Usually, there is always an active connection to the database server. Such an active connection is indicated by "<R>" appended to the name of the "Target Settings" object. Target settings can be edited only if the connection to the database is inter rupted. To achieve this, select the Project database Check Out item of the target settings context menu, see fig. 4-54 "Target settings: Checking out from the database" on page 58. After the target settings have been edited, the database connection can be reestablished via Project database Check In. After settings have been edited, it might be necessary to synchronize the In draWorks and IndraLogic databases. This can be achieved with the Project database Get Latest Version menu item.
58/179
Fig.4-54:
4.9.3
Task Configuration
Many applications just require program execution without any special task management. In this case, the program is processed simply by executing the PLC_PRG "main program". PLC_PRG is automatically generated as a "Pro gram" type module. It is called exactly one time in each control cycle. In special application cases, the processing of the tasks can be controlled. This requires the task configuration function. Call the task configuration as follows: In the IndraWorks project explorer: Double-click on the "Tasks" object of the relevant "Logic" objects. - OR in the "Resources" tab of IndraLogic: Double-click on the "Task configu ration" object.
59/179
Fig.4-55:
For more information about task attributes, please refer to the In draLogic documentation /2/ and/or online help. The IndraLogic L20 DP provides a special task-controlled function:
Triggered by External Event
A task can be triggered by a rising edge or rising edges at one or several on board inputs. To achieve this, select the "triggered by external event" option in the "Task attributes" tab and the event required from the "Event" box: Local Input Bit 0 ... Local Input bit 7: The task is started as soon as a rising edge is applied to the selected bit input of the onboard I/O. Local input byte: The task is started as soon as a rising edge is detected at at least one of the eight onboard inputs. Even if positive signal levels are already applied to the individual inputs, the task starts with each new rising edge of an input. Rising edges that are incoming simultaneously are detected as a single event and, thus, do not repeatedly start the task. The independent task starts when the program is started. After having been executed, the task restarts without any waiting time. In order that other tasks can be started, the independent task must be the task that has the lowest priority among all of the programmed tasks. Only one independend task can be used.
4.9.4
Library Manager
For more information on the library manager, please refer to the IndraLogic documentation /2/ and/or online help. For information about the IndraLogic L20 DP libraries, please refer to chapter 6 "Li braries".
60/179
Project Planning and Programming The IndraLogic L20 DP already contains a few libraries that can be displayed in the "Resources" tab of IndraLogic. IndraWorks automatically loads libraries for internal use (refer to chapter 6 "Libraries " on page 75) as soon as they are referenced. It is not necessary to insert them manually with the library manager. To link further libraries to the current project, double-click on the "Library Man ger" object in the "Resoureces" tab. This opens the library manager:
Fig.4-56:
"Resources" tab "Library Manager" object List of loaded libraries Display of all function blocks contained in a selected library
Library Manager
Select the Insert Additional library menu item or "Additional library..." from the context menu of area (3). This opens a dialog for library selection, see fig. 4-57 "Library folder of the IndraLogic L20 target" on page 61. Select the library folder of the installed IndraLogic L20 DP files (target files).
61/179
Project Planning and Programming The data are residing in the following directory: "...\Rexroth\IndraWorks\Indra Logic\Targets\<TargetSystemName>\lib". Example: Library folder of the IndraLogic L20 DP DPM 03 VRS: "C:\Programs \Rexroth\IndraWorks\IndraLogic\Targets\ IndraLogic_L10_DP_04VRS\lib\"
Fig.4-57:
Select the desired library and confirm your selection by clicking on "Open". The library is applied to area (3) (see fig. 4-56 "Library Manager" on page 60) and is ready for use.
4.9.5
62/179
Fig.4-58:
4.9.6
4.10
4.10.1
63/179
4.10.2
Program:
TYPE OutStruct : STRUCT Out01 : BYTE; Out02 : WORD; Out03 : BYTE; Out04 : DWORD; END_STRUCT END_TYPE
Depending on the platform this structure is mapped to the memory as follows (here a comparison between the controls IndraLogic L20 DP and L20):
IndraLogic V, IndraLogic VEP, IndraLogic VPP, IndraLogic L40 ADR0 Out01 : BYTE; ADR1 Out02 : WORD; ADR3 Out03 : BYTE; ADR4 Out04 : DWORD; ADR8 : ADR0 Out01 : BYTE; ADR1 (filling byte) ADR2 Out02 : WORD; ADR4 Out03 : BYTE; ADR5 (filling byte) ADR6 (filling byte) ADR7 (filling byte) ADR8 Out04 : DWORD; ADR12 : IndraLogic L10/L20
Fig.4-59:
The structure elements are differently mapped, so that a compatible program ming method being independent of the control's mapping must be used when accessing the structure elements.
Permissible Addressing
Thus, the compatible use of structures provides for a direct addressing of the elements via the point operator: Structure name.Element name := Element value; If the address of a structure is to be transferred to subfunctions via a pointer, the addressing of the elements is also only permissible by the offset calculation of the compiler: Structure pointer^.Element name := Element value;
Program:
StructInst : OutStruct; pt : POINTER TO StructInst; (* Declaration structure instance *) (* Declaration pointer to structure instance *)
64/179
The addressing of a structure element by calculations in the code is not al lowed: Structure element pointer := ADR (Structure name.Element); Structure element pointer := Structure element pointer + n; Structure element pointer^ := value; This is not allowed and causes incompatibilities, as it is not ensured, that the offset creation to address a structure element by calculation in the code is re liable. The number of filling bytes is different for the platforms.
4.10.3
Program:
STRUCT {pack} Element_01 : USINT; Element_02 : DWORD; Element_03 : BYTE; Element_04 : INT; END_STRUCT END_TYPE
The structure of this program listingis archived in the memory of the different systems as follows:
Byte ad dress IndraLogic V, IndraLogic VEP, IndraLogic VPP, IndraLogic L40 0 1 2 3 4 5 6 7 8 9 Element_01 Element_02 (byte 0) Element_02 (byte 1) Element_02 (byte 2) Element_02 (byte 3) Element_03 Element_04 (byte 0) Element_04 (byte 1) Element_01 Filling byte Filling byte Filling byte Element_02 (byte 0) Element_02 (byte 1) Element_02 (byte 2) Element_02 (byte 3) Element_03 Filling byte Element_01 Element_02 (byte 0) Element_02 (byte 1) Element_02 (byte 2) Element_02 (byte 3) Element_03 Element_04 (byte 0) Element_04 (byte 1) IndraLogic L10/L20 without pragma {pack} IndraLogic L10/L20 with pragma {pack}
65/179
Fig.4-60:
Memory assignment
By specifying the pragma {pack} a structure archive compatible to the Indra Logic L40 is created. The individual structure elements can be accessed like in the IndraLogic L40.
Example to pack structures
Program:
VAR str001: struct001; len_struct001: INT := 0; array001: ARRAY [0..15] OF BYTE; ps001: POINTER TO BYTE; pa001: POINTER TO BYTE; i: INT := 0; END_VAR ---------------------------------------------------------len_struct001:=SIZEOF(str001); str001.s001_byte1:=16#01; str001.s001_DW:=16#05040302; str001.s001_byte2:=16#06; str001.s001_Word:=16#0807; ps001:=ADR (str001); pa001:=ADR (array001); FOR i :=0 TO len_struct001 BY 1 DO pa001^:=ps001^; pa001:=pa001+1; ps001:=ps001+1; END_FOR;
To pack structures with the help of the compiler instruction {pack} causes a deceleration of the PLC program processing in the Indra Logic L10/20, as the access to word or double-word operands occurs byte wise.
4.10.4
Fig.4-61:
During the declaration of variables without assignment of an I/O address the IndraLogic compiler ensures an optimum alignment corresponding to the illus trated table.
66/179
Variable1: WORD even address Variable2: DWORD address divisible by 4 During the declaration of variables with assignment of an I/O address the align ment in the memory depends on the assigned address. Out01 AT %QB0 : DWORD; even address Out02 AT %QB5 : DWORD; uneven address To assign word/byte variables to uneven I/O addresses causes a deceleration of the PLC program processing in the IndraLogic L10/ L20, as the access to word and double-word operands occurs byte wise.
4.10.5
Due to the processor architecture used for the IndraLogic L10/L20, the 64 bit data type LREAL is not mapped task and interrupt save. The processor type used contains only tabs with a 32 bits width. Operations executed with LREAL variables can be stopped during task change or interrupt processing so that consistency errors occur. Use the LREAL variables in one IEC task only to exclude consis tency errors.
4.11
4.11.1
After having been programmed, the project can be trouble-shooted in Indra Logic by selecting the Project Compile all menu item. Select the Online Login menu item to start communication between the pro gramming system and the IndraLogic L20 DP and to enter the online mode. If the current project has not been compiled since it was opened or edited, it will now be compiled (same as with Project Compile). IndraLogic will only enter the online mode if there are no compilation errors. If the current project has been modified but not closed since it was downloaded to the control and the previous download information has not been deleted with theProject Clean all command, a dialog with the following request is opened: "The program has been changed. Load changes? (Online Change)" Click "Yes" to confirm that that the projects parts that have been changed are to be loaded to the control on login. Click "Load all" to reload the complete project to the control. Click "No" to log in without loading the changes made since the last download to the control. Also refer to the "Online Functions" in the IndraLogic documenta tion /2/ and/or online help.
67/179
4.11.2
Online Functions
The "online functions" of IndraWorks can be used to obtain information about the state of the control.
Connection Test
To switch a control to online mode, the computer where IndraWorks is installed must be connected to the control. This connection can be checked via the con text menu of the device, see fig. 4-62 "Checking the connection of a device" on page 67.
Fig.4-62:
The result of the connection test is provided in the acknowledgement. If there is a connection to the device, the control can be switched to online mode.
Switching to Online Mode
To switch the devices to online mode, select the Project Switch Devices On line menu item, see fig. 4-63 "Switching devices to online mode" on page 68.
68/179
Fig.4-63:
This opens a dialog where you can select the desired device, see fig. 4-64 "Selecting devices to be switched to online mode" on page 68.
Fig.4-64:
Individual devices can also be switched to online mode directly using the con text menu of the device in the project explorer. The project explorer indicates . devices in online mode through a small circle attached to the device icon:
Activating the Monitor Function
Once a device is in online mode, the IndraWorks monitor function can be used. Provided it is on, the monitor displays the I/O status data in decimal format. Switch the monitor on through the context menu of the device in online mode, see fig. 4-65 "Switching the monitor function on and off" on page 69.
69/179
Fig.4-65:
Provided the monitor function is activated, the monitor displays the I/O status data in decimal format. To view this data, double-click on "Onboard I/O" in the project explorer. The corresponding values are shown in the "Status" column, see fig. 4-66 "Output of I/O status data" on page 69.
Fig.4-66:
Setting the Time
To set the time of devices in online mode, select the "Set time" item of the context menu. For more information about online functions, please refer to the IndraLogic documentation /2/ and/or help.
70/179
4.11.3
Fig.4-67:
71/179
Additional Functions
5
5.1
5.1.1
Additional Functions
Firmware Management
Updating the Control Firmware
Firmware can only be downloaded if the control is in the stop state. 1. 2. Copy the firmware files of the IndraLogic L20 DP (*.fw files) required for download to a local directory or to a directory in the network. To open the firmware management dialog, select the "Firmware manage ment" menu item in the context menu of the IndraLogic L20 DP device (in the project explorer). This opens the following dialog:
Fig.5-1:
Path of the new Firmware versions Available firmware versions Currently installed firmware versions Checkbox for activating or deactivating the option of reboot ing after the download
3. 4.
Select the desired firmware on the left, see in figure 5-1. The list only shows firmware versions that are compatible to the current version of the device. Do not change the file names of the firmware updates. The control must be restarted to activate the new firmware. Activate the "Reboot after download" checkbox (see in figure 5-1) if you wish the control to restart immediately after the new firmware has been installed. Click on the "Download" button. Follow the further screen instructions.
5.
6.
72/179
Additional Functions
The device might be damaged by a voltage failure while the firmware is changed! CAUTION
Ensure uninterrupted voltage supply to all devices involved while the firmware is changed! For more information, please refer to the IndraWorks /5/ documen tation or online help.
5.1.2
Fig.5-2:
The new firmware is transferred to all function modules of the same type.
5.2
Fig.5-3:
For more information, please refer to the IndraWorks documenta tion /5/ and/or online help.
73/179
Additional Functions
5.3
IndraLogic Functions
The functions provided in the context menu of the "Logic" object in the project explorer depends on the current system state:
Fig.5-4:
Fig.5-5:
Available functions: Print, save and compile an IndraLogic project (Compile all) Start and exit IndraLogic. Log the control in or out. Update all modules created in IndraLogic and all modifications to config uration settings in the IndraWorks project explorer. The "Save" and "Properties" items of the context menu are only accessible after IndraLogic has been exited.
Further Settings
Further IndraLogic functions and settings are summarized in the "Further set tings" tab: Apply settings from IndraLogic Safety mode
74/179
Additional Functions Online operation in safety mode Send symbol file and create symbol file Replace constants No address verification Optimized IndraLogic call Lock menu Load boot project automatically
The properties can be called via the context menu of the "Logic" object, while IndraLogic is deactivated.
Fig.5-6:
For more information, please refer to the IndraWorks documenta tion /5/ and/or online help.
75/179
Libraries
6
6.1
Library
Libraries
Overview
Libraries available for the IndraLogic L20 DP:
Function Analysis of expressions See /2/
AnalyzationNew BuepE_Client HMI_Mkeys HMICE_MKEYS Iecsfc IL_VCP_DP MP_PLCopen NetVarUdp_LIB_V23 PLCOpenFieldBus ProViDiagnosis RIH_CML20 RIL_Check RIL_CheckRtv RIL_CommonTypes RIL_EthernetIP RIL_L20_Util RIL_Inline RIL_ProfibusDP RIL_ProfibusDP_02 RIL_Utilities RIL_VExUtil
Communication between the IndraLogic L20 DP and the Bosch con See chapter 6.2 "BuepE_Client trols of the CL series " on page 76 M-key functionalities of the HMI (IndraWorks HMI) M-key functionality of the IW HMI for VEH30 For internal use /5/ /5/
Coupling of Rexroth VCP compact operator terminals with Profibus See chapter 6.3 "IL_VCP_DP interface " on page 79 MotionControl modules /7/
Application of network variables and of the parameter manager (for networkfunctionality.pdf1) data exchange between two or more controls) MotionControl based on PLCopen Access to PLC diagnostics (ProVi) Function blocks for the status of the IndraLogic L20 DP Automatic monitoring of internal over-ranges Same as RIL_Check For internal use Functions in connection with Ethernet/IP Function blocks for the status of the IndraLogic L20 DP (no longer applicable; comparable functions in RIH_CML20) Diagnostic functions for Inline modules See chapter 6.8 "RIL_Inline" on page 91 /7/ /5/ See chapter 6.4 "RIH_CML20 " on page 81 See chapter 6.5 "RIL_Check.lib" on page 84 See chapter 6.5 "RIL_Check.lib" on page 84 See chapter 6.6 "RIL_Ether NetIP" on page 85
Profibus DPV1 services, diagnostic interface between Profibus mas See chapter 6.9 "RIL_Profi ter and PLC program, sync and freeze busDP " on page 107 Same functionality as RIL_ProfibusDP, however, with additionally available multimaster extension General IL functions and function blocks Safe key transmission to an HMI device See chapter 6.10 "RIL_Profi busDP_02" on page 124 See chapter 6.11 "RIL_Utilities " on page 146 See chapter 6.12 "RIL_VExU til.lib" on page 153
1)
Documentation about the system libraries (SysLibXXX.pdf) can be found in a subdirectory of the IndraLogic installation, e.g.: ".../Rexroth/IndraWorks/IndraLogic/ Documents/English"
76/179
Libraries
Library Standard SysLibCom SysLibFile SysLibFileAsync SysLibIecTasks SysLibMem SysLibPlcCtrl SysLibRtc SysLibSockets SysLibSocketsAsync SysLibStr SysLibTime Util Function Standard FBs and functions according to IEC 61131-3 Serial communication with the IndraLogic L20 DP File system support on the IndraLogic L20 DP Asynchronous file accesses from the IEC application Management of IEC tasks Memory management Start, stop and reset of the control See /2/ SysLibCom.pdf1 SysLibFile.pdf1 SysLibFileAsync.pdf1 SysLibIecTasks.pdf1 SysLibMem.pdf1 SysLibPlcCtrl.pdf1
Access to the real-time clock and the battery state of the IndraLog SysLibRtc.pdf1 ic L20 DP Access to sockets for communication via TCP/IP and UDP SysLibSockets.pdf1
Asynchronous access to sockets for communication via TCP/IP and SysLibSocketsAsync.pdf UDP Character string functions Retrieve time and date As supplement to the Standard.lib: BCD conversion, bit/byte func tions, mathematical help functions, controllers, signal generators, function manipulators, and analog value processing SysLibStr.pdf1 SysLibTime.pdf1 /2/
Fig.6-1:
For information on how to link libraries to the current project, please refer to chapter 4.9.4 "Library Manager " on page 59 under PLC Programming with IndraLogic . IndraWorks automatically downloads libraries for internal use as soon as they are referenced. They do not have to be inserted man ually using the library manager. For more information about the system and firmware libraries, please also refer to the IndraLogic online help.
6.2
6.2.1
BuepE_Client
General Information
The library BuepE_Client provides the communication between the IndraLog ic L20 DP and the Bosch controls of the CL series. The IndraLogic L20 DP maps the client functionality. The CL control represents always the server.
6.2.2
BuepE_Client
Brief Description Interface Description
The BuepE_Client function block can be simultaneously used several times. A new instance is required for every order.
77/179
Libraries
Fig.6-2:
Name VAR_INPUT Start Write Command Type BOOL BOOL BYTE
BuepE_Client
Comment TRUE: The transmission is started TRUE: Writing access FALSE: Reading access Field type of the Bosch control: 16#44: Data block 16#43: Data field 16#4D: Flag
Number of the data block (only for the "Data block" field type) Byte offset address within the selected data field or data block Data type: 0: BYTE 1: WORD
Number of the data = f(DataType), depending on the setting in DataType Coordination flag 0: Uncoordinated Module block address, only for CL200, CL400 and CL500 16#FFFF: without block address Pointer to the source data (for "Write"=TRUE) or pointer to the target data (for "Write"=FALSE) IP address of the Bosch CL control
78/179
Libraries
Name VAR_OUTPUT State Type WORD Comment Status: 0: Without errors 16#0100: Order in process 16#0305: Order faulty 16#0405: Order not started Further states about the communication functionality of the particular control are described in the documentation . Error WORD Error: 0: Without errors 16#FF04: No order in process 16#FF20: No UDP socket free (e.g. too many active instan ces at the same time) 16#FF21: Error during "bind" (e.g. too many active instances at the same time) 16#FF22: Error during "sendto" (e.g. wrong IP address or partner not activated) 16#FF23: Error during "UDP-receive" 16#FF24: Errors in UDP-receive length 16#FF25: Too many repetitions (partner does not respond, e.g. incorrect IP address) Further states about the communication functionality of the particular control are described in the documentation .
Fig.6-3:
Example
Interface of BuepE_Client
Program:
VAR Bclient : BuepE_Client; (* Declare instance *) MyDB : ARRAY [0..511] OF BYTE; (* Data block data array*) END_VAR (* example: Read a DB from a CL500-ZS1 *) Bclient( Start := TRUE, (* Start transmission *) Write := FALSE, (* Reading access) Command := 16#44, (* Data block *) index := 0, (* DB number *) offset := 0, (* No address offset *) DataType := 0, (* Byte *) DataCnt := 512, (* 512 bytes *) Coord := 0, (* Uncoordinated *) BlockAdr := 16#0008, (* ZS 1 *) DataPtr := ADR(MyDB), (* Pointer to data block-data array *) IPAdr := SysSockInetAddr('10.110.244.46'), (* state=> ,*) (* error=>*) );
79/179
Libraries
6.3
6.3.1
IL_VCP_DP
Overview
This library is used to couple Rexroth VCP compact operator terminals with Profibus interface to the PLC. There are three alternative function blocks to achieve this: VCP_PBS16_A4096 VCP_PBS32_A4096 VCP_PBS32_A65536
6.3.2
VCP_PBS16_A4096
Brief Description
This function block (FB) activates the Profibus DP protocol for the compact operator terminals VCPxx. Additionally, the I/O image of the physical addresses is transmitted between PLC and operator terminal. The data capacity for data transmission is 16 bytes. The size of the address range available through an ARRAY is 4096 bytes (inputs and outputs in total).
Interface Description
Fig.6-4:
Name VAR_INPUT Enable Reset_Error VAR_IN_OUT Data_in Data_out TVar VAR_OUTPUT Active Error ErrorNo Type BOOL BOOL
VCP_PBS16_A4096
Comment TRUE: FB is processed FALSE: FB is not processed TRUE: Resets "Error" (to FALSE) and sets "ErrorNo" to 0 Data to connect the physical inputs of the compact op erator terminal Data to connect the physical outputs of the compact op erator terminal Array to read from and write to the compact operator ter minal TRUE, as long as "Enable" is also TRUE TRUE, as soon as there is an error Can be reset with "Reset-Error". USINT Error type: 2: InputRangeError4: calculation error
ARRAY [0..15] OF BYTE ARRAY [0..15] OF BYTE ARRAY [0..4095] OF BYTE BOOL BOOL
Fig.6-5:
VI-Composer
VCP_PBS16_A4096 interface
If the Rexroth VI-Composer is used for configuration, the addresses in the var iables list refer to the appropriate byte in the "TVar" array which the PLC program uses for data exchange. As soon as an error occurs, communication is interrupted and the display of the compact operator terminal shows COMMUNICATION ERROR, ERROR CODE 110.
Error Handling
80/179
Libraries The error type (ErrorNo) shows, whether the error is an address calculation error (CalculationError), or whether the data capacity selected for Data_in or Data_out is too big (InputRangeError).
6.3.3
VCP_PBS32_A4096
Brief Description
This function block (FB) activates the Profibus DP protocol for the compact operator terminals VCPxx. Additionally, the I/O image of the physical addresses is transmitted between PLC and operator terminal. The data capacity for data transmission is 32 bytes. The size of the address range available through an ARRAY is 4096 bytes (inputs and outputs in total).
Interface Description
Fig.6-6:
Name VAR_INPUT Enable Reset_Error VAR_IN_OUT Data_in Data_out TVar VAR_OUTPUT Active Error ErrorNo Type BOOL BOOL
VCP_PBS32_A4096
Comment TRUE: FB is processed FALSE: FB is not processed TRUE: Resets "Error" (to FALSE) and sets "ErrorNo" to 0 Data to connect the physical inputs of the compact op erator terminal Data to connect the physical outputs of the compact op erator terminal Array to read from and write to the compact operator ter minal TRUE, as long as "Enable" is also TRUE TRUE, as soon as there is an error Can be reset with "Reset-Error". USINT Error type: 4: calculation error
ARRAY [0..31] OF BYTE ARRAY [0..31] OF BYTE ARRAY [0..4095] OF BYTE BOOL BOOL
Fig.6-7:
VI-Composer
VCP_PBS32_A4096 interface
If the Rexroth VI-Composer is used for configuration, the addresses in the var iables list refer to the appropriate byte in the "TVar" array which the PLC program uses for data exchange. As soon as an error occurs, communication is interrupted and the display of the compact operator terminal shows COMMUNICATION ERROR, ERROR CODE 110. The error type (ErrorNo) indicates that the error is an address calculation error (CalculationError).
Error Handling
6.3.4
VCP_PBS32_A65536
Brief Description
This function block (FB) activates the Profibus DP protocol for the compact operator terminals VCPxx. Additionally, the I/O image of the physical addresses is transmitted between PLC and operator terminal.
81/179
Libraries The data capacity for data transmission is 32 bytes. The size of the address range available through an ARRAY is 65536 bytes (inputs and outputs in total).
Interface Description
Fig.6-8:
Name VAR_INPUT Enable Reset_Error VAR_IN_OUT Data_in Data_out TVar VAR_OUTPUT Active Error ErrorNo Type BOOL BOOL
VCP_PBS32_A65536
Comment TRUE: FB is processed FALSE: FB is not processed TRUE: Resets "Error" (to FALSE) and sets "ErrorNo" to 0 Data to connect the physical inputs of the compact op erator terminal Data to connect the physical outputs of the compact op erator terminal Array to read from and write to the compact operator ter minal TRUE, as long as "Enable" is also TRUE TRUE, as soon as there is an error Can be reset with "Reset-Error". USINT Error type: 4: calculation error
ARRAY [0..31] OF BYTE ARRAY [0..31] OF BYTE ARRAY [0..65535] OF BYTE BOOL BOOL
Fig.6-9:
VI-Composer
VCP_PBS32_A65536 interface
If the Rexroth VI-Composer is used for configuration, the addresses in the var iables list refer to the appropriate byte in the "TVar" array which the PLC program uses for data exchange. As soon as an error occurs, communication is interrupted and the display of the compact operator terminal shows COMMUNICATION ERROR, ERROR CODE 110. The error type (ErrorNo) indicates that the error is an address calculation error (CalculationError).
Error Handling
6.4
6.4.1
RIH_CML20
Overview
IH_GetOhcCtrl: Read operating hours counter of the control IH_SetDisplay: Show user displays IH_Temperature: Determine current internal temperature of the control IH_TempWarning: Check for over-temperature warning
6.4.2
IH_GetOhcCtrl
Brief Description
82/179
Fig.6-10:
Name VAR_INPUT VAR_OUTPUT Enable Done Error ErrorID ErrorIdent OperatingHours Type BOOL BOOL BOOL
IH_GetOhcCtrl
Comment TRUE: FB is processed FALSE: FB is not executed TRUE: OperatingHours relevant FALSE: OperatingHours in process Always 0 Undefined and cannot be evaluated Undefined and cannot be evaluated Operating time of the control in hours
Fig.6-11:
Interface of IH_GetOhcCtrl
6.4.3
IH_SetDisplay
Brief Description Interface Description
Outputs a user message of up to 80 characters on the LCD display of the con trol.
Fig.6-12:
Name VAR_INPUT Execute Message VAR_OUTPUT Done Error ErrorID ErrorIdent Type BOOL STRING[80] BOOL BOOL
IH_SetDisplay
Comment A positive edge starts the output of the string transmitted at the "Message" input. String with up to 80 characters to be output on the dis play. Empty string: Delete the pending display. TRUE: The string is output to the display FALSE: Processing not yet completed Always 0 Undefined; evaluation not possible Undefined; evaluation not possible
ERROR_CODE ERROR_STRUCT
Fig.6-13:
IH_SetDisplay interface
As long as there is no error message, a flashing "IL:" on the default display (Stop/Run) indicates that there is an active message.
83/179
Libraries To read the message, use the <up> or <down> key to open the "IL display", see Chapter "Display and Operating Keys". The message, preceded by "IL:", will then be output on the control display in a rotating manner. After an empty string has been transmitted, the flashing "IL:" is cleared.
6.4.4
IH_Temperature
Brief Description Interface Description
Determines the internal temperature of the control (replaces the "IL_Get Temp" function from the "RIL_L20_Util" library).
Fig.6-14:
Name VAR_INPUT Function value Enable Temperature Type
IH_Temperature
Comment TRUE: Output of the current temperature FALSE: No output WORD Temperature: Bit 15: 0 = positive temperature 1 = negative temperature Bits 14 8: temperature in degrees Celsius Bit 7: 1 = decimal place (half degree Celsius) 0 = no decimal place
BOOL
Fig.6-15:
Examples Function value
IH_Temperature interface
Temperature +20.5 C +75.0 C -5.5 C
Fig.6-16:
Examples of IH_Temperature
6.4.5
IH_TempWarning
Brief Description
Determines whether the internal temperature of the control has exceeded the critical value of 70 C (replaces the "IL_TempWarning" function from the "RIL_L20_Util" library).
Interface Description
Fig.6-17:
Name VAR_INPUT Function value Enable Temperature Type
IH_TempWarning
Comment TRUE: Output value is valid. FALSE: Output value is not representative. BOOL TRUE: Temperature warning FALSE: No temperature warning
BOOL
Fig.6-18:
IH_TempWarning interface
84/179
Libraries If the internal temperature reaches 80 C, the control automatically switches to the "Stop" mode. The outputs enter the safe status, and the "Temp !!!" warning is emitted on the display. This mode can only be exited by switching the power supply off/on.
6.5
RIL_Check.lib
Faulty accesses (accidentally) programmed outside of the ranges of arrays and subrange types of variables, as well as the division by zero, are not compen sated by the IndraLogic compiler and/or the runtime system and cause partly unpredictable errors during program processing. When implementing the RIL_Check.libm, such over-ranges are monitored and prevented. Thereby, the access for arrays and subrange types are limited to the smallest or highest possible value. Thus, e. g. concerning an array, the element with the highest indices is accessed, even if a higher index value was specified in the PLC pro gram. For a division by zero the divisor is replaced by "1". If the RIL_Check.lib library is integrated in the PLC project, before each testable operation the corresponding test function is automat ically inserted (invisible for the user). Further function calls are not necessary! If library RIL_Check.lib is integrated in the PLC project, the PLC cycle time is charged, as each testable operation is automatically monitored. With respect to the robustness of a PLC project and the safety of the whole system we recommend to use the RIL_Check.lib in the PLC project. When using the MP_PLCOpen.lib, the RIL_Check.lib is required. In this case the RIL_Check.lib must be integrated in the PLC project.
Functions
All functions contained in the RIL_Check library (see fig. 6-19 "Functions of RIL_Check" on page 84) are automatically integrated in the PLC program and must not be explicitly called.
Description Automatic verification, if the permissible indices of the access to array elements is exceeded or fallen below the minimum value. Automatic verification on division by zero (BYTE access). Automatic verification on division by zero (DWORD access). Automatic verification on division by zero (REAL access). Automatic verification on division by zero (WORD access). Automatic verification, if the permissible value range of a signed variable is exceeded or fallen below the minimum value. Automatic verification, if the permissible value range of an unsigned variable is ex ceeded or fallen below the minimum value.
Fig.6-19:
CheckExceedingOccurred
Functions of RIL_Check
The error cause can be determined exactly by requesting the bits in the global variable "CheckExceedingOccurred" directly. All error accesses are prevented by RIL_Check, so that the permissible value range is not exceeded or fallen below the minimum value and that no division by zero occurs. The single bits have the following meaning:
85/179
Libraries
Bit variable CheckExceedingOccurred.0 Value 16#01 Meaning CheckBoundsLowerLimitation: The permissible indices of the access to array elements are fallen below the minimum value. CheckExceedingOccurred.1 CheckExceedingOccurred.2 16#02 16#04 CheckBoundsUpperLimitation: The permissible indices of the access to array elements are exceeded. CheckBoundsExceedingLimitation: The permissible indices of the access to array elements are exceeded or fallen below the minimum value. CheckExceedingOccurred.3 16#08 CheckRangeLowerLimitation: The permissible value range of a variable is fallen below the minimum value. CheckExceedingOccurred.4 CheckExceedingOccurred.5 16#16 16#32 CheckRangeUpperLimitation: The permissible value range of a variable is exceeded. CheckRangeExceedingLimitation: The permissible value range of a variable is exceeded or fallen below the minimum value. CheckExceedingOccurred.6 16#64 DivisionByZeroPrevention: Division by zero.
Fig.6-20:
Sample Program
CheckExceedingOccurred
The following PLC sample program shows the use of variable CheckExcee dingOccurred. The limitation of arrays with CheckBounds always sets the respective bit in error case, when the permissible value range is exceeded or fallen below the minimum value (CheckBoundsLowerLimitation or Check BoundsUpperLimitation) and the general bit of the access violation (Check BoundsExceedingLimitation). Thus, a general or detailed verification, if a limit value was exceeded, can be realized.
Program:
CheckExceedingOccurred := 16#00; (* Resetting the variables *) IF Axis_Data[AxisNo].bCheckAccessOK (* Array access *) THEN ... IF CheckExceedingOccurred.2 (* Array access violation detected? *) THEN IF CheckExceedingOccurred.0 (* Bit set, if value below specified range? *) THEN String := 'Access below the possible array range' ... END_IF IF CheckExceedingOccurred.0 (* Bit set, if value above specified range? *) THEN String := 'Access above the possible array range' ... END_IF ELSE String := 'Access successful' END_IF
6.6
6.6.1
RIL_EtherNetIP
Overview
Using the function blocks of the RIL_EthernetIP library, any control configured as CIP data client can read variables of a CIP data server and if write access is allowed there write variables to that CIP data server.
86/179
Libraries
IL_ReadDataTable IL_WriteDataTable IL_Status FB FB FB Read variables provided by the CIP data server Write variables provided by the CIP data server For diagnostics of cyclic communication
Fig.6-21:
6.6.2
IL_ReadDataTable
Brief Description Interface Description
Fig.6-22:
Name VAR_INPUT bExecute StrPath StrRemoteTag UdiMaxReadSize PbyReadData UiElements UdiTimeout VAR_OUTPUT UdiReadSize bDone bError enErrorID stErrorIdent Type
Structure of IL_ReadDataTable
Comment Positive edge starts the service. IP address of the CIP data server (e.g. "192.168.73.105") STRING(80) UDINT POINTER TO BYTE UINT UDINT UDINT BOOL BOOL ERROR_CODE ER ROR_STRUCT Name of the variable to be read (e.g. "Test1"). Size of the "PbyReadData" receiver array. Pointer to the array, to which the data is to be written. The array has to be provided by the user of the FB. Number of array elements to be read. If data types are atomic (SINT, DINT...), UiElements has to be set to 1. Specifies the maximum time in ms available for a re sponse from the CIP data server. Number of received data bytes. TRUE: The service is stopped or an error has occurred. TRUE: An error has occurred. See error messages.
BOOL STRING(80)
Fig.6-23:
Example
The "diCounter" DINT variable is read by a CIP data server with the IP address "192.168.73.105". Since "diCounter" is used in the "PLC_PRG" PLC program, the user has to enter "PLC_PRG.diCounter" as name of the variable to be read. The reading process can be started by a positive edge change of the "Read2Fb_bExecute" varialbe (FALSE -> TRUE). If the "bDone" variable is TRUE, execution of the service is confirmed.
87/179
Libraries
Program:
PROGRAM PLC_PRG VAR (************************************************* ** Variables for IL_ReadDataTable **************************************************) Read2In1: IL_ReadDataTable; Read2Fb_bExecute: BOOL; Read2Fb_strPath: STRING; Read2Fb_strRemoteTag: STRING; Read2Fb_udiMaxReadSize: UDINT; Read2Fb_diReadData: DINT; Read2Fb_uiElements: UINT; Read2Fb_udiTimeout: UDINT; Read2Fb_udiReadSize: UDINT; Read2Fb_bDone: BOOL := FALSE; Read2Fb_bError: BOOL; Read2Fb_enErrorID: ERROR_CODE; (*Type: RIL_CommonTypes.lib*) Read2Fb_stErrorIdent: ERROR_STRUCT; (*Type: RIL_CommonTypes.lib*) (*Diagnose*) Read2Fb_udiCtrErr: UDINT := 0; Read2Fb_udiCtrGood: UDINT := 0; Read2Fb_CtrValidInput: UDINT := 0; (*for automation test*) Read2Fb_bAutoTest: BOOL := FALSE;
Program:
(****************************************************************** ** Explicit message: Read data table - 2 DINT *******************************************************************) Read2Fb_strPath := '192.168.73.105'; (*IP address of the data table server*) Read2Fb_strRemoteTag := 'PLC_PRG.diCounter'; (*Name of the variables to be read*) Read2Fb_uiElements := 1; (*Number of the elements to be read*) Read2Fb_udiTimeout := 100; (*Timeout in ms*) Read2In1( bExecute := Read2Fb_bExecute, strPath := Read2Fb_strPath, strRemoteTag := Read2Fb_strRemoteTag, udiMaxReadSize := SIZEOF(Read2Fb_diReadData), pbyReadData := ADR(Read2Fb_diReadData), uiElements := Read2Fb_uiElements, udiTimeout := Read2Fb_udiTimeout, udiReadSize => Read2Fb_udiReadSize, bDone => Read2Fb_bDone, bError => Read2Fb_bError, enErrorID => Read2Fb_enErrorID, stErrorIdent => Read2Fb_stErrorIdent); (*Automatic test*) IF Read2Fb_bAutoTest = TRUE THEN IF Read2Fb_bDone = TRUE THEN IF Read2Fb_bError = TRUE THEN Read2Fb_udiCtrErr := Read2Fb_udiCtrErr + 1; ELSE Read2Fb_udiCtrGood := Read2Fb_udiCtrGood + 1; END_IF Read2Fb_bExecute := FALSE; ELSE Read2Fb_bExecute := TRUE; END_IF END_IF
6.6.3
IL_WriteDataTable
Brief Description
Writes values to variables provided by a CIP data server. The CIP data server must allow write access for the relevant vari ables.
Interface Description
88/179
Libraries
Fig.6-24:
Name VAR_INPUT bExecute StrPath StrRemoteTag EnCipType PbyWriteData Type
Structure of IL_WriteDataTable
Comment Positive edge starts the service. IP address of the CIP data server (e.g. "192.168.73.105") STRING(80) CIP_TYPE POINTER TO BYTE UINT UDINT BOOL BOOL ERROR_CODE ER ROR_STRUCT Name of the variable to be written (e.g. "Test1"). Type of the data written. Is verified by some of the CIP data servers. Pointer to the array which contains the data to be written to the CIP data client. The array has to be provided by the user of the FB. Number of array elements to be written. If data types are atomic (SINT, DINT...), UiElements has to be set to 1. Specifies the maximum time in ms available for a re sponse from the CIP data server. TRUE: The service is stopped or an error has occurred. TRUE: An error has occurred. See error messages.
BOOL STRING(80)
Fig.6-25:
Example
The "siWriteData" SINT variable is written to a CIP data server with the IP ad dress "192.168.73.105". Since "siWriteData" is used in the "PLC_PRG" PLC program, "PLC_PRG.siWriteData" is to be entered as name of the variable to be written. The writing process can be started by a positive edge change of the "WriteFb_bExecute" variable (FALSE -> TRUE). If the "bDone" variable is TRUE, execution of the service is confirmed.
Program:
(************************************************* ** Variables for writing data SINT **************************************************) WriteIn1: IL_WriteDataTable; WriteFb_bExecute: BOOL; WriteFb_strPath: STRING; WriteFb_strRemoteTag: STRING; WriteFb_enCipType: CIP_TYPE; WriteFb_uiElements: UINT; WriteFb_siWriteData: SINT;
89/179
Libraries
WriteFb_udiTimeout: WriteFb_bDone: WriteFb_bError: WriteFb_enErrorID: WriteFb_stErrorIdent: (*Diagnostics*) WriteFb_udiCtrErr: WriteFb_udiCtrGood: WriteFb_udiCtrValidInput: (*for automatic test*) WriteFb_bAutoTest: UDINT; BOOL := FALSE; BOOL; ERROR_CODE; ERROR_STRUCT; UDINT := 0; UDINT := 0; UDINT := 0; BOOL := FALSE;
Program:
(****************************************************************** ** Explicit message: Write data table - 1 SINT *******************************************************************) WriteFb_strPath := '192.168.73.105'; WriteFb_strRemoteTag := 'PLC_PRG.siWriteData'; WriteFb_uiElements := 1; WriteFb_enCipType := CIPTYPE_SINT; WriteFb_udiTimeout := 1000; (*ms*) WriteIn1( bExecute := WriteFb_bExecute, (*FALSE after TRUE starts FB*) strPath := WriteFb_strPath, (*IP address of the server*) strRemoteTag := WriteFb_strRemoteTag, (*Name of the variable to be written*) enCipType := WriteFb_enCipType, (*Data type of the variables*) uiElements := WriteFb_uiElements, (*Number of the elements to be written.*) (* For atomic data types *) (* (SINT, DINT...)always 1.*) pbyWriteData := ADR(WriteFb_siWriteData),(*Pointer to the data, you want to write*) udiTimeout := WriteFb_udiTimeout, (*Timeout der Expicit Message*) bDone => WriteFb_bDone, (*TRUE => FB is ready with order.*) bError => WriteFb_bError, (*TRUE => Error*) enErrorID => WriteFb_enErrorID, stErrorIdent => WriteFb_stErrorIdent); (*automatic test*) IF WriteFb_bAutoTest = TRUE THEN IF WriteFb_bDone = TRUE THEN IF WriteFb_bError = TRUE THEN WriteFb_udiCtrErr := WriteFb_udiCtrErr + 1; ELSE WriteFb_udiCtrGood := WriteFb_udiCtrGood + 1; WriteFb_siWriteData := WriteFb_siWriteData + 1; END_IF WriteFb_bExecute := FALSE; ELSE WriteFb_bExecute := TRUE; END_IF END_IF
6.6.4
Error ID 2 2 2 2
Fig.6-26:
90/179
Libraries
6.6.5
IL_Status
The IL_Status FB is used for diagnostics of cyclic communication ("Implicit Messaging"), also see chapter 4.8.1 "Configuring IndraLogic L20 as an Ether net/IP Slave " on page 49.
General Information
Fig.6-27:
Name VAR_INPUT bEnable Type
IL_Status
Comment If the status is positive (TRUE), the status of cyclic Ether Net/IP communication is polled whenever the FB is called. TRUE: An error has occurred. See error messages.
BOOL
VAR_OUTPUT
Fig.6-28:
IL_WriteDataTable interface
Example
The following example shows how to use the IL_Status function block. Program:
(************************************************* ** Variables for IL_Status **************************************************) PROGRAM PLC_PRG VAR Diag: IL_Status; CtrValidInput: DINT ... END_VAR; ... ... ... (************************************************* ** Program **************************************************) Diag(bEnable:=TRUE); IF(Diag.bError = TRUE) THEN (*Insert error handling here.*) ... Diag(bEnable:=FALSE ); (*Reset error (bEnable)*) ELSE (*valid data: insert input and output data processing here *) CtrValidInput := CtrValidInput +1; END_IF ...
91/179
Libraries
6.6.6
Error ID
ETHERNET_IP(151)
0x10000002
0x00000000
Idle
ETHERNET_IP(151)
0x10000003
0x00000000
Timeout
ETHERNET_IP(151)
0x10000004
0x00000000
Closed
Fig.6-29:
6.7
RIL_L20_Util
The "IL_GetTemp" and "IL_TempWarning" functions which were provided in the former RIL_L20_Util library have been replaced by the "IH_Temperature" and "IH_TempWarning" functions in the RIH_CML20 library (see chapter 6.4 "RIH_CML20 " on page 81).
6.8
6.8.1
RIL_Inline
FB Overview
Structure
The library comprises the following folders: _Version The RIL_Inline.library is used to set the version number to 01V01. RIL Inline-Services
Overview of Functions
Designation Version_RIL_Inline_01V01 IL_InlineDiagModulImage IL_InlineCfgDiagData IL_InlineDiagCfgChk IL_InlineDiagModulPosi IL_InlineDiagModulNext IL_InlineDiagMasterBus IL_InlineDiagMasterFatal IL_InlineDiagGlobalStatus
Type BOOL
Description Version ID Diagnostics module Determine system configuration System configuration diagnostics Diagnostics of a defined module Diagnostics of the next module Bus error diagnostics Stack error diagnostics Global system diagnostics
Fig.6-30:
92/179
Libraries
6.8.2
Data Types
Program:
TYPE CfgIdDesc : STRUCT ModuleIdCFG :WORD; ModuleIdSCN :WORD; END_STRUCT END_TYPE Offset 0 1 Type WORD WORD Designation ModuleIdCFG ModuleIdSCN Description Module ID of configured modules Module ID of scanned modules
Configuration ID Description
Fig.6-31:
Configuration ID
Module ID
Fig.6-32:
Rexroth Inline modules Digital input R-IB IL 24 DI 16 R-IB IL 24 DI 16-PAC R-IB IL 24 DI 16-2MBD-PAC R-IB IL 24 DI 32/HD R-IB IL 24 DI 32/HD-PAC R-IB IL 24 DI 32/HD-NPN-PAC R-IB IL 24 DI 4 R-IB IL 24 DI 4-PAC R-IB IL 24 EDI 2-DES R-IB IL 24 DI 16-NPN-PAC R-IB IL 24 DI 8 R-IB IL 24 DI 8-PAC R-IB IL 24 DI 8-2MBD-PAC R-IB IL 24 DI 2 R-IB IL 24 DI 2-PAC R-IB IL 24 DI 2-NPN-PAC Feeder and segment terminals IB IL 24 SEG/F-D-PAC R-IB IL 24 PWR IN/2F-D-2MBD -PAC
Module ID
ID code Hexadecimal Length code Hexadecimal ID code Decimal
Part number
R911289290 R911170752 R911170408 R911297188 R911170753 R911170405 R911289287 R911170750 R911289292 R911170404 R911289288 R911170751 R911170407 R911289286 R911170767 R911170403
BE BE BE BE BE BE BE BE BE BE BE BE BE BE BE BE
01 01 01 02 02 02 41 41 41 41 81 81 81 C2 C2 C2
190 190 190 190 190 190 190 190 190 190 190 190 190 190 190 190
R911170710 R911170447
BE BE
C2 C2
190 190
93/179
Libraries
Rexroth Inline modules R-IB IL 24 SEG/F-D-2MBD -PAC Digital output R-IB IL 24 DO 16 R-IB IL 24 DO 16-PAC R-IB IL 24 DO 16-2MBD-PAC R-IB IL 24 DO 32/HD R-IB IL 24 DO 32/HD-PAC R-IB IL 24 DO 32/HD-NPN-PAC R-IB IL 24 DO 4 R-IB IL 24 DO 4-PAC R-IB IL 24 DO 4-2MBD-PAC R-IB IL 24 DO 8 R-IB IL 24 DO 8-PAC R-IB IL 24 DO 8-2A R-IB IL 24 DO 8-2A-PAC R-IB IL 24 DO 8-NPN-PAC R-IB IL 24 DO 8-2MBD-PAC R-IB IL 24 DO 2-2A R-IB IL 24 DO 2-2A-PAC R-IB IL 24 DO 2-NPN-PAC R-IB IL 24 DO 2-2A-2MBD-PAC Relay terminals R-IB IL 24/230 DOR 4/W R-IB IL 24/230 DOR 4/W-PAC R-IB IL 24/230 DOR 4/W-2MBD-PAC R-IB IL 24/230 DOR 1/W R-IB IL 24/230 DOR 1/W-PAC Analog input R-IB IL AI 8/SF-PAC R-IB IL AI 8/IS-PAC R-IB IL AI 8/SF-2MBD-PAC R-IB IL AI 2/SF R-IB IL AI 2/SF-PAC R-IB IL AI 2/SF-230-PAC R-IB IL TEMP 2 RTD R-IB IL TEMP 2 RTD-PAC R911308493 R911308494 R911170430 R911289306 R911170784 R911170425 R911289305 R911170785 5F 5F 5F 7F 7F 7F 7F 7F 02 02 02 02 02 02 02 02 95 95 95 127 127 127 127 127 R911289302 R911170758 R911170417 R911289301 R911170769 BD BD BD BD BD 41 41 41 C2 C2 189 189 189 189 189 R911289299 R911170757 R911170415 R911297191 R911170768 R911170411 R911289295 R911170755 R911170413 R911289297 R911170756 R911289298 R911170759 R911170410 R911170414 R911289294 R911170754 R911170409 R911170412 BD BD BD BD BD BD BD BD BD BD BD BD BD BD BD BD BD BD BD 01 01 01 02 02 02 41 41 41 81 81 81 81 81 81 C2 C2 C2 C2 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 189 Part number R911170448 ID code Hexadecimal BE Length code Hexadecimal C2 ID code Decimal 190
94/179
Libraries
Rexroth Inline modules R-IB IL TEMP 2 UTH-PAC R-IB IL SGI 2/F-PAC R-IB IL SGI 2/F-2MBD-PAC R-IB IL AI 4/EF-PAC R-IB IL AI 4/EF-2MBD-PAC R-IB IL TEMP 4/8 RTD-PAC R-IB IL TEMP 4/8 RTD-2MBD-PAC R-IB IL SGI 2/P-PAC R-IB IL SGI 2/P-2MBD-PAC Analog output R-IB IL AO 2/U/BP R-IB IL AO 2/U/BP-PAC R-IB IL AO 2/SF-PAC R-IB IL AO 2/SF-2MBD-PAC R-IB IL AO 1/SF R-IB IL AO 1/SF-PAC R-IB IL AO 4/8/U/BP-2MBD-PAC Function terminals R-IB IL INC-IN-PAC R-IB IL CNT R-IB IL CNT-PAC R-IB IL CNT-2MBD-PAC R-IB IL INC-PAC R-IB IL SSI-PAC R-IB IL PWM/2-PAC R-IB IL TEMPCON UTH-PAC R-IL BK DDL R-IB IL RS232-PRO-PAC R-IB IL RS232-PRO-2MBD-PAC R-IB IL RS485/422-PRO-PAC R-IB IL RS485/422-PRO-2MBD-PAC Fieldline Modular M8 RF-FLM DI 8 M8 RF-FLM DIO 8/4 M8 R911170449 R911170450 B2 B3 81 81 178 179 R911308491 R911289315 R911170788 R911170439 R911308492 R911308594 R911170444 R911308596 BRP-Podukt R911170440 R911170441 R911170442 R911170443 7F BF BF BF BF BF BF BF BF BF BF BF BF 02 02 02 02 02 02 02 02 04 06 06 06 06 127 191 191 191 191 191 191 191 191 191 191 191 191 R911289381 R911170786 R911170436 R911170437 R911289303 R911170787 R911170438 5B 5B 5B 5B 7D 7D DF 02 02 02 02 01 01 05 91 91 91 91 125 125 223 Part number R911170431 R911170432 R911170433 R911170426 R911170427 R911170428 R911170429 R911170434 R911170435 ID code Hexadecimal 7F DF DF DF DF DF DF Length code Hexadecimal 02 03 03 05 05 05 05 ID code Decimal 127 223 223 223 223 223 223
Error Struct
95/179
Libraries
Program:
TYPE ERROR_STRUCT : STRUCT Table :WORD; Additional1 :DWORD; Additional2 :DWORD; END_STRUCT END_TYPE Offset 0 1 2 Type WORD DWORD DWORD Designation Table Additional1 Additional2 Description Identifies the "error table" from which the er ror numbers are entered in ErrorAdditional. Assignment varying according to ErrorTable, e.g. RIL_INLINE error... Potential additional error information, de pending on ErrorTable
Fig.6-33:
ErrorCode Symbol ------- User error ------RIL_INPUT_INVALID_ERROR 1 RIL_INPUT_INVALID_ERROR 1 ------- Internal errors ------RIL_NONE_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_ACCESS_ERROR RIL_DEVICE_ERROR 0 4 4 4 4 4 4 4 4 8 Code ErrorIdent
Error Struct
Description Additional2
ErrorTable Additional1
400 dec / 1311 0190 hex 400 dec / 2000 0190 hex
400 dec / 0 0190 hex 400 dec / 1310 0190 hex 400 dec / 1410 0190 hex 400 dec / 1411 0190 hex 400 dec / 1412 0190 hex 400 dec / 1413 0190 hex 400 dec / 1414 0190 hex 400 dec / 1420 0190 hex 400 dec / 1421 0190 hex 400 dec / 1330 0190 hex
No error Internal access error (Diag module not ready) Internal access error (Config module not ready) Internal access error (invalid module list) Internal access error (invalid module scan) Internal access error (invalid module position) Internal access error (no module entries available) Internal access error (driver not ready) Internal access error (execution error) Internal error (invalid Diag type)
96/179
Libraries
ErrorCode Symbol RIL_DEVICE_ERROR RIL_DEVICE_ERROR RIL_DEVICE_ERROR RIL_DEVICE_ERROR RIL_OTHER_ERROR RIL_OTHER_ERROR RIL_SYSTEM_ERROR RIL_SYSTEM_ERROR Code 8 8 8 8 7FFE hex 7FFE hex 7FFF hex 7FFF hex ErrorIdent ErrorTable Additional1 400 dec / 1331 0190 hex 400 dec / 1332 0190 hex 400 dec / 1333 0190 hex 400 dec / 1334 0190 hex 400 dec / 1188 0190 hex 400 dec / 1199 0190 hex 400 dec / 1177 0190 hex 400 dec / 2000 0190 hex Additional2 0 0 0 0 0 0 0 0 Internal error (invalid list index) Internal error (ring buffer overflow) Internal error (module state conflict) Internal error (invalid buffer index) Undefined error Undefined error Internal system error Internal system error FB Description
6.8.3
Version
Brief Description
Version_RIL_Inline_01V01
To ensure that the firmware version is compatible with the library, a version ID is carried along. If the names of the version functions fail to be equal, down loading of the application program will be rejected.
Library RIL_Inline.library Area _Version
Fig.6-34:
Interface Description
Fig.6-35:
Name VAR_INPUT VAR_OUTPUT Dummy Version_RIL_In line_01V01 Type BOOL BOOL
Version_RIL_Inline_01V01 structure
Description Version ID
Fig.6-36:
Version_RIL_Inline_01V01 interface
6.8.4
Diagnostics
Brief Description
IL_InlineDiagGlobalStatus
The "IL_InlineDiagGlobalStatus" function block is used to determine whether there is a diagnose in the system. The returned counters each indicate the active and total numbers of diagnostics.
97/179
Libraries
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-37:
Interface Description
Fig.6-38:
Name VAR_INPUT VAR_OUTPUT Execute Done Active DiagGlobalActiv DiagGlobalTotal DiagBusActiv DiagBusTotal DiagFatalActiv DiagFatalTotal DiagModulActiv DiagModulTotal DiagConfigActiv DiagConfigTotal Error ErrorID ErrorIdent Type BOOL BOOL BOOL DWORD DWORD DWORD DWORD DWORD DWORD DWORD DWORD DWORD DWORD BOOL
IL_InlineDiagGlobalStatus
Description Activates the service Done message (successful) Activity display Total number of active diagnostics Total number of diagnostics since the PLC program was loaded Active bus diagnostics Total number of bus diagnostics since the PLC program was loaded Active fatal diagnostics Number of active fatal diagnostics since the PLC program was loaded Active module diagnostics Total number of module diagnostics since the PLC program was loaded Active configuration diagnostics Total number of configuration diagnostics since the PLC pro gram was loaded Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
ERROR_CODE ERROR_STRUCT
Fig.6-39:
IL_InlineDiagGlobalStatus interface
98/179
Libraries
Signal Time Diagram
Fig.6-40:
IL_InlineDiagModulImage
Brief Description
The "IL_InlineDiagModulImage" function block is used to determine whether a module signals a diagnose in the system. Each bit in the returned bit string is assigned to a module in the system in relation to its position and indicates whether this module signals a diagnose.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-41:
Interface Description
Fig.6-42:
Name VAR_INPUT Execute NoOfBytes Values Type BOOL BYTE
IL_InlineDiagModulImage
Description Activates the service Maximum length of the data to be read; number of bytes available on the "Values" pointer Pointer to Diag bits: Byte0/Bit0 indicates the diagnostics for Module1 (from left to right)
POINTER TO BYTE
99/179
Libraries
Name VAR_OUTPUT Done Active ActivDiagCnt TotalDiagCnt Error ErrorID ErrorIdent Type BOOL BOOL DWORD DWORD BOOL ERROR_CODE ERROR_STRUCT Description Done message (successful) Activity display Number of active diagnostics bits Total number of diagnostics bits Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
Fig.6-43:
Signal Time Diagram
IL_InlineDiagModulImage interface
Fig.6-44:
IL_InlineCfgDiagData
Brief Description
The "IL_InlineCfgDiagData" function block is used to determine the system configuration. The return parameters indicate the modules configured/scanned/ compared. In addition, the module IDs of the modules configured/scanned are positioned in one field.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-45:
100/179
Libraries
Interface Description
Fig.6-46:
Name VAR_INPUT Execute NoOfBytes Values VAR_OUTPUT Done Active Type BOOL BYTE
POINTER TO BYTE Pointer to configuration data; see data type 1.3.1 CfgIdDesc BOOL BOOL Done message (successful) Activity display Number of configured modules Number of scanned modules Number of compared modules Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
ModulCntCFG DWORD ModulCntSCN DWORD Mod ulCntCMP Error ErrorID ErrorIdent DWORD BOOL ERROR_CODE ERROR_STRUCT
Fig.6-47:
IL_InlineCfgDiagData interface
101/179
Libraries
Signal Time Diagram
Fig.6-48:
IL_InlineDiagCfgChk
Brief Description
The "IL_InlineDiagCfgChk" function block is used to check the system config uration for errors and to prepare the information diagnostically.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-49:
Interface Description
Fig.6-50:
Name VAR_INPUT VAR_OUTPUT Execute Done Active ChkErrCnt FirstErrPosi Type BOOL BOOL BOOL DWORD DWORD
IL_InlineDiagCfgChk
Description Activates the service Done message (successful) Activity display Number of modules with errors First module with errors
102/179
Libraries
Name LastErrPosi Type DWORD Description Last module with errors Number of configured modules (target configuration) Number of scanned modules (target configuration) Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
ModulCntCFG DWORD ModulCntSCN DWORD Error ErrorID ErrorIdent BOOL ERROR_CODE ERROR_STRUCT
Fig.6-51:
Signal Time Diagram
IL_InlineDiagCfgChk interface
Fig.6-52:
IL_InlineDiagModulPosi
Brief Description
The "IL_InlineDiagModulPosi" function block is used to check a module at a defined position for diagnostics.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-53:
Interface Description
Fig.6-54:
IL_InlineDiagModulPosi
103/179
Libraries
Name VAR_INPUT Execute ChkPosition VAR_OUTPUT Done Active Position Type BOOL DWORD BOOL BOOL DWORD Description Activates the service Position to be checked "0" causes the next faulty position to be determined Done message (successful) Activity display Position checked Configured module ID Scanned module ID Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
ModuleIdCFG WORD ModuleIdSCN WORD Error ErrorID ErrorIdent BOOL ERROR_CODE ERROR_STRUCT
Fig.6-55:
Signal Time Diagram
IL_InlineDiagModulPosi interface
Fig.6-56:
IL_InlineDiagModulNext
Brief Description
The "IL_InlineDiagModulNext" function block is used to determine the next module with a diagnostics request.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-57:
104/179
Libraries
Interface Description
Fig.6-58:
Name VAR_INPUT VAR_OUTPUT Execute Done Active Position SeqCnt Type BOOL BOOL BOOL DWORD DWORD
IL_InlineDiagModulNext
Description Activates the service Done message (successful) Activity display Next active Diag position Residual number of diagnostics Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
ModuleIdCFG WORD ModuleIdSCN WORD Error ErrorID ErrorIdent BOOL ERROR_CODE ERROR_STRUCT
Fig.6-59:
Signal Time Diagram
IL_InlineDiagModulNext interface
Fig.6-60:
105/179
Libraries
IL_InlineDiagMasterBus
Brief Description
The "IL_InlineDiagMasterBus" function block is used to determine whether there is a bus error.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-61:
Interface Description
Fig.6-62:
Name VAR_INPUT VAR_OUTPUT Execute Done Active Position DevCnt Error ErrorID ErrorIdent Type BOOL BOOL BOOL DWORD DWORD BOOL ERROR_CODE ERROR_STRUCT
IL_InlineDiagMasterBus
Description Activates the service Done message (successful) Activity display Position of the bus error 0: no error 1...n: module number Number of modules available Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
Fig.6-63:
IL_InlineDiagMasterBus interface
106/179
Libraries
Signal Time Diagram
Fig.6-64:
IL_InlineDiagMasterFatal
Brief Description
The "IL_InlineDiagMasterFatal" function block returns a present system error from the stack error list.
Library RIL_Inline.library Area RIL Inline-Services
Fig.6-65:
Interface Description
Fig.6-66:
Name VAR_INPUT VAR_OUTPUT Execute Done Active StackErr Error Type BOOL BOOL BOOL DWORD BOOL
IL_InlineDiagMasterFatal
Description Activates the service Done message (successful) Activity display System error (report error number to BRC Service) Done message (unsuccessful)
107/179
Libraries
Name ErrorID ErrorIdent Type ERROR_CODE ERROR_STRUCT Description See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
Fig.6-67:
Signal Time Diagram
IL_InlineDiagMasterFatal interface
Fig.6-68:
6.9
6.9.1
RIL_ProfibusDP
Overview
This library is used to provide DPV1 services of the Profibus Masters (DP master class 1) and also to establish a diagnostic interface between Profibus master and PLC program. Moreover, the library can be used to implement sync and freeze control commands.
General Information
DPV1 Services
Function Blocks
The function blocks serve to provide read and write access for the acyclic data exchange (DPV1): DP_RDREC DP_WRREC DP_ADDR DP_ID DP_SLOT
Functions
108/179
Libraries
Diagnostic Information
Diagnostic information can be determined via function blocks. There are the following diagnostics:
Data Types
Slave Diagnostic Data According to the Profibus DP Standard : "DP_RDIAG " and "DP_RDIAG_EXT " General Field Bus Diagnostics : "fbd..." tFBD_BM_INFO tFBD_BIT_LIST tFBD_KSD_LIST DP_RDIAG DP_RDIAG_EXT fbdBaudrateGet fbdBmErrorGet fbdBmInfoGet fbdBmStateGet fbdKsdListGet fbdPdTypeGet fbdPrjSlaveListGet fbdSlaveDiagListGet DP_ADDR DP_ID DP_SLOT
Function Blocks
Functions
6.9.2
The slave diagnostic data is available through the DINFO or DINFO_PTR pa rameters. While for "DINFO" all diagnostic data is filed to an array, "DIN FO_PTR" is a pointer to the diagnostic data. The slave diagnostic data is subdivided in two parts: a general part with a defined length of 6 bytes, extended diagnostics (slave-specific, with variable length).
109/179
Libraries
Offset 0 1 2 3 4 6 243 Type BYTE BYTE BYTE BYTE WORD Designation Station status_1 Station status_2 Station status_3 Master_Add Ident_Number Ext_Diag_Data Description See below See below See below Bus address of the master having para meterized the slave Ident_Number of the slave Extended diagnostics according to Pro fibus DP standard
Fig.6-69:
The following description of station statuses 1 to 3 is an extract from the Profi bus DP standard.
Bit 7 Designation Master_Lock Description The DP slave was parameterized by a different master. This bit is set by the DP master (class 1), if the address in octet 4 is not equal to 255 and not equal to its own address. The DP slave sets this bit permanently to zero. This bit is set by the DP slave, if the last parameter telegram was faulty, e.g. wrong length, wrong Ident_Number, invalid parameters. This bit is set by the DP master as soon as one of the addressed DP slaves receives an implausible response. The DP slave sets this bit permanently to zero. This bit is set by the DP slave as soon as a function was requested that is not supported by this DP slave. This bit is set by the DP slave. If the bit is set, a diagnostic entry must be available in the slave-specific diagnostic area (Ext_Diag_Data). If the bit is not set, a status message might be present in the slave-specific diagnostic area (Ext_Diag_Data). The meaning of this status message must be defined according to the respective application. This bit is set by the DP slave as soon as the configuration data previously received by the DP master does not correspond to the data determined by the DP slave. This bit is set by the DP slave, if the DP slave is not yet ready for data exchange. This bit is set by the DP master, if this DP slave cannot be reached via the bus. If this bit is set, the diagnostic bits contain the status of the last diagnostic message or the initial value. The DP slave sets this bit permanently to zero.
6 5 4 3
2 1 0
Fig.6-70:
Bit 7 Designation Deactivated Description
Station status_1
This bit is set by the DP master as soon as the DP slave in the DP slave parameter set is not indicated as active and was removed from cyclic processing. The DP slave sets this bit permanently to zero. This bit is set by the DP slave as soon as it has received the sync control command. A change in these bits does not initiate a diagnostic message. That is why these bits usually do not reflect the current state.
6 5
Reserved Sync_Mode
110/179
Libraries
Bit 4 Designation Freeze_Mode Description This bit is set by the DP slave as soon as it has received the freeze control command. A change in these bits does not initiate a diagnostic message. That is why these bits usually do not reflect the current state. 3 2 1 WD_On (Watchdog) 1 Stat_Diag (static diagnos tics) Prm_Req This bit is set by the DP slave as soon as its response monitoring is activated. The DP slave sets this bit permanently to zero. If the DP slave sets this bit, the DP master has to retrieve diagnostic information until this bit is deleted again. The DP slave sets this bit, for example, if it cannot provide any valid user data. If the DP slave sets this bit, it must be reparameterized and reconfigured. The bit remains set until parameterization is completed. This bit is set by the DP slave.
Fig.6-71:
Bit 7 Designation Ext_Diag_Overflow Description
Station status_2
If this bit is set, the amount of diagnostic information exceeds that specified in Ext_Di ag_Data. The DP slave sets this bit, for example, if the number of channel diagnostics exceeds that which the DP slave can enter in its transmitter buffer; or the DP master sets this bit, if the DP slave sends more diagnostic information than the DP master is able to enter in its diagnostic buffer. -
6 5 4 3 2 1 0
Fig.6-72:
Station status_3
For more information about the diagnostic functions, please refer to the de scription of the Function Blocks on page 114 et seq.
6.9.3
BmState: Bus master status word, see "tFBD_BM_INFO " BmError: Bus master error word, see "tFBD_BM_INFO " SD: Slave diagnostic list, see "tFBD_BIT_LIST " KSD: Classified slave diagnostics, see "tFBD_KSD_LIST " Projected slave list, see "tFBD_BIT_LIST "
"BmState" provides an overview of the status of the bus master and the slaves at the field bus. It indicates, for example, whether there is at least one slave with pending diagnostics. "BmError" indicates fatal errors rendering operation at the field bus impossible. SD indicates the slaves which are signalling diagnostics. KSD provides detailed information. It indicates the slaves which are signalling diagnostics and subdivides the diagnostics in error classes.
Bus Master Error Word Slave Diagnostic List Classified Slave Diagnostics
111/179
Libraries
Projected Slave List
The projected slave list contains all available slaves according to the master configuration file. For example, this list can be used to compare the projected slaves with the slaves actually available at the field bus. For more information about data areas, please refer to the description of the Data Types on page 111 et seq. and, about diagnostic functions, refer to the description of the Function Blocks on page 114 et seq.
6.9.4
Data Types
Brief Description
tFBD_BM_INFO
This structure comprises the "PdType", "BmStatus" and "BmError" variables. It is used in the "fbdBmInfoGet " function block.
Fig.6-73:
PdType: Peripheral Driver
tFBD_BM_INFO
The "fbdBmInfoGet " function block determines the type of the installed periph eral driver and indicates it in "PdType":
Driver FBD_PDT_NONE FBD_PDT_PCI_BMDP FBD_PDT_PCI_BMCAN FBD_PDT_PCI_BMIBS Description No peripheral driver installed Peripheral driver: Profibus DP Peripheral driver: CANopen (presently not available) Peripheral driver: Interbus (presently not available)
Fig.6-74:
BmState: Bus Master Status Word
The bus master status word "BmState " provides an overview of the status of the bus master and the slaves at the field bus. It indicates, for example, whether there is at least one slave with pending diagnostics. Each set bit (TRUE) in "BmState" represents a status:
Bit 0 Status BMS_BMF Description Bus master error: This bit indicates that there is a bus master error. In this case, the bus master error word contains more detailed information. Classified slave diagnostics: If this bit is set, at least one slave indicates a classified diagnostics. Which classified di agnosis/diagnoses is/are set, can be determined through bits 8 to 13. Slave diagnostics: If this bit is set, at least one slave indi cates a slave diagnostics. - Reserved - Reserved - Reserved - Reserved -
BMS_KSD
2 3 4 5 6
BMS_SD -
112/179
Libraries
Bit 7 Status BMS_AKTIV Description Active identification: The value of this bit must always be 1. If this is not the case, there is a fatal error in the software of the bus master. 8 9 10 11 12 13 14 15 BMS_SNE BMS_SKF BMS_DPS BMS_EXD BMS_SNB BMS_SF One or more slaves are not accessible via the bus. One or more slaves indicate configuration errors. One or more slaves indicate static diagnostics. One or more slaves indicate extended diagnostics. One or more slaves are not ready for cyclic data exchange. One or more slaves indicate a miscellaneous error. - Reserved - Reserved -
Fig.6-75:
fbdBmInfoGet fbdBmStateGet
The "BmError" bus master error word indicates fatal errors rendering operation at the field bus impossible. Each set bit (TRUE) in "BmError" represents an error:
Bit 0 1 2 3 * Error * BMF_HW_ERR BMF_MPS_ERR BMF_BUS_ERR BMF_SW_ERR Description Hardware error Master parameter set (field bus configuration file) is miss ing or faulty Error at the field bus (e.g. short-circuit, ....) System error in the peripheral driver (i.e. the driver soft ware has detected a fatal error)
Fig.6-76:
tFBD_BIT_LIST
Brief Description
The bit list "tFBD_BIT_LIST" has a defined length of 16 bytes (128 bits).
Fig.6-77:
Bit List Coding
tFBD_BIT_LIST
Each bit of the bit list is assigned to a bus address of the slave (Profibus: FDL address). For example, the lowest-order bit in the first array element (AR RAY[0]) is assigned to the Profibus user with address 0:
113/179
Libraries
Fig.6-78:
Example
The bit list is used in the following function blocks: fbdPrjSlaveListGet fbdSlaveDiagListGet
The bit list is also used in the tFBD_KSD_LIST (classified slave diagnostics).
tFBD_KSD_LIST
Brief Description
The list of the classified slave diagnostics (KSD list) consists of six bit lists. That means that there is a bit list for each error type.
Fig.6-79:
Classified Slave Diagnostics (KSD) SNE
tFBD_KSD_LIST
Slave not accessible. The slave is not accessible at the bus. Possible causes: Slave not available Voltage at slave turned off Faulty bus installation Physical interferences
SKF
Slave configuration error. The slave type or the I/O configuration of the slave does not correspond to the projected values in the field bus configuration file of the master.
DPS
Slave indicates static diagnostics: The slave cannot provide valid user data. The application layer of the slave is not ready for data exchange with the master.
114/179
Libraries
EXD Slave indicates extended diagnostics. The extended diagnostics is slave-specific and can be found in the de scription of the slave. Possible causes: SNB Load voltage missing/switched off (e.g. with E-STOP) Short-circuit at one output Overload Over-temperature Line break
Slave is not ready. The slave is not ready for data exchange, as it is not yet put into operation by the master (message from the protocol layer of the slave).
SF
Fig.6-80:
Bit List Coding
Each bit of a bit list is assigned to a bus address of the slave (Profibus: FDL address). For example, the lowest-order bit in the first array element (AR RAY[0]) is assigned to the Profibus device with address 0:
Fig.6-81:
Example Bit[x] = FALSE Bit[x] = TRUE
Fig.6-82:
6.9.5
DP_RDIAG
Function Blocks
Brief Description
The "DP_RDIAG" function block is used by the DP master (DPM1) to read the diagnostic data of a slave. The data buffer of the diagnostic data must be pro vided to address it via a POINTER.
115/179
Libraries
Interface Description
Fig.6-83:
Name VAR_INPUT REQ ID MLEN DINFO_PTR VAR_OUTPUT VALID ERROR BUSY STATUS LEN Type
DP_RDIAG
Comment TRUE: Start reception Slot handle, see the following table Maximum length of the data to be read Pointer to the data buffer of the Slave Diagnostic Data According to the Profibus DP Standard TRUE: New, valid diagnostic data available TRUE: Error/s occurred TRUE: The function block is busy. As long as BUSY = TRUE, the data cannot be evaluated yet. Previously determined status Length of the diagnostic data in bytes
BOOL DWORD INT POINTER TO BYTE BOOL BOOL BOOL DWORD INT
Fig.6-84:
Byte 0 1 2 3
DP_RDIAG interface
Contents MASTER SEGMENT STATION SLOT Description ID of the DP system: DP master identification Number of the DP segment Number of the DP slave (bus address) Number of the slot within the slave
Fig.6-85:
Example
To address the slave with bus address 12, the value of the ID is 16#000C0000. The ID is formed from the various components by means of the DP_ID function.
DP_RDIAG_EXT
Brief Description Interface Description
The "DP_RDIAG_EXT" function block is used by the DP master (DPM1) to read the diagnostic data of a slave. The diagnostic data is stored in an ARRAY.
Fig.6-86:
DP_RDIAG_EXT
116/179
Libraries
Name VAR_INPUT REQ ID MLEN VAR_IN_OUT VAR_OUTPUT DINFO VALID ERROR BUSY Type BOOL DWORD INT ARRAY [0..255] OF BYTE BOOL BOOL BOOL Comment TRUE: Start reception Slot handle, see the following table Maximum length of the data to be read Slave Diagnostic Data According to the Profibus DP Standard TRUE: New, valid diagnostic data available TRUE: Error/s occurred TRUE: The function block is busy. As long as BUSY = TRUE, the data cannot be evaluated yet. STATUS LEN DWORD INT Previously determined status Length of the diagnostic data in bytes
Fig.6-87:
Byte 0 1 2 3
DP_RDIAG_EXT interface
Contents MASTER SEGMENT STATION SLOT Description ID of the DP system: DP master identification Number of the DP segment Number of the DP slave (bus address) Number of the slot within the slave
Fig.6-88:
Example
To address the slave with bus address 12, the value of the ID is 16#000C0000. The ID is formed from the various components by means of the DP_ID function.
DP_RDREC
Brief Description
The "DP_RDREC" function block serves to provide read access for acyclic data exchange (DPV1). A pointer (POINTER) must be addressed to define a target area for the process data to be read.
Interface Description
Fig.6-89:
Name VAR_INPUT REQ ID INDEX MLEN REC_PTR Type
DP_RDREC
Comment TRUE: Start reading Slot handle, see the following table Index of the process data (offset) Maximum length of the process data in bytes Pointer to the target area
117/179
Libraries
Name VAR_OUTPUT VALID ERROR BUSY Type BOOL BOOL BOOL Comment TRUE: New, valid data available TRUE: Error/s occurred TRUE: The function block is busy. As long as BUSY = TRUE, the data cannot be evaluated yet. STATUS LEN DWORD UDINT Previously determined status Length of the process data in bytes
Fig.6-90:
Byte 0 1 2 3
DP_RDREC interface
Contents MASTER SEGMENT STATION SLOT Description ID of the DP system: DP master identification Number of the DP segment Number of the DP slave (bus address) Number of the slot within the slave
Fig.6-91:
Example
To address the slave with bus address 12, the value of the ID is 16#000C0000. The ID is formed from the various components by means of the DP_ID function.
DP_WRREC
Brief Description
The DP_WRREC function block serves to provide write access for acyclic data exchange (DPV1). The process data to be written must be provided by ad dressing a pointer (POINTER).
Interface Description
Fig.6-92:
Name VAR_INPUT REQ ID INDEX LEN REC_PTR VAR_OUTPUT DONE ERROR Type
DP_WRREC
Comment TRUE: Start writing Slot handle, see the following table Index of the process data (offset) Length of the process data in bytes Pointer to the process data to be written TRUE: Call completed TRUE: Error/s occurred
118/179
Libraries
Name BUSY Type BOOL Comment TRUE: The function block is busy. As long as BUSY = TRUE, the data cannot be evaluated yet. STATUS DWORD Previously determined status
Fig.6-93:
Byte 0 1 2 3
DP_WRREC interface
Contents MASTER SEGMENT STATION SLOT Description ID of the DP system: DP master identification Number of the DP segment Number of the DP slave (bus address) Number of the slot within the slave
Fig.6-94:
Example
To address the slave with bus address 12, the value of the ID is 16#000C0000. The ID is formed from the various components by means of the DP_ID function.
fbdBaudrateGet
Brief Description Interface Description
The "fbdBaudrateGet" function block reads the baud rate of the connected field bus. The baud rate is specified in bits per second.
Fig.6-95:
Name VAR_OUTPUT Baud rate Type
fbdBaudrateGet
Comment Baud rate at the field bus (bit/s)
UDINT
Fig.6-96:
fbdBaudrateGet interface
fbdBmErrorGet
Brief Description Interface Description
The "fbdBmErrorGet" function block reads the current bus master error word.
Fig.6-97:
Name VAR_OUTPUT BmError Type
fbdBmErrorGet
Comment See tFBD_BM_INFO
WORD
Fig.6-98:
fbdBmErrorGet interface
fbdBmInfoGet
Brief Description
The "fbdBmInfoGet" function block returns the "tFBD_BM_INFO" structure. This structure contains the "PdType", "BmStatus" and "BmError" variables. Thus, the information is provided by one single call, rather than by calling several different functions.
119/179
Libraries
Interface Description
Fig.6-99:
Name VAR_OUTPUT BmInfo Type
fbdBmInfoGet
Comment fbdBmInfoGet
fbdBmInfoGet
Fig.6-100:
fbdBmInfoGet interface
fbdBmStateGet
Brief Description Interface Description
The "fbdBmStateGet" function block reads the current bus master status word.
Fig.6-101:
Name VAR_OUTPUT BmState Type
fbdBmStateGet
Comment See fbdBmInfoGet
WORD
Fig.6-102:
fbdBmStateGet interface
fbdKsdListGet
Brief Description Interface Description
Fig.6-103:
Name VAR_OUTPUT KsdList Type
fbdKsdListGet
Comment See tFBD_KSD_LIST
tFBD_KSD_LIST
Fig.6-104:
fbdKsdListGet interface
fbdPdTypeGet
Brief Description Interface Description
The "fbdPdTypeGet" function block determines the type of the installed periph eral driver.
Fig.6-105:
Name VAR_OUTPUT PdType Type INT
fbdPdTypeGet
Comment Peripheral driver type: PDT_NONE: No peripheral driver installed. PDT_PCI_BMDP: Profibus DP. PDT_PCI_BMCAN: CAN-Open. PDT_PCI_BMIBS: Interbus S.
Fig.6-106:
fbdPdTypeGet interface
120/179
Libraries
fbdPrjSlaveListGet
Brief Description Interface Description
The "fbdPrjSlaveListGet" function block reads the list of the projected slaves. The list contains all available slaves according to the master configuration file.
Fig.6-107:
Name VAR_OUTPUT PrjSlaveList Example Type
fbdPrjSlaveListGet
Comment See tFBD_BIT_LIST
tFBD_BIT_LIST
Fig.6-108:
Bit[x] = TRUE Bit[x] = FALSE
fbdPrjSlaveListGet interface
Slave[x] is projected Slave[x] is not projected
Each bit of the bit list is assigned to a bus address of the slave:
Fig.6-109:
fbdSlaveDiagListGet
Brief Description Interface Description
The "fbdSlaveDiagListGet" function block reads the current slave diagnostic list.
Fig.6-110:
Name VAR_OUTPUT SlaveDiagList Example Type
fbdSlaveDiagListGet
Comment See tFBD_BIT_LIST
tFBD_BIT_LIST
Fig.6-111:
Bit[x] = TRUE Bit[x] = FALSE
fbdSlaveDiagListGet interface
Slave[x] has diagnostics Slave[x] has no diagnostics
Each bit of the bit list is assigned to a bus address of the slave:
Fig.6-112:
DP_SYCFR
Brief Description
The "DP_SYCFR" function block can be used to implement control commands for synchronization of inputs and outputs. For example, the outputs of several drives can be synchronized (e.g. Rexroth EcoDrive, IndraDrive), several axes can start at the same time, etc. This is based on the possibility that a Profibus DP master can send a "global control telegram" to a defined slave or to entire slave groups. The global control telegram can be used to transmit one of the following control commands: Freeze (control command code: 16#08): causes all addressed slaves (see table below, "ID" and "GROUP" input parameters) to switch to freeze mode. On the transition to this state, a slave "freezes" the current status of its input data. The input data will again be updated once when the next freeze command arrives.
121/179
Libraries Unfreeze (control command code: 16#04): causes all addressed slaves to exit the freeze mode. Sync (control command code: 16#20): causes all addressed slaves to switch to sync mode. On the transition to this state, a slave "freezes" the current status of its outputs corresponding to its current internal output image. The outputs will again be updated once when the next sync com mand arrives, according to the current internal output image. Unsync (control command code: 16#10): causes all addressed slaves to update their outputs according to the current internal output image and to exit the sync mode. In order that the control commands of the sync and freeze modes are actually transmitted from the master to all addressed slaves, the following requirements must be met:
Interface Description
Each slave is assigned to a slave group, see Fig. 4-32. The relevant mode (sync, freeze) is enabled for the corre sponding slave group, see Fig. 4-25.
Fig.6-113:
Name VAR_INPUT REQ ID CMD GROUP VAR_OUTPUT DONE BUSY ERROR STATUS Type BOOL DWORD BYTE BYTE BOOL BOOL BOOL DWORD Comment
DP_SYCFR
TRUE: Execute function Slot handle, see fig. 6-115 "Slot handle: parameter ID" on page 121. Control command Selects one or more groups to which the command refers. Each bit is assigned to a group. TRUE: Call completed TRUE: The function block is busy. As long as BUSY = TRUE, the data cannot be evaluated yet. TRUE: Error/s occurred Previously determined status
Fig.6-114:
Byte 0 1
DP_SYCFR interface
Contents MASTER SEGMENT Description ID of the DP system: DP master identification Number of the DP segment
122/179
Libraries
Byte 2 Contents STATION Description Number of the DP slave (bus address): If the command is to apply for only one special slave, then the bus address of the slave must be entered here (0..125). However, if the command is to be entered for all slaves of a group, the global address (= 127) must be entered here. 3 SLOT Number of the slot within the slave
Fig.6-115:
Example
Slot handle Address all slaves of a group: ID = 16#007F0000. The ID is formed from the various components by means of the DP_ID function. Outputs can only be synchronized if all slaves received the current output data before having received the sync or unsync control com mand! To achieve this, call the "DP_SYCFR" function block from the same PLC task from which the output data of the slave/s is writ ten. In a PLC task, the output data for the synchronized slaves is written first. Then, the sync or unsync command is started with "DP_SYCFR". As long as the function block is BUSY, the output must not be modified.
Example
Start several axes at the same time. 1. 2. 3. Send the sync control command to the participating Profibus DP devices. This freezes their outputs. Transmit the command which starts the axes to the participating devices (e.g. "MoveAbsolut" for the drives). Send the unsync control command to the participating Profibus DP devi ces. As a result, the devices update their outputs according to the current internal output image, simultaneously start the axis movements and exit the sync mode.
6.9.6
DP_ADDR
Functions
Brief Description
This function is not implemented. This function can be called for reasons of compatibility with the Profibus Guideline 2182 (see http://www.profibus.com/ celummdb/doc/PROFIBUS/Downloads/Specifications%20&%20Standards/ Comm-Func-Block_2182_V20_Nov05.pdf) but it transfers a handle without any changes.
Interface Description
Fig.6-116:
DP_ADDR
Name Type DWORD DWORD Comment Slot handle
ID
Fig.6-117:
DP_ADDR interface
123/179
Libraries
DP_ID
Brief Description
This function is based on the Profibus Guideline 2182 (see http://www.profi bus.com/celummdb/doc/PROFIBUS/Downloads/Specifications%20& %20Standards/Comm-Func-Block_2182_V20_Nov05.pdf). It provides the han dle for a physical address of a slot.
Interface Description
Fig.6-118:
Name VAR_INPUT MASTER SEGMENT STATION Type BYTE BYTE BYTE
DP_ID
Comment ID of the DP system: DP master identification Number of the DP segment Number of the DP slave (bus address): If the command is to apply for only one special slave, then the bus address of the slave must be entered here (0..125). Only for DP_SYCFR: However, if the command is to be entered for all slaves of a group, the global address (= 127) must be entered here.
BYTE DWORD
Fig.6-119:
DP_ID interface
DP_SLOT
Brief Description
This function is based on the Profibus Guideline 2182 (see http://www.profi bus.com/celummdb/doc/PROFIBUS/Downloads/Specifications%20& %20Standards/Comm-Func-Block_2182_V20_Nov05.pdf). It sets the specified slot number in the slot handle.
Interface Description
Fig.6-120:
DP_SLOT
Name Type DWORD BYTE DWORD Comment Slot handle Slot number Slot handle
VAR_INPUT
ID SLOT
Function value
Fig.6-121:
DP_SLOT interface
124/179
Libraries
6.10
6.10.1
RIL_ProfibusDP_02
Overview
History
For the first time, the CML40 now provides one system for several DP masters. This is achieved by using the DP master function module and the existing on board master. The RIL_ProfibusDP.lib version 01V01 is not suitable for use on systems with more DP masters than one. This library will be expanded to version 01V02 to ensure compatibility. In addition, a RIL_ProfibusDP_02.lib will be created. This library is able to dis tinguish several DP masters.
Target Systems
6.10.2
FB Overview
Structure
The library comprises the following folders: _Version The RIL_ProfibusDP_02.lib is used to set the version number to 01V00. RIL DP-Services DP and diagnostic functions
Overview of Functions
Designation Version_RIL_ProfibusDP_02_01V00 IL_DPIdent IL_DPV1Read IL_DPV1Write IL_DPReadDiag IL_DPSyncFr IL_DPDeviceListGet IL_DPBaudrateGet IL_DPDevInfoGet IL_DPPrjSlaveListGet IL_DPSlaveDiagListGet
Description Version ID Assembly of Profibus IDs Reading V1 service Writing V1 service Read diagnostic data of a slave ac cording to DP standard Synchronize/freeze control command List of active DP devices in the system Read the current baud rate Read the bus master information structure List of projected slaves List of current slave diagnostics
Fig.6-122:
6.10.3
Data Types
Overview
125/179
Libraries A general part with a defined length of 6 bytes. Extended diagnostics (slave-specific, with variable length).
Type BYTE BYTE BYTE BYTE WORD Designation Station status_1 Station status_2 Station status_3 Master_Add Ident_Number Ext_Diag_Data Description See below See below See below Bus address of the master having parame terized the slave Ident_Number of the slave Extended diagnostics according to Profibus DP standard
Offset 0 1 2 3 4 6-243
Fig.6-123:
Station Status
The following description of station statuses 1 to 3 is an extract from the Profi bus DP standard.
Bit Designation 7 Master_Lock Description The DP slave was parameterized by a different master. This bit is set by the DP master (class 1), if the address in octet 4 is not equal to 255 and not equal to its own address. The DP slave sets this bit permanently to zero. This bit is set by the DP slave, if the last parameter telegram was faulty, e.g. wrong length, wrong Ident_Number, invalid parameters. This bit is set by the DP master as soon as one of the ad dressed DP slaves receives an implausible response. The DP slave sets this bit permanently to zero. This bit is set by the DP slave as soon as a function was requested that is not supported by this DP slave. This bit is set by the DP slave. If the bit is set, a diagnostic entry must be available in the slave-specific diagnostic area (Ext_Diag_Data). If the bit is not set, a status message might be present in the slave-specific diagnostic area (Ext_Di ag_Data). The meaning of this status message must be defined according to the respective application. This bit is set by the DP slave as soon as the configuration data previously received by the DP master does not corre spond to the data determined by the DP slave.
Prm_Fault
4 3
Cfg_Fault
1 0
Station_Not_Ready This bit is set by the DP slave, if the DP slave is not yet ready for data exchange. Station_Non_Exis tent This bit is set by the DP master, if this DP slave cannot be reached via the bus. If this bit is set, the diagnostic bits con tain the status of the last diagnostic message or the initial value. The DP slave sets this bit permanently to zero.
Fig.6-124:
Station status_1
126/179
Libraries
Bit Designation 7 Deactivated Description This bit is set by the DP master as soon as the DP slave in the DP slave parameter set is not indicated as active and was removed from cyclic processing. The DP slave sets this bit permanently to zero. This bit is set by the DP slave as soon as it has received the sync control command. A change in these bits does not initiate a diagnostic mes sage. That is why these bits usually do not reflect the current state. 4 Freeze_Mode This bit is set by the DP slave as soon as it has received the freeze control command. A change in these bits does not initiate a diagnostic mes sage. That is why these bits usually do not reflect the current state. 3 2 1 WD_On dog) 1 (Watch This bit is set by the DP slave as soon as its response mon itoring is activated. The DP slave sets this bit permanently to zero.
6 5
Reserved Sync_Mode
Stat_Diag (static di If the DP slave sets this bit, the DP master has to retrieve agnostics) diagnostic information until this bit is deleted again. The DP slave sets this bit, for example, if it cannot provide any valid user data. Prm_Req If the DP slave sets this bit, it must be reparameterized and reconfigured. The bit remains set until parameterization is completed. This bit is set by the DP slave.
Fig.6-125:
Station status_2
Description If this bit is set, the amount of diagnostic information ex ceeds that specified in Ext_Diag_Data. The DP slave sets this bit, for example, if the number of channel diagnostics exceeds that which the DP slave can enter in its transmitter buffer; or the DP master sets this bit, if the DP slave sends more diagnostic information than the DP master is able to enter in its diagnostic buffer. -
6 5 4 3 2 1 0
Fig.6-126:
Station status_3
127/179
Libraries there is at least one slave with pending diagnostics. Each set bit (TRUE) in "BmState" represents a status:
Bit Status 0 BMS_BMF Description Bus master error: This bit indicates that there is a bus master error. In this case, the bus master error word contains more detailed in formation. 1 BMS_KSD Classified slave diagnostics: If this bit is set, at least one slave indicates a classified di agnostics. Which classified diagnostics is/are set, can be determined by bits 8 to 13. 2 3 4 5 6 7 BMS_SD BMS_AKTIV Slave diagnostics: If this bit is set, at least one slave indicates a slave diagnosis. Reserved Reserved Reserved Reserved Active identification: The value of this bit must always be 1. If this is not the case, there is a fatal error in the software of the bus master. 8 9 BMS_SNE BMS_SKF One or more slaves are not accessible via the bus. One or more slaves indicate configuration errors. One or more slaves indicate static diagnostics. One or more slaves indicate extended diagnostics. One or more slaves are not ready for cyclic data exchange. One or more slaves indicate a miscellaneous error. Reserved Reserved
Fig.6-127:
IL_BMF_MPS_ERR Master parameter set (field bus configuration file) is missing or faulty
2)
128/179
Libraries
Bit Error2) 2 3 Description
IL_BMF_BUS_ERR Error at the field bus (e.g. short-circuit) IL_BMF_SW_ERR System error in the peripheral driver (i.e. the driver software has detected a fatal error)
Fig.6-128:
DP_SLAVELIST Structure
Brief Description
The "DP_SLAVELIST" bit list (DP_BITLIST) has a defined length of 16 bytes (128 bits).
Program:
TYPE Bit List Coding DP_SLAVELIST : ARRAY [0..15] OF BYTE; END_TYPE
Each bit of the bit list is assigned to a bus address of the slave (Profibus: FDL address). For example, the lowest-order bit in the first array element (AR RAY[0]) is assigned to the Profibus user with address 0:
Fig.6-129:
DP_DEVICELIST Structure
Brief Description Example
DP_MASTERINFO Structure
Brief Description Example
This data type comprises information about the state of the bus master.
Program:
TYPE DP_MASTERINFO: (*DP_DEVICEINFO:*) STRUCT
129/179
Libraries
BmState : BmError : END_STRUCT END_TYPE WORD; WORD; (* bus master status *) (* bus master error word *)
6.10.4
DP masters are distinguished according to their order in the DP configuration. 0 .. n(5) Number of the DP master in ascending configuration order. Only DP masters are counted.
Application
The functions and function blocks having to access a certain instance of a master have the type BYTE "Master" input parameter assigned to them. The functions and function blocks complying with Profibus Guideline 2182 have an "ID" DWORD parameter which is interpreted as slot handle. A byte for se lecting the master is reserved therein. The DP_SLOT function can be used to generate the ID parameter. The functions and function blocks using the "Ident" DWORD parameter can generate this parameter by means of the IL_DPIdent function.
Byte 0 1 2 3 Contents MASTER SEGMENT STATION SLOT Description ID of the DP system: DP master identification (or onboard slave identification) Number of the DP segment (0) Number of the DP slave (bus address) Number of the slot within the slave
Fig.6-130:
6.10.5
Version_RIL_ProfibusDP_02_01V00
Brief Description
To ensure that the firmware version is compatible with the library, a version ID is carried along. If the names of the version functions fail to be equal, down loading of the application program will be rejected. Version_RIL_ProfibusDP_02_01V00
Interface Description
6.10.6
IL_DPIdent
Brief Description
Fig.6-131:
Interface Description
Fig.6-132:
Name VAR_INPUT Master Segment Type BYTE BYTE
IL_DPIdent structure
Description DP master identification (see above) Number of the DP segment (0)
130/179
Libraries
Name Type Description Number of the DP slave (bus address): Station BYTE If the command is to apply for only one special slave, then the bus address of the slave must be entered here (0..125). Applicable to IL_DPSycFr only: However, if the command is to be entered for all slaves of a group, the global address (= 127) must be entered here. Number of the slot within the slave (according to the slave specifi cation) (value range: 0...254). Ident handle
BYTE DWORD
Fig.6-133:
Functional Description
IL_DPIdent interface
The 4 byte values are used to form the "Ident" DWORD. This DWORD is re quired as an input parameter for the following function blocks.
6.10.7
IL_DPV1Read
Brief Description
The "IL_DPV1Read" function block is used for DPV1 read access. Data ex change on the Profibus DP is acyclic. A pointer (POINTER) must be addressed to define a target area for the process data to be read.
Library RIL_ProfibusDP_02.lib Area RIL DPV1-Services
Fig.6-134:
Interface Description
Fig.6-135:
Name VAR_INPUT Execute Ident Index NoOfBytes Values VAR_OUTPUT Done Active Error ErrorID Type BOOL DWORD INT INT
IL_DPV1Read structure
Description Function activation; interruption of an activated function block is not possible. Ident handle (see IL_DPIdent function) Process data index (field number) Maximum length of the data to be read; number of bytes available on the "Values" pointer
POINTER TO BYTE Pointer to the data buffer for the target data BOOL BOOL BOOL ERROR_CODE Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141
131/179
Libraries
Name ErrorIdent Length Type ERROR_STRUCT INT Description Error structure from PB_DP_TABLE ErrorTable Length of the data read in bytes
Fig.6-136:
Signal Time Diagram
IL_DPV1Read interface
Fig.6-137:
Functional Description
The master (class 1) accesses a DP-V1 slave. It reads the data record of the slave. This data record is addressed through the slave address, the slot and the index. Addressing with slot and index and data interpretation are slavespecific and can be found in the documentation of the particular slave. The function execution time is dependent on the bus load and the set baud rate, among other factors. This function is only available for slaves participating in the DP bus cycle.
6.10.8
IL_DPV1Write
Brief Description
The "IL_DPV1Write" function block is used for DPV1 write access. Data ex change on the Profibus DP is acyclic. A pointer (POINTER) must be addressed to deliver the process data to be written.
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-138:
132/179
Libraries
Interface Description
Fig.6-139:
Name VAR_INPUT Execute Ident Index NoOfBytes Values VAR_OUTPUT Done Active Error ErrorID ErrorIdent Type BOOL DWORD INT INT
IL_DPV1Write structure
Description Function activation; interruption of an activated function block is not possible. Ident handle (see IL_DPIdent function) Process data index (field number) Maximum length of the data to be read; number of bytes available on the "Values" pointer
POINTER TO BYTE Pointer to the data buffer for the data BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
Fig.6-140:
Signal Time Diagram
Fig.6-141:
133/179
Libraries
Functional Description
The master (class 1) accesses a DP-V1 slave. It reads the data record of the slave. This data record is addressed through the slave address, the slot and the index. Addressing with slot and index and data interpretation are slavespecific and can be found in the documentation of the particular slave. The function execution time is dependent on the bus load and the set baud rate, among other factors. This function is only available for slaves participating in the DP bus cycle.
6.10.9
IL_DPReadDiag
Brief Description
The "IL_DPReadDiag" function block is used by the DP master (DPM1) to read the diagnostic data of a slave. The data buffer of the diagnostic data must be provided to address it via a pointer (POINTER).
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-142:
Interface Description
Fig.6-143:
Name VAR_INPUT Execute Ident NoOfBytes Values VAR_OUTPUT Done Active Error ErrorID ErrorIdent Length Type BOOL DWORD INT
IL_DPReadDiag structure
Description Function activation; interruption of an activated function block is not possible. Ident handle (see IL_DPIdent function) Maximum length of the data to be read; number of bytes available on the "Values" pointer Pointer to data buffers of slave diagnostics data according to Profi bus DP standard Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable Length of the diagnostic data in bytes
Fig.6-144:
IL_DPReadDiag interface
134/179
Libraries
Signal Time Diagram
Fig.6-145:
Functional Description
The master reads the diagnostic information from the slaves and saves it in relation to the particular slave. Using request bits, the slave triggers the diag nostic request of the master in cyclic telegram traffic. The slave is responsible for the content of the diagnostic data. The present function does not trigger any telegram traffic at the Profibus. It just accesses the diagnostic information pro vided by the master.
6.10.10
IL_DPSycFr
Brief Description
The "IL_DPSycFr" function block can be used to implement control commands for synchronization of inputs and outputs. Profibus DP provides the possibility that a master sends what is called a "global control telegram" to a group of slaves. The global control telegram contains a control command. Using the freeze control command, all slaves of the addressed group are storing the current input data at the same time (synchronize inputs). Using the sync control command, all slaves of the addressed group are applying the current output data at the same time (synchronize outputs).
Area RIL DPV1-Services
Fig.6-146:
135/179
Libraries
Interface Description
Fig.6-147:
Name VAR_INPUT Execute Ident Cmd Group VAR_OUTPUT Done Active Error ErrorID ErrorIdent Type BOOL DWORD BYTE BYTE BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT
DPSycFr structure
Description Function activation; interruption of an activated function block is not possible. Ident handle; see IL_DPIdent (slot is irrelevant and should be 0) Control command (see above) Selects one or more groups to which the command refers. Each bit is assigned to a group. Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable
Fig.6-148:
Signal Time Diagram
IL_DPSycF interface
Fig.6-149:
Functional Description
136/179
Libraries The ID is formed from the various components by means of the "IL_DPIdent" function. Outputs can only be synchronized if all slaves received the current output data before having received the sync command. To achieve this, call the "IL_DPSycFr" function block from the same PLC task from which the output data of the slaves is written. In a PLC task, the output data for the synchronized slaves is written first. Then, the SYNC command is started with "IL_DPSycF". As long as the Sync command is not completed yet (BUSY), the output data must not be modified. If sync or freeze is used in the IndraWorks project explorer, an assignment of the groups at the master and the corresponding slaves must be set. For more information, please refer to the IndraWorks documentation or online help. Possible control commands:
IL_DP_CMD_UNFREEZE IL_DP_CMD_FREEZE IL_DP_CMD_UNSYNC IL_DP_CMD_SYNC 16#04 16#08 16#10 16#20 Freeze mode release command Freeze Sync mode release command Sync
Fig.6-150:
6.10.11
IL_DPDeviceListGet
Brief Description
The "IL_DPDeviceListGet" function block determines a list of the currently available DP masters.
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-151:
Interface Description
Fig.6-152:
Name VAR_INPUT VAR_OUTPUT Enable Done Active Error ErrorID ErrorIdent MasterList Type BOOL BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT DP_DEVICELIST
IL_DPDeviceListGet structure
Description Function release Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable List of available DP masters
Fig.6-153:
IL_DPDeviceListGet interface
137/179
Libraries
Signal Time Diagram
Fig.6-154:
Functional Description
This function is used to display the master instances active and addressable at the PLC. This also allows the user to monitor whether the configuration loaded is appropriate and whether it has been detected correctly.
6.10.12
IL_DPBaudrateGet
Brief Description
The "IL_DPBaudrateGet" function block determines the baud rate of the con nected field bus. The baud rate is specified in bits per second.
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-155:
Interface Description
Library assignment
Fig.6-156:
Name VAR_INPUT Enable Master VAR_OUTPUT Done Active Error ErrorID ErrorIdent Baud rate Type BOOL BYTE BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT UDINT
IL_DPBaudrateGet structure
Description Function release MasterID (see above) Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable Baud rate in 1/s
Fig.6-157:
IL_DPBaudrateGet interface
138/179
Libraries
Signal Time Diagram
Fig.6-158:
Functional Description
This function is used to determine the operating state of the PB master that has been addressed. "BmState" and "BmError" must be encoded with 1.3.2 and 1.3.3.
6.10.13
IL_DPDevInfoGet
Brief Description
The "IL_DPDevInfoGet" is used to obtain information about the operating state of the particular PB device.
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-159:
Interface Description
Fig.6-160:
Name VAR_INPUT Enable Master VAR_OUTPUT Done Active Error ErrorID ErrorIdent DevInfo Type BOOL BYTE BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT DP_MASTERINFO
IL_DPDevInfoGet structure
Description Function release MasterID (see above) Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable DP_MASTERINFO
Fig.6-161:
IL_DPDevInfoGet interface
139/179
Libraries
Signal Time Diagram
Fig.6-162:
6.10.14
IL_DPPrjSlaveGet
Brief Description
The "IL_DPPrjSlaveListGet" function block supplies the list of projected slaves. The list contains all slaves available in the master configuration file.
Library RIL_ProfibusDP.lib Area RIL DPV1-Services
Fig.6-163:
Interface Description
Fig.6-164:
Name VAR_INPUT Enable Master VAR_OUTPUT Done Active Error ErrorID ErrorIdent PrjSlaveList Type BOOL BYTE BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT DP_SLAVELIST
IL_DPPrjSlaveGet structure
Description Function release MasterID (see above) Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable Bit list with set bit for every projected slave
Fig.6-165:
IL_DPDevInfoGet interface
140/179
Libraries
Signal Time Diagram
Fig.6-166:
Functional Description
The bit list is used to set a bit for each projected slave of a master. The function is based on the configuration data available.
6.10.15
IL_DPSlaveDiagListGet
Brief Description
Fig.6-167:
Interface Description
Fig.6-168:
Name VAR_INPUT Enable Master VAR_OUTPUT Done Active Error ErrorID ErrorIdent SlaveDiagList Type BOOL BYTE BOOL BOOL BOOL ERROR_CODE ERROR_STRUCT DP_SLAVELIST
IL_DPSlaveDiagListGet structure
Description Function release MasterID (see above) Done message (successful) Activity display Done message (unsuccessful) See chapter "ErrorID" on page 141 Error structure from PB_DP_TABLE ErrorTable Bit list with set bit for every slave indicating diagnostics
Fig.6-169:
IL_DPSlaveDiagListGet interface
141/179
Libraries
Signal Time Diagram
Fig.6-170:
Functional Description
The "SlaveDiagList" is used to set a bit for each slave indicating diagnostics. This allows reading selected diagnostics. This function block does not trigger any DP services. It is used to evaluate data provided in the master.
6.10.16
ErrorID
Error Identifications
Enumerator NONE_ERROR INPUT_INVALID_ERROR COMMUNICATION_ERROR RESOURCE_ERROR ACCESS_ERROR STATE_MACHINE_ERROR INPUT_RANGE_ERROR CALCULATION_ERROR DEVICE_ERROR OTHER_ERROR SYSTEM_ERROR Code 16#0000 16#0001 16#0002 16#0003 16#0004 16#0005 16#0006 16#0007 16#0008 16#7FFE 16#7FFF Description No error code available Invlaid input assignment Communication error Source not available Faulty or invalid access to data Invalid state machine value The value of one or more inputs is outside of the defined limits Calculation error Drive error Undefined error (assignment to any of the other IDs not possible) System error
Fig.6-171:
Possible ErrorIDs
ErrorIdent
Structure
ErrorIdent is a structure comprising three elements. Its default value is 0. ErrorTable : PB_DP_TABLE (16#0130) Profibus DP error ErrorAdditional1: see below ErrorAdditional1: see below
142/179
Libraries
ErrorTable
Enumerator NO_TABLE_USED SERCOS_TABLE MLD_TABLE MLC_TABLE MTX_TABLE MLP_TABLE PLC_TABLE INDRV_TABLE DIAX_TABLE ECO_TABLE PB_DP_TABLE DEVICENET_TABLE ETHERNET_TABLE ETHERNET_IP_TABLE INTERBUS_TABLE F_RELATED_TABLE USER1_TABLE USER2_TABLE USER3_TABLE USER4_TABLE USER5_TABLE USER6_TABLE USER7_TABLE USER8_TABLE Code 16#0000 16#0010 16#0020 16#0030 16#0040 16#0050 16#0060 16#0070 16#0080 16#0090 16#0130 16#0140 16#0150 16#0151 16#0160 16#0170 16#1000 16#1001 16#1002 16#1003 16#1004 16#1005 16#1006 16#1007 Description No table assigned Sercos error (error in communi cation via Sercos) Drive error (error of PLC FBs of the drive PLC) MLC error (error of PLC FBs of the MLC control) MTX error (error of PLC FBs of the MTX control) MLP error (error of PLC FBs of the PC-based control) PLC error IndraDrive error (IndraDrive sig nals error via PLC FB) Diax error (Diax drive signals er ror via PLC FB) EcoDrive error (EcoDrive signals error via PLC FB) Profibus DP error (Profibus DP signals error via PLC FB) DeviceNet error (DeviceNet sig nals error via PLC FB) Ethernet error (Ethernet signals error via PLC FB) EthernetIP error (EthernetIP sig nals error via PLC FB) Interbus error (Interbus signals error via PLC FB) System-crossing error messages (e.g. from technology FBs) Can be used as desired Can be used as desired Can be used as desired Can be used as desired Can be used as desired Can be used as desired Can be used as desired Can be used as desired
143/179
Libraries
Enumerator USER9_TABLE USER10_TABLE Code 16#1008 16#1009 Description Can be used as desired Can be used as desired
Fig.6-172:
"ErrorTable" (ENUM)
ErrorAdditional1
Structure
ErrorAdditional1 is used for a superordinate distinction by error source. There are the following error sources: 16#0001: Onboard Profibus Device 16#0002: FunctionModule (FM) Profibus Device 16#0100: Function not supported 16#0101: Device(Master) not found
ErrorAdditional2
Structure
ErrorAdditional2 also comprises 4 bytes for "Onboard Profibus Device". The meaning of the bytes is as follows:
Byte no. Meaning Description Distinctionn by error origin: Byte 3 Error_Source 16#00 Profibus (slave) 16#10 Masterstack 16#20 Profibus FDL layer Error_Code_DP Byte 2 Byte 1 Byte 0 Error_Code_OB AddInfo_1 AddInfo_2 For Error_Source = 16#00 For Error_Source = 16#10 Reserved Reserved
Fig.6-173:
ErrorAdditional2 also comprises 4 bytes for "FunctionModule (FM) Profibus Device". The meaning of the bytes is as follows:
Byte no. Byte 3 Byte 2 Byte 1 Byte 0 Meaning FM_Error_Code Error_Code_DP Error_Code_1 AddInfo_1 Description FM master error code See tables below DP-user-specific Reserved
Fig.6-174:
FM_Error_Code
The following error description corresponds to the error response definitions of the Hilscher Profibus DP master.
FM_Error_Code 16#02 Error The slave does not provide any memory or buffer for this service.
144/179
Libraries
16#03 16#09 16#11 16#12 16#19 16#36 16#81 16#82 16#83 16#84 16#85 16#9a 16#F0 The slave does not support any DPV1 services. The slave did not transmit any data. The slave did not respond/is not applied to the bus. The DP master is not applied to the ProfiBus (check cabling) The slave does not comply with DPV1. The slave rejected the access. Evaluate Error_Code_DP! DPV1 is not configured on the master. The slave did not respond with plausible parameters. Another service already in progress; parallel services not allowed. Data capacity exceeds configured size. Wrong parameter in request. Unknown command Invalid state
Fig.6-175:
Error_Code_OB
Er ror_Code_OB 16#11 16#23 16#25 16#31 16#32 16#33 16#34 16#35 16#36 16#61 16#62 16#63 16#64 16#65 16#66 16#67 Error Invalid order parameters RequestList full SemTake error Unallowed call Invalid call parameters Invalid data length Faulty call state Slave not configured Slave configured but not in cyclic mode DPV1 request to non-DPV! slave The slave does not respond within timeout. DPV1 telegram format error Order was withdrawn. Pertinent RQB not found. Invalid parameter Unknown AMPRO2 opcode
Fig.6-176:
Onboard ErrorCode
145/179
Libraries
Error_Code_FDL
Er ror_Code_FDL 16#61 16#62 16#63 16#64 16#65 16#66 16#67 16#68 16#69 16#6A 16#60 16#6B 16#6C Error FE: format error in a request APDU NI: service not implemented AD: access denied EA: area to large (up/download) LE: data block length too large (up/download) RE: format error in a request APDU IP: invalid parameter SC: sequence conflict SE: sequence error NE: area non-existent No slave found DI: data incomplete NC: master parameter set not compatible
Fig.6-177:
Error_Code_DP
Structure
The meaning of "Error_Code_DP" corresponds to that of "Error_Code_1" de scribed in the DPV1 standard. Bits 4..7 of the error byte constitute the "Error_Class", while Bits 0..3 constitute the "Error_Code".
7 6 5 4 3 2 1 0 Meaning Error Code Error Class
______________________________________ ______________________________________
Fig.6-178:
Error_Class 0 to 9 10
ErrorCode DP
Meaning reserved3) Application 0 = read error 1 = write error 2 = module failure 3 to 7 = reserved4) 8 = version conflict 9 = feature not supported 10 to 15 = user specific Error_Code
3) 4)
reserved: values are intended to be passed on to the user as they are. reserved: values are intended to be passed on to the user as they are.
146/179
Libraries
Error_Class 11 Meaning Access Error_Code 0 = invalid index 1 = write length error 2 = invalid slot 3 = type conflict 4 = invalid area 5 = state conflict 6 = access denied 7 = invalid range 8 = invalid parameter 9 = invalid type 10 to 15 = user specific 12 Resource 0 = read constrain conflict 1 = write constrain conflict 2 = resource busy 3 = resource unavailable 4 to 7 = reserved5) 8 to 15 = user specific 13 to 15 User-specific
Fig.6-179:
ErrorCode DP
6.11
6.11.1
Designation
RIL_Utilities
Overview
Type FNC FNC FNC FNC FNC FNC FB FB FB Description Version management of the RIL_Utilities.lib. Read the high-resolution time tick of the system. Calculation of the time difference of two high-resolution time ticks of the system in microseconds. Read the current system date. Read the current system time. Read the current system date and the current system time (format according to IEC 61131-3). Read the current system date and the current system time (in microseconds since 1970-01- 01). Read the current system date and the current system time (in system format). Read the current system date and the current system time (in extended system format).
5)
147/179
Libraries
Designation IL_SysTime64ToSysTimeDate IL_SysTimeDateToSysTime64 Type FB FB Description Format conversion of system date and system time. Format conversion of system date and system time.
Fig.6-180:
Data Types
The RIL_Utilities.lib library does not contain any separate data types.
Global Variables
The RIL_Utilities.lib library does not contain any separate global variables.
Version_RIL_Utilities_01V*
Brief Description Interface Description
Fig.6-181:
Name VAR_INPUT Function value Dummy Version_ RIL_Utilit ies_01V* Specification Type
BOOL BOOL
Fig.6-182:
Version_RIL_Utilities_01V* interface
The "Version_RIL_Utilities_01V*" function restricts the use of "RIL_Utilit ies.lib" to the valid system as well as to a certain number of valid releases. The "Version_RIL_Utilities_01V*" function also shows the current release of "RIL_Utilities.lib" and contains an overview of all modifications made up to that point. "RIL_Utilities.lib" is available on several platforms (systems) in the "IndraLogic" programming system. Its functional range is adapted to the respective system.
Functional Description
If "RIL_Utilities.lib" is integrated in a project, the "Version_RIL_Utilities_01V*" function restricts the download of the whole project to the valid system as well as to a valid release, since the respective system function is not available on invalid systems or in invalid releases and can, therefore, not be addressed, see Message: Version check of the system failed. Verification of the system and the releases is active even if the "Version_RIL_Utilities_01V*" function is not used.
6)
Release
148/179
Libraries
Fig.6-183:
In addition to the version function, further functions are indicated as not existing for which reason they cannot be integrated in the proj ect. If the "Version_RIL_Utilities_01V*" function can be addressed without errors and if it was used, it constantly returns TRUE as the return value. The "Version_RIL_Utilities_01V*" function has no functional mean ing for parts of the library and does not need to be used in the project.
6.11.5
IL_HighResTimeTick
Brief Description Interface Description
The "IL_HighResTimeTick" function reads the high-resolution time tick of the system.
Fig.6-184:
Name VAR_INPUT Function value Enable IL_HighResTimeTick Specification Type
IL_HighResTimeTick
Comment Enable function processing (cyclic, status-controlled) High-resolution time tick of the system
BOOL UDINT
Fig.6-185:
IL_HighResTimeTick interface
The "IL_HighResTimeTick" and "IL_HighResTimeDiff" functions are used joint ly to determine the runtime of a code segment, see Application example of the IL_HighResTimeTick function. The return value of the "IL_HighResTimeTick" function should not be used as time value due to the special system-specific time basis.
Functional Description
After having been enabled for processing with "Enable", the "IL_HighResTime Tick" function cyclically reads the high-resolution time tick of the system.
149/179
Libraries
Example
Fig.6-186:
6.11.6
IL_HighResTimeDiff
Brief Description Interface Description
The "IL_HighResTimeDiff" function is used to calculate the time difference be tween two high-resolution time ticks of the system in microseconds.
Fig.6-187:
Name VAR_INPUT Enable HighResTimeTick1 HighResTimeTick2 Function value IL_HighResTimeDiff Type
IL_HighResTimeDiff
Comment Enable function processing (cyclic, status-controlled) High-resolution time tick of the system before the code segment High-resolution time tick of the system after the code segment Time difference between two high-resolution time ticks of the system in [us]
Fig.6-188:
Specification
IL_HighResTimeDiff interface
The "IL_HighResTimeDiff" function and the "IL_HighResTimeTick" function are used jointly to determine the runtime of a code segment, see IL_HighResTi meTick. Reading the high-resolution time tick requires approx. one to two microseconds depending on the system. If necessary, the user can add this time while determining the time difference.
Functional Description
After having been enabled for processing with "Enable", the "IL_HighResTime Diff" function cyclically calculates the time difference between two high-reso lution time ticks of the system in microseconds.
150/179
Libraries
6.11.7
IL_Date
Brief Description Interface Description
Fig.6-189:
Name VAR_INPUT RETURN Enable IL_Date Functional Description Type
IL_Date
Comment Enable function processing (cyclic, status-controlled) Current system date according to IEC 61131-3
BOOL DATE
Fig.6-190:
IL_Date interface
After having been enabled for processing with "Enable", the "IL_Date" function cyclically reads the system date which is formatted according to IEC 61131-3.
6.11.8
IL_TimeOfDay
Brief Description Interface Description
Fig.6-191:
Name VAR_INPUT RETURN Enable IL_TimeOfDay Functional Description Type
IL_TimeOfDay
Comment Enable function processing (cyclic, status-controlled) Current system time according to IEC 61131-3
BOOL TOD
Fig.6-192:
IL_TimeOfDay interface
After having been enabled for processing with "Enable", the "IL_TimeOfDay" function cyclically reads the system time which is formatted according to IEC 61131-3.
6.11.9
IL_DateAndTime
Brief Description Interface Description
The "IL_DateAndTime" function is used to read the current system date and time.
Fig.6-193:
Name VAR_INPUT RETURN Enable IL_DateAndTime Type
IL_DateAndTime
Comment Enable function processing (cyclic, status-controlled) Current system date and time according to IEC 61131-3
BOOL DT
Fig.6-194:
IL_DateAndTime interface
151/179
Libraries
Functional Description
After having been enabled for processing with "Enable", the "IL_DateAnd Time" function cyclically reads the current system date as well as the current system time according to IEC 61131-3 format.
6.11.10
IL_SysTime64
Brief Description Interface Description
The "IL_SysTime64" function block is used to read the current system date and time.
Fig.6-195:
Name VAR_INPUT VAR_OUTPUT Enable SysTime64 Type
IL_SysTime64
Comment Processing enable of the function block (cyclic, state-controlled) Current system date and time in microseconds since 1970-01-01
BOOL SYS_TIME64
Fig.6-196:
Functional Description
IL_SysTime64 interface
After having been enabled for processing with "Enable", the "IL_SysTime64" function block cyclically reads the current system date and time in microsec onds since 1970-01-01.
6.11.11
IL_SysTimeDate
Brief Description Interface Description
The "IL_SysTimeDate" function block is used to read the current system date and time.
Fig.6-197:
Name VAR_INPUT VAR_OUTPUT Enable SysTimeDate Type
IL_SysTimeDate
Comment Processing enable of the function block (cyclic, state-controlled)
BOOL
Fig.6-198:
Functional Description
After having been enabled for processing with "Enable", the "IL_SysTime Date" function block cyclically reads the current system date and the current system time in system format.
6.11.12
IL_ExtSysTimeDate
Brief Description
The "IL_ExtSysTimeDate" function block is used to read the current system date and time.
152/179
Libraries
Interface Description
Fig.6-199:
Name VAR_INPUT VAR_OUTPUT Enable ExtSysTimeDate Type
IL_ExtSysTimeDate
Comment Processing enable of the function block (cyclic, state-controlled)
BOOL
EXT_SYS_TIME_ Current system date and time in extended system format DATE
Fig.6-200:
Functional description
After having been enabled for processing with "Enable", the "IL_ExtSysTime Date" function block cyclically reads the current system date and the current system time in extended system format. The extended system format consists of the "SYS_TIME64" as well as "SYS_TIME_DATE" system formats.
6.11.13
IL_SysTime64ToSysTimeDate
Brief Description Interface Description
The "IL_SysTime64ToSysTimeDate" function block is used to convert the for mat of the system date and time.
Fig.6-201:
Name VAR_INPUT Enable SysTime64 VAR_OUTPUT SysTimeDate Type
IL_SysTime64ToSysTimeDate
Comment Processing enable of the function block (cyclic, state-controlled) System date and time in microseconds since 1970-01-01
BOOL SYS_TIME64
Fig.6-202:
Functional Description
After having been enabled for processing with "Enable", the "IL_SysTime64To SysTimeDate" function block cyclically converts the system data and time applied in microseconds to the "SysTime64" input (basis: 1970-01-01) to the system date and time in system format.
6.11.14
IL_SysTimeDateToSysTime64
Brief Description Interface Description
The "IL_SysTimeDateToSysTime64" function block is used to convert the for mat of the system date and time.
Fig.6-203:
IL_SysTimeDateToSysTime64
153/179
Libraries
Name VAR_INPUT Enable SysTimeDate VAR_OUTPUT SysTime64 Type BOOL Comment Processing enable of the function block (cyclic, state-controlled)
SYS_TIME_DATE System date and time in system format SYS_TIME64 System date and time in microseconds since 1970-01-01
Fig.6-204:
Functional Description
After having been enabled for processing with "Enable", the "IL_SysTimeDa teToSysTime64" function block cyclically converts the system date and time applied to the "SysTimeDate" input in system format to the system date and time in microseconds (basis: 1970-01-01).
6.12
6.12.1
RIL_VExUtil.lib
IL_VExKeys
Brief Description
With the IL_VExKeys function block the user can safely transmit the keystrokes on an HMI device to the control. The connection occurs via UDP. Each time when the function block is called, the last data is copied. If the connection is interrupted, all outputs are reset to 0. Thus, the user is able to program safe properties, whereby in the output data of the function block the safety mode is assigned to 0.
Interface Description
Fig.6-205:
Name VAR_IN_OUT Data IPAddress VAR_INPUT VAR_OUTPUT Enable Type
ARRAY [0..7] OF BYTE Contains data as byte array. The meaning of the particular bit is described in the documentation of the HMI. STRING(25) BOOL Entered IP address "." notation, e.g. "10.104.73.193" As long as the input is TRUE, the data is permanently updated. If it is inactive, the output data are all 0. If TRUE, the output data are valid and are updated. Indicates that an error has occurred within the function block. The output data are all set to 0. Error recognition (see next table "Error codes"). Error structure with further division of the errors.
Fig.6-206:
Error Messages
The function block generates the following error messages in Additional1/Ad ditional2 for table "MLC_ETHERNET":
154/179
Libraries
ErrorID INPUT_INVALID_ERROR (16#0001) COMMUNICATION_ERROR (16#0002) DEVICE_ERROR (16#0008) STATE_MACHINE_ERROR (16#0005) Additional1 10 11 12 1 Additional2 0 0 0 0 Description Wrong IP syntax Unknown IP address or no connection Invalid internal buffer size Invalid status of the state machine
Fig.6-207:
155/179
7
7.1
7.2
Fig.7-1:
Operating Keys Key <Esc> <Down> (down arrow) <Up> (up arrow) <Enter>
The four keys below the display have the following functions:
Fig.7-2:
7.3
Fig.7-3:
156/179
The reset button resets the entire assembly and initiates a mandatory restart without the supply voltages having to be switched off. The reset button can only be pressed using a tool, for instance with the tip of a pencil. A reset interrupts processing of a running program!
STOP LED
Fig.7-4:
7.4
7.4.1
7.4.2
General Information
157/179
Fig.7-5:
Default Display
"INIT": PLC boots. "PLC: RUN": Normal mode. PLC is running. "RI" or "DP" is flashing: An Inline (RI) or Profibus DP error (DPM: master; DPS: slave) is present. For details on the Inline error, refer to the "Inline mode" menu; for details on the Profibus DP error, refer to the "Onboard DP mode" menu. If several errors are present, only the error with the highest priority is displayed. "IL:" flashing: a user output is present. This output can be displayed through the "IL app. display" menu.
158/179
Display and Operating Components Press the <Enter> key to go to the "Default menu".
PLC Mode
Indicates the current PLC state. Press the <Enter> key to go to the "PLC menu".
Inline Mode
Indicates an active Rexroth Inline error. Example: "RI: Rexroth Inline configuration error at module: xxx"
Onboard DP Mode
DPM:..": (only when the IndraLogic L20 DP is used as Profibus master with the onboard DP interface X7P) indicates the Profibus state of the master. DPS:..": (only when the IndraLogic L20 DP is used as Profibus slave with the onboard DP interface X7P) indicates the Profibus state of the slave. Press the <Enter> key to go to the "Profibus DP menu".
IL Appl. Display
Indicates a present IndraLogic user output, also see chapter 6.4.3 "IH_Set Display " on page 82 .
7.4.3
Default Menu
After the default menu has been called from the default display with the <En ter> key, the "Ethernet" menu item is displayed. Use the <up>, <down>, <Enter> and <Esc> keys to switch between the various menu items and menu levels.
General Information
159/179
Fig.7-6:
Ethernet
Allows displaying/setting of the IP address, subnet mask and default gateway. Moreover, you will find the MAC address here.
160/179
Display and Operating Components For more information about the setting, please refer to Setting the IP address, subnet mask and default gateway.
161/179
Fig.7-7:
162/179
Display and Operating Components 1. To edit an address, press the <Enter> key while the current address is displayed. The display shows "AAA:" which identifies the first address byte, followed by its current decimal value. 2. 3. Set the desired value with the <up> and <down> keys. Acknowledge your setting with <Enter>. The display shows "BBB:" which identifies the second address byte, fol lowed by its current decimal value. 4. Set the remaining address bytes (CCC, DDD) as described above. After you have acknowledged the last setting, the system displays "OK ?" asking you whether the new address value is to be applied. 5. Confirm with <Enter>, the new address value will be displayed, written to the die Compact Flash card and used on the next start of the control. If this is not desired, you can reject the change with <Esc>. Then, the pre vious address value remains active.
RS 232
The "RS 232" menu item defines how the onboard RS232 interface (X3C) will be used. The RS232 interface can only be used for one operating mode (Commserver, user interface or programming interface). Its use must be set on the display. A different setting will not become active before the control is re started.
COM SERV The "COM_USER" mode provides communication with the compact operator terminal. Configuration of the interface is assumed by the compact operator terminal. In the "COM_USER" mode, the serial interface can be used for data input and output from the PLC program (application). This can be achieved with the appropriate functions from the "SysLibCom.lib" li brary. For communication with a programming device. In the "COM_PROG" mode, the serial interface can be used as al ternative programming device interface. To achieve this, the RS232 interface must be selected from the communication settings (3S ser rial RS232 driver), see the chapter on "Communcation Settings".
COM USER
COM PROG
After having applied an edited setting, switch the IndraLogic L20 DP off and on again. Only thereafter will the settings become ef fective.
Firmware
The "Firmware" menu item displays the version number of the installed firm ware.
Temp.
The "Temp." menu item displays the internal temperature of the IndraLogic L20 DP. If the internal temperature reaches 80 C, the control automatically switches to stop mode, switches the outputs to the safe status and displays the "Temp !!!" warning. This mode can only be exited by switching the power supply off and on again.
163/179
Display and Operating Components Before restarting the control after overheating, you should find the cause of the problem. Ensure that the ambient temperature of the IndraLogic L20 DP is not higher than 45 C. The IH_Temperature library function (see device-specific "RIL_Lxx_Util" library) allows programm-controlled reading of the internal temperature of the IndraLogic L20 DP. Thus, critical tem perature rises can be detected at an early stage and measures can be taken to avoid an over-temperature.
OHC CTRL
The "OHC CTRL" menu item displays the value of the operating hours meter of the IndraLogic L20 DP.
7.4.4
PLC Menu
After the PLC menu has been called with the <Enter> key, the "PLC mode" menu displays the "OUTP ON" or "OUTP OFF" menu item. Use the <up>, <down>, <Enter> and <Esc> keys to switch between the various menu items and menu levels.
General Information
Fig.7-8:
164/179
The same functions can be activated by "Start" and "Stop" at a connected programming device. Please note that if, e.g., PLC STOP has been activated at the IndraLogic L20 DP, it can also be cancelled at the programming device.
PLC PROJ
Displays name, creation date and size of the currently loaded PLC project.
7.4.5
Profibus-DP Menu
After the Profibus DP menu has been called with the <Enter> key in the "On board DP mode" menu, detailed information on some Profibus DP settings can be displayed. Use the <up>, <down>, <Enter> and <Esc> keys to switch between the various menu items and menu levels.
General Information
165/179
Fig.7-9:
DP Master/Slave
Displays whether the onboard DP interface IndraLogic L20 DP is parameterized as master ("DP-MAST") or as slave (DP-SLAVE).
7.4.6
General Information
Bootproj
The "Bootproj" function deletes the boot project stored on the Compact Flash card (corresponds to the "Reset (origin)" IndraLogic function). The function of deleting the boot project should be used in excep tional cases only (e.g. if the control fails to start because of a faulty boot project).
166/179
Press <Esc> to exit the boot menu without deleting the boot project Press <Enter> twice to delete the boot project and then <Esc> to exit the boot menu. This will open the default display of the IndraLogic L20 DP.
7.5
7.5.1
Depending on the rights (refer to user management), not all pages are dis played to every user. The writing rights of individual pages ( "Network config uration" or "Diagnostics" for example) are restricted for some users.
7.5.2
Browser Settings
In order to display the IndraControl Service Tools correctly and to ensure that all functions are available, some security setting changes are required. As ex ample, the following list shows the required settings (security settings for the web content zone) for the Internet Explorer 6:
Function Execute ActiveX control elements secure for the scripting Setting Activate
Initialize and execute ActiveX control elements that are not Prompt secure Execute ActiveX control elements and plug-in Automatic prompt for ActiveX control elements Binary behavior and script behavior Download of ActiveX control elements with sign Download of ActiveX control elements without sign Active Scripting Permit insert operations via a script Activate Activate Activate Prompt Activate Activate Activate
Fig.7-10:
This function uses popups.Therefore, they may not be blocked for the IP ad dress of the control.
167/179
7.5.3
Login
Fig.7-11:
Login
The user name and a password are to be entered on the first page. The fol lowing user names and passwords are already assigned when delivered from the supplier:
User administrator service user Password rexroth service user
Fig.7-12:
Language of the application Save login information
The language of the application can be set via the selection field "Language selection". German and English are currently available. With the option "Save login information" the login data is saved locally as "Cookie".
7.5.4
Symbols
Symbol Description Click on interface in order to hide the tree view of the IndraControl service tool. The display device indicates that PLC is running. The display device indicates that PLC is in stop state. Click on interface in order to get diagnostic information on the PLC (also refer to chapter 7.5.7 " Diagnostics " on page 169).
168/179
7.5.5
Network Configuration
Fig.7-13:
The page "Network configuration " displays the following network parameters: MAC address IP address Subnet mask Default gateway
Apart from the MAC address, all values can be edited if the rights are given to the current user. To change these parameters, set the curser in the requested field using the mouse. The highlighted presentation shows the modified values. The modified values are applied after closing the network configuration and after a question for confirmation. To activate the modified values for the control, restart the control.
7.5.6
Hardware Overview
Fig.7-14:
The page "Hardware overview" provides the following information: Part short text of the hardware Change index Serial number Firmware version Board support package Technology function Type and status, hardware, part number, serial number and index of the function modules
169/179
Display and Operating Components Temperature specifications (current and maximum temperature, fan sta tus and temperature warning) Operating hours meter of the control as well as of the fan
7.5.7
Diagnostics
Fig.7-15:
The page "Diagnostics" provides information on the PLC project as well as several PLC operating functions. The following information is shown. The user or the creator as well as the project name of the project currently loaded in the IndraControl. Inline status Profibus status Status of the equipped function modules Status of the PLC Display of the PLC user string
The following PLC operating functions are available if the rights were given to the current user: Starting and stopping the PLC Blocking and unblocking of outputs Deleting the boot project Restarting the PLC
7.5.8
Variable Editor
Requirements
The following preconditions have to be fulfilled before using the variable editor. Double click on "PLC_PRG" in the project tree of your device. The Indra Logic programming platform opens. Select in the main menu Project Options. Select "Symbol configura tion" in the options dialog. Tick "Create symbol entries". Click on "Configure symbol file...". The dialog "Set objects attributes" opens. Select the variables you want to edit in the variable editor. Subse quently tick "Display object variables" (refer to fig. 7-16 "Set dialog object attributes" on page 170). Confirm your entry by clicking on "OK".
170/179
Fig.7-16:
The variable editor provides the possibility to edit single PLC variables. The icon name of the variable is entered in the field "Variable" and confirmed using "Enter". If the input of the variable name is correct, the field "value" shows the current value. This value can be modified and transferred to the control using "Enter". The new value is immediately applied by the control.
Fig.7-17:
7.5.9
User Management
Fig.7-18:
171/179
Display and Operating Components The page "User Management" provides the opportunity to assign certain rights for the pages listed. Select the user on the left of the Explorer. Assign the rights "View" and "Change" on the right. Save the settings using the "Save" button. Changing the passwords of single users and deleting existing users are part of the basic functions. In order to add or delete a new user profile or change the password, right click on an empty spot in the Exploror in the user profiles.
Add User
New users can be defined via the Explorer contex menu using the comman "Add user". The entry dialog "Add User" opens.
Entry field User name Password Confirm password Description Enter your user name. Enter a safe password for the new user. Confirm the password.
Confirm your entry by clicking on "OK". The new user is displayed in the Ex plorer.
Delete User
New users can be deleted via the Explorer context menu using the command "Delete user". A dialog asks you if you really want to delete the user. Confirm your entry by clicking on "OK". A new passoword can be entered via the Explorer context menu using the command "Change password". The entry dialog "Change password" opens.
Entry field Old password New password Confirm New Password Description Enter your old password. Enter your new password. Confirm your new password.
Change Password
Confirm your entry by clicking on "OK". The new password is activated imme diately.
173/179
Technical Data
8
8.1
Technical Data
Equipment
IndraLogic L20 DP-DPM-04VRS Processor Random access memory (RAM) Interfaces: Interface to functional modules Interface to I/O modules Communication interfaces Inputs and outputs Bosch Rexroth PC104Plus Rexroth Inline interface 1 x Ethernet connection (RJ 45, 10/100 Base-T) 1 x serial RS 232 interface 1 x PROFIBUS DP master-slave interface 8 electrically isolated digital inputs 8 electrically isolated digital outputs National Geode SC1200 with at least 266 MHz At least 32 Mbytes DRAM and at least 64 Kbytes NvRAM
Fig.8-1:
Equipment
8.2
Performance Data
IndraLogic L20 DP-DPM-04VRS User memory for program code User memory for data Remanent memory Number of tasks Processing time, typical (1000 instructions in IL, bit and word commands mixed) Profibus DP master according to IEC 61158-3 2 Mbytes 2 Mbytes 64 kbytes 8 150 s
Fig.8-2:
Performance data
175/179
9
9.1
9.2
Service Hotline
Out of helpdesk ours please contact our German service department directly: +49 (0) 171 333 88 26 or +49 (0) 172 660 04 06 Hotline numbers for other countries can be found in the addresses of each region on the Internet (see below).
9.3
Internet
Additional notes regarding service, maintenance and training, as well as the current addresses of our sales and service offices can be found on http://www.boschrexroth.com Outside Germany please contact our sales/service office in your area first.
9.4
Helpful Information
For quick and efficient help please have the following information ready: detailed description of the fault and the circumstances Information on the name plate of the affected products, especially type codes and serial numbers Your phone and fax numbers and E-mail address, so we can contact you in case of questions.
177/179
Index
Index
A
Address verification 74 Alignment for I/O addresses 65 Appropriate use 3 Case of application 3 DP_DEVICELIST structure 128 DP_ID 123 DP_MASTERINFO structure 128 DP_RDIAG 114 DP_RDIAG_EXT 115 DP_RDREC 116 DP_SLAVELIST structure 128 DP_SLOT 123 DP_SYCFR 120 DP_WRREC 117 DP-Master/slave (menu) 165 DPV1 services 107 Drives, synchronize 120
BmError 112 BMF_BUS_ERR 112 BMF_HW_ERR 112 BMF_MPS_ERR 112 BMF_SW_ERR 112 BMS_AKTIV 112 BMS_BMF 111 BMS_DPS 112 BMS_EXD 112 BMS_KSD 111 BMS_SD 111 BMS_SF 112 BMS_SKF 112 BMS_SNB 112 BMS_SNE 112 BmState 111 Boot menu 165 Bootproj 165 Boot project 74 Bosch controls of the CL series 76 BuepE_Client 76 Bus master error word 112, 118 Bus master status word 111, 119
Equipment 173 Error_Code_DP 145 Error_Code_FDL 145 Error_Code_OB 144 ErrorAdditional1 143 ErrorAdditional2 143 ErrorID 141 ErrorIdent 141 ErrorTable 142 Ethernet/IP slave configuration 49 Ethernet (menu) 159
CheckExceedingOccurred 84 Classified slave diagnostics 113 CL control 76 Communication settings 19 Compact operator terminal 79 Compatible IEC programming 62 Compiler instruction 64 Configuring modules of a Profibus DP slave 42 Configuring Profibus DP slaves 37 Creating a new IndraLogic L20 device 15 Creating a PLC program 61
Default display 157 Default menu 158 Deleting the boot project 165 Diagnostic information 108 Diagnostics 169 Display 155 Display components 155 Display DP baud rate (menu) 165 Display DP-M/S address (menu) 165 DP_ADDR 122
FBD_PDT_NONE 111 FBD_PDT_PCI_BMCAN 111 FBD_PDT_PCI_BMDP 111 FBD_PDT_PCI_BMIBS 111 fbdBaudrateGet 118 fbdBmErrorGet 118 fbdBmInfoGet 118 fbdBmStateGet 119 fbdKsdListGet 119 fbdPdTypeGet 119 fbdPrjSlaveListGet 120 fbdSlaveDiagListGet 120 Field bus configuration as master 33 Field bus configuration as slave 44 Field bus diagnostics 110 Firmware (menu) 162 Firmware management 71 FM_Error_Code 143 Freeze 108, 120 Functions 122
178/179
Index
IH_GetOhcCtrl 81 IH_SetDisplay 82 IH_Temperature 83 IH_TempWarning 83 IL_App display 158 IL_Date 150 IL_DateAndTime 150 IL_DPBaudrateGet 137 IL_DPDeviceListGet 136 IL_DPDevInfoGet 138 IL_DPIdent 129 IL_DPPrjSlaveGet 139 IL_DPReadDiag 133 IL_DPSlaveDiagListGet 140 IL_DPSycFr 134 IL_DPV1Read 130 IL_DPV1Write 131 IL_ExtSysTimeDate 151 IL_GetTemp 91 IL_HighResTimeDiff 149 IL_HighResTimeTick 148 IL_InlineCfgDiagData 99 IL_InlineDiagCfgChk 101 IL_InlineDiagGlobalStatus 96 IL_InlineDiagMasterBus 105 IL_InlineDiagMasterFatal 106 IL_InlineDiagModulImage 98 IL_InlineDiagModulNext 103 IL_InlineDiagModulPosi 102 IL_SysTime64 151 IL_SysTime64ToSysTimeDate 152 IL_SysTimeDate 151 IL_SysTimeDateToSysTime64 152 IL_TempWarning 91 IL_TimeOfDay 150 IL_VCP_DP 79 IL_VExKeys 153 Importing IndraLogic project data 72 Inappropriate use, 4 Consequences, exclusion of liability 3 IndraControl L20 1 IndraLogic 1 IndraLogic functions 73 IndraLogic settings 73 IndraWorks 1 IndraWorks HMI 1 Inline mode 158 Inline modules 30 Inserting an EthernetIP slave object 24 Inserting modules in a Profibus DP slave 41 Inserting Profibus DP slaves 36
Libraries 75 Library Manager 59 Loading Configurations and PLC program 66 Lock menu 74 Login 66, 167
Offline mode 74 OHC CTRL (menu) 163 Onboard DP mode 158 Onboard I/O 26 Online functions 67 Operating components 155 Operating hours meter 163 Operating keys 155 Optimized IndraLogic call 74 OUTP ON / OUTP OFF (menu) 164
PDT_NONE 119 PDT_PCI_BMCAN 119 PDT_PCI_BMDP 119 PDT_PCI_BMIBS 119 Performance data 173 PLC menu 163 PLC mode 158 PLC programming 55 PLC PROJ (menu) 164 PLC RUN / PLC STOP (menu) 164 Pragma pack 64 Profibus Diagnostic information 108 Freeze 35, 40 Group assignment 35, 40 Master 107 Sync 35, 40 Sync and freeze 108 Vendor-specific data 39, 44 Profibus DP master configuration 33 Profibus DP menu 164 Profibus DP slave configuration 44 Project planning and programming 15
179/179
Index RIL_L40_Util 91 RIL_ProfibusDP 107 RIL_Utilities 146 RS232 (menu) 162 Type of addressing 18
Safety instructions for electric drives 5 Safety mode 73 Saving project data 62 Service Tool 166 Slave diagnostics 108 Specifying basic settings (wizard-guided) 16 State-of-the-art 3 STOP LED 155 Structures to I/O addresses 66 Substitute constants 74 Symbol file 74 Sync 108, 121 System overview 1
Unfreeze 121 Unsync 121 Updating the control firmware 71 Use Appropriate use 3 Inappropriate use 4 User management 170 Using of pointers within structures 63
Target Manager 1 Target settings 57 Target Support Package 1 Target system files 1 Task configuration 58 Technical data 173 Temp. (menu) 162 tFBD_BIT_LIST 112 tFBD_BM_INFO 111 tFBD_KSD_LIST 113 TSP 1
Variable editor 169 VCP_PBS16_A4096 79 VCP_PBS32_A4096 80 VCP_PBS32_A65536 80 Version_RIL_Inline_01V01 96 Version_RIL_ProfibusDP_02_01V00 129 Version_RIL_Utilities_01V* 147 VI-Composer 79, 80, 81
Web-based IndraControl Service Tool 166 Diagnostics 169 Hardware overview 168 Login 167 Network configuration 168 User management 170 Variable editor 169 WinStudio 1
Notes
Bosch Rexroth AG Electric Drives and Controls P.O. Box 13 57 97803 Lohr, Germany Bgm.-Dr.-Nebel-Str. 2 97816 Lohr, Germany Phone +49 (0)93 52-40-50 60 Fax +49 (0)93 52-40-49 41 service.svc@boschrexroth.de www.boschrexroth.com
R911323260