ILSLib hinzugefügt
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
LibraryType:
|
||||
Guid: d0ad9446-bc78-42a5-b84b-49a4797c28ac
|
||||
Comment:
|
||||
de-DE: Initial
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.32
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: DoNotDeleteOnScanCorrection benutzt um Meldung "Carrier kommt nicht an" einstellbar zu machen
|
||||
@@ -0,0 +1,57 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_1Sep.scl
|
||||
Hash: umhqNyG9FtW9SgmMzYIetWW2VbMzr2vIZ4SZtZBjNkc=
|
||||
LibraryMetaFileHash: hzrYxyjc0YkD2PM6EBe8rUOdl36+kofESSfQNFnClu8=
|
||||
LibraryVersion:
|
||||
Guid: 574d1c63-2f47-400a-81d4-5ae98e38068a
|
||||
DependsOn:
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_SetAlarmAndLog
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Booking
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_HMI_TRO
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: FB_EventLog_Correction
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Scan
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_Monitoring
|
||||
VersionNumber: 2.0.5
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_CarrAccumulate1Sep
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_TSHR_Shift
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
LibraryType:
|
||||
Guid: 2dfa028b-93e2-4db3-a2df-573dd5f5a859
|
||||
Comment:
|
||||
de-DE: initial
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.32
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
@@ -0,0 +1,51 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_1Sep1Swi.scl
|
||||
Hash: Br5ZHa/6Yd6pW6CiwiDx/Ju0wsXPfgZ5++n/Uy45Zrg=
|
||||
LibraryMetaFileHash: ykUAEsyT2ZOfMgaTTZTQEsCCIlSuM6tCeDahIMzVlQg=
|
||||
LibraryVersion:
|
||||
Guid: 9b45df8c-7bb0-44b6-97db-967b2a2d5925
|
||||
DependsOn:
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: SettingsSwitch
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: FB_ILS_STRO_Switch
|
||||
VersionNumber: 2.0.3
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_Monitoring
|
||||
VersionNumber: 2.0.5
|
||||
- TypeName: UDT_HMI_TRO
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_TSHR_Shift
|
||||
VersionNumber: 2.0.1
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
LibraryType:
|
||||
Guid: ee0a8e96-59fd-4b31-b321-6af5535f2d37
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.5
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: Initial
|
||||
@@ -0,0 +1,47 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_1Sep2Swi.scl
|
||||
Hash: ezNcvr15nq3IymiSoglgFPBP7lCoI1RCxwhQHFwariI=
|
||||
LibraryMetaFileHash: ZdidBrjxDChTe+r5p/+8cYV6xW2yCj/02uWN9ly3TwI=
|
||||
LibraryVersion:
|
||||
Guid: 49847e72-1709-4b34-a0c5-c734164c1f45
|
||||
DependsOn:
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: SettingsSwitch
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_HMI_TRO
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: FB_ILS_STRO_Switch
|
||||
VersionNumber: 2.0.3
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
LibraryType:
|
||||
Guid: 63d716e2-f16e-400d-9ae2-7c900ae1baaa
|
||||
Comment:
|
||||
de-DE: Spezial TRO mit SSCC (im Test)
|
||||
LibraryVersion:
|
||||
VersionNumber: 0.0.8
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: Spezial TRO mit SSCC
|
||||
@@ -0,0 +1,59 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_1Sep_SSCC.scl
|
||||
Hash: C2W6IrOSvJvrHD4EsDODFr8pfn5FCmXHKBGuoheWL0o=
|
||||
LibraryMetaFileHash: SztRLFJMpsj0TCiK3yfu0MDP8gaYpmZAh9h+yuTHeD4=
|
||||
LibraryVersion:
|
||||
Guid: 184eacf8-1dc0-461f-b2c0-7c7695663004
|
||||
DependsOn:
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_SetAlarmAndLog
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Booking
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_HMI_TRO
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: FB_EventLog_Correction
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Scan
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_Monitoring
|
||||
VersionNumber: 2.0.5
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_CarrAccumulate1Sep
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_SsccBarcodeReader
|
||||
VersionNumber: 0.0.6
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_TSHR_Shift
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
LibraryType:
|
||||
Guid: 20cde367-3b9c-47ac-a37d-81376520ad0c
|
||||
LibraryVersion:
|
||||
VersionNumber: 3.0.25
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: Änderung bei UnloadStation (unterlagert)
|
||||
@@ -0,0 +1,85 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_PinStore_Auto.scl
|
||||
Hash: /UCrEElUzeqrXW8RY8gEHrDLt4DMBYZprgOTZIkDYyk=
|
||||
LibraryMetaFileHash: 30luMnC4OZLH2IAPu8Whn8fFX/PnYL4rZfsWCRHzXyM=
|
||||
LibraryVersion:
|
||||
Guid: 6d3f3d13-565a-4cd3-a766-c23713547842
|
||||
DependsOn:
|
||||
- TypeName: UDT_HMI_TRO_PinStore
|
||||
VersionNumber: 2.0.2
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_UnloadingStation
|
||||
VersionNumber: 0.0.6
|
||||
- TypeName: stConveyorStations
|
||||
VersionNumber: 2.0.3
|
||||
- TypeName: FB_StationUnloadPin
|
||||
VersionNumber: 2.0.6
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stStorageLine
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: FB_EventLog_Booking
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: CarrierStatisticsStore
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_SepPrio
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_CarrAccumulate1Sep
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_MFR_StoreTRO
|
||||
VersionNumber: 2.0.2
|
||||
- TypeName: FB_PriorityManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_PrioParameter
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_MTRO_Prio
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Correction
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Scan
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrierPin
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_TSHR_Shift
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_SHR_HangerAddPin
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_TargetDecision
|
||||
VersionNumber: 2.0.9
|
||||
- TypeName: FC_TSHR_AddAtEnd
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_SHR_CyclePin
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_SHR_CheckStationPin
|
||||
VersionNumber: 2.0.0
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
LibraryType:
|
||||
Guid: 901da2f1-dd37-4f9f-ad1c-457a2942dfb5
|
||||
Comment:
|
||||
de-DE: Initial
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.44
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: unterlagerte Änderung + Error an HMI
|
||||
@@ -0,0 +1,63 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_ILS_MTRO_Vario.scl
|
||||
Hash: ij8+quD1+6/Y2Gll+lwVcUtBDYJ55Jr2O9+3zkrVYWk=
|
||||
LibraryMetaFileHash: nsBzoQhuClVvQibr/51Q+TUKf5a3/vLnUmtaLITQ8Kg=
|
||||
LibraryVersion:
|
||||
Guid: 8b55333c-b1cd-4393-90bf-b434182d114b
|
||||
DependsOn:
|
||||
- TypeName: FB_ILS_STRO_Vario
|
||||
VersionNumber: 2.0.18
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_HMI_TRO
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: FB_StateManager
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Response
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsSeparator
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FB_ILS_STRO_Sep
|
||||
VersionNumber: 2.0.8
|
||||
- TypeName: FB_BarcodeReaderCognex
|
||||
VersionNumber: 2.0.4
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCarrier
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_Monitoring
|
||||
VersionNumber: 2.0.5
|
||||
- TypeName: stEventBookingInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: SettingsVario
|
||||
VersionNumber: 2.0.5
|
||||
- TypeName: stJamData
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Request
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_CarrAccumulate1Sep
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_SettingsVarioFingerMonitoring
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_SetAlarmAndLog
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_Sensor
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Booking
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventCorrectionInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stEventScanInfo
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Correction
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_EventLog_Scan
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FC_Route
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_TSHR_Shift
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: FC_Ean8_CheckDigit
|
||||
VersionNumber: 2.0.0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
LibraryType:
|
||||
Guid: 61279537-838f-481a-b050-d5fb621f0c51
|
||||
Comment:
|
||||
de-DE: Spezial TRO mit SSCC
|
||||
LibraryVersion:
|
||||
VersionNumber: 0.0.6
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
Comment:
|
||||
de-DE: Spezial TRO mit SSCC
|
||||
@@ -0,0 +1,19 @@
|
||||
DocumentHash:
|
||||
- FileName: FB_SsccBarcodeReader.scl
|
||||
Hash: s4Af9OzYrvEKvlTQhFvtyxRQaXTM+eaAWgKjTuKcPc4=
|
||||
LibraryMetaFileHash: mkFaUnatdEjxr6uhF/FwU8O4IU0JFGOxZWgP7l7jJcc=
|
||||
LibraryVersion:
|
||||
Guid: 2695c196-6166-42c7-8d1e-1f7bc4316779
|
||||
DependsOn:
|
||||
- TypeName: UDT_SettingsBarcodeReader
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: stCognexInterface
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_MainState
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: UDT_BarcodeReader
|
||||
VersionNumber: 2.0.1
|
||||
- TypeName: stHMI_BRCognexDM
|
||||
VersionNumber: 2.0.0
|
||||
- TypeName: FB_Monitoring
|
||||
VersionNumber: 2.0.5
|
||||
@@ -0,0 +1,524 @@
|
||||
FUNCTION_BLOCK "FB_SsccBarcodeReader"
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
VERSION : 0.1
|
||||
VAR_INPUT
|
||||
stInSettings : "UDT_SettingsBarcodeReader";
|
||||
xInBorner : Bool; // NIU
|
||||
xInStartReading : Bool; // Starte Lesevorgang
|
||||
xInHandshakeDone : Bool; // Lesevorgang beendet Handshake rein
|
||||
xInErrQuit : Bool; // Fehler rücksetzen
|
||||
xInReset : Bool; // Baustein zurücksetzen
|
||||
xInHWError : Bool; // Baugruppen Fehler
|
||||
tInPlcTime {InstructionName := 'DTL'; LibVersion := '1.0'} : DTL; // SPS Zeit (z.B. für Zeitstempel)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
xOutReadingDone : Bool; // Lesevorgang abgeschlossen / Handshake raus
|
||||
xOutReadyForNewScan : Bool; // Reader ist bereit für Leseanforderung
|
||||
nOutBarcode : LInt; // Letzter gelesener Barcode
|
||||
sOutBarcode : String[20]; // Letzter gelesener Barcode (als Zeichenkette)
|
||||
wOutErrorWord : Word; // Fehlercode
|
||||
xOutCodeGood : Bool; // NIU
|
||||
xOutCodeBad : Bool; // NIU
|
||||
END_VAR
|
||||
|
||||
VAR_IN_OUT
|
||||
stInOutInterface : "stCognexInterface";
|
||||
stInOutControlUnitCabinet : "UDT_MainState";
|
||||
stInOutHMI : "UDT_BarcodeReader";
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
GETIO_PART {InstructionName := 'GETIO_PART'; LibVersion := '1.2'; ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : GETIO_PART;
|
||||
xStartReading : Bool;
|
||||
xTrigger : Bool;
|
||||
xToggleBitFlg : Bool;
|
||||
nBarcode : LInt;
|
||||
sBarcodeString : String[20] := 'none';
|
||||
SETIO_PART {InstructionName := 'SETIO_PART'; LibVersion := '1.2'; ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : SETIO_PART;
|
||||
stCtrlBitsIn : Struct
|
||||
D0_DeviceReady : Bool;
|
||||
D1_SystemReady : Bool;
|
||||
D2_GoodRead : Bool;
|
||||
D3_NoRead : Bool;
|
||||
D4_ExtOut1 : Bool;
|
||||
D5_ExtOut2 : Bool;
|
||||
D6_Result1 : Bool;
|
||||
D7_Result2 : Bool;
|
||||
D8_ExtIn1 : Bool;
|
||||
D9_ExtIn2 : Bool;
|
||||
D10_Sensor1 : Bool;
|
||||
D11_Sensor2 : Bool;
|
||||
D12_Res : Bool;
|
||||
D13_Res : Bool;
|
||||
D14_Res : Bool;
|
||||
D15_Toggle : Bool;
|
||||
END_STRUCT;
|
||||
nState : Int;
|
||||
nLastStep { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
|
||||
arStepHistory : Array[0..10] of Struct
|
||||
StepNum : Int;
|
||||
TimeStamp {InstructionName := 'DTL'; LibVersion := '1.0'} : DTL;
|
||||
END_STRUCT;
|
||||
nResultID : Int;
|
||||
nResultCode : Int;
|
||||
nResultExtended : Int;
|
||||
"64Byte_IN_Data" { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Array[0..63] of Byte;
|
||||
tOnMonitoring {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME;
|
||||
stHMI : "stHMI_BRCognexDM";
|
||||
fbMonitoringCamGeneralFault : "FB_Monitoring";
|
||||
fbMonitoringCamRuntimeFail : "FB_Monitoring";
|
||||
stStatistics : Struct
|
||||
nReads : UDInt;
|
||||
nGoodRead : UDInt;
|
||||
nBadRead : UDInt;
|
||||
nGoodReadBarcodeChanged : UDInt;
|
||||
nBadReadBarcodeChanged : UDInt;
|
||||
tLastBarcodeRecv {InstructionName := 'DTL'; LibVersion := '1.0'; ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DTL;
|
||||
tLastNoReadRecv {InstructionName := 'DTL'; LibVersion := '1.0'; ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DTL;
|
||||
tLastReset {InstructionName := 'DTL'; LibVersion := '1.0'; ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DTL;
|
||||
END_STRUCT;
|
||||
tPLCTime {InstructionName := 'DTL'; LibVersion := '1.0'} : DTL;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
xReInit : Bool;
|
||||
END_VAR
|
||||
VAR
|
||||
xCodeGood : Bool;
|
||||
xCodeBad : Bool;
|
||||
nBarcodeTarget : DInt;
|
||||
sBarcodeTarget : String;
|
||||
stTest : Struct
|
||||
nGoodRead : Int;
|
||||
nBadRead : Int;
|
||||
nGoodReadBarcodeChanged : Int;
|
||||
nBadReadBarcodeChanged : Int;
|
||||
END_STRUCT;
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
tReadIO_Status : DWord;
|
||||
tReadIO_Error : Bool;
|
||||
tWriteIO_Status_01 : DWord;
|
||||
tWriteIO_Error_01 : Bool;
|
||||
t_BC_iO : Bool;
|
||||
t_BC_niO : Bool;
|
||||
t_Format : Word;
|
||||
t_Status : Int;
|
||||
t_Time : Int;
|
||||
xTemp : Bool;
|
||||
END_VAR
|
||||
|
||||
VAR CONSTANT
|
||||
"E_DeviceState.eInit2" : Int := 100;
|
||||
"E_DeviceState.eInit1" : Int := 0;
|
||||
"E_DeviceState.eNoJob" : Int := 200;
|
||||
"E_DeviceState.eWaitReaderReady" : Int := 300;
|
||||
"E_DeviceState.eWaitTriggerAck" : Int := 400;
|
||||
"E_DeviceState.eGetResult" : Int := 500;
|
||||
"E_DeviceState.eClearResult" : Int := 600;
|
||||
"E_DeviceState.eOutput" : Int := 700;
|
||||
"E_DeviceState.eHandshake" : Int := 800;
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
REGION Block Header
|
||||
//=================================================================================
|
||||
// Schönenberger Systeme GmbH / (c)Copyright 2025
|
||||
//---------------------------------------------------------------------------------
|
||||
// Title: FB_BarcodeReaderCognex
|
||||
// Comment/Function: Cognex Barcode Reader
|
||||
// Library/Family: BaseSystemLib/PROFINET/Devices
|
||||
// Author: E.Yüksel
|
||||
// Tested with: CPU 1515F-2 PN FW:V3.0
|
||||
// Engineering: TIA Portal V20
|
||||
// Restrictions: This function block ONLY works with Cognex Dataman Readers and PROFINET protocol
|
||||
// Currently ONLY designed for Cognex trigger mode: Continuous
|
||||
// Requirements: PLC (S7-1500)
|
||||
//---------------------------------------------------------------------------------
|
||||
// Change log table:
|
||||
// Version | Date | Expert in charge | Changes applied
|
||||
//----------|------------|------------------------|--------------------------------
|
||||
// 01.00.00 | 25.04.2024 | Yüksel, Molina | First released version
|
||||
// 02.00.00 | 20.11.2024 | Yüksel | Prepare for library integration
|
||||
// 03.00.00 | 31.01.2025 | Yüksel | Refactoring, no functionality changes
|
||||
//=================================================================================
|
||||
END_REGION
|
||||
|
||||
REGION Info
|
||||
(*
|
||||
Errors:
|
||||
00 Internal Error / Stepfailure
|
||||
01 Results available before trigger
|
||||
02 Runtime failure
|
||||
03 Barcode ASCI failure
|
||||
04 Res 4
|
||||
05 ReadIO_Error
|
||||
06 Res 6
|
||||
07 Res 7
|
||||
08 Res 8
|
||||
09 Res 9
|
||||
10 Res 10
|
||||
11 Res 11
|
||||
12 Res 12
|
||||
13 Res 13
|
||||
14 Camera not ready / General Fault
|
||||
15 Modul reset
|
||||
*)
|
||||
END_REGION
|
||||
|
||||
REGION INIT
|
||||
REGION First Scan
|
||||
IF "FirstScan" THEN
|
||||
#nState := #"E_DeviceState.eInit1";
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
REGION Reset statistics
|
||||
IF NOT #xReInit AND NOT "FirstScan" AND #tInPlcTime.YEAR > 1970 THEN
|
||||
#stStatistics.nReads := 0;
|
||||
#stStatistics.nGoodRead := 0;
|
||||
#stStatistics.nBadRead := 0;
|
||||
#stStatistics.nGoodReadBarcodeChanged := 0;
|
||||
#stStatistics.nBadReadBarcodeChanged := 0;
|
||||
#stStatistics.tLastBarcodeRecv := DTL#1970-01-01-00:00:00;
|
||||
#stStatistics.tLastNoReadRecv := DTL#1970-01-01-00:00:00;
|
||||
#stStatistics.tLastReset := DTL#1970-01-01-00:00:00;
|
||||
|
||||
#xReInit := TRUE;
|
||||
#stStatistics.tLastReset := #tInPlcTime;
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
END_REGION
|
||||
|
||||
REGION ErrorQuitt
|
||||
IF #xInErrQuit THEN
|
||||
#wOutErrorWord := 0;
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
REGION reset step sequence
|
||||
IF #xInReset THEN
|
||||
#nState := #"E_DeviceState.eInit1";
|
||||
#wOutErrorWord := 0;
|
||||
#wOutErrorWord.%X15 := TRUE;
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
REGION Err check camera ready
|
||||
#wOutErrorWord.%X14 := #stInOutInterface.#xInCamGeneralFault;
|
||||
END_REGION
|
||||
REGION stepsequence
|
||||
|
||||
CASE #nState OF
|
||||
#"E_DeviceState.eInit1":
|
||||
REGION STEP 000 - INIT 1
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#xCodeBad := FALSE;
|
||||
#xCodeGood := FALSE;
|
||||
#xOutReadingDone := FALSE;
|
||||
#stInOutInterface.xOutCamTriggerEnable := FALSE;
|
||||
#stInOutInterface.xOutCamTrigger := FALSE;
|
||||
#stInOutInterface.xOutCamResultsAck := FALSE;
|
||||
#nOutBarcode := #nBarcode := 0;
|
||||
#sOutBarcode := #sBarcodeString := '';
|
||||
|
||||
#wOutErrorWord := 0; // no Error
|
||||
|
||||
#nState := #"E_DeviceState.eInit2"; //Lade aktuelle Schrittnummer
|
||||
END_REGION
|
||||
#"E_DeviceState.eInit2":
|
||||
REGION STEP 100 - INIT 2
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#xCodeBad := FALSE;
|
||||
#xCodeGood := FALSE;
|
||||
#xOutReadingDone := FALSE;
|
||||
#stInOutInterface.xOutCamTriggerEnable := FALSE;
|
||||
#stInOutInterface.xOutCamTrigger := FALSE;
|
||||
#stInOutInterface.xOutCamResultsAck := TRUE; // Reader Ergebnisse quittieren
|
||||
#nOutBarcode := #nBarcode := 0;
|
||||
#sOutBarcode := #sBarcodeString := '';
|
||||
|
||||
//Transition
|
||||
IF
|
||||
NOT #stInOutInterface.xInCamResultsAvailable
|
||||
THEN
|
||||
#nState := #"E_DeviceState.eNoJob"; //Lade aktuelle Schrittnummer
|
||||
END_IF;
|
||||
END_REGION
|
||||
#"E_DeviceState.eNoJob":
|
||||
REGION STEP 200 - IDLE
|
||||
#xCodeBad := FALSE;
|
||||
#xCodeGood := FALSE;
|
||||
IF #stInOutInterface.xInCamResultsAvailable OR #xInErrQuit THEN
|
||||
#stInOutInterface.xOutCamResultsAck := TRUE;
|
||||
ELSE
|
||||
#stInOutInterface.xOutCamResultsAck := FALSE;
|
||||
END_IF;
|
||||
|
||||
//#stInOutInterface.xOutCamResultsAck := #xInErrQuit;
|
||||
#stInOutInterface.xOutCamTriggerEnable := FALSE;
|
||||
#stInOutInterface.xOutCamTrigger := FALSE;
|
||||
#xOutReadingDone := FALSE;
|
||||
|
||||
#nBarcode := #nOutBarcode := 0;
|
||||
|
||||
#xOutReadyForNewScan := TRUE;
|
||||
|
||||
//Transition
|
||||
IF #xInStartReading THEN // Leseanforderung
|
||||
#nState := #"E_DeviceState.eWaitReaderReady"; //Lade aktuelle Schrittnummer
|
||||
END_IF;
|
||||
END_REGION
|
||||
#"E_DeviceState.eWaitReaderReady":
|
||||
REGION STEP 300 - WAIT READER READY
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#stInOutInterface.xOutCamTriggerEnable := TRUE; // Freigabe an Barcode Reader
|
||||
#stInOutInterface.xOutCamResultsAck := FALSE;
|
||||
|
||||
#wOutErrorWord.%X1 := #stInOutInterface.xInCamResultsAvailable; // Fehler wenn es schon Ergebnisse gibt
|
||||
|
||||
//Transition
|
||||
IF #stInOutInterface.xInCamTriggerReady THEN // Barcode Reader meldet bereit
|
||||
#stInOutInterface.xOutCamTrigger := TRUE; // Barcode Reader triggern
|
||||
#nState := #"E_DeviceState.eWaitTriggerAck";
|
||||
END_IF;
|
||||
END_REGION
|
||||
#"E_DeviceState.eWaitTriggerAck":
|
||||
REGION STEP 400 - WAIT TRIGGER ACK
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#stInOutInterface.xOutCamTrigger := TRUE;
|
||||
|
||||
//Transition
|
||||
IF #stInOutInterface.xInCamTriggerAck THEN
|
||||
#nState := #"E_DeviceState.eGetResult";
|
||||
END_IF;
|
||||
END_REGION
|
||||
#"E_DeviceState.eGetResult":
|
||||
REGION STEP 500 - GET RESULT
|
||||
// INFO:
|
||||
// Beim Continous-Trigger (Modus der am Barcode Reader eingestellt wird) muss das Trigger-Signal im Gegensatz zum Single-Trigger immer high bleiben.
|
||||
// Der Reader macht kontinuierlich Bilder und hört erst auf, wenn etwas gelesen wurde oder man den Trigger wegnimmt (z.B. nach Timeout)
|
||||
// #stInOutInterface.xOutCamTrigger := #xInStartReading;
|
||||
|
||||
|
||||
// Auf Ergebnis warten...
|
||||
IF #stInOutInterface.xInCamResultsAvailable THEN // Ergebnis ist da
|
||||
#stInOutInterface.xOutCamTrigger := FALSE; // Trigger wegnehmen
|
||||
|
||||
REGION Read data
|
||||
#GETIO_PART(ID := #stInOutInterface.hwInCamInspectionResults, //Einlesen IN 64 Byte Daten
|
||||
OFFSET := 0,
|
||||
LEN := 64,
|
||||
STATUS => #tReadIO_Status,
|
||||
ERROR => #wOutErrorWord.%X5,
|
||||
INPUTS := #"64Byte_IN_Data");
|
||||
|
||||
Chars_TO_Strg(Chars := #"64Byte_IN_Data",
|
||||
pChars := 8, //Zeichen ab 8.Byte InData
|
||||
Cnt := 20, //10 Zeichen
|
||||
Strg => #sBarcodeString);
|
||||
END_REGION
|
||||
|
||||
REGION Evaluation (+ optional check Ascii)
|
||||
// ok - ASCI Zeichenprüfung 0 = 48 ... 9 = 57
|
||||
IF NOT #stInSettings.xActivateCheckASCI OR // next Step wenn ASCI Prüfung nicht aktiv
|
||||
(#"64Byte_IN_Data"[08] >= 48 AND //Prüfung 1. Zeichen auf Zahlen größer/gleich 0
|
||||
#"64Byte_IN_Data"[08] <= 57 AND //Prüfung 1. Zeichen auf Zahlen kleiner/gleich 9
|
||||
|
||||
#"64Byte_IN_Data"[15] >= 48 AND //Prüfung 10. Zeichen auf Zahlen kleiner/gleich 0
|
||||
#"64Byte_IN_Data"[15] <= 57) //Prüfung 10. Zeichen auf Zahlen kleiner/gleich 9
|
||||
THEN
|
||||
REGION SUCCESS
|
||||
#stStatistics.tLastBarcodeRecv := #tInPlcTime;
|
||||
#stStatistics.nReads += 1;
|
||||
#stStatistics.nGoodRead += 1;
|
||||
#xCodeGood := TRUE;
|
||||
#wOutErrorWord.%X3 := FALSE;
|
||||
REGION Convert to Integer
|
||||
STRG_VAL(IN := #sBarcodeString, //Barcode nach DWord
|
||||
FORMAT := w#16#0,
|
||||
P := 1, //Ab Zeichen 1 bis zu Ungültigem wert umwandeln //
|
||||
OUT => #nBarcode);
|
||||
END_REGION
|
||||
END_REGION
|
||||
|
||||
ELSE
|
||||
REGION FAIL / BAD
|
||||
#stStatistics.nReads += 1;
|
||||
#stStatistics.nBadRead += 1;
|
||||
#stStatistics.tLastNoReadRecv := #tInPlcTime;
|
||||
#wOutErrorWord.%X3 := TRUE; // Fehler ASCI Prüfung! zb NoRead von Cam
|
||||
#xCodeBad := TRUE;
|
||||
#nBarcode := -1;
|
||||
#sBarcodeString := 'NOREAD'; // NEU
|
||||
END_REGION
|
||||
|
||||
END_IF;
|
||||
|
||||
END_REGION
|
||||
|
||||
REGION Acknowledge & Transition
|
||||
//Transition
|
||||
#stInOutInterface.xOutCamResultsAck := TRUE;
|
||||
#nState := #"E_DeviceState.eClearResult";
|
||||
END_REGION
|
||||
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
#"E_DeviceState.eClearResult":
|
||||
REGION STEP 600 - CLEAR RESULT
|
||||
#stInOutInterface.xOutCamResultsAck := TRUE; //Leseergebnis quittieren
|
||||
|
||||
//Transition
|
||||
IF
|
||||
NOT #stInOutInterface.xInCamResultsAvailable // Auf Handshake warten
|
||||
THEN
|
||||
#nState := #"E_DeviceState.eOutput"; // Nächster Schritt
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
#"E_DeviceState.eOutput":
|
||||
REGION STEP 700 - WRITE OUTPUT
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#stInOutInterface.xOutCamTriggerEnable := FALSE; // Freigabe wegnehmen
|
||||
#stInOutInterface.xOutCamTrigger := FALSE;
|
||||
|
||||
#nOutBarcode := #nBarcode;
|
||||
#sOutBarcode := #sBarcodeString;
|
||||
|
||||
#xOutReadingDone := TRUE;
|
||||
|
||||
//Transition
|
||||
#nState := #"E_DeviceState.eHandshake";
|
||||
|
||||
END_REGION
|
||||
#"E_DeviceState.eHandshake":
|
||||
REGION STEP 800 - HANDSHAKE
|
||||
#xOutReadyForNewScan := FALSE;
|
||||
#xOutReadingDone := TRUE;
|
||||
#stInOutInterface.xOutCamTriggerEnable := FALSE; // Freigabe wegnehmen
|
||||
#stInOutInterface.xOutCamTrigger := FALSE;
|
||||
IF #xInHandshakeDone THEN // Handshake
|
||||
#nState := #"E_DeviceState.eNoJob";
|
||||
END_IF;
|
||||
END_REGION
|
||||
ELSE //keine gültige Schrittnummer vorhanden
|
||||
#wOutErrorWord.%X0 := true;
|
||||
END_CASE;
|
||||
|
||||
REGION Step history
|
||||
IF
|
||||
#nState <> #nLastStep
|
||||
THEN
|
||||
#t_Status := MOVE_BLK_VARIANT(SRC := #arStepHistory,
|
||||
COUNT := 10,
|
||||
SRC_INDEX := 0,
|
||||
DEST_INDEX := 1,
|
||||
DEST => #arStepHistory);
|
||||
#t_Status := RD_LOC_T(#arStepHistory[0].TimeStamp); //Zeitstempel
|
||||
#arStepHistory[0].StepNum := #nState;
|
||||
#nLastStep := #nState;
|
||||
END_IF;
|
||||
END_REGION
|
||||
END_REGION
|
||||
|
||||
REGION Output
|
||||
#xOutCodeGood := #xCodeGood;
|
||||
#xOutCodeBad := #xCodeBad;
|
||||
END_REGION
|
||||
|
||||
REGION Runtime monitoring
|
||||
IF #tOnMonitoring.Q THEN // TIMEOUT
|
||||
#stStatistics.nReads += 1;
|
||||
#stStatistics.nBadRead += 1;
|
||||
#stStatistics.tLastNoReadRecv := #tInPlcTime;
|
||||
#xCodeBad := TRUE;
|
||||
#wOutErrorWord.%X2 := TRUE; // Runtime failure
|
||||
#nBarcode := -1;
|
||||
#sBarcodeString := 'NOREAD';
|
||||
#nState := #"E_DeviceState.eOutput";
|
||||
END_IF;
|
||||
END_REGION
|
||||
|
||||
REGION HMI / Visu
|
||||
|
||||
#stHMI.In16.%X0 := #stInOutInterface.xInCamTriggerReady;
|
||||
#stHMI.In16.%X1 := #stInOutInterface.xInCamTriggerAck;
|
||||
#stHMI.In16.%X2 := #stInOutInterface.xInCamResultsAvailable;
|
||||
#stHMI.In16.%X3 := #stInOutInterface.xInCamGeneralFault;
|
||||
#stHMI.BarcodeString := #sBarcodeString;
|
||||
#stHMI.Barcode := #nBarcode;
|
||||
#stHMI.ResultID := #nResultID;
|
||||
#stHMI.ErrorWord := #wOutErrorWord;
|
||||
|
||||
IF #stInOutInterface.xInCamGeneralFault OR #xInHWError THEN // Kamera nicht bereit
|
||||
#stInOutHMI.bStatus := 2; // ERROR
|
||||
ELSE
|
||||
CASE #nState OF
|
||||
#"E_DeviceState.eInit1", #"E_DeviceState.eInit2":
|
||||
#stInOutHMI.bStatus := 0; // NOT_AVAILABLE
|
||||
#"E_DeviceState.eNoJob", #"E_DeviceState.eWaitReaderReady", #"E_DeviceState.eWaitTriggerAck",
|
||||
#"E_DeviceState.eGetResult", #"E_DeviceState.eClearResult", #"E_DeviceState.eOutput",
|
||||
#"E_DeviceState.eHandshake":
|
||||
#stInOutHMI.bStatus := 1; // AVAILABLE
|
||||
ELSE //Fallback
|
||||
#stInOutHMI.bStatus := 0; // NOT AVAILABLE
|
||||
END_CASE;
|
||||
END_IF;
|
||||
|
||||
#stInOutHMI.nMode := 2; // Continuous
|
||||
#stInOutHMI.stBRInterface := #stHMI;
|
||||
#stInOutHMI.nNumberScans := #stStatistics.nReads;
|
||||
#stInOutHMI.nNumberNoReads := #stStatistics.nBadRead;
|
||||
#stInOutHMI.nNoReadPercentage := REAL_TO_USINT((UDINT_TO_REAL(#stStatistics.nBadRead) / UDINT_TO_REAL(#stStatistics.nReads)) * 100);
|
||||
#stInOutHMI.tLastBarcodeRecv := #stStatistics.tLastBarcodeRecv;
|
||||
#stInOutHMI.tLastNoReadRecv := #stStatistics.tLastNoReadRecv;
|
||||
#stInOutHMI.tLastReset := #stStatistics.tLastReset;
|
||||
|
||||
END_REGION
|
||||
|
||||
REGION Timer
|
||||
#tOnMonitoring(IN := #stInOutInterface.xOutCamTriggerEnable,
|
||||
PT := #stInSettings.tTimeout);
|
||||
END_REGION
|
||||
|
||||
REGION Monitoring
|
||||
|
||||
#fbMonitoringCamRuntimeFail.stSettings.nErrorType := 2;
|
||||
#fbMonitoringCamRuntimeFail.stSettings.xErrLedIfMachineIsOff := TRUE;
|
||||
#fbMonitoringCamRuntimeFail.stSettings.xSelfQuit := TRUE;
|
||||
#fbMonitoringCamRuntimeFail(sInFctnName := CONCAT_STRING(IN1 := 'Barcode Reader: ', IN2 := #stInOutHMI.sLocation),
|
||||
sInPrefix := #stInOutHMI.sUnit,
|
||||
sInSuffix := #stInOutHMI.sIpAdress,
|
||||
InOutMachineState := #stInOutControlUnitCabinet,
|
||||
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
|
||||
xInSignal := NOT #tOnMonitoring.Q,
|
||||
sInAlarmMessage := 'Laufzeitfehler',
|
||||
wInTextListId_Function := 1,
|
||||
wInTextListId_Message := 1);
|
||||
|
||||
#fbMonitoringCamGeneralFault.stSettings.nErrorType := 1;
|
||||
#fbMonitoringCamGeneralFault.stSettings.xErrLedIfMachineIsOff := TRUE;
|
||||
#fbMonitoringCamGeneralFault.stSettings.xSelfQuit := TRUE;
|
||||
#fbMonitoringCamGeneralFault(sInFctnName := CONCAT_STRING(IN1 := 'Barcode Reader: ', IN2 := #stInOutHMI.sLocation),
|
||||
sInPrefix := #stInOutHMI.sUnit,
|
||||
sInSuffix := #stInOutHMI.sIpAdress,
|
||||
InOutMachineState := #stInOutControlUnitCabinet,
|
||||
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
|
||||
xInSignal := NOT #stInOutInterface.xInCamGeneralFault AND NOT #xInHWError,
|
||||
sInAlarmMessage := 'Barcode Reader ist nicht bereit.',
|
||||
wInTextListId_Function := 1,
|
||||
wInTextListId_Message := 1);
|
||||
|
||||
END_REGION
|
||||
|
||||
REGION Event Log
|
||||
// Pro Event wird ein Aufruf benötigt
|
||||
//TODO
|
||||
END_REGION
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
LibraryType:
|
||||
Guid: 0678257d-ddb5-460a-a4ac-69f4da95e1e7
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.2
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
@@ -0,0 +1,6 @@
|
||||
DocumentHash:
|
||||
- FileName: UDT_MFRCtrl.xml
|
||||
Hash: ia5Ybmih6KUb1UAZCcNHmDSCf8mh/M7Bn3w0vece/M0=
|
||||
LibraryMetaFileHash: BORJ8JsdQ/k3ai0U6lB0Sv0RU0X0W14y7rsAafJm/es=
|
||||
LibraryVersion:
|
||||
Guid: 49f2be50-381b-4393-8619-be5f49876873
|
||||
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Document>
|
||||
<Engineering version="V20" />
|
||||
<SW.Types.PlcStruct ID="0">
|
||||
<AttributeList>
|
||||
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
|
||||
<Section Name="None">
|
||||
<Member Name="xStart" Datatype="Bool">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Freigabe an TRO</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="nLine" Datatype="DInt">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Linie</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="nMode" Datatype="Int">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Modus (0: Undefiniert | 1: Job mit Anzahl | 2: RapidFire (bis xStart = False) | 3: Initialisieren/Entleeren </MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="nAmount" Datatype="Int">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Anzahl die gefahren werden soll bei Modus 1</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="nAmountOffset" Datatype="Int">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Offset für die Anzahl die gefahren werden soll bei Modus 1 (nAmount + nAmountOffset) </MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
</Section>
|
||||
</Sections></Interface>
|
||||
<Name>UDT_MFRCtrl</Name>
|
||||
<Namespace />
|
||||
</AttributeList>
|
||||
<ObjectList>
|
||||
<MultilingualText ID="1" CompositionName="Comment">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="2" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="3" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="4" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
<MultilingualText ID="5" CompositionName="Title">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="6" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="7" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="8" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
</ObjectList>
|
||||
</SW.Types.PlcStruct>
|
||||
</Document>
|
||||
@@ -0,0 +1,6 @@
|
||||
LibraryType:
|
||||
Guid: b7c68d43-4365-44de-ab7f-fba3395c1007
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.2
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
@@ -0,0 +1,6 @@
|
||||
DocumentHash:
|
||||
- FileName: UDT_MFRScanResult.xml
|
||||
Hash: 3CXSh2gEmrywZl/NhspsHfrtRA9IJ/668JI9dxJpplU=
|
||||
LibraryMetaFileHash: cunPZD1SOwG27X/vitI7uTFs5V3rKtgCnFWGZ8YQgFc=
|
||||
LibraryVersion:
|
||||
Guid: b555681d-cc30-4f08-a0b2-dee1619f6f91
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Document>
|
||||
<Engineering version="V20" />
|
||||
<SW.Types.PlcStruct ID="0">
|
||||
<AttributeList>
|
||||
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
|
||||
<Section Name="None">
|
||||
<Member Name="xBusy" Datatype="Bool">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">MFR Baustein ist beschäftigt</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="xNewCarrier" Datatype="Bool">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Neuer Carrier vom TRO gemeldet</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="nBarcode" Datatype="DInt">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">Barcode vom Carrier der gemeldet wird</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
</Section>
|
||||
</Sections></Interface>
|
||||
<Name>UDT_MFRScanResult</Name>
|
||||
<Namespace />
|
||||
</AttributeList>
|
||||
<ObjectList>
|
||||
<MultilingualText ID="1" CompositionName="Comment">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="2" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="3" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="4" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
<MultilingualText ID="5" CompositionName="Title">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="6" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="7" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="8" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
</ObjectList>
|
||||
</SW.Types.PlcStruct>
|
||||
</Document>
|
||||
@@ -0,0 +1,6 @@
|
||||
LibraryType:
|
||||
Guid: 54786651-aad8-47a2-81cb-747f166d4061
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.2
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
@@ -0,0 +1,6 @@
|
||||
DocumentHash:
|
||||
- FileName: UDT_MFRState.xml
|
||||
Hash: WUhPfKonCfTHnOx6tuyEMcX/KIOeL90x3dB0Vv9YAgw=
|
||||
LibraryMetaFileHash: vg0jMdA+dQlp3rSAs5xG28dp25ybygxR80sv6payO7A=
|
||||
LibraryVersion:
|
||||
Guid: cdacc796-61cb-4ba8-897c-888bf3bf6238
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Document>
|
||||
<Engineering version="V20" />
|
||||
<SW.Types.PlcStruct ID="0">
|
||||
<AttributeList>
|
||||
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
|
||||
<Section Name="None">
|
||||
<Member Name="xReady" Datatype="Bool">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">TRO bereit für nächste Anfrage</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
<Member Name="xBusy" Datatype="Bool">
|
||||
<Comment>
|
||||
<MultiLanguageText Lang="de-DE">TRO ist in Bearbeitung</MultiLanguageText>
|
||||
</Comment>
|
||||
</Member>
|
||||
</Section>
|
||||
</Sections></Interface>
|
||||
<Name>UDT_MFRState</Name>
|
||||
<Namespace />
|
||||
</AttributeList>
|
||||
<ObjectList>
|
||||
<MultilingualText ID="1" CompositionName="Comment">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="2" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="3" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="4" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
<MultilingualText ID="5" CompositionName="Title">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="6" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="7" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="8" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
</ObjectList>
|
||||
</SW.Types.PlcStruct>
|
||||
</Document>
|
||||
@@ -0,0 +1,6 @@
|
||||
LibraryType:
|
||||
Guid: 81de2ed6-0fbf-428c-bb68-76dfe2a4b58a
|
||||
LibraryVersion:
|
||||
VersionNumber: 2.0.2
|
||||
Author: e.yueksel
|
||||
IsDefault: true
|
||||
@@ -0,0 +1,13 @@
|
||||
DocumentHash:
|
||||
- FileName: UDT_MFR_StoreTRO.xml
|
||||
Hash: gINNOVmyQuRKMWwSa16+ZLPxizwFFHxuWUH6DI8gfFY=
|
||||
LibraryMetaFileHash: bEzpYnSmSIIFxVLaeI+YJuCoxGpqFLxoW9O05xIkB80=
|
||||
LibraryVersion:
|
||||
Guid: 5923cf16-1648-4160-81b0-6e1d8b948fa1
|
||||
DependsOn:
|
||||
- TypeName: UDT_MFRCtrl
|
||||
VersionNumber: 2.0.2
|
||||
- TypeName: UDT_MFRState
|
||||
VersionNumber: 2.0.2
|
||||
- TypeName: UDT_MFRScanResult
|
||||
VersionNumber: 2.0.2
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Document>
|
||||
<Engineering version="V20" />
|
||||
<SW.Types.PlcStruct ID="0">
|
||||
<AttributeList>
|
||||
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
|
||||
<Section Name="None">
|
||||
<Member Name="UDT_Ctrl" Datatype=""UDT_MFRCtrl"">
|
||||
<AttributeList>
|
||||
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
|
||||
</AttributeList>
|
||||
</Member>
|
||||
<Member Name="UDT_State" Datatype=""UDT_MFRState"">
|
||||
<AttributeList>
|
||||
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
|
||||
</AttributeList>
|
||||
</Member>
|
||||
<Member Name="UDT_Scan" Datatype=""UDT_MFRScanResult"">
|
||||
<AttributeList>
|
||||
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
|
||||
</AttributeList>
|
||||
</Member>
|
||||
</Section>
|
||||
</Sections></Interface>
|
||||
<Name>UDT_MFR_StoreTRO</Name>
|
||||
<Namespace />
|
||||
</AttributeList>
|
||||
<ObjectList>
|
||||
<MultilingualText ID="1" CompositionName="Comment">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="2" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="3" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="4" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
<MultilingualText ID="5" CompositionName="Title">
|
||||
<ObjectList>
|
||||
<MultilingualTextItem ID="6" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>de-DE</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="7" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>en-US</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
<MultilingualTextItem ID="8" CompositionName="Items">
|
||||
<AttributeList>
|
||||
<Culture>cs-CZ</Culture>
|
||||
<Text />
|
||||
</AttributeList>
|
||||
</MultilingualTextItem>
|
||||
</ObjectList>
|
||||
</MultilingualText>
|
||||
</ObjectList>
|
||||
</SW.Types.PlcStruct>
|
||||
</Document>
|
||||
Reference in New Issue
Block a user