Codesys 3.5 Руководство По Программированию

Codesys 3.5 Руководство По Программированию

Блог об АСУ ТП и КИПи. А. Блоки Co. De. Sys. Советы конкретные и философские. С примерами и скриншотами. Руководство пользователя. Работа в системе программирования CoDeSys 41. Работа с ENI базой данных в проекте CoDeSys. CoDeSys это аппаратнонезависимая система программирования ПЛК. Полностью отвечая требованиям МЭК 611313, она поддерживает все. Одно из фундаментальных отличий программирования. Некоторые настройки по умолчанию в CODESYS удивляют. Например, эта. Создание конфигурации, программирование и отладка проектов для ЭЛСИТМК осуществляется в единой среде CoDeSys v3. Версия 3. 5 SP5 Для СПК прошивки 3. ПЛК3хх. CODESYS v3. SP5 Patch 5, скачать. SPK Repository Archive 3. Архив. Язык CFC в CODESYS V3. Новый функционал CODESYS V3. SP3. Буду дополнять. Пользуйтесь реальностью процессов. Одно из фундаментальных отличий программирования технологических процессов от классического программирования это обычно значительно меньший уровень абстракции. Алгоритмы определяются технологией процесса, который в свою очередь часто опирается на здравый смысл и простую логику. Codesys 3. 5 Руководство По Программированию PdfОб этом часто забывают увлекаясь программированием ради программирования. Не путайте причины и следствия. Например, пусть при падении давления нужно выключать насос, а при выключенном насосе какой то клапан должен быть закрыт предположим, никаких иных условий выключения и закрытия нет. Ошибочно при этом даже якобы в целях оптимизации кода закрывать клапан при падении давления, т. При удлинении или изменении следственных цепочек это может привести к серьезным ошибкам в процессе или сложностям в модификации кода. Настройка среды CODESYS 2. Некоторые настройки. Например, эта среда единственная из виденных мной, в которой шрифт не моноширинный, т. Сразу же после установки среды заходите в Проект Опции Редактор Шрифт и выбирайте Consolas код на всех скриншотах или хотя бы Courier New. После этого отмените автообъявление штука, появляющаяся когда вы вводите незнакомый Кодесису набор символов, этот адский источник всплывающих окон, которыми так любит радовать эта среда. В настройках. После нажатия в нижней части экрана высветятся сообщения о текущих ошибках или их отсутствии. Codesys 3. 5 Руководство По Программированию StCodesys 3.5 Руководство По ПрограммированиюЧтобы скрыть лишнюю плашку с этими сообщениями нажмите SHIFTESC. Не стремитесь использовать чужой код. Вторичное использование чужого кода в классическом программировании норма и необходимость, обусловленная множеством причин. В АСУ ТП же, по моему мнению, почти нет необходимости использовать сторонний код. Я не считаю себя профессионалом и не писал особо сложных программ, но для тех что писал мне вполне хватало стандартных библиотек Util. Standart. lib. Те же библиотеки Oscat скачать мануалы на англ шикарны и всеохватывающи, но в них нет ничего сверхестественного и, мне кажется, лучше самому писать аналогичные функции. А на тот код, который обычно выкладывают на форумах, лучше вообще не смотреть. Даже с тем, что я выкладываю в блоге лучше просто ознакамливаться, а не использовать. Пишите свои алгоритмы и как можно большеПримеры правильного кода внутри библиотек. Чтобы понять как должен выглядеть грамотный код и узнать некоторые программистские примчки не нужно далеко ходить. Открывайте Кодесисом библиотеки Util. Oscat. lib как обычные проекты и впитывайте мудрость строк. NB Может я и негодяй, но с помощью этой проги вы можете взломать запароленные библиотеки. Пользуйтесь интегрированной справкой CODESYSБанально, но там есть ответы на большинство вопросов начинающих. Справка небольшая поэтому лучше пробежаться по ней всей чтобы познакомится с возможностями языков и функций. Вызов справки по. Иногда в CODESYS 2. Видите дублированный код выносите его в отдельную функцию или функциональный блок, иили же переводите переменные в элементы массивов и прогоняйте в цикле. Предыдущее предложение вам может быть непонятно, но подробности можно загуглить. На скриншоте код, обрабатывающий данные с. Переменные типа CWS1. Слева представлена первая версия кода где каждый ПЧ представлен отдельным куском из восьми строк код в каждом куске различается только данными, а логика одинакова. Справа оптимизированная версия логика вынесена в отдельную функцию GET. Если бы в Конфигурации можно было задавать переменные как элементы массива типа FREQ. В некоторых случаях удобно использовать CFC или что похуже, но в целом ST более мок, лаконичен и чток. Но, чем действительно он отличается от других языков так это возможностью нормального использования массивов и циклов, которые мне сильно облегчают жизнь и увеличивают читабельность кода. Не злоупотребляйте циклами. При том, что циклы FOR бывают крайне удобны, всегда помните, что код в ПЛК выполняется в суперцикле и часто можно обойтись простым инкрементированием с обнулением см. Также большие циклы FOR и тем более WHILE могут сильно. Иногда, конечно, нужно сделать перебор в текущем суперцикле и тут уж лучше использовать FOR. Такое возникает при переходе в бесконечный цикл и других зависаниях. Отвечает за анализ времени выполнения цикла сторожевой таймер, или Watchdog. Сброс по watchdogу отличается от любого сброса через среду CODESYS. Этим можно пользоваться. В моей практике сторожевой таймер применяется в контроллерах ОВЕН. В этих ПЛК иногда происходит неприятный момент созданный в Конфигурации модуль Mod. Bus Master перестает вести опрос Слейвов обычно это возникает после перезаливки программы. Поначалу это решали сбросом питания, но тут возникали трудности при удаленной закачке через интернет. Позже я обнаружил, что проблему решает искусственное заведение программы в бесконечный цикл. Я вывел сброс на кнопку в визуализации. Или же можно анализировать изменение переменной. Но что интереснее, имеется возможность изменения переменных, которые являются аргументами функции, внутри самой функции. Это возможно благодаря использованию указателей и адресации на эти переменные. Понять что к чему можно по скриншоту ниже, на котором приведен код функции, инициализирующий переменную если та равна нулю. Параметр внутри функции определяется как указатель на нужный тип, а при вызове функции в параметре используется не сама переменная, а е адрес функция ADR. Иногда SEL удобнее IFВ случае когда при каком то условии переменная должна изменить сво значение, а в противном иметь другое значение, применение IF может быть не лучшем решением. Если условие применимо только к этой единственной переменной используйте функцию селектор SEL. Она работает с переменными любого типа. Буль не буль. Очень часто в чужом коде встречаю странное использование операций с булевыми величинами или, наоборот, игнорирование булевой логики. Во первых, операции типа сравнения или проверки равенства возвращают булевы значения. Во вторых нет необходимости явно сравнивать булеву переменную со значениями TRUE или FALSE. Скайрим Амулет Талоса Квест. Наглядная работа с булями. Мне очень часто для сокращения кода приходится использовать явные преобразования BOOL в целое число, например, в формулах. Для этого приходится использовать функцию приведения типов в е стандартном неуклюжем виде BOOL. Но как то раз наткнулся на блог Егора Петрова, где он придумал более простое и изящное решение по сути переименовать эту функцию в более читаемую WHEN. Теперь пользуюсь, пользуйтесь и вы.

Codesys 3.5 Руководство По Программированию
© 2017