В КДС делайте проект=>импорт и выбиратете этот файл
Вид для печати
Я писал программы на языке CFC и LD другими не владею . Что делать с этим проектом ?
Добрый день, подскажите есть ли возможность в ПЛК ОВЕН 63 в языке программирования CFC на выход таймера TON ввести переменную, которая будет аналогична кнопке "Онлайн - Сброс"(Необходим сброс ПЛК после зажатой кнопки). Как я понимаю мне необходимо найти библиотеку, где будет описываться операции по данной кнопке и подключить ее. Правильно ли это или есть более простой способ?
Можно по выходу таймера запустить программу с бесконечным циклом.
А перезагрузка через системное меню не подходит?
Я так понял нужно загрузить библиотеку SysLibSocket в проект и загрузить в плк ?
ПЛК на работе , попробую завтра , но боюсь возникнут новые вопросы (типа что дальше делать ). Не могли бы вы capzap объяснить всё по порядку .
Мне надо на мнемосхеме всего-то несколько кнопок , несколько индикаторов . Без мудрёных схем .
Мне необходимо при зажатии кнопки на пульте произвести сброс программы, аналогичный сбросу "онлайн - сброс". Запуск бесконечного цикла, как я понимаю, не даст этого результата
Вы бы написали для чего вам такая экзотика нужна, потому как в явном виде такой возможности нет. Но вы пожалуй первый кому это надо. Возможно вам просто инициализация процесса нужна, так это иначе решается.
Да не такой уж и первый, раньше тоже спрашивали как остановить работу программы
Такой вопрос: можно ли, подав сигнал на дискретный вход ПЛК100, поставить выполнение программы на паузу? Включая все текущие таймеры, вычисления и прочее?
Мне нужно подключить кнопку к DI, чтобы пользователь нажав на нее, смог приостановить полностью тех процесс. Нажатием на другую кнопку, нужно запустить процесс с того же места, где он был приостановлен.
Чем не устраивает всю программу поместить в новую программу, например ProgNew, а в PLC_PRG написать IF NOT DI1 THEN ProgNew(); END_IF; Где DI1 бит состояния вашей кнопки. Надо только проверить что с таймерами будет в таком случае. При желании можно их немного переписать, изменив стандартные.
и я про них, вернее все семейство, включая TP И TOF
предположим, завели время на 10 минут, через минуту перестали опрашивать, через 20 минут включили и что в результате произойдет. Таймер обращается к RTC, вычисляет разницу со стартовым временем, сравнивает её с PT, обнаруживает что время превышено и завершает работу таймера, подачей сигнала на выход таймера, а не как Вам видится, продолжает свою работу с того же места
Изменил Ваш проект, понаблюдайте в онлайне развернув ton1
Мне кажется костыль в данной ситуации вы изобретаете. А правильным было бы фиксировать время стопа и запускать после его снятия процесс с новым временем таймера. Или все обнулять в зависимости от условий. Я у себя так делаю.
Здравствуйте. Продублирую свой вопрос из другой темы сюда:
Есть ПЛК-110-24.60.Р-М, на нём загружен проект, разработчик с исходниками уехал на полторы недели. Хотелось бы пока есть время провести испытания с уже зашитой программой.
Сейчас пытаюсь установить связь с ПЛК по RS-232, воткнул RJ в RS-232 Debug, через переходник RS-232/USB подсоединил к компьютеру, в диспетчере устройств Com-порт увидел. Далее в Codesys нажимаю открыть -> ПЛК -> выбираю свою конфигурацию -> выбираю Serial RS-232, правильный Com-порт, скорость 115200, ошибка связи каждый раз... Таргет файлы пробовал как качать с сайта, так и устанавливать с диска.
Что я делаю не так?
Вариантов что вы делаете не так великое множество, так как вы не точно описываете свои настройки подключения. Но если предположить, что вы все делаете правильно, то порт Debug возможно используется в программе, и тогда для подключения надо просто перезагрузить ПЛК с подключенным к нему шнурком для программирования.
RollForRepair
ПЛК110 любых модификаций имеют такую особенность - порт Debug начинает работать только при включении\перезагрузке ПЛК с подключенным шнурком.
всем добрый вечер!
подключил к ПЛК110-60 модуль МУ110-32 по модбас
модуль подключился, как бы работает...
никак не могу сделать побитное присвоение имен ключей.
действовал так:
-создал MODBUS master
- к нему подключил подэлемент "unversal modbus device"
- а к нему , в свою очередь, "8 bit output module" в режиме "force multiply coils" 0x0f (10)
первые восемь ключей замечательно управляются - присваиваешь имена битам - все ок , работает
но следующий "8 bit output module" , вместо управления ключами, начинает управлять скважностью - релюхи щелкать начинают
при этом, на скриншоте, явно виден пробел в нумерации на одну десятичную позицию
если первый байт в codesys имеет адрес 6.1.0.0, то следующий должен быть 6.1.0.1, а он имеет адрес 6.1.1.0
получается пробел в 8 байт.
соответственно биты ставятся где -то в области управления скважностью
Вложение 33053
Почему так происходит?
PS
пробовал подключать подэлементы WORD, и "32 bit_output module" - но эти элементы не дают возможности адресовать ключи побитно...
А вы этим битам дайте имена и попробуйте по именам к ним обратиться/присвоить
ага, спасибо, разобрался :)
нужно было правильные адреса расставить.
вся фигня была в том, что оба( или больше) подэлемента обращались к одним и тем же битам, соотвественно при каждом poll-time
койлу присваивался то 0 то 1. Соответственно оно и щелкало.:D
учитывая , что это мой первый эксперимент в модбас, полет нормальный.
Здравствуйте. Есть такой вопрос:
Имеется несколько функциональных блоков (FB), в них есть таймеры TP. Иногда бывает необходимость прервать работу ФБ, нажатием кнопки. Я пробовал поставить NО контакт (язык LD) перед ФБ, но при размыкании его таймеры, находящиеся в ФБ продолжают отчет, и если ФБ вызвать снова, таймеры начинают не сначала. Как полностью обнулить ФБ перед новым вызовом?
Скажите, а ведь нельзя запустить и проверить проект загруженный на ПЛК110 через Codesys если у меня отсутсвует одна из библиотек? Разработчик уехал в отпуск оставил прошитый пульт, но без исходников.
Некоторые процессы в стенде, к которому подключен ПЛК110, не начинаются пока не поменять значения некоторых переменных в программе через Codesys, а запустить проект у меня не получается, т.к. ругается на библиотеки. Т.е. чтобы мне полноценно провести испытания мне обязательно необходима библиотека от программиста?
обычно, у нормальных программистов, все переменные, требующие изменений во время процесса, выводят для доступности по модбас или по другим поддерживаемым протоколам. Возможно и нет нужды открывать онлайн режим в КДС и даже если переменная "спрятана" в проекте, есть устройства которые работают по codesys протоколу и могут изменить любую переменную проекта, не подключаясь с самой КДС