Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Язык программирования ПЛК, Ваш выбор
Fanat
сообщение 8.6.2007, 15:39
Сообщение #1


Все под контролем!


Группа: Участники форума
Сообщений: 952
Регистрация: 9.11.2006
Из: Санкт-Петербург
Пользователь №: 4668



Захотелось возобновить дискуссию по поводу программирования ПЛК. Все-таки что лучше и на чем удобнее по Вашему мнению писать ПО, не только с точки зрения простоты и удобства, а еще и с точки зрения итогового быстродействия.
Ведь ресурсы ПЛК не безграничны и его работа определяется не всегда объемом памяти под программу, но и умением ее выполнить. Особенно это касается возможностей маломощных отечественных ПЛК, но и у иностранцев бывают проблемы. На том же Сименса 400-ке столкнулись с неприятностями, связанными со временем исполнения кода.
Вот что вычитал тут на сайте КоДеСис в поддержку IL и ST супротив Си, на котором написан нижний уровень у многих ПЛК:
Цитата
Возможность CoDeSys генерировать машинный код означает, что вы можете рассчитывать на максимальное быстродействие, которое способна обеспечить данная аппаратура. Базовая инструкция IL требует от одной до трех машинных команд. В расчете на 1000 логических IL инструкций это дает примерно следующие результаты:


Pentium 200 MMX 20µs

386EX 20 MHz 700µs

68332 20 MHz 600µs

80C167 20 MHz 570µs

Dallas 80C32 20 MHz 1700µs

Генератор C кода оказывается на 20 - 30 % медленнее, интерпретатор замедляет выполнение примерно на порядок.


Что скажете? Или все-таки FBD???
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ttt
сообщение 8.6.2007, 15:50
Сообщение #2





Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945



"Или все-таки FBD???"
Разумеется.

"с точки зрения итогового быстродействия"
Неактуально.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей Долганов
сообщение 8.6.2007, 16:01
Сообщение #3





Группа: Участники форума
Сообщений: 1755
Регистрация: 6.12.2006
Из: Москва
Пользователь №: 5075



На FBD никогда не писал. LD или ST.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Fanat
сообщение 8.6.2007, 16:03
Сообщение #4


Все под контролем!


Группа: Участники форума
Сообщений: 952
Регистрация: 9.11.2006
Из: Санкт-Петербург
Пользователь №: 4668



Цитата(ttt @ 8.6.2007, 16:50) *
"с точки зрения итогового быстродействия"
Неактуально.

А для чего неактуально то? Поясните. Ведь бывают сложные алгоритмы и "медленные" ПЛК?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Взводатор
сообщение 8.6.2007, 16:07
Сообщение #5





Группа: Участники форума
Сообщений: 695
Регистрация: 13.4.2005
Из: Киев
Пользователь №: 666



Аппаратные ограничения сейчас практически отсутствуют - были бы деньги, да и не особая в них разница. Программы исполняются машинами и им все равно, на чем был написан исходник. А вот пишутся программы, отлаживаются, эксплуатируются и модифицируются людьми. Чем более понятен и удобочитаем текст или графика программы, тем лучше. Чем грамотнее разработчик, тем короче и эффективнее будет его программа при прочих равных условиях. И всегда ли нужно стремиться к оптимизации? Часто даже неэффективный код вполне укладывается в рамки и в таком случае его дальнейшее вылизывание представляет собой только академический интерес.

Любую программу можно написать на любом языке - на одном лучше, на другом хуже, но результат будет.

С уважением Взводатор.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Игорь Борисов_*
сообщение 8.6.2007, 16:08
Сообщение #6





Guest Forum






Цитата(ttt @ 8.6.2007, 16:50) *
"Или все-таки FBD???"
Разумеется.
"с точки зрения итогового быстродействия"
Неактуально.


У Zelio есть в меню пунктик... "Check the programm" - и там есть пунктик "Время цикла".... можно посмотреть время... у меня больше 12 мс не бывает...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Fanat
сообщение 8.6.2007, 16:18
Сообщение #7


Все под контролем!


Группа: Участники форума
Сообщений: 952
Регистрация: 9.11.2006
Из: Санкт-Петербург
Пользователь №: 4668



Цитата(Игорь Борисов @ 8.6.2007, 17:08) *
У Zelio есть в меню пунктик... "Check the programm" - и там есть пунктик "Время цикла".... можно посмотреть время... у меня больше 12 мс не бывает...

Но есть же еще ограничения по колличеству блоков в программе.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей Долганов
сообщение 8.6.2007, 16:21
Сообщение #8





Группа: Участники форума
Сообщений: 1755
Регистрация: 6.12.2006
Из: Москва
Пользователь №: 5075



И числа рекурсий.
Привет Николаю ,)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kass
сообщение 8.6.2007, 16:50
Сообщение #9





Группа: Участники форума
Сообщений: 2841
Регистрация: 22.12.2006
Из: Москва
Пользователь №: 5301



В основном FBD (но только не в таком как в Кодесисе), и некоторые вещи на ST.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AlexG
сообщение 8.6.2007, 20:32
Сообщение #10





Группа: Участники форума
Сообщений: 831
Регистрация: 20.6.2006
Пользователь №: 3194



В порядке убывания: LD, ST, SFC. О быстродействии даже не задумываюсь, главное правильность работы и понятность программы для человека. Когда память начинает кончатся приходится задуматься об объеме программы.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Игорь Борисов_*
сообщение 8.6.2007, 20:49
Сообщение #11





