Bibliotheksbeschreibung 750-658.lib CoDeSys V2.3 Bausteine für das Modul 750-658 VERSION 1.0.0
Impressum Copyright 2013 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten. WAGO Kontakttechnik GmbH & Co. KG Hansastraße 27 D-32423 Minden Tel.: +49 (0) 571/8 87 0 Fax: +49 (0) 571/8 87 1 69 E-Mail: info@wago.com Web: http://www.wago.com Technischer Support Tel.: +49 (0) 571/8 87 5 55 Fax: +49 (0) 571/8 87 85 55 E-Mail: support@wago.com Es wurden alle erdenklichen Maßnahmen getroffen, um die Richtigkeit und Vollständigkeit der vorliegenden Dokumentation zu gewährleisten. Da sich Fehler, trotz aller Sorgfalt, nie vollständig vermeiden lassen, sind wir für Hinweise und Anregungen jederzeit dankbar. Wir weisen darauf hin, dass die im Dokument verwendeten Soft- und Hardware-Bezeichnungen und Markennamen der jeweiligen Firmen im Allgemeinen einem Warenzeichenschutz, Markenschutz oder patentrechtlichem Schutz unterliegen.
INHALTSVERZEICHNIS 1 Wichtige Erläuterungen... 4 1.1 Rechtliche Grundlagen... 4 1.1.1 Urheberschutz... 4 1.1.2 Personalqualifikation... 4 1.1.3 Bestimmungsgemäßer Gebrauch... 4 1.2 Gültigkeitsbereich... 5 2 Bibliothek.lib... 6 2.1 Modul 750-658... 6 2.2 Bibliotheksüberblick... 6 3 Funktionsbausteine... 6 3.1 CAN_Communication... 6 3.2 CAN_Diagnosis... 9 3.3 CAN_L2_RX_11Bit_Frame... 11 3.4 CAN_L2_RX_29Bit_Frame... 12 3.5 CAN_L2_TX_11Bit_Frame... 15 3.6 CAN_L2_TX_29Bit_Frame... 17 3.7 CAN_CIA405_NMT... 19 3.8 CAN_CIA405_NMT_GUARDING... 21 3.9 CAN_CIA405_EMY... 23 3.10 CAN_CIA_SDO_WRITE4... 24 3.11 CAN_CIA405_SDO_READ4... 26 3.12 CAN_FullConfig... 28 3.13 CAN_FullConfigCheck... 32 3.14 CAN_SLAVE_SDO... 33 3.15 CAN_SLAVE_NMT_GUARDING... 34 4 Datenstrukturen... 35 4.1 CAN_FullConfiguration... 35 4.2 CAN_eErrorCode... 35 4.3 CAN_TemplateDiagnosis... 36
4 Wichtige Erläuterungen 1 Wichtige Erläuterungen Um dem Anwender eine schnelle Installation und Inbetriebnahme der beschriebenen Geräte zu gewährleisten, ist es notwendig, die nachfolgenden Hinweise und Erläuterungen sorgfältig zu lesen und zu beachten. 1.1 Rechtliche Grundlagen 1.1.1 Urheberschutz Dieses Dokument, einschließlich aller darin befindlichen Abbildungen, ist urheberrechtlich geschützt. Jede Weiterverwendung dieses Dokumentes, die von den urheberrechtlichen Bestimmungen abweicht, ist nicht gestattet. Die Reproduktion, Übersetzung in andere Sprachen, sowie die elektronische und fototechnische Archivierung und Veränderung bedarf der schriftlichen Genehmigung der WAGO Kontakttechnik GmbH & Co. KG, Minden. Zuwiderhandlungen ziehen einen Schadenersatzanspruch nach sich. Die WAGO Kontakttechnik GmbH & Co. KG behält sich Änderungen, die dem technischen Fortschritt dienen, vor. Alle Rechte für den Fall der Patenterteilung oder des Gebrauchmusterschutzes sind der WAGO Kontakttechnik GmbH & Co. KG vorbehalten. Fremdprodukte werden stets ohne Vermerk auf Patentrechte genannt. Die Existenz solcher Rechte ist daher nicht auszuschließen. 1.1.2 Personalqualifikation Der in diesem Dokument beschriebene Produktgebrauch richtet sich ausschließlich an Fachkräfte mit einer Ausbildung in der SPS-Programmierung, Elektrofachkräfte oder von Elektrofachkräften unterwiesene Personen, die außerdem mit den geltenden Normen vertraut sind. Für Fehlhandlungen und Schäden, die an WAGO-Produkten und Fremdprodukten durch Missachtung der Informationen dieses Dokumentes entstehen, übernimmt die WAGO Kontakttechnik GmbH & Co. KG keine Haftung. 1.1.3 Bestimmungsgemäßer Gebrauch Die Komponenten werden ab Werk für den jeweiligen Anwendungsfall mit einer festen Hard- und Software-Konfiguration ausgeliefert. Änderungen sind nur im Rahmen der in dem Dokument aufgezeigten Möglichkeiten zulässig. Alle anderen Veränderungen an der Hard- oder Software, sowie der nicht bestimmungsgemäße Gebrauch der Komponenten, bewirken den Haftungsausschluss der WAGO Kontakttechnik GmbH & Co. KG. Wünsche an eine abgewandelte bzw. neue Hard- oder Software-Konfiguration richten Sie bitte an WAGO Kontakttechnik GmbH & Co. KG.
Wichtige Erläuterungen 5 1.2 Gültigkeitsbereich Dieser Anwendungshinweis basiert auf die genannte Hard- und Software der jeweiligen Hersteller sowie auf die zugehörige Dokumentation. Daher gilt dieser Anwendungshinweis nur für die beschriebene Installation. Neue Hard- und Software-Versionen erfordern eventuell eine geänderte Handhabung. Beachten Sie die ausführliche Beschreibung in den jeweiligen Handbüchern.
6 Bibliothek.lib 2 Bibliothek.lib 2.1 Modul 750-658 Die Funktionsbausteine sind für die Nutzung des Moduls 750-658 in Verbindung mit einer Wago CoDeSys V2.3 Steuerung entwickelt worden. 2.2 Bibliotheksüberblick 3 Funktionsbausteine 3.1 CAN_Communication Category: CAN Name: CAN_Communication Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins
Funktionsbausteine 7 ptinmodule ptoutmodule POINTER TO ARRAY[0..47] OF BYTE POINTER TO ARRAY[0..47] OF BYTE Zeiger auf den Eingangsbereich des Prozessabbildes Zeiger auf den Ausgangsbereich des Prozessabbildes bsizeacyclicchannel BYTE Größe des azyklischen Kanals bsizemodule750_658 BYTE Größe des Moduls Input/Output parameters Data type Comment: xresetacyclicchannel BOOL Reset des azyklischen Kanals xresetcanchannel BOOL Reset des CAN Kanals Output parameter Data type Comment: bactualsizemodule_750_632 BYTE Aktuelle Modul Größe sstatus CAN_eStatus Status xacyclicchannelerror BOOL Fehler azyklischer Kanal eacyclicchannelerror tmbx2errorcode Fehler Details azyklischer Kanal xcanchannelerror BOOL Fehler Can Kanal ecanchannelerror tmbx2errorcode Fehler Details CAN Kanal Grafische Darstellung:
8 Funktionsbausteine Funktionsbeschreibung: Für jedes CAN Module 750-658 wird genau ein Kommunikationsbaustein benötigt. Dieser Baustein muss als erstes aufgerufen werden. Alle Bausteine dieser Bibliothek müssen in der gleichen Task aufgerufen werden. Nach dem Start der Steuerung, benötigt der Baustein mehrere SPS Zyklen bis die Kommunikation mit dem Modul initialisiert ist. Die weiteren Bausteine können nur dann arbeiten, wenn die Ausgänge xacyclicchannelerror=false und xcanchannelerror=false sind. Die Eingangsparameter bsizeacyclicchannel und bsizemodule750 müssen mit den im Modul konfigurierten Werten übereinstimmen. CAN_eStatus : CAN_Module_size_matches := 0, CAN_Error_module_size := 1, CAN_Error_acyclic_channel_size := 2, CAN_Comm_Disabled := 3 tmbx2errorcode : MBX_OK := 0, (* all is well *) MBXERR_NOT_READY := 1, (* service not (yet) available *) MBXERR_PRM_INVALID := 2, (* invalid input parameter(s) *) MBXERR_CFG_INVALID := 3, (* configuration invalid *) MBXERR_DENIED := 4, (* service denied (check operation mode) *) MBXERR_FULL := 5, (* buffer full *) MBXERR_REMOTE := 6, (* unexpected behaviour of remote end *) MBXERR_GENERAL := 7 (* general error *)
Funktionsbausteine 9 3.2 CAN_Diagnosis Category: CAN Name: CAN_Diagnosis Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins dttime DT Zeitvorgabe für den Zeitstempel im Diagnosepuffer Input/Output parameters Data type Comment: xreset BOOL Puffer löschen fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: eerrorcode CAN_eErrorCode Fehler Code ediagqualmode MBX_eDiagQual Diagnose Mode Mode ediagqualtype MBX_eDiagQual Diagnose Typ Type werrorcnt WORD Fehler Zähler wwarningcnt WORD Warnung Zähler wtotalcnt WORD Gesamt Zähler Grafische Beschreibung:
10 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbaustein. Die aktuelle Diagnose wird am Ausgang angezeigt. Zusätzlich werden in einem internen Ringpuffer mit der Größe gccan_diagbuffer die letzten Diagnosemeldung gespeichert. Für den Zugriff auf diese Daten steht ein Visutemplate (CAN_TemplateDiagnosis) zur Verfügung. TYPE CAN_eErrorCode : ( _No_Error := 0, CAN_Stuff_Error := 1000, CAN_Form_Error := 1001, CAN_Acknowledgement_Error := 1002, CAN_Bit_Error_recessive := 1003, CAN_Bit_Error_dominant := 1004, CAN_CRC_Error := 1005, CAN_SW_Error := 1006, CAN_Hardware_In_Bus_Off_State := 1007, CAN_RxCounter_Bigger_Than_127 := 1008, CAN_RxCounter_Bigger_Than_96 := 1009, CAN_TxCounter_Bigger_Than_127 := 1010, CAN_TxCounter_Bigger_Than_96 := 1011, CAN_Transmit_Error := 1012, CAN_Arbitration_Lost := 1013, CAN_RxBuffer0_Overrun := 1014, CAN_RxBuffer1_Overrun := 1015, CAN_TxBuffer_Overrun := 1016, CAN_Bus_Off_State := 1017, CAN_HAL_Internal_Buffer_Overrun := 1018, CAN_DRV_Internal_Upstrm_Buf_Overrun := 1019, CAN_DRV_Internal_Dnstrm_Buf_Overrun := 1020, General_Error := 1021, _24V_Unpowered := 1022 ); END_TYPE TYPE MBX_eDiagQualMode : ( MBX_NoDiag := 0, MBX_DiagSingleShot := 1, MBX_DiagDisappears := 2, MBX_DiagAppears := 3 ); END_TYPE TYPE MBX_eDiagQualType : ( MBX_DiagType_OK := 0, MBX_DiagNotification := 1, MBX_DiagWarning := 2, MBX_DiagError := 3 ); END_TYPE
Funktionsbausteine 11 3.3 CAN_L2_RX_11Bit_Frame Category: CAN Name: CAN_RX_11Bit_Fame Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins wcanid WORD COB ID des zu empfangenden Telegramms xcanbuffer BOOL Internen Puffer nutzen x29bitmodeconfigured BOOL 29 Bit CAN Nachrichten warden vom Modul unterstützt Input/Output parameters Data type Comment: xreadframe BOOL Empfang aktivieren. Wird vom Baustein zurückgesetzt sobald eine Nachricht eingetroffen ist fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL wcounter WORD Zähler, wird mit jedem erhaltenen Telegramm erhöht xrtr_frame BOOL Zeigt ein RTR Telegramm an bdatalength BYTE Länge des empfangenen Telegramms adata ARRAY [1..8] OF Nutzdaten BYTE eerror CAN_eL2_FRAM E_ERROR Fehler des CAN Kanals Grafische Beschreibung:
12 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbaustein. Dieser Baustein wird zum Empfang von CAN Nachrichten mit der ID wcanid benutzt. Die Variable xreadframe ist dafür auf True zu setzen. Wurde eine Nachricht empfangen, wird diese Variable vom Baustein zurückgesetzt. Der Eingang x29bitmodeconfigured ist auf True zu setzen, wenn das Modul auf die Nutzung von 29- Bit Nachrichten konfiguriert ist. TYPE CAN_eL2_FRAME_ERROR : ( CAN_L2_OK :=0, CAN_L2_BUS_IDLE :=1, CAN_L2_PORT_WRONG :=2, CAN_L2_PORT_BUSY :=3, CAN_L2_SEND_OK :=4, CAN_L2_RECEIVE_OK :=5, CAN_L2_SEND_ERROR :=6, CAN_L2_ID_ERROR :=7, CAN_L2_DATALENGTH_ERROR :=8, CAN_L2_RECEIVE_BUFFER_ERROR :=9, CAN_L2_REGISTER_ERROR :=10, CAN_L2_TIMEOUT :=99 ); END_TYPE 3.4 CAN_L2_RX_29Bit_Frame Category: CAN Name: CAN_RX_29Bit_Fame Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins wcanid WORD COB ID des zu empfangenden Telegramms xcanbuffer BOOL Internen Puffer nutzen x29bitmodeconfigured BOOL 29 Bit CAN Nachrichten warden vom Modul unterstützt Input/Output parameters Data type Comment:
Funktionsbausteine 13 xreadframe BOOL Empfang aktivieren. Wird vom Baustein zurückgesetzt sobald eine Nachricht eingetroffen ist fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL wcounter WORD Zähler, wird mit jedem erhaltenen Telegramm erhöht xrtr_frame BOOL Zeigt ein RTR Telegramm an bdatalength BYTE Länge des empfangenen Telegramms adata ARRAY [1..8] OF Nutzdaten BYTE eerror CAN_eL2_FRAM E_ERROR Fehler des CAN Kanals Grafische Beschreibung:
14 Funktionsbausteine Funktionsbeschreibung Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein wird zum Empfang von CAN Nachrichten mit der ID wcanid benutzt. Die Variable xreadframe ist dafür auf True zu setzen. Wurde eine Nachricht empfangen, wird diese Variable vom Baustein zurückgesetzt. Der Eingang x29bitmodeconfigured ist auf True zu setzen, wenn das Modul auf die Nutzung von 29- Bit Nachrichten konfiguriert ist. TYPE CAN_eL2_FRAME_ERROR : ( CAN_L2_OK :=0, CAN_L2_BUS_IDLE :=1, CAN_L2_PORT_WRONG :=2, CAN_L2_PORT_BUSY :=3, CAN_L2_SEND_OK :=4, CAN_L2_RECEIVE_OK :=5, CAN_L2_SEND_ERROR :=6, CAN_L2_ID_ERROR :=7, CAN_L2_DATALENGTH_ERROR :=8, CAN_L2_RECEIVE_BUFFER_ERROR :=9, CAN_L2_REGISTER_ERROR :=10, CAN_L2_TIMEOUT :=99 ); END_TYPE
Funktionsbausteine 15 3.5 CAN_L2_TX_11Bit_Frame Category: CAN Name: CAN_TX_11Bit_Frame Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins wcanid WORD CAN ID der Nachricht xrtr_frame BOOL Nachricht soll eine RTR Nachricht seien adata ARRAY [1..8] OF Zu sendenden Daten BYTE bdatalength BYTE Anzahl an Bytes die zu senden sind. x29bitmodeconfigured BOOL Modul ist auf Nutzung von 29-Bit Nachrichten konfiguriert Input/Output parameters Data type Comment: xwriteframe BOOL Eingang setzen, wenn Nachricht verschickt werden soll. Bit wird vom Baustein zurückgesetzt. fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL eerror CAN_eL2_FRAM E_ERROR Fehler des CAN Kanals Grafische Beschreibung:
16 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht das Versenden von beliebigen CAN Nachrichten. Der CAN Identifier wird über den Eingang wcanid festgelegt. Die Anzahl der Nutzdaten wird über den Eingang bdatalength und die Nutzdaten selbst über den Eingang adata vorgegeben. Die Funktion wird durch das Setzen der Variable xwriteframe angestoßen. Diese Variable wird vom Baustein zurückgesetzt, sobald die Daten verschickt wurden. TYPE CAN_eL2_FRAME_ERROR : ( CAN_L2_OK :=0, CAN_L2_BUS_IDLE :=1, CAN_L2_PORT_WRONG :=2, CAN_L2_PORT_BUSY :=3, CAN_L2_SEND_OK :=4, CAN_L2_RECEIVE_OK :=5, CAN_L2_SEND_ERROR :=6, CAN_L2_ID_ERROR :=7, CAN_L2_DATALENGTH_ERROR :=8, CAN_L2_RECEIVE_BUFFER_ERROR :=9, CAN_L2_REGISTER_ERROR :=10, CAN_L2_TIMEOUT :=99 ); END_TYPE
Funktionsbausteine 17 3.6 CAN_L2_TX_29Bit_Frame Category: CAN Name: CAN_TX_29Bit_Frame Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe des Bausteins wcanid WORD CAN ID der Nachricht xrtr_frame BOOL Nachricht soll eine RTR Nachricht seien adata ARRAY [1..8] OF Zu sendenden Daten BYTE bdatalength BYTE Anzahl an Bytes die zu senden sind. x29bitmodeconfigured BOOL Modul ist auf Nutzung von 29-Bit Nachrichten konfiguriert Input/Output parameters Data type Comment: xwriteframe BOOL Eingang setzen, wenn Nachricht verschickt werden soll. Bit wird vom Baustein zurückgesetzt. fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL eerror CAN_eL2_FRAM E_ERROR Fehler des CAN Kanals Grafische Beschreibung:
18 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht das Versenden von beliebigen CAN Nachrichten. Der CAN Identifier wird über den Eingang wcanid festgelegt. Die Anzahl der Nutzdaten wird über den Eingang bdatalength und die Nutzdaten selbst über den Eingang adata vorgegeben. Die Funktion wird durch das Setzen der Variable xwriteframe angestoßen. Diese Variable wird vom Baustein zurückgesetzt, sobald die Daten verschickt wurden. TYPE CAN_eL2_FRAME_ERROR : ( CAN_L2_OK :=0, CAN_L2_BUS_IDLE :=1, CAN_L2_PORT_WRONG :=2, CAN_L2_PORT_BUSY :=3, CAN_L2_SEND_OK :=4, CAN_L2_RECEIVE_OK :=5, CAN_L2_SEND_ERROR :=6, CAN_L2_ID_ERROR :=7, CAN_L2_DATALENGTH_ERROR :=8, CAN_L2_RECEIVE_BUFFER_ERROR :=9, CAN_L2_REGISTER_ERROR :=10, CAN_L2_TIMEOUT :=99 ); END_TYPE
Funktionsbausteine 19 3.7 CAN_CIA405_NMT Category: CAN Name: CAN_CIA405_NMT Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: bdevice BYTE CANopen Adresse des Slaves estate CAN_CIA405_T Soll Zustand RANSITION_ST ATE xenable BOOL Nachricht versenden ttimeout TIME Timeout Input/Output parameters Data type Comment: fbcan_communication CAN_Communic Instanz des Kommunikationsbausteins ation Output parameter Data type Comment: xconfirm BOOL eerror CAN_CIA405_C ANOPEN_KERN EL_ERROR Fehler CAN Grafische Beschreibung:
20 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht das Versenden von NMT Kommandos. TYPE CAN_CIA405_TRANSITION_STATE: ( CAN_START_REMOTE_NODE, CAN_STOP_REMOTE_NODE, CAN_ENTER_PRE_OPERATIONAL, CAN_RESET_NODE, CAN_RESET_COMMUNICATION ); END_TYPE TYPE CAN_CIA405_CANOPEN_KERNEL_ERROR: (CAN_NoError :=0, CAN_AnyError :=16#1, CAN_DataOverflow :=16#2, CAN_Timeout :=16#3, CAN_SDO_Abort :=16#4, CAN_BUS_OFF :=16#10, CAN_ErrorPassive :=16#11, CAN_UnknownDataAmount :=16#21, CAN_WrongIndex :=16#22 );
Funktionsbausteine 21 3.8 CAN_CIA405_NMT_GUARDING Category: CAN Name: CAN_CIA405_NMT_GUARDING Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: bdevice BYTE CANopen Adresse des Slaves xenable BOOL Nachricht versenden ttimeout TIME Timeout Input/Output parameters Data type Comment: fbcan_communication CAN_Communic Instanz des Kommunikationsbausteins ation Output parameter Data type Comment: xconfirm BOOL Zeigt den Empfang des Guarding Telegramms an eerror CAN_CIA405_C ANOPEN_KERN EL_ERROR Fehler CAN estatus CAN_CIA405_ST ATE 0:CAN_INIT, 1:CAN_RESET_COMM, 2:CAN_RESET_APP, 3:CAN_PRE_OPERATIONAL, 4:CAN_STOPPED, 5:CAN_OPERATIONAL, 6:CAN_UNKNOWN, 7:CAN_NOT_AVAIL
22 Funktionsbausteine Grafische Beschreibung: Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht das Versenden von guarding Nachrichten. Am Ausgang estatus wird der aktuelle Zustand des CANopen Slaves angezeigt. TYPE CAN_CIA405_CANOPEN_KERNEL_ERROR: (CAN_NoError :=0, CAN_AnyError :=16#1, CAN_DataOverflow :=16#2, CAN_Timeout :=16#3, CAN_SDO_Abort :=16#4, CAN_BUS_OFF :=16#10, CAN_ErrorPassive :=16#11, CAN_UnknownDataAmount :=16#21, CAN_WrongIndex :=16#22 );
Funktionsbausteine 23 3.9 CAN_CIA405_EMY Category: CAN Name: CAN_CIA405_EMC Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Baustein freigeben. bdevice BYTE CANopen Adresse des Slaves xcanbuffer BOOL Internen Puffer nutzen xreadframe BOOL Empfang aktivieren. Wird vom Baustein zurückgesetzt sobald eine Nachricht eingetroffen ist Input/Output parameters Data type Comment: fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL True, wenn eine Emergency Nachricht empfangen wurde wcounter WORD Nachrichtenzähler typemcy_error CAN_CIA405_E MCY_ERROR Fehler gemäß CIA Spezifikation Grafische Beschreibung: Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht den Empfang von Emergency Nachrichten. Der Ausgang typemcy_error stellt die Informationen wie folgt dar: EMCY_ERROR_CODE: WORD; ERROR_REGISTER: BYTE; ERROR_FIELD: ARRAY [1..5] OF BYTE; Weitere Details sind im Handbuch des CANopen Kopplers (750-337) zu finden.
24 Funktionsbausteine 3.10 CAN_CIA_SDO_WRITE4 Category: CAN Name: CAN_CIA405_SDO_WRITE4 Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: bdevice BYTE CANopen Adresse des Slaves windex WORD Index bsubindex BYTE Subindex xenable BOOL SDO Telegramm versenden adata ARRAY [1..4] OF Nutzdaten BYTE bdatalength BYTE Anzahl der Nutzdaten ttimeout TIME Timeout Input/Output parameters Data type Comment: fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL True, nachdem SDO transfer abgeschlossen eerror typerrorinfo CAN_CIA405_C ANOPEN_KERN EL_ERROR CAN_CIA405_S DO_ERROR 16#3: Timeout 16#4: SDO Fehler 16#22: Falscher Index in Antwort Fehler, Kodierung gemäß CIA Spezifikation Grafische Beschreibung:
Funktionsbausteine 25 Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht es bis zu 4 Byte Nutzdaten mittels SDO Kommunikation zu übermitteln. Das Kommando wird durch aktivieren des Eingans xenable mit True ausgeführt. Nachdem die SDO Kommunikation abgeschlossen ist, wird der Ausgang xconfirm True und die weiteren Ausgänge eerror und typerrorinfo zeigen Details zum Verlauf der Transaktion. Ein neues Kommando kann erst dann abgeschickt werden, wenn der Eingang xenable vom Anwender auf False zurückgenommen wurde.
26 Funktionsbausteine 3.11 CAN_CIA405_SDO_READ4 Category: CAN Name: CAN_CIA405_SDO_READ4 Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: bdevice BYTE CANopen Adresse des Slaves windex WORD Index bsubindex BYTE Subindex xenable BOOL Start Lesen ttimeout TIME Timeout Input/Output parameters Data type Comment: fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xconfirm BOOL True, nachdem die Kommunikation abgeschlossen ist adata ARRAY [1..4] OF Gelesene Nutzdaten BYTE bdatalength BYTE Anzahl an Nutzdaten eerror typerrorinfo CAN_CIA405_C ANOPEN_KERN EL_ERROR CAN_CIA405_S DO_ERROR 16#3: Timeout 16#4: SDO Fehler 16#21: Anzeige bdatalength ungültig 16#22: Falscher Index in Antwort Fehler gemäß CIA Spezifikation
Funktionsbausteine 27 Grafische Beschreibung: Funktionsbeschreibung Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht es bis zu 4 Byte Nutzdaten mittels SDO Kommunikation zu lesen. Das Kommando wird durch aktivieren des Eingans xenable mit True ausgeführt. Nachdem die SDO Kommunikation abgeschlossen ist, wird der Ausgang xconfirm True und die weiteren Ausgänge eerror und typerrorinfo zeigen Details zum Verlauf der Transaktion. Die Nutzdaten sind am Ausgang adata abzugreifen. Ein neues Kommando kann erst dann abgeschickt werden, wenn der Eingang xenable vom Anwender auf False zurückgenommen wurde.
28 Funktionsbausteine 3.12 CAN_FullConfig Category: CAN Name: CAN_FullConfig Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xexecute BOOL Start Lesen oder Schreiben der Konfiguration xwriteread BOOL 0:Lesen, 1:Schreiben xsavevalues BOOL Daten nach dem Schreiben im Eeprom speichern Input/Output parameters Data type Comment: ebitrate CAN_eBitrate CAN_10kBits := 0, CAN_20kBits := 1, CAN_50kBits := 2, CAN_125kBits := 3, CAN_250kBits := 4, CAN_500kBits := 5, CAN_800kBits := 6, CAN_1000kBits := 7, CAN_Auto := 8 emode CAN_eMode CAN_Sniffer := 0, CAN_Transparent := 1, CAN_Mapped := 2 x29bitenabled BOOL Unterstützung von 29-Bit Nachrichten xsdo_enabled BOOL Freigabe der SDO Kommunikation über den azyklischen Kanal typconfigdata CAN_typFullConf Modulkonfiguration iguration fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xdone BOOL Konfigurations Auftrag ausgeführt xbusy BOOL Konfigurations Auftrag läuft xerror BOOL Konfigurations Auftrag mit Fehler abgebrochen
Funktionsbausteine 29 eerrorcode MBX_eRegCom Status MBX_AccessDenied := 2, MBX_TableReadOnly := 3, MBX_DataLengthError := 4, MBX_UnknownTable := 5, MBX_UnknownRegister := 6, MBX_Busy := 7, MBX_Timeout := 9, Grafische Beschreibung:
30 Funktionsbausteine Funktionsbeschreibung: Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein ermöglicht einerseits das Lesen der Modul Konfiguration sowie andererseits das Schreiben der Modul Konfiguration. Beim Schreiben kann unterschieden werden zwischen dem Ram Bereich und dem Eeprom Bereich. Häufiges Schreiben (ca. 100.000) in den Eeprom Bereich kann zur Zerstörung des Moduls führen. Wenn die Einstellungen an den Eingängen emode oder x29bitenabled nach dem Anlauf nachträglich noch einmal verändert werden, ist es notwendig, den Baustein über den Eingang xexecute einmal zu deaktivieren und anschließend wieder zu aktivieren. Der Baustein konfiguriert alle Filter Tabellen (50..55), alle Mapping Tabellen (100.144,200..244) und die folgenden klassischen Register: 32,35,36,37,38,50. Sollte der Fehlercode MBX_Timeout angezeigt werden, kann eine Änderung des globalen Timeouts ggf. Abhilfe schaffen. gccan_configtimeout : TIME:=t#500ms; TYPE CAN_typFullConfiguration : STRUCT aregister : ARRAY[0..gcCAN_MaxBufferClassicRegister] OF WORD; (*module register*) COB_ID_Filter : ARRAY[0..5] OF CAN_typFilterSettings; mytx_mapping : ARRAY[0..44] OF CAN_typMappingTxSettings; myrx_mapping : ARRAY[0..44] OF CAN_typMappingRxSettings; END_STRUCT END_TYPE TYPE CAN_typFilterSettings : STRUCT LowHigh_ID :WORD; (*Filter ID low ->high word from dword *) LowLow_ID :WORD; (*Filter ID low ->low word from dword *) HighHigh_ID :WORD; (*Filter ID high ->high word from dword *) HighLow_ID :WORD; (*Filter ID high ->low word from dword *) Feature1 :WORD; (*1:Enable *) Feature2 :WORD; (*1:override *) END_STRUCT END_TYPE TYPE CAN_typMappingRxSettings : STRUCT COB_ID_MSW :WORD; (*COB ID ->high word from dword *) COB_ID_LSW :WORD; CopyToPDIn :WORD; Data_0_1 :WORD;(**) Data_2_3 :WORD;(**) Data_4_5 :WORD;(**) Data_6_7 :WORD;(**) END_STRUCT END_TYPE
Funktionsbausteine 31 TYPE CAN_typMappingTxSettings : STRUCT COB_ID_MSW:WORD; COB_ID_LSW:WORD; SendGroup:WORD; FixedValue:WORD; Data_0_1:WORD;(**) Data_2_3:WORD;(**) Data_4_5:WORD;(**) Data_6_7:WORD;(**) CycleTime:WORD; END_STRUCT END_TYPE An example how to initialize the receive direction: myrx_mapping :ARRAY[0..43] OF CAN_typMappingRxSettings:= (COB_ID_MSW:=1,COB_ID_LSW:=1,CopyToPDIn:=2, Data_0_1:=20,Data_2_3:=21,Data_4_5:=22,Data_6_7:=23), (COB_ID_MSW:=1,COB_ID_LSW:=1,CopyToPDIn:=2, Data_0_1:=20,Data_2_3:=21,Data_4_5:=22,Data_6_7:=23), (COB_ID_MSW:=1,COB_ID_LSW:=1,CopyToPDIn:=2, Data_0_1:=20,Data_2_3:=21,Data_4_5:=22,Data_6_7:=23); An example how to initialize the transmit direction: mytx_mapping:array[0..43] OF CAN_typMappingTxSettings:= (COB_ID_MSW:=1,COB_ID_LSW:=1,SendGroup:=2,FixedValue:=0,Data_0_1:=20,Data_2_3: =21,Data_4_5:=22,Data_6_7:=23,CycleTime:=100), (COB_ID_MSW:=1,COB_ID_LSW:=1,SendGroup:=2,FixedValue:=0,Data_0_1:=20,Data_2_3: =21,Data_4_5:=22,Data_6_7:=23,CycleTime:=100), (COB_ID_MSW:=1,COB_ID_LSW:=1,SendGroup:=2,FixedValue:=0,Data_0_1:=20,Data_2_3: =21,Data_4_5:=22,Data_6_7:=23,CycleTime:=100);
32 Funktionsbausteine 3.13 CAN_FullConfigCheck Category: CAN Name: CAN_FullConfigCheck Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: Input/Output parameters Data type Comment: xexecute BOOL Überprüfung starten typconfigdata CAN_typFullConf Konfigurationsdaten iguration fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xbusy BOOL Überprüfung läuft xerror BOOL Fehler xdatamatches BOOL Konfiguration ist identisch Grafische Beschreibung: Funktionsbeschreibung Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Über diesen Baustein kann die Konfiguration im Modul mit der Konfiguration in der Variable typconfigdata verglichen werden. Ist die Konfiguration identisch wird am Ausgang xdatamatches ein True angezeigt.
Funktionsbausteine 33 3.14 CAN_SLAVE_SDO Category: CAN Name: CAN_SLAVE_SDO Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: bdevice BYTE Slave ID xenable BOOL Freigabe SDO server Input/Output parameters Data type Comment: aod fbcan_communication ARRAY[0..gcMA X_SERVER_SD O_OD] OF CAN_SERVER_ OD CAN_Communic ation Objektverzeichnis des Slaves. Die Daten sind im Anwenderprogramm zu definieren Instanz des Kommunikationsbausteins Output parameter Data type Comment: xactive BOOL Server läuft Grafische Darstellung: Funktionsbeschreibung Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Baustein stellt ein einfaches Obejektverzeichnis zur Verfügung, welches von einem CANopen Master gelesen bzw. beschrieben werden kann. Die globale Konstante gcmax_sever_sdo_od legt die maximale Anzahl an Einträgen fest.
34 Funktionsbausteine 3.15 CAN_SLAVE_NMT_GUARDING Category: CAN Name: CAN_SLAVE_NMT_GUARDING Type: Function Function block X Program Name of library:.lib Libraries used: WagoLibMBX_01.lib,WagoLibMBX_System_01.lib Applicable to: Input parameters Data type Comment: xenable BOOL Freigabe der Guarding Überwachung bdevice BYTE Slave ID estatus CAN_CIA405_ST ATE Vorgabe des Slave Zustandes gemäß CANopen. ttimeout TIME Zeitspanne innerhalb derer ein Guarding Telegramm vom Master erwartet wird Input/Output parameters Data type Comment: fbcan_communication CAN_Communic ation Instanz des Kommunikationsbausteins Output parameter Data type Comment: xactive BOOL Baustein aktiv xerror BOOL Guarding Fehler erkannt Grafische Darstellung: Funktionsbeschreibung Dieser Baustein benötigt eine Instanz des Kommunikationsbausteins. Dieser Bausteinbeantwortet eingehende Guarding Telegramm von einem CanOpen Master mit dem am Eingang estatus vorgegebenen Zustand. Nachdem das erste Guarding Telegramm empfangen wurde, wird der Ausgang xerror auf False gesetzt. Wird innerhalb der Zeit ttimeout kein neues Guarding Telegramm empfangen, wird der Ausgang xerror auf True gesetzt.
Datenstrukturen 35 4 Datenstrukturen 4.1 CAN_FullConfiguration TYPE CAN_typFullConfiguration : STRUCT aregister :ARRAY[0..gcCAN_MaxBufferClassicRegister] OF WORD; (*module register*) COB_ID_Filter mytx_mapping myrx_mapping : ARRAY[0..5] OF CAN_typFilterSettings; : ARRAY[0..43] OF CAN_typMappingTxSettings; : ARRAY[0..43] OF CAN_typMappingRxSettings; END_STRUCT END_TYPE 4.2 CAN_eErrorCode TYPE CAN_eErrorCode : _No_Error := 0, CAN_Stuff_Error := 1000, CAN_Form_Error := 1001, CAN_Acknowledgement_Error := 1002, CAN_Bit_Error_recessive := 1003, CAN_Bit_Error_dominant := 1004, CAN_CRC_Error := 1005, CAN_SW_Error := 1006, CAN_Hardware_In_Bus_Off_State := 1007, CAN_RxCounter_Bigger_Than_127 := 1008, CAN_RxCounter_Bigger_Than_96 := 1009, CAN_TxCounter_Bigger_Than_127 := 1010, CAN_TxCounter_Bigger_Than_96 := 1011, CAN_Transmit_Error := 1012, CAN_Arbitration_Lost := 1013, CAN_RxBuffer0_Overrun := 1014, CAN_RxBuffer1_Overrun := 1015, CAN_TxBuffer_Overrun := 1016,
36 Datenstrukturen CAN_Bus_Off_State := 1017, CAN_HAL_Internal_Buffer_Overrun := 1018, CAN_DRV_Internal_Upstrm_Buf_Overrun := 1019, CAN_DRV_Internal_Dnstrm_Buf_Overrun := 1020, General_Error := 1021, _24V_Unpowered := 1022 4.3 CAN_TemplateDiagnosis Der Platzhalter MBXaux3 ist durch die Instanz des Diagnosebausteins CAN_Diagnosis zu ersetzen.
Datenstrukturen 37
WAGO Kontakttechnik GmbH & Co. KG Postfach 2880 D-32385 Minden Hansastraße 27 D-32423 Minden Telefon: 05 71/8 87 0 Telefax: 05 71/8 87 1 69 E-Mail: info@wago.com Internet: http://www.wago.com