LON_32

LON_32

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

LON driver for connecting to LON bus systems.

Other topics in this chapter

LON_32 - Data sheet

Driver history

Requirements

Configuration

Creating variables

Driver-specific functions

Driver commands

Error analysis


LON_32 - Data sheet

LON_32 -> LON_32 - Data sheet

General: |
Driver file name | LON_32.exe
Driver name | LON
PLC types | LON nodes
PLC manufacturer | LON; Echelon;

Driver supports: |
Protocol | Lon Bus;
Addressing: Address-based | --
Addressing: Name-based | X
Spontaneous communication | --
Polling communication | X
Online browsing | X
Offline browsing | --
Real-time capable | --
Blockwrite | --
Modem capable | --
Serial logging | --
RDA numerical | --
RDA String | --
Hysteresis | --
extended API | --
Supports status bit WR-SUC | --
alternative IP address | --

Requirements: |
Hardware PC | Special slot card (e.g. PCLTA-10 from Echelon); Standard network card via iLON 10 adapter.
Software PC | Parameterisation software LNS (LON Maker)
Hardware PLC | --
Software PLC | --
Requires v-dll | X

Platforms: |
Operating systems | Windows 7, 8, 8.1, 10, Server 2008R2, Server 2012, Server 2012R2, Server 2016;
CE platforms | -;


Driver history

LON_32 -> Driver history

Date | Driver version | Change
07.07.08 | 800 | Created driver documentation

Driver versioning

The versioning of the drivers was changed with zenon 7.10. There is a cross-version build number as of this version. This is the number in the 4th position of the file version,
For example: 7.10.0.4228 means: The driver is for version 7.10 service pack 0, and has the build number 4228.

Expansions or error rectifications will be incorporated into a build in the future and are then available from the next consecutive build number.

Example Example

A driver extension was implemented in build 4228. The driver that you are using is build number 8322. Because the build number of your driver is higher than the build number of the extension, the extension is included. The version number of the driver (the first three digits of the file version) do not have any significance in relation to this. The drivers are version-agnostic


Requirements

LON_32 -> Requirements

This chapter contains information on the requirements that are necessary for use of this driver.

Other topics in this chapter

PC


PC

LON_32 -> Requirements -> PC

Copy the driver LON_32.EXE and LonVar32.DLL to the current zenon directory (if they do not already exist there).


Configuration

LON_32 -> Configuration

In this chapter you will learn how to use the driver in a project and which settings you can change.

info Information

Find out more about further settings for zenon variables in the chapter Variables of the online manual.

Other topics in this chapter

Creating a driver

Settings in the driver dialog


Creating a driver

LON_32 -> Configuration -> Creating a driver

In the Create driver dialog, you create a list of the new drivers that you want to create.

Parameter | Description
Available drivers | List of all available drivers. The display is in a tree structure: [+] expands the folder structure and shows the drivers contained therein. [-] reduces the folder structure Default: no selection
Driver name | Unique Identification of the driver. Default: Empty The input field is pre-filled with the pre-defined Identification after selecting a driver from the list of available drivers.
Driver information | Further information on the selected driver. Default: Empty The information on the selected driver is shown in this area after selecting a driver.

Close dialog

Option | Description
OK | Accepts all settings and opens the driver configuration dialog of the selected driver.
Cancel | Discards all changes and closes the dialog.
Help | Opens online help.

info Information

The content of this dialog is saved in the file called Treiber_[Language].xml. You can find this file in the following folder: C:\ProgramData\COPA-DATA\zenon[version number].

Create new driver

In order to create a new driver:

  1. Right-click on Driver in the Project Manager and select New driver in the context menu.
    Optional: Select the New driver button from the toolbar of the detail view of the Variables.
    The Create driver dialog is opened.
  2. The dialog offers a list of all available drivers.

  3. Select the desired driver and name it in the Driver name input field.
    This input field corresponds to the Identification property. The name of the selected driver is automatically inserted into this input field by default.
    The following is applicable for the Driver name:
    • The Driver name must be unique.
      If a driver is used more than once in a project, a new name has to be given each time.
      This is evaluated by clicking on the OK button. If the driver is already present in the project, this is shown with a warning dialog.
    • The Driver name is part of the file name.
      Therefore it may only contain characters which are supported by the operating system. Invalid characters are replaced by an underscore (_).
    • Attention: This name cannot be changed later on.
  4. Confirm the dialog by clicking on the OK button.
    The configuration dialog for the selected driver is opened.

Note: The language of driver names cannot be switched. They are always shown in the language in which they have been created, regardless of the language of the Editor. This also applies to driver object types.

Driver name dialog already exists

If there is already a driver in the project, this is shown in a dialog. The warning dialog is closed by clicking on the OK button. The driver can be named correctly.

<CD_PRODUCNTAME> project

The following drivers are created automatically for newly-created projects:

  • Intern
  • MathDr32
  • SysDrv

info Information

Only the required drivers need to be present in a zenon project. Drivers can be added at a later time if required.


Settings in the driver dialog

LON_32 -> Configuration -> Settings in the driver dialog