Guest Forum






Цитата(Fanat @ 8.6.2007, 17:18) *
Но есть же еще ограничения по колличеству блоков в программе.

Угум. есть. но я тока один раз получил нехватку... был взбешен, пришлось ваять на твидо...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
mich_vk
сообщение 8.6.2007, 22:50
Сообщение #12





Группа: Участники форума
Сообщений: 247
Регистрация: 10.12.2006
Из: Питер
Пользователь №: 5129



FBD любят все, кроме профессиональных электриков, которым нужен только LD, имхо FBD нагляднее. Это если сравнивать графические языки. Но вот иногда возможностей графики начинает нехватать, т.е. ты представляешь себе кусок алгоритма в текстовом виде, но никак это блоками не можешь придумать. И так хочется взять какой-нибудь IL-STL а контроллер его не умеет поддерживать. и все, так и не стать программистом sad.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 9.6.2007, 6:06
Сообщение #13





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



Цитата(mich_vk @ 8.6.2007, 19:50) *
FBD любят все, кроме профессиональных электриков, которым нужен только LD, имхо FBD нагляднее. Это если сравнивать графические языки. Но вот иногда возможностей графики начинает нехватать, т.е. ты представляешь себе кусок алгоритма в текстовом виде, но никак это блоками не можешь придумать. И так хочется взять какой-нибудь IL-STL а контроллер его не умеет поддерживать. и все, так и не стать программистом sad.gif


берем другой компилятор с возможностью преобразования и переконверчиваем его =) (но это так - размышления.... не делал я такого)

А вообще использую ST... пока мне почему-то сложно представить написанное в виде графики, хотя, наверняка возможно. В общем надо пытаться - лиж бы было на чем. Симуляцию терпеть не могу....
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_mike-altai_*
сообщение 9.6.2007, 6:50
Сообщение #14





Guest Forum






Симуляция-то в чем виновата? Щелкнешь кобылу по носу - она махнет хвостом smile.gif Козьма Прутков (С).
На FBD схемы рисовать вовсе не сложно - немного другой подход, чем при написании кода. Мне привычнее рисовать логику на элементах И, ИЛИ, НЕ, счетчиках и триггерах...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ttt
сообщение 9.6.2007, 7:16
Сообщение #15





Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945



Цитата(Fanat @ 8.6.2007, 17:03) *
А для чего неактуально то? Поясните. Ведь бывают сложные алгоритмы и "медленные" ПЛК?

В нашей предметной области автоматизации медленные процессы.
Программный цикл в 1 сек вполне достаточен. За 1 сек любой ПЛК выполнит программу.
Актуально для промышленной автоматизации.

Писал на ассемблере, С, FBD.
Разница не только в удобстве или наглядности.

На ассемблере или С можно и нужно писать 1 раз (и долго отлаживать) для одного устройства. Потом это устройство штамповать и продавать.
Мы занимаемся другим - фактически создаем и продаем программы под разные установки (я запрограммировал за последние 9 лет около 1000 контроллеров, НИ ОДНОЙ одинаковой программы). На С это невозможно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Abysmo
сообщение 9.6.2007, 9:50
Сообщение #16





Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837



Каждая задача наиболее изящно реализуется на своем языке. Но с точки зрения конечного пользователя, это создает трудности в понимании алгоритма. Поэтому я пишу отдельные блоки на ST, а общую структуру программы строю на FBD, CFC и SFC.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Mitya78
сообщение 9.6.2007, 9:50
Сообщение #17





Группа: Участники форума
Сообщений: 218
Регистрация: 22.11.2006
Из: PACA
Пользователь №: 4847



Раньше писал на FBD, теперь перешёл на LAD (для удобства наших наладчиков) и привык.

P.S. Законченные подпрограммы пишу на чём удобнее и запароливаю, не для секретности, а чтобы кривыми ручками не попортили.

Сообщение отредактировал Mitya78 - 9.6.2007, 10:37
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
HasBolla
сообщение 9.6.2007, 10:17
Сообщение #18





Группа: Участники форума
Сообщений: 1918
Регистрация: 13.11.2006
Из: Новочеркасск
Пользователь №: 4716



несколько лет назад впервый раз увидел программу в LAD для s-200 и теперь на нем и делаю. хотя могу и в FBD и STL но... Нагляднее что-ли. Согласен, что бывают моменты когда проще в других видах.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Abysmo
сообщение 9.6.2007, 19:33
Сообщение #19





Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837



LAD это язык релейных диаграмм. Подходит только для битовой логики.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AlexG
сообщение 10.6.2007, 18:24
Сообщение #20





Группа: Участники форума
Сообщений: 831
Регистрация: 20.6.2006
Пользователь №: 3194



Подходит-неподходит... На некоторых контроллерах есть только LD, а математика и прочее сделано в виде различных расширений LD.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Abysmo
сообщение 10.6.2007, 19:39
Сообщение #21





Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837



Цитата
На некоторых контроллерах есть только LD


Ну и в *** такие контроллеры smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274



ООО "Русич" ИНН 9721068883 / ЕРИД 2Vtzqx9HerZ


ООО «УНИСПЛИТ» ИНН: 6453155081 erid: 2VtzqvmjJqS

ООО "АйДи-Электро" ИНН:6670013662 erid:2Vtzqwtpv5j

Последние сообщения Форума






RSS Текстовая версия Сейчас: 24.6.2025, 2:44
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных