Это не видео, а статическая картинка, сделана ножницами во время работы эмулятора.
Вид для печати
На сколько я понял ,вопрос не в том ,что не видно короткого импульса на выходе R- триггера ,а в том почему после преобразования типа стоит 1 ,а на входе функции уже давно "0".
http://www.owen.ru/forum/showpost.ph...08&postcount=6
:) потому что потому.
Когда выключите управляющий вход во время состояния ФАЛЬШ, он же остается в выключенном состоянии.
Я идейный баг нашёл. Вдумайтесь: VAR CONSTANT. Ведь если что-то констант, то оно уже не вар, и обратно. А ведь сюда ещё RETAIN дописать можно, и оно скомпилируется. Должно быть просто CONSTANT без VAR.
подскажите пожалуйста, объем retain памяти в 4кВ, я как понял, позволяет сохранить 2048 переменный в 2 байта?
или я неправ?
а еще можно расширить до 16к.
у меня столько переменных нет.)
в чем же подводные камни?
Добрый день! В каком разделе можно задать :Вопросы типа почему я не могу найти что то или как мне записать программу -чтобы не удаляли а помогли. Прошлые бесплатные курсы изучил-составить программу самостоятельно не получается.
Спасибо.
Здравствуйте.
В многозадачном проекте странно работают программы, вначале я думал что это проблема эмулятора но на железе всё тоже.
Я понимаю что сам делаю что то не так, но разобраться не смог.
Проблема вот в чём: есть многозадачный проект, две задачи включаются по событиям, события переменные SOB_1 и SOB_2 обьявленные в конфигураторе MODBUS SLAVE, програмки простенькие переменная S_1 включает обмотку K_1 и переменная S_2 включает обмотку К_2,программы в LD. Запускаем проект устанавливаем SOB_2 в TRUE переменную S_2 TRUE линия тока засвечивается синеньким и до обмотки и после неё, а вот сама обмотка К_2 не включается.
Вложение 11256Вложение 11257Вложение 11258
Помогите разобраться.
Спасибо.
Если сначала установить в истина S_1 а потом SOB_1 то все работает, а вот если SOB_1 потом S_1 то дудки. Почему так?
потому что событие наступает один раз, и раз включаете сперва SOB_1 то программа видит низкий потенциал S_1 и соответственно не включает K_1. Это же простая логика, как в ней можно запутаться
Так что же все переключения наступают только по фронту события и дальше в программах подключённых к задаче чтобы не происходило всё пофигу, вот это да.
Мысль была такая, при вызове экрана в панели устанавливается бит в ПЛК и по этому событию отрабатывались бы программы подключённые к задаче, и как реализовать хоть что то похожее.
Вы видимо не поняли, Ваши программы запускаются когда наступает событие изменение состояния переменной, один цикл выполнилась и все, ждет следующего изменения состояния, это совсем не то что программа работает пока состояние переменной TRUE, это надо организовывать по другому, с помощью цикличного вызова и первой строчкой программы, что то вроде этогоКод:IF NOT SOB_1 THEN RETURN; END_IF;
capzap! Спасибо за разьяснеия, для меня это удар проект большой одних экранов (читай задач) десяток причём они не зависимы друг от друга, а зачастую и взаимоисключающие, теперь надо обдумывать всю концепцию. А всё казалось так логично, век учись.
чего там обдумывать, просто добавлять такую строчку и взависимости от состояния переменной будет программа работать или сразу закроется, остальной код останется таким же
Единственно,я не могу показать как это в графических языках делается, так можно этот код сконвертировать в LD и всё
Добрый день и с новым годом!
Прошу подсказать написание программы на языке cfc.
условие: имеем одну группу освещения и две кнопки на включение этой группы.
Необходимо реализовать включение и отключение света по [U]короткому[U] нажатию. А по " длинному" нажатию диммирование освещения.
Спасибо.
Только сначала стишок рассказал бы штоли
PS
Остальное уже было
Вот стишок:
Что такое Новый год?
Это всё наоборот:
Ёлки в комнате растут,
Белки шишек не грызут,
Зайцы рядом с волком
На колючей ёлке!
Дождик тоже не простой,
В Новый год он золотой,
Блещет что есть мочи,
Никого не мочит,
Даже Дедушка Мороз
Никому не щиплет нос.
Спасибо за подсказку по программе.
Коллеги! Всем с Новым Годом!
У меня вопрос, есть ли версии codesys для операционной системы OS X (mac)? естественно, с поддержкой приборов ОВЕН.
Спасибо.
Извиняюсь, если повторяюсь, не нашёл в поиске.
Здравствуйте. Возможно данный вопрос уже был, а значит заранее извиняюсь за повтор.
Скачал с сайта примеры программ и полезности для ПЛК63. При открытии появляется ошибка: "Ошибка чтения целевой платформы ", за ней следующая: "Файл описания модуля 'Module.Root' не найден".
Установил все библиотеки с диска, прилагающемся к ПЛК63. Установил все нужные target-файлы. Проблема не исчезла. Потом переустановил все заново, включая и саму Codesys. Не помогло. Эмулировать примеры естественно не могу, выскакивают ошибки определения идентификаторов.
Программой пользуюсь совсем недавно, может я что не так понял?
Большое спасибо.
Полное название плк и имена файлов таргетов можете выложить,лучше скрин папки где установились таргеты
Сам ПЛК не покупал, а скачал только таргет к нему, дабы научиться сначала программированию ПЛК, прежде чем приобретать его.
Сразу поясню, папка с таргетами находится в разных местах жесткого диска. так получилось. Это может как то повлиять на возникновение ошибок? Ведь данные сбои возникают только при открытии примеров программ и полезности, в других случаях таргеты открываются нормально.
Вложение 11775
Неправильно выразился, плк действительно в таком случае не нужен, проекты которые открываете скорее всего от других контроллеров, Вам стоит установить все,так проще, либо открыть проект текстовым редактором и найти под какой проект заточен
Под какой проект заточен? Имеется в виду под какой ПЛК? Так вроде установлены все таргеты, под которые я открывал примеры.
А ошибка связанная с файлом описания модуля Module.Root, что может в этом случае означать?
Да все то же самое,невидит кдс Ваши таргеты, перенос делали ? Создайте пустой проект и когда предложат выбрать плк, посмотрите что есть в списке
В списке указаны все целевые платформы. И работается на них стабильно. Пока дело не доходит до примеров.
Выполнил перенос. Удалил старые таргеты, установил по новому в папку с кдс. Заработало.
Спасибо вам!
Добрый вечер всем. Недавно осваиваю CoDeSys, и появился вопрос. При работе с целевой платформой ПЛК73 решил создать простенькую программку с использованием дискретных входов и выходов. С входами вопросов нет. А вот выходы в конфигурации ПЛК имеют тип REAL, а не BOOL. Если к примеру мне нужно просто логическую единицу с входа передать на выход, то нужно использовать оператор преобразования BOOL TO REAL?
И как сказано в руководстве по программированию значение канала преобразуется в ШИМ-сигнал (непонятная для меня вещь), но зачем? Ведь ШИМ используется насколько я знаю в аналоговом управлении дискретными выходами(например управление Т.Э.Ном), а мне просто релюшку допустим включить нужно.
Извиняюсь за длинный текст, просто хотел выразиться как можно яснее.
Заранее спасибо.
Василий Кашуба
Вот теперь вопрос от полного новичка. Как сделать присваивание по условию? Например в языках FBD и CFC? И зачем нужно умножать на 1000?
Извиняюсь за наглый вопрос, не разобрался еще.
1. http://www.owen.ru/forum/showthread.php?t=16616
2.Читайте мануал
Василий Кашуба
Вот на мануал я вообще внимания не обратил.
Спасибо.
Ни чего не надо умножать на 1000, просто использовать преобразование BOOL_TO_REAL и все, т.к. диапазон изменения значения для выхода дискретного типа от 0,0 до 1,0.
Дискретный выход ПЛК73 имеет аппаратный ШИМ и выходные импульсы будут иметь скважность 0-100% пропорциональную значению для выхода от 0,0 - 1,0. Период повторения импульсов задается в настройках выхода.
Таким образом
-выходной сигнал 0,0 соответствует скважности 0% -дискретный выход выключен постоянно,
-выходной сигнал 1,0 соответствует скважности 100% -дискретный выход включен постоянно
petera
Спасибо, разъяснили с этой тысячей. Я смотрю в цифры 0,0 и 0,1, и не могу понять, зачем множить? Но мануал все равно изучить придется.
С ШИМом тоже стало понятней. Я как понял ШИМ внедрен в ПЛК73 для точности управления дискретным выходом?
Такс, зреет еще один вопрос, сформулирую и задам.
Что угодно. Как и в случае с аналоговым выходом.