zweiter Baustein hinzugefügt
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user