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

Тема: Ограничение памяти для обмена по RS-485

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

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    С панелью, в которой нет скриптов таких фокусов не пройдет. Ну и если в верхнем уровне идет запрос по четким регистрам тоже такой фокус не пройдет.
    Скрипты есть. С ними можно работать.

    Например передавать по 51 регистру, первый регистр это множитель на 50 в скрипте, остальные 50 это данные.
    Допустим все данные из ПР загнали в массив.

    array[51] = getData.... 'ПР 200', 3x, 512, 51 ...

    затем раскладываем эти данные по ячейкам с множителем из первого элемента массива.

    for i = 0 to 50
    SetData(array[i+1], ‚Local HMI‛, LW, array[0]*50 + i, 1)
    next i

    как то так в общих чертах.

    Получается набиваете 50 регистров данными в ПР с 513 по 563, а потом ставите 512 = 1
    панель переписывает 50 регистров к себе в память с 50 по 100
    потом опять в ПР набираете данные с 513 по 563 и в 512 ставите 2
    панель переписывает 50 регистров к себе в память с 100 по 150
    и т.д. нужное кол-во раз, хоть 1000 переписывайте.
    я бы еще из ПР передавал бит готовности по которому и запускал скрипт в панели, тогда вообще автомат с макс. скоростью.

    про скрипты ftp://ftp.weintek.com/mt8000/eng/Use..._Reference.pdf
    Последний раз редактировалось Андрей Посохов; 20.06.2018 в 16:50. Причина: упоминание конкурентов

  2. #2
    Пользователь
    Регистрация
    08.04.2015
    Адрес
    Воронежская область
    Сообщений
    1,251

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Скрипты есть. С ними можно работать.

    Например передавать по 51 регистру, первый регистр это множитель на 50 в скрипте, остальные 50 это данные.
    Допустим все данные из ПР загнали в массив.
    А в ПР200 использовать функции SEL или FSEL (6 на каждую сетевую переменную при 300). Но только последний Макрос в схеме будет очень длинный ( представьте например 300 переменных) но Я думаю на высоту макроса
    ограничения не накладываются. Но где то на форуме читал что сетевые переменные хранятся
    в энерго-независимой памяти ( хотя в этом сомневаюсь ) поскольку нельзя в энерго- независимую
    память записывать сколь угодно много раз (меняя значения) в отличии от энерго-зависимой.
    Последний раз редактировалось Алексеев; 20.06.2018 в 19:51.

  3. #3

    По умолчанию

    Цитата Сообщение от Алексеев Посмотреть сообщение
    А в ПР200 использовать функции SEL или FSEL (6 на каждую сетевую переменную при 300). Но только последний Макрос в схеме будет очень длинный ( представьте например 300 переменных)
    Сомнительно что ПР200 отвечает столь длинными пакетами. 12 регистров, длиннее не отвечает. Если мастер ПЛК и может делать групповые запросы, то этот фокус возможен. А ПР200 не делает групповых запросов, поэтому в связке из ПР200 мультиплексирование обмена по RS-485 сделать нельзя.

  4. #4
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Алексеев Посмотреть сообщение
    А в ПР200 использовать функции SEL или FSEL (6 на каждую сетевую переменную при 300). Но только последний Макрос в схеме будет очень длинный ( представьте например 300 переменных) но Я думаю на высоту макроса
    ограничения не накладываются. Но где то на форуме читал что сетевые переменные хранятся
    в энерго-независимой памяти ( хотя в этом сомневаюсь ) поскольку нельзя в энерго- независимую
    память записывать сколь угодно много раз (меняя значения) в отличии от энерго-зависимой.
    Как писать в ПР не знаю, туда не лезу и не хочу. Как писать на клиенте (slave) дело хозяйское, со стороны панели (master) всё достаточно просто и сомневаюсь более простых решениях чем это.
    Если передавать не 51, то по 11. хоть по сколько, можно разбить на подзапросы и вертеть если хотеть.

  5. #5

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Как писать в ПР не знаю, туда не лезу и не хочу. Как писать на клиенте (slave) дело хозяйское, со стороны панели (master) всё достаточно просто и сомневаюсь более простых решениях чем это.
    Если передавать не 51, то по 11. хоть по сколько, можно разбить на подзапросы и вертеть если хотеть.
    Спасибо, буду разбираться, пытаться претворить в жизнь. А с какой скоростью лучше менять множитель в 512 ? Как считаете?
    Если у кого-нибудь еще будут какие-нибудь идеи-выслушаю с радостью
    Последний раз редактировалось ivydy; 21.06.2018 в 13:21.

  6. #6

    По умолчанию

    Цитата Сообщение от ivydy Посмотреть сообщение
    Спасибо, буду разбираться, пытаться претворить в жизнь. А с какой скоростью лучше менять множитель в 512 ? Как считаете?
    Если у кого-нибудь еще будут какие-нибудь идеи-выслушаю с радостью
    А можете рассказать о Вашей системе, что она делает, и сколько реально необходимо сетевых переменных, и вообще на сколько сложный алгоритм и какое время цикла в программе?
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

Похожие темы

  1. Ограничение значения
    от Wanted в разделе Master SCADA 3
    Ответов: 5
    Последнее сообщение: 29.07.2020, 14:35
  2. проблема обнуления памяти обмена
    от ольга в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 09.11.2010, 17:04
  3. ограничение тока
    от kuguar в разделе Подбор Оборудования
    Ответов: 12
    Последнее сообщение: 07.09.2009, 10:39

Метки этой темы

Ваши права

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