Страница 916 из 1044 ПерваяПервая ... 4168168669069149159169179189269661016 ... ПоследняяПоследняя
Показано с 9,151 по 9,160 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #9151

    По умолчанию

    Добрый день.
    ПЛК110(М02) , Codesys v2

    нужно упаковывать из двух WORD полученных по MODUS в один DWORD (приходят старший - младший биты)

    в Codesys v3 есть библиотека CAA Libraries с блоком MEM.PackWordsToDword которая это реализует.

    Есть ли аналог в v2 Codesys ? или как-то еще можно реализовать упаковывание ?

    Спасибо

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

    По умолчанию

    Есть сдвиги и ADD если штатные FBD использовать, ну или кодом на ST

  3. #9153

    По умолчанию

    Цитата Сообщение от Alex_A Посмотреть сообщение
    Добрый день.
    ПЛК110(М02) , Codesys v2

    нужно упаковывать из двух WORD полученных по MODUS в один DWORD (приходят старший - младший биты)

    в Codesys v3 есть библиотека CAA Libraries с блоком MEM.PackWordsToDword которая это реализует.

    Есть ли аналог в v2 Codesys ? или как-то еще можно реализовать упаковывание ?

    Спасибо
    FUNCTION_BLOCK wordsToDword
    VAR_INPUT
    word0: WORD;
    word1: WORD;
    END_VAR

    VAR
    p: POINTER TO WORD;
    p1: POINTER TO WORD;
    END_VAR

    VAR_OUTPUT
    Out_Data: DWORD;
    END_VAR

    p1:=ADR(Word0); p:=ADR(Out_Data); p^:=p1^;
    p1:=ADR(Word1); p:=p+2; p^:=p1^;

  4. #9154

    По умолчанию

    Цитата Сообщение от Alex_A Посмотреть сообщение
    Добрый день.
    ПЛК110(М02) , Codesys v2

    нужно упаковывать из двух WORD полученных по MODUS в один DWORD (приходят старший - младший биты)

    в Codesys v3 есть библиотека CAA Libraries с блоком MEM.PackWordsToDword которая это реализует.

    Есть ли аналог в v2 Codesys ? или как-то еще можно реализовать упаковывание ?

    Спасибо
    Или так:

    FUNCTION PackWordsToDword : DWORD
    VAR_INPUT
    wHighWord:WORD;
    wLowWord:WORD;
    END_VAR

    PackWordsToDword := SHL(WORD_TO_DWORD(wHighWord),16) OR WORD_TO_DWORD(wLowWord);

  5. #9155

    По умолчанию

    Цитата Сообщение от Alex_A Посмотреть сообщение
    Добрый день.
    ПЛК110(М02) , Codesys v2

    нужно упаковывать из двух WORD полученных по MODUS в один DWORD (приходят старший - младший биты)

    в Codesys v3 есть библиотека CAA Libraries с блоком MEM.PackWordsToDword которая это реализует.

    Есть ли аналог в v2 Codesys ? или как-то еще можно реализовать упаковывание ?

    Спасибо
    В Codesys v2.3 можно вообще ничего не упаковывать. Просто назвать переменную состоящую из двух WORD стоящих по порядку, например Dw1 : DWORD;
    ( или Dw1 AT %QB12.1.0 : DWORD; ) и читать как DWORD.
    Здесь обсуждались перестановки байт, регистров в переменной полученной по модбас. Одну и туже переменную из двух WORD, можно прочитать и как DWORD и как REAL https://owen.ru/forum/showthread.php?t=36596
    Пример склейки REAL из двух WORD, есть в моём примере https://owen.ru/forum/showthread.php?t=35094#10
    Последний раз редактировалось kondor3000; 21.11.2022 в 13:55.

  6. #9156

    По умолчанию

    Добрый день,
    ПЛК110(М02), Codesys v2

    Самопроизвольно перезагружается в течении 15 минут работы, при удалении/недоступности для опроса slave устройств modbus проблема исчезает
    Параметры modbus Master:
    com speed: 38400
    Parity: No parity
    Data bits: 8 bits
    Stop len: 1 bit
    Interface type: RS485
    Frame oriented: RTU
    Framing time ms: 100
    Visibility: No

    Настройки slave устройств:
    NetMode: Serial
    Address: 5 - 8 (4 устройства)
    WorkMode: ByPollTime
    PollingTime: 100ms на 2 устройствах 1000ms на других 2 устройствах
    AmntRepeat: 3
    ByteSequense: Trace_mode

    4 устройства: 2х МВ110-8а, Частотный преобразователь ESQ600 , Частотный преобразователь instart LCI, неважно включен движок или нет все равно идет сброс

    второй modbus порт работает в режиме slave, подключена панель СП307
    настройки те же за исключением:
    com speed: 115200
    framing time: 200ms

    с ней обмен идет на 60 регистров (120 байт)

    Пробовал добавлять основную задачу написанную на CFC в конфигурацию задач с циклическим типом и интервалом 200ms и сторожевым таймером 10с восприимчивость 5

    Проверки на перекрытие памяти и вообще все проверки которые можно там выставить при комплияции выставил.

    Перепробовал все что нашел по этому поводу не помогло поэтому пишу сюда.

    Времена циклов менял от меньших к большим в надежде решения проблемы т.к. система не слишком требовательна ко времени.
    Первый проект в codesys )

    P.S. пожалел что использовал CFC как язык для основной задачи, потому что в процессе разбирательств со всем и вся гораздо больше понравился ST (CFC выбрал потому что до этого много программировал ПР200 в owenlogic и он с виду похож)
    Подскажите как правильно выгрузить проект если это нужно

  7. #9157

    По умолчанию

    Цитата Сообщение от kirill_bykov Посмотреть сообщение
    Добрый день,
    ПЛК110(М02), Codesys v2
    Самопроизвольно перезагружается в течении 15 минут работы, при удалении/недоступности для опроса slave устройств modbus проблема исчезает
    Подскажите как правильно выгрузить проект если это нужно
    Если работает при отключенных слейвах, то в них и проблема, возможно помехи с ПЧ идут. Какие меры проведены, для помехоустойчивости линии?
    Проверяйте подключением слейвов по очереди и смотрите на каком отключается.
    Проект можно выложить в расширенном режиме. Вместо лишней писанины, лучше сделать скрины. Пишите конкретно по проблеме, а не всё сразу.
    Все сторожевые таймеры свои удалите нафик.
    CFC абсолютно не при чём, как вам удобнее так и пишите программу.
    Последний раз редактировалось kondor3000; 22.11.2022 в 10:45.

  8. #9158

    По умолчанию

    Скорость попробуй снизить до 19200. Подключи к порту RS-485 сначала один МВ110-8а, посмотри результат. Если все нормально, то подключи второй МВ110-8а. Проверь если связь когда на линия только один частотник. Оба частотника сразу не подключай. Резисторы 120 Ом на концах линии связи есть ? Какова топология сети RS-485 ? Должно быть по цепочке.
    Последний раз редактировалось IVM; 22.11.2022 в 15:51.

  9. #9159

    По умолчанию

    ПЛК110(М02), Codesys v2

    Самопроизвольно перезагружается в течении 15 минут работы, при удалении/недоступности для опроса slave устройств modbus проблема исчезает
    Параметры modbus Master:
    com speed: 38400
    .........
    4 устройства: 2х МВ110-8а, Частотный преобразователь ESQ600 , Частотный преобразователь instart LCI,
    чисто академический интерес - зачем вешать такое тормозное устройство как МВ110-8а да на такой скорости, какая вообще им даже в теории недоступна, да в пару к частотникам?
    тем более - что есть ПЛК110 с дыркой под Модбас ТСР, куда можно спокойно повесить панель, а свободный порт RS отдать под аналоги?
    чем скорость 38400 принципиально отличается от 9600 для тех же частотников? ничем, смысла ускорять опрос не вижу никакого, быстрого контура регулирования не получишь

    зачем так всё усложнять? лезть потом во времена опроса, в конфиг задач и чего-то там разводить....
    и причём здесь СFC?
    Последний раз редактировалось In_Da_Cher_A; 22.11.2022 в 16:52.

  10. #9160

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    зачем так всё усложнять? лезть потом во времена опроса, в конфиг задач и чего-то там разводить....
    и причём здесь СFC?
    Помехи с ПЧ точно не идут потому что перезапуск идет даже при остановленном ПЧ.

    про modbus tcp спасибо, попробую, не использовал по причине привычке к rs-485.
    не знал что мв110 тормозное устройство, если несложно предложите альтернативу
    скорости уменьшу да и попробую все что написали, но

    так и не понятно что может вызывать вообще рестарт, если есть какая то информация о том как modbus логически связан с перезапуском очень хотелось бы узнать)
    Может память переполняется срабатывает прерывание на рестарт ( такого плана информация ). Вряд ли их такое множество, что невозможно из данной информации сделать хотя бы один конкретный теоретический вывод.
    Хотелось бы решать вопросы не вслепую. Что может вызывать рестарт плк в принципе ?

    Про CFC написал чисто свои ощущения, в сравнении с ST показался слабым инструментом, может поменяю свое мнение когда-нибудь

    Спасибо за коменты, все проверю

Страница 916 из 1044 ПерваяПервая ... 4168168669069149159169179189269661016 ... ПоследняяПоследняя

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

Ваши права

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