bJOBS := ar_bJOBS[1];
FOR i:= 2 TO N DO
bJOBS := bJOBS or ar_bJOB[i];
END_FOR
Только на выходе Вы будете знать, что у Вас где-то авария. Что Вам это даст?
Вид для печати
bJOBS := ar_bJOBS[1];
FOR i:= 2 TO N DO
bJOBS := bJOBS or ar_bJOB[i];
END_FOR
Только на выходе Вы будете знать, что у Вас где-то авария. Что Вам это даст?
Добрый день еще раз.
У меня вопрос - а как профи реализуют хранение и передачу уставок, например, на панель оператора по модбасу.
Я вижу два варианта:
1. Сквозь боль и слезы заполнить в конфигурации ПЛК Модбас слейв. Заодно эти переменные становятся энергонезависимыми.
2. Программное управление 485 портом + ретейн переменные + запись в одну сторону при включение и обратная записать каждый цикл.
Или есть какой-то еще более изящный вариант?
Собственно откуда ноги - у меня около 20 аналоговых сигналов (согласен, не много) и мне уж очень больно для каждого из них в конфигурации ПЛК создавать мин,макс,хх,х,л,лл,сафе.
И в то же время это уникальный проект на овене и не хочется писать функцию преобразования разных видов в одну таблицу вордов (или интов) для программного управления портом.
Поэтому ищу максимально эффективное решение.
Поэтому вопрос!
Не помню где, но где-то видел (может в фаствеле, а может вообще приснилось), что можно как-то в конфигурации ПЛК данные из ветки "модбас мастер" связать с данными из ветки "модбас слейв" - таким образом связать панель оператора через плк "напрямую" с аналоговым МВВ и все эти мин,макс,хх,х,л,лл,сафе будет панель задавать напрямую на МВВ.
Есть такое, или я чет напутал?
Здравствуйте.Не могу найти готовую конфигурацию ТРМ-202 для Lectus Modbus OPC сервера.Можете пожалуйста подсказать?
Здравствуйте!
Необходима была реализация примерно следующего характера:
Допустим есть 3 сигнала in1, in2, in3, при наличии хотя бы одного из них (например in1) включается звуковая сигнализация. При пропадании сигнала сигнализация отключалась.
Также при нажатии кнопки сброс звуковая сигнализация сбрасывалась (при наличии сигнала in1), при появлении нового события (например in2) опять включалась звуковая сигнализация.
Реализовал так.
Нужна ваша критика и замечания.
Заранее всем спасибо.
Вопрос по избитому LREAL в плк110м02.
Правильно ли я понял из прочтенного на форуме, что для использования двойной точности надо самому реализовывать математику? OsCat судя по описанию умеет умножать только REAL и REAL2, а два REAL2 она перемножить не может.
Есть ли еще какие-то варианты? Или вернуть по гарантии и взять на кодесис 3.5.
По поводу притензий юристы расскажут, я им обрисовал ситуацию, они сказали реально. А почему собственно и нет? Заявлена ведь поддержка LREAL в документации. Там нет ссылок что оно не работает на конкретных ПЛК.
А по поводу математики и иныорматики: так ее знаем и применяем, но покупая плк за 20к+ не хочетсявозиться с такой ерундой. Даже стм32 или тот же игрушечный дуе с коробки двойную точность поддерживают.
З.Ы. Сергей Лысов писал что в 3.5 есть поддержка LREAL. Поддержка означает возможность работать с типом и выполнять арифметические операции. Или у Овна поддержка это просто маркетинг.
Видел конечно это окно. Трактовать как реал просто обрежет до реала и все.
В документации (размещенной на сайте овена) для кодесис 2.3 значится поддержка LREAL. Так что притензии тут вполне обоснованы.
Вы лучше поделитесь функциями математических операций для двойной точности, если приходилось работать с двойной точностью.
Сложите 1.12345678 + 1.12345678 и получите 2.246914 т.е. семь значащих цифр как и должно быть. И сравните с тем что кулькуляторе получается.
По поводу доки: /uploads/134/codesys_v23_ru.pdf страница 331 (10-36)
Добрый день, может кто подскажет, есть ПЛК110-24.60.Р-М и счётное устройство Orbit OM 602UQC. Счётное устройство работает по Rs-485 протокол ASCII. Необходимо с помощью ПЛК считать данные со счётного устройства и занести их в переменную. Запрос на получение данных выглядит : " #017W<CR>" . К сожалению никогда не работал по протоколу ASCII и понятия не имею как правильно отправить запрос и получить ответ. Мануалов толковых так же не нашёл. Может кто либо скинуть какой-либо мануал или как вообще происходит запрос и ответ, спасибо.
Добрый день, у кого то может есть схема подключения МЭОФ к ПР110?)
Чтобы темы не плодить, попробую узнать тут.
Нашёл на оф.сайте кодесиса такой документик "Creating and Linking External C Library Functions"
Сделал свою внешнюю библиотеку, подключил к проекту, везде она видится нормально и компилируется, но при попытке залить в контроллер ругается с сообщением "Неразрешенные ссылки на внешние POU: MyPOU" (MyPOU для примера).
Собственно вопрос, как понимать слово "неразрешенные"? Это ошибка в библиотеке и есть какие-то перекрёстные ссылки, которые среда не может разрешить или изготовитель запретил использовать внешние библиотеки?
Для нас это был бы идеальный вариант выхода из сложившейся ситуации. Я бы математику реализовал во внешней библиотеке и всё.
самый главный вопрос - что же Вам надо считать в двойной точности? Откуда у Вас датчики с классом 0.00001 максимум?
Penni, "Я бы математику реализовал во внешней библиотеке и всё" - раскройте цель, пожалуйста.
Codesys 3.5 имеет такой потенциал по возможным функциям, что никакое С там в помине не нужно, да и не для того ПЛК придумано и языки МЭК стандартизированы, чтоб так извращаться.
Все что Вы пишите, при необходимости, должно быть понятно другим пользователям, например, если надумаете уволиться.
вот тема https://owen.ru/forum/showthread.php...l=1#post333269 как бы досих пор не проверил, видимо не вышло, раз не отписался о результатах
Считаю расход газообразной среды, есть ГОСТ соответствующий. Там есть коэффициент сжимаемости, он нужен с очень большой точность. Разница между реализацией с одинарной и двойной точностью порядка 1%, при допустимых 0,001%.
ЗЫ: Удалось подключить свою библиотеку, всё работает, но есть проблемы с типом REAl.
Вот в этой теме тоже были проблемы похожие https://owen.ru/forum/showthread.php?t=26081
В общем накидаю свой заголовочный файл с определением типов и должно заработать.
ЗЫ: Чьёрт побьяри, это я накосячил. Сохранил случайно библиотеку как внутреннюю и всё заработало конечно :) Сейчас пересохранил как внешнюю и та же проблема осталась. :(
Это значит, что в вашей ПОУ на Си есть ссылка на функцию, которой нет в датабазе кодесиса.Цитата:
"Неразрешенные ссылки на внешние POU: MyPOU"
Вы не могли бы уточнить что за база кодесиса? Есть документ который описывает процесс создания внешней библиотеки, там ничего нет про базу данных. Заголовочный файл генерирует сама кодесис, по нему я реализую свою функцию в С файле собираю воедино в MVC++, беру obj файл и lib файл закидываю в папку библиотек. В кодесис библиотека видится, функция видится, но при попытке залить в контроллер вот такое сообщение.
Все эти внешние библиотеки на С - для Кодесиса работают только на WinPC.
Вероятно я неправильно выразился. Менеджер библиотек. Внешние вызываемые функции\ПОУ\ФБ должны быть в нем зарегистрированы.Цитата:
что за база кодесиса?
Здравствуйте!
Подскажите пожалуйста как считать состояние дискретных входов DI в массив? например.
с AT %IX1.0.0:
по AT %IX1.0.7:
ar_BOOL_DI :ARRAY [1..8] OF BOOL;
По отдельности присвоить значение каждому элементу массива получается длинно ))).
Добрый день!
А нет ли в общем доступе нормальной библиотеки модбас слейв для овена?
Нормальной, в смысле чтобы были разные массивы данных для 1 2 3 4 функций..... ну и соответственно 5, 15, 6 и 16 норм работали
Например так:Цитата:
Подскажите пожалуйста как считать состояние дискретных входов DI в массив?
Вложение 50227
Таргет 110.60М02-М
Добрый день!
На объекте имеется система светофорного регулирования. Собрана из ПЛК110-30 и МК110 – 4ДН.4Р(4 шт.). Четыре модуля залили водой. Заказал новые. Хочу загрузить проект из ПЛК для того чтобы понять какие адреса выставить в модулях. Подскажите пожалуйста как это правильно сделать.
IVM что прощелкать ? залитые водой модули В/В ?
Добрый день!
Спасибо за советы. Подскажите какой программой лучше прослушать сеть?
Спасибо. Склоняюсь к созданию нового проекта.
Доброго времени суток! Подскажите пожалуйста, как настроить соединение между ПЛК110 с вакуумным датчиком Erstevak MTP4D-KF16 по RS485. По руководству эксплуатации датчика необходимо подать запрос с определенной командой чтобы получить выходное значение. По протоколу Owen(Master) ---> RS-485--->Unsigned variable (Listen) или Float variable + time (listen) с задачей необходимого кода команды не получается. Прикрепляю фотографию manual'a на датчик со связью .Вложение 50417Вложение 50418
Вложение 50419Вложение 50420
Вам нужно использовать библиотеку UNM и с помощью нее настроить чтение параметра с датчика.
https://ftp.owen.ru/CoDeSys23/05_Lib...anuals/UNM.pdf