You can change the following settings of the driver:

Other topics in this chapter

General

Driver dialog LON settings


General

LON_32 -> Configuration -> Settings in the driver dialog -> General

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

The configuration dialog is opened when a driver is created. In order to be able to open the dialog later for editing, double click on the driver in the list or click on the Configuration property.

Option

Description

Mode

Allows to switch between hardware mode and simulation mode

  • Hardware:
    A connection to the control is established.
  • Simulation - static:
    No communication between to the control is established, the values are simulated by the driver. In this modus the values remain constant or the variables keep the values which were set by zenon Logic. Each variable has its own memory area. E.g. two variables of the type marker with offset 79 can have different values in the Runtime and do not influence each other. Exception: The simulator driver.
  • Simulation - counting:
    No communication between to the control is established, the values are simulated by the driver. In this modus the driver increments the values within a value range automatically.
  • Simulation - programmed:
    No communication is established to the PLC. The values are calculated by a freely programmable simulation project. The simulation project is created with the help of the zenon Logic Workbench and runs in a zenon Logic Runtime which is integrated in the driver. For details see chapter Driver simulation.

Keep update list in the memory

Variables which were requested once are still requested from the control even if they are currently not needed.
This has the advantage that e.g. multiple screen switches after the screen was opened for the first time are executed faster because the variables need not be requested again. The disadvantage is a higher load for the communication to the control.

Output can be written

Active: Outputs can be written.

Inactive: Writing of outputs is prevented.

Note: Not available for every driver.

Variable image remanent

This option saves and restores the current value, time stamp and the states of a data point.

Fundamental requirement: The variable must have a valid value and time stamp.

The variable image is saved in mode hardware if:

  • one of the states S_MERKER_1(0) up to S_MERKER8(7), REVISION(9), AUS(20) or ERSATZWERT(27) is active

The variable image is always saved if:

  • the variable is of the driver object type Communication details
  • the driver runs in simulation mode. (not programmed simulation)

The following states are not restored at the start of the Runtime:

  • SELECT(8)
  • WR-ACK(40)
  • WR-SUC(41)

The mode Simulation - programmed at the driver start is not a criterion in order to restore the remanent variable image.

Stop on Standby Server

Setting for redundancy at drivers which allow only one communication connection. For this the driver is stopped at the Standby Server and only started at the upgrade.

Attention: If this option is active, the gapless archiving is no longer guaranteed.

Active: Sets the driver at the not-process-leading Server automatically in a stop-like state. In contrast to stopping via driver command, the variable does not receive status switched off but an empty value. This prevents that at the upgrade to the Server irrelevant values are created in the AML, CEL and Historian.

Note: Not available if the CE terminal serves as a data server. You can find further information in the zenon Operator manual in the CE terminal as a data server chapter.

Global Update time

Active: The set Global update time in ms is used for all variables in the project. The priority set at the variables is not used.
Inactive: The set priorities are used for the individual variables.

Priority

The polling times for the individual priority classes are set here. All variables with the according priority are polled in the set time.

The variables are allocated separately in the settings of the variable properties.
The communication of the individual variables can be graded according to importance or required topicality using the priority classes. Thus the communication load is distributed better.

Attention: Priority classes are not supported by each driver For example, drivers that communicate spontaneously do not support it.

Close dialog

Options | Description
OK | Applies all changes in all tabs and closes the dialog.
Cancel | Discards all changes in all tabs and closes the dialog.
Help | Opens online help.

Update time for cyclical drivers

The following applies for cyclical drivers:

For Set value, advising of variables and Requests, a read cycle is immediately triggered for all drivers - regardless of the set update time. This ensures that the value is immediately available for visualization after writing. Update times can therefore be shorter than pre-set for cyclical drivers.


Driver dialog LON settings

LON_32 -> Configuration -> Settings in the driver dialog -> Driver dialog LON settings

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Parameter

Description

Connection

Connection to the LON network: local or remote.

Network interface

Name of the NSI to connect to the network.

Network

Name of the network database.

Allocation file

Name of the file, in which the network information is stored.

Note: This file is created automatically by the driver. There is no need to create this manually.

As soon as the LON network has been selected, the information from the network database is read and the information about the individual network participants is shown in the list.

The LonMaker software does not need to be running when the network is selected. Only the LNS ObjectServer needs to be registered. This registration is carried out automatically when the LonMaker software is installed.

The list is saved automatically under the given name when the dialog is closed.


Creating variables

LON_32 -> Creating variables

This is how you can create variables in the zenon Editor:

Other topics in this chapter

Creating variables in the Editor

Addressing

Driver objects and datatypes

Creating variables by importing

Communication details (Driver variables)


Creating variables in the Editor

LON_32 -> Creating variables -> Creating variables in the Editor

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Variables can be created:

  • as simple variables
  • in arrays
  • as structure variables

Variable dialog

To create a new variable, regardless of which type:

  1. Select the New variable command in the Variables node in the context menu

    The dialog for configuring variables is opened

  2. Configure the variable
  3. The settings that are possible depends on the type of variables

Property

Description

Name

Distinct name of the variable. If a variable with the same name already exists in the project, no additional variable can be created with this name.

Maximum length: 128 characters

Attention: The characters # and @ are not permitted in variable names. If non-permitted characters are used, creation of variables cannot be completed and the Finish button remains inactive.
Note: For some drivers, the addressing is possible over the property Symbolic address, as well.

Drivers

Select the desired driver from the drop-down list.

Note: If no driver has been opened in the project, the driver for internal variables (Intern.exe) is automatically loaded.

Driver Object Type

Select the appropriate driver object type from the drop-down list.

Data Type

Select the desired data type. Click on the ... button to open the selection dialog.

Array settings

Expanded settings for array variables. You can find details in the Arrays chapter.

Addressing options

Expanded settings for arrays and structure variables. You can find details in the respective section.

Automatic element activation

Expanded settings for arrays and structure variables. You can find details in the respective section.

Symbolic address

The Symbolic address property can be used for addressing as an alternative to the Name or Identification of the variables. Selection is made in the driver dialog; configuration is carried out in the variable property. When importing variables of supported drivers, the property is entered automatically.

Maximum length: 1024 characters.

Inheritance from data type

Measuring range, Signal range and Set value are always:

  • derived from the datatype
  • Automatically adapted if the data type is changed

Note for signal range: If a change is made to a data type that does not support the set signal range, the signal range is amended automatically. For example, for a change from INT to SINT, the signal range is changed to 127. The amendment is also carried out if the signal range was not inherited from the data type. In this case, the measuring range must be adapted manually.


Addressing

LON_32 -> Creating variables -> Addressing

Property

Description

Name

Freely definable name.

Attention: For every zenon project the name must be unambiguous.

Identification

Freely definable identification.
E.g. for Resources label, comments, ...

Net address

Bus address or net address of the variable.

This address refers to the bus address in the connection configuration of the driver. This defines the PLC, on which the variable resides.

Data block

For variables of object type Extended data block, enter the datablock number here.

Adjustable from 0 to 4294967295.

You can take the exact maximum area for data blocks from the manual of the PLC.

Offset

Offset of variables. Equal to the memory address of the variable in the PLC. Adjustable from 0 to 4294967295.

Most S7 controllers support a maximum offset of 65535. You can look up the exact maximum range for each data block in the manual of the PLC.

Alignment

not used for this driver

Bit number

Number of the bit within the configured offset.

Possible entries: 0 to 65535.
Working range [0 ... 7]

String length

Only available for String variables.
Maximum number of characters that the variable can take.

Driver connection/Driver Object Type

Object type of the variables. Depending on the driver used, is selected when the variable is created and can be changed here.

Driver connection/Data Type

Data type of the variable. Is selected during the creation of the variable; the type can be changed here.

Attention: If you change the data type later, all other properties of the variable must be checked and adjusted, if necessary.

Driver connection/Priority

not used for this driver The driver does not support cyclically-poling communication in priority classes.


Driver objects and datatypes

LON_32 -> Creating variables -> Driver objects and datatypes

Driver objects are areas available in the PLC, such as markers, data blocks etc. Here you can find out which driver objects are provided by the driver and which IEC data types can be assigned to the respective driver objects.

Other topics in this chapter

Driver objects

Mapping of the data types


Driver objects

LON_32 -> Creating variables -> Driver objects and datatypes -> Driver objects

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

The following driver object types are available in this driver:

Objects for process variables in zenon

Object | Read | Write
Configuration |  |
Bit variable | X | X
Byte variable | X | X
Word variable | X | X
Doubleword variable | X | X
Float variable | X | X
String variable | X | X

Key:

X => supported

-- => not supported

Selection

Use the button Select to take over the settings of the process variables from the definitions read from the configuration in the network database.
When taking over network variables from the network database, the measuring ranges and units will also be taken over.


Mapping of the data types

LON_32 -> Creating variables -> Driver objects and datatypes -> Mapping of the data types

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

All variables in zenon are derived from IEC data types. The following table compares the IEC datatypes with the datatypes of the PLC.

PLC | zenon | Data type
 | BOOL | 8
 | USINT | 9
 | SINT | 10
 | UINT | 2
 | INT | 1
 | UDINT | 4
 | DINT | 3
 | ULINT | 27
 | LINT | 26
 | REAL | 5
 | LREAL | 6
 | STRING | 12
 | WSTRING | 21
 | DATE | 18
 | TIME | 17
 | DATE_AND_TIME | 20
 | TOD (Time of Day) | 19

Data type: The property Data type is the internal numerical name of the data type. It is also used for the extended DBF import/export of the variables.


Creating variables by importing

LON_32 -> Creating variables -> Creating variables by importing

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Variables can also be imported by importing them. The XML and DBF import is available for every driver.

info Information

You can find details on the import and export of variables in the Import-Export manual in the Variables section.

Other topics in this chapter

XML import

DBF Import/Export


XML import

LON_32 -> Creating variables -> Creating variables by importing -> XML import

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

