Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 3435363738 53> |
Автор | ||||||
Гость |
Опубликовано: 21 Октябрь 2003 15:44 |
|||||
Владимир, при чем тут диагностика, события и языки программирования? :) Каким боком это связано? Только тем, что ЭТО живет в контроллере? А вообще конечно, если смотреть сверху, то снизу кажется, что сбоку гораздо виднее. ;)
|
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Август 2003 Категория: Russian Federation Online Status: Offline Публикации: 108 |
||||||
Отличный перл. :) |
||||||
С уважением,
Бессонов Ян. |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
||||||
Имеет смысл прочитать о мультиязыковом программировании в профессиональных книгах по психологии программирования, в исследованиях за которыми стоят строгие научные эксперименты и статистика... Это же не я придумал... и метафорами тут ничего не докажешь. Лично для меня "молотками" и "отвертками" в языке являются его выразительные средства... Почитайте научные исследования. Убогость выразительных средств это норма для ЛЮБОГО из т.н. графических языков. В каких-то случаях это допустимо, например в UML, а в каких-то случаях является ограничением на применение, как в случае МЭКовских SFC, LD, FBD. Не понимаю, какой смысл эти научные факты оспаривать...
Вот и я про это говорю. LD sucks... когда дело касается регуляторов, средних, и пр. Также реле непригодны при организации событийных алгоритмов... также "играя" с реле можно заработать рак мозга, пытаясь какую- нибудь самую захудалую блок-схему реализовать... Это просто констатация, заметьте. Факт, который для меня лично означает, что с LD лучше вообще не связываться... кроме исключительных шиз.случаев особо оговоренных в статье. :-) |
||||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||||||
Гость |
||||||
:)) Никогда не делайте ничего простого и практичного, если есть способ сделать это сложным и прекрасным. Владимир, Вам хорошо, у Вас есть установка выращивания кристаллов и Вы ее поддерживаете что есть мочи. А как быть с парнями, у которых в ТЗ прописано- реализовать в течение 2-х месяцев установку например гидрокрекинга? Сидеть в старом-добром привычном Си? Ага, с такими сроками Заказчик пошлет этих парней подальше и обратится к тем, кто на мэковских языках сделает то же самое, только быстрее. Ему, Заказчику, ждать пока сильно "вумный" и продвинутый сишный программер наколотит код код некогда- заказчики умеют считать деньги и чем быстрее они пустят установку, тем быстрее она будет давать прибыль и тем выгоднее это ВСЕМ (тем быстрее исполнитель денег получит и возьмется за другой проект и тем меньше задействует в проекте своих программистов и т.п.). А Заказчику тем быстрее потечет прибыль и быстрее окупится установка (а в сутки ее прибыль допустим N сотен тысяч долларов). Итак, в какую сторону экономический вопрос решится скорее- в комбинацию языков МЭК или в Си с Паскалем?. Теперь понятно в какую сторону и почему пошел прогресс и почему Си в АСУТП так живо отодвинулся в сторону от разработки алгоритмов управления ТП?
|
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 27 Март 2003 Категория: Russian Federation Online Status: Offline Публикации: 240 |
||||||
Что касается указателей, то far и near указатели классическая зависимость от x86 архитектуры. Это конечно не часть стандарта ANSI C, но часть любого компилятора для данной платформы. Когда в Small модели нужно использовать длинные указатели приходилось использовать far (и наоборот в large модели при необходимости использовать near). Библиотечные функции (скажем malloc) так же имели разные версии в зависимости от того аллокировался ближний или дальний блок. Ближний блок не мог быть по размеру больше сегмента x86 (64кбайта). MAKE_FP и т.п. Здесь конечно виноват не С как таковой, но это показывает, что разработчиками компиляторов С позиционировался как язык системного программирования, который должен учитывать особенности конкретной архитектуры. С Уважением, Сергей Сорокин
|
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Здесь возразить нечего. Действительно, многие :) Но если, как я понял из Вашего письма, Вы пытаетесь засунуть операторский интерфейс, архивы, диагностику и прочее в один несчастный контроллер, когда в цивилизованном мире давно известны средства для решения этих задач - то не удивительно, что Вам тесновато в рамках МЭК и необходимы мощные средства разработки общего назначения. Да и ОСРВ не помешала бы. Зато в качестве бонуса можно зайти в конференцию и похвастаться малиновыми штанами. :) Повторюсь, я сам этим занимался когда-то, в полной мере оценив все прелести экономии на софте и железе.
Я, конечно же, совсем не разбираюсь в Си, но догадываюсь, что в нем есть волшебный оператор change_priority_dynamic_for_maximum_performance(), который сразу решил бы все мои проблемы, не будь я таким невежей :)
Да, признаю: мое невежество не знает границ. Иначе бы я давно уже на надоедливый вопрос заказчика, когда же будет готов проект, отвечал бы: "Зато я знаю C, а вы - нет!" :)
Еще одно доказательство того, что весь спор ведется на пустом месте. Раз у Вас основные задачи на C, от этого никуда не деться. Пишите на нем и не пытайтесь обвинять оппонентов в невежестве, особенно если они с Вами согласны. |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
|
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Указатели - великая вещь, а в сишной реализации - вдвойне. Не помню, как дело обстояло с 8080, давно это было... Пример навскидку: int x = 0x0102; printf ("%d", (int)*((char*)&x)); На интеловских процессорах это будет 2. А на Мотороле? |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
#include <stdio.h> |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Хочу в таком случае заметить, это Вам не очень-то удалось. На мой взгляд, Вы внесли большую путаницу, что доказывается размерами получившегося флейма на пустом месте. Придется писать еще одну статью. Только, прошу Вас, прочтите сначала стандарт :) |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Ответить | Страница <1 3435363738 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |