Страница 1 из 7 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 76

Тема: ПЛК110-30-М02 нестандартный проткол к весам ВСП4

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    20.05.2021
    Адрес
    г.Челябинск
    Сообщений
    36

    Question ПЛК110-30-М02 нестандартный проткол к весам ВСП4

    Здравствуйте. Возникла задача подключить электронные весы ВСП4 с индикатором НВТ-9 к ПЛК 110-30-М02. Весы непрерывно передают данные через RS-232. Протокол данных во вложении. Использовал библиотеку SysLibCom.lib. Вот код.
    PROGRAM PLC_PRG
    VAR
    port:COMSETTINGS:=(Port:=COM1,dwBaudRate:=2400);
    portReady:BOOL;
    buf:ARRAY[0..13]OF BYTE;
    END_VAR
    IF NOT portReady THEN(* Сразу открываем и настраиваем порт *)
    portReady:=TRUE;
    SysComOpen(port.Port);
    SysComSetSettings(port.Port,ADR(port));
    ELSE(* Работаем с открытым портом *)
    SysComRead(port.Port, ADR(buf), 14, 0);
    END_IF

    Проблема в том, что данные в буфере buf меняются хаотично при неизменном весе. Связь плк с пк через Ethernet.
    Не могу понять в чем причина. Может кто подскажет. Спасибо.
    Вложения Вложения
    Последний раз редактировалось павелсиражев; 23.09.2021 в 10:57.

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

    По умолчанию

    Данные из индикатора передаются в непрерывном режиме в коде ASCII в COM-порт ПЭВМ (скорость 9600, нечет, 8 бит, 1 стоп).

    Сделайте выводы елки палки....
    Вам надо написать код так, чтобы ловить 0x0D 0x0A и начинать хранение в буфер пакета до следующих 0x0D 0x0A
    А или первые 77 6E ловить и далее до окончания.

    Выдергивать строку с весом и парсить значение...
    Последний раз редактировалось melky; 24.09.2021 в 12:59.

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Можно читать по 1 байту и если там 0x77 дочитывать 13 оставшихся, проверять что в последних двух 0x0D 0x0A и во втором 0x6E быть уверенным что пакет полный.

  4. #4

    По умолчанию

    Вам же уже выделили жирным текстом. Скорость весов 9600 , а установлено 2400.

  5. #5
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    ужос будет простой, сколько раз ПЛК должен будет обождать, пока пакет не придет полностью ?

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

    По умолчанию

    Валенок а разве ПЛК не будет успевать по одному байту и сверять его например либо с началом пакета либо с окончанием?
    По идее после окончания пакета 0х0A всегда должна быть пауза у прибора, То есть мы теряем один пакет. То есть дождались 0x0A и начали чтение нового пакета.

    Я так понимаю в программе же надо делать "начало измерения" то есть какая-то кнопка "Пуск" для программы, измерили, остановились, сохранили в базу или еще куда-то. Ну не читать же пустые весы постоянно.

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Почему бы и нет ? Кто-то запыхается (см. п. 1) ?
    ну если цель стоит только отображать на HMI значение то не запыхается.
    А если стоит цель что-то положили на весы, взвесить, отобразить, куда-то передать, то как бы зачем?

    Ну хотя код чтения порта и разбора переменной может крутиться всегда и уже программой сверху выдергивать, не суть.

    я думаю, что пауза там есть, хоть о ней и не написано, снифер покажет.

  8. #8
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Вот потому, что спешить особо некуда, лучше надергать буффер 28 байт, т.е в котором будет гарантированный полный пакет, и уже парсить эту кучу, выдернув сам пакет и уже распарсив его вытащить данные искомые.
    Но вариантов решения задачи может быть как минимум 3, так что кто как хочет, так этим и занимается

  9. #9
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Для 'Wn' достаточно 15-ти, а дальше примитивная работа со строкой где выдернуть пакет не больше кода чем надергав 28.
    К тому же, в отличие, не будет потери последнего вдруг пакета если он внезапно не ляжет в [14..27] ))
    Скользящий разбор буффера приема? Код усложняется.

    Цитата Сообщение от Валенок Посмотреть сообщение
    Я могу предположить их не менее 64730 на 25-09-21 12:25 - у Овена внизу написано.
    И чё там у него написано?

  10. #10
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Да ладно.
    А давайте сравним кол-во шагов разбора Вашего буфера с данными (описанием) :
    Дождались 28 байт.
    ..
    ?
    По китайски прямолинейно...
    1. В цикле ищем w, проверяем следующий n, если нет буффер ф топку, если да хватаем номер(i) в буффере и Return из этого цикла;
    2. В цикле из буффера, начиная с (i) выбрасываем в буффер данных 7 байт, проверяем следующие в на соответствие k,g, если нет, все ф топку, если да буффер в топку и Return из этого цикла;
    3. Весело верещща конвертируем буффер данных в Real;
    4. Повторяем экзекуцию с заполнением буффера и ...начинаем, шило и мочало-начинай сначала.

    Цитата Сообщение от Валенок Посмотреть сообщение
    Статистика Форум АСУ ТП. ОВЕН форум
    Тем 25,307 Сообщений 324,534 Пользователи 64,730 Активные участники 2,046
    Это про минимальное кол-во вариантов ))
    Ну и сколько из 2,046 (щас слеза навернулась) вообще поймут о чем речь?
    Последний раз редактировалось Sergey666; 25.09.2021 в 15:49.

Страница 1 из 7 123 ... ПоследняяПоследняя

Похожие темы

  1. Нестандартный отчет
    от Terminat в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 27.10.2017, 10:23
  2. Нестандартный протокол
    от SVVSVA в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 08.09.2011, 15:18
  3. нестандартный протокол
    от niklud19511 в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 05.05.2011, 15:02
  4. Нестандартный протокол
    от Евгений Владимирович в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 28.02.2010, 23:22
  5. Нестандартный протокол
    от Klik в разделе ПЛК1хх
    Ответов: 36
    Последнее сообщение: 03.03.2008, 13:49

Ваши права

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