библиотека oscat_building, ФБ PULSE_T
Вид для печати
sonrec
Вложение 46644
В архиве файл экспорта этого ФБ, его нужно импортировать в проект.
Можно воткнуть R_TRIG между ON и Out в первой строке, а можно подавать именно импульс на вход из основной программы.
Однако данный алгоритм все равно не по ТЗ топикастера, ему надо однокнопочное управление.
Вот исправленный вариант:
Вложение 46647
Off берется из первой строки в элементе MOVE. Там делается инвертирование состояния Out. Т.к. по умолчанию (при старте программы) Out=false, то первое нажатие переводит Out в true, второе нажатие переводит Out обратно в false. В второй строке производится сброс Out в false принудительно по времени. Кстати, там лучше использовать TON вместо TP, тогда и TRIG1 будет не нужен.
Вложение 46649
Всё, вот однокнопочное управление.
Вот тут облом-с. Я крепче чая пью только кофе.
Здравствуйте, подскажите пожалуйста как правильно настроить соединение Ethernet ПЛК со шлюзом МОХА. Имеется ПЛК Овен 110-30[М2] и однопортовый шлюз MOXA MGate MB3170, к которому подключено 5 устройств по RS 485, а именно модуль дискретного ввода 110 и 4 ТРМ200. Как именно в CodeSya 2.3 настроить данное соединение. Сильно не ругайтесь делаю в первый раз.
Дружище, я понимаю что вопросы глупые, если бы я делал это не один раз я бы вел себя по другому, но к сожалению есть момент который я не очень хорошо понимаю, так как в кодесис я вообще толком никогда не работал, а связан был непосредственно с микроконтроллерами и их спецификой. По этому подскажи пожалуйста, правильно ли я начинаю делать.Документация у меня вся есть.Смотрите, что делаю: добавляю modbus master, далее делать замену интрефейса на Empty, а далее добавляю универсальное модбас устройство, а после: что именно нужно дабавить как элемент. Вот в этой конечной точке у меня ступор. Возможно просто уже голова забита от других задач, которые делаю совместно с этим.
Moxa уже настроена, настраивал MGet Manager. Я спрашивал именно про содесис
Спасибо за ваш содержательный ответ.
Sulfur спасибо большое!!! буду разбираться что к чему!!! должен буду как земля колхозу. в личку отправил запрос
Здравствуйте! Подскажите пожалуйста CODESYS 2.3 поддерживает эмуляцию файловой системы контроллера? Есть необходимость читать файл из памяти ПЛК, но команда filedir при вызове из браузера ПЛК ничего не показывает, дескриптор, возвращаемый функцией SysfileOpen с аргументами, отвечающими за режим работы (a/w) равен нулю, что значит неудачу. Не ужели работа с файлами возможна только на реальном железе?
Позвольте уточнить: после установи соотвествующего эмулятора и его настройки CODESYS будет обращаться/ закачивать проект как с настоящим ПЛК? и комнды браузера ПЛК наподобие filedir будут работать?
Здравствуйте, в списке библиотек(https://owen.ru/product/codesys_v2/documentation), присутствует информация о библиотеке SysLibCom(описание:Работа с портами RS-485/RS-232). При этом в конфигурации ПЛК, уже присутствуют данные функции. В чём собственно вопрос: обязательно ли использовать библиотеку, или она просто дублирует функции Конфигурации?
Аналогичный вопрос к Библиотекам Modbus, а так-же нужно ли при их использовании, дублировать определение протокола в конфигурации и можно ли обойтись работой с конфигурацией?
Для типовых задач (обмен данных по стандартному протоколу) вполне достаточного возможностей работы с конфигурацией. Если вам нужно "нечто эдакое", то библиотеку.
День добрый, подскажите как реализовать функцию переноса строк в СМС сообщениях? У меня в программе через Concat объединяются две строки. В СМС но они идут сплошным текстом, а хотелось бы чтобы каждая строка начиналась с новой. Есть ли такая возможность?
Подходящей темы не нашел, так что напишу сюда. Уважаемые админы, прошу обратить внимание, что в Codesys 2.3 найдены потенциально опасные уязвимости переполнения буфера в ENI Server еще в октябре 2019. На одном из своих компьютеров обнаружил подозрительную активность службы этого процесса и полез гуглить в чем дело. 3S Software выкатила фиксы. Надо бы обновиться до версии 2.3.9.62. Распространяя старые версии ПО, вы подставляете собственных клиентов под хакерские атаки.
Здравствуйте.
Подскажите, пожалуйста, по работе с COM-портом:
почему на ПЛК100.24.К-М (2016-го года) при попытке отправить один байт со значением 5 с помощью SysComWrite вместо 5 отправляется одно из следующих значений, случайным образом (07, 0F, F0, FF, C1, 17, 0D, E0, C3, 1F)? Порт открыт успешно (SysComOpen вернул 0), пишу в COM1 (9-пиновый разъём), пишу так:
Buffer[0]:=5;
dwBufferAddress:=ADR(Buffer);
dwBytesToWrite:=1;
dwTimeout:=50;
BytesWritten:=SysComWrite(1, dwBufferAddress, dwBytesToWrite, dwTimeout);
SysComWrite возвращает 1, то есть байт передан, и это так, только вот не тот байт.
Настройки порта: номер порта 1, скорость 115200, размер байта 8, 1 стоповый бит, чётности нет.
Пробовал брать пример с этого форума (от Александра Приходько):
http://kipshop.ru/Primeri/DevicesOth...t_Com_Port.zip
После того, как выставил настройки порта и отправил вместо сообщения цифру 5, результат опять точно такой же - вместо 5 отправляется случайное значение из определённого набора.
Подскажите, пожалуйста, сталкивался ли кто-нибудь с такой экзотической проблемой?
Вот как всегда: сидишь два-три дня над проблемой, ищешь решение - всё без толку. Стоит написать на какой-нибудь форум - и через час-другой приходит озарение.
Если скорость понизить до 4800, то всё работает как часы. Причём дело не в разных настройках скорости на двух устройствах (значение точно одинаковое), а именно в самом значении. Видать, не тянет мой старый ПЛК100 эту скорость в 115200.
Так что проблема решена.
Добрый день. Подскажите пожалуйста, как подключить две панели СП310 к одному контроллеру ПЛК 110 ? раньше была подключена одна панель к ПЛК.теперь нужно добавить вторую.Как настроить , чтобы все всё видели и никто никому не мешал?
Привет. Вопрос по ПМ01.
Как научить модем отправлять смс так, чтобы текст который не влез в одно СМС сообщение, отправлялся бы продолжением во втором СМС.
Привет! Я сильно сомневаюсь, что модем можно вообще чему-либо научить: он тупо отправляет все что вы ему передали :)
Если серьезно, я что-то не встречал подобных модулей для ПЛК. Думаю, придется написать такой модуль заново. Алгоритм вроде бы и не сложный, но не совсем типовой для АСУТП...
Господа, кто-нибудь встречал готовое решение по данному вопросу?
P.S. Интересно: '$R$N' для переноса строк помогло?
Глупый вопрос, наверно, но все же: в плк 100/150/154 когда сядет аккумулятор, что будет с энергонезависимыми переменными?
Т.е. те которые были сохранены обнуляться?
Все переменные Retain и область регистров Модбас при включении будут иметь нулевое значение. Лечится заменой аккумулятора.
Люди добрые, помогите. Проблема в том что не программист)))) Много аналоговых значений читается с МВ110.8А обрабатывается контроллером и уходит на пару панелей. Скорость всей этой системы стремиться к бесконечности(очень долгая реакция), все прописано через стандартный конфигуратор ПЛК. Читал здесь на форумах, что через бибки в разы всё быстрее, но не пойму как ими пользоваться поскольку примеры в основном на ST, а я как BadProgrammer(больше КИПовец), разрбрался только в CFC. Прошу примерчик использования чтения МВ110.8А с помощью библиотек, и уже прям наглость с моей стороны, примерчик записи на панель. Так сказать внедряю овен на производстве не умея с ним работать, и мне это нравиться)))
Добрый день коллеги. Работаем с МВ110-224.8ДФ и ПМ210. Есть ли возможность автоматического обнуления счетчика? Нужно чтобы модуль показывал 0(нет сигнала) и 1(есть сигнал).
Добрый день.
Используйте битовую маску.
Вложение 46879
Она же задействует все входы? А нам нужно на каждый в отдельности. Или я не правильно понимаю.
Elothan
Да, неправильно. Вернее просто немного недопонимаете.Цитата:
Или я не правильно понимаю.
Допустим, имя переменной, куда читается битовая маска именуется Mask_MB, а нам нужны состояния только 1, 3, 7 и 16 входов.
Алгоритм будет выглядеть так:
Читаем в Mask_MB битовую маску с МВ (word)
Далее присваиваем нужным переменным (bool) биты маски:
In_01:=Mask_MB.0;
In_03:=Mask_MB.2;
In_07:=Mask_MB.6;
In_16:=Mask_MB.15;
Все довольны, все радуются.
У нас получается как. Есть допустим датчик двери. Если мы закрываем дверь, он выдает логическую единицу. Но, когда мы размыкаем (т.е. открываем) дверь связь со входом теряется и выходит что он отключен. Вход не меняет значение на логический 0. Как бы нам побороть данную ситуацию, подскажите пожалуйста.
Так, как я пропишу и куда это. Мы работаем с сетевым шлюзом ПМ210.
Это пишется в ПЛК.Цитата:
как я пропишу и куда это
Тут два варианта: либо "зависает" датчик, либо какие-то проблемы с опросом. Для получения объективного состояния входов опрос должен производится в цикле.Цитата:
когда мы размыкаем (т.е. открываем) дверь связь со входом теряется и выходит что он отключен. Вход не меняет значение на логический 0.