Advertisement
meditor

M-duino+modbus+cs2018

Jul 30th, 2018
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. /*
  2. M-Duino 21 PLC integrated into CSb2018
  3.  
  4. control: http://www.meditor.hu/csb18/kezelo.jpg
  5. wires: http://www.meditor.hu/csb18/vezetekezes.jpg
  6. backside (csatlakozó, biztosíték, kapcsoló): http://www.meditor.hu/csb18/hatlap.jpg
  7.  
  8. PLC+power: http://www.meditor.hu/csb18/plc+tap.jpg
  9.  
  10. set: csb2018+zotak & periferies:
  11. http://www.meditor.hu/csb18/osszeallitas1.jpg
  12. http://www.meditor.hu/csb18/osszeallitas3.jpg
  13.  
  14. Screeshot about developing enviroment: arduino + MEA10 DAQ software modbus/tcp protokol, basic-scope:
  15. http://www.meditor.hu/csb18/cs2018_mea10_scope1.jpg
  16. */
  17.  
  18. #include  <Mudbus.h>
  19.  
  20. IPAddress         ip(192, 168, 2, 222);
  21. IPAddress         gw(192, 168, 2, 3);
  22. uint8_t mac[] =   { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  23.  
  24. Mudbus            Mb;
  25. uint8_t           sec_cnt;
  26.  
  27. void setup()
  28.   {
  29.    
  30.    Ethernet.begin(mac, ip);
  31.    Serial.begin(9600);while(!Serial){delay(10);}
  32.    Serial.println("Serial  : O.K.");
  33.    delay(3000);
  34.    Serial.println("Ethernet: O.K.");
  35.    Serial.print("localIP:  ");Serial.println(Ethernet.localIP());
  36.    sec_cnt=0;
  37.    Mb.R[0] = Mb.R[1] = Mb.R[2] = Mb.R[3] = 0;
  38.    Mb.C[0] = Mb.C[1] = Mb.C[2] = Mb.C[3] = 0;
  39.    
  40.    pinMode(4,OUTPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);
  41.    pinMode(22,INPUT);pinMode(23,INPUT);pinMode(24,INPUT);
  42.    
  43.    Serial.println("");
  44.   }
  45.  
  46. void loop()
  47.   {uint8_t      count;
  48.    int          pv4,pv5,pv6;
  49.    long int     tmp4,tmp5,tmp6;
  50.    uint8_t      dig22,dig23,dig24;
  51.    
  52.    tmp4=0;tmp5=0;tmp6=0;
  53.    count=0;while(count<64)
  54.    {
  55.      Mb.Run();
  56.      delay(8);
  57.      tmp4+=analogRead(A0);delay(2);
  58.      tmp5+=analogRead(A1);delay(2);
  59.      tmp6+=analogRead(A2);delay(2);
  60.      count++;delay(2);
  61.    }
  62.  
  63.    dig22=digitalRead(22);delay(2);
  64.    dig23=digitalRead(23);delay(2);
  65.    dig24=digitalRead(24);delay(2);
  66.    
  67.    pv4=(dig22>0)?map(tmp4/64,0,1023,0,128)+128:pv4=128;
  68.    pv5=(dig23>0)?map(tmp5/64,0,1023,0,128)+128:pv5=128;
  69.    pv6=(dig24>0)?map(tmp6/64,0,1023,0,128)+128:pv6=128;
  70.    
  71.    //Serial.print(dig22|(dig23<<1)|(dig24<<2));Serial.print("  ");Serial.println(pv4);
  72.  
  73.    analogWrite(4,pv4);delay(2);
  74.    analogWrite(5,pv5);delay(2);
  75.    analogWrite(6,pv6);delay(2);
  76.      
  77.    Mb.R[0]=pv4*4;
  78.    Mb.R[1]=pv5*4;
  79.    Mb.R[2]=pv6*4;
  80.    
  81.    Mb.R[3]=0;
  82.    Mb.C[0]=dig22;
  83.    Mb.C[1]=dig23;
  84.    Mb.C[2]=dig24;
  85.    Mb.C[3]=0;
  86.    
  87.    Serial.println(sec_cnt++);
  88.    
  89.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement