Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 14 из 14

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

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

    По умолчанию

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

  2. #12

    По умолчанию

    Итак, сегодня снова добрался до агрегата и почти победил: в терминале отвечает всё как положено. А вот в самом СПК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

  3. #13

    По умолчанию

    Новая вводная, господа!)

    1. Связь терминал-спк110 работает нормально: на терминал приходит именно то, что нужно. Считывание от СПК к терминалу тоже работает
    2. Связь терминал-термостат работает нормально: на соответствующие команды от терминала термостат отвечает то, что надо.
    3. Связь СПК-Термостат не работает: на спк от термостата приходит казябра, команды от спк редко воспроизводятся и воспринемаются

  4. #14
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    перефразирую третий пост в связи с нововведениями, использовать массив байт будет куда лучше чем строка
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 2 ПерваяПервая 12

Похожие темы

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

Ваши права

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