Благодарю, ответ понятен.
Значит, буду разбираться
Вид для печати
Благодарю, ответ понятен.
Значит, буду разбираться
Добрый день. Есть подробные примеры как раз под Ваш случай: https://www.youtube.com/watch?v=7XlMjFgQkoA&
Уважаемые форумчане, привет.
Прошу подсказать следующую информацию, можно сделать эмуляцию экранов?
Я имею в виду без устройства прогнать алгоритм экрана, если можно, то как?
Простой примерчик был бы в помощь...
Заранее благодарю.
Понял, большое спасибо!
Добрый день! Прошу вас помочь разобраться с причиной торможения в режиме симуляции:
В процессе написания программы не наблюдал данных проблем. В последнее время заметил, что во время симуляции время в программе идет с задержками и рывками.
ОЛ ругался на 0 уставки в таймерах, там где у меня уставка пишется через блок записи. Проставил не нулевое значение. Далее ОЛ ругался на значение задержек различных блоков таймеры, генераторы, о том что их величина меньше установленного времени цикла. Поправил везде - не помогло. ПР102
Вопрос, возможно у меня слишком большой проект? эсппзу 17% ПЗУ11% ОЗУ12%
Количество переменных: С плав запятой - 15 Целочисленные - 2 Булевские - 37 Сетевые slave - 8 Сетевые Master - 38 (из них 11 с плавающей запятой)
около 10 таймеров, 6 Blink, 20 собственных макросов ,15 ОЛ,
На приборе задействовано 7 дискретных входов 8 аналоговых 13 дискретных выходов
Вопрос программа отрабатывает в ПР также как и в режиме симуляции?
Проверить сейчас не могу необходимо ехать в область. (программма достаточно инерционная управление климатом) Поэтому удаленно тяжело понять. Конечно при очередной поездке проверю в онлайн отладке, но хотелось бы чтобы и в симуляции было все ровно - т.к. скорее всего придется дорабатывать управление.
Заранее благодарен за оперативный ответ.
Ну данных у вас немного, тут люди заполняют на 99.9% и работает. В симуляции всё отличается от реала, даже время цикла. На счёт таймеров, (особенно если вы передаёте уставки таймера через целочисленное) проверяйте, там по умолчанию время в миллисекундах, надо везде сделать секунды ( если надо).
С реальными числами, тоже могут быть проблемы, надо правильно расставить байты при передаче по модбас.
Увеличивайте время опроса аналоговых входов и передачи флоатов по сети. Если это температура, то большая частота опроса и не нужна.
Более конкретно можно сказать только, если выложите проект.
Нашел путем сравнения более ранних версий, это было AVG, изменил время вкл/ выкл BLINK c 500 до 1000, да и количество количество измерений наверное было многовато 100))) уменьшил до 10 и все стало работать нормально. Макрос стоял на датчике влажности.
Вложение 57933
Вот только почему оно мешало режиму симуляции так и не понял )) Ну да макрос получается выдавал значение раз в сто секунд, и почему это нарушает ход времени режима симуляции... ?
Не могу найти поиском
Как изменять переменную и с экрана и из сетевой переменной? Чтобы в переменной было то значение, которое пришло последним (от экрана/от сети)
Или можно с экрана вводить значение сразу в сетевую переменную, а по приходу изменения по сети - она без проблем изменится на пришедшее значение? Так я попробовал - что-то не идет, то ли ошибся где-то, то ли так нельзя.
Используйте макросы SelChg, примеры тут: https://www.youtube.com/watch?v=YibiaUavC20 https://www.youtube.com/watch?v=alT2Oi_fFho
Т.е. так как на рисунке не работает?
Вложение 57945
Не верю!
Будет работать без всяких SelChg
ЗЫ.
В качестве мастера СП300 в режиме онлайн эмулятора
ПР в режиме онлайн отладки
ВИДЕО:
Запутался в том, как работает программа по циклам.
Прошу объяснить, будет ли работать обнуление переменной DayCounter по заднему фронту сигнала в данной конструкции.
(пример немного исскуственный, упростил для облегчения понимания)
Подозреваю, что не будет. Т.к. детектор заднего фронта выставляет "1" на 1 цикл программы.
В этот цикл первый SEL установит на выходе "0", а на второй SEL этот "0" придет уже в следующем цикле программы, когда на выходе детектора заднего фронта будет уже "0" и поэтому он не запишется в переменную DayCounter.
Правильно ли я рассуждаю?
Вложение 57997
Программа все считает за один цикл, что не может посчитать, просит поставить линию задержки. Так что работать будет, только зачем два SEL использовать?
Добрый день
При открытии проекта появляется сообщение. Что это значит ?
Добрый день. Есть ли в симуляторе возможность симулировать порт RS-485? Хочу на виртуальной машине протестировать связку по Modbus из OWEN Logic -> MasterOPC Modbus Server -> MasterSCADA
Добрый день, при обновлении библиотек на одной из версий OL встречалось подобное https://owen.ru/forum/showthread.php...l=1#post364777, может это Ваш случай.
Добрый день.
ПР200 опрашивает усройство по Modbus.
Параметры типа unsigned word читаются-отображаются нормально.
Один параметр имеет тип signed word - отображается ерунда какая-то.
Необходимы дополнительные преобразования? Если да, подскажите, какие.
Спасибо.
Посмотрите здесь в 30 посте:
https://owen.ru/forum/showthread.php?t=13106&page=3
И лабуда будет, если читать отрицательные целочисленные значения, ОЛ и ПР их не поддерживают!
signed word будут иметь диапазон от -32768 до 32767
Отрицательные числа в представляются в дополнительном коде, ПР не умеет отображать такие числа и они будут выглядеть как 65535 для -1 или 65436 для -100, а положительные числа будут выглядеть нормально
Дополнительные преобразования зависят от того, что Вы хотите с такими числами делать
Без дополнительных преобразований такие числа можно только складывать и вычитать. Для умножения и деления нужны макросы.
Если нужно выводить на дисплей ПРки, то тоже нужны макросы
В том то и дело, что непонятно :)
Вот скриншот Modbus pool - все отлично читается:
Вложение 58110
Вот скриншот OL - показывает непонятные цифры:
Вложение 58111
Как Вы думаете, как передаются отрицательные значения - в дополнительном(обычно) коде, ещё бывает прямой и обратный код, это для целочисленных знаковых типов данных.
Короче, разберитесь там, почему ПР читает совсем другое значение, чем на верхней картинке.
И код числа "64556" соответствует числу " -980"
Если значение 980 - правильное, можно взять по модулю!
Вероятно что-то в счётчике напутали, ну там концы обмоток местами перепутали и т. п.
Ну, примерно так оно и будет. Ежели на втором скриншоте напруга у него 218,4, а ток 4,52, то активная составляющая мощности вполне себе может быть 980. Однако, все остальные измерения достоверны, и МодбасПолл'ом всё прекрасно опрашивается, поэтому ошибки подключения исключены. Для чего кетайцы сделали активную мощность signed -- ч.е.з. Когда мощность вообще бывает отрицательной? Но преобразование в ПР напрашивается вот такое:
Вложение 58120
Я прав?
Это же логично, что все остальные значения достоверны, остальные типы данных беззнаковые, он же об этом написал, они и не могут быть другими, почему Вам это кажется нелогичным, непонятно?!
И для меня кажется логичным взять по модулю, если значение по модулю достоверно, я уже написал об этом и на макрос преобразования INT_TO_FLOAT дал ссылку, короче, ничего больше и придумывать не надо!
И никакой связи по подключению счётчика к силовой сети и подключением по модбас нет, вполне можно правильно подключить по модбас и неправильно к силовой сети, я уже писал, например попутать местами концы трансформаторов тока, откуда Вы взяли свои непонятные закономерности - непонятно!
Я отчего-то думаю, что большинство присутствующих достаточно понятливы, чтобы воспринять мои рассуждения. Для остальных ещё раз, медленно и по буквам.
1. Ежели в Modbus Poll все параметры отображаются правильно, значит счётчик подключен правильно и по сети и по интерфейсу. Концы трансформаторов тока уж точно ни при чём.
2. При подключении к ПР подключение счётчика к сети не меняется, а оно, как мы выяснили, правильное. Подключение по RS, естественно, тоже верное, связь-то есть.
3. Дальше всё зависит от того, в каком формате человеку нужна переменная ePowerActiveTMP. Ежели в float, то можно использовать макрос INT_TO_FLOAT и функцию fABS. Но ежели значение нужно в целочисленном формате, можно уйти от ненужного двойного преобразования формата. Вот и вся логика.
Теперь понятно, или ещё подробнее разжевать?
PS: И, кста, о каких вообще трансформаторах речь, ежели чел говорит, что счётчик бытовой? Судя по скриншоту, это DDS238-2. Это счётчик прямого включения, насколь я знаю.