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

Тема: Передача данных СП310 на ПР200

  1. #11

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Вложение гляньте...

    Поэтому я и предложил использовать ещё 1, для отправки, и 1 для получения, в которых будет условный адрес этой переменной. А на стороне пр или плк это надо расшифровать.
    Этот вариант может не проканать. Мне не подошел, номер меняется достаточно часто, и задается ПР , задействованы все сетевые. Передаваемые иногда путались. И это на столе. Где нет помех и прочих возможных проблем со связью.

  2. #12

    По умолчанию

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

  3. #13

    По умолчанию

    Когда все в одной как то попроще и надежнее, в принципе 10 разрядов вполне хватает для передачи условных температур и т.п. Если у ТС этого диапазона хватает, то 6 разрядов для номера остается. Все 50 можно надежно передать.

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

    По умолчанию

    Несколько лет назад я предлагал передавать одним регистром до 128 переменных, в смысле, регистр делится на два байта, в одном из байтов передаём данные во втором служебную информацию(значение 0-255), чтобы потом собрать исходные данные из двух байт данных разных посылок. Можно и 32 битные переменные пересылать, только их будет в 2 раза меньше, до 64(включительно) и собирать их придётся из 4 байт данных разных посылок! Короче, всё очень просто, но идея старая! Да, чуть не забыл, предварительно данные надо подготовить, в смысле, разбить на байты и каждый байт данных будет передаваться отдельной посылкой! Надеюсь понятно расписал свою идею?!
    Последний раз редактировалось Сергей0308; 12.01.2024 в 00:11.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #15

    По умолчанию

    Здравствуйте. Решил организовать последовательную запись переменных с панели СП310 (мастер) в ПР200 (слейв) при помощи четырех регистров следующим образом:
    - СП310 отправляет на ПР200 номер переменной (регистр 4х522) и данные (регистр 4х520)
    - ПР200 считывает эти значения и записывает их в другие сетевые регистры, которые используются для проверки: номер переменной (регистр 4х523), данные (регистр 4х521). Помимо этого, полученные данные по средством демультиплексора записываются в необходимые переменные программы контроллера.
    - СП310 считывает регистры, которые используются для проверки и производит их сравнения с отправленными (4х521 сравнивается с 4х520, а 4х523 сравнивается с 4х522). Если все Ок, то переходит к отправке следующих параметров. А если нет, то производит их перезапись пока при проверке они не совпадут.
    На полноценную передачу одного параметра с его проверками в «домашних» условиях у меня уходит примерно 0,1 сек. (отправка номера – пауза 20мс (по умолчанию задержка отправки на СП310) – отправка данных – пауза 20 мс – считывание номера - пауза 20 мс – считывание данных пауза 20 мс).
    Возникает ситуация что контроллер получил с СП310 номер переменой 4х522, а данные с 4х520, еще не пришли, так как пауза между запросами составляет 20 мс, а цикл программы - 5 мс. И на 15 мс данные в переменной на контроллере будут не те которые ми ожидаем. Программа за это время исполниться три раза как минимум, а могут быть моменты что в условиях помех или при других факторах передача по RS485 может подвиснуть, и программа будет работать с неправильными данными намного дольше.

    Может вы сталкивались с данной проблемой и подскажите как лучше выйти из неё? Или все-таки нужно вводить переменную которая будет отправлять разрешение на запись в ПР200, и еще переменную которая будет свидетельствовать о успешной записи на ПР200 (будет передаваться на СП310)?

  6. #16

    По умолчанию







    К предыдущему посту
    Вложения Вложения

  7. #17

    По умолчанию

    Цитата Сообщение от Ivanvn Посмотреть сообщение
    Здравствуйте. Решил организовать последовательную запись переменных с панели СП310 (мастер) в ПР200 (слейв) при помощи четырех регистров следующим образом:
    - СП310 отправляет на ПР200 номер переменной (регистр 4х522) и данные (регистр 4х520)
    Почему вы работаете в древних версиях?
    Как часто записываются данные в PFW регистры панели? Зачем такие проблемы с передачей? У вас регистров не хватает в ПР ?
    Последний раз редактировалось kondor3000; 14.02.2024 в 15:13.

  8. #18

    По умолчанию

    Данные записываться непостоянно - может раз в неделю. Скорость записи не так важна, как правильная передача без сбоев. Сетевых переменных в панели не хватает, раньше приходилось некоторые переменные объединять в один регистр и передавать. Но когда нужно было ввести новою переменною и все было занято, то опять .... процесс деления и уплотнения. А если буду передавать последовательно, то раз и навсегда от этой проблемы избавлюсь.

    Проект который скинул - это версия для отладки передачи. По факту данных для передачи намного больше чем 32 шт.
    Последний раз редактировалось Ivanvn; 14.02.2024 в 16:07.

  9. #19

    По умолчанию

    Цитата Сообщение от Ivanvn Посмотреть сообщение
    Данные записываться непостоянно - может раз в неделю. Скорость записи не так важна, как правильная передача без сбоев. Сетевых переменных в панели не хватает, раньше приходилось некоторые переменные объединять в один регистр и передавать. Но когда нужно было ввести новою переменною и все было занято, то опять .... процесс деления и уплотнения. А если буду передавать последовательно, то раз и навсегда от этой проблемы избавлюсь.
    Чем вас не устроила выложенная версия на 1 странице? Задали номер рецепта, например 1 и передали 2-4 параметра для этого рецепта?
    При чём никаких макросов и проблем. Всё просто и всё работает как надо.
    Последний раз редактировалось kondor3000; 14.02.2024 в 16:10.

  10. #20
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Цитата Сообщение от Ivanvn Посмотреть сообщение
    Здравствуйте. Решил организовать последовательную запись переменных с панели СП310 (мастер) в ПР200 (слейв) при помощи четырех регистров следующим образом:
    - СП310 отправляет на ПР200 номер переменной (регистр 4х522) и данные (регистр 4х520)
    - ПР200 считывает эти значения и записывает их в другие сетевые регистры, которые используются для проверки: номер переменной (регистр 4х523), данные (регистр 4х521). Помимо этого, полученные данные по средством демультиплексора записываются в необходимые переменные программы контроллера.
    - СП310 считывает регистры, которые используются для проверки и производит их сравнения с отправленными (4х521 сравнивается с 4х520, а 4х523 сравнивается с 4х522). Если все Ок, то переходит к отправке следующих параметров. А если нет, то производит их перезапись пока при проверке они не совпадут.
    На полноценную передачу одного параметра с его проверками в «домашних» условиях у меня уходит примерно 0,1 сек. (отправка номера – пауза 20мс (по умолчанию задержка отправки на СП310) – отправка данных – пауза 20 мс – считывание номера - пауза 20 мс – считывание данных пауза 20 мс).
    Возникает ситуация что контроллер получил с СП310 номер переменой 4х522, а данные с 4х520, еще не пришли, так как пауза между запросами составляет 20 мс, а цикл программы - 5 мс. И на 15 мс данные в переменной на контроллере будут не те которые ми ожидаем. Программа за это время исполниться три раза как минимум, а могут быть моменты что в условиях помех или при других факторах передача по RS485 может подвиснуть, и программа будет работать с неправильными данными намного дольше.

    Может вы сталкивались с данной проблемой и подскажите как лучше выйти из неё? Или все-таки нужно вводить переменную которая будет отправлять разрешение на запись в ПР200, и еще переменную которая будет свидетельствовать о успешной записи на ПР200 (будет передаваться на СП310)?
    Я не пробовал, но возможно можно в ПРку передать целое 32-битное число, тогда просто собираете число, где первый регистр - это номер переменной, а второй - данные и отправляете одной посылкой

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

Похожие темы

  1. Ответов: 26
    Последнее сообщение: 31.01.2023, 17:42
  2. Ответов: 50
    Последнее сообщение: 25.01.2022, 16:07
  3. Ответов: 3
    Последнее сообщение: 23.06.2021, 13:22
  4. Передача данных СП310-ОРС-сервер ОВЕН(новый)
    от KRUPSKIY в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 19.11.2018, 07:59
  5. Передача данных СПК107 на СМИ-1. Тип данных REAL.
    от ByuT в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 23.01.2016, 23:35

Ваши права

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