Страница 7 из 8 ПерваяПервая ... 5678 ПоследняяПоследняя
Показано с 61 по 70 из 75

Тема: Панель СП307 + ТМ5103 или ТМ5122

  1. #61

    По умолчанию

    Завтра-послезавтра притащу со склада ТМ5122 и попробую его еще поподключать

  2. #62

    По умолчанию

    EFrol, подключить параллельно еще один ТМ5103?

  3. #63

    По умолчанию

    Напишите! Куда Вы денетесь?! Вот пример реализации ОВЕН-протокола для СП3хх:
    В глобальный макрос:
    Код:
    BYTE in[64], out[16];
    WORD inLen;
    BYTE Regs[16];
    
    void query(BYTE *out, WORD outLen){
        inLen = 0;
        Enter(DOWNLOAD);
    	if(Send(DOWNLOAD, out, outLen)){
            inLen = Receive(DOWNLOAD, in, 64, 500, 10);
        }
        Leave(DOWNLOAD);
    }
    
    WORD Owen_CRC(BYTE *buf, BYTE len){
    	BYTE iByte, iBit, bByte;
        WORD ret = 0;
        
        for(iByte = 0; iByte < len; iByte++){
    		bByte = buf[iByte];
            for(iBit = 0; iBit < 8; iBit++){
    			if(((HIBYTE(ret) ^ bByte) & 0x80) > 0){
    				ret <<= 1; ret ^= 0x8F57;
                }else ret <<= 1;
    			bByte <<= 1;
            }
        }
        return ret; 
    }
    
    BYTE Owen_Query(WORD Addr, WORD Hash, BYTE Count){
    	BYTE UnPack[22], Pack[46], iByte;
        WORD CRC;
        
        UnPack[0] = HIBYTE(Addr << 5);
        UnPack[1] = LOBYTE(Addr << 5) | (Count > 0 ? 0x00 : 0x10) | Count;
        UnPack[2] = HIBYTE(Hash);
        UnPack[3] = LOBYTE(Hash);
    	for(iByte = 0; iByte < Count; iByte++) UnPack[iByte+4] = out[iByte];
        CRC = Owen_CRC(UnPack, Count + 4);
    	UnPack[Count+4] = HIBYTE(CRC);
        UnPack[Count+5] = LOBYTE(CRC);
        
        Pack[0] = '#';
        for(iByte = 0; iByte < (Count + 6); iByte++){
    		Pack[iByte*2+1] = ((UnPack[iByte] & 0xF0) >> 4) + 0x47;
            Pack[iByte*2+2] = (UnPack[iByte] & 0x0F) + 0x47;
        }
        Pack[iByte*2+1] = 0x0D;
        
        query(Pack, iByte*2+2);
        
        if(inLen > 6){
    		if(in[0] != 0x23 || in[inLen-1] != 0x0D || (inLen % 2) != 0) return -2;
    
            for(iByte = 0; iByte < (inLen - 2) / 2; iByte++){
                UnPack[iByte] = in[iByte*2+1] - 0x47;
                UnPack[iByte] <<= 4;
                UnPack[iByte] |= in[iByte*2+2] - 0x47;
            }
    
    		CRC = UnPack[iByte-2] << 8 | UnPack[iByte-1];
            if(Owen_CRC(UnPack, iByte-2) != CRC) return -3;
    
    		if(UnPack[0] != HIBYTE(Addr << 5) | (UnPack[1] & 0xE0) != LOBYTE(Addr << 5)) return -4;
            if((UnPack[1] & 0x10) == (Count == 0 ? 0x10: 0x00)) return -5;
            if(UnPack[2] == 0x02 && UnPack[3] == 0x33) return UnPack[4];
    
    		inLen = iByte - 6;
            for(iByte = 0; iByte < inLen; iByte++) in[iByte] = UnPack[iByte+4];
            return 0;
        }else return -1;
    }
    
    float readF24(){
        DWORD dw = MAKEDWORD(MAKEWORD(0, in[2]), MAKEWORD(in[1], in[0]));
        return DWord_2_Float(dw);
    }
    
    float readFloat(){
    	DWORD dw = MAKEDWORD(MAKEWORD(in[3], in[2]), MAKEWORD(in[1], in[0]));
        return DWord_2_Float(dw);
    }
    
    void writeFloatPSW(WORD addr, float value){
    	DWORD dw;
        dw = Float_2_DWord(value);
        PSW[addr] = LOWORD(dw);
        PSW[addr+1] = HIWORD(dw);
    }
    в обычный:
    Код:
    if(Owen_Query(120, 0x8784, 0) == 0) writeFloatPSW(450, readF24());
    Тщательно изучите и напишите свой!!!
    Последний раз редактировалось EFrol; 27.10.2024 в 15:08.

  4. #64

    По умолчанию

    Благодарю за макрос и веру в меня! Сейчас скопирую макрос и подумаю над ним. Свой макрос я почти что понял )

  5. #65

    По умолчанию

    Цитата Сообщение от Товарищ Саахов Посмотреть сообщение
    EFrol, подключить параллельно еще один ТМ5103?
    Один преобразователь между конфигуратором и прибором.
    Второй преобразователь в другой USB (новый COM-порт) для прослушивающей программы, например, Terminal
    Включаете сохранение лога в текстовый файл и запускаете чтение конфигурации в конфигураторе. В лог запишется весь обмен.

  6. #66

    По умолчанию

    С этим есть проблемка, у меня на компе всего один USB-порт, но это решаемо, найду другой комп

  7. #67

    По умолчанию

    Цитата Сообщение от Товарищ Саахов Посмотреть сообщение
    С этим есть проблемка, у меня на компе всего один USB-порт, но это решаемо, найду другой комп
    USB-хаб?! Будет дешевле!

  8. #68

    По умолчанию

    Хаб однако есть, нужно поискать, спасибо за подсказку! )
    Последний раз редактировалось Товарищ Саахов; 27.10.2024 в 15:24.

  9. #69
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,455

    По умолчанию

    Цитата Сообщение от Товарищ Саахов Посмотреть сообщение
    С этим есть проблемка, у меня на компе всего один USB-порт, но это решаемо, найду другой комп
    Это что за чудо такое? И 500 рублей у Вас нет?

    https://www.onlinetrade.ru/catalogue...25BE%25D1%2580

    https://market.yandex.ru/search?text...YAIPEnLw%2C%2C
    Последний раз редактировалось Сергей0308; 27.10.2024 в 15:18.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #70

    По умолчанию

    Сергей0308, вот оно мое чудо с одним USB-портом на фотке
    Изображения Изображения

Страница 7 из 8 ПерваяПервая ... 5678 ПоследняяПоследняя

Похожие темы

  1. Не получается прошить панель СП307
    от ИльяВ в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 13.08.2024, 08:13
  2. пр200 + панель сп307
    от morsik-atm@yandex.ru в разделе Панели оператора (HMI)
    Ответов: 0
    Последнее сообщение: 20.03.2023, 09:28
  3. 2 ПР200 и панель СП307
    от L1ktus в разделе Программируемые реле
    Ответов: 8
    Последнее сообщение: 06.05.2020, 17:10
  4. Ответов: 12
    Последнее сообщение: 14.06.2019, 17:50
  5. Зависает панель СП307
    от Basekovsky в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 24.04.2019, 13:59

Ваши права

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