PDA

Просмотр полной версии : реализация последовательного алгоритма



Brandon_heat_dre
19.11.2018, 18:54
Доброго дня, возник такой вопрос.... как можно реализовать следующую задачу. Есть двигатель и есть определенная циклограмма т.е. он должен допустим включиться на 5 секунд разогнавшись до определенной скорости, потом остановиться так постоять секунд 30 потом опять включиться, крутиться 15 секунд потом остановиться и так далее. что то вроде автоматизированного погрузчика который катается по шпалам по заданной программе . это нужно реализовывать силами контроллера что не очень удобно так как там идет выполнение сразу всей программы за раз и последовательную реализацию можно сделать только через язык SFC ну или задержками и условиями но это не очень удобно, или же можно подключить OPC сервер далее к нему подцепить какую нибудь SCADA программу и уж в ней делать последовательности , увеличивать скорость останавливать , а в контроллере настроить только цикличный опрос и отправку параметров для частотника к примеру. но вот я попробовал реализовать такое дело на simple scada и выяснилось что там функции delay так же нет... все нужно делать через таймеры а это тоже не очень удобно, хотелось бы что бы это было как в классическом дельфи последовательно выполнение кода. в общем подскажите как лучше эту задачу реализовать изначально? или может быть есть какая то другая скада программа где есть задержки . спасибо.

OlegM
19.11.2018, 21:21
Что вы курили?

Brandon_heat_dre
19.11.2018, 21:57
ну пока ничего , но уже на грани

melky
19.11.2018, 22:13
По вашему delay в дельфях, C# это не таймеры ? :) тогда надо покурить уже...

Brandon_heat_dre
19.11.2018, 22:27
ну в delphi и в c это может и таймеры... а в скаде конкретно в simpl scada функции делей вообще нет. отсюда и вопрос . есть ли элементарная задержка в виде функции delay в других скада программах или они по одному принципу организованы... что вся программа выполняется не последовательно а за один заход целиком. как в плк.

Ryzhij
20.11.2018, 05:35
Никто, ну может быть лишь обкурившиеся, не делают такие вещи в HMI или SCADA.
Всё это без проблем делали в ПЛК, причем задолго до появления языка SFC.
Самый простой прием - постепенное пошаговое заполнение битового массива и контроль границы заполнения.
Можно счётчик шагов, но это было тяжелее для мозгов простейших ПЛК.

Brandon_heat_dre
20.11.2018, 09:15
Так ну один вопрос снят , СКАДА нужна только для отображения. А можно попробробнее тогда по поводу "постепенного пошагового заполнения битового массива" и как это дело привязать ко времени,
на данный момент у меня есть небольшая программа

слово состояния
|
командное слово
|
работа по заданию

и все это по кругу, работает стабильно порт не занимается данные передаются. и вот мне теперь допустим надо на 15 секунд двигатель запустить и после 15 секунд на 30 остановить. хотя бы намекните в какую сторону копать с этим массивом

melky
20.11.2018, 10:30
Если в Scada есть скрипты, то организовать там таймеры в том числе не проблема.

Владимир Ситников
20.11.2018, 15:51
Пилять, автомат же классический.
Только ДРАКОН, только хардкор: http://www.owen.ru/forum/showthread.php?t=27498&highlight=%EF%E0%F3%E7%E0 Ж)

Brandon_heat_dre
20.11.2018, 21:19
всем спасибо, вроде заработало, буду разбираться дальше.