Pull to refresh

Comments 9

Я вот чего понять не могу…
Раз вам надо так быстро выполнять операции с плавающей запятой, почему бы под это дело не взять один из современных DSP или, скажем, не сделать специализированную железяку на FPGA заточенную под конкретно данную задачу?
На специализированной железке можно добиться гораздо большей производительности и гораздо более предсказуемого времени выполнения операции, нежели на x86_{32,64}. Если нужен RTOS и GUI рисовать, то берёте любой понравившийся (и достаточноый по производительности для данной задачи) eMPU и цепляете к нему разработанную числодробилку на DSP или FPGA — это просто, понятно и даёт предсказуемые задержки.
DSP и FPGA серьезно проигрывают и x86 PLC, и обычным PLC в гибкости — стоимости изменения программы.
izard> Получил личный коммент от muzzy0.livejournal.com. Это инженер, который занимается пром
izard> автоматизацией. У него нет аккаунта на хабре.

muzzy0>
1. Пример с тремя вложенными циклами — просто отличный. Его должны показывать на первом уроке курса по structured text — как пример «как нельзя программировать ПЛК» :)

Подобных дел можно и в instruction list наворотить, но несколько сложнее.

Это было одной из первых любопытных вещей, с которой я столкнулся, когда столкнулся с программированием контроллеров. Не надо тащить на ПЛК десктопные привычки :))

У тебя и так программа в цикле крутится, так зачем запихивать такой здоровый цикл в один проход главного цикла? Напиши свою программу так, чтоб за один проход главного цикла у тебя выполнялся один (ну или не один, а в пределах разумного) проход твоего цикла — и порядок :)

А насчёт сращивания контроллера и HMI — чем крупнее объект, тем физически дальше они друг от друга и тем большая вычислительная мощность им требуется. Кроме того, контроллеры могут быть дублированными (как S7-400H) и их может быть несколько. А HMI сервера достаточно одного, хоть и дублированного. Вот только стоит этот сервер в шкафу, в серверном помещении, даже без монитора, а люди сидят за клиентскими станциями, тонкими (веб) и толстыми (рантайм скады).

мой ответ:
1. Конечно! Я специально и написял, что в IL так наворотить сложно, а в structured text — запросто.
Однако приведенный код, как ни странно, «боевой». Я видел приложение, гда надо было перемножать 4x4 матрицы почти каждый цикл.

2. Сращивание HMI и контроллера конечно удобный пример для Интел, но действительно часто не полезно для крупного объекта. Хотя бывает и наоборот: на конвейейре фабрики бмв видел HMI у каждого робота отдельно, в нем видно пошаговое исполнение structure text, и еще в операторском помещении все дублируется.
Ну, на самом деле подключают ПК к станкам. В бюджетных решениях.
Как пример, могу упомянуть комплекс Simple Cutter, выросший из моего дипломного проекта.
Всё управление процессом берет на себя обычный PC под управлением Windows. Не самый оптимальный подход, конечно, но тем не менее клиенты рады, и продано уже более 50 станков за два с небольшим года (при этом упираемся не в количество заказов, а в скорость производства и сборки).
Если интересно — могу попробовать наваять статью о том, как я до такого докатился и какие подводные камни собрал по дороге.
Нашел Simple Cutter — станок плазменной резки. Ваш продукт?

Какое время реакции необходимов вашем приложении?

Я как сотрудник Интел очень даже люблю PC. Но в европе может быть сложно с сертификацией. Хотя если приспособить сбоку отдельную safety железку, может быть прокатит.

Удачи вам, Beckhoff тоже начинал с обычных PC.
Да, да, он самый.
Время реакции — не совсем подходящий параметр для него. Т.к. реагировать, по-сути, не на что. Обратная связь минимальна, а сам станок, в случае потери управления, замирает и гасит плазму.
Управляющие сигналы отсылаются с частотой 800-1500Гц в зависимости от скорости резака. И вот тут уже нужна достаточно высокая стабильность. Впрочем, её обеспечивает даже обычная WinXP на простенькой современной машине, если параллельно производству не играть в игрушки.
UFO just landed and posted this here
Sign up to leave a comment.