Средство для программирования контроллера: Си или МЭК 61131? |
Ответить | Страница <1 4546474849 53> |
Автор | ||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
Опубликовано: 24 Октябрь 2003 20:36 |
|||||
Кстати, LD есть и в текстовом варианте. Выразительность, конечно, страдает, зато переносимость есть.
Тэк-с, посмотрим, что Вы тут написали... Читабельность на уровне, о закрытии клапана речи не было, о сбросе команды на открытие тоже, как реализованы таймауты - тайна сия велика есть, да и как выполняется данный алгоритм - параллельно или циклически? Непонятно.... Короче, вот аналог того, что Вы здесь привели, на LD (изобразил, как смог): | Команда_открыть Управление |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
||||||
Поскольку со стороны г.Зюбина звучали упреки в том, что соответствие программного пакета МЭК стандарту не является гарантией чего бы то ни было при том унтер-пришибеевском понимании роли стандартов, которое указанному г. присуще, интересно было бы оценить, так ли все хорошо "в стане С/C++". Статья http://www.cuj.com/documents/s=8193/cuj0104sutter/ освещает этот вопрос. Особенно забавна таблица http://www.cuj.com/documents/s=8193/cuj0104sutter/tab1.htm |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 29 Сентябрь 2003 Категория: Isle Of Man Online Status: Offline Публикации: 119 |
||||||
Olej "читаемость" - это всегда прямая функция "грамотности" Читаемость (или, если угодно, "читабельность"), конечно, зависит от грамотности читателя. Но, к сожалению, зависит не только от этого. По поводу читаемости и сопровождаемости С программ есть известное изречение: С is a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
||||||
Мне непонятно, о каком сбросе команды на открытие идет речь... это событийная архитектура... т.е. возникает необходимость открыть клапан, он открывается и все.
Могу пояснить: когда проходит время равное Т_НА_СРАБАТЫВАНИЕ_УСТРОЙСТВ_ГВС - оператору передается сообщение об отказе клапана и процесс завершается с ошибкой. ТАЙМАУТ Т_НА_СРАБАТЫВАНИЕ_УСТРОЙСТВ_ГВС
алгоритм выполняются и параллельно (относительно других подобных алгоритмов - процессов) и циклически (как любой автомат, тот же SFC)... Если Вы работали с SFC, то состояния (СОСТ/state) процесса (ПРОЦ/proc) алгоритмически эквивалентно паре "шаг+переход"...
Наверное вот так все-таки | Команда_открыть Управление |--------| |-----------(S) | +-----+ | Управление Датчик_откр | TON | Отказ |--------| |-------------|/|-------+In Q+--------( ) | | | | Т_НА_СРАБАТЫВАНИЕ_УСТРОЙСТВ_ГВС--+Pt Et+ | +-----+ | Управление Датчик_откр Открыто |--------| |-----------| |----------------------( ) | Сразу замечу, очень хорошо, что у Вас одновременно контролируется и сброс управления и состояние... в оригинале это исключено для упрощения начального понимания написанного. Ремарки: 1. Не вошел (по длине) идентификатор спецификации времени таймаута, пришлось все сдвинуть вправо 2. Сигнал "Датчик_откр" - входит у Вас два раза. 3. В случае нормального срабатывания клапана выдается не сигнал "Открыто", а сообщение оператору "Клапан в норме" 4. В оригинальном описании нет сигнала "Команда Открыть".. Вопросы: Таким образом в программе можно различать "Отказ Открытия клапана NN" от всех других отказов? от Отказа _Закрытия_ клапана NN? От Отказов других клапанов II, KK, LL, MM? Отмечу, что в оригинальном тексте эти вещи различаются. Да! Кстати, этот же вопрос касается сигналов "Команда_открыть", "Управление" и "Датчик_откр"... |
||||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||||||
Гость |
||||||
Это не запорно регулирующий клапан. Ааа..так бы и сказали, что это отсечной. Тогда пояснений не буду делать. |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 09 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 247 |
||||||
В общем случае с отсечным клапаном в LD проблем больше... не говоря уже о всяких там люфтах и прочих тонкостях... |
||||||
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК http://reflex-language.narod.ru/ |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Вы хотите сказать, что тепловоз это простой объект? Не уверен точно насчет тепловоза, а вот электровоз - штука достаточно сложная. Раз уж мы собрались на этом сайте, рекомендую почитать СТА №4/2000, в котором много статей посвящено железнодорожному транспорту. |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Не буду спорить, такие случаи бывают. Однако гораздо чаще случается ситуация, когда программист злоупотребляет возможностями языка, вследствие чего алгоритм становится плохо читаемым. Я хочу сказать, что в гораздо большей степени читабельность зависит от подготовки человека, написавшего программу. В этом и текстовые, и графические языки похожи.
Я бы не стал говорить, что графические языки вообще проще в изучении, чем текстовые. Совсем нет - эквивалентные по выразительным свойствам языки изучить одинаково легко. Возможно, некоторую роль играет простота использования неподготовленным пользователем, когда можно нажать кнопку мышью на панели инструментов вместо того, чтобы вспоминать тот или иной оператор. Это снимает один из психологических барьеров перед использованием языка, и человеку кажется, что использовать его проще. Основное преимущество графических языков состоит в наглядности программы и отладочной информации. Впрочем, это преимущество легко может быть нивелировано усилиями программиста, получающего большую свободу действий (блоки можно расположить в разных местах экрана, соединить как угодно и т.п.) в запутывании собственной программы. Чем болше ограничений накладывает графический язык, тем труднее сделать программу нечитаемой, и тем труднее её писать. Так что это, скорее, является возможностью графического представления, недоступной текстовым языкам, а вовсе не его общим свойством. |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
С тем же успехом можно утверждать, что в основе языка Си лежит использование фигурных скобок и оператора присваивания в виде знака "равно". А все другие элементы инородны (натасканы из Паскаля, Алгола, Фортрана...) :-)
Наиболее гибкое не означает автоматически наиболее удобное. Да, все можно написать на этих двух языках, но я бы не хотел заниматься поддержкой такой системы. |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||||
Даже если бы это было правдой, как это связано с безопасностью?
Это лишь означает, что LD по сравнению с SFC - язык более низкого уровня, то есть, SFC обладает меньшими возможностями. Кроме того, SFC не самодостаточен, в отличие от LD, то есть на нем вообще нельзя написать произольную программу, не пользуясь другими языками. В самом деле, он выполняет роль CASE-средства для более удобного описания переходов между состояниями программы. Для описания же самих состояний программы наиболее удобны LD и FBD. |
||||||
Инженер-системотехник
+7 (916) 477 3925 |
||||||
Ответить | Страница <1 4546474849 53> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |