Страница 6 из 8 ПерваяПервая ... 45678 ПоследняяПоследняя
Показано с 51 по 60 из 74

Тема: Первый проект на ST

  1. #51

    По умолчанию

    Цитата Сообщение от EVGEN_ Посмотреть сообщение
    Я, собственно и не собирался бросать начатое тех.задание.
    Посмотрел, стрим Сергея Романова о разборе его программы на ST, что заметил, так он пишет CASE с шагом в 10, то есть 0,10,20,30 и т.д., чтобы в процессе разработки можно было легко внести промеж еще несколько шагов, при надобности. Еще он довольно редко в "IF" использует слово "FALSE" и "TRUE", а вместо этого пишет "NOT" и просто переменную. Например моя запись: IF abc=TRUE AND asd=FALSE THEN bcd:=TRUE;END_IF
    И например Сергея запись: IF abc and NOT asd THEN bcd:=TRUE;END_IF Только мне пока не понятно, что это дает и есть ли в этом "полезная" разница. К тому же "IF" он применяет прямо в CASE, чего я не делал.
    Это всё азы, когда начинал, тоже писал b=true, потом подсказали и стал писать просто b или NOT b.
    IF это проверка на истинность, он и проверяет, что b=true, (если NOT b проверка, что b=false) поэтому писать b=true это излишне и писать меньше.
    IF можно использовать где угодно, в CASE и вне его.
    А вот таймеры надо вызывать только вне IF, а в нём только присваивать входы или время.
    Последний раз редактировалось kondor3000; 04.03.2024 в 20:01.

  2. #52

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Так, на заметку. Запись IF abc=TRUE AND asd=FALSE THEN bcd:=TRUE;END_IF эквивалентна bcd := abc and not asd. Т.е. IF в некоторых случаях можно не использовать.
    А полезная разница - меньше букв набирать
    Маленько не эквивалентна.
    Первая соответствует сигналу set триггера, вторая же сквозное присваивание, там и set и reset. А в первой reset можно вообще по другому условию прописать.

  3. #53

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    На форуме нет примеров структурированных программ, все - на едином листе. Спросить совета было не у кого. А самообразование приводит к причудливым решениям )

    Исходя из предыдущего опыта не желал получать "простыню", а средствами CoDeSys (SFC) можно было упорядочить код, упростить навигацию по нему.
    Работу с периодическими задачами сразу не освоил, а потом за 10 лет было всего четыре проекта в CoDeSys, которые нужно делать срочно - тут не до изысканий новых подходов, когда предыдущая структура устраивает.

    По правде, за всё время у меня не возникало желания менять структуру, которую придумал с самого первого проекта. Не видел недостатков, одни достоинства в простой навигации (в дереве объектов подпрограммы, в SFC процессы), в возможности выбирать язык для каждой задачи, простая реализация инициализации при включении питания.
    К слову, в OwenLogic уже несколько раз менял стиль и пока не могу определиться "со своим".
    Ну, будет время, посмотрите при использование задач и отдельных программ - это более гибкое решение

  4. #54
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Маленько не эквивалентна.
    Первая соответствует сигналу set триггера, вторая же сквозное присваивание, там и set и reset. А в первой reset можно вообще по другому условию прописать.
    Ступил, бывает. Спасибо, что заметили

  5. #55

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Ну, будет время, посмотрите при использование задач и отдельных программ - это более гибкое решение
    Сейчас, после обучения работе в CDS 3.5, хоть понимаю о чём речь. При возможности попробую.

  6. #56

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Просто пропустили
    bcd := bcd or ( abc and not asd )
    Только для сброса нужно потом где-то после этого условия ставить bcd :=0, главное с условием сброса не ошибиться.

  7. #57
    Пользователь Аватар для EVGEN_
    Регистрация
    04.07.2015
    Адрес
    Казахстан, город Петропавловск
    Сообщений
    498

    По умолчанию

    На днях закончил свою первую программу на языке ST в среде Codesys v2.3. Не стал я использовать в программе другие языки, так как хотел изначально, чтобы она у меня была полностью только на ST. Как использовать в моей программе всего 2-3 таймера, я не разобрался, но в итоге мне так получилось нагляднее и проще. Хотелось бы еще поделить на отдельные блоки для лучшего понимания и читабельности программы. Комментарии опустил, в принципе как я обзывал переменные возвращаясь к программе спустя даже неделю, мне не много времени уходило, чтобы вспомнить и разобраться, что и куда.
    Еще по поводу ST услышал авторитетное мнение, что он по сути не такой уж и перспективный. Как бы раньше программы на ПЛК писали в основном программисты и им естественно был роднее и ближе ST. Но с развитием ПЛК и появлением других языков, более перспективным может быть тот же FBD, так как на нем можно реализовать так же большинство программ, при чем более наглядных. К тому же вход в него(обучение, освоение) ниже, чем у того же ST, что позволяет большему количеству инженеров писать свои программы для ПЛК.
    Интересно, что думают форумчане о написанной программе и перспективах FBD над ST.
    https://disk.yandex.ru/d/utKkfkFrt83Bcw

  8. #58

    По умолчанию

    Нет идеальных языков, каждый с недостатком.

    Мне в ST не нравится возможность при вызове функционального блока не полностью перечислять параметры. Он, действительно, менее наглядный.
    Но у него есть достоинства - естественное описание конечного автомата, легкость копирования и замены переменных (тегов) штатными средствами, компактность при распечатке.

    FBD (и производный от него CFC) более нагляден для простых линейных алгоритмов, именно на FBD в проектах предлагают алгоритмы технологи, распечатками из проектов на FBD пользуются операторы при разборе неожиданного поведения системы.
    Но при этом - занимает много места при распечатке, реализация циклических и ветвящихся алгоритмов возможна, но теряется наглядность, при необходимости многократного размножения участка кода требуется нетривиальные действия (в CoDeSys: экспорт элемента в текстовый файл xml, размножение объектов самодельным скриптом на python, импорт в CoDeSys).

    Нельзя сказать, что один лучше другого. У каждого своя область применения.
    Хороший пример этого тезиса - развитие Owen Logic: начинали с FBD, но добавили ST. И это несмотря на усложнение поддержки Owen Logic.

    Осваивайте всё.

  9. #59
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    EVGEN_ я вот так скажу. пишу на FBD и C#, а на ST не могу. Его синтаксис просто убивает Но понять суть программы смогу, даже как-то переводил кусочек с Си на ST. то есть с бутылкой разберусь.

    Все это дело привычки, понимания синтаксиса и т.д.. И вот чем хорош CodeSys, что можно варьировать языки в пределах одной программы. Потому что одно проще написать или иметь написанное на ST, другое на FBD или даже у вас есть часть кода на LAD, кем-то давно написанный.

  10. #60

    По умолчанию

    Цитата Сообщение от EVGEN_ Посмотреть сообщение
    Еще по поводу ST услышал авторитетное мнение, что он по сути не такой уж и перспективный. Как бы раньше программы на ПЛК писали в основном программисты и им естественно был роднее и ближе ST.
    Интересно, что думают форумчане о написанной программе и перспективах FBD над ST.
    https://disk.yandex.ru/d/utKkfkFrt83Bcw
    По поводу ST не слушайте никого, вы даже и половины языка не освоили. Когда перейдёте к указателям и структурам, поймёте, что остальные языки полная лажа. Хотя сам использую немного CFC ( или FBD в Лоджике), для наглядности работы программы, на основном листе. Остальное на ST.

    По поводу проекта, сделали и хорошо, проекта нет, поэтому и обсуждать нечего. Единственное, не разбили программу на ФБ, как писал.
    Как по мне, чем думать над покупкой ненужного китайского частотника, лучше бы занялись работой с ФБ, обменом через биб-ки и далее к массивам, указателям и структурам.
    Последний раз редактировалось kondor3000; 07.04.2024 в 13:09.

Страница 6 из 8 ПерваяПервая ... 45678 ПоследняяПоследняя

Похожие темы

  1. Первый проект для практики
    от Густаво в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 05.03.2023, 18:02
  2. Мой первый проект Мастерскада
    от Dimooon в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 29.09.2017, 13:17
  3. Первый проект
    от wunschkind в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 20.07.2017, 18:22
  4. Ответов: 3
    Последнее сообщение: 16.04.2015, 18:40
  5. Первый пришел первый вышел...
    от kanava в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 01.12.2008, 14:00

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •