Показано с 1 по 10 из 21

Тема: Одновременный прием данных по двум UART в панель СП310

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,129

    По умолчанию

    Посмотрите мой пример чтения показаний из весового терминала CAS CI-1560 https://owen.ru/forum/showthread.php...l=1#post306065
    Код:
    #define Alarm		300			// Number PSB from error flag
    #define adrPR		16			// Addres PR200
    #define adrRegPR	512			// Addres register "Weight"
    
    WORD timeOut;
    WORD status = 0;
    BYTE byArr[44] = {' '};
    char *strWeight = "      0";
    int i = 0;
    static short int Weight = 0;
    //---- change timeout port of PLC (only for ModBus)
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, &timeOut);
    if(timeOut == 1000) Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, 200);
    
    
    //----- Get string (22 bytes) from CAS1560
    while(status != 22 && i <= 3) {
    	status = Receive(DOWNLOAD, byArr, 22, 1000, 100);
        i++;					//next try
        PSW[500] = status;		//debug only !!
        PSW[501] = i;			//debug only !!
    }
    
    //--- if three attempts were unsuccessful, set error flag for three seconds
    if (i >= 3 && status != 22) {
        SetPSB(Alarm);
        Delay(3000);
        ResetPSB(Alarm);
    }
    else if (byArr[20] =='\r' && byArr[21] =='\n') {
        memcpy(strWeight, byArr +10, 7);	//extract string weight
        Weight = atoi(strWeight);	//convert string to number
        if (byArr[9] == '-') Weight = Weight * (-1);
    //----
    	PSW[314] = Weight;			//debug only !!
    	memcpy(&PSW[300], byArr, 22);	//debug only !!
    }    
    
    Leave(DOWNLOAD);	//close port DOWNLOAD
    //Delay(100);
    //--- write weight in the register PR200
    Write(PLC, adrPR, MODBUS_RTU_REG_4X, adrRegPR, 0, TYPE_WORD, Weight);
    ЗЫ,
    Прошу помочь с форматом команды или направить, где посмотреть
    Еще один пример чтения (команда Receive)- Гипертерминал для панели СП https://owen.ru/forum/showthread.php...l=1#post247040
    Последний раз редактировалось petera; 05.08.2025 в 11:42.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. Ответов: 26
    Последнее сообщение: 31.01.2023, 17:42
  2. Сенсорная панель СП310
    от Jerniks в разделе Панели оператора (HMI)
    Ответов: 9
    Последнее сообщение: 08.09.2022, 17:44
  3. Ответов: 21
    Последнее сообщение: 24.03.2020, 18:29
  4. Прием данных по Com порту
    от Klik в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 21.03.2008, 14:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •