Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

CCS C MODBUS

Başlatan ilker07, 24 Eylül 2021, 12:08:44

ilker07

Arkadaşlar iyi günler ccs c ile modbus örneği yapan var mıdır?Ccs in kendi modbus kütüphanesi kullanarak 2 pici haberleştirdim ama tek pic ile aynı kodu kullanarak modbus kullanan bir sensörü haberleştiremedim sıkıntı nedir acaba?Ayrıca pici slave ayarlayıp Modbus poll programından okuma da yapamadım.Sebebi ne olabilir?


Pic Master-Sensör haberleşme Kodu:
#include <18F67K22.h>


#use delay(internal=8000000)

#FUSES NOWDT                    
#FUSES WDT128                  
#FUSES NOXINST                  
#FUSES NOBROWNOUT              
#FUSES PROTECT




#pragma use rs232(baud=9600, xmit=PIN_G1, rcv=PIN_G2, stream=diger, errors)

#define MODBUS_TYPE MODBUS_TYPE_MASTER
#define MODBUS_SERIAL_TYPE MODBUS_RTU    
#define MODBUS_SERIAL_RX_BUFFER_SIZE 64
#define MODBUS_SERIAL_BAUD 9600
#define MODBUS_SERIAL_INT_SOURCE MODBUS_INT_RDA


#define MODBUS_SERIAL_TX_PIN PIN_C6  // Data transmit pin
#define MODBUS_SERIAL_RX_PIN PIN_C7  // Data receive pin

#define MODBUS_SERIAL_ENABLE_PIN  PIN_C5  //  DE pin for RS485
#define MODBUS_SERIAL_RX_ENABLE    0  //  RE pin for RS485

#include <modbus.c>





void main()
{

  

  
  modbus_init();
  
  
  

    while(TRUE)
    { 
      
      
    
    
    
      
      if(!(modbus_read_holding_registers(0x01,2,1)))  
      {
        
        
        
        unsigned int8 veri0,veri1,veri2,veri3,veri4,veri5,veri6,veri7;
        veri0=modbus_rx.data
[li];[/li]
        veri1=modbus_rx.data[1];  
        veri2=modbus_rx.data[2];  
        veri3=modbus_rx.data[3];  
        veri4=modbus_rx.data[4];  
        veri5=modbus_rx.data[5];  
        veri6=modbus_rx.data[6];
        veri7=modbus_rx.data[7];  
        fprintf(diger,"%lu %lu %lu %lu %lu %lu %lu %lu\n",(unsigned int16)veri0,(unsigned int16)veri1,(unsigned int16)veri2,(unsigned int16)veri3,(unsigned int16)veri4,(unsigned int16)veri5,(unsigned int16)veri6,(unsigned int16)veri7); 
        
        
      delay_ms(100);
      } 
      
      else{
        fprintf(diger,"Cevap yok!!!\n"); 
        delay_ms(1000);
      }
      
      
      
      
        
    }
        
      

}

necati

çalışan bir örnek varmıdır
[email]entegreterbiyecisi@yahoo.com[/email]

132kHz

iletişimin hızı tutmuyor olabilir cihaz id si tutmuyor olabilir

triyak

Slave adresini tanımlamamışsınız sanırım

necati

https://github.com/worrajak/PICmodbus

buna bakabilirmisiniz
derleyip duzenleyebilirmisiniz
[email]entegreterbiyecisi@yahoo.com[/email]

mustafa_firat

Abi çok teşekkür ederim paylaştığın döküman için böyle dökümanları bulmak çok zor kimse paylaşmıyor sana teşekkür etmek için form'a üye oldum, picprojeyede ayrıca teşekkürler.