Unit NoDaveComponent - TNoDave - JADD - Just Another DelphiDoc
Keywords: NoDaveComponent

Index | Files | Records | Objects | Classes | Interfaces | Dispatch-Interfaces

# Unit NoDaveComponent

## Used Units:

Used in interface: System, SysInit, SysUtils, Classes, NoDave, SyncObjs, Windows
Used in implementation: None

## Description:

TODO
  Before Installation:
  Please copy the file \pascal\nodave.pas into the directory, where the file nodavecomponent.pas is located !
  Delphi-Installation:
  1. Select Component - Install in the Delphi-menu
  2. Select Add... button
  3. Select Browse
  4. Select NoDaveComponent.pas
  5. Select OK
  Lazarus-Installation:
  1. Select Components - Open package file
  2. Select nodavepackage.lpk
  3. Select Open
  4. Select Compile
  5. Select Install
  6. Select Yes

The Unit NoDaveComponent implements the class TNoDave, which encapsulates the access to the libnodave.dll.
With TNoDave and libnodave.dll it is very easy to read and write data from and to a S7 PLC.
Simatic, Simatic S5, Simatic S7, S7-200, S7-300, S7-400 are registered Trademarks of Siemens Aktiengesellschaft, Berlin und Muenchen.

Author:
  - Axel Kinting - Gebr. Schmid GmbH + Co.

## List of Constants:

Global Constants: BAF, BUS1F, BUS2F, CRST, daveAnaIn, daveAnaOut, daveComSpeed115_2k, daveComSpeed19_2k, daveComSpeed38_4k, daveComSpeed57_6k, daveComSpeed9_6k, daveCounter, daveDB, daveDebugByte, daveDebugCompare, daveDebugConnect, daveDebugExchange, daveDebugInitAdapter, daveDebugListReachables, daveDebugMPI, daveDebugPacket, daveDebugPassive, daveDebugPDU, daveDebugPrintErrors, daveDebugRawRead, daveDebugRawWrite, daveDebugSpecialChars, daveDebugUpload, daveDI, daveFlags, daveInputs, daveLocal, daveOutputs, daveP, daveProtoAS511, daveProtoIBH, daveProtoIBH_PPI, daveProtoISOTCP, daveProtoISOTCP243, daveProtoMPI, daveProtoMPI2, daveProtoMPI3, daveProtoMPI4, daveProtoNLPro, daveProtoPPI, daveProtoS7Online, daveSpeed1500k, daveSpeed187k, daveSpeed19k, daveSpeed45k, daveSpeed500k, daveSpeed93k, daveSpeed9k, daveSysFlags, daveSysInfo, daveTimer, daveV, EXTF, FRCE, IFM1F, IFM2F, INTF, MSTR, NONE, RACK0, RACK1, RACK2, REDF, RUN, SF, STOP, USR, USR1
File-Local Constants: None

## List of Simple Types:

Global Simple Types: PSzlBGDiagInfo, PSzlBGIdent, PSzlBGState, PSzlBlockType, PSzlDiagMessage, PSzlLedState, PSzlStationState, PSzlSystemMemory, PSzlUserMemory, TNoDaveArea, TNoDaveComSpeed, TNoDaveDebugOption, TNoDaveDebugOptions, TNoDaveOnErrorEvent, TNoDaveProtocol, TNoDaveReachablePartnersMPI, TNoDaveSpeed, TSzlLed
File-Local Simple Types: None

## List of Records:

Global Records: TSzlBGDiagInfo, TSzlBGIdent, TSzlBGState, TSzlBlockType, TSzlDiagMessage, TSzlLedState, TSzlStationState, TSzlSystemMemory, TSzlUserMemory
File-Local Records: None

## List of Classes:

Global Classes: TNoDave
File-Local Classes: TNoDaveConnectThread, TNoDaveReadThread

## List of Functions:

Global Functions:

procedure Register
  Installation of TNoDave in the component palette

File-Local Functions: None

## Constants:

BAF = TSzlLed( 8)
BUS1F = TSzlLed( 11)
BUS2F = TSzlLed( 12)
CRST = TSzlLed( 7)
daveAnaIn = TNoDaveArea( 2)
  Analog input words of 200 family
  Used in
    TNoDave.AreaCode
daveAnaOut = TNoDaveArea( 3)
  Analog output words of 200 family
  Used in
    TNoDave.AreaCode
daveComSpeed115_2k = TNoDaveComSpeed( 4)
  Used in
    TNoDave.DoConnect
daveComSpeed19_2k = TNoDaveComSpeed( 1)
  Used in
    TNoDave.DoConnect
daveComSpeed38_4k = TNoDaveComSpeed( 2)
  Used in
    TNoDave.Create, TNoDave.DoConnect
daveComSpeed57_6k = TNoDaveComSpeed( 3)
  Used in
    TNoDave.DoConnect
daveComSpeed9_6k = TNoDaveComSpeed( 0)
  Used in
    TNoDave.DoConnect
daveCounter = TNoDaveArea( 11)
  Counter
  Used in
    TNoDave.AreaCode
daveDB = TNoDaveArea( 7)
  Data Blocks (global data)
  Used in
    TNoDave.AreaCode, TNoDave.Create
daveDebugByte = TNoDaveDebugOption( 7)
daveDebugCompare = TNoDaveDebugOption( 8)
daveDebugConnect = TNoDaveDebugOption( 5)
daveDebugExchange = TNoDaveDebugOption( 9)
daveDebugInitAdapter = TNoDaveDebugOption( 4)
daveDebugListReachables = TNoDaveDebugOption( 3)
daveDebugMPI = TNoDaveDebugOption( 12)
daveDebugPacket = TNoDaveDebugOption( 6)
daveDebugPassive = TNoDaveDebugOption( 14)
daveDebugPDU = TNoDaveDebugOption( 10)
daveDebugPrintErrors = TNoDaveDebugOption( 13)
daveDebugRawRead = TNoDaveDebugOption( 0)
daveDebugRawWrite = TNoDaveDebugOption( 2)
daveDebugSpecialChars = TNoDaveDebugOption( 1)
daveDebugUpload = TNoDaveDebugOption( 11)
daveDI = TNoDaveArea( 8)
  Data Blocks (instance data) ?
  Used in
    TNoDave.AreaCode
daveFlags = TNoDaveArea( 6)
  Flags/Markers
  Used in
    TNoDave.AreaCode
daveInputs = TNoDaveArea( 4)
  Input memory image
  Used in
    TNoDave.AreaCode
daveLocal = TNoDaveArea( 9)
  Data Blocks (local data) ?
  Used in
    TNoDave.AreaCode
daveOutputs = TNoDaveArea( 5)
  Output memory image
  Used in
    TNoDave.AreaCode
daveP = TNoDaveArea( 13)
  Peripherie Input/Output
  Used in
    TNoDave.AreaCode
daveProtoAS511 = TNoDaveProtocol( 10)
  S5 via programmer-port
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoIBH = TNoDaveProtocol( 7)
  IBH-Link TCP/MPI-Adapter
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode, TNoDave.ResetInterface
daveProtoIBH_PPI = TNoDaveProtocol( 8)
  IBH-Link TCP/MPI-Adapter with PPI-Protocol
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode, TNoDave.ResetInterface
daveProtoISOTCP = TNoDaveProtocol( 5)
  ISO over TCP
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoISOTCP243 = TNoDaveProtocol( 6)
  ISO over TCP (for CP243)
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoMPI = TNoDaveProtocol( 0)
  MPI-Protocol
  Used in
    TNoDave.Create, TNoDave.DoConnect, TNoDave.ProtCode
daveProtoMPI2 = TNoDaveProtocol( 1)
  MPI-Protocol (Andrew's version without STX)
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoMPI3 = TNoDaveProtocol( 2)
  MPI-Protocol (Step 7 Version version)
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoMPI4 = TNoDaveProtocol( 3)
  MPI-Protocol (Andrew's version with STX)
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoNLPro = TNoDaveProtocol( 11)
  Deltalogic NetLink-PRO TCP/MPI-Adapter
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoPPI = TNoDaveProtocol( 4)
  PPI-Protocol
  Used in
    TNoDave.DoConnect, TNoDave.ProtCode
daveProtoS7Online = TNoDaveProtocol( 9)
  use S7Onlinx.dll for transport via Siemens CP
  Used in
    TNoDave.Disconnect, TNoDave.DoConnect, TNoDave.ProtCode
daveSpeed1500k = TNoDaveSpeed( 4)
daveSpeed187k = TNoDaveSpeed( 2)
  Used in
    TNoDave.Create
daveSpeed19k = TNoDaveSpeed( 1)
daveSpeed45k = TNoDaveSpeed( 5)
daveSpeed500k = TNoDaveSpeed( 3)
daveSpeed93k = TNoDaveSpeed( 6)
daveSpeed9k = TNoDaveSpeed( 0)
daveSysFlags = TNoDaveArea( 1)
  System flag area of 200 family
  Used in
    TNoDave.AreaCode
daveSysInfo = TNoDaveArea( 0)
  System information of 200 family
  Used in
    TNoDave.AreaCode
daveTimer = TNoDaveArea( 12)
  Timer
  Used in
    TNoDave.AreaCode
daveV = TNoDaveArea( 10)
  unknown Area
  Used in
    TNoDave.AreaCode
EXTF = TSzlLed( 3)
FRCE = TSzlLed( 6)
IFM1F = TSzlLed( 18)
IFM2F = TSzlLed( 19)
INTF = TSzlLed( 2)
MSTR = TSzlLed( 14)
NONE = TSzlLed( 0)
RACK0 = TSzlLed( 15)
RACK1 = TSzlLed( 16)
RACK2 = TSzlLed( 17)
REDF = TSzlLed( 13)
RUN = TSzlLed( 4)
SF = TSzlLed( 1)
STOP = TSzlLed( 5)
USR = TSzlLed( 9)
USR1 = TSzlLed( 10)

## Simple Types:

PSzlBGDiagInfo = ^TSzlBGDiagInfo
PSzlBGIdent = ^TSzlBGIdent
PSzlBGState = ^TSzlBGState
PSzlBlockType = TSzlBlockType
PSzlDiagMessage = ^TSzlDiagMessage
PSzlLedState = ^TSzlLedState
PSzlStationState = ^TSzlStationState
PSzlSystemMemory = ^TSzlSystemMemory
PSzlUserMemory = ^TSzlUserMemory
TNoDaveArea = ( daveSysInfo, daveSysFlags, daveAnaIn, daveAnaOut, daveInputs, daveOutputs, daveFlags, daveDB, daveDI, daveLocal, daveV, daveCounter, daveTimer, daveP)
  The area of the PLC-Data for the TNoDave-Component.
TNoDaveComSpeed = ( daveComSpeed9_6k, daveComSpeed19_2k, daveComSpeed38_4k, daveComSpeed57_6k, daveComSpeed115_2k)
  The speed of the COM-Port for the TNoDave-Component.
TNoDaveDebugOption = ( daveDebugRawRead, daveDebugSpecialChars, daveDebugRawWrite, daveDebugListReachables, daveDebugInitAdapter, daveDebugConnect, daveDebugPacket, daveDebugByte, daveDebugCompare, daveDebugExchange, daveDebugPDU, daveDebugUpload, daveDebugMPI, daveDebugPrintErrors, daveDebugPassive)
  The debug-options for the libnodave.dll
TNoDaveDebugOptions = set of TNoDaveDebugOption
TNoDaveOnErrorEvent = procedure (Sender: TComponent; ErrorMsg: String) of object
  This is the type of the Event-Handler for the OnError-Event of the TNoDave component.
  Parameters
    Sender
      The TNoDave-instance which is the source of the event.
    ErrorMsg
      A clear text message describing the error.
TNoDaveProtocol = ( daveProtoMPI, daveProtoMPI2, daveProtoMPI3, daveProtoMPI4, daveProtoPPI, daveProtoISOTCP, daveProtoISOTCP243, daveProtoIBH, daveProtoIBH_PPI, daveProtoS7Online, daveProtoAS511, daveProtoNLPro)
  The type of the communication-protocol for the TNoDave-Component.
TNoDaveReachablePartnersMPI = array [ 0 .. 126] of Boolean
  List of reachable Partners in the MPI-Network, True = Station is available at this address.
TNoDaveSpeed = ( daveSpeed9k, daveSpeed19k, daveSpeed187k, daveSpeed500k, daveSpeed1500k, daveSpeed45k, daveSpeed93k)
  The speed of the MPI-protocol for the TNoDave-Component.
TSzlLed = ( NONE, SF, INTF, EXTF, RUN, STOP, FRCE, CRST, BAF, USR, USR1, BUS1F, BUS2F, REDF, MSTR, RACK0, RACK1, RACK2, IFM1F, IFM2F)

## Functions:

procedure Register
  Installation of TNoDave in the component palette