Страница 223 из 1044 ПерваяПервая ... 123173213221222223224225233273323723 ... ПоследняяПоследняя
Показано с 2,221 по 2,230 из 10436

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

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

    По умолчанию

    petera как реализовать один IF Then на CFC я понимаю. А вот как вложенный сделать (ELSE) немного не понимаю. сделать отдельный POU на ST пока нет возможности, отдавать уже надо
    И пробема оказалась в том, что одна комбинация не успевает записать значение в modbus.
    ТО есть я просто сравниваю значение Reg1 c Reg1slave1 и тут же пишу в Reg1 и Reg1slаvе2 (при помощи move c en входом, на en вход идет bool сравнения) и происходит странность. Переменная Reg1 записывается, а в Regslave2 значение отправиться не успевает....

    Как на картинке в посту http://www.owen.ru/forum/showthread....l=1#post122480

    at1 - это Reg1slave1
    atp1 - это Reg1
    atcp1 - это Regslave2 - так вот эта переменная не успевает отправиться в регистр почему-то. Хотя то, что оно не успевает отправиться в само устройство понятно, мастер tcp опрашивает раз в 1 сек регистры. Но внутри ПЛК Universal Modbus Slave device ведь должен восприниматься просто как обычные переменные, а уж когда их считает мастер проблема не ПЛК. Тем более запись регистра мастером только по запросу происходит....

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    petera как реализовать один IF Then на CFC я понимаю. А вот как вложенный сделать (ELSE) немного не понимаю. сделать отдельный POU на ST пока нет возможности, отдавать уже надо
    И пробема оказалась в том, что одна комбинация не успевает записать значение в modbus.
    ТО есть я просто сравниваю значение Reg1 c Reg1slave1 и тут же пишу в Reg1 и Reg1slаvе2 (при помощи move c en входом, на en вход идет bool сравнения) и происходит странность. Переменная Reg1 записывается, а в Regslave2 значение отправиться не успевает....

    Как на картинке в посту http://www.owen.ru/forum/showthread....l=1#post122480

    at1 - это Reg1slave1
    atp1 - это Reg1
    atcp1 - это Regslave2 - так вот эта переменная не успевает отправиться в регистр почему-то. Хотя то, что оно не успевает отправиться в само устройство понятно, мастер tcp опрашивает раз в 1 сек регистры. Но внутри ПЛК Universal Modbus Slave device ведь должен восприниматься просто как обычные переменные, а уж когда их считает мастер проблема не ПЛК. Тем более запись регистра мастером только по запросу происходит....
    так выглядит на CFC, то что предложил petera

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

    По умолчанию

    Возможно должно быть так?
    Вложение 10628
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Вообще-то я не понимаю как может быть
    так вот эта переменная не успевает отправиться в регистр почему-то. Хотя то, что оно не успевает отправиться в само устройство понятно, мастер tcp опрашивает раз в 1 сек регистры. Но внутри ПЛК Universal Modbus Slave device ведь должен восприниматься просто как обычные переменные, а уж когда их считает мастер проблема не ПЛК. Тем более запись регистра мастером только по запросу происходит....
    Возможно мастер tcp пишет в slave(в ПЛК) значения не по изменению, а с тем же периодом 1с? Тогда только разделение регистров на чтение и запись для этого мастера.
    А нельзя попробовать без всяких программ, прямо в конфигурации Modbus Slave из кодесиса просто попробовать менять значения, будут ли они записываться для мастера TCP или он не даст их изменить из-за того, что все время сам пишет в этот регистр?
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Спасибо, попробую и так и так. А про метки то я и забыл....
    petera Проверял, временные параметры стоят 0.0 секунд, то есть запись только по запросу со стороны мастера.
    Так дело в том, что сперва на выходе move висело две переменных Reg1 и Regslave2 значение из Regslave1. Почему-то Regslave2 не меняет значение. Я просто убрал Regslave2 и в конце программы поставил Reg1 записать в Regslave2 и так работало.

    А может просто из-за того, что накрутил что-то и она опять переписывалась на родное значение, выйду на работу буду пробовать...

  6. #2226
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    petera сделать отдельный POU на ST пока нет возможности, отдавать уже надо
    А так выглядит использование блока, который предложил petera. Там на один вход подсоединяете регистр первого слэйва на второй регистр второго слэйва и все.

  7. #2227
    Пользователь Аватар для Ryzhij
    Регистрация
    15.04.2013
    Адрес
    Рязань
    Сообщений
    918

    По умолчанию За кем будет "заднее" слово?

    Цитата Сообщение от petera Посмотреть сообщение
    Код:
    PROGRAM PLC_PRG
    VAR
        Reg1:WORD; (*Промежуточная переменная*)
    END_VAR
    
    IF Reg1 <> Reg1slave1 THEN
        Reg1:=Reg1slave1;
        Reg1slave2:=Reg1;
    ELSE
    IF Reg1 <> Reg1slave2 THEN
        Reg1:=Reg1slave2;
        Reg1slave1:=Reg1;
    END_IF
    END_IF
    Используется промежуточная переменная Reg1. В ней хранится предыдущее значение, полученное ранее из любого слейва.
    Всё замечательно, но нам надо бы ещё расставить приоритеты.
    Из-за абсолютной несинхронности обменов по сетям будут возникать ситуации, когда в течение одного цикла поменяются значения из обоих источников.
    Кого будем слушаться? Кто у нас сегодня за "гегемона"?

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

    По умолчанию

    Цитата Сообщение от Ryzhij Посмотреть сообщение
    Всё замечательно, но нам надо бы ещё расставить приоритеты.
    Из-за абсолютной несинхронности обменов по сетям будут возникать ситуации, когда в течение одного цикла поменяются значения из обоих источников.
    Кого будем слушаться? Кто у нас сегодня за "гегемона"?
    начнем с того что не в контрстрайк играем, оператор задав уставку не соревнуется с другим оператором кто из них главнее, удачливее и пр.
    ситуация может возникнуть, но грамотно написанная визуализация покажет применились Ваши действия или их "перебил" кто то другой

  9. #2229
    Пользователь Аватар для Ryzhij
    Регистрация
    15.04.2013
    Адрес
    Рязань
    Сообщений
    918

    По умолчанию

    Это Вы потом оператору(-рам) расскажете )))
    А я с такой лабудой по жизни уже сталкивался.
    Но, похоже, у каждого свой путь и свои персональные грабли.

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

    По умолчанию

    чего мне им рассказывать, у меня в последнее время все объекты идут с дополнительным удаленным операторским местом и бывает даже не с одним

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

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

Ваши права

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