Workbackup
This commit is contained in:
17
KD_Hoertnagel_Lackier.apj
Normal file
17
KD_Hoertnagel_Lackier.apj
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.7.5.60 SP"?>
|
||||
<Project Description="Lackierzelle doppelt" Version="1.00.0" Edition="Standard" EditionComment="Standard" xmlns="http://br-automation.co.at/AS/Project">
|
||||
<Communication>
|
||||
<OnlineConfiguration Name="Lackierzelle_Single" DeviceType="TCPIP" DeviceParameters="/IF=tcpip /LOPO=11159 /SA=96" ConnectionParameters="/COMT=2500 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.1.147 /REPO=11159 /ANSL=1 /PT=11169" Description="" />
|
||||
</Communication>
|
||||
<ANSIC DefaultIncludes="true" />
|
||||
<IEC ExtendedConstants="true" IecExtendedComments="true" KeywordsAsStructureMembers="false" NamingConventions="true" Pointers="true" Preprocessor="false" />
|
||||
<Motion RestartAcoposParameter="true" RestartInitParameter="true" />
|
||||
<Project StoreRuntimeInProject="false" />
|
||||
<Variables DefaultInitValue="0" DefaultRetain="false" DefaultVolatile="true" />
|
||||
<TechnologyPackages>
|
||||
<Acp10Arnc0 Version="5.9.2" />
|
||||
<mapp Version="5.9.1" />
|
||||
<TextSystem udbdef="0.1.0" />
|
||||
</TechnologyPackages>
|
||||
</Project>
|
||||
8
LastUser.set
Normal file
8
LastUser.set
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.7.5.60 SP"?>
|
||||
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
|
||||
<ConfigurationManager ActiveConfigurationName="Config1" />
|
||||
<Deployment Value="ActiveCpu" />
|
||||
<ExportProject ExportFilePath="D:\src44\KD_Hoertnagel_Fraese\KD_Hoertnagel_Fraese.zip" />
|
||||
<Print Footer="%cPage: %p" Header="%lProject: %n%c%x" />
|
||||
</ProjectSettings>
|
||||
8
Logical/Common/GlobalCommon.typ
Normal file
8
Logical/Common/GlobalCommon.typ
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
TYPE
|
||||
typAlarm : STRUCT (*Alarm Datenstruktur*)
|
||||
Alarm : ARRAY[0..127]OF BOOL;
|
||||
Ack : ARRAY[0..127]OF BOOL;
|
||||
Bypass : ARRAY[0..127]OF BOOL;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
24
Logical/Common/GlobalComon.var
Normal file
24
Logical/Common/GlobalComon.var
Normal file
@@ -0,0 +1,24 @@
|
||||
VAR
|
||||
bBlink0_1 : BOOL;
|
||||
bBlink0_5 : BOOL;
|
||||
bBlink1_0 : BOOL;
|
||||
bBlink2_0 : BOOL;
|
||||
bBlink5_0 : BOOL;
|
||||
gdtCurrentTime : DATE_AND_TIME; (*Current Date and Time*)
|
||||
gDTstrucCurrentTime : DTStructure := (0); (*Current Date and Time as DTStructure*)
|
||||
gsCurrentTime : STRING[25] := ''; (*Current Date and Time as String*)
|
||||
gTCurrentTime : TIME := T#0ms; (*Current Time*)
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
gAInNull : INT := 0; (*O FOR Analog Input*)
|
||||
gTrue : BOOL := TRUE; (*Konstant TRUE*)
|
||||
gFalse : BOOL := FALSE; (*Konstant False*)
|
||||
gInNull : BOOL := FALSE; (*FALSE FOR Input *)
|
||||
END_VAR
|
||||
VAR
|
||||
gOuNull : BOOL; (*DUMMY for Output*)
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
iAIVoltageOverflow : INT := 16#7FFF; (* Analog Input Voltage Mode,Overflow *)
|
||||
iAIVoltageUnderflow : INT := -32767; (* Analog Input Voltage Underflow *)
|
||||
END_VAR
|
||||
10
Logical/Common/Package.pkg
Normal file
10
Logical/Common/Package.pkg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File">GlobalCommon.typ</Object>
|
||||
<Object Type="File">GlobalComon.var</Object>
|
||||
<Object Type="Program" Language="IEC" Description="Current Date_And_Time / DT Struct">get_dt</Object>
|
||||
<Object Type="Program" Language="IEC" Description="Blinker 0,1 -0,5s (f. 100ms Task) !!!">blinker</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
9
Logical/Common/blinker/IEC.prg
Normal file
9
Logical/Common/blinker/IEC.prg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Local variables" Private="true">blinker.var</File>
|
||||
<File Description="Initialization code">blinkerInit.ab</File>
|
||||
<File Description="Cyclic code">blinkerCyclic.ab</File>
|
||||
</Files>
|
||||
</Program>
|
||||
13
Logical/Common/blinker/blinker.var
Normal file
13
Logical/Common/blinker/blinker.var
Normal file
@@ -0,0 +1,13 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinker.var
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Local variables of program blinker
|
||||
********************************************************************)
|
||||
VAR
|
||||
iCount : USINT;
|
||||
END_VAR
|
||||
30
Logical/Common/blinker/blinkerCyclic.ab
Normal file
30
Logical/Common/blinker/blinkerCyclic.ab
Normal file
@@ -0,0 +1,30 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinkerCyclic.ab
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Implementation of program blinker
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
(* cyclic program *)
|
||||
;Has to be taskclass 100ms
|
||||
bBlink0_1 = not bBlink0_1
|
||||
inc (iCount)
|
||||
if ((iCount mod 5) = 0) then
|
||||
bBlink0_5 = not bBlink0_5
|
||||
endif
|
||||
if ((iCount mod 10) = 0) then
|
||||
bBlink1_0 = not bBlink1_0
|
||||
endif
|
||||
if ((iCount mod 20) = 0) then
|
||||
bBlink2_0 = not bBlink2_0
|
||||
endif
|
||||
if ((iCount mod 50) = 0) then
|
||||
bBlink5_0 = not bBlink5_0
|
||||
iCount = 0
|
||||
endif
|
||||
END_PROGRAM
|
||||
16
Logical/Common/blinker/blinkerInit.ab
Normal file
16
Logical/Common/blinker/blinkerInit.ab
Normal file
@@ -0,0 +1,16 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinkerInit.ab
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Implementation of program blinker
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _INIT
|
||||
iCount = 0
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
9
Logical/Common/get_dt/IEC.prg
Normal file
9
Logical/Common/get_dt/IEC.prg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File>get_dtCyclic.ab</File>
|
||||
<File Private="true">get_dt.var</File>
|
||||
<File>get_dtInit.ab</File>
|
||||
</Files>
|
||||
</Program>
|
||||
6
Logical/Common/get_dt/get_dt.var
Normal file
6
Logical/Common/get_dt/get_dt.var
Normal file
@@ -0,0 +1,6 @@
|
||||
VAR
|
||||
sTemp : STRING[10] := '';
|
||||
lDTStructureGetTime : DTStructureGetTime := (0);
|
||||
lDTGetTime : DTGetTime := (0);
|
||||
lTimeStructure : TIMEStructure := (0);
|
||||
END_VAR
|
||||
57
Logical/Common/get_dt/get_dtCyclic.ab
Normal file
57
Logical/Common/get_dt/get_dtCyclic.ab
Normal file
@@ -0,0 +1,57 @@
|
||||
PROGRAM _CYCLIC
|
||||
(* cyclic program *)
|
||||
|
||||
lDTGetTime.enable = true
|
||||
lDTGetTime FUB DTGetTime()
|
||||
gdtCurrentTime = lDTGetTime.DT1
|
||||
|
||||
lDTStructureGetTime.enable = true
|
||||
lDTStructureGetTime FUB DTStructureGetTime ()
|
||||
lDTStructureGetTime.pDTStructure = adr (gDTstrucCurrentTime)
|
||||
|
||||
ascDTStructure (ADR (gDTstrucCurrentTime), ADR (gsCurrentTime), 25)
|
||||
brsstrcpy (ADR (gsCurrentTime), "")
|
||||
brsitoa (gDTstrucCurrentTime.year, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
IF (gDTstrucCurrentTime.month < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.month, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
IF (gDTstrucCurrentTime.day < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.day, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "_")
|
||||
IF (gDTstrucCurrentTime.hour < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.hour, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "-")
|
||||
IF (gDTstrucCurrentTime.minute < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.minute, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "-")
|
||||
IF (gDTstrucCurrentTime.second < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.second, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "_")
|
||||
brsitoa (gDTstrucCurrentTime.millisec, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
|
||||
lTimeStructure.day = gDTstrucCurrentTime.day
|
||||
lTimeStructure.hour = gDTstrucCurrentTime.hour
|
||||
lTimeStructure.minute = gDTstrucCurrentTime.minute
|
||||
lTimeStructure.second = gDTstrucCurrentTime.second
|
||||
lTimeStructure.millisec = gDTstrucCurrentTime.millisec
|
||||
lTimeStructure.microsec = gDTstrucCurrentTime.microsec
|
||||
gTCurrentTime = TIMEStructure_TO_TIME (adr (lTimeStructure))
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
4
Logical/Common/get_dt/get_dtInit.ab
Normal file
4
Logical/Common/get_dt/get_dtInit.ab
Normal file
@@ -0,0 +1,4 @@
|
||||
PROGRAM _INIT
|
||||
(* init program *)
|
||||
END_PROGRAM
|
||||
|
||||
140
Logical/Communication/ABBCom/Cyclic.st
Normal file
140
Logical/Communication/ABBCom/Cyclic.st
Normal file
@@ -0,0 +1,140 @@
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
//Zeiger auf Roboter Stellen (Zyklisch wg. Download)
|
||||
lABBRobot ACCESS ADR (gABBRobot[usRobotNr]);
|
||||
lRobInterface ACCESS ADR (gCmd[usRobotNr].Robot);
|
||||
|
||||
|
||||
|
||||
//Lifebeat erzeugen
|
||||
lABBRobot.Out.bLifebeat := bBlink0_5;
|
||||
|
||||
//Eing<EFBFBD>nge von Roboter
|
||||
//============================================================
|
||||
//Eingangs Byte 0 (0-7)
|
||||
TON_Motors_On.IN := dpInByte[0].0;
|
||||
TON_Motors_On.PT := t#1200ms;
|
||||
TON_Motors_On ();
|
||||
lABBRobot.In.bMotorsOn := TON_Motors_On.Q;
|
||||
lABBRobot.In.bMotorsOff := dpInByte[0].1;
|
||||
lABBRobot.In.bProgramRun := dpInByte[0].2;
|
||||
lABBRobot.In.bEStop := dpInByte[0].3;
|
||||
lABBRobot.In.bAutomatic := dpInByte[0].4;
|
||||
lABBRobot.In.bError := dpInByte[0].5;
|
||||
lABBRobot.In.bRunChainOk := dpInByte[0].6;
|
||||
lABBRobot.In.bLifebeat := dpInByte[0].7;
|
||||
IF EDGE (lABBRobot.In.bLifebeat) THEN
|
||||
TON_Lifebeat.IN := FALSE;
|
||||
ELSE
|
||||
TON_Lifebeat.IN := TRUE;
|
||||
END_IF;
|
||||
TON_Lifebeat.PT := t#750ms;
|
||||
TON_Lifebeat ();
|
||||
lABBRobot.bOnline := NOT TON_Lifebeat.Q;
|
||||
|
||||
//Eingangs Byte 1 (8-15)
|
||||
lABBRobot.In.bMotionSupervisionTriggered := dpInByte[1].0;
|
||||
|
||||
//Eingangs Byte 2 (16-23)
|
||||
//Spritzpistole Ein
|
||||
lRobInterface.FromRobot.bPaintOn := dpInByte[2].0;
|
||||
//Spritzpistole Rund
|
||||
lRobInterface.FromRobot.bPaintRound := dpInByte[2].1;
|
||||
//Spritzpistole Breit
|
||||
lRobInterface.FromRobot.bPaintWide := dpInByte[2].2;
|
||||
//Vorw<EFBFBD>rts Rotieren
|
||||
lRobInterface.FromRobot.bRotateFw := dpInByte[2].3;
|
||||
//R<EFBFBD>ckw<EFBFBD>rts Rotieren
|
||||
lRobInterface.FromRobot.bRotateBw := dpInByte[2].4;
|
||||
//Schwenken auf 0<EFBFBD>
|
||||
lRobInterface.FromRobot.bPos0 := dpInByte[2].5;
|
||||
//Schwenken auf 180<EFBFBD>
|
||||
lRobInterface.FromRobot.bPos180 := dpInByte[2].6;
|
||||
|
||||
|
||||
|
||||
//Eingangs Byte 3 (24-31)
|
||||
lABBRobot.In.bWZHome := dpInByte[3].0;
|
||||
lRobInterface.FromRobot.bWZHome := dpInByte[3].0;
|
||||
lRobInterface.FromRobot.bWZChangetool := dpInByte[3].1;
|
||||
|
||||
//Roboter in Bereich Flexfeeder (nur lokal wg. Homing benutzt
|
||||
//dpInByte[3].6
|
||||
|
||||
|
||||
//Eingangs Byte 4 (32-39)
|
||||
//WZ Rotationsbereich Frei
|
||||
lRobInterface.FromRobot.bTurnAreaFree := dpInByte[4].0;
|
||||
//WZ Schlitten Frei
|
||||
lRobInterface.FromRobot.bSlayFree := dpInByte[4].1;
|
||||
|
||||
//Eingangs Byte 5 (40-47)
|
||||
lABBRobot.In.usStatus := dpInByte[5];
|
||||
//Eingangs Byte 6 (48-55)
|
||||
lRobInterface.FromRobot.usRotationSpeed := dpInByte[6];
|
||||
//Eingangs Byte 7 (56-63)
|
||||
//Eingangs Byte 8 (64-71)
|
||||
lRobInterface.FromRobot.uiRotationPos := SHL (USINT_TO_UINT (dpInByte[8]), 8) + USINT_TO_UINT (dpInByte[7]);
|
||||
|
||||
//Eingangs Byte 9 (72-80)
|
||||
//Eingangs Byte 10 (81-88)
|
||||
//Eingangs Byte 11 (89-96)
|
||||
//Eingangs Byte 12 (97-104)
|
||||
//Eingangs Byte 13 (105-112)
|
||||
//Eingangs Byte 14 (113-120)
|
||||
//Eingangs Byte 15 (121-128)
|
||||
|
||||
//Ausg<EFBFBD>nge an Roboter
|
||||
//============================================================
|
||||
//Ausgangs Byte 0 (0-7)
|
||||
TOF_Reset_EStop.IN := lABBRobot.Out.bResetEStop;
|
||||
TOF_Reset_EStop.PT := t#400ms;
|
||||
TOF_Reset_EStop ();
|
||||
dpOutByte[0].0 := lABBRobot.Out.bSwitchMotorOn;
|
||||
dpOutByte[0].1 := lABBRobot.Out.bSwitchMotorOff;
|
||||
dpOutByte[0].2 := lABBRobot.Out.bStart;
|
||||
dpOutByte[0].3 := lABBRobot.Out.bStop;
|
||||
dpOutByte[0].4 := TOF_Reset_EStop.Q;
|
||||
dpOutByte[0].5 := lABBRobot.Out.bResetError;
|
||||
dpOutByte[0].6 := lABBRobot.Out.bStartAtMain;
|
||||
dpOutByte[0].7 := lABBRobot.Out.bLifebeat;
|
||||
|
||||
//Ausgangs Byte 1 (8-15)
|
||||
dpOutByte[1].0 := lABBRobot.Out.bStartBackup;
|
||||
//dpOutByte[1].1 := lABBRobot.Out.bWirteAccess;
|
||||
|
||||
//Ausgangs Byte 2 (16-23)
|
||||
dpOutByte[2].0 := FALSE;
|
||||
dpOutByte[2].1 := FALSE;
|
||||
|
||||
dpOutByte[2].3 := FALSE;
|
||||
dpOutByte[2].4 := FALSE;
|
||||
dpOutByte[2].7 := FALSE;
|
||||
|
||||
|
||||
//Ausgangs Byte 3 (24-31)
|
||||
//Schlitten in Lackierposition
|
||||
dpOutByte[3].0 := lRobInterface.ToRobot.bSlayInSprayPos;
|
||||
//In Pos 0<EFBFBD> gedreht
|
||||
dpOutByte[3].1 := lRobInterface.ToRobot.bInPos0;
|
||||
//In Pos 180<EFBFBD> gedreht
|
||||
dpOutByte[3].2 := lRobInterface.ToRobot.bInPos180;
|
||||
|
||||
//Ausgangs Byte 4 (32-39)
|
||||
//Ausgangs Byte 5 (40-47)
|
||||
dpOutByte[5] := lABBRobot.Out.usProgNr;
|
||||
//Ausgangs Byte 6 (48-55)
|
||||
dpOutByte[6] := lRobInterface.ToRobot.usParts;
|
||||
//Ausgangs Byte 7 (56-63)
|
||||
//Ausgangs Byte 8 (64-71)
|
||||
dpOutByte[7] := UINT_TO_USINT (lRobInterface.ToRobot.uiRotationPos MOD 256);
|
||||
dpOutByte[8] := UINT_TO_USINT (SHR (lRobInterface.ToRobot.uiRotationPos, 8));
|
||||
//Ausgangs Byte 9 (72-79)
|
||||
//Ausgangs Byte 10 (80-87)
|
||||
//Ausgangs Byte 11 (88-95)
|
||||
//Ausgangs Byte 12 (96-103)
|
||||
//Ausgangs Byte 13 (104-111)
|
||||
//Ausgangs Byte 14 (112-119)
|
||||
//Ausgangs Byte 15 (120-127)
|
||||
|
||||
END_PROGRAM
|
||||
10
Logical/Communication/ABBCom/IEC.prg
Normal file
10
Logical/Communication/ABBCom/IEC.prg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.3.93 SP?>
|
||||
<Program SubType="IEC" xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Instanzabh. Initcode ">Init.st</File>
|
||||
<File Description="Zyklischer Code">Cyclic.st</File>
|
||||
<File Description="Local variables" Private="true">Variables.var</File>
|
||||
<File Description="Local IOs" Private="true">IOs.var</File>
|
||||
</Files>
|
||||
</Program>
|
||||
4
Logical/Communication/ABBCom/IOs.var
Normal file
4
Logical/Communication/ABBCom/IOs.var
Normal file
@@ -0,0 +1,4 @@
|
||||
VAR
|
||||
dpOutByte : ARRAY[0..15] OF USINT := [16(0)]; (*Raw Output Bytes Abb Interface*)
|
||||
dpInByte : ARRAY[0..15] OF USINT := [16(0)]; (*Raw Input Bytes Abb Interface*)
|
||||
END_VAR
|
||||
3
Logical/Communication/ABBCom/Init.st
Normal file
3
Logical/Communication/ABBCom/Init.st
Normal file
@@ -0,0 +1,3 @@
|
||||
PROGRAM _INIT
|
||||
usRobotNr := 1; //Roboternummer
|
||||
END_PROGRAM
|
||||
8
Logical/Communication/ABBCom/Variables.var
Normal file
8
Logical/Communication/ABBCom/Variables.var
Normal file
@@ -0,0 +1,8 @@
|
||||
VAR
|
||||
lABBRobot : REFERENCE TO gtyp_ABBInterface; (*Referenz to ABB Standard Interface*)
|
||||
lRobInterface : REFERENCE TO gtyp_Robot; (*Interace Roboter Maschine*)
|
||||
usRobotNr : USINT;
|
||||
TOF_Reset_EStop : TOF;
|
||||
TON_Motors_On : TON;
|
||||
TON_Lifebeat : TON;
|
||||
END_VAR
|
||||
34
Logical/Communication/GlobalCom.typ
Normal file
34
Logical/Communication/GlobalCom.typ
Normal file
@@ -0,0 +1,34 @@
|
||||
(*//Standard Interface ABB Roboter*)
|
||||
|
||||
TYPE
|
||||
gtyp_ABBInterfaceIn : STRUCT (*Inputs from ABB Robot Interface*)
|
||||
bMotorsOn : BOOL := FALSE; (*00 Motors are On (Flash = Unsync)*)
|
||||
bMotorsOff : BOOL := FALSE; (*01 Motoren sind Aus (Blinken = Safety Chain)*)
|
||||
bProgramRun : BOOL := FALSE; (*02 Programm l<>uft*)
|
||||
bEStop : BOOL := FALSE; (*03 E-Stop von Roboter*)
|
||||
bAutomatic : BOOL := FALSE; (*04 Automatik Modus*)
|
||||
bError : BOOL := FALSE; (*05 Error von Roboter*)
|
||||
bRunChainOk : BOOL; (*06 RunChain Ok*)
|
||||
bLifebeat : BOOL := FALSE; (*07 Lifebeat von Roboter (<28>ber CC zur<75>ckgeroutet)*)
|
||||
bMotionSupervisionTriggered : BOOL := FALSE; (*08 Bewegungs<67>berwachung ausgl<67>st*)
|
||||
bWZHome : BOOL := FALSE; (*24 Roboter ist in Homepos*)
|
||||
usStatus : USINT := 0; (*64 Status*)
|
||||
END_STRUCT;
|
||||
gtyp_ABBInterfaceOut : STRUCT (*Output to ABB Robot Interface*)
|
||||
bSwitchMotorOn : BOOL := FALSE; (*00 Switch Motors On*)
|
||||
bSwitchMotorOff : BOOL := FALSE; (*01 Switch Motors Off*)
|
||||
bStart : BOOL := FALSE; (*02 Start - Nicht at Main*)
|
||||
bStop : BOOL := FALSE; (*03 Stop Cycle*)
|
||||
bResetEStop : BOOL := FALSE; (*04 Reset E-Stop*)
|
||||
bResetError : BOOL := FALSE; (*05 Reset Errors*)
|
||||
bStartAtMain : BOOL := FALSE; (*06 Start At Main (Continuous)*)
|
||||
bLifebeat : BOOL := FALSE; (*07 Lifebeat an Roboter*)
|
||||
bStartBackup : BOOL := FALSE; (*08 Start Backup*)
|
||||
usProgNr : USINT := 0; (*64 Programm Number*)
|
||||
END_STRUCT;
|
||||
gtyp_ABBInterface : STRUCT (*ABB Robot Interface*)
|
||||
bOnline : BOOL; (*Kommuniktion OK*)
|
||||
In : gtyp_ABBInterfaceIn; (*Eing<6E>nge von ABB Roboter*)
|
||||
Out : gtyp_ABBInterfaceOut; (*Ausga<67>nge an aBB Roboter*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
5
Logical/Communication/GlobalCom.var
Normal file
5
Logical/Communication/GlobalCom.var
Normal file
@@ -0,0 +1,5 @@
|
||||
(*//Kommunikationsstrukturen*)
|
||||
VAR RETAIN
|
||||
gABBRobot : ARRAY[1..2] OF gtyp_ABBInterface; (*Standard interface zu ABB Roboter*)
|
||||
END_VAR
|
||||
(*Variablen / Strukturen*)
|
||||
10
Logical/Communication/Package.pkg
Normal file
10
Logical/Communication/Package.pkg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.4.67 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File" Description="Communication Types">GlobalCom.typ</Object>
|
||||
<Object Type="File" Description="Logging Vars">GlobalCom.var</Object>
|
||||
<Object Type="Program" Language="IEC" Description="Communication to ABB Robot 1 (IRC 5 Version)">ABBCom</Object>
|
||||
<Object Type="Package">RFID</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
8
Logical/Communication/RFID/GlobaRFID.var
Normal file
8
Logical/Communication/RFID/GlobaRFID.var
Normal file
@@ -0,0 +1,8 @@
|
||||
(*//Communicationstructures*)
|
||||
(*//Transponders*)
|
||||
VAR
|
||||
gudRFIDReader1ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader2ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader3ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader4ID : UDINT; (*Gelesene ID*)
|
||||
END_VAR
|
||||
9
Logical/Communication/RFID/Package.pkg
Normal file
9
Logical/Communication/RFID/Package.pkg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.8.122 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File" Description="Logging Vars">GlobaRFID.var</Object>
|
||||
<Object Type="File" Description="Logging Vars" Private="true">RFID1var.var</Object>
|
||||
<Object Type="Program" Language="IEC" Description="13 Mhz Transponder B&R">RFID_USB</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
8
Logical/Communication/RFID/RFID1var.var
Normal file
8
Logical/Communication/RFID/RFID1var.var
Normal file
@@ -0,0 +1,8 @@
|
||||
(*//Communicationstructures*)
|
||||
(*//Transponders*)
|
||||
VAR RETAIN
|
||||
pudRFIDSerialReader1 : {REDUND_UNREPLICABLE} UDINT := 5242948; (*Serien Nr RFID Reader 1*)
|
||||
pudRFIDSerialReader2 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 2*)
|
||||
pudRFIDSerialReader3 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 3*)
|
||||
pudRFIDSerialReader4 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 4*)
|
||||
END_VAR
|
||||
52
Logical/Communication/RFID/RFID_USB/ASCtoUDINT.st
Normal file
52
Logical/Communication/RFID/RFID_USB/ASCtoUDINT.st
Normal file
@@ -0,0 +1,52 @@
|
||||
FUNCTION ASCtoUDINT
|
||||
ASCtoUDINT := 0;
|
||||
udNextAdr := udInNextAdr;
|
||||
IF bInReverse THEN
|
||||
sStart := 7;
|
||||
sEnd := 0;
|
||||
sStep := -1;
|
||||
ELSE
|
||||
sStart := 0;
|
||||
sEnd := 7;
|
||||
sStep := 1;
|
||||
END_IF
|
||||
FOR usi := sStart TO sEnd BY sStep DO
|
||||
brsmemcpy (ADR (usChar), udNextAdr + usi, 1);
|
||||
CASE usChar OF
|
||||
48:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 0;
|
||||
49:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 1;
|
||||
50:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 2;
|
||||
51:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 3;
|
||||
52:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 4;
|
||||
53:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 5;
|
||||
54:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 6;
|
||||
55:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 7;
|
||||
56:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 8;
|
||||
57:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 9;
|
||||
65:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 10;
|
||||
66:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 11;
|
||||
67:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 12;
|
||||
68:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 13;
|
||||
69:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 14;
|
||||
70:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 15;
|
||||
ELSE
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 16#f;
|
||||
END_CASE
|
||||
END_FOR
|
||||
END_FUNCTION
|
||||
12
Logical/Communication/RFID/RFID_USB/IEC.prg
Normal file
12
Logical/Communication/RFID/RFID_USB/IEC.prg
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.8.122 SP?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Implementation code">RFID_USB.st</File>
|
||||
<File Description="Local variables" Private="true">RFID_USB.var</File>
|
||||
<File Description="Local data types" Private="true">RFID_USB.typ</File>
|
||||
<File Private="true">RFID_USB.fun</File>
|
||||
<File Description="Convert ASCII Value to UDINT">ASCtoUDINT.st</File>
|
||||
<File Description="Convert UDINT Value to ASCII">UDINTtoASC.st</File>
|
||||
</Files>
|
||||
</Program>
|
||||
28
Logical/Communication/RFID/RFID_USB/RFID_USB.fun
Normal file
28
Logical/Communication/RFID/RFID_USB/RFID_USB.fun
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
FUNCTION ASCtoUDINT : UDINT (*Convert ASCII Value to UDINT*)
|
||||
VAR_INPUT
|
||||
udInNextAdr : UDINT; (*Next Pos in ByteStream (No CHECK)*)
|
||||
bInReverse : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
udNextAdr : UDINT;
|
||||
usi : SINT;
|
||||
sStart : SINT;
|
||||
sEnd : SINT;
|
||||
sStep : SINT;
|
||||
usChar : USINT;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
FUNCTION UDINTtoASC : UDINT (*Convert UDINT Value to ASCII*)
|
||||
VAR_INPUT
|
||||
udInNextAdr : UDINT; (*Next Pos in ByteStream (No CHECK)*)
|
||||
udInValue : UDINT;
|
||||
END_VAR
|
||||
VAR
|
||||
udNextAdr : UDINT;
|
||||
udValue : UDINT;
|
||||
usi : USINT;
|
||||
usChar : USINT;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
606
Logical/Communication/RFID/RFID_USB/RFID_USB.st
Normal file
606
Logical/Communication/RFID/RFID_USB/RFID_USB.st
Normal file
@@ -0,0 +1,606 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT --
|
||||
********************************************************************
|
||||
* Program: RFID_USB
|
||||
* File: RFID_USB.st
|
||||
* Author: michi
|
||||
* Created: December 04, 2012
|
||||
********************************************************************
|
||||
* Implementation of program RFID_USB
|
||||
* With 4 readers
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _INIT
|
||||
udAttachDetachCount := 0;
|
||||
usNodeIx := 0;
|
||||
enStep := enRFIDStep_INIT;
|
||||
FUB_UsbDescriptorGet.descriptorType := asusb_USB_DESCR_STRING;
|
||||
FUB_UsbDescriptorGet.descriptorIndex := 3; //DeviceDescr Serial Nr
|
||||
|
||||
//Seriennumer Reader
|
||||
pudRFIDSerialReader1 := 5242948;
|
||||
END_PROGRAM
|
||||
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
|
||||
CASE enStep OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDStep_INIT:
|
||||
FUB_FrameRead1.enable := 0;
|
||||
FUB_FrameRead2.enable := 0;
|
||||
FUB_FrameRead3.enable := 0;
|
||||
FUB_FrameRead4.enable := 0;
|
||||
FUB_FrameReleaseBuffer1.enable := 0;
|
||||
FUB_FrameReleaseBuffer2.enable := 0;
|
||||
FUB_FrameReleaseBuffer3.enable := 0;
|
||||
FUB_FrameReleaseBuffer4.enable := 0;
|
||||
FUB_FrameWrite1.enable := 0;
|
||||
FUB_FrameWrite2.enable := 0;
|
||||
FUB_FrameWrite3.enable := 0;
|
||||
FUB_FrameWrite4.enable := 0;
|
||||
FUB_FrameXOpen1.enable := 0;
|
||||
FUB_FrameXOpen2.enable := 0;
|
||||
FUB_FrameXOpen3.enable := 0;
|
||||
FUB_FrameXOpen4.enable := 0;
|
||||
FUB_UsbNodeGet.enable := 0;
|
||||
FUB_UsbNodeListGet.enable := 0;
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
|
||||
//Get USB Nodelsit
|
||||
//---------------------------
|
||||
enRFIDStep_USB_GETNODELIST:
|
||||
FUB_UsbNodeListGet.enable := 1;
|
||||
FUB_UsbNodeListGet.pBuffer := ADR (udNodeList);
|
||||
FUB_UsbNodeListGet.bufferSize := SIZEOF (udNodeList);
|
||||
FUB_UsbNodeListGet.filterInterfaceClass := 0;
|
||||
FUB_UsbNodeListGet.filterInterfaceSubClass := 0;
|
||||
|
||||
IF (FUB_UsbNodeListGet.status = ERR_OK) AND (FUB_UsbNodeListGet.listNodes > 0) THEN
|
||||
// USB Device Attach or detach
|
||||
FUB_UsbNodeListGet.enable := 0;
|
||||
usNodeIx := 0;
|
||||
udAttachDetachCount := FUB_UsbNodeListGet.attachDetachCount;
|
||||
IF FUB_UsbNodeListGet.listNodes < NEEDED_DEVICES THEN
|
||||
enStep := enRFIDStep_USB_SEARCHDEVICE;
|
||||
//FixMe Error
|
||||
END_IF
|
||||
enStep := enRFIDStep_USB_SEARCHDEVICE;
|
||||
usFoundReaders := 0;
|
||||
END_IF
|
||||
//else if (UsbNodeListGetFub.status == asusbERR_BUFSIZE || UsbNodeListGetFub.status == asusbERR_NULLPOINTER)
|
||||
|
||||
//Serch Reader in USB Devices
|
||||
//---------------------------
|
||||
enRFIDStep_USB_SEARCHDEVICE:
|
||||
FUB_UsbNodeGet.enable := 1;
|
||||
FUB_UsbNodeGet.nodeId := udNodeList[usNodeIx];
|
||||
FUB_UsbNodeGet.pBuffer := ADR (usbDevice[usNodeIx]);
|
||||
FUB_UsbNodeGet.bufferSize := SIZEOF (usbDevice[usNodeIx]);
|
||||
|
||||
IF (FUB_UsbNodeGet.status = ERR_OK ) THEN
|
||||
FUB_UsbNodeGet.enable := 0;
|
||||
// USB FTDI Transponder
|
||||
IF (usbDevice[usNodeIx].vendorId = TRANSPONDER_FTDI_VENDOR_ID) AND
|
||||
(usbDevice[usNodeIx].productId = TRANSPONDER_FTDI_PRODUCT_ID) AND
|
||||
(usbDevice[usNodeIx].bcdDevice = TRANSPONDER_FTDI_BCD) THEN
|
||||
// USB FTDI Transponder found
|
||||
usFoundReaders := usFoundReaders + 1;
|
||||
ELSE
|
||||
udNodeList[usNodeIx] := 0; //Ignore
|
||||
END_IF
|
||||
|
||||
usNodeIx := usNodeIx + 1;
|
||||
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
|
||||
//Find individual Readers
|
||||
usNodeIx := 0;
|
||||
enStep := enRFIDStep_USB_READDEVDESCR;
|
||||
END_IF
|
||||
ELSIF (FUB_UsbNodeGet.status = asusbERR_USB_NOTFOUND) THEN
|
||||
// USB Device NOT found
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
END_IF
|
||||
//ELSE IF (FUB_UsbNodeGet.status == asusbERR_BUFSIZE || FUB_UsbNodeGet.status == asusbERR_NULLPOINTER)
|
||||
|
||||
//Get DeviceDescriptor
|
||||
enRFIDStep_USB_READDEVDESCR:
|
||||
FUB_UsbDescriptorGet.enable := (udNodeList[usNodeIx] > 0);
|
||||
FUB_UsbDescriptorGet.nodeId := udNodeList[usNodeIx];
|
||||
FUB_UsbDescriptorGet.requestType := asusb_USB_RT_DEVICE;
|
||||
FUB_UsbDescriptorGet.descriptorType := asusb_USB_DESCR_STRING;
|
||||
FUB_UsbDescriptorGet.descriptorIndex := 3; //DeviceDescr Serial Nr
|
||||
FUB_UsbDescriptorGet.languageId := 16#0409;
|
||||
FUB_UsbDescriptorGet.pBuffer := ADR (strDeviceDescr[usNodeIx]);
|
||||
FUB_UsbDescriptorGet.bufferSize := SIZEOF (strDeviceDescr[usNodeIx]);
|
||||
|
||||
IF (udNodeList[usNodeIx] = 0) THEN
|
||||
usNodeIx := usNodeIx + 1;
|
||||
ELSIF (FUB_UsbDescriptorGet.status = ERR_OK ) THEN
|
||||
FUB_UsbDescriptorGet.enable := 0;
|
||||
brsmemcpy (ADR (udSerialNr[usNodeIx]), ADR (strDeviceDescr[usNodeIx]) + 14, 4);
|
||||
usNodeIx := usNodeIx + 1;
|
||||
IF (udSerialNr[usNodeIx] = pudRFIDSerialReader1) AND (pudRFIDSerialReader1 > 0) THEN
|
||||
usNodeIxReader1 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader2) AND (pudRFIDSerialReader2 > 0) THEN
|
||||
usNodeIxReader2 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader3) AND (pudRFIDSerialReader3 > 0) THEN
|
||||
usNodeIxReader3 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader4) AND (pudRFIDSerialReader4 > 0) THEN
|
||||
usNodeIxReader4 := usNodeIx;
|
||||
END_IF
|
||||
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
|
||||
// Found All Devices
|
||||
usNodeIx := 55;
|
||||
enStep := enRFIDStep_IDLE;
|
||||
END_IF
|
||||
ELSIF (FUB_UsbDescriptorGet.status = asusbERR_USB_NOTFOUND) THEN
|
||||
// USB Device NOT found
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
CASE enStepReader1 OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT:
|
||||
IF (usNodeIxReader1 < 55) THEN
|
||||
enStepReader1 := enRFIDReaderStep_USB_DVDEVOPEN;
|
||||
END_IF;
|
||||
|
||||
//Open Reader Devicer
|
||||
//---------------------------
|
||||
enRFIDReaderStep_USB_DVDEVOPEN:
|
||||
// initialize open structure */
|
||||
FUB_FrameXOpen1.device :=ADR (usbDevice[usNodeIxReader1].ifName);
|
||||
FUB_FrameXOpen1.mode := 0;
|
||||
FUB_FrameXOpen1.config := 0;
|
||||
FUB_FrameXOpen1.enable := (udNodeList[usNodeIxReader1] > 0);
|
||||
|
||||
IF (FUB_FrameXOpen1.status = frmERR_OK) THEN
|
||||
FUB_FrameWrite1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameRead1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameReleaseBuffer1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameXOpen1.enable := 0;
|
||||
enStepReader1 := enRFIDReaderStep_INIT_READER;
|
||||
END_IF
|
||||
|
||||
//Get USB Nodelist
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT_READER:
|
||||
// Register Write:
|
||||
// 5V operation, RF output active, full power; ISO 15693, low bit rate, 6.62 kbps, one subcarrier, 1 out OF 4
|
||||
//
|
||||
// 10 00 21 01 00
|
||||
// | | | | |
|
||||
// | | | | Value Register 0x01
|
||||
// | | | ISO Control Register (0x01)
|
||||
// | | Value Register 0x00
|
||||
// | Chip Status Control Register (0x00)
|
||||
// Register Write Cmd
|
||||
|
||||
// Set Protocol, 1 out OF 4, full power, low bit rate */
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('1000210100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0C'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
//IDLE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_IDLE:
|
||||
|
||||
CASE enCmd1 OF
|
||||
enRFIDCMD_NONE:
|
||||
|
||||
enRFIDCMD_READ_INVENTORY:
|
||||
// Inventory
|
||||
// 14 04 01 00
|
||||
// | | | |
|
||||
// | | | Mask Length
|
||||
// | | Anticollision Cmd
|
||||
// | Flags (Inventory flag = 1, HDR = 0)
|
||||
// Inventory request
|
||||
// inventory 16 slot
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('14040100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 16; // 16 slot answer
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SYSINFO:
|
||||
// Read System Info
|
||||
// 18 00 2B
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002B'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0A'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SBLOCK:
|
||||
// Read Single Block
|
||||
// 18 02 20
|
||||
// | | |
|
||||
// | | Read Single Block Cmd
|
||||
// | Flags (Option = 1, HDR = 0)
|
||||
// Request Cmd
|
||||
//
|
||||
// Option = 1: Return block security status
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('184020')); // read block #1
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[1]), ADR ('0'));
|
||||
END_IF
|
||||
brsstrcat (ADR (strWriteData[1]), ADR (strTemp));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
enRFIDCMD_WRITE_SBLOCK:
|
||||
// Write Single Block
|
||||
// 18 00 21
|
||||
// | | |
|
||||
// | | Write Single Block Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('180021')); // write block #1 (Data = 0x12345678)
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[1]), ADR ('0'));
|
||||
END_IF
|
||||
UDINTtoASC (ADR (strWriteData[1]) + 8, udWriteData);
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0F'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_AFI:
|
||||
// Write AFI
|
||||
// 18 00 30
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002730')); // write AFI (0x30 = Identification)
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_DFSID:
|
||||
// Write DSFID
|
||||
// 18 00 29
|
||||
// | | |
|
||||
// | | Write DSFID Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002918')); // write DSFID 0x18
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
END_CASE
|
||||
|
||||
//WRITE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_WRITE:
|
||||
// initialize write structure */
|
||||
//Frame Start
|
||||
brsstrcpy (ADR (strWriteTelegram[1]), ADR ('01'));
|
||||
//Length
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR (strWriteDatalen[1]));
|
||||
//Const 00 + Start of Payload
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR ('000304'));
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR (strWriteData[1]));
|
||||
//Frame End
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR ('0000'));
|
||||
FUB_FrameWrite1.buffer := ADR (strWriteTelegram[1]);
|
||||
FUB_FrameWrite1.buflng := UDINT_TO_UINT (brsstrlen (ADR (strWriteTelegram[1])));
|
||||
FUB_FrameWrite1.enable := 1;
|
||||
IF (FUB_FrameWrite1.status = frmERR_OK) THEN
|
||||
enStepReader1 := enRFIDReaderStep_READ;
|
||||
FUB_FrameWrite1.enable := 0;
|
||||
uiReadCount[1] := 0;
|
||||
END_IF
|
||||
|
||||
//READ
|
||||
//---------------------------
|
||||
enRFIDReaderStep_READ:
|
||||
// initialize read structure
|
||||
FUB_FrameRead1.enable := 1;
|
||||
pReadBuffer[1] := FUB_FrameRead1.buffer; // get adress OF read buffer */
|
||||
uiReadBufferLength[1] := FUB_FrameRead1.buflng; // get length OF read buffer */
|
||||
|
||||
IF (FUB_FrameRead1.status = frmERR_OK) THEN
|
||||
udTemp := 0;
|
||||
brsmemset (ADR (strReadData[1]), 0, SIZEOF (strReadData[1]));
|
||||
brsmemcpy (ADR (strReadData[1]), pReadBuffer[1], uiReadBufferLength[1]); // copy read data into array */
|
||||
IF (uiReadBufferLength[1] > 7) THEN
|
||||
brsstrcpy (ADR (strReadTag[1]), ADR (strReadData[1])); // copy read data into Tag array */
|
||||
END_IF
|
||||
IF (uiReadBufferLength[1] = 16) THEN
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 5, FALSE);
|
||||
END_IF
|
||||
IF (uiReadBufferLength[1] >= 23) THEN
|
||||
//TagID Slot
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 2, TRUE);
|
||||
END_IF
|
||||
|
||||
// initialize release buffer structure */
|
||||
FUB_FrameReleaseBuffer1.enable := 1;
|
||||
FUB_FrameReleaseBuffer1.buffer := pReadBuffer[1];
|
||||
FUB_FrameReleaseBuffer1.buflng := uiReadBufferLength[1];
|
||||
FUB_FrameReleaseBuffer1 ();
|
||||
|
||||
uiReadCount[1] := uiReadCount[1] + 1;
|
||||
IF udTemp > 0 THEN
|
||||
gudRFIDReader1ID := udTemp;
|
||||
udSave := udTemp;
|
||||
END_IF
|
||||
IF (uiReadCount[1] = uiReadAnswer[1]) THEN
|
||||
FUB_FrameRead1.enable := 0;
|
||||
enStepReader1 := enRFIDReaderStep_IDLE;
|
||||
enCmd1 := enRFIDCMD_NONE;
|
||||
END_IF
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
CASE enStepReader2 OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT:
|
||||
IF (usNodeIxReader2 < 55) AND (NEEDED_DEVICES >= 2) THEN
|
||||
enStepReader2 := enRFIDReaderStep_USB_DVDEVOPEN;
|
||||
END_IF;
|
||||
|
||||
//Open Reader Devicer
|
||||
//---------------------------
|
||||
enRFIDReaderStep_USB_DVDEVOPEN:
|
||||
// initialize open structure */
|
||||
FUB_FrameXOpen2.device :=ADR (usbDevice[usNodeIxReader2].ifName);
|
||||
FUB_FrameXOpen2.mode := 0;
|
||||
FUB_FrameXOpen2.config := 0;
|
||||
FUB_FrameXOpen2.enable := (udNodeList[usNodeIxReader2] > 0);
|
||||
|
||||
IF (FUB_FrameXOpen2.status = frmERR_OK) THEN
|
||||
FUB_FrameWrite2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameRead2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameReleaseBuffer2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameXOpen2.enable := 0;
|
||||
enStepReader2 := enRFIDReaderStep_INIT_READER;
|
||||
END_IF
|
||||
|
||||
//Get USB Nodelist
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT_READER:
|
||||
// Register Write:
|
||||
// 5V operation, RF output active, full power; ISO 15693, low bit rate, 6.62 kbps, one subcarrier, 1 out OF 4
|
||||
//
|
||||
// 10 00 21 01 00
|
||||
// | | | | |
|
||||
// | | | | Value Register 0x01
|
||||
// | | | ISO Control Register (0x01)
|
||||
// | | Value Register 0x00
|
||||
// | Chip Status Control Register (0x00)
|
||||
// Register Write Cmd
|
||||
|
||||
// Set Protocol, 1 out OF 4, full power, low bit rate */
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('1000210100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0C'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
//IDLE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_IDLE:
|
||||
|
||||
CASE enCmd2 OF
|
||||
enRFIDCMD_NONE:
|
||||
|
||||
enRFIDCMD_READ_INVENTORY:
|
||||
// Inventory
|
||||
// 14 04 01 00
|
||||
// | | | |
|
||||
// | | | Mask Length
|
||||
// | | Anticollision Cmd
|
||||
// | Flags (Inventory flag = 1, HDR = 0)
|
||||
// Inventory request
|
||||
// inventory 16 slot
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('14040100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 16; // 16 slot answer
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SYSINFO:
|
||||
// Read System Info
|
||||
// 18 00 2B
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002B'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0A'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SBLOCK:
|
||||
// Read Single Block
|
||||
// 18 02 20
|
||||
// | | |
|
||||
// | | Read Single Block Cmd
|
||||
// | Flags (Option = 1, HDR = 0)
|
||||
// Request Cmd
|
||||
//
|
||||
// Option = 1: Return block security status
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('184020')); // read block #1
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[2]), ADR ('0'));
|
||||
END_IF
|
||||
brsstrcat (ADR (strWriteData[2]), ADR (strTemp));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
enRFIDCMD_WRITE_SBLOCK:
|
||||
// Write Single Block
|
||||
// 18 00 21
|
||||
// | | |
|
||||
// | | Write Single Block Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('180021')); // write block #1 (Data = 0x12345678)
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[2]), ADR ('0'));
|
||||
END_IF
|
||||
UDINTtoASC (ADR (strWriteData[2]) + 8, udWriteData);
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0F'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_AFI:
|
||||
// Write AFI
|
||||
// 18 00 30
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002730')); // write AFI (0x30 = Identification)
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_DFSID:
|
||||
// Write DSFID
|
||||
// 18 00 29
|
||||
// | | |
|
||||
// | | Write DSFID Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002918')); // write DSFID 0x18
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
END_CASE
|
||||
|
||||
//WRITE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_WRITE:
|
||||
// initialize write structure */
|
||||
//Frame Start
|
||||
brsstrcpy (ADR (strWriteTelegram[2]), ADR ('01'));
|
||||
//Length
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR (strWriteDatalen[2]));
|
||||
//Const 00 + Start of Payload
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR ('000304'));
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR (strWriteData[2]));
|
||||
//Frame End
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR ('0000'));
|
||||
FUB_FrameWrite2.buffer := ADR (strWriteTelegram[2]);
|
||||
FUB_FrameWrite2.buflng := UDINT_TO_UINT (brsstrlen (ADR (strWriteTelegram[2])));
|
||||
FUB_FrameWrite2.enable := 1;
|
||||
IF (FUB_FrameWrite2.status = frmERR_OK) THEN
|
||||
enStepReader2 := enRFIDReaderStep_READ;
|
||||
FUB_FrameWrite2.enable := 0;
|
||||
uiReadCount[2] := 0;
|
||||
END_IF
|
||||
|
||||
//READ
|
||||
//---------------------------
|
||||
enRFIDReaderStep_READ:
|
||||
// initialize read structure
|
||||
FUB_FrameRead2.enable := 1;
|
||||
pReadBuffer[2] := FUB_FrameRead2.buffer; // get adress OF read buffer */
|
||||
uiReadBufferLength[2] := FUB_FrameRead2.buflng; // get length OF read buffer */
|
||||
|
||||
IF (FUB_FrameRead2.status = frmERR_OK) THEN
|
||||
udTemp := 0;
|
||||
brsmemset (ADR (strReadData[2]), 0, SIZEOF (strReadData[2]));
|
||||
brsmemcpy (ADR (strReadData[2]), pReadBuffer[2], uiReadBufferLength[2]); // copy read data into array */
|
||||
IF (uiReadBufferLength[2] > 7) THEN
|
||||
brsstrcpy (ADR (strReadTag[2]), ADR (strReadData[2])); // copy read data into Tag array */
|
||||
END_IF
|
||||
IF (uiReadBufferLength[2] = 16) THEN
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[2]) + 5, FALSE);
|
||||
END_IF
|
||||
IF (uiReadBufferLength[2] >= 23) THEN
|
||||
//TagID Slot
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[2]) + 2, TRUE);
|
||||
END_IF
|
||||
|
||||
// initialize release buffer structure */
|
||||
FUB_FrameReleaseBuffer2.enable := 1;
|
||||
FUB_FrameReleaseBuffer2.buffer := pReadBuffer[2];
|
||||
FUB_FrameReleaseBuffer2.buflng := uiReadBufferLength[2];
|
||||
FUB_FrameReleaseBuffer2 ();
|
||||
|
||||
uiReadCount[2] := uiReadCount[2] + 1;
|
||||
|
||||
IF udTemp > 0 THEN
|
||||
gudRFIDReader2ID := udTemp;
|
||||
END_IF
|
||||
IF (uiReadCount[2] = uiReadAnswer[2]) THEN
|
||||
FUB_FrameRead2.enable := 0;
|
||||
enStepReader2 := enRFIDReaderStep_IDLE;
|
||||
enCmd2 := enRFIDCMD_NONE;
|
||||
END_IF
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
TON_Read1.IN := (enStepReader1 = enRFIDReaderStep_IDLE) AND (enCmd1 = enRFIDCMD_NONE) AND (NEEDED_DEVICES >= 1);
|
||||
TON_Read1.PT := t#1s;
|
||||
TON_Read1 ();
|
||||
IF TON_Read1.Q THEN
|
||||
enCmd1 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read2.IN := (enStepReader2 = enRFIDReaderStep_IDLE) AND (enCmd2 = enRFIDCMD_NONE) AND (NEEDED_DEVICES >= 2);
|
||||
TON_Read2.PT := t#1s;
|
||||
TON_Read2 ();
|
||||
IF TON_Read2.Q THEN
|
||||
enCmd2 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read3.IN := (enStepReader3 = enRFIDReaderStep_IDLE) AND (enCmd3 = enRFIDCMD_NONE AND (NEEDED_DEVICES >= 3));
|
||||
TON_Read3.PT := t#1s;
|
||||
TON_Read3 ();
|
||||
IF TON_Read3.Q THEN
|
||||
enCmd3 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read4.IN := (enStepReader4 = enRFIDReaderStep_IDLE) AND (enCmd4 = enRFIDCMD_NONE AND (NEEDED_DEVICES >= 4));
|
||||
TON_Read4.PT := t#1s;
|
||||
TON_Read4 ();
|
||||
IF TON_Read4.Q THEN
|
||||
enCmd4 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
|
||||
//Call FUBs
|
||||
FUB_FrameRead1 ();
|
||||
FUB_FrameRead2 ();
|
||||
FUB_FrameRead3 ();
|
||||
FUB_FrameRead4 ();
|
||||
FUB_FrameWrite1 ();
|
||||
FUB_FrameWrite2 ();
|
||||
FUB_FrameWrite3 ();
|
||||
FUB_FrameWrite4 ();
|
||||
FUB_FrameXOpen1 ();
|
||||
FUB_FrameXOpen2 ();
|
||||
FUB_FrameXOpen3 ();
|
||||
FUB_FrameXOpen4 ();
|
||||
FUB_UsbNodeGet ();
|
||||
FUB_UsbNodeListGet ();
|
||||
FUB_UsbDescriptorGet ();
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
PROGRAM _EXIT
|
||||
|
||||
|
||||
(* TODO : Add your code here *)
|
||||
|
||||
|
||||
END_PROGRAM
|
||||
30
Logical/Communication/RFID/RFID_USB/RFID_USB.typ
Normal file
30
Logical/Communication/RFID/RFID_USB/RFID_USB.typ
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
TYPE
|
||||
typ_enStepRFID :
|
||||
( (*Schritte RFID Leser*)
|
||||
enRFIDStep_INIT, (*Init -> Search Reader*)
|
||||
enRFIDStep_USB_GETNODELIST, (*Get USB Devices*)
|
||||
enRFIDStep_USB_SEARCHDEVICE, (*Search Reader in Devices*)
|
||||
enRFIDStep_USB_READDEVDESCR, (*Get Device Descriptor*)
|
||||
enRFIDStep_IDLE
|
||||
);
|
||||
typ_enCmdRFID :
|
||||
(
|
||||
enRFIDCMD_NONE,
|
||||
enRFIDCMD_READ_INVENTORY,
|
||||
enRFIDCMD_READ_SYSINFO,
|
||||
enRFIDCMD_READ_SBLOCK,
|
||||
enRFIDCMD_WRITE_SBLOCK,
|
||||
enRFIDCMD_WRITE_AFI,
|
||||
enRFIDCMD_WRITE_DFSID
|
||||
);
|
||||
typ_enStepRFIDReader :
|
||||
( (*Schritte RFID Leser*)
|
||||
enRFIDReaderStep_INIT, (*Init -> Search Reader*)
|
||||
enRFIDReaderStep_USB_DVDEVOPEN, (*Open Reader*)
|
||||
enRFIDReaderStep_INIT_READER, (*Initialize Reader*)
|
||||
enRFIDReaderStep_IDLE, (*Wait for commands*)
|
||||
enRFIDReaderStep_READ, (*READ from Reader*)
|
||||
enRFIDReaderStep_WRITE (*WRITE to Reader*)
|
||||
);
|
||||
END_TYPE
|
||||
71
Logical/Communication/RFID/RFID_USB/RFID_USB.var
Normal file
71
Logical/Communication/RFID/RFID_USB/RFID_USB.var
Normal file
@@ -0,0 +1,71 @@
|
||||
VAR
|
||||
sizeUsbNode : USINT;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
usNodeIx : USINT;
|
||||
END_VAR
|
||||
VAR
|
||||
usFoundReaders : USINT;
|
||||
usNodeIxReader1 : USINT; (*Node Index Reader 1*)
|
||||
usNodeIxReader2 : USINT; (*Node Index Reader 2*)
|
||||
usNodeIxReader3 : USINT; (*Node Index Reader 3*)
|
||||
usNodeIxReader4 : USINT; (*Node Index Reader 4*)
|
||||
usBlockNr : USINT;
|
||||
udSerialNr : ARRAY[0..31] OF UDINT;
|
||||
uiReadAnswer : ARRAY[1..4] OF UINT;
|
||||
uiReadBufferLength : ARRAY[1..4] OF UINT;
|
||||
uiReadCount : ARRAY[1..4] OF UINT;
|
||||
uiLength : UINT;
|
||||
udAttachDetachCount : UDINT;
|
||||
udNodeList : ARRAY[0..31] OF UDINT;
|
||||
pReadBuffer : ARRAY[1..4] OF UDINT;
|
||||
udTemp : UDINT;
|
||||
udSave : UDINT;
|
||||
udWriteData : UDINT;
|
||||
strReadData : ARRAY[1..4] OF STRING[80];
|
||||
strReadTag : ARRAY[1..4] OF STRING[80];
|
||||
strDeviceDescr : ARRAY[1..4] OF WSTRING[80];
|
||||
strWriteData : ARRAY[1..4] OF STRING[80];
|
||||
strWriteDatalen : ARRAY[1..4] OF STRING[2];
|
||||
strWriteTelegram : ARRAY[1..4] OF STRING[80];
|
||||
strTemp : STRING[2];
|
||||
enStep : typ_enStepRFID;
|
||||
enStepReader1 : typ_enStepRFIDReader;
|
||||
enStepReader2 : typ_enStepRFIDReader;
|
||||
enStepReader3 : typ_enStepRFIDReader;
|
||||
enStepReader4 : typ_enStepRFIDReader;
|
||||
enCmd1 : typ_enCmdRFID;
|
||||
enCmd2 : typ_enCmdRFID;
|
||||
enCmd3 : typ_enCmdRFID;
|
||||
enCmd4 : typ_enCmdRFID;
|
||||
usbDevice : ARRAY[0..31] OF usbNode_typ;
|
||||
FUB_FrameRead1 : FRM_read;
|
||||
FUB_FrameRead2 : FRM_read;
|
||||
FUB_FrameRead3 : FRM_read;
|
||||
FUB_FrameRead4 : FRM_read;
|
||||
FUB_FrameReleaseBuffer1 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer2 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer3 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer4 : FRM_rbuf;
|
||||
FUB_FrameWrite1 : FRM_write;
|
||||
FUB_FrameWrite2 : FRM_write;
|
||||
FUB_FrameWrite3 : FRM_write;
|
||||
FUB_FrameWrite4 : FRM_write;
|
||||
FUB_FrameXOpen1 : FRM_xopen;
|
||||
FUB_FrameXOpen2 : FRM_xopen;
|
||||
FUB_FrameXOpen3 : FRM_xopen;
|
||||
FUB_FrameXOpen4 : FRM_xopen;
|
||||
FUB_UsbNodeGet : UsbNodeGet;
|
||||
FUB_UsbNodeListGet : UsbNodeListGet;
|
||||
FUB_UsbDescriptorGet : UsbDescriptorGet;
|
||||
TON_Read1 : TON;
|
||||
TON_Read2 : TON;
|
||||
TON_Read3 : TON;
|
||||
TON_Read4 : TON;
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
TRANSPONDER_FTDI_VENDOR_ID : UINT := 16#0403;
|
||||
TRANSPONDER_FTDI_PRODUCT_ID : UINT := 16#6001;
|
||||
TRANSPONDER_FTDI_BCD : UINT := 16#0600;
|
||||
NEEDED_DEVICES : USINT := 1; (*4 RFID Leserverbaut*)
|
||||
END_VAR
|
||||
44
Logical/Communication/RFID/RFID_USB/UDINTtoASC.st
Normal file
44
Logical/Communication/RFID/RFID_USB/UDINTtoASC.st
Normal file
@@ -0,0 +1,44 @@
|
||||
FUNCTION UDINTtoASC
|
||||
UDINTtoASC := udNextAdr + 8;
|
||||
udNextAdr := udInNextAdr;
|
||||
udValue := udInValue;
|
||||
FOR usi:=7 TO 0 BY -1 DO
|
||||
usChar := UDINT_TO_USINT (udValue MOD 16);
|
||||
usChar := UDINT_TO_USINT (udValue / 16);
|
||||
brsmemcpy (ADR (usChar), udNextAdr + usi, 1);
|
||||
CASE usChar OF
|
||||
0:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('0'), 1);
|
||||
1:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('1'), 1);
|
||||
2:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('2'), 1);
|
||||
3:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('3'), 1);
|
||||
4:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('4'), 1);
|
||||
5:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('5'), 1);
|
||||
6:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('6'), 1);
|
||||
7:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('7'), 1);
|
||||
8:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('8'), 1);
|
||||
9:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('9'), 1);
|
||||
10:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('A'), 1);
|
||||
11:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('B'), 1);
|
||||
12:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('C'), 1);
|
||||
13:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('D'), 1);
|
||||
14:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('E'), 1);
|
||||
15:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('F'), 1);
|
||||
END_CASE
|
||||
END_FOR
|
||||
END_FUNCTION
|
||||
79
Logical/GlobalVars/Global.typ
Normal file
79
Logical/GlobalVars/Global.typ
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
TYPE
|
||||
ACPinverter_typ : STRUCT (*Acopos Inverter*)
|
||||
bModuleOK : BOOL;
|
||||
In : ACPinverterIn_typ;
|
||||
Out : ACPinverterOut_typ;
|
||||
END_STRUCT;
|
||||
ACPinverterIn_typ : STRUCT (*Acopos Inverter Inputs*)
|
||||
bStat00_ReadytoSwitchOn : BOOL;
|
||||
bStat01_SwitchedOnReady : BOOL;
|
||||
bstat02_Enabled : BOOL;
|
||||
bStat03_FaultDetecton : BOOL;
|
||||
bStat04_VoltageDisabled : BOOL;
|
||||
bStat05_QuickstopINV : BOOL;
|
||||
bStat06_SwitchedOnDisabled : BOOL;
|
||||
bStat07_Alarm : BOOL;
|
||||
bStat09_ReferenceViaNetwork : BOOL;
|
||||
bStat10_TargetReferenceReached : BOOL;
|
||||
bStat11_InternalLimitActive : BOOL;
|
||||
bStat14_StopViaKey : BOOL;
|
||||
bStat15_RotationDirection : BOOL;
|
||||
bExtStat00_EEPROM_NonVolatile : BOOL;
|
||||
bExtStat01_ParameterConsCheck : BOOL;
|
||||
bExtStat02_DriveInFault : BOOL;
|
||||
bExtStat04_SpeedModeActive : BOOL;
|
||||
bExtStat05_DCInjection : BOOL;
|
||||
bExtStat06_TransientState : BOOL;
|
||||
bExtStat07_ThermalTreshold : BOOL;
|
||||
bExtStat08_Overbraking : BOOL;
|
||||
bExtStat09_Accelerating : BOOL;
|
||||
bExtStat10_Decellerating : BOOL;
|
||||
bExtStat11_I_Limited : BOOL;
|
||||
bExtStat12_FastStopping : BOOL;
|
||||
bExtStat13_ExtControlled0 : BOOL;
|
||||
bExtStat14_ExtCondrolled1 : BOOL;
|
||||
bExtStat15_OperationDir : BOOL;
|
||||
iRFRD_Velocity : INT;
|
||||
iOTR_Torque : INT;
|
||||
uiLCR_Current : UINT;
|
||||
uiTHD_ThermalStateDrive : UINT;
|
||||
uiTHR_ThermalStatMotor : UINT;
|
||||
bInputLI1 : BOOL;
|
||||
bInputLI2 : BOOL;
|
||||
bInputLI3 : BOOL;
|
||||
bInputLI4 : BOOL;
|
||||
bRelay2State : BOOL;
|
||||
uiErrorCode : UINT;
|
||||
iLastFault : INT;
|
||||
END_STRUCT;
|
||||
ACPinverterOut_typ : STRUCT (*Acopos Inverter Outputs*)
|
||||
bCmd00_SwitchOn : BOOL;
|
||||
bCmd01_DisableVoltage : BOOL;
|
||||
bCmd02_QuickStop : BOOL;
|
||||
bCmd03_EnableOperation : BOOL;
|
||||
bCmd07_ResetFault : BOOL;
|
||||
bCmd11_Direction : BOOL;
|
||||
bCmd12_StopCommand : BOOL;
|
||||
bCmd13 : BOOL;
|
||||
bCmd14 : BOOL;
|
||||
bCmd15 : BOOL;
|
||||
bCmi00_FactorySettings : BOOL;
|
||||
bCmi01_SaveToEEPROM : BOOL;
|
||||
bCmi03_ExternalFault : BOOL;
|
||||
bCmi04_RampSwitching : BOOL;
|
||||
bCmi09_FrequencyReference : BOOL;
|
||||
bCmi13_LockOnStandstill : BOOL;
|
||||
bCmi15_CheckParameterConsitency : BOOL;
|
||||
iLFR_Setpointspeed : INT;
|
||||
bOR_Relay2 : BOOL;
|
||||
END_STRUCT;
|
||||
PushButton_typ : STRUCT (*Leuchtringtaster*)
|
||||
bInKeyStatus : BOOL; (*Taster - Status*)
|
||||
bOuGreen : BOOL; (*Leuchtring Gr<47>n*)
|
||||
bOuYellow : BOOL; (*Leuchtring Gelb*)
|
||||
bOuRed : BOOL; (*Leuchtring Rot*)
|
||||
bOuWhite : BOOL; (*Leuchtring Wei<65>*)
|
||||
bOuBlue : BOOL; (*Leuchtring Blau (Optional)*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
206
Logical/GlobalVars/Global.var
Normal file
206
Logical/GlobalVars/Global.var
Normal file
@@ -0,0 +1,206 @@
|
||||
(*================================================================================================================*)
|
||||
(*CPU (PWLnk Node 240)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
udSerialNr : UDINT; (*Seriennummer*)
|
||||
guiTemperatureCPU : UINT; (*CPU Temperatur*)
|
||||
guiTemperatureENV : UINT; (*Umgebungstemperatur*)
|
||||
gdiSystemTime : DINT; (*Systemzeit [<5B>s]*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF5.ST1 - 3XP0057*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gPB1 : PushButton_typ; (*Leuchtringtaster 1*)
|
||||
gPB2 : PushButton_typ; (*Leuchtringtaster 2*)
|
||||
gPB3 : PushButton_typ; (*Leuchtringtaster 3*)
|
||||
gPB4 : PushButton_typ; (*Leuchtringtaster 4*)
|
||||
gPB5 : PushButton_typ; (*Leuchtringtaster 5*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF5.ST2 - 3XP0057*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gPB1_Right : PushButton_typ; (*Leuchtringtaster 1 (Anlage Rechts)*)
|
||||
gPB2_Right : PushButton_typ; (*Leuchtringtaster 2 (Anlage Rechts)*)
|
||||
gPB3_Right : PushButton_typ; (*Leuchtringtaster 3 (Anlage Rechts)*)
|
||||
gPB4_Right : PushButton_typ; (*Leuchtringtaster 4 (Anlage Rechts)*)
|
||||
gPB5_Right : PushButton_typ; (*Leuchtringtaster 5 (Anlage Rechts)*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3 - SLX811*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSLXModuleOk : BOOL;
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals to Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCResetEStop : BOOL; (*Reset Not-Halt (Allgemein)*)
|
||||
gbSPLCResetDoorsLeft : BOOL; (*Wartungst<73>ren Links quittieren*)
|
||||
gbSPLCReadbackEstop : BOOL; (*R<>ckf<6B>hrkreis*)
|
||||
gbSPLCResetBumperLeft : BOOL; (*Bumper Links quittieren*)
|
||||
END_VAR
|
||||
(*R<>cklesesignale direkt von Eingang gemappt*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals from Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCInEstopOk : BOOL; (*Safety PLC E-Stop ist Ok*)
|
||||
gbSPLCInDoorsLeftOk : BOOL; (*Safety PLC T<>rkreis Links ist Ok*)
|
||||
gbSPLCInErrorReadBackEStop : BOOL; (*Safety PlC Fehler R<>ckf<6B>hrkreis Netzsch<63>tze (PV Mapping von DI)*)
|
||||
gbSPLCInBumperLeftOk : BOOL; (*Safety PLC Handschutzleiste Links ist Ok und quittiert*)
|
||||
gbSPLCInMaintDoorsLeftOk : BOOL; (*Safety PLC Wartungst<73>ren Links Ok und quittiert*)
|
||||
guiSPLCInESTOPDiag : UINT; (*DiagnoseCode E-Stop*)
|
||||
guiSPLCInMaintDLeftESTOPDiag : UINT; (*DiagnoseCode E-Stop Diagnose Code E_STOP FB Wartungst<73>ren bei Abluft Zelle Links*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*I/O from SLX*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInEStopLeftOk : BOOL; (*Sicherer Eingang 01/02 Equivalent - Nothalt Links Ok*)
|
||||
gbSInMaintDoorLeftOk : BOOL; (*Sicherer Eingang 03/04 Equivalent - Wartungst<73>r Links Ok*)
|
||||
gbSInBumperLeftOk : BOOL; (*Sicherer Eingang 05/06 Equivalent - Handschutzleiste Links Ok*)
|
||||
gbSInGateLeftClosed : BOOL; (*Sicherer Eingang 07/08 Equivalent - Einlegetor Links Geschlossen*)
|
||||
gusST3FBK_2ChStatus12 : USINT; (*Status 2-kanal*)
|
||||
gusST3FBK_2ChStatus34 : USINT; (*Status 2-kanal*)
|
||||
gusST3FBK_2ChStatus56 : USINT; (*Status 2-kanal*)
|
||||
gusST3FBK_2ChStatus78 : USINT; (*Status 2-kanal*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST4 - SC2212*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInEStopRobLeftOk : BOOL; (*Sicherer Eingang 01/02 Equivalent - Nothalt von Roboter Links Ok*)
|
||||
END_VAR
|
||||
(*//Spare*)
|
||||
VAR
|
||||
gbSInEStop1Ok : BOOL; (*Sicherer Eingang 05/06 Equivalent - Nothalt Bedientableau Ok*)
|
||||
gbSOuMainValveAirLeft : BOOL; (*Sicherer Ausgang 01 - Freigabe Luft Links*)
|
||||
END_VAR
|
||||
(*//Spare*)
|
||||
VAR
|
||||
gusST4FBK_2ChStatus12 : USINT; (*Status 2-kanal*)
|
||||
gusST4FBK_2ChStatus34 : USINT; (*Status 2-kanal*)
|
||||
gusST4FBK_2ChStatus56 : USINT; (*Status 2-kanal*)
|
||||
guiST4FBK_StatusRestInhibit : UINT; (*Status Wiederanlaufsperre*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST5 - SO6300*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*gbSOuCloseGateLeft Sicherer Ausgang 01 - Schutztor Links schlie<69>en*)
|
||||
(*gbSOuOpenFlapLeft Sicherer Ausgang 02 - Schutzklappe Links <20>ffnen*)
|
||||
VAR
|
||||
guiST5FBK_StatusRestInhibit : UINT; (*Status Wiederanlaufsperre*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST6 - SO6530*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSOuRobLeftEStop : BOOL; (*Sicherer Ausgang 01/02 Nothalt 2-kanalig an Roboter links (General Stop / EStop)*)
|
||||
gbSOuRobLeftAStop : BOOL; (*Sicherer Ausgang 03/04 Auto-Stop 2-kanalig an Roboter links*)
|
||||
gbSOuSafetyLeftOk : BOOL; (*Sicherer Ausgang 05/06 Sicherheit Links Ok*)
|
||||
gudST6FBK_StatusRestInhibit : UDINT; (*Status Wiederanlaufsperre*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST7 - DI9371 (Eing<6E>nge allgemein*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*gbInSlayLeftBw*)
|
||||
(*gbInSlayLeftFw*)
|
||||
(*//Drehzylinder*)
|
||||
(*//Drehzylinder*)
|
||||
(*//1Spare*)
|
||||
(*//1Spare*)
|
||||
VAR
|
||||
gbIn10F3Ok : BOOL; (*Sicherung Ok*)
|
||||
END_VAR
|
||||
(*//1Spare*)
|
||||
VAR
|
||||
gbIn10F5Ok : BOOL; (*Sicherung Ok*)
|
||||
END_VAR
|
||||
(*//1Spare*)
|
||||
(*gbInEnableSuctionLeft*)
|
||||
(*//1Spare*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST8 - DI9371 (Eing<6E>nge)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbInKeyResetLeft : BOOL; (*Taster Reset Links*)
|
||||
END_VAR
|
||||
(*//gbInKeyStartLeft*)
|
||||
VAR
|
||||
gbInMaintDoorLeftError : BOOL; (*Wartungst<73>r Links Diagnose - Fehler*)
|
||||
gbInMaintDoorLeftClosed : BOOL; (*Wartungst<73>r Links Geschlossen - nicht verriegelt*)
|
||||
END_VAR
|
||||
(*gbInAirFlapOpenLeft*)
|
||||
(*gbInAirFlapClosedLeft*)
|
||||
(*gbInGateOpenLeft*)
|
||||
VAR
|
||||
gbInTurnLeftHome : BOOL; (*Schrittmotor Drehen Links GS*)
|
||||
gbInMainAirOkLeft : BOOL; (*Haupluft Druck Ok Links*)
|
||||
END_VAR
|
||||
(*gbInFireLeftNoFirealarm*)
|
||||
VAR
|
||||
gbInNoErrorBumperLeft : BOOL; (*Keine St<53>rung Auswerteeinheit Handschutzleiste Links (Nur wenn Versorgung Ok)*)
|
||||
END_VAR
|
||||
(*gbInFireLeftError*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST9 - X20DO9322 (Ausg<73>nge Allgemein)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbOu4T1_Di01 : BOOL; (*DI 1 auf Umrichter - Crosslinked mit ReferenzIni*)
|
||||
END_VAR
|
||||
(*//1 Spare - An Umnrichter*)
|
||||
(*//1 Spare*)
|
||||
VAR
|
||||
gbOuSupplyBumperLeft : BOOL; (*Versorgungsspannung Bumper Auswerteger<65>t Links*)
|
||||
END_VAR
|
||||
(*gbOuFireTestResetLeft*)
|
||||
(*gbOuOperationToSucktionLeft*)
|
||||
(*//gbOuLampGreenLeft*)
|
||||
VAR
|
||||
gbOuLampRedLeft : BOOL; (*LM Taster Rot Links*)
|
||||
gbOuMaintDoorLeftLock : BOOL; (*Wartungst<73>r Links Verriegeln*)
|
||||
END_VAR
|
||||
(*gbOuErrorToSucktionLeft*)
|
||||
VAR
|
||||
gbOuLightOn : BOOL;
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST16 - PS2100 (Sicherheit Links Ok)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbInPSafeLeftOff : BOOL; (*Potential 24 Sicher Links - Aus (F<>r R<>ckf<6B>hrkreis)*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST11 - X20DO9322 (Ausg<73>nge Sicherheit Links)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*gbOuPaintOnRight*)
|
||||
(*gbOuPaintGunOnRight*)
|
||||
(*gbOuSlayRightFw*)
|
||||
(*gbOuSlayRightBw*)
|
||||
(*gbOuPaintRightRound*)
|
||||
(*gbOuPaintRighttWide*)
|
||||
(*//1 Reserve*)
|
||||
(*//1 Reserve*)
|
||||
(*//1 Reserve*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST21 - X20SI4100*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInCabLeftMaintDoorLeft : BOOL; (*Sicherer Eingang 01/02 Equivalent - Kabine Links Schutzt<7A>r links*)
|
||||
gbSInCabLeftMaintDoorRight : BOOL; (*Sicherer Eingang 03/04 Equivalent - Kabine Links Schutzt<7A>r rechts*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Achsen*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gAxis01 : ACP10AXIS_typ;
|
||||
gAxis01_HW : SdcHwCfg_typ := (0);
|
||||
gAxis01_DrvIf : SdcDrvIf16_typ := (0);
|
||||
gAxis01_EncIf1 : SdcEncIf16_typ := (0);
|
||||
gAxis01_DiDoIf : SdcDiDoIf_typ := (0);
|
||||
gAxis01_MotorStep0 : INT := 0;
|
||||
END_VAR
|
||||
8
Logical/GlobalVars/Package.pkg
Normal file
8
Logical/GlobalVars/Package.pkg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File">Global.typ</Object>
|
||||
<Object Type="File" Description="Global variables / IOs">Global.var</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/acp10_mc.br
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/acp10_mc.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/libacp10_mc.a
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/libacp10_mc.a
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/acp10_mc.br
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/acp10_mc.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/libacp10_mc.a
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/libacp10_mc.a
Normal file
Binary file not shown.
7103
Logical/Libraries/Acp10_MC/SG4/acp10_mc.h
Normal file
7103
Logical/Libraries/Acp10_MC/SG4/acp10_mc.h
Normal file
File diff suppressed because it is too large
Load Diff
4085
Logical/Libraries/Acp10_MC/acp10_mc.fun
Normal file
4085
Logical/Libraries/Acp10_MC/acp10_mc.fun
Normal file
File diff suppressed because it is too large
Load Diff
2058
Logical/Libraries/Acp10_MC/acp10_mc.typ
Normal file
2058
Logical/Libraries/Acp10_MC/acp10_mc.typ
Normal file
File diff suppressed because it is too large
Load Diff
286
Logical/Libraries/Acp10_MC/acp10_mc.var
Normal file
286
Logical/Libraries/Acp10_MC/acp10_mc.var
Normal file
@@ -0,0 +1,286 @@
|
||||
VAR CONSTANT
|
||||
mc5TH_ORDER_POLYNOMIAL : UINT := 4; (*motion rule*)
|
||||
mcABOVE_WINDOW : USINT := 40; (*trigger event mode*)
|
||||
mcABS : USINT := 1; (*encoder type*)
|
||||
mcABSOLUTE : USINT := 0; (*start mode*)
|
||||
mcABSOLUTE_NO_RESET : USINT := 2; (*definition for the shift input of MC_BR_Offset and MC_BR_Phasing*)
|
||||
mcACKNOWLEDGE_ALL : UINT := 2; (*acknowledge all error records immediately*)
|
||||
mcACT_CFG : UINT := 1;
|
||||
mcACTUAL_POSITION : UINT := 1; (*position source for MPDC*)
|
||||
mcACTUAL_VELOCITY : INT := 10; (*PLCopen motion parameter*)
|
||||
mcADD_DATE_TIME : UINT := 1; (*additional data object type*)
|
||||
mcALL_AXES : UDINT := 16#FFFFFFFF;
|
||||
mcALL_EVENTS : USINT := 255; (*event index*)
|
||||
mcALL_PARAMS : USINT := 0; (*parameter index*)
|
||||
mcALL_STATES : USINT := 255; (*state index*)
|
||||
mcAUT_POS_TOLERANCE : INT := 1009; (*PLCopen motion parameter*)
|
||||
mcAUTOMAT_POS : USINT := 100; (*additional movement direction*)
|
||||
mcAVERAGE : UINT := 2;
|
||||
mcAVERAGE_WEIGHTED : UINT := 4;
|
||||
mcAXIS_ERROR : USINT := 0;
|
||||
mcAXIS_FACTOR : INT := 1007; (*PLCopen motion parameter*)
|
||||
mcAXIS_FACTOR_MAPPING : INT := 1019; (*PLCopen motion parameter*)
|
||||
mcAXIS_NETWORK_CYCLE_TIME: INT := 1018; (*PLCopen motion parameter*)
|
||||
mcAXIS_PERIOD : INT := 1008; (*PLCopen motion parameter*)
|
||||
mcAXIS_PERIOD_MAPPING : INT := 1020; (*PLCopen motion parameter*)
|
||||
mcAXIS_WARNING : USINT := 1;
|
||||
mcBASIS_PARAMETERS : REAL := 2.0; (*Option for DefaultMoveParameter*)
|
||||
mcBELOW_WINDOW : USINT := 50; (*trigger event mode*)
|
||||
mcBESTFIT_5TH_ORDER : UINT := 1024; (*interpolation rule*)
|
||||
mcBESTFIT_6TH_ORDER : UINT := 1280; (*interpolation rule*)
|
||||
mcBLANK : UINT := 0;
|
||||
mcBRAKE_CONTROL_INIT : USINT := 8; (*brake command*)
|
||||
mcBRAKE_TEST_INIT : USINT := 2; (*brake command*)
|
||||
mcBRAKE_TEST_START : USINT := 4; (*brake command*)
|
||||
mcCALCULATION : UINT := 11; (*setup mode*)
|
||||
mcCATCH_UP : USINT := 4; (*synchronization mode*)
|
||||
mcCHECK : UINT := 1; (*mode for automat compensation check*)
|
||||
mcCHECK_HOMING_OFF : USINT := 1; (*disable homing check*)
|
||||
mcCLOSE : USINT := 0;
|
||||
mcCMD_ERROR : UINT := 1; (*error command*)
|
||||
mcCMD_ERROR_COAST_TO_STANDSTILL : UINT := 5; (*error command*)
|
||||
mcCMD_ERROR_INDUCTION_HALT : UINT := 6; (*error command*)
|
||||
mcCMD_ERROR_STOP : UINT := 2; (*error command*)
|
||||
mcCMD_ERROR_STOP_CTRL_OFF : UINT := 3; (*error command*)
|
||||
mcCMD_ERROR_V_STOP_CTRL_OFF : UINT := 4; (*error command*)
|
||||
mcCMD_WARNING : UINT := 0; (*error command *)
|
||||
mcCOMMANDED_POSITION : INT := 1; (*PLCopen motion parameter*)
|
||||
mcCOMMANDED_VELOCITY : INT := 11; (*PLCopen motion parameter*)
|
||||
mcCONTINUE_CONTROLLER_OFF : UINT := 128; (* continue if controller is off *)
|
||||
mcCORRECT_CURRENT_CYCLE : UINT := 32768; (*additive StartMode for MC_BR_CrossCutterControl*)
|
||||
mcCUBIC_SPLINE : UINT := 256; (*interpolation rule*)
|
||||
mcCURRENT_DIR : USINT := 2; (*movement direction*)
|
||||
mcCYCLIC : UINT := 2; (*event move mode*)
|
||||
mcCYCLIC_ALL_EVENTS : UINT := 3; (*event move mode*)
|
||||
mcDATOBJ : UINT := 0; (*data object type*)
|
||||
mcDEFAULT_MOVE_PARAMETERS : INT := 1012; (*PLCopen motion parameter*)
|
||||
mcDIRECT : USINT := 7; (*start mode*)
|
||||
mcDIR_DEPENDENT : UINT := 1; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_BACKLASH : UINT := 2; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_SET_POSITION : UINT := 5; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT : UINT := 3; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_SPEED : UINT := 4; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_AX_POS : UINT := 257; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_BACKLASH_AX_POS : UINT := 258; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_SET_POS_AX_POS : UINT := 261; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_AX_POS : UINT := 259; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_SPEED_AX_POS : UINT := 260; (*mode for MPDC*)
|
||||
mcDISTANCE_BASED : UINT := 0; (*basis for cam movement (e.g. for MC_BR_CamTransition)*)
|
||||
mcDITHER : USINT := 32; (*setup mode*)
|
||||
mcEDGE_SENSITIVE : USINT := 4; (*additional mode for trigger event*)
|
||||
mcENABLE : UINT := 2;
|
||||
mcENABLE_LIMIT_NEG : INT := 5; (*PLCopen motion parameter*)
|
||||
mcENABLE_LIMIT_POS : INT := 4; (*PLCopen motion parameter*)
|
||||
mcENABLE_POS_LAG_MONITORING : INT := 6; (*PLCopen motion parameter*)
|
||||
mcENCODER : USINT := 0; (*setup mode*)
|
||||
mcENCODER_POSITION : UINT := 2; (*position source for MPDC*)
|
||||
mcEQUAL : UINT := 2;
|
||||
mcEVERY_RECORD : UINT := 1; (*mode for MC_BR_CyclicRead*)
|
||||
mcEXCEED_PERIOD : USINT := 8; (*movement direction*)
|
||||
mcFB_ERROR : USINT := 2;
|
||||
mcFB_INPUTS : REAL := 255.0; (*option for DefaultMoveParameters*)
|
||||
mcFF : USINT := 32; (*setup, torque mode*)
|
||||
mcFF_NEG_MOVE : UINT := 34; (*setup mode*)
|
||||
mcFF_POS_MOVE : UINT := 33; (*setup mode*)
|
||||
mcFILE : UINT := 1; (*data object type*)
|
||||
mcFILE_BIN : UINT := 0; (*binary format*)
|
||||
mcFILE_CSV : UINT := 1; (*CSV format*)
|
||||
mcFILE_TXT : UINT := 2; (*text format*)
|
||||
mcFINISH : UINT := 282;
|
||||
mcFIRST_RM : UINT := 0;
|
||||
mcFIRST_TRIGGER : UINT := 2;
|
||||
mcFLUX : USINT := 1; (*setup mode*)
|
||||
mcGE : UINT := 6;
|
||||
mcGET_BRAKE_STATUS : USINT := 16; (*brake command*)
|
||||
mcGREATER : UINT := 4;
|
||||
mcHARMONIC_COMBINATION : UINT := 8; (*motion rule*)
|
||||
mcHOLDOFF_DISTANCE : UINT := 16384;
|
||||
mcHOME_ABS_SWITCH : USINT := 2; (*homing mode*)
|
||||
mcHOME_ABSOLUTE : USINT := 4; (*homing mode*)
|
||||
mcHOME_ABSOLUTE_CORR : USINT := 6; (*homing mode*)
|
||||
mcHOME_AXIS_REF : USINT := 12; (*homing mode *)
|
||||
mcHOME_BLOCK_DS : USINT := 14; (*homing mode *)
|
||||
mcHOME_BLOCK_TORQUE : USINT := 13; (*homing mode *)
|
||||
mcHOME_DCM : USINT := 9; (*homing mode*)
|
||||
mcHOME_DCM_CORR : USINT := 10; (*homing mode*)
|
||||
mcHOME_DEFAULT : USINT := 0; (*homing mode*)
|
||||
mcHOME_DIRECT : USINT := 1; (*homing mode*)
|
||||
mcHOME_LIMIT_SWITCH : USINT := 3; (*homing mode*)
|
||||
mcHOME_REF_PULSE : USINT := 5; (*homing mode*)
|
||||
mcHOME_RESTORE_POS : USINT := 11; (*homing mode*)
|
||||
mcHOME_SET_PHASE : USINT := 7; (*homing mode*)
|
||||
mcHOME_SWITCH_GATE : USINT := 8; (*homing mode*)
|
||||
mcHORIZONTAL : USINT := 0; (*setup option for controller setup*)
|
||||
mcIDENTIFICATION : UINT := 10; (*setup mode *)
|
||||
mcIMMEDIATE : UINT := 0; (*mode for MC_BR_RegMarkCalc001, StartMode for MC_BR_CrossCutterControl, *)
|
||||
mcIN_WINDOW : USINT := 20; (*trigger event mode*)
|
||||
mcINC : USINT := 2; (*encoder type*)
|
||||
mcINC_ABS : USINT := 4; (*encoder type*)
|
||||
mcINC_REF : USINT := 3; (*encoder type*)
|
||||
mcINCLINED_SINE_CURVE : UINT := 5; (*motion rule*)
|
||||
mcINTERVAL_EVENT : UINT := 16;
|
||||
mcINVERSE : USINT := 255; (*encoder count direction*)
|
||||
mcIPL_LINEAR : USINT := 1; (*interpolation mode*)
|
||||
mcIPL_OFF : USINT := 0; (*interpolation mode*)
|
||||
mcIPL_QUADRATIC : USINT := 2; (*interpolation mode*)
|
||||
mcIPL_QUADRATIC_NO_OVERSHOOT : USINT := 4; (*interpolation mode*)
|
||||
mcISQ_F1_NOTCH : UINT := 128; (*setup mode*)
|
||||
mcISQ_F2_NOTCH : UINT := 256; (*setup mode*)
|
||||
mcISQ_F3_NOTCH : UINT := 512; (*setup mode*)
|
||||
mcISQ_RIPPLE : UINT := 20; (*setup mode*)
|
||||
mcLAST_POINT : UINT := 0; (*motion rule*)
|
||||
mcLEAD_IN : UINT := 2;
|
||||
mcLEAD_OUT : UINT := 4;
|
||||
mcLENGTH_ONLY : UINT := 32;
|
||||
mcLIMIT : USINT := 40; (*torque mode*)
|
||||
mcLIMIT_PARAMETERS : REAL := 1.0; (*option for DefaultMoveParameters*)
|
||||
mcLINEAR_CAM : USINT := 253; (*predefined 1:1 cam profile for MC_BR_CamDwell*)
|
||||
mcLINEAR_CAM_NON_PERIODIC : USINT := 254; (*for predifined 1:1 cam profile*)
|
||||
mcLINEAR_CAM_PERIODIC : USINT := 255; (*for predefined 1:1 cam profile*)
|
||||
mcLOAD : UINT := 276; (*trace command*)
|
||||
mcMANUAL_SEARCH : UINT := 64;
|
||||
mcMASTER_DISTANCE_BASED : UINT := 3; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcMASTER_INTERVAL : USINT := 0; (*start mode*)
|
||||
mcMASTER_POSITION : UINT := 256; (*additional basis for movement profile (e.g. for MC_BR_Offset), StartMode for MC_BR_CrossCutterControl*)
|
||||
mcMASTER_POSITION_BASED : UINT := 2; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcMAX_ACCELERATION_APPL : INT := 13; (*PLCopen motion parameter*)
|
||||
mcMAX_ACCELERATION_SYSTEM : INT := 12; (*PLCopen motion parameter*)
|
||||
mcMAX_DECELERATION_APPL : INT := 15; (*PLCopen motion parameter*)
|
||||
mcMAX_DECELERATION_SYSTEM : INT := 14; (*PLCopen motion parameter*)
|
||||
mcMAX_IV_TIME : USINT := 8; (*additional mode for power evaluation*)
|
||||
mcMAX_JERK : INT := 16; (*PLCopen motion parameter*)
|
||||
mcMAX_LOAD_SYSTEM : INT := 1015; (*PLCopen motion parameter*)
|
||||
mcMAX_POSITION_CHANGE : INT := 1016; (*PLCopen motion parameter*)
|
||||
mcMAX_POSITION_LAG : INT := 7; (*PLCopen motion parameter*)
|
||||
mcMAX_SLAVE_COMP_DISTANCE_NEG : UINT := 4; (*mode for automat compensation check*)
|
||||
mcMAX_SLAVE_COMP_DISTANCE_POS : UINT := 3; (*mode for automat compensation check*)
|
||||
mcMAX_VELOCITY_APPL : INT := 9; (*PLCopen motion parameter*)
|
||||
mcMAX_VELOCITY_SYSTEM : INT := 8; (*PLCopen motion parameter*)
|
||||
mcMIDDLE : USINT := 5;
|
||||
mcMIN_MASTER_COMP_DISTANCE : UINT := 2; (*mode for automat compensation check*)
|
||||
mcMODIFIED_ACCEL_TRAPEZOID : UINT := 6; (*motion rule*)
|
||||
mcMODIFIED_SINE_CURVE : UINT := 7; (*motion rule*)
|
||||
mcMOTOR : UINT := 258; (*switch on simulation mode*)
|
||||
mcMOVE_ACCELERATION_NEG : INT := 1005; (*PLCopen motion parameter*)
|
||||
mcMOVE_ACCELERATION_POS : INT := 1003; (*PLCopen motion parameter*)
|
||||
mcMOVE_CYCL_POS_IPL_MODE : INT := 1010; (*PLCopen motion parameter*)
|
||||
mcMOVE_CYCL_VEL_IPL_MODE : INT := 1011; (*PLCopen motion parameter*)
|
||||
mcMOVE_DECELERATION_NEG : INT := 1006; (*PLCopen motion parameter*)
|
||||
mcMOVE_DECELERATION_POS : INT := 1004; (*PLCopen motion parameter*)
|
||||
mcMOVE_VELOCITY_NEG : INT := 1002; (*PLCopen motion parameter*)
|
||||
mcMOVE_VELOCITY_POS : INT := 1001; (*PLCopen motion parameter*)
|
||||
mcMULTI_AXIS_TRACE : UDINT := 0; (*parameter trace type*)
|
||||
mcN_EDGE : USINT := 1;
|
||||
mcNEGATIVE_DIR : USINT := 1; (*movement direction*)
|
||||
mcNET_TRACE_GLOBAL : UDINT := 0; (*network trace type*)
|
||||
mcNETWORK_CYCLE_TIME: INT := 1017; (*PLCopen motion parameter*)
|
||||
mcNO_CHANGE_COMP : USINT := 2;
|
||||
mcNO_EVENTS : USINT := 253; (*event index*)
|
||||
mcNO_STATES : USINT := 253;
|
||||
mcNO_PARAMS : USINT := 253; (*parameter index*)
|
||||
mcNO_POSITION : USINT := 0;
|
||||
mcNO_START_COMP : USINT := 1;
|
||||
mcNO_TEXT : UINT := 0; (*no error text determination active*)
|
||||
mcNON_PERIODIC : BOOL := FALSE; (*cam profile mode*)
|
||||
mcNOT_AXIS_RELATED : UDINT := 16#FFFFFFFF;
|
||||
mcNULL : UINT := 1;
|
||||
mcOFF : BOOL := FALSE;
|
||||
mcON : BOOL := TRUE;
|
||||
mcONCE : UINT := 1;
|
||||
mcONE_RECORD : UINT := 0; (*mode for MC_BR_CyclicRead*)
|
||||
mcONLY_EVENTS : USINT := 254; (*event index*)
|
||||
mcONLY_PSM : USINT := 1; (*power evaluation mode*)
|
||||
mcOPEN : USINT := 1;
|
||||
mcOPTIMIZED_ACCELERATION : UINT := 768; (*interpolation rule*)
|
||||
mcOPTIMIZED_VELOCITY : UINT := 512; (*interpolation rule*)
|
||||
mcOUT_WINDOW : USINT := 30; (*trigger event mode*)
|
||||
mcOVERRIDE : INT := 1000; (*PLCopen motion parameter*)
|
||||
mcP_EDGE : USINT := 0;
|
||||
mcPASSIVE : UINT := 4; (*setup mode*)
|
||||
mcPERIODIC : BOOL := TRUE; (*cam profile mode*)
|
||||
mcPOSITION : USINT := 1; (*setup mode*)
|
||||
mcPOSITIVE_DIR : USINT := 0; (*movement direction*)
|
||||
mcQUADRATIC_PARABOLA : UINT := 2; (*motion rule*)
|
||||
mcQUEUED : UINT := 1;
|
||||
mcRELATIVE : USINT := 1; (*start mode*)
|
||||
mcRELATIVE_NO_RESET : USINT := 3; (*start mode*)
|
||||
mcRESET : UINT := 320; (*trace command*)
|
||||
mcRESET_RING_STARTIDX : UINT := 4416; (*trace command (0x1000 + 0x0140)*)
|
||||
mcRESTART : UINT := 273; (*StartMode for MC_BR_CrossCutterControl*)
|
||||
mcREVERSE : UINT := 8;
|
||||
mcSATURATION : USINT := 30; (*setup mode*)
|
||||
mcSAVE : UINT := 341; (*trace command*)
|
||||
mcSAVE_RING_STARTIDX : UINT := 4437; (*trace command (0x1000 + 0x0155)*)
|
||||
mcSE : UINT := 3;
|
||||
mcSET_GEN_ONLY : UINT := 1024; (*simulation with only set value generation*)
|
||||
mcSET_OFFSET : USINT := 34; (*setup mode*)
|
||||
mcSET_POSITION : UINT := 0; (*position source for MPDC*)
|
||||
mcSHIFT_FROM_EXPECTED : UINT := 50; (*input for MC_BR_TouchProbe*)
|
||||
mcSHIFT_FROM_RESULT : UINT := 49; (*input for MC_BR_TouchProbe*)
|
||||
mcSHORTEST_WAY : USINT := 3; (*synchronization mode, movement direction*)
|
||||
mcSIGNAL_CHIRP : UINT := 1; (*excitation signal type for controller setup*)
|
||||
mcSIGNAL_CHIRP_TRAPEZOID : UINT := 2; (*excitation signal type for controller setup*)
|
||||
mcSIGNAL_PRBS : UINT := 0; (*excitation signal type for controller setup*)
|
||||
mcSIMPLE_SINE_CURVE : UINT := 3; (*motion rule*)
|
||||
mcSIMULATION_INIT : UINT := 512; (*initialize simulation parameters*)
|
||||
mcSIMULATION_OFF : UINT := 259; (*switch off simulation mode*)
|
||||
mcSIMULATION_ON : UINT := 258; (*switch on simulation mode*)
|
||||
mcSIMULATION_READ : UINT := 265; (*read calculated simulation parameters*)
|
||||
mcSLAVE_POSITION : UINT := 0; (*additional basis for movement profile (e.g. for MC_BR_Offset)*)
|
||||
mcSLOW_DOWN : USINT := 5; (*synchronization mode*)
|
||||
mcSMALLER : UINT := 1;
|
||||
mcSPEED : USINT := 2; (*setup mode*)
|
||||
mcSTANDARD : USINT := 0; (*encoder count direction*)
|
||||
mcSTART : UINT := 260;
|
||||
mcSTART_N_FLANK : UINT := 128; (*start MPDC at negative flank*)
|
||||
mcSTART_ONLY : USINT := 3; (*power evaluation mode*)
|
||||
mcSTART_P_FLANK : UINT := 0; (*start MPDC at positive flank*)
|
||||
mcSTEPPER : USINT := 31; (*setup mode*)
|
||||
mcSTOP : UINT := 261;
|
||||
mcSTOP_INDEX : INT := 1013; (*PLCopen motion parameter*)
|
||||
mcSTRAIGHT_LINE : UINT := 1; (*motion rule*)
|
||||
mcSW_END_ACTIVE : REAL := 0.0; (*SW end monitoring mode*)
|
||||
mcSW_END_IGNORE : REAL := 1.0; (*SW end monitoring mode*)
|
||||
mcSW_END_MONITORING : INT := 1014; (*PLCopen motion parameter*)
|
||||
mcSW_END_SPF : REAL := 2.0; (*SW end monitoring mode*)
|
||||
mcSW_LIMIT_NEG : INT := 3; (*PLCopen motion parameter*)
|
||||
mcSW_LIMIT_POS : INT := 2; (*PLCopen motion parameter*)
|
||||
mcSWITCH_OFF : UINT := 259; (*trace command*)
|
||||
mcSWITCH_ON : UINT := 258; (*trace command*)
|
||||
mcT_FILTER : UINT := 64; (*setup mode*)
|
||||
mcT_FILTER_2 : UINT := 65; (*setup mode*)
|
||||
mcTEST : UINT := 31; (*setup mode*)
|
||||
mcTEXT : UINT := 1; (*error text determination active*)
|
||||
mcTIME_BASED : UINT := 1; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcTIME_LIMIT : USINT := 8; (*enable time dependent switch off of function*)
|
||||
mcTRACE_DELAY : USINT := 6; (*trace status*)
|
||||
mcTRACE_FINISHED : USINT := 1; (*trace status*)
|
||||
mcTRACE_REST : USINT := 5; (*trace status*)
|
||||
mcTRACE_RING : USINT := 4; (*trace status*)
|
||||
mcTRACE_STARTED : USINT := 20; (*trace status*)
|
||||
mcTRACE_TIME : USINT := 2; (*trace status*)
|
||||
mcTRACE_TRIGGER : USINT := 3; (*trace status*)
|
||||
mcTRANSITION_OFF : UINT := 0;
|
||||
mcTRANSITION_ON : UINT := 1;
|
||||
mcTUNE_STANDSTILL : USINT := 0; (*constant for OperatingPoint*)
|
||||
mcTUNE_TN : UINT := 16; (*setup mode*)
|
||||
mcTUNE_V_CONSTANT : USINT := 1; (*constant for OperatingPoint*)
|
||||
mcUNEQUAL : UINT := 5;
|
||||
mcUPDATE_PERIOD : UINT := 16#8000; (*input for MC_BR_TouchProbe*)
|
||||
mcUSE_AXIS_PERIOD : UINT := 16#4000; (*input for MC_BR_TouchProbe*)
|
||||
mcUSE_FILTER_PAR : UINT := 4; (*setup mode *)
|
||||
mcUSE_FIRST_TRIGGER_POS : UINT := 64; (*additional input for MC_BR_TouchProbe*)
|
||||
mcUSE_STOP_COMP : USINT := 4;
|
||||
mcUSE_TN : UINT := 8; (*setup mode*)
|
||||
mcV_LIMIT_CALC : USINT := 4; (*recalculate speed limit depending on user setting*)
|
||||
mcV_LIMIT_OFF : USINT := 2; (*disable speed limit*)
|
||||
mcVELOCITY_CONTROL : UINT := 4; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcVERTICAL : USINT := 1; (*setup option for controller setup*)
|
||||
mcWITH_PARAM : USINT := 2; (*power evaluation mode*)
|
||||
mcWITHIN_PERIOD : USINT := 6; (*synchronization mode*)
|
||||
mcWITHOUT_PERIOD : UINT := 4; (*input for MC_BR_TouchProbe*)
|
||||
mcWITH_FF : USINT := 0; (*torque limit mode*)
|
||||
mcWITHOUT_FF : USINT := 1; (*torque limit mode*)
|
||||
mcWRAP : UINT := 2;
|
||||
mcWRITE_DIRECT : UINT := 256; (*cyclic write mode*)
|
||||
END_VAR
|
||||
14
Logical/Libraries/Acp10_MC/binary.lby
Normal file
14
Logical/Libraries/Acp10_MC/binary.lby
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.5.60 SP?>
|
||||
<Library Version="5.09.2" SubType="binary" Description="PLCopen Motion Control function blocks" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>acp10_mc.fun</File>
|
||||
<File>acp10_mc.typ</File>
|
||||
<File>acp10_mc.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="Sys_lib" FromVersion="0.00.0" />
|
||||
<Dependency ObjectName="Brsystem" FromVersion="0.00.0" />
|
||||
<Dependency ObjectName="Acp10man" FromVersion="5.09.2" ToVersion="5.09.2" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
1985
Logical/Libraries/Acp10man/Acp10err-de.txt
Normal file
1985
Logical/Libraries/Acp10man/Acp10err-de.txt
Normal file
File diff suppressed because it is too large
Load Diff
1985
Logical/Libraries/Acp10man/Acp10err-en.txt
Normal file
1985
Logical/Libraries/Acp10man/Acp10err-en.txt
Normal file
File diff suppressed because it is too large
Load Diff
1314
Logical/Libraries/Acp10man/Acp10man.typ
Normal file
1314
Logical/Libraries/Acp10man/Acp10man.typ
Normal file
File diff suppressed because it is too large
Load Diff
2252
Logical/Libraries/Acp10man/Acp10par-de.txt
Normal file
2252
Logical/Libraries/Acp10man/Acp10par-de.txt
Normal file
File diff suppressed because it is too large
Load Diff
2252
Logical/Libraries/Acp10man/Acp10par-en.txt
Normal file
2252
Logical/Libraries/Acp10man/Acp10par-en.txt
Normal file
File diff suppressed because it is too large
Load Diff
11
Logical/Libraries/Acp10man/Binary.lby
Normal file
11
Logical/Libraries/Acp10man/Binary.lby
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.5.60 SP?>
|
||||
<Library Version="5.09.2" SubType="Binary" Description="Motion Control Manager" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>Acp10man.typ</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="Acp10par" FromVersion="5.09.2" ToVersion="5.09.2" />
|
||||
<Dependency ObjectName="Ncglobal" FromVersion="5.09.2" ToVersion="5.09.2" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
BIN
Logical/Libraries/Acp10man/SG4/ARM/acp10man.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/ARM/acp10man.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10man/SG4/IA32/acp10man.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/IA32/acp10man.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10man/SG4/Powerlink/acp10sys.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/Powerlink/acp10sys.br
Normal file
Binary file not shown.
1483
Logical/Libraries/Acp10man/SG4/acp10man.h
Normal file
1483
Logical/Libraries/Acp10man/SG4/acp10man.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Logical/Libraries/Acp10man/acp10bsl.br
Normal file
BIN
Logical/Libraries/Acp10man/acp10bsl.br
Normal file
Binary file not shown.
1810
Logical/Libraries/Acp10par/Acp10par.var
Normal file
1810
Logical/Libraries/Acp10par/Acp10par.var
Normal file
File diff suppressed because it is too large
Load Diff
7
Logical/Libraries/Acp10par/Binary.lby
Normal file
7
Logical/Libraries/Acp10par/Binary.lby
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.5.60 SP?>
|
||||
<Library Version="5.09.2" SubType="Binary" Description="ACOPOS Parameters" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>Acp10par.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
BIN
Logical/Libraries/Acp10par/SG4/ARM/acp10par.br
Normal file
BIN
Logical/Libraries/Acp10par/SG4/ARM/acp10par.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10par/SG4/IA32/acp10par.br
Normal file
BIN
Logical/Libraries/Acp10par/SG4/IA32/acp10par.br
Normal file
Binary file not shown.
1809
Logical/Libraries/Acp10par/SG4/acp10par.h
Normal file
1809
Logical/Libraries/Acp10par/SG4/acp10par.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Logical/Libraries/Acp10sdc/SG4/ARM/acp10sdc.br
Normal file
BIN
Logical/Libraries/Acp10sdc/SG4/ARM/acp10sdc.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10sdc/SG4/IA32/acp10sdc.br
Normal file
BIN
Logical/Libraries/Acp10sdc/SG4/IA32/acp10sdc.br
Normal file
Binary file not shown.
142
Logical/Libraries/Acp10sdc/SG4/acp10sdc.h
Normal file
142
Logical/Libraries/Acp10sdc/SG4/acp10sdc.h
Normal file
@@ -0,0 +1,142 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ACP10SDC_
|
||||
#define _ACP10SDC_
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define ncSDC_ENC16 100U
|
||||
#define ncSDC_ENC32 101U
|
||||
#define ncSDC_DRVSM16 110U
|
||||
#define ncSDC_DRVSM32 111U
|
||||
#define ncSDC_DRVSM16_CTRL 112U
|
||||
#define ncSDC_DRVSM32_CTRL 113U
|
||||
#define ncSDC_DRVSERVO16 120U
|
||||
#define ncSDC_TRIG 130U
|
||||
#define ncSDC_TRIGDIGin 131U
|
||||
#define ncSDC_DIDO 140U
|
||||
#else
|
||||
_IEC_CONST unsigned short ncSDC_ENC16 = 100U;
|
||||
_IEC_CONST unsigned short ncSDC_ENC32 = 101U;
|
||||
_IEC_CONST unsigned short ncSDC_DRVSM16 = 110U;
|
||||
_IEC_CONST unsigned short ncSDC_DRVSM32 = 111U;
|
||||
_IEC_CONST unsigned short ncSDC_DRVSM16_CTRL = 112U;
|
||||
_IEC_CONST unsigned short ncSDC_DRVSM32_CTRL = 113U;
|
||||
_IEC_CONST unsigned short ncSDC_DRVSERVO16 = 120U;
|
||||
_IEC_CONST unsigned short ncSDC_TRIG = 130U;
|
||||
_IEC_CONST unsigned short ncSDC_TRIGDIGin = 131U;
|
||||
_IEC_CONST unsigned short ncSDC_DIDO = 140U;
|
||||
#endif
|
||||
|
||||
|
||||
/* Variables */
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct SdcHwCfg_typ
|
||||
{ unsigned short EncIf1_Typ;
|
||||
unsigned short EncIf2_Typ;
|
||||
unsigned short DrvIf_Typ;
|
||||
unsigned short TrigIf1_Typ;
|
||||
unsigned short TrigIf2_Typ;
|
||||
unsigned short DiDoIf_Typ;
|
||||
unsigned char EncIf1_Name[34];
|
||||
unsigned char EncIf2_Name[34];
|
||||
unsigned char DrvIf_Name[34];
|
||||
unsigned char TrigIf1_Name[34];
|
||||
unsigned char TrigIf2_Name[34];
|
||||
unsigned char DiDoIf_Name[34];
|
||||
unsigned long NOT_USE[10];
|
||||
} SdcHwCfg_typ;
|
||||
|
||||
typedef struct SdcEncIf16_typ
|
||||
{ signed char iLifeCnt;
|
||||
plcbit iEncOK;
|
||||
signed short iActTime;
|
||||
signed short iActPos;
|
||||
signed short iRefPulsePos;
|
||||
signed char iRefPulseCnt;
|
||||
plcbit reserve[3];
|
||||
} SdcEncIf16_typ;
|
||||
|
||||
typedef struct SdcEncIf32_typ
|
||||
{ signed char iLifeCnt;
|
||||
plcbit iEncOK;
|
||||
signed short iActTime;
|
||||
signed long iActPos;
|
||||
signed long iRefPulsePos;
|
||||
signed char iRefPulseCnt;
|
||||
plcbit reserve[3];
|
||||
} SdcEncIf32_typ;
|
||||
|
||||
typedef struct SdcDrvIf16_typ
|
||||
{ signed char iLifeCnt;
|
||||
plcbit iDrvOK;
|
||||
signed short oSetTime;
|
||||
signed short oSetPos;
|
||||
plcbit oBoostCurrent;
|
||||
plcbit oStandStillCurrent;
|
||||
plcbit iStatusEnable;
|
||||
plcbit oBrake;
|
||||
plcbit reserve[2];
|
||||
} SdcDrvIf16_typ;
|
||||
|
||||
typedef struct SdcDrvIf32_typ
|
||||
{ signed char iLifeCnt;
|
||||
plcbit iDrvOK;
|
||||
signed short oSetTime;
|
||||
signed long oSetPos;
|
||||
plcbit oBoostCurrent;
|
||||
plcbit oStandStillCurrent;
|
||||
plcbit iStatusEnable;
|
||||
plcbit oBrake;
|
||||
} SdcDrvIf32_typ;
|
||||
|
||||
typedef struct SdcTrigIf_typ
|
||||
{ signed char iLifeCnt;
|
||||
signed char iTriggerCntRise;
|
||||
signed char iTriggerCntFall;
|
||||
plcbit iTriggerInput;
|
||||
signed short iTriggerTimeRise;
|
||||
signed short iTriggerTimeFall;
|
||||
} SdcTrigIf_typ;
|
||||
|
||||
typedef struct SdcTrigIfDIGin_typ
|
||||
{ signed char iLifeCnt;
|
||||
plcbit iTriggerInput;
|
||||
plcbit reserve[2];
|
||||
} SdcTrigIfDIGin_typ;
|
||||
|
||||
typedef struct SdcDiDoIf_typ
|
||||
{ signed char iLifeCntDriveReady;
|
||||
signed char iLifeCntPosHwEnd;
|
||||
signed char iLifeCntNegHwEnd;
|
||||
signed char iLifeCntReference;
|
||||
signed char iLifeCntDriveEnable;
|
||||
plcbit iDriveReady;
|
||||
plcbit iPosHwEnd;
|
||||
plcbit iNegHwEnd;
|
||||
plcbit iReference;
|
||||
plcbit oDriveEnable;
|
||||
plcbit reserve[2];
|
||||
} SdcDiDoIf_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
|
||||
|
||||
__asm__(".section \".plc\"");
|
||||
|
||||
__asm__(".previous");
|
||||
|
||||
|
||||
#endif /* _ACP10SDC_ */
|
||||
|
||||
83
Logical/Libraries/Acp10sdc/acp10sdc.typ
Normal file
83
Logical/Libraries/Acp10sdc/acp10sdc.typ
Normal file
@@ -0,0 +1,83 @@
|
||||
TYPE
|
||||
SdcHwCfg_typ : STRUCT
|
||||
EncIf1_Typ :UINT;
|
||||
EncIf2_Typ :UINT;
|
||||
DrvIf_Typ :UINT;
|
||||
TrigIf1_Typ :UINT;
|
||||
TrigIf2_Typ :UINT;
|
||||
DiDoIf_Typ :UINT;
|
||||
EncIf1_Name :ARRAY[0..33] OF USINT;
|
||||
EncIf2_Name :ARRAY[0..33] OF USINT;
|
||||
DrvIf_Name :ARRAY[0..33] OF USINT;
|
||||
TrigIf1_Name :ARRAY[0..33] OF USINT;
|
||||
TrigIf2_Name :ARRAY[0..33] OF USINT;
|
||||
DiDoIf_Name :ARRAY[0..33] OF USINT;
|
||||
NOT_USE :ARRAY[0..9] OF UDINT;
|
||||
END_STRUCT;
|
||||
SdcEncIf16_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iEncOK :BOOL;
|
||||
iActTime :INT;
|
||||
iActPos :INT;
|
||||
iRefPulsePos :INT;
|
||||
iRefPulseCnt :SINT;
|
||||
reserve :ARRAY[0..2] OF BOOL;
|
||||
END_STRUCT;
|
||||
SdcEncIf32_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iEncOK :BOOL;
|
||||
iActTime :INT;
|
||||
iActPos :DINT;
|
||||
iRefPulsePos :DINT;
|
||||
iRefPulseCnt :SINT;
|
||||
reserve :ARRAY[0..2] OF BOOL;
|
||||
END_STRUCT;
|
||||
SdcDrvIf16_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iDrvOK :BOOL;
|
||||
oSetTime :INT;
|
||||
oSetPos :INT;
|
||||
oBoostCurrent :BOOL;
|
||||
oStandStillCurrent :BOOL;
|
||||
iStatusEnable :BOOL;
|
||||
oBrake :BOOL;
|
||||
reserve :ARRAY[0..1] OF BOOL;
|
||||
END_STRUCT;
|
||||
SdcDrvIf32_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iDrvOK :BOOL;
|
||||
oSetTime :INT;
|
||||
oSetPos :DINT;
|
||||
oBoostCurrent :BOOL;
|
||||
oStandStillCurrent :BOOL;
|
||||
iStatusEnable :BOOL;
|
||||
oBrake :BOOL;
|
||||
END_STRUCT;
|
||||
SdcTrigIf_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iTriggerCntRise :SINT;
|
||||
iTriggerCntFall :SINT;
|
||||
iTriggerInput :BOOL;
|
||||
iTriggerTimeRise :INT;
|
||||
iTriggerTimeFall :INT;
|
||||
END_STRUCT;
|
||||
SdcTrigIfDIGin_typ : STRUCT
|
||||
iLifeCnt :SINT;
|
||||
iTriggerInput :BOOL;
|
||||
reserve :ARRAY[0..1] OF BOOL;
|
||||
END_STRUCT;
|
||||
SdcDiDoIf_typ : STRUCT
|
||||
iLifeCntDriveReady :SINT;
|
||||
iLifeCntPosHwEnd :SINT;
|
||||
iLifeCntNegHwEnd :SINT;
|
||||
iLifeCntReference :SINT;
|
||||
iLifeCntDriveEnable :SINT;
|
||||
iDriveReady :BOOL;
|
||||
iPosHwEnd :BOOL;
|
||||
iNegHwEnd :BOOL;
|
||||
iReference :BOOL;
|
||||
oDriveEnable :BOOL;
|
||||
reserve :ARRAY[0..1] OF BOOL;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
|
||||
13
Logical/Libraries/Acp10sdc/acp10sdc.var
Normal file
13
Logical/Libraries/Acp10sdc/acp10sdc.var
Normal file
@@ -0,0 +1,13 @@
|
||||
VAR CONSTANT
|
||||
ncSDC_ENC16 :UINT :=100;
|
||||
ncSDC_ENC32 :UINT :=101;
|
||||
ncSDC_DRVSM16 :UINT :=110;
|
||||
ncSDC_DRVSM32 :UINT :=111;
|
||||
ncSDC_DRVSM16_CTRL :UINT :=112;
|
||||
ncSDC_DRVSM32_CTRL :UINT :=113;
|
||||
ncSDC_DRVSERVO16 :UINT :=120;
|
||||
ncSDC_TRIG :UINT :=130;
|
||||
ncSDC_TRIGDIGin :UINT :=131;
|
||||
ncSDC_DIDO :UINT :=140;
|
||||
END_VAR
|
||||
|
||||
11
Logical/Libraries/Acp10sdc/binary.lby
Normal file
11
Logical/Libraries/Acp10sdc/binary.lby
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.5.60 SP?>
|
||||
<Library Version="5.09.2" SubType="binary" Description="Smart Device Controller" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>acp10sdc.var</File>
|
||||
<File>acp10sdc.typ</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="Acp10man" FromVersion="5.09.2" ToVersion="5.09.2" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
307
Logical/Libraries/ArEventLog/ArEventLog.fun
Normal file
307
Logical/Libraries/ArEventLog/ArEventLog.fun
Normal file
@@ -0,0 +1,307 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogCreate (*creates an event log module; asynchronous execution *)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Name : STRING[256]; (*name of the event log module*)
|
||||
Size : UDINT; (*size of the event log module*)
|
||||
Persistence : USINT; (*persistence type of the log module*)
|
||||
Info : UDINT; (*format of the additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType;(*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogDelete (*deletes an event log module; asynchronous execution *)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType;(*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetIdent (*gets identifier of an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Name : STRING[256]; (*name of the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
Ident : ArEventLogIdentType; (*identifier of the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogWrite (*writes a log entry to an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
EventID : DINT; (*event id of the log entry*)
|
||||
OriginRecordID : ArEventLogRecordIDType; (*record id of basic cause of error/warning, or 0*)
|
||||
ObjectID : STRING[36]; (*object id - string of maximum 35 characters, string length of 0 object id is generated internally*)
|
||||
AddDataSize : UDINT; (*size of the additional data, or 0 (no additional data)*)
|
||||
AddDataFormat : USINT; (*format of the additional data*)
|
||||
AddData : UDINT; (*additional data of the entry given as pointer, or 0 (no additional data)*)
|
||||
TimeStamp : UDINT; (*external timestamp given as pointer to ArEventLogTimeStampType, or 0 (timestamp is taken internally)*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
RecordID : ArEventLogRecordIDType; (*id of current record*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetLatestRecordID (*gets latest record id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
RecordID : ArEventLogRecordIDType; (*latest record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetPreviousRecordID (*gets previous record id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*current record id*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
PrevRecordID : ArEventLogRecordIDType; (*previous record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogRead (*reads a log entry from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
EventID : DINT; (*event id of the log entry*)
|
||||
OriginRecordID : ArEventLogRecordIDType; (*record id of basic cause of error/warning, or 0*)
|
||||
AddDataFormat : USINT; (*format of the additional data*)
|
||||
AddDataSize : UDINT; (*size of the additional data*)
|
||||
TimeStamp : ArEventLogTimeStampType; (*timestamp*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadDescription (*reads a description of an event id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
LanguageCode : ArEventLogLanguageCodeType;(*language id of description*)
|
||||
Qualifier : STRING[250]; (*additional qualifier - reserved for future use*)
|
||||
TextBuffer : UDINT; (*buffer for description*)
|
||||
TextBufferSize : UDINT; (*maximum description size*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
TextSize : UDINT; (*size of description (including 0-termination)*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadErrorNumber (*reads an error number log entry from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
ErrorNumber : UDINT; (*error number of the log entry*)
|
||||
Severity : USINT; (*severity of the log entry*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadAddData (*reads the additional data from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
AddData : UDINT; (*buffer for additional data given as pointer*)
|
||||
BytesToRead : UDINT; (*buffer size for additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution status: see help*)
|
||||
AddDataSize : UDINT; (*size of the additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadObjectID (*reads the object id from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
ObjectID : STRING[36]; (*object id - string of maximum 35 characters*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogMakeEventID : DINT (*makes an event id*)
|
||||
VAR_INPUT
|
||||
Severity : USINT; (*severity code of event id*)
|
||||
Facility : UINT; (*facility of event id*)
|
||||
ErrorCode : UINT; (*error code of event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsError : BOOL (*returns true if event id is an error entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsWarning : BOOL (*returns true if event id is a warning entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsInformation : BOOL (*returns true if event id is a information entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsSuccess : BOOL (*returns true if event id is a success entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsCustomerArea : BOOL (*returns true if the customer flag of the event id is set*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataInit : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Format : USINT; (*format of the additional data*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataUdint : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : UDINT; (*UDINT value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataDint : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : DINT; (*DINT value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataString : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : UDINT; (*STRING value, given as pointer to null terminated string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataQuantity : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : LREAL; (*LREAL value*)
|
||||
UnitID : DINT; (*unit ID, -1 no unit*)
|
||||
NamespaceURI : UDINT; (*namespace URI given as pointer to null terminated string, null is default namespace (CEFACT)*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
20
Logical/Libraries/ArEventLog/ArEventLog.typ
Normal file
20
Logical/Libraries/ArEventLog/ArEventLog.typ
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
TYPE
|
||||
ArEventLogIdentType : UDINT;
|
||||
ArEventLogRecordIDType : UDINT;
|
||||
ArEventLogLanguageCodeType : STRING[18]; (*String-type for language ID*)
|
||||
|
||||
ArEventLogTimeStampType : STRUCT
|
||||
sec : UDINT; (*seconds*)
|
||||
nsec : UDINT; (*nano seconds*)
|
||||
END_STRUCT;
|
||||
|
||||
ArEventLogAsyncInternalType : STRUCT
|
||||
FBStateCtx : ArFBStateInternalType;
|
||||
AsyFuMaCtx : ArFBAsyFuMaInternalType;
|
||||
END_STRUCT;
|
||||
|
||||
ArEventLogInternalType : STRUCT
|
||||
FBStateCtx : ArFBStateInternalType;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
42
Logical/Libraries/ArEventLog/ArEventLog.var
Normal file
42
Logical/Libraries/ArEventLog/ArEventLog.var
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arEVENTLOG_ERR_PARAMETER : DINT := -1070586096; (*obsolete - invalid parameters specified*)
|
||||
arEVENTLOG_ERR_RECORDID_INVALID : DINT := -1070586096; (*no record with the given id exists in the logbook*)
|
||||
arEVENTLOG_ERR_EXISTING : DINT := -1070586095; (*obsolete- log module already exists*)
|
||||
arEVENTLOG_ERR_LOGBOOK_EXISTS : DINT := -1070586095; (*a logbook with the given name already exists*)
|
||||
arEVENTLOG_ERR_INTERNAL : DINT := -1070586094; (*unexpected internal error*)
|
||||
arEVENTLOG_ERR_NAME_INVALID : DINT := -1070586093; (*the given name is invalid (empty)*)
|
||||
arEVENTLOG_ERR_SIZE_INVALID : DINT := -1070586092; (*the given size is smaller than the minimum size of a logbook*)
|
||||
arEVENTLOG_ERR_PERSISTENCE_INVAL : DINT := -1070586091; (*the given persistence level is unknown*)
|
||||
arEVENTLOG_ERR_IDENT_INVALID : DINT := -1070586090; (*the given ident is invalid (NULL)*)
|
||||
arEVENTLOG_ERR_IDENT_SYSTEM : DINT := -1070586089; (*access denied, the given ident belongs to a system logbook*)
|
||||
arEVENTLOG_ERR_EVENTID_INVALID : DINT := -1070586088; (*the given event id is no customer event id*)
|
||||
arEVENTLOG_ERR_LOGBOOK_NOT_FOUND : DINT := -1070586087; (*a logbook with the given name does not exist*)
|
||||
arEVENTLOG_ERR_ADDDATA_NULL : DINT := -1070586086; (*the given pointer to the additional data buffer is NULL*)
|
||||
arEVENTLOG_ERR_NO_ERRORNUMBER : DINT := -1070586085; (*the given record is no error number record*)
|
||||
arEVENTLOG_ERR_MODULE_EXISTS : DINT := -1070586084; (*another module with the given name already exists*)
|
||||
arEVENTLOG_ERR_NO_DESCRIPTION : DINT := -1070586083; (*no description was found for the given record id*)
|
||||
arEVENTLOG_ERR_DESCRIPTION_NULL : DINT := -1070586082; (*the given pointer to the description buffer is NULL*)
|
||||
arEVENTLOG_ERR_FORMAT_INVALID : DINT := -1070586081; (*the given format for the additional data is unknown*)
|
||||
|
||||
arEVENTLOG_WRN_NO_EVENTID : DINT := -2144327920; (*the given record is no event id record*)
|
||||
arEVENTLOG_WRN_FORMAT_INVALID : DINT := -2144327919; (*the given format for the additional data is unknown*)
|
||||
arEVENTLOG_WRN_ADDDATA_NULL : DINT := -2144327918; (*the given pointer to the additional data is NULL*)
|
||||
|
||||
arEVENTLOG_INF_SIZE : DINT := 1076897555; (*specified data size too small*)
|
||||
|
||||
arEVENTLOG_SEVERITY_SUCCESS : USINT := 0; (*severity code success*)
|
||||
arEVENTLOG_SEVERITY_INFO : USINT := 1; (*severity code informational*)
|
||||
arEVENTLOG_SEVERITY_WARNING : USINT := 2; (*severity code warning*)
|
||||
arEVENTLOG_SEVERITY_ERROR : USINT := 3; (*severity code error*)
|
||||
|
||||
arEVENTLOG_PERSISTENCE_VOLATILE : USINT := 0; (*persistence volatile*)
|
||||
arEVENTLOG_PERSISTENCE_REMANENT : USINT := 1; (*persistence remanent*)
|
||||
arEVENTLOG_PERSISTENCE_PERSIST : USINT := 2; (*persistence persistent*)
|
||||
|
||||
arEVENTLOG_ADDFORMAT_BINARY : USINT := 0; (*additional data format binary*)
|
||||
arEVENTLOG_ADDFORMAT_TEXT : USINT := 1; (*additional data format series of null terminated strings*)
|
||||
arEVENTLOG_ADDFORMAT_CODED : USINT := 2; (*additional data format binary coded data*)
|
||||
arEVENTLOG_ADDFORMAT_CUST_BASE : USINT := 100; (*additional data format begin of customer area*)
|
||||
arEVENTLOG_ADDFORMAT_CUST_MAX : USINT := 150; (*additional data format end of customer area*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/ArEventLog/Binary.lby
Normal file
12
Logical/Libraries/ArEventLog/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The ArEventLog library can be used to collect additional error information and for further processing.">
|
||||
<Files>
|
||||
<File>ArEventLog.fun</File>
|
||||
<File>ArEventLog.typ</File>
|
||||
<File>ArEventLog.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
354
Logical/Libraries/ArEventLog/SG4/ArEventLog.h
Normal file
354
Logical/Libraries/ArEventLog/SG4/ArEventLog.h
Normal file
@@ -0,0 +1,354 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _AREVENTLOG_
|
||||
#define _AREVENTLOG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arEVENTLOG_ADDFORMAT_CUST_MAX 150U
|
||||
#define arEVENTLOG_ADDFORMAT_CUST_BASE 100U
|
||||
#define arEVENTLOG_ADDFORMAT_CODED 2U
|
||||
#define arEVENTLOG_ADDFORMAT_TEXT 1U
|
||||
#define arEVENTLOG_ADDFORMAT_BINARY 0U
|
||||
#define arEVENTLOG_PERSISTENCE_PERSIST 2U
|
||||
#define arEVENTLOG_PERSISTENCE_REMANENT 1U
|
||||
#define arEVENTLOG_PERSISTENCE_VOLATILE 0U
|
||||
#define arEVENTLOG_SEVERITY_ERROR 3U
|
||||
#define arEVENTLOG_SEVERITY_WARNING 2U
|
||||
#define arEVENTLOG_SEVERITY_INFO 1U
|
||||
#define arEVENTLOG_SEVERITY_SUCCESS 0U
|
||||
#define arEVENTLOG_INF_SIZE 1076897555
|
||||
#define arEVENTLOG_WRN_ADDDATA_NULL (-2144327918)
|
||||
#define arEVENTLOG_WRN_FORMAT_INVALID (-2144327919)
|
||||
#define arEVENTLOG_WRN_NO_EVENTID (-2144327920)
|
||||
#define arEVENTLOG_ERR_FORMAT_INVALID (-1070586081)
|
||||
#define arEVENTLOG_ERR_DESCRIPTION_NULL (-1070586082)
|
||||
#define arEVENTLOG_ERR_NO_DESCRIPTION (-1070586083)
|
||||
#define arEVENTLOG_ERR_MODULE_EXISTS (-1070586084)
|
||||
#define arEVENTLOG_ERR_NO_ERRORNUMBER (-1070586085)
|
||||
#define arEVENTLOG_ERR_ADDDATA_NULL (-1070586086)
|
||||
#define arEVENTLOG_ERR_LOGBOOK_NOT_FOUND (-1070586087)
|
||||
#define arEVENTLOG_ERR_EVENTID_INVALID (-1070586088)
|
||||
#define arEVENTLOG_ERR_IDENT_SYSTEM (-1070586089)
|
||||
#define arEVENTLOG_ERR_IDENT_INVALID (-1070586090)
|
||||
#define arEVENTLOG_ERR_PERSISTENCE_INVAL (-1070586091)
|
||||
#define arEVENTLOG_ERR_SIZE_INVALID (-1070586092)
|
||||
#define arEVENTLOG_ERR_NAME_INVALID (-1070586093)
|
||||
#define arEVENTLOG_ERR_INTERNAL (-1070586094)
|
||||
#define arEVENTLOG_ERR_LOGBOOK_EXISTS (-1070586095)
|
||||
#define arEVENTLOG_ERR_EXISTING (-1070586095)
|
||||
#define arEVENTLOG_ERR_RECORDID_INVALID (-1070586096)
|
||||
#define arEVENTLOG_ERR_PARAMETER (-1070586096)
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CUST_MAX;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CUST_BASE;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CODED;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_TEXT;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_BINARY;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_PERSIST;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_REMANENT;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_VOLATILE;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_ERROR;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_WARNING;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_INFO;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_SUCCESS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_INF_SIZE;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_ADDDATA_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_FORMAT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_NO_EVENTID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_FORMAT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_DESCRIPTION_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NO_DESCRIPTION;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_MODULE_EXISTS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NO_ERRORNUMBER;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_ADDDATA_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_LOGBOOK_NOT_FOUND;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_EVENTID_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_IDENT_SYSTEM;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_IDENT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_PERSISTENCE_INVAL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_SIZE_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NAME_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_INTERNAL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_LOGBOOK_EXISTS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_EXISTING;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_RECORDID_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_PARAMETER;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct ArEventLogTimeStampType
|
||||
{ unsigned long sec;
|
||||
unsigned long nsec;
|
||||
} ArEventLogTimeStampType;
|
||||
|
||||
typedef struct ArEventLogAsyncInternalType
|
||||
{ struct ArFBStateInternalType FBStateCtx;
|
||||
struct ArFBAsyFuMaInternalType AsyFuMaCtx;
|
||||
} ArEventLogAsyncInternalType;
|
||||
|
||||
typedef struct ArEventLogInternalType
|
||||
{ struct ArFBStateInternalType FBStateCtx;
|
||||
} ArEventLogInternalType;
|
||||
|
||||
typedef unsigned long ArEventLogIdentType;
|
||||
|
||||
typedef struct ArEventLogCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plcstring Name[257];
|
||||
unsigned long Size;
|
||||
unsigned char Persistence;
|
||||
unsigned long Info;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogCreate_typ;
|
||||
|
||||
typedef struct ArEventLogDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogDelete_typ;
|
||||
|
||||
typedef struct ArEventLogGetIdent
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plcstring Name[257];
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetIdent_typ;
|
||||
|
||||
typedef unsigned long ArEventLogRecordIDType;
|
||||
|
||||
typedef struct ArEventLogWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
signed long EventID;
|
||||
ArEventLogRecordIDType OriginRecordID;
|
||||
plcstring ObjectID[37];
|
||||
unsigned long AddDataSize;
|
||||
unsigned char AddDataFormat;
|
||||
unsigned long AddData;
|
||||
unsigned long TimeStamp;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogWrite_typ;
|
||||
|
||||
typedef struct ArEventLogGetLatestRecordID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetLatestRecordID_typ;
|
||||
|
||||
typedef struct ArEventLogGetPreviousRecordID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType PrevRecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetPreviousRecordID_typ;
|
||||
|
||||
typedef struct ArEventLogRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
signed long EventID;
|
||||
ArEventLogRecordIDType OriginRecordID;
|
||||
unsigned char AddDataFormat;
|
||||
unsigned long AddDataSize;
|
||||
struct ArEventLogTimeStampType TimeStamp;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogRead_typ;
|
||||
|
||||
typedef plcstring ArEventLogLanguageCodeType[19];
|
||||
|
||||
typedef struct ArEventLogReadDescription
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
ArEventLogLanguageCodeType LanguageCode;
|
||||
plcstring Qualifier[251];
|
||||
unsigned long TextBuffer;
|
||||
unsigned long TextBufferSize;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogReadDescription_typ;
|
||||
|
||||
typedef struct ArEventLogReadErrorNumber
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long ErrorNumber;
|
||||
unsigned char Severity;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadErrorNumber_typ;
|
||||
|
||||
typedef struct ArEventLogReadAddData
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
unsigned long AddData;
|
||||
unsigned long BytesToRead;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long AddDataSize;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadAddData_typ;
|
||||
|
||||
typedef struct ArEventLogReadObjectID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
plcstring ObjectID[37];
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadObjectID_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void ArEventLogCreate(struct ArEventLogCreate* inst);
|
||||
_BUR_PUBLIC void ArEventLogDelete(struct ArEventLogDelete* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetIdent(struct ArEventLogGetIdent* inst);
|
||||
_BUR_PUBLIC void ArEventLogWrite(struct ArEventLogWrite* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetLatestRecordID(struct ArEventLogGetLatestRecordID* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetPreviousRecordID(struct ArEventLogGetPreviousRecordID* inst);
|
||||
_BUR_PUBLIC void ArEventLogRead(struct ArEventLogRead* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadDescription(struct ArEventLogReadDescription* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadErrorNumber(struct ArEventLogReadErrorNumber* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadAddData(struct ArEventLogReadAddData* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadObjectID(struct ArEventLogReadObjectID* inst);
|
||||
_BUR_PUBLIC signed long ArEventLogMakeEventID(unsigned char Severity, unsigned short Facility, unsigned short ErrorCode);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsError(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsWarning(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsInformation(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsSuccess(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsCustomerArea(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataInit(unsigned long Buffer, unsigned long BufferSize, unsigned char Format);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataUdint(unsigned long Buffer, unsigned long BufferSize, unsigned long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataDint(unsigned long Buffer, unsigned long BufferSize, signed long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataString(unsigned long Buffer, unsigned long BufferSize, unsigned long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataQuantity(unsigned long Buffer, unsigned long BufferSize, double Value, signed long UnitID, unsigned long NamespaceURI);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _AREVENTLOG_ */
|
||||
|
||||
123
Logical/Libraries/ArTextSys/ArTextSys.fun
Normal file
123
Logical/Libraries/ArTextSys/ArTextSys.fun
Normal file
@@ -0,0 +1,123 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetSystemLanguage (*determine preferred user-language*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*start on rising edge*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL;
|
||||
StatusID : DINT;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysSetSystemLanguage (*update preferred user-language*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL;
|
||||
Busy : BOOL;
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetNamespaceLanguages
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*start on rising edge*)
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
First : BOOL; (*get first entry; or next*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
EndOfList : BOOL; (*indicator for last found entry*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysIter1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetText
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
TextID : UDINT; (*string-pointer to text-key*)
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to text result-buffer*)
|
||||
SearchMode : ArTextSysSearchModeEnum;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysFormatString
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
FormatString : UDINT; (*string-pointer to format-template*)
|
||||
ArgumentCount : UINT; (*count of arguments in list*)
|
||||
ArgumentList : ARRAY[0..9] OF ArTextSysFormatArgumentType;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
MeasurementCode : UDINT;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to result-buffer*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetFormattedText
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
TextID : UDINT; (*string-pointer to text-key*)
|
||||
ArgumentCount : UINT; (*count of arguments in list*)
|
||||
ArgumentList : ARRAY[0..9] OF ArTextSysFormatArgumentType;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
MeasurementCode : UDINT;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to result-buffer*)
|
||||
SearchMode : ArTextSysSearchModeEnum;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
32
Logical/Libraries/ArTextSys/ArTextSys.typ
Normal file
32
Logical/Libraries/ArTextSys/ArTextSys.typ
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
TYPE
|
||||
ArTextSysLanguageCodeType : STRING[18]; (*String-type for language ID*)
|
||||
|
||||
(*Enumeration for ArTextSysGetText-FUBs*)
|
||||
ArTextSysSearchModeEnum :
|
||||
(
|
||||
arTEXTSYS_SEARCH_FALLBACK_SUBST, (*with fallback-languages or substitute*)
|
||||
arTEXTSYS_SEARCH_LANGUAGE_ONLY, (*search for matching language only*)
|
||||
arTEXTSYS_SEARCH_FALLBACK (*with fallback-searches, no substitute*)
|
||||
);
|
||||
|
||||
(*argument-properties for formatter*)
|
||||
ArTextSysFormatArgumentType : STRUCT
|
||||
Datatype : UINT; (*type of argument; eg. IEC_DATATYPE_UDINT*)
|
||||
Data : UDINT; (*pointer to Argument*)
|
||||
UnitNamespace : UDINT; (*namespace of UnitID; default OPC-UA recommended*)
|
||||
UnitID : UDINT;
|
||||
END_STRUCT;
|
||||
|
||||
(*Internal type(s) for FUB-processing*)
|
||||
ArTextSysExec1InternalType : STRUCT
|
||||
i_serno : UINT;
|
||||
i_state : UINT;
|
||||
Result : DINT;
|
||||
END_STRUCT;
|
||||
|
||||
ArTextSysIter1InternalType : STRUCT
|
||||
i_base : ArTextSysExec1InternalType;
|
||||
m_iter : DINT; (*internal iterator; eg. ArTextSysGetNamespaceLanguages*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
21
Logical/Libraries/ArTextSys/ArTextSys.var
Normal file
21
Logical/Libraries/ArTextSys/ArTextSys.var
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arTEXTSYS_ERR_OUT_OF_MEMORY : UDINT := 16#C030_280A; (*fatal error: out of memory*)
|
||||
arTEXTSYS_ERR_INVALID_ARG : UDINT := 16#8030_280B; (*provided argument is invalid*)
|
||||
arTEXTSYS_ERR_FAILED : UDINT := 16#8030_280C; (*internal operation failure*)
|
||||
arTEXTSYS_ERR_ACCESS_DENIED : UDINT := 16#8030_280D; (*resource-access denied*)
|
||||
arTEXTSYS_ERR_INVALID_HANDLE : UDINT := 16#8030_280E; (*invalid handle detected*)
|
||||
|
||||
arTEXTSYS_ERR_CANT_OPEN_TEXTDB : UDINT := 16#8030_2811; (*opening of text-db failed*)
|
||||
arTEXTSYS_INF_ALREADY_OPENED : DINT := 16#4030_2812; (*text-db is open and ready*)
|
||||
arTEXTSYS_ERR_TEXTDB_SCHEMA : UDINT := 16#8030_2813; (*unrecognised text-db schema or structure*)
|
||||
arTEXTSYS_ERR_TEXTDB_READER : UDINT := 16#8030_2814; (*read of open text-db failed*)
|
||||
arTEXTSYS_ERR_TEXTDB_INTERNAL : UDINT := 16#8030_2815; (*other kind of text-db error*)
|
||||
arTEXTSYS_INF_NOT_SET_DURABLE : DINT := 16#4030_2816; (*configuration-change is not durable*)
|
||||
|
||||
arTEXTSYS_ERR_NO_TEXT_FOUND : UDINT := 16#8030_2818; (*no requested text found*)
|
||||
arTEXTSYS_INF_LANGUAGE_DIFFERS : DINT := 16#4030_281A; (*text-language differs; not in requested language*)
|
||||
arTEXTSYS_INF_SUBSTITUTE_TEXT : DINT := 16#4030_281B; (*no text found, but substitute-text provided*)
|
||||
arTEXTSYS_ERR_NOT_EXISTS : UDINT := 16#8030_281C; (*record not found; doesn't exist*)
|
||||
arTEXTSYS_ERR_END_REACHED : UDINT := 16#8030_281D; (*no further suitable entry found*)
|
||||
END_VAR
|
||||
9
Logical/Libraries/ArTextSys/Binary.lby
Normal file
9
Logical/Libraries/ArTextSys/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="IEC Text-System Library.">
|
||||
<Files>
|
||||
<File>ArTextSys.fun</File>
|
||||
<File>ArTextSys.typ</File>
|
||||
<File>ArTextSys.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
221
Logical/Libraries/ArTextSys/SG4/ArTextSys.h
Normal file
221
Logical/Libraries/ArTextSys/SG4/ArTextSys.h
Normal file
@@ -0,0 +1,221 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ARTEXTSYS_
|
||||
#define _ARTEXTSYS_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arTEXTSYS_ERR_END_REACHED 2150639645U
|
||||
#define arTEXTSYS_ERR_NOT_EXISTS 2150639644U
|
||||
#define arTEXTSYS_INF_SUBSTITUTE_TEXT 1076897819
|
||||
#define arTEXTSYS_INF_LANGUAGE_DIFFERS 1076897818
|
||||
#define arTEXTSYS_ERR_NO_TEXT_FOUND 2150639640U
|
||||
#define arTEXTSYS_INF_NOT_SET_DURABLE 1076897814
|
||||
#define arTEXTSYS_ERR_TEXTDB_INTERNAL 2150639637U
|
||||
#define arTEXTSYS_ERR_TEXTDB_READER 2150639636U
|
||||
#define arTEXTSYS_ERR_TEXTDB_SCHEMA 2150639635U
|
||||
#define arTEXTSYS_INF_ALREADY_OPENED 1076897810
|
||||
#define arTEXTSYS_ERR_CANT_OPEN_TEXTDB 2150639633U
|
||||
#define arTEXTSYS_ERR_INVALID_HANDLE 2150639630U
|
||||
#define arTEXTSYS_ERR_ACCESS_DENIED 2150639629U
|
||||
#define arTEXTSYS_ERR_FAILED 2150639628U
|
||||
#define arTEXTSYS_ERR_INVALID_ARG 2150639627U
|
||||
#define arTEXTSYS_ERR_OUT_OF_MEMORY 3224381450U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_END_REACHED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_NOT_EXISTS;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_SUBSTITUTE_TEXT;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_LANGUAGE_DIFFERS;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_NO_TEXT_FOUND;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_NOT_SET_DURABLE;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_INTERNAL;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_READER;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_SCHEMA;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_ALREADY_OPENED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_CANT_OPEN_TEXTDB;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_INVALID_HANDLE;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_ACCESS_DENIED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_FAILED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_INVALID_ARG;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_OUT_OF_MEMORY;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef enum ArTextSysSearchModeEnum
|
||||
{ arTEXTSYS_SEARCH_FALLBACK_SUBST,
|
||||
arTEXTSYS_SEARCH_LANGUAGE_ONLY,
|
||||
arTEXTSYS_SEARCH_FALLBACK
|
||||
} ArTextSysSearchModeEnum;
|
||||
|
||||
typedef struct ArTextSysFormatArgumentType
|
||||
{ unsigned short Datatype;
|
||||
unsigned long Data;
|
||||
unsigned long UnitNamespace;
|
||||
unsigned long UnitID;
|
||||
} ArTextSysFormatArgumentType;
|
||||
|
||||
typedef struct ArTextSysExec1InternalType
|
||||
{ unsigned short i_serno;
|
||||
unsigned short i_state;
|
||||
signed long Result;
|
||||
} ArTextSysExec1InternalType;
|
||||
|
||||
typedef struct ArTextSysIter1InternalType
|
||||
{ struct ArTextSysExec1InternalType i_base;
|
||||
signed long m_iter;
|
||||
} ArTextSysIter1InternalType;
|
||||
|
||||
typedef plcstring ArTextSysLanguageCodeType[19];
|
||||
|
||||
typedef struct ArTextSysGetSystemLanguage
|
||||
{
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetSystemLanguage_typ;
|
||||
|
||||
typedef struct ArTextSysSetSystemLanguage
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysSetSystemLanguage_typ;
|
||||
|
||||
typedef struct ArTextSysGetNamespaceLanguages
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysIter1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
plcbit First;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
plcbit EndOfList;
|
||||
} ArTextSysGetNamespaceLanguages_typ;
|
||||
|
||||
typedef struct ArTextSysGetText
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
unsigned long TextID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
enum ArTextSysSearchModeEnum SearchMode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetText_typ;
|
||||
|
||||
typedef struct ArTextSysFormatString
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long FormatString;
|
||||
unsigned short ArgumentCount;
|
||||
struct ArTextSysFormatArgumentType ArgumentList[10];
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long MeasurementCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysFormatString_typ;
|
||||
|
||||
typedef struct ArTextSysGetFormattedText
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
unsigned long TextID;
|
||||
unsigned short ArgumentCount;
|
||||
struct ArTextSysFormatArgumentType ArgumentList[10];
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long MeasurementCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
enum ArTextSysSearchModeEnum SearchMode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetFormattedText_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void ArTextSysGetSystemLanguage(struct ArTextSysGetSystemLanguage* inst);
|
||||
_BUR_PUBLIC void ArTextSysSetSystemLanguage(struct ArTextSysSetSystemLanguage* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetNamespaceLanguages(struct ArTextSysGetNamespaceLanguages* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetText(struct ArTextSysGetText* inst);
|
||||
_BUR_PUBLIC void ArTextSysFormatString(struct ArTextSysFormatString* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetFormattedText(struct ArTextSysGetFormattedText* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ARTEXTSYS_ */
|
||||
|
||||
1344
Logical/Libraries/AsARCfg/AsARCfg.fun
Normal file
1344
Logical/Libraries/AsARCfg/AsARCfg.fun
Normal file
File diff suppressed because it is too large
Load Diff
11
Logical/Libraries/AsARCfg/AsARCfg.typ
Normal file
11
Logical/Libraries/AsARCfg/AsARCfg.typ
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
TYPE
|
||||
cfgLease_typ : STRUCT (*lease structure*)
|
||||
name : STRING[8]; (*name of lease (max 8)*)
|
||||
startAdr : STRING[16]; (*start address of lease*)
|
||||
stopAdr : STRING[16]; (*stop address of lease*)
|
||||
subnetMask : STRING[16]; (*subnet mask of lease*)
|
||||
defaultGateway : STRING[16]; (*default gateway of lease*)
|
||||
leaseTimeout : DINT; (*-1 for infinite timeout*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
88
Logical/Libraries/AsARCfg/AsARCfg.var
Normal file
88
Logical/Libraries/AsARCfg/AsARCfg.var
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
VAR CONSTANT
|
||||
cfgERR_DEVICE_NOT_EXIST : UINT := 29000; (*device doesn't exist or device not configured*)
|
||||
cfgERR_DEVICE_INVALID : UINT := 29001; (*FBK "pDevice" parameter invalid (e.g. pDevice = 0)*)
|
||||
cfgERR_OPTION_INVALID : UINT := 29002; (*FBK "Option" parameter invalid*)
|
||||
cfgERR_VALUE_INVALID : UINT := 29003; (*invalid FBK parameter, error text depends on the function block*)
|
||||
cfgERR_SET_NOT_POSSIBLE : UINT := 29004; (*not possible to set the subnet mask (e.g. DHCP client)*)
|
||||
cfgERR_ARREG : UINT := 29005; (*error in the AR registry*)
|
||||
cfgERR_INANODE_NOT_SUPPORTED : UINT := 29006; (*INA device does not support INA node numbers (e.g. IF1 = RS232)*)
|
||||
cfgERR_FTP_SINIT : UINT := 29007; (*initialization error on FTP server*)
|
||||
cfgERR_FTP_SDOWN : UINT := 29008; (*shutdown error on FTP server*)
|
||||
cfgERR_PARAM_NOT_SET : UINT := 29009; (*default gateway not defined*)
|
||||
cfgERR_SNTP_SERVER : UINT := 29010; (*could not start the SNTP server*)
|
||||
cfgERR_SNTP_CLIENT : UINT := 29011; (*error starting SNTP client (e.g. client already running)*)
|
||||
cfgERR_SNTP_INTERVAL : UINT := 29012; (*invalid FBK parameter - values from 1 to 60 are valid*)
|
||||
cfgERR_SYSTEM : UINT := 29013; (*unexpected system error*)
|
||||
cfgERR_TIMEZONE : UINT := 29014; (*invalid timezone specified*)
|
||||
cfgERR_YEAR_INVALID : UINT := 29015; (*invalid year specified*)
|
||||
cfgERR_CIFS_DOMAIN_INVALID : UINT := 29016; (*cifs domain name not defined *)
|
||||
cfgERR_CIFS_DEFAULTUSER_INVALID : UINT := 29017; (*cifs defaultuser not defined *)
|
||||
cfgERR_INANODE_NUMBER_SET : UINT := 29018; (*could not set the INA node number*)
|
||||
cfgERR_CIFS_DEFAULTPW_INVALID : UINT := 29019; (*cifs default password not defined *)
|
||||
cfgERR_DHCP_SERVER_STARTED : UINT := 29020; (*server is already working*)
|
||||
cfgERR_INTERFACELIST_BUFFER : UINT := 29021; (*interfacelist buffer to small*)
|
||||
cfgERR_LEASES_BUFFER : UINT := 29022; (*leases array to small*)
|
||||
cfgERR_LEASE_EXISTS : UINT := 29023; (*leasename already exists*)
|
||||
cfgERR_LEASE_TIMEOUT : UINT := 29024; (*invalid lease timeout*)
|
||||
cfgERR_DHCP_CONFIG : UINT := 29025; (*DHCP server is not configured*)
|
||||
cfgERR_SDM_FUNCTION_NOT_FOUND : UINT := 29026; (*used arsdm function was not found*)
|
||||
cfgERR_CLEAR_NV_DATA : UINT := 29027; (*could not clear NV data*)
|
||||
cfgERR_FUNCTION_NOT_FOUND : UINT := 29028; (*referenced function was not found*)
|
||||
cfgERR_SDM_DISABLED : UINT := 29029; (*System diagnostics disabled*)
|
||||
cfgERR_WEBSERV_DISABLED : UINT := 29030; (*Web Server disabled*)
|
||||
cfgERR_DHCP_NO_DHCP_IP_OBTAINED : UINT := 29031; (*DHCP activated, but no IP obtained*)
|
||||
cfgERR_NTP_SERVER : UINT := 29032; (*could not start the NTP server*)
|
||||
cfgERR_NTP_CLIENT : UINT := 29033; (*error starting NTP client*)
|
||||
cfgERR_ROUTE_TABLE : UINT := 29034; (*error updating network routing table*)
|
||||
cfgERR_DST : UINT := 29035; (*could not enable or disable automatic daylight saving*)
|
||||
|
||||
cfgETHBAUDRATE_AUTO : UDINT := 0; (*auto-detect*)
|
||||
cfgETHBAUDRATE_10 : UDINT := 10; (*10 MBaud, half-duplex*)
|
||||
cfgETHBAUDRATE_10FD : UDINT := 11; (*10 MBaud, full-duplex*)
|
||||
cfgETHBAUDRATE_100 : UDINT := 100; (*100 MBaud, half-duplex*)
|
||||
cfgETHBAUDRATE_100FD : UDINT := 101; (*100 MBaud, full-duplex*)
|
||||
cfgETHBAUDRATE_1000FD : UDINT := 1001; (*1 GBaud, full-duplex*)
|
||||
|
||||
cfgOPTION_NON_VOLATILE : UDINT := 1; (*permanently sets parameters*)
|
||||
cfgOPTION_VOLATILE : UDINT := 0; (*temporarily sets parameters*)
|
||||
|
||||
cfgCONFIGMODE_MANUALLY : UDINT := 0; (*manual configuration*)
|
||||
cfgCONFIGMODE_DHCPCLIENT : UDINT := 1; (*DHCP client*)
|
||||
|
||||
cfgOPTION_DISABLE : UDINT := 0; (*disable*)
|
||||
cfgOPTION_ENABLE : UDINT := 1; (*enable*)
|
||||
|
||||
cfgOPTION_WORKGROUP : USINT := 1; (*Domain is Workgroup*)
|
||||
cfgOPTION_NON_WORKGROUP : USINT := 0; (*Domain isn't Workgroup*)
|
||||
|
||||
cfgOPTION_ENABLE_SDM : USINT := 1; (*enable sdm*)
|
||||
cfgOPTION_DISABLE_SDM : USINT := 2; (*disable sdm*)
|
||||
|
||||
cfgSTATUS_SDM_ENABLED : USINT := 1; (*sdm is enabled*)
|
||||
cfgSTATUS_SDM_DISABLED : USINT := 2; (*sdm is disabled*)
|
||||
|
||||
cfgWEB_MODE_GOFORM_DISABLE : UINT := 0; (*Webserver Goform disabled*)
|
||||
cfgWEB_MODE_GOFORM_ENABLE : UINT := 1; (*Webserver Goform enabled*)
|
||||
cfgWEB_MODE_GOFORM_NO_WRITE : UINT := 2; (*Webserver Goform readonly*)
|
||||
|
||||
cfgWEB_MODE_MIME_DEL : UINT := 0; (*Webserver delete MimeType*)
|
||||
cfgWEB_MODE_MIME_ADD : UINT := 1; (*Webserver set MimeType*)
|
||||
|
||||
cfgWEB_MODE_DISABLED : UINT := 0; (*Webserver disabled*)
|
||||
cfgWEB_MODE_ENABLED : UINT := 1; (*Webserver enabled*)
|
||||
|
||||
cfgOPTION_DNS_OFF : USINT := 0; (*disable DNS service*)
|
||||
cfgOPTION_DNS_ON_CONFIG : USINT := 1; (*DNS service using the server address as configured*)
|
||||
cfgOPTION_DNS_ON_DHCP : USINT := 2; (*Get the DNS address from the DHCP server*)
|
||||
|
||||
cfgNTP_START : UINT := 1; (*start NTP server/client*)
|
||||
cfgNTP_STOP : UINT := 0; (*stop NTP server/client*)
|
||||
cfgSTATUS_NTP_ACTIVE : UINT := 1; (*NTP server/client active*)
|
||||
cfgSTATUS_NTP_INACTIVE : UINT := 0; (*NTP server/client inactive*)
|
||||
|
||||
cfgSDM_COLOR_DEFAULT : UDINT := 2147483648; (*sdm default color*)
|
||||
|
||||
cfgDHCP_OPTION_VENDOR_CLASS_ID : USINT := 60; (*DHCP option vendor class identifier*)
|
||||
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsARCfg/Binary.lby
Normal file
12
Logical/Libraries/AsARCfg/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsARCfg library supports reading and writing Automation Runtime configurations.">
|
||||
<Files>
|
||||
<File>AsARCfg.fun</File>
|
||||
<File>AsARCfg.typ</File>
|
||||
<File>AsARCfg.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
204
Logical/Libraries/AsARCfg/SG3/AsARCfg.h
Normal file
204
Logical/Libraries/AsARCfg/SG3/AsARCfg.h
Normal file
@@ -0,0 +1,204 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARCFG_
|
||||
#define _ASARCFG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define cfgSTATUS_SDM_DISABLED 2U
|
||||
#define cfgSTATUS_SDM_ENABLED 1U
|
||||
#define cfgOPTION_DISABLE_SDM 2U
|
||||
#define cfgOPTION_ENABLE_SDM 1U
|
||||
#define cfgOPTION_NON_WORKGROUP 0U
|
||||
#define cfgOPTION_WORKGROUP 1U
|
||||
#define cfgOPTION_ENABLE 1U
|
||||
#define cfgOPTION_DISABLE 0U
|
||||
#define cfgCONFIGMODE_DHCPCLIENT 1U
|
||||
#define cfgCONFIGMODE_MANUALLY 0U
|
||||
#define cfgOPTION_VOLATILE 0U
|
||||
#define cfgOPTION_NON_VOLATILE 1U
|
||||
#define cfgETHBAUDRATE_1000FD 1001U
|
||||
#define cfgETHBAUDRATE_100FD 101U
|
||||
#define cfgETHBAUDRATE_100 100U
|
||||
#define cfgETHBAUDRATE_10FD 11U
|
||||
#define cfgETHBAUDRATE_10 10U
|
||||
#define cfgETHBAUDRATE_AUTO 0U
|
||||
#define cfgERR_CLEAR_NV_DATA 29027U
|
||||
#define cfgERR_SDM_FUNCTION_NOT_FOUND 29026U
|
||||
#define cfgERR_LEASE_TIMEOUT 29024U
|
||||
#define cfgERR_LEASE_EXISTS 29023U
|
||||
#define cfgERR_LEASES_BUFFER 29022U
|
||||
#define cfgERR_INTERFACELIST_BUFFER 29021U
|
||||
#define cfgERR_DHCP_SERVER_STARTED 29020U
|
||||
#define cfgERR_CIFS_DEFAULTPW_INVALID 29019U
|
||||
#define cfgERR_INANODE_NUMBER_SET 29018U
|
||||
#define cfgERR_CIFS_DEFAULTUSER_INVALID 29017U
|
||||
#define cfgERR_CIFS_DOMAIN_INVALID 29016U
|
||||
#define cfgERR_YEAR_INVALID 29015U
|
||||
#define cfgERR_TIMEZONE 29014U
|
||||
#define cfgERR_SYSTEM 29013U
|
||||
#define cfgERR_SNTP_INTERVAL 29012U
|
||||
#define cfgERR_SNTP_CLIENT 29011U
|
||||
#define cfgERR_SNTP_SERVER 29010U
|
||||
#define cfgERR_PARAM_NOT_SET 29009U
|
||||
#define cfgERR_FTP_SDOWN 29008U
|
||||
#define cfgERR_FTP_SINIT 29007U
|
||||
#define cfgERR_INANODE_NOT_SUPPORTED 29006U
|
||||
#define cfgERR_ARREG 29005U
|
||||
#define cfgERR_SET_NOT_POSSIBLE 29004U
|
||||
#define cfgERR_VALUE_INVALID 29003U
|
||||
#define cfgERR_OPTION_INVALID 29002U
|
||||
#define cfgERR_DEVICE_INVALID 29001U
|
||||
#define cfgERR_DEVICE_NOT_EXIST 29000U
|
||||
#else
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_DISABLED = 2U;
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_ENABLED = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_DISABLE_SDM = 2U;
|
||||
_IEC_CONST unsigned char cfgOPTION_ENABLE_SDM = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_NON_WORKGROUP = 0U;
|
||||
_IEC_CONST unsigned char cfgOPTION_WORKGROUP = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_ENABLE = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_DISABLE = 0U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_DHCPCLIENT = 1U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_MANUALLY = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_VOLATILE = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_NON_VOLATILE = 1U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_1000FD = 1001U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100FD = 101U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100 = 100U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10FD = 11U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10 = 10U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_AUTO = 0U;
|
||||
_IEC_CONST unsigned short cfgERR_CLEAR_NV_DATA = 29027U;
|
||||
_IEC_CONST unsigned short cfgERR_SDM_FUNCTION_NOT_FOUND = 29026U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_TIMEOUT = 29024U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_EXISTS = 29023U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASES_BUFFER = 29022U;
|
||||
_IEC_CONST unsigned short cfgERR_INTERFACELIST_BUFFER = 29021U;
|
||||
_IEC_CONST unsigned short cfgERR_DHCP_SERVER_STARTED = 29020U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTPW_INVALID = 29019U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NUMBER_SET = 29018U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTUSER_INVALID = 29017U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DOMAIN_INVALID = 29016U;
|
||||
_IEC_CONST unsigned short cfgERR_YEAR_INVALID = 29015U;
|
||||
_IEC_CONST unsigned short cfgERR_TIMEZONE = 29014U;
|
||||
_IEC_CONST unsigned short cfgERR_SYSTEM = 29013U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_INTERVAL = 29012U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_CLIENT = 29011U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_SERVER = 29010U;
|
||||
_IEC_CONST unsigned short cfgERR_PARAM_NOT_SET = 29009U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SDOWN = 29008U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SINIT = 29007U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NOT_SUPPORTED = 29006U;
|
||||
_IEC_CONST unsigned short cfgERR_ARREG = 29005U;
|
||||
_IEC_CONST unsigned short cfgERR_SET_NOT_POSSIBLE = 29004U;
|
||||
_IEC_CONST unsigned short cfgERR_VALUE_INVALID = 29003U;
|
||||
_IEC_CONST unsigned short cfgERR_OPTION_INVALID = 29002U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_INVALID = 29001U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_NOT_EXIST = 29000U;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct cfgLease_typ
|
||||
{ plcstring name[9];
|
||||
plcstring startAdr[17];
|
||||
plcstring stopAdr[17];
|
||||
plcstring subnetMask[17];
|
||||
plcstring defaultGateway[17];
|
||||
signed long leaseTimeout;
|
||||
} cfgLease_typ;
|
||||
|
||||
typedef struct CfgGetInaNode
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char InaNode;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetInaNode_typ;
|
||||
|
||||
typedef struct CfgGetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetIPAddr_typ;
|
||||
|
||||
typedef struct CfgGetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgGetMacAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pMacAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetMacAddr_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void CfgGetInaNode(struct CfgGetInaNode* inst);
|
||||
void CfgGetIPAddr(struct CfgGetIPAddr* inst);
|
||||
void CfgGetSubnetMask(struct CfgGetSubnetMask* inst);
|
||||
void CfgGetMacAddr(struct CfgGetMacAddr* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARCFG_ */
|
||||
|
||||
|
||||
1378
Logical/Libraries/AsARCfg/SG4/AsARCfg.h
Normal file
1378
Logical/Libraries/AsARCfg/SG4/AsARCfg.h
Normal file
File diff suppressed because it is too large
Load Diff
272
Logical/Libraries/AsARCfg/SGC/AsARCfg.h
Normal file
272
Logical/Libraries/AsARCfg/SGC/AsARCfg.h
Normal file
@@ -0,0 +1,272 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARCFG_
|
||||
#define _ASARCFG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define cfgSTATUS_SDM_DISABLED 2U
|
||||
#define cfgSTATUS_SDM_ENABLED 1U
|
||||
#define cfgOPTION_DISABLE_SDM 2U
|
||||
#define cfgOPTION_ENABLE_SDM 1U
|
||||
#define cfgOPTION_NON_WORKGROUP 0U
|
||||
#define cfgOPTION_WORKGROUP 1U
|
||||
#define cfgOPTION_ENABLE 1U
|
||||
#define cfgOPTION_DISABLE 0U
|
||||
#define cfgCONFIGMODE_DHCPCLIENT 1U
|
||||
#define cfgCONFIGMODE_MANUALLY 0U
|
||||
#define cfgOPTION_VOLATILE 0U
|
||||
#define cfgOPTION_NON_VOLATILE 1U
|
||||
#define cfgETHBAUDRATE_1000FD 1001U
|
||||
#define cfgETHBAUDRATE_100FD 101U
|
||||
#define cfgETHBAUDRATE_100 100U
|
||||
#define cfgETHBAUDRATE_10FD 11U
|
||||
#define cfgETHBAUDRATE_10 10U
|
||||
#define cfgETHBAUDRATE_AUTO 0U
|
||||
#define cfgERR_CLEAR_NV_DATA 29027U
|
||||
#define cfgERR_SDM_FUNCTION_NOT_FOUND 29026U
|
||||
#define cfgERR_LEASE_TIMEOUT 29024U
|
||||
#define cfgERR_LEASE_EXISTS 29023U
|
||||
#define cfgERR_LEASES_BUFFER 29022U
|
||||
#define cfgERR_INTERFACELIST_BUFFER 29021U
|
||||
#define cfgERR_DHCP_SERVER_STARTED 29020U
|
||||
#define cfgERR_CIFS_DEFAULTPW_INVALID 29019U
|
||||
#define cfgERR_INANODE_NUMBER_SET 29018U
|
||||
#define cfgERR_CIFS_DEFAULTUSER_INVALID 29017U
|
||||
#define cfgERR_CIFS_DOMAIN_INVALID 29016U
|
||||
#define cfgERR_YEAR_INVALID 29015U
|
||||
#define cfgERR_TIMEZONE 29014U
|
||||
#define cfgERR_SYSTEM 29013U
|
||||
#define cfgERR_SNTP_INTERVAL 29012U
|
||||
#define cfgERR_SNTP_CLIENT 29011U
|
||||
#define cfgERR_SNTP_SERVER 29010U
|
||||
#define cfgERR_PARAM_NOT_SET 29009U
|
||||
#define cfgERR_FTP_SDOWN 29008U
|
||||
#define cfgERR_FTP_SINIT 29007U
|
||||
#define cfgERR_INANODE_NOT_SUPPORTED 29006U
|
||||
#define cfgERR_ARREG 29005U
|
||||
#define cfgERR_SET_NOT_POSSIBLE 29004U
|
||||
#define cfgERR_VALUE_INVALID 29003U
|
||||
#define cfgERR_OPTION_INVALID 29002U
|
||||
#define cfgERR_DEVICE_INVALID 29001U
|
||||
#define cfgERR_DEVICE_NOT_EXIST 29000U
|
||||
#else
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_DISABLED = 2U;
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_ENABLED = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_DISABLE_SDM = 2U;
|
||||
_IEC_CONST unsigned char cfgOPTION_ENABLE_SDM = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_NON_WORKGROUP = 0U;
|
||||
_IEC_CONST unsigned char cfgOPTION_WORKGROUP = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_ENABLE = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_DISABLE = 0U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_DHCPCLIENT = 1U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_MANUALLY = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_VOLATILE = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_NON_VOLATILE = 1U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_1000FD = 1001U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100FD = 101U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100 = 100U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10FD = 11U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10 = 10U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_AUTO = 0U;
|
||||
_IEC_CONST unsigned short cfgERR_CLEAR_NV_DATA = 29027U;
|
||||
_IEC_CONST unsigned short cfgERR_SDM_FUNCTION_NOT_FOUND = 29026U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_TIMEOUT = 29024U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_EXISTS = 29023U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASES_BUFFER = 29022U;
|
||||
_IEC_CONST unsigned short cfgERR_INTERFACELIST_BUFFER = 29021U;
|
||||
_IEC_CONST unsigned short cfgERR_DHCP_SERVER_STARTED = 29020U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTPW_INVALID = 29019U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NUMBER_SET = 29018U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTUSER_INVALID = 29017U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DOMAIN_INVALID = 29016U;
|
||||
_IEC_CONST unsigned short cfgERR_YEAR_INVALID = 29015U;
|
||||
_IEC_CONST unsigned short cfgERR_TIMEZONE = 29014U;
|
||||
_IEC_CONST unsigned short cfgERR_SYSTEM = 29013U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_INTERVAL = 29012U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_CLIENT = 29011U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_SERVER = 29010U;
|
||||
_IEC_CONST unsigned short cfgERR_PARAM_NOT_SET = 29009U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SDOWN = 29008U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SINIT = 29007U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NOT_SUPPORTED = 29006U;
|
||||
_IEC_CONST unsigned short cfgERR_ARREG = 29005U;
|
||||
_IEC_CONST unsigned short cfgERR_SET_NOT_POSSIBLE = 29004U;
|
||||
_IEC_CONST unsigned short cfgERR_VALUE_INVALID = 29003U;
|
||||
_IEC_CONST unsigned short cfgERR_OPTION_INVALID = 29002U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_INVALID = 29001U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_NOT_EXIST = 29000U;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct cfgLease_typ
|
||||
{ plcstring name[9];
|
||||
plcstring startAdr[17];
|
||||
plcstring stopAdr[17];
|
||||
plcstring subnetMask[17];
|
||||
plcstring defaultGateway[17];
|
||||
signed long leaseTimeout;
|
||||
} cfgLease_typ;
|
||||
|
||||
typedef struct CfgGetInaNode
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char InaNode;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetInaNode_typ;
|
||||
|
||||
typedef struct CfgGetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetIPAddr_typ;
|
||||
|
||||
typedef struct CfgSetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetIPAddr_typ;
|
||||
|
||||
typedef struct CfgGetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgSetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgGetDefaultGateway
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pGateway;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetDefaultGateway_typ;
|
||||
|
||||
typedef struct CfgSetDefaultGateway
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pGateway;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetDefaultGateway_typ;
|
||||
|
||||
typedef struct CfgGetMacAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pMacAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetMacAddr_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void CfgGetInaNode(struct CfgGetInaNode* inst);
|
||||
void CfgGetIPAddr(struct CfgGetIPAddr* inst);
|
||||
void CfgSetIPAddr(struct CfgSetIPAddr* inst);
|
||||
void CfgGetSubnetMask(struct CfgGetSubnetMask* inst);
|
||||
void CfgSetSubnetMask(struct CfgSetSubnetMask* inst);
|
||||
void CfgGetDefaultGateway(struct CfgGetDefaultGateway* inst);
|
||||
void CfgSetDefaultGateway(struct CfgSetDefaultGateway* inst);
|
||||
void CfgGetMacAddr(struct CfgGetMacAddr* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARCFG_ */
|
||||
|
||||
|
||||
124
Logical/Libraries/AsArLog/AsArLog.fun
Normal file
124
Logical/Libraries/AsArLog/AsArLog.fun
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogCreate (*creates an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pName : UDINT; (*name of the AR logger user module to be created give as a pointer, e.g. "vclog".*)
|
||||
len : UDINT; (*length of the log data area*)
|
||||
memType : UDINT; (*memory type on the target: arlogDRAM, arlogUSRRAM, arlogUSRROM*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*ident of the AR logger basis module to be generated*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogDelete (*deletes an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident of the AR logger user module to be deleted*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogWrite (*writes a log entry to a AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident for the AR logger module to be written (user module or base module)*)
|
||||
logLevel : UDINT; (*log level of the log entry*)
|
||||
errornr : UDINT; (*error number of the entry*)
|
||||
mem : UDINT; (*binary log data given as a pointer*)
|
||||
len : UDINT; (*length of the binary log data in bytes*)
|
||||
asciiString : UDINT; (*log-specific zero-terminated ASCII string give as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
intTaskName : ARRAY[0..35] OF USINT; (*internal variable*)
|
||||
intRtkTime : ARRAY[0..3] OF UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogRead (*reads a log entry from a AR logger module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident for the AR logger module to be read (user module or base module)*)
|
||||
index : UDINT; (*index of the log entry to be read*)
|
||||
arlogRead : UDINT; (*specifies read structure (given as a pointer) where the header data for the log entry can be copied*)
|
||||
memBin : UDINT; (*buffer for binary log data given as a pointer (if NULL, no binary log data is copied)*)
|
||||
lenBin : UDINT; (*number of binary log data bytes to be read (if NULL, no binary log data is copied)*)
|
||||
memAscii : UDINT; (*buffer for ASCII string given as a pointer*)
|
||||
lenAscii : UDINT; (*number of bytes to be read for the ASCII string*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogClear (*deletes or reinitializes the log data in an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident of the AR logger user module to be reinitialized*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogGetInfo (*reads information from a self-generated AR logger user module or AR logger base user module*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pName : UDINT; (*name of the AR logger user module (e.g. "vclog") given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
|
||||
ident : UDINT; (*ident of the AR logger BR module*)
|
||||
len : UDINT; (*length of the log data area*)
|
||||
memType : UDINT; (*memory type on the target*)
|
||||
actualIndex : UDINT; (*current entry index in the specified AR logger BR module*)
|
||||
FormatVer : UDINT; (*version of de log data format*)
|
||||
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
20
Logical/Libraries/AsArLog/AsArLog.typ
Normal file
20
Logical/Libraries/AsArLog/AsArLog.typ
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
TYPE
|
||||
asarlogRead : STRUCT
|
||||
len : UDINT; (*length of the entire log entry (header + binary log data + ASCII string)*)
|
||||
lenBin : UDINT; (*length of the binary log data*)
|
||||
lenAscii : UDINT; (*length of the ASCII log data*)
|
||||
logLevel : UDINT; (*log level of the log entry*)
|
||||
errornr : UDINT; (*error number of the entry*)
|
||||
taskName : ARRAY[0..35] OF USINT; (*task name*)
|
||||
errYear : UDINT; (*year (date of error)*)
|
||||
errMonth : UDINT; (*month (date of error)*)
|
||||
errDay : UDINT; (*day (date of error)*)
|
||||
errHour : UDINT; (*hour (time of error)*)
|
||||
errMinute : UDINT; (*minute (time of error)*)
|
||||
errSecond : UDINT; (*second (time of error)*)
|
||||
errMilliSec : UDINT; (*millisecond (time of error)*)
|
||||
errMicroSec : UDINT; (*microsecond (time of error)*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
|
||||
45
Logical/Libraries/AsArLog/AsArLog.var
Normal file
45
Logical/Libraries/AsArLog/AsArLog.var
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arlogDRAM : USINT := 65; (*temporary AR log modules (DRAM)*)
|
||||
arlogUSRRAM : USINT := 3; (*USERRAM*)
|
||||
arlogUSRROM : USINT := 2; (*USERROM (USER FLASH)*)
|
||||
|
||||
arlogLEVEL_INFO : UDINT := 1; (*log level INFO*)
|
||||
arlogLEVEL_WARNING : UDINT := 2; (*log level WARNING*)
|
||||
arlogLEVEL_FATAL : UDINT := 3; (*log level FATAL*)
|
||||
|
||||
arlogMIN_LOGDATA_SIZE : UINT := 4096; (*minimum log data size of 4 KB*)
|
||||
|
||||
arlogBASE_SYSTEM_LOG_IDENT : UDINT := 0; (*fixed ID for the "$arlogsys" base system module*)
|
||||
arlogBASE_USER_LOG_IDENT : UDINT := 1; (*fixed ID for the "$arlogusr" base user module*)
|
||||
arlogBASE_FIELDBUS_LOG_IDENT : UDINT := 2; (*fixed ID for the "fieldbus" logger module*)
|
||||
arlogBASE_SAFETY_LOG_IDENT : UDINT := 3; (*fixed ID for the "safety" logger module*)
|
||||
arlogBASE_REDUND_LOG_IDENT : UDINT := 4; (*fixed ID for the "redund" logger module*)
|
||||
|
||||
arlogERR_ILL_NAME : UINT := 31400; (*incorrect or invalid name*)
|
||||
arlogERR_ILL_MEMTYPE : UINT := 31401; (*incorrect memory type*)
|
||||
arlogERR_ILL_LOGLEVEL : UINT := 31402; (*invalid log level (only arlogLEVEL_INFO, arlogLEVEL_WARNING, and arlogLEVEL_FATAL valid)*)
|
||||
arlogERR_ILL_PARAM : UINT := 31403; (*invalid parameters specified*)
|
||||
arlogERR_ILL_LEN : UINT := 31404; (*incorrect log data length. Must be >= arlogMIN_LOGDATA_SIZE (4096 bytes)*)
|
||||
arlogERR_EXISTING : UINT := 31405; (*log module already exists*)
|
||||
arlogERR_CREATE : UINT := 31406; (*general create error (create failed)*)
|
||||
arlogERR_INSTALL : UINT := 31407; (*install error for AsArLogCreate*)
|
||||
arlogERR_ACCESS_DENIED : UINT := 31408; (*cannot access the "$arlogsys" and "$arlogusr" base log modules*)
|
||||
arlogERR_IN_ACCESS : UINT := 31409; (*access denied since other critical FBK simultaneously active*)
|
||||
arlogERR_INVALID_IDENT : UINT := 31410; (*invalid ident specified*)
|
||||
arlogERR_DELETE : UINT := 31411; (*general delete error (delete failed)*)
|
||||
|
||||
arlogERR_NOMEMORY : UINT := 31412; (*not enough buffer to copy*)
|
||||
arlogERR_NOTEXISTING : UINT := 31416; (*AR log module doesn't exist*)
|
||||
|
||||
arlogERR_WRITE : UINT := 31417; (*general write error (write failed)*)
|
||||
arlogERR_WRITE_CALC_DATA : UINT := 31418; (*error calculating referencing index*)
|
||||
|
||||
arlogERR_READ : UINT := 31419; (*general read error (read failed)*)
|
||||
arlogERR_READ_BUFFER : UINT := 31420; (*invalid buffer specified*)
|
||||
arlogERR_INVALID_INDEX : UINT := 31421; (*invalid index (smaller than the reference index and larger than the current index)*)
|
||||
arlogERR_INVALID_ENTRY : UINT := 31422; (*invalid log entry read*)
|
||||
arlogERR_READ_BINARY_BUFFER : UINT := 31423; (*buffer length for binary data too small*)
|
||||
arlogERR_READ_ASCII_BUFFER : UINT := 31424; (*buffer length for ASCII data too small*)
|
||||
arlogERR_NO_MORE_ENTRY : UINT := 31425; (*FBK still working*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsArLog/Binary.lby
Normal file
12
Logical/Libraries/AsArLog/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="OBSOLETE - The AsArLog library is replaced by ArEventLog and exists only for compatibility reasons.">
|
||||
<Files>
|
||||
<File>AsArLog.fun</File>
|
||||
<File>AsArLog.typ</File>
|
||||
<File>AsArLog.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
237
Logical/Libraries/AsArLog/SG4/AsArLog.h
Normal file
237
Logical/Libraries/AsArLog/SG4/AsArLog.h
Normal file
@@ -0,0 +1,237 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARLOG_
|
||||
#define _ASARLOG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arlogERR_NO_MORE_ENTRY 31425U
|
||||
#define arlogERR_READ_ASCII_BUFFER 31424U
|
||||
#define arlogERR_READ_BINARY_BUFFER 31423U
|
||||
#define arlogERR_INVALID_ENTRY 31422U
|
||||
#define arlogERR_INVALID_INDEX 31421U
|
||||
#define arlogERR_READ_BUFFER 31420U
|
||||
#define arlogERR_READ 31419U
|
||||
#define arlogERR_WRITE_CALC_DATA 31418U
|
||||
#define arlogERR_WRITE 31417U
|
||||
#define arlogERR_NOTEXISTING 31416U
|
||||
#define arlogERR_NOMEMORY 31412U
|
||||
#define arlogERR_DELETE 31411U
|
||||
#define arlogERR_INVALID_IDENT 31410U
|
||||
#define arlogERR_IN_ACCESS 31409U
|
||||
#define arlogERR_ACCESS_DENIED 31408U
|
||||
#define arlogERR_INSTALL 31407U
|
||||
#define arlogERR_CREATE 31406U
|
||||
#define arlogERR_EXISTING 31405U
|
||||
#define arlogERR_ILL_LEN 31404U
|
||||
#define arlogERR_ILL_PARAM 31403U
|
||||
#define arlogERR_ILL_LOGLEVEL 31402U
|
||||
#define arlogERR_ILL_MEMTYPE 31401U
|
||||
#define arlogERR_ILL_NAME 31400U
|
||||
#define arlogBASE_REDUND_LOG_IDENT 4U
|
||||
#define arlogBASE_SAFETY_LOG_IDENT 3U
|
||||
#define arlogBASE_FIELDBUS_LOG_IDENT 2U
|
||||
#define arlogBASE_USER_LOG_IDENT 1U
|
||||
#define arlogBASE_SYSTEM_LOG_IDENT 0U
|
||||
#define arlogMIN_LOGDATA_SIZE 4096U
|
||||
#define arlogLEVEL_FATAL 3U
|
||||
#define arlogLEVEL_WARNING 2U
|
||||
#define arlogLEVEL_INFO 1U
|
||||
#define arlogUSRROM 2U
|
||||
#define arlogUSRRAM 3U
|
||||
#define arlogDRAM 65U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short arlogERR_NO_MORE_ENTRY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_ASCII_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_BINARY_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_ENTRY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_INDEX;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ;
|
||||
_GLOBAL_CONST unsigned short arlogERR_WRITE_CALC_DATA;
|
||||
_GLOBAL_CONST unsigned short arlogERR_WRITE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_NOTEXISTING;
|
||||
_GLOBAL_CONST unsigned short arlogERR_NOMEMORY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_DELETE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_IDENT;
|
||||
_GLOBAL_CONST unsigned short arlogERR_IN_ACCESS;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ACCESS_DENIED;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INSTALL;
|
||||
_GLOBAL_CONST unsigned short arlogERR_CREATE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_EXISTING;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_LEN;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_PARAM;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_LOGLEVEL;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_MEMTYPE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_NAME;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_REDUND_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_SAFETY_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_FIELDBUS_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_USER_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_SYSTEM_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned short arlogMIN_LOGDATA_SIZE;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_FATAL;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_WARNING;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_INFO;
|
||||
_GLOBAL_CONST unsigned char arlogUSRROM;
|
||||
_GLOBAL_CONST unsigned char arlogUSRRAM;
|
||||
_GLOBAL_CONST unsigned char arlogDRAM;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct asarlogRead
|
||||
{ unsigned long len;
|
||||
unsigned long lenBin;
|
||||
unsigned long lenAscii;
|
||||
unsigned long logLevel;
|
||||
unsigned long errornr;
|
||||
unsigned char taskName[36];
|
||||
unsigned long errYear;
|
||||
unsigned long errMonth;
|
||||
unsigned long errDay;
|
||||
unsigned long errHour;
|
||||
unsigned long errMinute;
|
||||
unsigned long errSecond;
|
||||
unsigned long errMilliSec;
|
||||
unsigned long errMicroSec;
|
||||
} asarlogRead;
|
||||
|
||||
typedef struct AsArLogCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pName;
|
||||
unsigned long len;
|
||||
unsigned long memType;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogCreate_typ;
|
||||
|
||||
typedef struct AsArLogDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogDelete_typ;
|
||||
|
||||
typedef struct AsArLogWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long logLevel;
|
||||
unsigned long errornr;
|
||||
unsigned long mem;
|
||||
unsigned long len;
|
||||
unsigned long asciiString;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
unsigned char intTaskName[36];
|
||||
unsigned long intRtkTime[4];
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogWrite_typ;
|
||||
|
||||
typedef struct AsArLogRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long index;
|
||||
unsigned long arlogRead;
|
||||
unsigned long memBin;
|
||||
unsigned long lenBin;
|
||||
unsigned long memAscii;
|
||||
unsigned long lenAscii;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogRead_typ;
|
||||
|
||||
typedef struct AsArLogClear
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogClear_typ;
|
||||
|
||||
typedef struct AsArLogGetInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pName;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
unsigned long len;
|
||||
unsigned long memType;
|
||||
unsigned long actualIndex;
|
||||
unsigned long FormatVer;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogGetInfo_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void AsArLogCreate(struct AsArLogCreate* inst);
|
||||
_BUR_PUBLIC void AsArLogDelete(struct AsArLogDelete* inst);
|
||||
_BUR_PUBLIC void AsArLogWrite(struct AsArLogWrite* inst);
|
||||
_BUR_PUBLIC void AsArLogRead(struct AsArLogRead* inst);
|
||||
_BUR_PUBLIC void AsArLogClear(struct AsArLogClear* inst);
|
||||
_BUR_PUBLIC void AsArLogGetInfo(struct AsArLogGetInfo* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARLOG_ */
|
||||
|
||||
39
Logical/Libraries/AsArSdm/AsArSdm.fun
Normal file
39
Logical/Libraries/AsArSdm/AsArSdm.fun
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK SdmSystemDump (*SDM - create a system dump; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
configuration : UDINT; (*cfgSDM_SYSTEMDUMP_PARAM(0) parameters only or cfgSDM_SYSTEMDUMP_DATA(1) parameters and data-files*)
|
||||
pDevice : UDINT; (*Devicename given as a pointer*)
|
||||
pFile : UDINT; (*Filename given as a pointer*)
|
||||
pParam : UDINT; (*Parameterstring given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK SdmSetAppParam (*SDM - set application mode; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
appMode : UDINT; (*cfgSDM_APPMODE_OK(1),cfgSDM_APPMODE_WARNING(2),cfgSDM_APPMODE_ERROR(3)*)
|
||||
pLink : UDINT; (*URL given as a pointer*)
|
||||
Option : UDINT; (*options: cfgOPTION_VOLATILE, cfgOPTION_NON_VOLATILE*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
1
Logical/Libraries/AsArSdm/AsArSdm.typ
Normal file
1
Logical/Libraries/AsArSdm/AsArSdm.typ
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
21
Logical/Libraries/AsArSdm/AsArSdm.var
Normal file
21
Logical/Libraries/AsArSdm/AsArSdm.var
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
VAR CONSTANT
|
||||
sdmERR_NOT_EXIST : UINT := 34900; (*SDM not active*)
|
||||
sdmERR_ARREG : UINT := 34901; (*SDM AR registry error*)
|
||||
sdmERR_SYSTEMDUMP : UINT := 34902; (*SDM System dump error*)
|
||||
sdmERR_INVALID_DEVICE : UINT := 34903; (*SDM System dump invalid device*)
|
||||
sdmERR_INVALID_POINTER : UINT := 34904; (*SDM System dump invalid pointer*)
|
||||
sdmERR_INVALID_VALUE : UINT := 34905; (*SDM Invalid application mode*)
|
||||
sdmERR_OPTION_INVALID : UINT := 34906; (*SDM"Option" parameter invalid*)
|
||||
|
||||
sdm_SYSTEMDUMP_PARAM : UINT := 0; (*SDM System Dump parameters only*)
|
||||
sdm_SYSTEMDUMP_DATA : UINT := 1; (*SDM SDM System Dump parameters and data files*)
|
||||
|
||||
sdm_APPMODE_NOTUSED : UINT := 0; (*SDM Applicationmode not set*)
|
||||
sdm_APPMODE_OK : UINT := 1; (*SDM Application ok*)
|
||||
sdm_APPMODE_WARNING : UINT := 2; (*SDM Application warning *)
|
||||
sdm_APPMODE_ERROR : UINT := 3; (*SDM Application error*)
|
||||
|
||||
sdmOPTION_NON_VOLATILE : UDINT := 1; (*permanently sets parameters*)
|
||||
sdmOPTION_VOLATILE : UDINT := 0; (*temporarily sets parameters*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsArSdm/Binary.lby
Normal file
12
Logical/Libraries/AsArSdm/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsArSdm library supports the System Diagnostics Manager">
|
||||
<Files>
|
||||
<File>AsArSdm.fun</File>
|
||||
<File>AsArSdm.typ</File>
|
||||
<File>AsArSdm.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
104
Logical/Libraries/AsArSdm/SG4/AsArSdm.h
Normal file
104
Logical/Libraries/AsArSdm/SG4/AsArSdm.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARSDM_
|
||||
#define _ASARSDM_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define sdmOPTION_VOLATILE 0U
|
||||
#define sdmOPTION_NON_VOLATILE 1U
|
||||
#define sdm_APPMODE_ERROR 3U
|
||||
#define sdm_APPMODE_WARNING 2U
|
||||
#define sdm_APPMODE_OK 1U
|
||||
#define sdm_APPMODE_NOTUSED 0U
|
||||
#define sdm_SYSTEMDUMP_DATA 1U
|
||||
#define sdm_SYSTEMDUMP_PARAM 0U
|
||||
#define sdmERR_OPTION_INVALID 34906U
|
||||
#define sdmERR_INVALID_VALUE 34905U
|
||||
#define sdmERR_INVALID_POINTER 34904U
|
||||
#define sdmERR_INVALID_DEVICE 34903U
|
||||
#define sdmERR_SYSTEMDUMP 34902U
|
||||
#define sdmERR_ARREG 34901U
|
||||
#define sdmERR_NOT_EXIST 34900U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned long sdmOPTION_VOLATILE;
|
||||
_GLOBAL_CONST unsigned long sdmOPTION_NON_VOLATILE;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_ERROR;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_WARNING;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_OK;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_NOTUSED;
|
||||
_GLOBAL_CONST unsigned short sdm_SYSTEMDUMP_DATA;
|
||||
_GLOBAL_CONST unsigned short sdm_SYSTEMDUMP_PARAM;
|
||||
_GLOBAL_CONST unsigned short sdmERR_OPTION_INVALID;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_VALUE;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_POINTER;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_DEVICE;
|
||||
_GLOBAL_CONST unsigned short sdmERR_SYSTEMDUMP;
|
||||
_GLOBAL_CONST unsigned short sdmERR_ARREG;
|
||||
_GLOBAL_CONST unsigned short sdmERR_NOT_EXIST;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct SdmSystemDump
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long configuration;
|
||||
unsigned long pDevice;
|
||||
unsigned long pFile;
|
||||
unsigned long pParam;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} SdmSystemDump_typ;
|
||||
|
||||
typedef struct SdmSetAppParam
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long appMode;
|
||||
unsigned long pLink;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} SdmSetAppParam_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void SdmSystemDump(struct SdmSystemDump* inst);
|
||||
_BUR_PUBLIC void SdmSetAppParam(struct SdmSetAppParam* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARSDM_ */
|
||||
|
||||
80
Logical/Libraries/AsBrStr/AsBrStr.fun
Normal file
80
Logical/Libraries/AsBrStr/AsBrStr.fun
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsftoa : UINT (*converts a REAL value into a character string*)
|
||||
VAR_INPUT
|
||||
value :REAL; (*REAL (FLOAT) value to be converted into a character string*)
|
||||
pString :UDINT; (*pointer to the destination character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatof : REAL (*converts a character string into a REAL (FLOAT) value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatod : LREAL (*converts a character string into a LREAL (DOUBLE) value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsitoa : UINT (*converts a DINT value into a character string*)
|
||||
VAR_INPUT
|
||||
value :DINT; (*numerical value to be converted into a string*)
|
||||
pString :UDINT; (*pointer to the destination character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatoi : DINT (*converts a character string into a DINT value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemset : UDINT (*fills the memory area with specific values*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
value :USINT; (*initialization value*)
|
||||
length :UDINT; (*number of bytes to be initialized*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemcpy : UDINT (*copies the memory area*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
pSrc :UDINT; (*pointer to the data to be copied*)
|
||||
length :UDINT; (*size of bytes to be copied*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemmove : UDINT (*copies the memory area (even if the memory areas overlap)*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
pSrc :UDINT; (*pointer to the data to be copied*)
|
||||
length :UDINT; (*size of bytes to be copied*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemcmp : DINT (*compares memory areas*)
|
||||
VAR_INPUT
|
||||
pMem1 :UDINT; (*pointer to the memory area 1*)
|
||||
pMem2 :UDINT; (*pointer to the memory area 2*)
|
||||
length :UDINT; (*size of bytes to be checked*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcat : UDINT (*attaches character strings to one another*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination character string*)
|
||||
pSrc :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrlen : UDINT (*provides the length of a character string*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcpy : UDINT (*copies one character string into another*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination character string*)
|
||||
pSrc :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcmp : DINT (*compares two character strings*)
|
||||
VAR_INPUT
|
||||
pString1 :UDINT; (*pointer to the first character string*)
|
||||
pString2 :UDINT; (*pointer to the second character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
4
Logical/Libraries/AsBrStr/AsBrStr.typ
Normal file
4
Logical/Libraries/AsBrStr/AsBrStr.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
4
Logical/Libraries/AsBrStr/AsBrStr.var
Normal file
4
Logical/Libraries/AsBrStr/AsBrStr.var
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
9
Logical/Libraries/AsBrStr/Binary.lby
Normal file
9
Logical/Libraries/AsBrStr/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsBrStr Library contains FBKs for memory and character string handling.">
|
||||
<Files>
|
||||
<File>AsBrStr.fun</File>
|
||||
<File>AsBrStr.typ</File>
|
||||
<File>AsBrStr.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
39
Logical/Libraries/AsBrStr/SG3/AsBrStr.h
Normal file
39
Logical/Libraries/AsBrStr/SG3/AsBrStr.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRSTR_
|
||||
#define _ASBRSTR_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
unsigned short brsftoa(float value, unsigned long pString);
|
||||
float brsatof(unsigned long pString);
|
||||
unsigned short brsitoa(signed long value, unsigned long pString);
|
||||
signed long brsatoi(unsigned long pString);
|
||||
unsigned long brsmemset(unsigned long pDest, unsigned char value, unsigned long length);
|
||||
unsigned long brsmemcpy(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
unsigned long brsmemmove(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
signed long brsmemcmp(unsigned long pMem1, unsigned long pMem2, unsigned long length);
|
||||
unsigned long brsstrcat(unsigned long pDest, unsigned long pSrc);
|
||||
unsigned long brsstrlen(unsigned long pString);
|
||||
unsigned long brsstrcpy(unsigned long pDest, unsigned long pSrc);
|
||||
signed long brsstrcmp(unsigned long pString1, unsigned long pString2);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRSTR_ */
|
||||
|
||||
39
Logical/Libraries/AsBrStr/SG4/AsBrStr.h
Normal file
39
Logical/Libraries/AsBrStr/SG4/AsBrStr.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRSTR_
|
||||
#define _ASBRSTR_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC unsigned short brsftoa(float value, unsigned long pString);
|
||||
_BUR_PUBLIC float brsatof(unsigned long pString);
|
||||
_BUR_PUBLIC double brsatod(unsigned long pString);
|
||||
_BUR_PUBLIC unsigned short brsitoa(signed long value, unsigned long pString);
|
||||
_BUR_PUBLIC signed long brsatoi(unsigned long pString);
|
||||
_BUR_PUBLIC unsigned long brsmemset(unsigned long pDest, unsigned char value, unsigned long length);
|
||||
_BUR_PUBLIC unsigned long brsmemcpy(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
_BUR_PUBLIC unsigned long brsmemmove(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
_BUR_PUBLIC signed long brsmemcmp(unsigned long pMem1, unsigned long pMem2, unsigned long length);
|
||||
_BUR_PUBLIC unsigned long brsstrcat(unsigned long pDest, unsigned long pSrc);
|
||||
_BUR_PUBLIC unsigned long brsstrlen(unsigned long pString);
|
||||
_BUR_PUBLIC unsigned long brsstrcpy(unsigned long pDest, unsigned long pSrc);
|
||||
_BUR_PUBLIC signed long brsstrcmp(unsigned long pString1, unsigned long pString2);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRSTR_ */
|
||||
|
||||
39
Logical/Libraries/AsBrStr/SGC/AsBrStr.h
Normal file
39
Logical/Libraries/AsBrStr/SGC/AsBrStr.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRSTR_
|
||||
#define _ASBRSTR_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
unsigned short brsftoa(float value, unsigned long pString);
|
||||
float brsatof(unsigned long pString);
|
||||
unsigned short brsitoa(signed long value, unsigned long pString);
|
||||
signed long brsatoi(unsigned long pString);
|
||||
unsigned long brsmemset(unsigned long pDest, unsigned char value, unsigned long length);
|
||||
unsigned long brsmemcpy(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
unsigned long brsmemmove(unsigned long pDest, unsigned long pSrc, unsigned long length);
|
||||
signed long brsmemcmp(unsigned long pMem1, unsigned long pMem2, unsigned long length);
|
||||
unsigned long brsstrcat(unsigned long pDest, unsigned long pSrc);
|
||||
unsigned long brsstrlen(unsigned long pString);
|
||||
unsigned long brsstrcpy(unsigned long pDest, unsigned long pSrc);
|
||||
signed long brsstrcmp(unsigned long pString1, unsigned long pString2);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRSTR_ */
|
||||
|
||||
71
Logical/Libraries/AsBrWStr/AsBrWStr.fun
Normal file
71
Logical/Libraries/AsBrWStr/AsBrWStr.fun
Normal file
@@ -0,0 +1,71 @@
|
||||
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsconv : UDINT (*converts one string to a different format*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO USINT; (*string to be appended to, given as a pointer*)
|
||||
pSource :REFERENCE TO USINT; (*string to be appended, given as a pointer*)
|
||||
level :USINT; (*brwU8toUC (= 0) if converting from U8 to UC; brwUCtoU8 (= 1) if converting from UC to U8*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsncpy : UDINT (*copies a maximum of n characters from the pSource WC string to the pDestination address*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*pointer to the target memory for the string*)
|
||||
pSource :REFERENCE TO UINT; (*string to be copied, given as a pointer*)
|
||||
n :UDINT; (*max. number of characters to be copied*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsncat : UDINT (*appends a maximum of n characters from the pSource string to the pDestination string*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*string to be appended to, given as a pointer*)
|
||||
pSource :REFERENCE TO UINT; (*string to be appended, given as a pointer*)
|
||||
n :UDINT; (*maximum number of characters to be added from pSource to pDestination*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcscat : UDINT (*connects two WC strings to each other (concatenation)*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*string to be appended to, given as a pointer*)
|
||||
pSource :REFERENCE TO UINT; (*string to be appended, given as a pointer*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcscmp : DINT (*compares two 16-bit character strings*)
|
||||
VAR_INPUT
|
||||
pUcstr1 :REFERENCE TO UINT; (*first string, given as a pointer*)
|
||||
pUcstr2 :REFERENCE TO UINT; (*second string, given as a pointer*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcslen : UDINT (*determines the length of a WC string*)
|
||||
VAR_INPUT
|
||||
pwcString :REFERENCE TO UINT; (*string whose length should be determined, given as a pointer*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsset : UDINT (*appends the pSource string to the pDestination string*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*string being written, given as a pointer*)
|
||||
len :UDINT; (*number of characters to be written*)
|
||||
symbol :UINT; (*character used to overwrite*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsncmp : DINT (*compares two 16-bit strings*)
|
||||
VAR_INPUT
|
||||
pwcString1 :REFERENCE TO UINT; (*first string given as a pointer*)
|
||||
pwcString2 :REFERENCE TO UINT; (*second string given as a pointer*)
|
||||
n :UDINT; (*max. number of characters from pUcstr1 to be compared with pUcstr2*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcscpy : UDINT (*copies a WC string*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*pointer to the target memory for the string*)
|
||||
pSource :REFERENCE TO UINT; (*string to be copied, given as a pointer*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcsrchr : UDINT (*searches for the last occurrence of a certain character in a WC string*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*character string being searched, given as a pointer*)
|
||||
symbol :UINT; (*character being looked for*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION brwcschr : UDINT (*searches for the first occurrence of a certain character*)
|
||||
VAR_INPUT
|
||||
pDestination :REFERENCE TO UINT; (*string given as a pointer*)
|
||||
symbol :UINT; (*character being looked for*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user