Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post Reply
Wiekon
Posts: 10
Joined: 12 Apr 2023, 10:45

Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post by Wiekon »

Servus zusammen,

ich habe die Aufgabe (innerhalb eines größeren Projektes), einen KFZ Blinker zu testen. Dazu muss ich ihm per CAN Telegramm die Nachricht 00 00 00 38 FA 20 schicken.
Wie mache ich das über CODESYS? Das CODESYS ConCAN Beispiel hier https://revolutionpi.com/de/tutorials/b ... an-connect verwendet ja CANopen.
Das ist ja ein Protokoll aus der Automatisierungswelt und im KFZ Bereich nicht üblich.

Habt ihr Tipps für mich?

Vielen Dank und viele Grüße!
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post by dirk »

Hi Wiekon Du kannst Dir mal dieses Tutorial anschauen, hier kannst Du sehen, wie Du direkt auf der Shell CAN Telegramme über den Bus schicken kannst ;)
https://revolutionpi.com/de/tutorials/u ... -ansteuern
Wiekon
Posts: 10
Joined: 12 Apr 2023, 10:45

Re: Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post by Wiekon »

Hallo Dirk,

vielen Dank für deine Antwort. Das Tutorial hab ich schon gesehen. Aber ich möchte aus CODESYS heraus CAN sprechen und nicht CANopen.
Gibt's dafür auch ein Tutorial?

Vielen Dank!
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post by dirk »

Hi Wiekon, ok jetzt kann ich nur mit Halbwissen dienen - CODESYS mit Python Schnittstelle plus das Beispiel adaptieren der Python-CAN Library?

Code: Select all

"""
This example shows how sending a single message works.
"""

import can


def send_one():
    """Sends a single message."""

    # this uses the default configuration (for example from the config file)
    # see https://python-can.readthedocs.io/en/stable/configuration.html
    with can.Bus() as bus:
        # Using specific buses works similar:
        # bus = can.Bus(interface='socketcan', channel='vcan0', bitrate=250000)
        # bus = can.Bus(interface='pcan', channel='PCAN_USBBUS1', bitrate=250000)
        # bus = can.Bus(interface='ixxat', channel=0, bitrate=250000)
        # bus = can.Bus(interface='vector', app_name='CANalyzer', channel=0, bitrate=250000)
        # ...

        msg = can.Message(
            arbitration_id=0xC0FFEE, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=True
        )

        try:
            bus.send(msg)
            print("Message sent on" + {bus.channel_info})
        except can.CanError:
            print("Message NOT sent")


if __name__ == "__main__":
    send_one()
User avatar
nicolaiB
KUNBUS
Posts: 931
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: Über CODESYS mit ConCAN Modul RAW CAN Telegramme verschicken

Post by nicolaiB »

Hi Wiekon,

ohne groß Erfahrung damit zu haben, bin ich bei einer schnellen Suche auf CANL2 gestoßen. Schau mal ob das eventuell das ist, was du suchst:

https://help.codesys.com/webapp/hGcF55f ... n=3.5.17.0

Gruß Nicolai
Post Reply