Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Fragen zum CAN-Bus Kategorie: CAN-Bus (von reneforster - 17.06.2010 16:15)
Als Antwort auf Fragen zum CAN-Bus von Markus H - 16.06.2010 20:22
Ich nutze:
C-Control II Unit, C-Control II Station, CC2-ReglerBoard, OSOPT V3.1
Hallo Markus,

eigentlich kannst Du auch mit verschiedenen ID arbeiten. Aber die Abfrage und die entsprechende
Schleifenanzahl wird immer mehr.
Ich lasse zwei Controls sich immer auf einen festgelegten Kanal unterhalten. Um jetzt
mehrere Daten zu verarbeiten nehme ich immer das data[0] als meine eigene ID.

hier mein Beispiel:


/******************************************************************************
Datenübertragung per CAN auf Kanal 1 ID 100
******************************************************************************/



// Modulvariablen ************************************************************


thread cane1
{

// Varis definieren und setzen -------------------------------------------------
byte data_e[7];
data_e[0]=0;data_e[1]=0;data_e[2]=0;data_e[3]=0;data_e[4]=0;data_e[5]=0;data_e[6]=0;data_e[7]=0;



can.expect (1,100);


loop
{
data_e[0]=0;data_e[1]=0;data_e[2]=0;data_e[3]=0;
data_e[4]=0;data_e[5]=0;data_e[6]=0;data_e[7]=0;


wait can.rxd(1); // warte auf Nachrichten auf Kanal 1
can.get(1,data_e);// hole Nachrichten ab


// Keller +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if data_e[0]==101 {
global.SoMe1=data_e[1]*256+data_e[2];
global.SoMe2=data_e[3]*256+data_e[4];
global.SoMe3=data_e[5]*256+data_e[6];continue;}

if data_e[0]==102 {
global.SoMe4=data_e[1]*256+data_e[2];
global.SoMe5=data_e[3]*256+data_e[4];
global.SoMe6=data_e[5]*256+data_e[6];continue;}

if data_e[0]==103 {
global.SoMe7=data_e[1]*256+data_e[2];
global.SoMe8=data_e[3]*256+data_e[4];
global.HzMe1=data_e[5]*256+data_e[6];continue;}

if data_e[0]==104 {
global.HzMe2=data_e[1]*256+data_e[2];
global.HzMe3=data_e[3]*256+data_e[4];
global.HzMe4=data_e[5]*256+data_e[6];continue;}

if data_e[0]==110 {
global.HzMe5=data_e[1]*256+data_e[2];
global.HzMe6=data_e[3]*256+data_e[4];
global.HzMe7=data_e[5]*256+data_e[6];continue;}

if data_e[0]==111 {
global.HzMe8=data_e[1]*256+data_e[2];continue;}


// Zustand Stellantriebe und Sonstiges +++++
if data_e[0]==105 {
global.ZuHzPuOg=data_e[1];global.ZuSoVe=data_e[2];
global.ZuRuVe=data_e[3];global.ZuHzPuEg=data_e[4];
global.ZuZiPuEg=data_e[5];global.ZuZiPuOg=data_e[6];
global.ZuZiVeEg=data_e[7];continue;}


if data_e[0]==106 {
global.ZuZiVeOg=data_e[1];global.ZuSoPu=data_e[2];
global.HZBrenner=data_e[3];global.ZWZuAV2=data_e[4];continue;}

if data_e[0]==107 {
global.ZPE=data_e[1];global.ZPO=data_e[2];
global.ZVS=data_e[3];global.ZVE=data_e[4];
global.ZVO=data_e[5];global.ZVR=data_e[6];
global.ZPS=data_e[7];continue;}

if data_e[0]==108 {
global.ZHO=data_e[1];global.ZHE=data_e[2];
global.ZBB=data_e[3];global.ZNK=data_e[4];
global.HZNK=data_e[5];global.HZSoWi=data_e[6];
global.LP2FR=data_e[7];continue;}


if data_e[0]==109 {
global.ZuSoVe2=data_e[1];global.ZuLP2=data_e[2];
global.ZuAV1=data_e[3];global.ZuAV2=data_e[4];
global.ZWZuSoVe2=data_e[5];global.ZWZuLP2=data_e[6];
global.ZWZuAV1=data_e[7];continue;}


if data_e[0]==112 {
global.SoMi=data_e[1];global.SoMiEinlernen=data_e[2];
global.ZuSoNK=data_e[3];global.ZWZuSoNK=data_e[4];continue;}



continue;


}}




Rene


    Antwort schreiben


Antworten:

Re: Fragen zum CAN-Bus (von Markus H - 19.06.2010 15:45)
    Re: Fragen zum CAN-Bus (von reneforster - 19.06.2010 16:26)
Re: Fragen zum CAN-Bus (von nitraM - 18.06.2010 7:42)
    Re: Fragen zum CAN-Bus (von reneforster - 18.06.2010 10:19)