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

Тема: ПЛК100 + ИП320

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

    По умолчанию

    Цитата Сообщение от rox Посмотреть сообщение
    Т.к. есть еще модем пм-01, тут на форуме прочитал что для его стабильной работы лучше поставить Мин. время цикла 10мс. Так и сделал.
    10мс это особенность работы конкретной библиотеки при использовании UNM, на основе syslibcom такое время не обязательно, хотя и не в этом дело
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #12
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,871

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    через библиотеки,зная какой экран открыт,можно посылать нужные данные,когда панель слейв
    Цитата Сообщение от petera Посмотреть сообщение
    В принципе даже через конфигуратор это можно тоже сделать.
    Цитата Сообщение от capzap Посмотреть сообщение
    попытайтесь, надо же по времени обновлять данные и только те которые нужны
    Ключевые слова здесь "зная какой экран открыт,можно посылать нужные данные". В стандартном мастере из конфигурации можно и по команде обмен сделать. Для каждого экрана свой Universal Modbus Device с управлением по команде, с нужными для экрана регистрами, вот и будет "обновлять данные и только те которые нужны"
    Последний раз редактировалось petera; 21.11.2014 в 09:48.

  3. #13
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,871

    По умолчанию

    Цитата Сообщение от rox Посмотреть сообщение
    не думаю что это может тормозить обмен по 485 интерфейсу. Если данные не пришли, значить отправит старые значения.
    Именно он и тормозит. Чтобы отправить старые значения, нужно обработать отправку всех предыдущих переменных, со всеми вытекающими(см. выше). Это когда еще мастер доберется до состояния кнопки квитирования.
    Цитата Сообщение от rox Посмотреть сообщение
    500мс это уже результат экспериментов. По поводу Work mode, на панели отображается архив приходящих сообщений. Т.е. при появлении сообщения весь архив переписывается, соответственно большее количество регистров меняется.
    И где здесь противоречие? Это что у Вас сообщения приходят каждые 100 мс?. А так, как я предлагаю, пришло новое сообщение - переписывается весь архив однократно, а дальше ПЛК только читает состояние кнопки квитирования. И так будет до прихода следующего сообщения.
    Последний раз редактировалось petera; 21.11.2014 в 10:08.

  4. #14
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,281

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    . Для каждого экрана свой Universal Modbus Device с управлением по команде, с нужными для экрана регистрами, вот и будет "обновлять данные и только те которые нужны"
    Еще вариант - сужаем область обмена
    UMD 1. String (сами же юзали). А в него загоняем данные соответственно экрану,by change
    UMD 2 чтение экрана, poll time
    И команды не нужны.
    var
    a : struct_a; //вне зависимости от кол-ва нужных данных - проще подогнать размер всех
    b : struct_b; //структур под размер str в области обмена. Ненужное забить пустыми полями
    ..
    ---------------------------
    case СurrentScreen of //сюда читаем номер экрана
    ..: p := adr(a);
    ..: p := adr(b);
    ..:
    end_case
    sysmemcpy(adr(str),p,размер_блоков_константа); //ессно - всё ровняем и проверяем

    PS
    Чисто для информации. Для ИП320 - 38400 существенно оптимальней

  5. #15
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,871

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Еще вариант - сужаем область обмена
    UMD 1. String (сами же юзали). А в него загоняем данные соответственно экрану,by change
    UMD 2 чтение экрана, poll time
    И команды не нужны.
    var
    a : struct_a; //вне зависимости от кол-ва нужных данных - проще подогнать размер всех
    b : struct_b; //структур под размер str в области обмена. Ненужное забить пустыми полями
    ..
    ---------------------------
    case СurrentScreen of //сюда читаем номер экрана
    ..: p := adr(a);
    ..: p := adr(b);
    ..:
    end_case
    sysmemcpy(adr(str),p,размер_блоков_константа); //ессно - всё ровняем и проверяем

    PS
    Чисто для информации. Для ИП320 - 38400 существенно оптимальней
    Согласен.
    Я ТС самый простой способ ускорения реакции на кнопки предложу
    Дело в том, что если в конфигурации несколько UDM, то мастер обрабатывает по одной переменной из каждого UMD по очереди. Т.е сначала одну переменную из одного UMD, затем одну переменную из второго UMD, опять одну переменную из одного UMD, затем одну переменную из второго UMD и т.д. Если количество переменных в UMD разное, то переменные одного UMD фактически будут опрашиваться чаще. Даже при одинаковом времени Polling time для обоих UMD.

    Если среди этих 50 переменных подавляющее большинство записываются в панель (Т.е. при появлении сообщения весь архив переписывается, соответственно большее количество регистров меняется). То достаточно завести второй Universal Modbus Device c предположим 8bit input module, который будет читать из панели состояние кнопок и оставить все остальные регистры в первом UMD.
    Теперь даже для режима работы
    By poll time должно быть существенное ускорение реакции на нажатие кнопок.
    Запись первой переменной
    Чтение состояния кнопок
    Запись второй переменной
    Чтение состояния кнопок
    Запись третей переменной
    Чтение состояния кнопок
    ...................................
    Запись n-ой переменной
    Чтение состояния кнопок
    Затем сначала, в той же последовательности.


    Последний раз редактировалось petera; 21.11.2014 в 12:33.

  6. #16

    По умолчанию

    Переписал проект. ИП-320 - мастер плк-100 слейв. Все "полетело".

  7. #17

    По умолчанию

    Добрый вечер или день. Не подскажете ссылку, где почитать теорию, чтобы понять суть подключения к ПЛК других устройств, в частности инд. панели, а то я в этом деле начинающий. Написал первую прогу на ld с таймерами - не будешь же каждый раз тащить ПЛК к компу, чтобы изменить уставки таймера. Вот и решил прицепить что-то типа ип-320, но как это сделать нет малейшего понятия. Спасибо.

  8. #18
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,871

    По умолчанию

    Цитата Сообщение от AlexKry Посмотреть сообщение
    Добрый вечер или день. Не подскажете ссылку, где почитать теорию, чтобы понять суть подключения к ПЛК других устройств, в частности инд. панели, а то я в этом деле начинающий. Написал первую прогу на ld с таймерами - не будешь же каждый раз тащить ПЛК к компу, чтобы изменить уставки таймера. Вот и решил прицепить что-то типа ип-320, но как это сделать нет малейшего понятия. Спасибо.
    Смотреть примеры http://www.owen.ru/forum/showthread.php?t=13581

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

Похожие темы

  1. ПЛК100+ИП320
    от Frayl в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 25.03.2013, 07:59
  2. ПЛК100 + ИП320 + FLOAT
    от xГеоргийx в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 18.06.2012, 17:40
  3. ИП320 + ПЛК100
    от Talotim в разделе ПЛК1хх
    Ответов: 39
    Последнее сообщение: 04.02.2012, 19:41
  4. помогите плк100+ип320
    от pelya в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.11.2009, 18:23
  5. плк100 и ип320
    от Сергей_Cyber в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 14.09.2009, 11:21

Ваши права

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