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

Тема: СПК+Термостат по RS485

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от SA104 Посмотреть сообщение
    Подключите ваш термостат к ПК и через гипертерминал пошлите в него упомянутый вами запрос - :160228-M ALM.STATUS RD
    Если ответит, тогда уже свою программу копайте.
    Фраза -"вроде бы посылает то, что надо .." малоинформативна )
    Сравните строку запроса, наблюдаемую в мониторе порта с требуемым, если есть разница, копайте программу.
    Подключил через АС4 к компу, на запрос молчит( звонил в Томск, говорят, что "мы уже много лет поставляем эти термостаты, всё хорошо". У этого термостата есть ещё и юсб порт. При подключении его к компу, определяется как HID-устройство. Через программу автора ПО термостата пишу данный запрос в этот ЮСБ, термостат радостно отвечает. А вот через RS485 молчит(
    Разобрал, там на вывод 485 стоит микросхема:ADM485 - маломощный передатчик сигнала по 485. Непонятно, что дальше делать: объект стоит

  2. #2
    Пользователь
    Регистрация
    09.10.2014
    Адрес
    Киров
    Сообщений
    737

    По умолчанию

    Цитата Сообщение от ChemDevil Посмотреть сообщение
    Подключил через АС4 к компу, на запрос молчит( звонил в Томск, говорят, что "мы уже много лет поставляем эти термостаты, всё хорошо". У этого термостата есть ещё и юсб порт. При подключении его к компу, определяется как HID-устройство. Через программу автора ПО термостата пишу данный запрос в этот ЮСБ, термостат радостно отвечает. А вот через RS485 молчит(
    Разобрал, там на вывод 485 стоит микросхема:ADM485 - маломощный передатчик сигнала по 485. Непонятно, что дальше делать: объект стоит
    А осциллограмму не смотрели непосредственно на rs485, может там вообще тишина?

  3. #3

    По умолчанию

    Цитата Сообщение от SA104 Посмотреть сообщение
    А осциллограмму не смотрели непосредственно на rs485, может там вообще тишина?
    1. По терминалу посылали, термостат молчит. Просто до последнего не верили, что дело может быть в нём: всё-таки, Термекс достаточно известная компания на этом рынке...
    2. Осциллографа, к сожалению, у нас нет)

  4. #4
    Пользователь
    Регистрация
    09.10.2014
    Адрес
    Киров
    Сообщений
    737

    По умолчанию

    Цитата Сообщение от ChemDevil Посмотреть сообщение
    1. По терминалу посылали, термостат молчит. Просто до последнего не верили, что дело может быть в нём: всё-таки, Термекс достаточно известная компания на этом рынке...
    2. Осциллографа, к сожалению, у нас нет)
    Осциллограф-главный свидетель обвинения , пока у вас лишь косвенные улики, надежда есть )
    Что за адаптер использовали для проверки термостата из терминала?

  5. #5

    По умолчанию

    Цитата Сообщение от SA104 Посмотреть сообщение
    Осциллограф-главный свидетель обвинения , пока у вас лишь косвенные улики, надежда есть )
    Что за адаптер использовали для проверки термостата из терминала?
    Спасибо, Шерлок)
    Адаптер: ОВЕНовский АС4

  6. #6
    Пользователь
    Регистрация
    09.10.2014
    Адрес
    Киров
    Сообщений
    737

    По умолчанию

    Цитата Сообщение от ChemDevil Посмотреть сообщение
    Адаптер: ОВЕНовский АС4
    Попробуйте китайский "свисток" USB-RS485 для очистки совести..

  7. #7

    По умолчанию

    Итак, сегодня снова добрался до агрегата и почти победил: в терминале отвечает всё как положено. А вот в самом СПК110 возникла загвоздка: приходит, порой, всякая казябра. Поигравшись с таймаутами на чтение (60 мс) и запись (10 мс), а так же с интервалом выполнения цикла (200 мс), стал получать то, что можно увидеть на скрине ниже (очень похоже: должно быть ":160228-M 0x00 000010")

    debug.PNG

    У кого какие мысли: чем выпрямить мои многострадальные руки?)

    Ну и действующий код
    Код:
    PROGRAM PLC_PRG
    VAR
    		SendBuffer : STRING;
    		sendByte: UDINT;
    		readByte: UDINT;
    		RS : STRING:='0';
    		i:INT;
    		y:BYTE:=0;
    		Send_B:BOOL;
    		b_timerIN: BOOL;
    		b_timerOUT:BOOL;
    		SendPeriod:TON;
    END_VAR
    IF COM_SERVICE3.Ready=FALSE THEN
    	OpC3();(*Программа открытия порта с настройками*)
    END_IF
    
    IF COM_SERVICE3.Ready=TRUE THEN
    		IF Send_B=TRUE THEN
    		SendBuffer:= ':160228-m alm.status rd$R';
    		y:= INT_TO_BYTE(LEN(SendBuffer));
    		sendByte:=ComSerice.SysComWrite(COM_SERVICE3.handle,ADR(sendBuffer),y,10,0);
    		Send_B:=FALSE;
    	END_IF
    	readByte:=ComSerice.SysComRead(COM_SERVICE3.handle,ADR(RS[0]),30,60,0);
    END_IF
    SendPeriod(IN:=b_timerIN , PT:=T#500MS , Q=>b_timerOUT);(*Интервал отправки*)
    IF b_timerIN=FALSE THEN
    	b_timerIN:=TRUE;
    END_IF
    IF b_timerOUT=TRUE THEN
    	b_timerIN:=FALSE;
    	Send_B:=TRUE;
    END_IF

Похожие темы

  1. СПК110 + термостат(RS-485)
    от barsik в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 05.07.2016, 07:31
  2. ТРМ 201 комнатный термостат
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 24
    Последнее сообщение: 15.12.2015, 16:37
  3. Автоматизирую жидкостный термостат
    от Александр Васильевич в разделе Эксплуатация
    Ответов: 18
    Последнее сообщение: 25.04.2014, 12:35
  4. СИ-8 RS485
    от afsh в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 04.04.2011, 12:45
  5. плк 110 + сп 270 + чп по Rs485
    от Wanted в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 21.04.2010, 10:06

Ваши права

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