Unit NoDaveComponent
Used Units:
Used in interface: System, SysInit, SysUtils, Classes, NoDave, SyncObjs, Windows
Used in implementation: None
- 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
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)
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)
procedure Register
- Installation of TNoDave in the component palette