During XML import of variables or data types, these are first assigned to a driver and then analyzed. Before import, the user decides whether and how the respective element (variable or data type) is to be imported:

  • Import: The element is imported as a new element.
  • Overwrite: The element is imported and overwrites a pre-existing element.
  • Do not import: The element is not imported.

Note: The actions and their durations are shown in a progress bar during import.

Requirements

The following conditions are applicable during import:

  • Backward compatibility

    At the XML import/export there is no backward compatibility. Data from older zenon versions cannot be taken over. The handover of data from newer to older versions is not supported.

  • Consistency

    The XML file to be imported has to be consistent. There is no plausibility check on importing the file. If there are errors in the import file, this can lead to undesirable effects in the project.

    Particular attention must be paid to this, primarily if not all properties exist in the XML file and these are then filled with default values. E.g.: A binary variable has a limit value of 300.

  • Structure data types

    Structure data types must have the same number of structure elements.
    Example: A structure data type in the project has 3 structure elements. A data type with the same name in the XML file has 4 structure elements. Then none of the variables based on this data type in the export file are imported into the project.

Tipp Hint

You can find further information on XML import in the Import - Export manual, in the XML import chapter.


DBF Import/Export

LON_32 -> Creating variables -> Creating variables by importing -> DBF Import/Export

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Data can be exported to and imported from dBase.

info Information

Import and Export via CSV or dBase supported; no driver specific variable settings, such as formulas. Use export/import via XML for this.

Import DBF file

To start the import:

  1. right-click on the variable list
  2. in the drop-down list of Extended export/import... select the Import dBase command
  3. follow the import assistant

The format of the file is described in the chapter File structure.

info Information

Note:

  • Driver object type and data type must be amended to the target driver in the DBF file in order for variables to be imported.
  • dBase does not support structures or arrays (complex variables) at import.

Export DBF file

To start the export:

  1. right-click on the variable list
  2. in the drop-down list of Extended export/import... select the Export dBase... command
  3. follow the export assistant

attention Attention

DBF files:

  • must correspond to the 8.3 DOS format for filenames (8 alphanumeric characters for name, 3 character suffix, no spaces)
  • must not have dots (.) in the path name.
    e.g. the path C:\users\John.Smith\test.dbf is invalid.
    Valid: C:\users\JohnSmith\test.dbf
  • must be stored close to the root directory in order to fulfill the limit for file name length including path: maximum 255 characters

The format of the file is described in the chapter File structure.

info Information

dBase does not support structures or arrays (complex variables) at export.

File structure of the dBase export file

The dBaseIV file must have the following structure and contents for variable import and export:

attention Attention

dBase does not support structures or arrays (complex variables) at export.

DBF files must:

  • conform with their name to the 8.3 DOS format (8 alphanumeric characters for name, 3 characters for extension, no space)
  • Be stored close to the root directory (Root)

Structure

Identification | Type | Field size | Comment
KANALNAME | Char | 128 | Variable name. The length can be limited using the MAX_LAENGE entry in project.ini.
KANAL_R | C | 128 | The original name of a variable that is to be replaced by the new name entered under "VARIABLENNAME" (field/column must be entered manually). The length can be limited using the MAX_LAENGE entry in project.ini.
KANAL_D | Log | 1 | The variable is deleted with the 1 entry (field/column has to be created by hand).
TAGNR | C | 128 | Identification. The length can be limited using the MAX_LAENGE entry in project.ini.
EINHEIT | C | 11 | Technical unit
DATENART | C | 3 | Data type (e.g. bit, byte, word, ...) corresponds to the data type.
KANALTYP | C | 3 | Memory area in the PLC (e.g. marker area, data area, ...) corresponds to the driver object type.
HWKANAL | Num | 3 | Net address
BAUSTEIN | N | 3 | Datablock address (only for variables from the data area of the PLC)
ADRESSE | N | 5 | Offset
BITADR | N | 2 | For bit variables: bit address For byte variables: 0=lower, 8=higher byte For string variables: Length of string (max. 63 characters)
ARRAYSIZE | N | 16 | Number of variables in the array for index variables ATTENTION: Only the first variable is fully available. All others are only available for VBA or the Recipegroup Manager
LES_SCHR | L | 1 | Write-Read-Authorization 0: Not allowed to set value. 1: Allowed to set value.
MIT_ZEIT | R | 1 | time stamp in zenon (only if supported by the driver)
OBJEKT | N | 2 | Driver-specific ID number of the primitive object comprises TREIBER-OBJEKTTYP and DATENTYP
SIGMIN | Float | 16 | Non-linearized signal - minimum (signal resolution)
SIGMAX | F | 16 | Non-linearized signal - maximum (signal resolution)
ANZMIN | F | 16 | Technical value - minimum (measuring range)
ANZMAX | F | 16 | Technical value - maximum (measuring range)
ANZKOMMA | N | 1 | Number of decimal places for the display of the values (measuring range)
UPDATERATE | F | 19 | Update rate for mathematics variables (in sec, one decimal possible) not used for all other variables
MEMTIEFE | N | 7 | Only for compatibility reasons
HDRATE | F | 19 | HD update rate for historical values (in sec, one decimal possible)
HDTIEFE | N | 7 | HD entry depth for historical values (number)
NACHSORT | R | 1 | HD data as postsorted values
DRRATE | F | 19 | Updating to the output (for zenon DDE server, in [s], one decimal possible)
HYST_PLUS | F | 16 | Positive hysteresis, from measuring range
HYST_MINUS | F | 16 | Negative hysteresis, from measuring range
PRIOR | N | 16 | Priority of the variable
REAMATRIZE | C | 32 | Allocated reaction matrix
ERSATZWERT | F | 16 | Substitute value, from measuring range
SOLLMIN | F | 16 | Minimum for set value actions, from measuring range
SOLLMAX | F | 16 | Maximum for set value actions, from measuring range
VOMSTANDBY | R | 1 | Get value from standby server; the value of the variable is not requested from the server but from the Standby Server in redundant networks
RESOURCE | C | 128 | Resources label. Free string for export and display in lists. The length can be limited using the MAX_LAENGE entry in project.ini.
ADJWVBA | R | 1 | Non-linear value adaption: 0: Non-linear value adaption is used 1: Non-linear value adaption is not used
ADJZENON | C | 128 | Linked VBA macro for reading the variable value for non-linear value adjustment.
ADJWVBA | C | 128 | ed VBA macro for writing the variable value for non-linear value adjustment.
ZWREMA | N | 16 | Linked counter REMA.
MAXGRAD | N | 16 | Gradient overflow for counter REMA.

attention Attention

When importing, the driver object type and data type must be amended to the target driver in the DBF file in order for variables to be imported.

Limit value definition

Limit definition for limit values 1 to 4, or status 1 to 4:

Identification | Type | Field size | Comment
AKTIV1 | R | 1 | Limit value active (per limit value available)
GRENZWERT1 | F | 20 | technical value or ID number of a linked variable for a dynamic limit value (see VARIABLEx) (if VARIABLEx is 1 and here it is -1, the existing variable linkage is not overwritten)
SCHWWERT1 | F | 16 | Threshold value for limit value
HYSTERESE1 | F | 14 | Is not used
BLINKEN1 | R | 1 | Set blink attribute
BTB1 | R | 1 | Logging in CEL
ALARM1 | R | 1 | Alarm
DRUCKEN1 | R | 1 | Printer output (for CEL or Alarm)
QUITTIER1 | R | 1 | Must be acknowledged
LOESCHE1 | R | 1 | Must be deleted
VARIABLE1 | R | 1 | Dyn. limit value linking the limit is defined by an absolute value (see field GRENZWERTx).
FUNC1 | R | 1 | Functions linking
ASK_FUNC1 | R | 1 | Execution via Alarm Message List
FUNC_NR1 | N | 10 | ID number of the linked function (if “-1” is entered here, the existing function is not overwritten during import)
A_GRUPPE1 | N | 10 | Alarm/event group
A_KLASSE1 | N | 10 | Alarm/event class
MIN_MAX1 | C | 3 | Minimum, Maximum
FARBE1 | N | 10 | Color as Windows coding
GRENZTXT1 | C | 66 | Limit value text
A_DELAY1 | N | 10 | Time delay
INVISIBLE1 | R | 1 | Invisible

Expressions in the column "Comment" refer to the expressions used in the dialog boxes for the definition of variables. For more information, see chapter Variable definition.


Communication details (Driver variables)

LON_32 -> Creating variables -> Communication details (Driver variables)

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

The driver kit implements a number of driver variables. This variables are part of the driver object type Communication details. These are divided into:

  • Information
  • Configuration
  • Statistics and
  • Error message

The definitions of the variables implemented in the driver kit are available in the import file drvvar.dbf (on the installation medium in the \Predefined\Variables folder) and can be imported from there.

Note: Variable names must be unique in zenon. If driver variables of the driver object type Communication details are to be imported from drvvar.dbf again, the variables that were imported beforehand must be renamed.

info Information

Not every driver supports all driver variables of the driver object type Communication details.

For example:

  • Variables for modem information are only supported by modem-compatible drivers
  • Variables for the polling cycle only for pure polling drivers
  • Connection-related information such as ErrorMSG only for drivers that only edit one connection at a a time

Information

Name from import

Type

Offset

Description

MainVersion

UINT

0

Main version number of the driver.

SubVersion

UINT

1

Sub version number of the driver.

BuildVersion

UINT

29

Build version number of the driver.

RTMajor

UINT

49

zenon main version number

RTMinor

UINT

50

zenon sub version number

RTSp

UINT

51

zenon Service Pack number

RTBuild

UINT

52

zenon build number

LineStateIdle

BOOL

24.0

TRUE, if the modem connection is idle

LineStateOffering

BOOL

24.1

TRUE, if a call is received

LineStateAccepted

BOOL

24.2

The call is accepted

LineStateDialtone

BOOL

24.3

Dialtone recognized

LineStateDialing

BOOL

24.4

Dialing active

LineStateRingBack

BOOL

24.5

While establishing the connection

LineStateBusy

BOOL

24.6

Target station is busy

LineStateSpecialInfo

