themumy_10
Üye
- Katılım
- 20 Ağu 2013
- Mesajlar
- 38
- Puanları
- 1
Merhaba forumda yeni olduğum için yanlış yere açtıysam özür dilerim. Forumları araştırdım fakat tam olarak istenilen bilgiler yarım olduğu için tam oturtamadığım için yeni bir başlık açtım.
Yapmaya çalıştığım proje şu şekilde bir master ve buna bağlı cihazlarla iletişim kurmak. Örneğin master bir slave'e bilgi soracak ve master isterse yeni bir bilgi göndererek slave'e komut gönderecek.Örneğin ortamın sıcaklığını görüp buna göre yeni bir sıcaklık değeri gönderecek ve ortamda kombi çalışacak. Slave aynı zamanda kendi üzerinden işlem yapılmasına olanak sunacak. Sistem kablo ile çalışacağı için araştırdığım kadarıyla RS-485 kullanmam gerekiyor. MODBUS protokolüde bu cihazla birlikte karşıma çıkan diğer olay. Bu konuda
RS485 (balanced data transmission) hakkında bilgiler | Elektronik Devreler Projeler 320 Volt RS-485 çalışma mantığı ve kodlama kısmında ise
Seri ve RF iletişim Sistemlerinde Master - Slave İlişkisi Üzerine bir Çalışma ETE hocanın Basic dili ile oldukça açıklamalı bir örneği mevcut. Fakat CCS için bu tarz bir örnek bulamadım. CCS için RS485.c Dosyası da tam olarak anlayamadım. MAX-232'den RS-485'den direk çevirildiğinde ise slave veri göndermesi için RS485'in pin bağlantılarından birinin değeri ve master pic'e bağlı RS-485 de veri gelişi için ayarlanması gerekiyor. Bu pin durumları işi çok daha karmaşık hale getiriyor.
CCS Kütüphane Kodları:
int1 rs485_get_message(int* data_ptr, int wait) ////
//// * Get a message from the RS485 bus ////
//// * Address can be 1 - 33. ////
//// * A 1 will be returned if a parity check error occurred. ////
//// ////
//// int1 rs485_send_message(int to, int len, int* data) ////
//// * Send a message over the RS485 bus ////
//// * Inputs: ////
//// to - Destination address ////
//// len - Message length ////
//// *data - Pointer to message ////
//// * Returns TRUE if successful, FALSE if failed ////
//// ////
//// void rs485_wait_for_bus(int1 clrwdt) ////
//// * Wait for the RS485 bus to open. Normally used before ////
//// sending a message to avoid collisions. ////
//// * Pass in TRUE to restart the watch dog timer to prevent ////
//// the device from resetting. ////
//// * This is not needed if sending an immediate response
Sonuç olarak yapılmak istenen mümkünse MODBUS kullanmadan RS-485 ile birden çok PIC ile haberleşme ve veri gönderimini yapmak.Mümkünse RS-485 CCS Driver ile basit olarak bunu tamamlamak istiyorum.
Bu konuda elinde örnek,döküman,,e-book,fikir,link vb. olan arkadaşlar yardımcı olursa çok sevinirim. İlgilenen tüm arkadaşlara teşekkürler.
Yapmaya çalıştığım proje şu şekilde bir master ve buna bağlı cihazlarla iletişim kurmak. Örneğin master bir slave'e bilgi soracak ve master isterse yeni bir bilgi göndererek slave'e komut gönderecek.Örneğin ortamın sıcaklığını görüp buna göre yeni bir sıcaklık değeri gönderecek ve ortamda kombi çalışacak. Slave aynı zamanda kendi üzerinden işlem yapılmasına olanak sunacak. Sistem kablo ile çalışacağı için araştırdığım kadarıyla RS-485 kullanmam gerekiyor. MODBUS protokolüde bu cihazla birlikte karşıma çıkan diğer olay. Bu konuda
RS485 (balanced data transmission) hakkında bilgiler | Elektronik Devreler Projeler 320 Volt RS-485 çalışma mantığı ve kodlama kısmında ise
Seri ve RF iletişim Sistemlerinde Master - Slave İlişkisi Üzerine bir Çalışma ETE hocanın Basic dili ile oldukça açıklamalı bir örneği mevcut. Fakat CCS için bu tarz bir örnek bulamadım. CCS için RS485.c Dosyası da tam olarak anlayamadım. MAX-232'den RS-485'den direk çevirildiğinde ise slave veri göndermesi için RS485'in pin bağlantılarından birinin değeri ve master pic'e bağlı RS-485 de veri gelişi için ayarlanması gerekiyor. Bu pin durumları işi çok daha karmaşık hale getiriyor.
CCS Kütüphane Kodları:
int1 rs485_get_message(int* data_ptr, int wait) ////
//// * Get a message from the RS485 bus ////
//// * Address can be 1 - 33. ////
//// * A 1 will be returned if a parity check error occurred. ////
//// ////
//// int1 rs485_send_message(int to, int len, int* data) ////
//// * Send a message over the RS485 bus ////
//// * Inputs: ////
//// to - Destination address ////
//// len - Message length ////
//// *data - Pointer to message ////
//// * Returns TRUE if successful, FALSE if failed ////
//// ////
//// void rs485_wait_for_bus(int1 clrwdt) ////
//// * Wait for the RS485 bus to open. Normally used before ////
//// sending a message to avoid collisions. ////
//// * Pass in TRUE to restart the watch dog timer to prevent ////
//// the device from resetting. ////
//// * This is not needed if sending an immediate response
Sonuç olarak yapılmak istenen mümkünse MODBUS kullanmadan RS-485 ile birden çok PIC ile haberleşme ve veri gönderimini yapmak.Mümkünse RS-485 CCS Driver ile basit olarak bunu tamamlamak istiyorum.
Bu konuda elinde örnek,döküman,,e-book,fikir,link vb. olan arkadaşlar yardımcı olursa çok sevinirim. İlgilenen tüm arkadaşlara teşekkürler.