Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: ПЛК + Логика СПГ761

  1. #11
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А вы только данные расчитываете ?, там еще речь и про стаффинг символы.
    Все рассчитываю после символа SOH.
    В общем сейчас делаю так - запускаю программу к прибору, и слушаю порт (сниффером).
    В итоге программа отправляет в прибор следующее:

    Соответственно после SOH И до ETX последнего - считаю CRC.

    На скрине Hi или 80 30 и есть CRC1 и CRC2.

    Есть еще вот такой вариант запроса (из другой программы)


    Все тоже самое, но количество нулей сокращено.

    Нашел калькулятор
    http://www.zorc.breitbandkatze.de/crc.html

    И все равно не выходит...
    Изображения Изображения
    Последний раз редактировалось приборист; 10.06.2014 в 18:02.

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

    По умолчанию

    Упс, СПГ761 использует магистральный протокол обмена, есть документация по нему на сайте http://www.logika.spb.ru/spnet_last/spbus.pdf

    Может вы не туда копаете, 943 несколько иной

  3. #13
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Упс, СПГ761 использует магистральный протокол обмена, есть документация по нему на сайте http://www.logika.spb.ru/spnet_last/spbus.pdf

    Может вы не туда копаете, 943 несколько иной
    Я как раз из этого руководства и беру все данные.
    Поменял документацию в первом посте.
    Последний раз редактировалось приборист; 10.06.2014 в 18:25.

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

    По умолчанию

    то, что показывает ваш снифер как-то не совсем вяжется с запросами документации... или я ошибаюсь...

  5. #15
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Нарисовал табличку:


    Символов DAD и SAD нет, т.к. используется безадресный заголовок SOH-ISI-FNC-DataHead.
    Зеленым выделил то, из чего должна рассчитываться CRC.
    Изображения Изображения
    Последний раз редактировалось приборист; 10.06.2014 в 19:11.

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

    По умолчанию

    приборист я пробовал при помощи crc_gen расчитывать из зеленого, не то получается. где-то ошибка сидит.

    Выставьте init 16#0 и вы получите правильную контрольную сумму из расчетного поля.

    з.ы. если будут наработки какие-нибудь, делитесь. Меня эта Логика тоже интересует

    Соответственно в коде ST тоже поменяйте crc := 16#FFFF; на crc := 16#0;
    Код Си вроде тоже тогда соотвествует ST (проверял только оскатовской бибкой)
    Последний раз редактировалось melky; 10.06.2014 в 19:42.

  7. #17
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    melky, спасибо.
    Я через него тоже пробовал рассчитывать. Как и через онлайн калькулятор.
    Меня вот эта строка смущает в руководстве:
    if(crc & 0x8000) crc = (crc << 1) ^ 0x1021;

    Может все таки не стандартный алгоритм подсчета CRC?

    Придется Си учить

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

    По умолчанию

    приборист это проверка отрицательности числа, проверка старшего разряда на 1. Не знаю зачем, видимо так надо при расчете контрольной суммы., в такие дебри я не вдавался.

    то есть проверяется старший бит, если он равен 1, то происходит сдвиг на 1 бит и ксорирование на полином. точнее на маску полинома.
    В общем не забивайте голову.
    Последний раз редактировалось melky; 10.06.2014 в 19:52.

  9. #19
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    приборист я пробовал при помощи crc_gen расчитывать из зеленого, не то получается. где-то ошибка сидит.

    Выставьте init 16#0 и вы получите правильную контрольную сумму из расчетного поля.
    Точно, вот она.
    Спасибо огромное.

    Соответственно в коде ST тоже поменяйте crc := 16#FFFF; на crc := 16#0;
    Код Си вроде тоже тогда соотвествует ST (проверял только оскатовской бибкой)
    Поменял в функции - тоже заработало.

    Цитата Сообщение от melky Посмотреть сообщение
    з.ы. если будут наработки какие-нибудь, делитесь. Меня эта Логика тоже интересует
    Ну пока что научился нормально её подсоединять по рс232 к компу, а то с оптопортом вечный гемморой
    Теперь стабильная связь и можно параметры читать\записывать.

    Сейчас определюсь до конца с параметрами (чтение архивов и тд)
    А дальше надо будет пробовать несколько приборов в одну сеть и допиливать под свои нужды.

    P.S.
    Уже подумывал все необходимые запросы просмотреть сниффером, и записать все CRC
    Но теперь ясно как её считать. Еще раз спасибо.
    Последний раз редактировалось приборист; 10.06.2014 в 20:07.

  10. #20

    По умолчанию

    Всем добрый день! Пишу прогу для считывания данных в режиме master-slave с СПГ-761, прибора нет, есть только документация. Исходя из документации и сообщений прочитанных выше так и не понял что должно быть в байтах DAD и SAD и DataHead. Подскажите бестолковому плиз чему они равны

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. СП-270 и ЛОГИКА
    от приборист в разделе Панели оператора (HMI)
    Ответов: 14
    Последнее сообщение: 05.10.2018, 15:47
  2. ПЛК100 + "Логика" СПТ943
    от kristow в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 06.08.2018, 16:37
  3. САУ-МП алгоритм 20: логика работы
    от Roman62rus в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 09.08.2013, 11:58
  4. Нечеткая логика в CoDeSys
    от Fallensky в разделе ПЛК1хх
    Ответов: 38
    Последнее сообщение: 09.07.2011, 14:01

Ваши права

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