اطلاعیه

Collapse
No announcement yet.

Free modbus library

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    Free modbus library

    با سلام
    من یه میکرو mega32 دارم که به عنوان اسلیو است و یک PC به عنوان مستر.
    من یه مشکل با این کتابخونه دارم.در مثال خودش یه متغییر داده به نام
    کد:
    usRegInputBuf[0]++
    که درون یه حلقه for بی تهایت است.حالا من میخوام ابن مقدار رو بخونم.
    حالا من باید چیکار کنم؟
    از دوستانی که با کتابخانه کار کردند لطفا به من کمک کنند.

    #2
    پاسخ : Free modbus library

    یه فایل ضمیمه کردم از نحوی برنامه.
    ولی نمی رونم چرا جواب نمی دهi.
    کسی اینجا نیست کمکم کنه؟
    https://drive.google.com/file/d/0By1...ew?usp=sharing

    دیدگاه


      #3
      پاسخ : Free modbus library

      پروژ رو بزار ببینم
      اینی هم که گزاشتی برا من دانلود نمیشه......اگه میشه یه جا دیگه پلودش کن.....

      از ترمینال های موجود استفاده میکنی یا خودت یه برنامه نوشتی؟؟؟؟؟؟
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : Free modbus library

        پروژ رو بزار ببینم
        کد:
        #include <avr/io.h>
        #include <avr/interrupt.h>
        
        /* ----------------------- Modbus includes ----------------------------------*/
        #include "mb.h"
        #include "mbport.h"
        
        /* ----------------------- Defines ------------------------------------------*/
        #define REG_INPUT_START 1000
        #define REG_INPUT_NREGS 4
        
        /* ----------------------- Static variables ---------------------------------*/
        static USHORT  usRegInputStart = REG_INPUT_START;
        static USHORT  usRegInputBuf[REG_INPUT_NREGS];
        
        #define REG_HOLDING_START 1200
        #define REG_HOLDING_NREGS 99
        
        static USHORT  usRegHoldingStart = REG_HOLDING_START;
        static USHORT  usRegHoldingBuf[REG_HOLDING_NREGS];
        
        #define REG_COILS_START   1100
        #define REG_COILS_SIZE   16
        
        static unsigned char ucRegCoilsBuf[REG_COILS_SIZE / 8];
        
        /* ----------------------- Start implementation -----------------------------*/
        int
        main( void )
        {
          const UCHAR   ucSlaveID[] = { 0xAA, 0xBB, 0xCC };
          eMBErrorCode  eStatus;
        
          eStatus = eMBInit( MB_RTU, 0x0A, 0,38400, MB_PAR_EVEN );
        
          eStatus = eMBSetSlaveID( 0x34, TRUE, ucSlaveID, 3 );
          sei( );
        
          /* Enable the Modbus Protocol Stack. */
          eStatus = eMBEnable( );
        
          for( ;; )
          {
            ( void )eMBPoll( );
        
            /* Here we simply count the number of poll cycles. */
            usRegInputBuf[0]++;
          }
        	
        	return 0;
        }
        پروژه ضمیمه شده.
        اینی هم که گزاشتی برا من دانلود نمیشه......اگه میشه یه جا دیگه پلودش کن.....
        روی لینک کلیک کن صفحه که باز شد روی toolbar بالا گزینه دانلود بزن.اگر جایی دیگه سراغ داری بگو پلود کنم.
        از ترمینال های موجود استفاده میکنی یا خودت یه برنامه نوشتی؟؟؟؟؟؟
        منظورت از ترمینال چیه؟
        این کتابخونه خود مدباسه از سایتش گرفتم.از مثالش استفاده میکنم ولی جواب نمی ده ~x(نمی دونم چرا.

        دیدگاه

        لطفا صبر کنید...
        X