BOOL

24.7

Special status information received

LineStateConnected

BOOL

24.8

Connection established

LineStateProceeding

BOOL

24.9

Dialing completed

LineStateOnHold

BOOL

24.10

Connection in hold

LineStateConferenced

BOOL

24.11

Connection in conference mode.

LineStateOnHoldPendConf

BOOL

24.12

Connection in hold for conference

LineStateOnHoldPendTransfer

BOOL

24.13

Connection in hold for transfer

LineStateDisconnected

BOOL

24.14

Connection terminated.

LineStateUnknow

BOOL

24.15

Connection status unknown

ModemStatus

UDINT

24

Current modem status

TreiberStop

BOOL

28

Driver stopped

For driver stop, the variable has the value TRUE and an OFF bit. After the driver has started, the variable has the value FALSE and no OFF bit.

SimulRTState

UDINT

60

Informs the status of Runtime for driver simulation.

ConnectionStates

STRING

61

Internal connection status of the driver to the PLC.

Connection statuses:

0: Connection OK

1: Connection failure

2: Connection simulated

Formating:

<Netzadresse>:<Verbindungszustand>;…;…;

A connection is only known after a variable has first signed in. In order for a connection to be contained in a string, a variable of this connection must be signed in once.

The status of a connection is only updated if a variable of the connection is signed in. Otherwise there is no communication with the corresponding controller.

Configuration

Name from import | Type | Offset | Description
ReconnectInRead | BOOL | 27 | If TRUE, the modem is automatically reconnected for reading
ApplyCom | BOOL | 36 | Apply changes in the settings of the serial interface. Writing to this variable immediately results in the method SrvDrvVarApplyCom being called (which currently has no further function).
ApplyModem | BOOL | 37 | Apply changes in the settings of the modem. Writing this variable immediately calls the method SrvDrvVarApplyModem. This closes the current connection and opens a new one according to the settings PhoneNumberSet and ModemHwAdrSet.
PhoneNumberSet | STRING | 38 | Telephone number, that should be used
ModemHwAdrSet | DINT | 39 | Hardware address for the telephone number
GlobalUpdate | UDINT | 3 | Update time in milliseconds (ms).
BGlobalUpdaten | BOOL | 4 | TRUE, if update time is global
TreiberSimul | BOOL | 5 | TRUE, if driver in sin simulation mode
TreiberProzab | BOOL | 6 | TRUE, if the variables update list should be kept in the memory
ModemActive | BOOL | 7 | TRUE, if the modem is active for the driver
Device | STRING | 8 | Name of the serial interface or name of the modem
ComPort | UINT | 9 | Number of the serial interface.
Baudrate | UDINT | 10 | Baud rate of the serial interface.
Parity | SINT | 11 | Parity of the serial interface
ByteSize | USINT | 14 | Number of bits per character of the serial interface Value = 0 if the driver cannot establish any serial connection.
StopBit | USINT | 13 | Number of stop bits of the serial interface.
Autoconnect | BOOL | 16 | TRUE, if the modem connection should be established automatically for reading/writing
PhoneNumber | STRING | 17 | Current telephone number
ModemHwAdr | DINT | 21 | Hardware address of current telephone number
RxIdleTime | UINT | 18 | Modem is disconnected, if no data transfer occurs for this time in seconds (s)
WriteTimeout | UDINT | 19 | Maximum write duration for a modem connection in milliseconds (ms).
RingCountSet | UDINT | 20 | Number of ringing tones before a call is accepted
ReCallIdleTime | UINT | 53 | Waiting time between calls in seconds (s).
ConnectTimeout | UINT | 54 | Time in seconds (s) to establish a connection.

Statistics

Name from import | Type | Offset | Description
MaxWriteTime | UDINT | 31 | The longest time in milliseconds (ms) that is required for writing.
MinWriteTime | UDINT | 32 | The shortest time in milliseconds (ms) that is required for writing.
MaxBlkReadTime | UDINT | 40 | Longest time in milliseconds (ms) that is required to read a data block.
MinBlkReadTime | UDINT | 41 | Shortest time in milliseconds (ms) that is required to read a data block.
WriteErrorCount | UDINT | 33 | Number of writing errors
ReadSucceedCount | UDINT | 35 | Number of successful reading attempts
MaxCycleTime | UDINT | 22 | Longest time in milliseconds (ms) required to read all requested data.
MinCycleTime | UDINT | 23 | Shortest time in milliseconds (ms) required to read all requested data.
WriteCount | UDINT | 26 | Number of writing attempts
ReadErrorCount | UDINT | 34 | Number of reading errors
MaxUpdateTimeNormal | UDINT | 56 | Time since the last update of the priority group Normal in milliseconds (ms).
MaxUpdateTimeHigher | UDINT | 57 | Time since the last update of the priority group Higher in milliseconds (ms).
MaxUpdateTimeHigh | UDINT | 58 | Time since the last update of the priority group High in milliseconds (ms).
MaxUpdateTimeHighest | UDINT | 59 | Time since the last update of the priority group Highest in milliseconds (ms).
PokeFinish | BOOL | 55 | Goes to 1 for a query, if all current pokes were executed

Error message

Name from import | Type | Offset | Description
ErrorTimeDW | UDINT | 2 | Time (in seconds since 1.1.1970), when the last error occurred.
ErrorTimeS | STRING | 2 | Time (in seconds since 1.1.1970), when the last error occurred.
RdErrPrimObj | UDINT | 42 | Number of the PrimObject, when the last reading error occurred.
RdErrStationsName | STRING | 43 | Name of the station, when the last reading error occurred.
RdErrBlockCount | UINT | 44 | Number of blocks to read when the last reading error occurred.
RdErrHwAdresse | DINT | 45 | Hardware address when the last reading error occurred.
RdErrDatablockNo | UDINT | 46 | Block number when the last reading error occurred.
RdErrMarkerNo | UDINT | 47 | Marker number when the last reading error occurred.
RdErrSize | UDINT | 48 | Block size when the last reading error occurred.
DrvError | USINT | 25 | Error message as number
DrvErrorMsg | STRING | 30 | Error message as text
ErrorFile | STRING | 15 | Name of error log file


Driver-specific functions

LON_32 -> Driver-specific functions

The driver supports the following functions:

zenon6.ini entries

The diagnosis is set in the project.ini:

[LON_32]

DIAG_LEVEL=2

  • Level 0 or entry does not exist: no diagnosis (apart from the standard driver errorfile)
  • Level 1: Error events of the ObjectServer (e.g. polling errors, attachment events, ...)
  • Level 2: Setting of values (+ Level 1)
  • Level 3: Update events of the ObjectServer = changing values (+ Level 2 and 1)
  • Level 4: Advising and unadvising variables (+ lower levels)
  • Level 5: Internal driver messages (+ lower levels)

The diagnosis messages (+ time stamps) are written into the errorfile of the driver.

The higher the diagnosis level, the more is protocolled, and the faster the errorfile grows! Therefore, it is recommended to work on the lowest level possible.


Driver commands

LON_32 -> Driver commands

This chapter describes standard functions that are valid for most zenon drivers. Not all functions described here are available for every driver. For example, a driver that does not, according to the data sheet, support a modem connection also does not have any modem functions.

Driver commands are used to influence drivers using zenon; start and stop for example.
The engineering is implemented with the help of function Driver commands. To do this:

  • create a new function
  • select Variables -> Driver commands
  • The dialog for configuration is opened

Parameter

Description

Drivers

Drop-down list with all drivers which are loaded in the project.

Current status

Fixed entry which has no function in the current version.

Driver command

Drop-down list for the selection of the command.
  • Start driver (online mode)

Driver is reinitialized and started.
  • Stop driver (offline mode)

Driver is stopped. No new data is accepted.

Note: If the driver is in offline mode, all variables that were created for this driver receive the status switched off (OFF; Bit 20).

  • Driver in simulation mode

Driver is set into simulation mode.
The values of all variables of the driver are simulated by the driver. No values from the connected hardware (e.g. PLC, bus system, ...) are displayed.
  • Driver in hardware mode

Driver is set into hardware mode.
For the variables of the driver the values from the connected hardware (e.g. PLC, bus system, ...) are displayed.
  • Driver-specific command

Enter driver-specific commands. Opens input field in order to enter a command.
  • Driver - activate set setpoint value

Write set value to a driver is allowed.
  • Driver - deactivate set setpoint value

Write set value to a driver is prohibited.
  • Establish connecton with modem

Establish connection (for modem drivers) Opens the input fields for the hardware address and for the telephone number.
  • Disconnect from modem

Terminate connection (for modem drivers)

Show this dialog in the Runtime

The dialog is shown in Runtime so that changes can be made.

Driver commands in the network

If the computer, on which the driver command function is executed, is part of the zenon network, additional actions are carried out. A special network command is sent from the computer to the project server, which then executes the desired action on its driver. In addition, the Server sends the same driver command to the project standby. The standby also carries out the action on its driver.

This makes sure that Server and Standby are synchronized. This only works if the Server and the Standby both have a working and independent connection to the hardware.


Error analysis

LON_32 -> Error analysis

Should there be communication problems, this chapter will assist you in finding out the error.

Other topics in this chapter

LonMaker 3.24 - compatibility notice

Analysis tool

Compatibility with current LonMaker versions

Error numbers

Check list


LonMaker 3.24 - compatibility notice

LON_32 -> Error analysis -> LonMaker 3.24 - compatibility notice

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

If compatibility problems occur during communication with LonMaker 3.24 or higher, ensure that the DEP (Data Execution Prevention) on the running system is not configured to alwaysOn .

info Information

You can find further information in relation to this in the Microsoft Knowledge base, KB 875352.


Analysis tool

LON_32 -> Error analysis -> Analysis tool

All zenon modules such as Editor, Runtime, drivers, etc. write messages to a joint log file. To display them correctly and clearly, use the Diagnosis Viewer program that was also installed with zenon. You can find it under Start/All programs/zenon/Tools 7.60 -> Diagviewer.

zenon driver log all errors in the LOG files. LOG files are text files with a special structure. The default folder for the LOG files is subfolder LOG in the folder ProgramData. For example:

%ProgramData%\COPA-DATA\LOG.

Attention: With the default settings, a driver only logs error information. With the Diagnosis Viewer you can enhance the diagnosis level for most of the drivers to "Debug" and "Deep Debug". With this the driver also logs all other important tasks and events.

In the Diagnosis Viewer you can also:

  • Follow newly-created entries in real time
  • customize the logging settings
  • change the folder in which the LOG files are saved

Note:

  1. The Diagnosis Viewer displays all entries in UTC (coordinated world time) and not in local time.
  2. The Diagnosis Viewer does not display all columns of a LOG file per default. To display more columns activate property Add all columns with entry in the context menu of the column header.
  3. If you only use Error-Logging, the problem description is in the column Error text. For other diagnosis level the description is in the column General text.
  4. For communication problems many drivers also log error numbers which the PLC assigns to them. They are displayed in Error text or Error code or Driver error parameter (1 and 2). Hints on the meaning of error codes can be found in the driver documentation and the protocol/PLC description.
  5. At the end of your test set back the diagnosis level from Debug or Deep Debug. At Debug and Deep Debug there are a great deal of data for logging which are saved to the hard drive and which can influence your system performance. They are still logged even after you close the Diagnosis Viewer.

attention Attention

In Windows CE errors are not logged per default due to performance reasons.

You can find further information on the Diagnosis Viewer in the Diagnose Viewer manual.


Compatibility with current LonMaker versions

LON_32 -> Error analysis -> Compatibility with current LonMaker versions

Previous chapter Next chapter Show all Show all Hide all Hide all
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

When using the most recent LonMaker Integration Tools, it may be the case that the LON_32 driver crashes when calling up the driver configuration.

The problem was that the external LonMaker components do not support the DEP (Data Execution Prevention) because they were written with ATL version 7.1 or earlier.

Solution: the DEP is deactivated for this process when the driver starts.

Attention: This does not work if the DEP has been switched to "alwaysOn" throughout the system: Cmd: "bcdedit.exe /set {current} nx AlwaysOn"

The settings in the Control Panel - System -> Advanced system settings -> Performance: Settings -> Tab: Data Execution Prevention is then grayed out

DEP must then be switched back to OptIn (Windows default) or OptOut. Cmd: "bcdedit.exe /set {current} nx OptIn" bzw. "bcdedit.exe /set {current} nx OptOut"

Alternatively, the DEP can be switched off through the system ("bcdedit.exe /set {current} nx AlwaysOff"), but this is not recommended.

https://support.microsoft.com/en-us/kb/875352


Error numbers

LON_32 -> Error analysis -> Error numbers

Common error messages

Error message | Reason
Network error. (Sub system: Data Server, #200) ERROR Nr: 00018200 | Communication with the node does not work. The dataserver of the LNS ObjectServer gets no response to its read telegram. This error message can have many different reasons, e.g. wrong configuration of the router or other bus failures. The message does not inform on the reason more detailled.
The format type does not have information about fields (Subsystem: Data Server, #67) ERROR Nr: 00018067 | The so-called "device resource files" (standard.fmt and standard.typ "in the depths of the LNS installation") are missing or outdated. These files contain information on the types of the network variables (SNVT). It also can be that they are not contained in the catalog of the resource file. Therefore with the LNS a tool is installed, with which the catalog can be administered (LDRFCAT.EXE).
Recovery of the Global Database or a network was attempted but failed. Please delete the contents of the 'recovery' folder and try again. (Sub system: LNS, #129)[DB #-2253] ERROR Nr: 00017129 | Error while restoring network database. delete everything in the "RECOVERY" directory.
SrvObjBaueDatenListe: Object 105182 not found ERROR Nr: -0000001 | A variable was created, for which there is no entry in the default.ion file. This can happen, if default.ion has been deleted or renamed and the network database has been read without changing the variables.
Timed out waiting for a synchronizing event to be signaled by a LonTalk network response. (Sub system: Data Server, #38) ERROR Nr: 00018038 | The driver of the interface card does not work correctly. Usually it helps to open the icon of the LON configuration in the Control Panel and to run a communication test.


Check list

LON_32 -> Error analysis -> Check list

  • Are all cables connected correctly?
  • Are the network parameters in the CP and PC correct?
  • Have you analyzed the error text file (which errors did occur)?
  • Send the zenon project to support@copadata.com
  • Make sure that the bus is not overloaded!

The average size of a telegram is 32 bytes, where 1 byte = 10 bits (incl. parity check)

For each read operation one telegram is sent by the visualisation and one is sent to the visualisation, which makes a sum of two telegrams per read operation. So the following is true:

  • 32 bytes * 10 bits = 320 bits * 2 telegrams = 640 bits per read operation. So with a maximal transfer rate of 78000 bits/s a maximum of 121 variables can be read per second.
  • This information derives from Echelon and specifies the ABSOLUTE MAXIMAL PERFORMANCE, i.e. without regard to probable collisions, etc.