Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: Про параллельные ветки в SFC вопрос

  1. #1

    По умолчанию Про параллельные ветки в SFC вопрос

    Что-то я до конца не понял из описаний МЭК и Кодесиса.
    Как оно реально исполняется? В течении одного цикла ПЛК слева направо, или там взаправду какая-то одновременнность?
    В эмуляторе получается, что про конкурентной записи в переменную в нескольких ветках на входе в следующий цикл там то значение, которое писалось самым правым блоком.

    Так и есть? Правильно ли сказать, что все блоки, у которых есть маркер, в течении одного цикла ПЛК обходятся на самом деле последовательно слева направо? Или поведение системы при конкурентном доступе к ресурсу не определено вообще (что было бы правильно, пожалуй)?
    Изображения Изображения
    Последний раз редактировалось rapucha; 02.12.2015 в 22:38.

  2. #2
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от rapucha Посмотреть сообщение
    Что-то я до конца не понял из описаний МЭК и Кодесиса.
    Как оно реально исполняется? В течении одного цикла ПЛК слева направо, или там взаправду какая-то одновременнность?
    В эмуляторе получается, что про конкурентной записи в переменную в нескольких ветках на входе в следующий цикл там то значение, которое писалось самым правым блоком.

    Так и есть? Правильно ли сказать, что все блоки, у которых есть маркер, в течении одного цикла ПЛК обходятся на самом деле последовательно слева направо? Или поведение системы при конкурентном доступе к ресурсу не определено вообще (что было бы правильно, пожалуй)?
    О какой конкуренции для параллельных ветвей может идти речь вообще? На то они и параллельные. И "там взаправду одновременнность".
    Захват-2.png
    Когда встречается параллельные ветви, то маркер активного шага уже будет не один, SFC исполнитель их размножит на количество параллельных ветвей. В вашем случае их уже будет три, по одному на каждую ветвь. Соответственно в Вашем случае активных шагов будет три. А Вы взяли и одной и той же переменной присваиваете в каждом активном шаге разные значения и удивляетесь почему "там то значение, которое писалось самым правым блоком".
    А какое значение из трех там должно быть? Там будет то значение, которое встретилось в программе последним, т.е. "которое писалось самым правым блоком".
    Если речь зашла о конкурентном доступе, то возможно Вы перепутали параллельные ветви с альтернативными?
    Захват-1.png
    Вот тут да, маркер активного шага один и только один.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Или поведение системы при конкурентном доступе к ресурсу не определено вообще (что было бы правильно, пожалуй)?
    Порядок выполнения произвольный. Наверняка всегда выполняется слева направо, но полагаться на это я бы не стал.

  4. #4

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    одной и той же переменной присваиваете в каждом активном шаге разные значения и удивляетесь почему "там то значение, которое писалось самым правым блоком
    Да не, я не удивляюсь. Просто обычно, если есть многонитевость, то и средства синхронизации тоже есть. но можно руками изобразить, не вопрос.
    Это ж нормально, что в параллельных "ветвях" хочется обмениваться информацией между ветками, ничего постыдного.

    Цитата Сообщение от Yegor
    но полагаться на это я бы не стал.
    Угу.

    Вообще нравится мне SFC. Выразительная штука.

  5. #5

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Крайне неудобный он в CDS в отладке, в изменении кода.
    Правда весомый плюс, если Вы умеете проектировать в подобном или таком стиле. Сначала на бумаге.
    Для реализации того же самого удобнее ST
    У меня вместо ТЗ -- блоксхема, метра полтора)) Так что самое оно.

    А про реализацию -- я так понял, это язык абстракций, реально байтами шевелить надо все равно в ST, LD или FBD

    Неудобный.. да весь CoDeSys, прямо скажем, ужасен. На фоне современной IDE для какой-нибудь жавы.. ух.

  6. #6

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Жава - насмешил. Правда нравится?
    Это только для визуальных эффектов или чего-то не особо связанного с управлением.
    Я джавист по жизни, автоматизация -- между хобби и халтурой. Начинал со схемотехники когда-то, так и не завязал до конца.
    Установки у меня все исследовательско-экспериментальные.
    ПЛК в эту конкретную взял потому, что сроки сжатые, а условия промышленные. Разработать помехоустойчивое железо не успевали.

    Кстати, жаба в задачи управления ползет потихоньку. Очень заметные выгоды в технологии программирования потому что. но ооочень медленно ползет.

  7. #7

    По умолчанию

    Жава - насмешил. Правда нравится?
    Читаем внимательнее: "На фоне современной IDE для какой-нибудь жавы.".
    Вот пример IDE для Java: https://www.jetbrains.com/idea/
    И речь не о языках Java vs ST, а о том, что в CoDeSys нет толкового автодополнения, подсказок параметров, подкрашивания красным "нерабочего кода" до нажатия build (например, пропущенная скобка или end_if), перехода к определению процедуры, "поиска использований процедуры", и много чего ещё.

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    какое то не дружелюбное отношение к Яве, я вот знаю что на молочных заводах по всей стране моя контора ставила оборудование под управлением на Яве с начала века, так же некоторые тэц испроьзуют теже наработки
    Если у кого то не срослось, не значит что это не работает
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

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

    По умолчанию

    если знакомы что такое groovy, тогда мне кажется, станет понятным как удобно отлаживать код уже на самом объекте, да и заказчику не стоит бояться, что у него на руках компиленый код без возможности его прочесть. Создать циклическое выполнение одного и того же кода, как в плк не проблема, функций для этого достаточно, плюсом может идти по настоящему параллельная работа разных блоков программа, из минусов такой код сопоставим с панелями, потому что в компе нет внутренних физических входов/выходов, обязательно нужна перефирия
    а используем мы IEI Technology
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10
    Пользователь
    Регистрация
    13.10.2007
    Адрес
    Воскресенск
    Сообщений
    68

    По умолчанию

    как сделать RESET из любого шага? помогите плииииззз...
    Вложение 22717

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. простой вопрос по Sfc
    от drvlas в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 31.10.2010, 10:03
  2. Вопрос по программированию на языке SFC
    от Илья ИТ в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 19.12.2008, 13:02
  3. Вопрос по SFC?
    от незарегистрированный_ОЛЕГ в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 10.08.2008, 16:28
  4. Параллельные токовые выходы
    от Sniper007 в разделе Подбор Оборудования
    Ответов: 5
    Последнее сообщение: 31.01.2008, 20:19
  5. вопрос по Sfc
    от AlexZ в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 03.04.2007, 18:31

Ваши права

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