|
  |
Язык программирования ПЛК, Ваш выбор |
|
|
|
8.6.2007, 15:39
|
Все под контролем!
Группа: Участники форума
Сообщений: 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???
|
|
|
|
|
8.6.2007, 15:50
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945

|
"Или все-таки FBD???" Разумеется.
"с точки зрения итогового быстродействия" Неактуально.
|
|
|
|
|
8.6.2007, 16:01
|
Группа: Участники форума
Сообщений: 1755
Регистрация: 6.12.2006
Из: Москва
Пользователь №: 5075

|
На FBD никогда не писал. LD или ST.
|
|
|
|
|
8.6.2007, 16:03
|
Все под контролем!
Группа: Участники форума
Сообщений: 952
Регистрация: 9.11.2006
Из: Санкт-Петербург
Пользователь №: 4668

|
Цитата(ttt @ 8.6.2007, 16:50)  "с точки зрения итогового быстродействия" Неактуально. А для чего неактуально то? Поясните. Ведь бывают сложные алгоритмы и "медленные" ПЛК?
|
|
|
|
|
8.6.2007, 16:07
|
Группа: Участники форума
Сообщений: 695
Регистрация: 13.4.2005
Из: Киев
Пользователь №: 666

|
Аппаратные ограничения сейчас практически отсутствуют - были бы деньги, да и не особая в них разница. Программы исполняются машинами и им все равно, на чем был написан исходник. А вот пишутся программы, отлаживаются, эксплуатируются и модифицируются людьми. Чем более понятен и удобочитаем текст или графика программы, тем лучше. Чем грамотнее разработчик, тем короче и эффективнее будет его программа при прочих равных условиях. И всегда ли нужно стремиться к оптимизации? Часто даже неэффективный код вполне укладывается в рамки и в таком случае его дальнейшее вылизывание представляет собой только академический интерес.
Любую программу можно написать на любом языке - на одном лучше, на другом хуже, но результат будет.
С уважением Взводатор.
|
|
|
|
Гость_Игорь Борисов_*
|
8.6.2007, 16:08
|
Guest Forum

|
Цитата(ttt @ 8.6.2007, 16:50)  "Или все-таки FBD???" Разумеется. "с точки зрения итогового быстродействия" Неактуально. У Zelio есть в меню пунктик... "Check the programm" - и там есть пунктик "Время цикла".... можно посмотреть время... у меня больше 12 мс не бывает...
|
|
|
|
|
8.6.2007, 16:18
|
Все под контролем!
Группа: Участники форума
Сообщений: 952
Регистрация: 9.11.2006
Из: Санкт-Петербург
Пользователь №: 4668

|
Цитата(Игорь Борисов @ 8.6.2007, 17:08)  У Zelio есть в меню пунктик... "Check the programm" - и там есть пунктик "Время цикла".... можно посмотреть время... у меня больше 12 мс не бывает... Но есть же еще ограничения по колличеству блоков в программе.
|
|
|
|
|
8.6.2007, 16:21
|
Группа: Участники форума
Сообщений: 1755
Регистрация: 6.12.2006
Из: Москва
Пользователь №: 5075

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

|
В основном FBD (но только не в таком как в Кодесисе), и некоторые вещи на ST.
|
|
|
|
|
8.6.2007, 20:32
|
Группа: Участники форума
Сообщений: 831
Регистрация: 20.6.2006
Пользователь №: 3194

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

|
Цитата(Fanat @ 8.6.2007, 17:18)  Но есть же еще ограничения по колличеству блоков в программе. Угум. есть. но я тока один раз получил нехватку... был взбешен, пришлось ваять на твидо...
|
|
|
|
|
8.6.2007, 22:50
|
Группа: Участники форума
Сообщений: 247
Регистрация: 10.12.2006
Из: Питер
Пользователь №: 5129

