zweiter Baustein hinzugefügt

This commit is contained in:
2026-06-22 17:15:46 +02:00
parent c85c525c25
commit 6a6d981178
485 changed files with 339121 additions and 0 deletions
@@ -0,0 +1,2 @@
TypeGuid: 0fb07577-0755-4aaa-8aa1-ed98c4a96d46
VersionGuid: 80031440-bc66-4cb7-9dd8-353095fb8de0
@@ -0,0 +1,2 @@
TypeGuid: 7d4d00d5-3a74-48f2-a16d-c1df371b6b73
VersionGuid: aa2b6c0a-fa07-4b36-bb79-186128730907
@@ -0,0 +1,142 @@
FUNCTION_BLOCK "FB_EncoderMonitor"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
sInConveyor : String[20];
sInEncoder : String[20];
nInEncoderValue : DInt; // Direkter Encoder Wert
xInClock : Bool; // Clock Eingang
xInConveyorRun : Bool; // Conveyor Full Speed
xInQuit : Bool; // Quittieren für Fehler
xInActivate : Bool; // true = Überwachung aktiv
nInEncoderMax : DInt;
nInEncMonVal : DInt;
END_VAR
VAR_OUTPUT
xOutError : Bool; // Fehler Ausgang. Stoppt Conveyor
END_VAR
VAR_IN_OUT
stInOutControlUnitCabinet : "UDT_MainState";
END_VAR
VAR
rTrigClock {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG;
END_VAR
VAR RETAIN
nValue1 : DInt; // 1. Wert für Differenz
nValue2 : DInt; // 2. Wert für Differenz
nResult : DInt; // Differenz der zwei Werte
nStep : Int; // Step in Schrittkette
xError : Bool; // Fehlerbit wenn Differenz zu klein
END_VAR
VAR
fbMonitoringEncoder { S7_SetPoint := 'False'} : "FB_Monitoring";
END_VAR
VAR_TEMP
xClock : Bool; // Taktbit vom Clock
END_VAR
BEGIN
(*
Überwachung für Pinband mit Encoder ohne sonstige Sensorik, nur anhand von Encoder-Werten. Encodereinstellung und Schwellwert werden mit den entspr. Konstanten vorgegeben
Es wird im Clock-Takt ermittelt, ob sich bei laufendem Motor der Encoder-Wert wie gewünscht verändert.
Bei jeder Taktflanke wird ein Encoderwert gespeichert und danach die Differenz gebildet. Ist diese unterhalb des gewünschten Schwellwertes, wird Fehler-Bit ausgegeben mit welchem
der Motor gestoppt werden kann.
*)
REGION Takt
#rTrigClock(CLK := #xInClock AND #xInConveyorRun, //Beispiel: Clock_2Hz, um alle 500 ms einen Wert zu ermitteln, bei Ermittlung des 2. Wertes wird Berechnung durchgeführt
Q => #xClock);
END_REGION
IF #xInActivate THEN
IF #xInConveyorRun THEN //Startbedingung für Überwachung
REGION Schrittkette
CASE #nStep OF
0:
REGION 000: Init
#nValue1 := 0;
#nValue2 := 0;
#xError := FALSE;
#nResult := 0;
#nStep := 1;
END_REGION
1:
REGION 001: Erster Wert
IF #xClock THEN
#nValue1 := #nInEncoderValue;
#nStep := 2;
END_IF;
END_REGION
2:
REGION 0002: Zweiter Wert
IF #xClock THEN
#nValue2 := #nInEncoderValue;
REGION Berechnung
#nResult := #nValue2 - #nValue1;
IF #nResult < 0 THEN //Falls negativ wegen Überlauf von Encoder
#nResult := #nResult + #nInEncoderMax; //negatives Ergebnis + MaxWert von Encoder ergibt "normale" Differenz
END_IF;
END_REGION
REGION Vergleich
IF #nResult < #nInEncMonVal THEN //True deutet darauf hin dass Band sich nicht oder deutlich langsamer bewegt
#xError := TRUE;
ELSE
#nStep := 1; //normal weiter
END_IF;
END_REGION
END_IF;
END_REGION
ELSE
;
END_CASE;
END_REGION
ELSE
#nStep := 0;
END_IF;
ELSE
// #xError := FALSE;
#nStep := 0;
END_IF;
REGION Output
#xOutError := #xError AND #xInActivate;
END_REGION
REGION Quittieren
IF #xError AND #xInQuit AND #xInActivate THEN
#xError := FALSE;
#nStep := 0;
END_IF;
END_REGION
REGION Monitoring
#fbMonitoringEncoder.stSettings.nErrorType := 1;
#fbMonitoringEncoder.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonitoringEncoder.stSettings.xSelfQuit := TRUE;
#fbMonitoringEncoder.stSettings.tDelay := T#1s;
#fbMonitoringEncoder(sInFctnName := 'Bandueberwachung Encoder',
sInPrefix := #sInConveyor,
wInTextListId_Function := 2000,
wInTextListId_Message := 2000,
sInSuffix := #sInEncoder,
InOutMachineState := #stInOutControlUnitCabinet,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := NOT (#xError AND #xInActivate),
sInAlarmMessage := 'Bandueberwachung ausgeloest');
END_REGION
END_FUNCTION_BLOCK
@@ -0,0 +1,2 @@
TypeGuid: 330e3c73-0c6f-428c-bd04-06e779578b19
VersionGuid: 6e61feb0-b755-46ad-858d-a6af74114a38
@@ -0,0 +1,2 @@
TypeGuid: 873575bd-45c1-4e5d-ad81-32da723bf561
VersionGuid: ef6d16a4-e489-47fe-ac26-6e1120abf3dc
@@ -0,0 +1,2 @@
TypeGuid: 7b2f674e-09cf-4295-8f62-286c90fb1e37
VersionGuid: 0c32dfac-9456-4f09-94aa-e0c5522ed860
@@ -0,0 +1,2 @@
TypeGuid: d0ad9446-bc78-42a5-b84b-49a4797c28ac
VersionGuid: 574d1c63-2f47-400a-81d4-5ae98e38068a
@@ -0,0 +1,2 @@
TypeGuid: 2dfa028b-93e2-4db3-a2df-573dd5f5a859
VersionGuid: 9b45df8c-7bb0-44b6-97db-967b2a2d5925
@@ -0,0 +1,2 @@
TypeGuid: 20cde367-3b9c-47ac-a37d-81376520ad0c
VersionGuid: 6d3f3d13-565a-4cd3-a766-c23713547842
@@ -0,0 +1,2 @@
TypeGuid: 901da2f1-dd37-4f9f-ad1c-457a2942dfb5
VersionGuid: ef1f567e-60c2-46dd-a938-0b4684fbae6e
@@ -0,0 +1,2 @@
TypeGuid: 9efcce89-7b06-4891-9641-6b68006aed8c
VersionGuid: d2f29772-001f-478c-97e1-1fcccbe27ee7
@@ -0,0 +1,2 @@
TypeGuid: 147eef49-040b-42d5-ae7d-43bf675e04d5
VersionGuid: e2fffa67-74ab-4d49-9905-ebe62964e7d5
@@ -0,0 +1,2 @@
TypeGuid: 3d0c7919-902b-47bd-98b6-b1baea1057d3
VersionGuid: 3af372a4-e06c-4b34-9436-a82db4db70d2
@@ -0,0 +1,2 @@
TypeGuid: 72f65cd0-2f82-4e9a-944e-763573262fcb
VersionGuid: 86087764-f9fa-4e00-99b4-fd1f0d046c81
@@ -0,0 +1,2 @@
TypeGuid: 7d35be77-2a72-4530-b111-2a609340cc24
VersionGuid: 2ad8b4f4-249f-4013-ac79-66401f0d4420
@@ -0,0 +1,2 @@
TypeGuid: d73846b1-6cd6-414c-ac23-6600e2c98ae1
VersionGuid: 456c4cee-f3c8-4642-aa97-cf33a9152512
@@ -0,0 +1,2 @@
TypeGuid: 2b644f30-a3a6-4abb-8b59-ef341fedf9f8
VersionGuid: 91175451-8c0e-4789-b302-fd2c134e9d15
@@ -0,0 +1,2 @@
TypeGuid: fdb28b91-85cc-4257-9a7f-4ee21454e413
VersionGuid: 2497d8a1-ceea-4dac-b905-551eed5082d8
@@ -0,0 +1,2 @@
TypeGuid: b2b7bae2-df01-45c1-b728-4f21f6dccf2b
VersionGuid: 3b4a840b-d014-4f13-8b4b-a11a10747b6c
@@ -0,0 +1,2 @@
TypeGuid: 080fec55-3e2f-4dd7-a4ef-294c5113ff9e
VersionGuid: 87ef5917-e524-4be6-9c25-711f27819aa2
@@ -0,0 +1,2 @@
TypeGuid: 170b53d4-41f2-4a63-95d5-f1d211def922
VersionGuid: f6da1f27-73cc-44c0-b509-a32a5cc418eb
@@ -0,0 +1,2 @@
TypeGuid: 487f8a43-4b39-46f6-a1db-76a1b3e0f176
VersionGuid: a5ef1d68-80ec-445d-a745-78efb8a2a107
@@ -0,0 +1,2 @@
TypeGuid: 7fd3f712-0c70-464a-a178-3c0e9f56e7fd
VersionGuid: 42d9ac8f-436d-47fd-ad7b-f96d7f788df8
@@ -0,0 +1,2 @@
TypeGuid: d80e8fca-e961-4f74-921c-a6b0d72f1eac
VersionGuid: f6d0468d-7b77-4edd-9872-9c45f88f2433
@@ -0,0 +1,2 @@
TypeGuid: 718b592c-b3f7-485a-b5db-163a6b763ce8
VersionGuid: d131374a-a6c5-4f85-90ef-e79fbf6a693d
@@ -0,0 +1,2 @@
TypeGuid: ee0a8e96-59fd-4b31-b321-6af5535f2d37
VersionGuid: 49847e72-1709-4b34-a0c5-c734164c1f45
@@ -0,0 +1,2 @@
TypeGuid: 6caf52bc-45ea-42bb-8864-ebe669724132
VersionGuid: be754d41-5565-4ed2-98d8-6257307063cd
@@ -0,0 +1,2 @@
TypeGuid: ae3ad50b-36d6-449e-8326-46d4e3b3c847
VersionGuid: 5abe1ca8-d687-4973-82d3-c99f7603ddad
@@ -0,0 +1,2 @@
TypeGuid: c15aaa61-01ed-4442-82db-06b58abeebb9
VersionGuid: 94bbd898-ab59-4c22-a0ee-320804d0387a
@@ -0,0 +1,2 @@
TypeGuid: fbb06663-2a05-4c23-84a0-4d267ee6e385
VersionGuid: 6640f592-83b1-4a46-8526-d2f636c28047
@@ -0,0 +1,2 @@
TypeGuid: bb985cb7-f19e-4e7f-9500-9a5edcac2865
VersionGuid: 10277776-2258-4ebc-81af-1e451bc796cc