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

Тема: Конфигурация ПЛК-Modbus (slave)- как запихнуть более 860 регистров??

  1. #1

    По умолчанию Конфигурация ПЛК-Modbus (slave)- как запихнуть более 860 регистров??

    Здравствуйте, подскажите пожалуйста такой вопрос:
    у себя в проекте для передачи данных в OPC-сервер и обратно использую регистры которые вбиваю в "Конфигурация ПЛК" => "Modbus(slave)" .
    Так вбил 860 регистров (в основном WORD, DWORD мало) - все ок, обмен хороший.При добавлении 861 регистра ПЛК уходит в СТОП или в перезагрузку - как повезет. Подозреваю, что ресурс свободных регистров, я исчерпал. Как увеличить количество регистров, так как мне не хватает - нужно еще пару сотен??????

    Может ли это быть связано с прошивкой???
    Моя:
    Безымянный.png
    Последний раз редактировалось a_gricaj; 09.10.2016 в 21:41.

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

    По умолчанию

    Если не требуется высокого быстродействия и с одной стороны можно "упаковать", а с другой "распаковать" можно передавать одним регистром множество переменных уже писал об такой идее: http://www.owen.ru/forum/showthread.php?t=23807&page=5
    Если один байт регистра использовать для "синхронизации", а второй для передачи данных, получится одним регистром передать 128 переменных(16 битных), то есть количество регистров сократится в 128 раз!
    Последний раз редактировалось Сергей0308; 09.10.2016 в 22:39.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #3

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Если не требуется высокого быстродействия и с одной стороны можно "упаковать", а с другой "распаковать" можно передавать одним регистром множество переменных уже писал об такой идее: http://www.owen.ru/forum/showthread.php?t=23807&page=5
    Если один байт регистра использовать для "синхронизации", а второй для передачи данных, получится одним регистром передать 128 переменный(16 битных), то есть количество регистров сократится в 128 раз!
    Упаковывать и распаковывать можно (так битовые сигналы передаю), а вот быстродействие нужно, и так теряю его на опросе пол сотни МДВВ, а если на связи с верхним уровнем буду терять так вообще ппц будет.
    А так спс, надо будет по свободе посмотреть.....
    Последний раз редактировалось a_gricaj; 09.10.2016 в 22:46.

  4. #4

    По умолчанию

    Цитата Сообщение от a_gricaj Посмотреть сообщение
    Здравствуйте, подскажите пожалуйста такой вопрос:
    у себя в проекте для передачи данных в OPC-сервер и обратно использую регистры которые вбиваю в "Конфигурация ПЛК" => "Modbus(slave)" .
    Так вбил 860 регистров (в основном WORD, DWORD мало) - все ок, обмен хороший.При добавлении 861 регистра ПЛК уходит в СТОП или в перезагрузку - как повезет. Подозреваю, что ресурс свободных регистров, я исчерпал. Как увеличить количество регистров, так как мне не хватает - нужно еще пару сотен??????

    Может ли это быть связано с прошивкой???
    Моя:
    Безымянный.png
    с прошивкой 2.15.9 - после загрузки кода в ПЛК CodeSYS отказывается повторно подключаться к ПЛК, в чем тут еще проблема????? На 2.14.0 такого не было.....
    А ОРС видит регистры которые в плк я не программировал и начала валится связь, прикольненько.......
    Последний раз редактировалось a_gricaj; 09.10.2016 в 23:20.

  5. #5

    По умолчанию

    Такое поведение связано ввыходом за пределы памяти I/O.Вы переменные в конфигурации именуете или обращаетесь по %Q.x.x.x?
    Тролль-наседка, добрый, нежный и ласковый

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

    По умолчанию

    Цитата Сообщение от a_gricaj Посмотреть сообщение
    Подозреваю, что ресурс свободных регистров, я исчерпал. Как увеличить количество регистров, так как мне не хватает - нужно еще пару сотен??????
    переходить на библиотечное исполнение слейва и переменные держать не в конфигураторе, а в структуре в глобальных данных или ФБ
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  7. #7

    По умолчанию

    Именовал, а нужно было %Q.x.x.x???
    Достаточно ли будет просто удалить имена в конфигураторе, а в ФБ сделать например так:

    L7DelayActAlarmFeedbackActuator:= %QW7.679.0;
    L7DelayActAlarmFeedbackAutomaton:= %QW7.680.0;
    L7DelayActAlarmPositon:=%QW7.681.0;
    L7FromScadaControl:=%QW7.682.0;
    L7FromScadaSettings:=%QW7.683.0;

    %QW7.684.0:=L7ToScadaActiveTimeToAlarmPosition;
    %QW7.685.0:=L7ToScadaStatus;

    И как тогда правильно понимать последнюю букву "М" в марке контроллера????
    Последний раз редактировалось a_gricaj; 10.10.2016 в 08:42.

  8. #8

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    переходить на библиотечное исполнение слейва и переменные держать не в конфигураторе, а в структуре в глобальных данных или ФБ
    Где почитать о " библиотечное исполнение слейва " подскажите пожалуйста

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

    По умолчанию

    Цитата Сообщение от a_gricaj Посмотреть сообщение
    Где почитать о " библиотечное исполнение слейва " подскажите пожалуйста
    вот один из примеров, только надо будет вместо UDP использовать TCP-соединение и дописать ответку протокола 16 функции, чтоб всё по взрослому было
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    вот один из примеров, только надо будет вместо UDP использовать TCP-соединение и дописать ответку протокола 16 функции, чтоб всё по взрослому было
    Файл в архиве не открывается в КС

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

Похожие темы

  1. Адресация регистров Modbus-RTU, ПЛК(Slave)
    от Лёша в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 03.07.2019, 08:02
  2. ПЛК63, modbus slave, адреса регистров
    от monteg в разделе ПЛК63/73
    Ответов: 43
    Последнее сообщение: 19.06.2017, 08:46
  3. Проблема с созданием регистров ModBus(Slave) ПЛК 150
    от SDSE92 в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 08.06.2016, 13:37
  4. СП270 Slave. Чтение и запись регистров PFW
    от petera в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 02.05.2015, 18:36
  5. ПЛК 110-32M slave, libmodbus TCP, ошибка чтения регистров: Bad file descriptor
    от SerJK в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 22.04.2014, 12:12

Ваши права

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