|
FBD любят все, кроме профессиональных электриков, которым нужен только LD, имхо FBD нагляднее. Это если сравнивать графические языки. Но вот иногда возможностей графики начинает нехватать, т.е. ты представляешь себе кусок алгоритма в текстовом виде, но никак это блоками не можешь придумать. И так хочется взять какой-нибудь IL-STL а контроллер его не умеет поддерживать. и все, так и не стать программистом
|
|
|
|
|
9.6.2007, 6:06
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
Цитата(mich_vk @ 8.6.2007, 19:50)  FBD любят все, кроме профессиональных электриков, которым нужен только LD, имхо FBD нагляднее. Это если сравнивать графические языки. Но вот иногда возможностей графики начинает нехватать, т.е. ты представляешь себе кусок алгоритма в текстовом виде, но никак это блоками не можешь придумать. И так хочется взять какой-нибудь IL-STL а контроллер его не умеет поддерживать. и все, так и не стать программистом  берем другой компилятор с возможностью преобразования и переконверчиваем его =) (но это так - размышления.... не делал я такого) А вообще использую ST... пока мне почему-то сложно представить написанное в виде графики, хотя, наверняка возможно. В общем надо пытаться - лиж бы было на чем. Симуляцию терпеть не могу....
|
|
|
|
Гость_mike-altai_*
|
9.6.2007, 6:50
|
Guest Forum

|
Симуляция-то в чем виновата? Щелкнешь кобылу по носу - она махнет хвостом  Козьма Прутков (С). На FBD схемы рисовать вовсе не сложно - немного другой подход, чем при написании кода. Мне привычнее рисовать логику на элементах И, ИЛИ, НЕ, счетчиках и триггерах...
|
|
|
|
|
9.6.2007, 7:16
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945

|
Цитата(Fanat @ 8.6.2007, 17:03)  А для чего неактуально то? Поясните. Ведь бывают сложные алгоритмы и "медленные" ПЛК? В нашей предметной области автоматизации медленные процессы. Программный цикл в 1 сек вполне достаточен. За 1 сек любой ПЛК выполнит программу. Актуально для промышленной автоматизации. Писал на ассемблере, С, FBD. Разница не только в удобстве или наглядности. На ассемблере или С можно и нужно писать 1 раз (и долго отлаживать) для одного устройства. Потом это устройство штамповать и продавать. Мы занимаемся другим - фактически создаем и продаем программы под разные установки (я запрограммировал за последние 9 лет около 1000 контроллеров, НИ ОДНОЙ одинаковой программы). На С это невозможно.
|
|
|
|
|
9.6.2007, 9:50
|
Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837

|
Каждая задача наиболее изящно реализуется на своем языке. Но с точки зрения конечного пользователя, это создает трудности в понимании алгоритма. Поэтому я пишу отдельные блоки на ST, а общую структуру программы строю на FBD, CFC и SFC.
|
|
|
|
|
9.6.2007, 9:50
|
Группа: Участники форума
Сообщений: 218
Регистрация: 22.11.2006
Из: PACA
Пользователь №: 4847

|
Раньше писал на FBD, теперь перешёл на LAD (для удобства наших наладчиков) и привык.
P.S. Законченные подпрограммы пишу на чём удобнее и запароливаю, не для секретности, а чтобы кривыми ручками не попортили.
Сообщение отредактировал Mitya78 - 9.6.2007, 10:37
|
|
|
|
|
9.6.2007, 10:17
|
Группа: Участники форума
Сообщений: 1918
Регистрация: 13.11.2006
Из: Новочеркасск
Пользователь №: 4716

|
несколько лет назад впервый раз увидел программу в LAD для s-200 и теперь на нем и делаю. хотя могу и в FBD и STL но... Нагляднее что-ли. Согласен, что бывают моменты когда проще в других видах.
|
|
|
|
|
9.6.2007, 19:33
|
Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837

|
LAD это язык релейных диаграмм. Подходит только для битовой логики.
|
|
|
|
|
10.6.2007, 18:24
|
Группа: Участники форума
Сообщений: 831
Регистрация: 20.6.2006
Пользователь №: 3194

|
Подходит-неподходит... На некоторых контроллерах есть только LD, а математика и прочее сделано в виде различных расширений LD.
|
|
|
|
|
10.6.2007, 19:39
|
Группа: Участники форума
Сообщений: 3569
Регистрация: 30.8.2006
Пользователь №: 3837

|
Цитата На некоторых контроллерах есть только LD Ну и в *** такие контроллеры
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2Vtzqx9HerZ
ООО «УНИСПЛИТ» ИНН: 6453155081 erid: 2VtzqvmjJqS
ООО "АйДи-Электро" ИНН:6670013662 erid:2Vtzqwtpv5j
Последние сообщения Форума
|