Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 48

Тема: вопрос специалистам

  1. #21

    По умолчанию

    Для тех кто нормально LD поддерживает (омрон например) конструкция подобная CASE реализуеся очень просто, точнее она там вообще не к месту, проще и гибче всё. ST там разве что для блоков с кучей расчётов.
    Если LD видели только в средах похожих на кодесис, значит многое пропустили.

  2. #22

    По умолчанию

    Добавлю и я свои 5 копеек, чего сложного в CASE? Все диалекты LD, в том числе и кодесисовский его поддерживают элементарно. Писать управляющую программу на паскале - полный бред. Для того чтобы обеспечить многозадачность нужна операционная система реального времени. Все цепочки в LD работают одновременно, попробуйте-ка на паскале реализовать скажем параллельно выполняющиеся 300 булевских выражений. В управлении, как правило не нужно много вычислений, там много булевой алгебры, что и реализуется при помощи LD или IL. Классическое программирование, чему учат всех программистов здесь не катит. Можно, конечно извратиться, и написать на паскале или С программу управления, но это будет на порядок дольше и следовательно дороже чем на LD. Какие-то вещи, например обработку массивов, сложные вычисления проще писать на языках высокого уровня, они для этого и предназначены, но во всех серьезных контроллерах это можно организовать в виде функций и языки эти поддерживаются.

  3. #23

    По умолчанию

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    Писать управляющую программу на паскале - полный бред. Для того чтобы обеспечить многозадачность нужна операционная система реального времени. Все цепочки в LD работают одновременно, попробуйте-ка на паскале реализовать скажем параллельно выполняющиеся 300 булевских выражений.
    Я бы на вашем месте не был так категоричен, ведь суть моей задачи вы не знаете. Иногда как раз таки и не надо, чтобы программные блоки выполнялись одновременно. И тогда придётся извращаться уже в LD. Конечно, быстродействие и т.п. - тут вы правы. Но никто меня не убедит, что некоторые сложные задачи проще решать в LD. Повторюсь - не все, а некоторые задачи.

    А многозадачность в CoDeSys (впрочем, как и в других современных средах) обеспечивается элементарно - просто создаёте столько задач, сколько нужно. И на каком языке писать эти задачи - это уже не важно.

    С Омроном я работал. И мне не понравилось (я имею ввиду среду разработки). Возможно, что это пережитки моего программистского прошлого, но всё-таки (если нет особых требований к быстродействию), я предпочитаю ST. Конечно, если логика программы относительно проста, то LD проще и понятнее. Однако мы не ищем простых путей)))))) (и не пишем простых программ).

    В общем, по этому поводу можно долго рассуждать, и всё равно каждый останется при своём мнении)))))

  4. #24

    По умолчанию

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    Для того чтобы обеспечить многозадачность нужна операционная система реального времени. Все цепочки в LD работают одновременно,
    смешно ))))
    ...мало систем можно вспомнить, где время рулиться так жестоко, как в контроллерах....
    ... системы реального времени - суть системы в которых разработчик гарантированно знает чем система занимается в каждый произвольно взятый квант времени....

    а про одновременную работу цепочек где прочитали, в святом писании про 7 дней ???
    ... если вы правда это не значете, то "одновременность" работы заключается в "одновременном" считывании мартицы входов и "одновременной" же записью сгенерированной матрицы выходов... на каком языке происходит реализация функции обработки по барабану, (ну конечно за исключением случаев, когда на каком-либо языке можно желаемую функцию выразить лаконичнее)

    кстати, про классическое пограммирование... если вы имеете ввиду однозадачное, времен 70 годов, то да не катит, а современные модели с классами и "событийной ориентированностью выполнения" очень хорошо ложиться на цикл контроллера
    Последний раз редактировалось Дмитрий Артюховский; 23.12.2010 в 10:14.

  5. #25

    По умолчанию

    Господа - давайте спокойнее.
    1.МЭК - он по тому и содержит 5 языков, чтобы каждый специалист мог писать на удобном ему исторически.
    И спорить тут бесполезно - это как спорить про цвет машины...
    2.Системы реального времени, как правильно замечено - сложная и дорогая система, требующая и специализированной ОС и кучу еще чего. Напомню - Real Time - это не скорость выполнения, а отсутствие задержек.
    3.Ни в одном контроллере, даже Real Time времени в LD все ветки параллельно не выполняются. Выполняется первая строчка слева на право, потом вторая, потом третья... потом последняя. Записали образ выходов, считали образ входов, и начинаем с первой строчки.
    Процессоры то все-таки не многоядерные используются...

  6. #26

    Talking

    Ну я посмотрю на Вас, когда надо будет одновременно обслужить систему из 1000 входов и 500 выходов. Причем управлять будете из программы на паскале или бейсике под управлением окошек в качестве ОС.
    Здесь речь идет именно о программировании логических контроллеров, которые пришли на смену релейных систем управления и жесткой логики.
    Ваше FOR TO DO катит только для обработки массива. Задача из учебника по программированию для 5-го класса средней школы.
    Мне глубоко по барабану как там контроллер обрабатывает свои LD цепочки, так как с точки зрения программирования это выглядит и выполняется точно также как релейная схема.

  7. #27
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Уважаемые коллеги не горячитесь. Я сам в предпочитаю ST, это очень удобно. остальные языки использую по необходимости.
    Имею дело с заводом по производству газосиликатных блоков(стороили немцы) и сендвич панелей(итальянцы).
    Заводы полностью автоматизированы. используются многоконтроллерные системы. семен семеныч естественно. так вот ПО также написано в основном на LD и ST. Кстати и немцы и итальянцы больше стараются писать на LD - легче обслуживать, нагляднее режим ОНлайн.
    А несколько контроллеров для того и ставят, что бы не обрабатывать одновременно 500-1000выходов.

  8. #28

    По умолчанию

    Цитата Сообщение от ks-app Посмотреть сообщение
    К тому же "корни" мои растут из прикладного программирования и Паскаля. И хотя программированием контроллеров занимаюсь уже не мало, предпочтения остались.

    Кроме того "буржуйской" техникой без крайней необходимости стараюсь не пользоваться. Кроме плюсов есть и минусы, такие как сроки поставки. Иногда приходилось по 5-6 месяцев ждать.

    А вообще спасибо за советы. Есть над чем подумать.
    Кстати по теме - У Вас какое образование? Имею в виду, что "классические программисты" обычно очень тяжело привыкают программировать на МЭКовских языках, а инженеры по автоматизации делают это очень легко (если не дураки, конечно ). В программировании контроллеров очень важно знать теорию автоматического управления. Все эти МЭКовские языки изначально создавались для инженеров-электриков, которые привыкли к релейным схемам, отсюда и представление кода такое.
    Сроки поставки буржуйской техники это что-то, согласен, но надежность и предсказуемость поведения системы окупают это неудобство. Советую брать все от одного производителя, будете делать все действия с системой из одного проекта и программного пакета, и шнурки не надо дергать - то в контроллер, то в привод, то панель оператора!
    Последний раз редактировалось Алексей Дмитриев; 24.12.2010 в 00:19.

  9. #29
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,280

    По умолчанию

    to Алексей Дмитриев

    Вы спросили как можно обработать на паскале 300 булей - я Вам показал. Но удивительным образом так же это делается на ST.
    И причем здесь окошки ?

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    :.Ваше FOR TO DO катит только для обработки массива.
    Ну да - это самый простейший обработчик для массивов. А это Вы к чему ?
    Для всего - свой инструмент. А плк это не только релейные схемы. К счастью.

    PS
    И вообще-то, я всего-лишь показал, что обработать 1000di и 500do - можно и на 1 плк.Причем не на каком языке, а на каком оборудовании.
    И опять про мифических классических программистов.
    Последний раз редактировалось Валенок; 24.12.2010 в 00:46.

  10. #30

    По умолчанию

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    Кстати по теме - У Вас какое образование? Имею в виду, что "классические программисты" обычно очень тяжело привыкают программировать на МЭКовских языках, а инженеры по автоматизации делают это очень легко (если не дураки, конечно ). В программировании контроллеров очень важно знать теорию автоматического управления.
    Образование у меня самое что ни на есть правильное)))) - Автоматизация технологических процессов и производств в машиностроении. Но это было уже потом, а в начале я самостоятельно осваивал программирование (начиная с Паскаля). С МЭКовскими языками проблем нет - работал практически со всеми. Просто предпочтение отдаю ST, поскольку мне это более привычно. Остальные использую по мере необходимости. Что касается ТАУ, то не для всех задач это так уж необходимо. Когда требуется регулирование, то да. Но мне обычно приходится решать чисто логические задачи.

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Ваши права

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