Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете.
Это и не FBD. Там есть поддержка типов данных, в том числе структур. Так же данные делятся на потенциальные (мгновенное значение) и команды (буферизуемые значения). Так же имеется встроенная поддержка качества значений. Можно проводить обратные связи, они выделяются зеброй. При этом в качестве начальных значений берутся значения типа данных по умолчанию (прописывается в самом типе).
В общем там вагон всего, еще я планировал впилить туда контроль порядка выполнения в виде связей и поддержку условий. Тогда был бы полный Франкенштейн из FBD, SFC и обычных блок-схем.
А циклы реализуются самим принципом работы контроллера, который с заданной периодичностью прокручивает программу. Т.е. можно образно сказать, что все написанное — написано внутри одного большого цикла от единицы и до бесконечности. Этого в теории достаточно для написания программы под нужды технологов.


L #Radius
L #Level
-R // Radius — Level
A OV // error check in substraction operation
JC err
TAK // Preparation to divide: swap ACCUs
/R // (Radius — Level)/Radius
A OV // error check in division operation
JC err
ACOS // Arccosinus
A OV // error check in ACOS operation
JC err
L 2.000000e+000
*R // 2*ACOS((Radius — Level)/Radius)
A OV // error check in multiplication operation
JC err
PUSH // store value in ACCU2
SIN // calculating sinus
A OV // error check in SIN operation
JC err
-R // 2*ACOS((Radius — Level)/Radius) — SIN(2*ACOS((Radius — Level)/Radius))
A OV // error check in substraction operation
JC err
L 2.000000e+000
/R // Divide by 2
A OV // error check in division operation
JC err
L #Radius
SQR // Square, power 2
A OV // error check in power operation
JC err
*R // R*R*(2*ACOS((Radius — Level)/Radius) — SIN(2*ACOS((Radius — Level)/Radius)))/2
A OV // error check in multiplication operation
JC err
L #Length
*R // L*R*R*(2*ACOS((Radius — Level)/Radius) — SIN(2*ACOS((Radius — Level)/Radius)))/2
A OV // error check in multiplication operation
JC err
// Final volume
L 1.000000e+003
/R
A OV // error check in conversion operation
JC err
T #Volume
BEU // if no error stop here
err: L -1.000000e+000 //L#-1 // Returns -1 on error
T #Volume
я пишу примеры на FBD просто потому, что на языке ST это скучно
Насчёт реализации расчёта формулы на графике — на сименсе так точно делать не стоит :) И реализация в IL однозначно проще и быстрее для контроллера ;)
А уж переходить с Сименса на что-либо другое — это фантастика. Я совершенно не уверен, что израильских заказчиков устроит совершенно незнакомая им российская разработка.
С Сименсом мы плотно работали (в рамках стыковки систем) на Рязанской станции. И честно скажу — и в плане удобства, и в плане простоты и быстроты реализации проекта, и в плане характеристик (по моему «непредвзятому» мнению) он сильно нам уступил.
Что касается надежности, то тут ничего сказать не могу, т.к. жалоб на наше оборудование со станции не поступало, а по Сименсу мне информация недоступна. Так что будем считать примерно на равных пока.
Просто не следует делать шаляй-валяй.
Сименс делает системы крупные, а потому довольно сложные. С наскока не разберёшься. Скорее, наоборот: с наскока совершенно непонятно, какого лешего так сложно нагорожено. Понятно становится после пары-тройки проектов.
Не скажу про надёжность, а вот с доступностью информации ситуация диаметрально противоположная.
Так это не я разбирался. Там со стороны Сименса свои специалисты были. Я думаю они то уж должны разбираться в системе, на которой делают проекты.
У нас тоже есть расчеты надежности, наработки на отказ и т.д. Правда мое мнение заключается в том, что это чисто теоретические цифры типа сферического коня в вакууме.
И, что характерно, совершенно точно Siemens не копировали Ремиконт :)
переходите на нашу разработку!;)у нас есть печеньки!
По поводу вашей реализации расчета объема воды в баке: переходите на нашу разработку! будете делать то же самое, только проще и быстрее. Хотя по идее я тут должен выражать абсолютно нейтральное мнение, но результат сравнения налицо. Даже на алгоблоках расчет делается куда проще, чем у вас. А на ST так вообще в одну строку.
Т.е. суть в том, что программировать проще и быстрее.
Что касается документации: заказчику передается полный пакет документации в электронном виде.
По этому вопросу ничего сказать не могу т.к. это вне моих компетенций.
Возможно все дело в том, что мы сами реализуем проекты на нашей системе, а не продаем отдельно железки и ПО сторонним проектным организациям как это делает тот же Сименс. В связи с этим и нет особой необходимости в горах документации в открытом доступе.
И этим компания себя сильно ограничивает.
Небольшая игрушка «Сапер» не в 30 строк