Данный CODESYS форум содержит архивную копию русской ветви только для чтения. Для создания сообщений пожалуйста используйте актуальную международную платформу CODESYS Forum. Close

Работа с файлами, инициализация и хранение данных

Общий
crusash
2009-06-23
2009-08-25
  • crusash

    crusash - 2009-06-23

    Есть ли возможность построчно читать файлфы как это реализовано в других языках программирования. Самому конечно можно написать простенький цикл с побитовым чтением файла и проверкой конца строки, но думаю что внутренняя реалзация должна работать быстрее и надёжней.

    Еще вопрос, есть ли в Codesys библиотеки для работы с xml файлами, для хранения данных.

    И ещё, может у кого есть реализация обработчика ini файлов или в CodeSys предподчителен какой то другой механизм инициализации и хранения настроек программ?

    Предложения желательно выдовать в контексте Codesys v3.3 patch2...

    Контроллер будет Pentium 3, ОС Tiny Core linux

     
  • crusash

    crusash - 2009-07-01

    Chupakabra писал(а):
    Советую посмотреть на библиотеку OSCAT ( w www.oscat.de w ), есть версия для CoDeSys 3. XML-я там нет, к сожалению, но есть много чего полезного.

    Спасибо за совет, библиотека действительно симпатичная, много разных фишек которые так и просятся в мою программу))) Особенно порадовали функции преобразования из Char в Byte и обратно в соответствии ANSI кодировки (меня вообще удивило что такой функции нет в стандартной библиотеки). Большой облом что вся документация на немецком, хотя я английский не намного лучше знаю))), но с ним как то по привычней.

    К сожалению не встретил функций для работы с файлами, но думаю функции для работы с буфером, обработкой массивов и строк в какойто мере должно компенсировать это...

    А есть ли наши подобные разработки или хотябы разработки локализованные у нас (ну на худой конец на английском)...?

     
  • crusash

    crusash - 2009-08-06

    Подскажите пожалуста как выполнить/запустить командный файл из КДС3? Sell'овский или виндовый CMD...

     
  • Igor Petrov

    Igor Petrov - 2009-08-06

    Вопрос не понятен. Запустить где? В среде программирования или в контроллере, в визуализации? Запустить по инициативе кого/чево - команда меню, переменная, событие?

     
  • crusash

    crusash - 2009-08-06

    Igor Petrov писал(а):
    Вопрос не понятен. Запустить где? В среде программирования или в контроллере, в визуализации? Запустить по инициативе кого/чево - команда меню, переменная, событие?

    Нужно из программы, под Линуксовым Рантаймом, выполнить какой либо скрипт простым вызовом, например '/opt/bootlocal.sh'...

    Пробовал через визуализацию с помощью ExecuteClientProgramm, но он оказался чисто виндовым, и к томуже работающий только через визуализацию, а надо вызовом из программы(можно и по событию)...

     
  • Avgur

    Avgur - 2009-08-07

    Используйте функцию System из библиотеки LinuxRTSystemLib.lib

    Она вызывает команду операционной среды Linux.

    PS. У меня контроллер ThinkIO от Kontron.

    Насчет названий функции и библиотеки уточните в документации на ваш контроллер или у производителя.

    (*
       NAME 
          System - executes a shell command
       DESCRIPTION
           This function functions executes a linux command 
          and returns afte the command has been completed.
       RETURN VALUE 
          The value returned is -1 on error and the return status 
          of the command otherwise.
          If the value of command is NULL, system returns non-zero.
          if the shell is available, an zero if not.   
    *)
    FUNCTION System : DINT
    VAR_INPUT
       arg:STRING;
    END_VAR
    VAR
    END_VAR
    
     
  • crusash

    crusash - 2009-08-07

    О, спасибо, что то подобное мне и нужно...

    Контроллер у меня ПиСишный т.е. как токового производителя нет.

    Теоретически должна подойти и LinuxRTSystemLib.lib, осталось только её найти, почему то с Линуксовым рантаймом она не поставлялась...

    А есть виндовый аналог этой библиотеки?

     
  • Avgur

    Avgur - 2009-08-07

    Просто так библиотеку с другого контроллера не подключишь. Под каждую целевую систему (target) производитель контроллера реализует свой список библиотек и поставляет их.

    Насчет версии Codesys 3.x не знаю, но в Codesys 2.3 есть подобная библиотека для Codesys SP PLCWinNT, называется SysLibOS.lib

    функция Sys_Execute_Command

    (* Execute system command and returns system result *)
    FUNCTION Sys_Execute_Command : DINT
    VAR_INPUT
       pszCommand : STRING;   (* COmmand line to execute as system command *)
    END_VAR
    VAR
    END_VAR
    

    PS. Для каждого target'а по умолчанию прописаны пути к его библиотекам, заходите в Library Manager, выполняете команду Insert Additional Library и смотрите все доступные библиотеки. Как правило из названия библиотеки ясно, что для чего она предназачена + для каждого POU есть комментарии.

     
  • crusash

    crusash - 2009-08-07

    Нашёл библиотечку SysOS23 - даже работает, но только в Винде.

    В Линуксе даже ошибку не выдаёт, не Линукс ни КДС, просто ничего не происходит... Ща попробую потыркать другие функции этой библиотечки...

    Ещё раз огромное спасибо..

     
  • Avgur

    Avgur - 2009-08-07

    Можно поподробнее про ваш вариант контроллера?

    Я Codesys 3 версии еще не устанавливал и не разбирался. Но насколько понял из ваших сообщений, у вас стоит целевая платформа (target) наподобие Codesys SP PLCWinNT только для ОС Tiny Core linux. Я правильно понял?

     
  • crusash

    crusash - 2009-08-07

    Совершенно верно, вы всё правельно поняли,

    но про для ОС Tiny Core linux я ничего не говорил

    как это вы догадались?

    ААА, крутанул сообщения вверх - этож я сам и рассказал

     
  • Avgur

    Avgur - 2009-08-07

    crusash писал(а):
    это ж я сам и рассказал

    и даже не на одном форуме

    по делу: где взять target под tiny linux? на сайте http://www.3s-software.com только под Windows NT/XP/Vista

     
  • crusash

    crusash - 2009-08-07

    Avgur писал(а):
    по делу: где взять target под tiny linux? на сайте http://www.3s-software.com только под Windows NT/XP/Vista

    Чесно говоря этим вопросом занимался мой непосредственный начальник, а я тут не в теме. Я уточню этот вопрос и сразу же вам отвечу...

    Надеюсь что маразм с лицензированием не коснулся target'а под Open Source linux...

     
  • crusash

    crusash - 2009-08-10

    Как оказалось код ран-тайма принадлежит к понятию "пропиетарный" или "не свободный" если по русски. Это означает, что на него НЕ распространяется традиционная лицензия GPL2.

    Бинарная версия рантайма также распространяется не бесплатно, следовательно распространять копию рантайма имеет право только 3S...

    Про таргет для КДС 2.3 версии ничего сказать не могу, но по тому что её нет в свободном доступе для скачивания на оффицальном сайте, подозреваю что ситуация такая же...

     
  • Igor Petrov

    Igor Petrov - 2009-08-10

    Про лицензирование могу пояснить, если есть вопросы. У 3S очень простая и красивая модель – система исполнения (рантайм) лицензируется всегда (до фонаря есть ли ОС или нет и какая), среда программирования всегда бесплатна. В чем тут маразм объясните, охотно изменим.

    Исторически у 3S нет штучных коробочных продуктов и нет организационных структур для их розничной продажи и поддержки. OEM изготовитель контроллеров приобретает рантайм, конфигураторы и пр. в виде стартового набора (с исходными текстами, по мере надобности) и лицензии на рантамы (обычно от ста до нескольких тысяч). Далее он выполняет стыковку рантайма со своим железом, дополняет, развивает, тестирует, организует поддержку своих пользователей и запускает на рынок.

    Коробочный SoftPLC под Linux есть план сделать к концу года для V3. Технически все получается очень красиво и сильно. Но, огромные сомнения как его поддерживать. По опыту с OEM компаниями гораздо проще работать. Они берут лицензии тысячами, имеют квалифицированные команды, за поддержкой обращаются штучно, четко и грамотно. Всегда готовы приехать, дать образцы железа для проведения тестов. Со штучными SoftPLC все с точностью наоборот.

    Все библиотеки Sys… увы не стандартны. Требованиями МЭК 61131-3 для ПЛК они не предусмотрены даже близко. По сути, это функции, которые тупо транслируют вызовы из МЭК программ на аналогичные вызовы ОС. Изготовитель контроллера может их поддерживать или не поддерживать или менять, как хочет.

    Еще одна большая проблема этих Sys… функций состоит в том, что их вызовы блокирующие, что противоречит модели ПЛК принципиально. Представьте себе, есть ПЛК с управляющим циклом 1 мс. В нем пользовательская программа неожиданно бац и вызывает команду дефрагментации диска FAT32 = полный капут всему. По этим причинам OEM стараются поддерживать Sys биб-ки по минимуму и давать их только квалифицированным пользователям.

    Короче, вопрос с Sys_Execute_Command решается очень просто. Нужно спросить у того, кто делал конкретную сборку рантайма, что он поставил на эту функцию.

     
  • Avgur

    Avgur - 2009-08-10

    Igor Petrov писал(а):
    Еще одна большая проблема этих Sys… функций состоит в том, что их вызовы блокирующие, что противоречит модели ПЛК принципиально.

    Проверено на личном опыте. Вызов функции System на моем ПЛК является блокирующим.

    Это ограничение тоже можно обойти (по крайнем мере в ОС Linux): пишем скрипт, например на bash, вызываем его в фоновом режиме,

    скрипт выполняется и записывает результат в файл, далее уже из кодесис анализируем результат работы, читая файл.

    PS. Есть и другие способы передачи данных из операционки в кодесис.

     
  • crusash

    crusash - 2009-08-10

    Igor Petrov писал(а):
    Про лицензирование могу пояснить, если есть вопросы. У 3S очень простая и красивая модель – система исполнения (рантайм) лицензируется всегда (до фонаря есть ли ОС или нет и какая), среда программирования всегда бесплатна. В чем тут маразм объясните, охотно изменим.

    Возможно и не моразм! Действительно в чём маразм - в желании заработать(да побольше, да побольше)! Но мне кажется что лучше былобы чтобы ваш продукт (сам рамтайм) был более доступен для простого юзера (инженер, студент и т.д. на тех на кого и нацелены псевдоупращающие языки программированния FB, SFC и т.д), а не нацелен на сугубо коммерческие проекты, для вашего же развития и распространнённости былобы лучше, а то я о КДС узнал только на своей нынешней работе, долго матерился, но всё-таки пришлось с ним работать... Ну не судите строго, это лично моё мнение...

    Igor Petrov писал(а):
    ...
    Представьте себе, есть ПЛК с управляющим циклом 1 мс. В нем пользовательская программа неожиданно бац и вызывает команду дефрагментации диска FAT32 = полный капут всему.
    ....

    Точно, а то вдруг скрипт запустит атомную бомбу - тогда вообще всем хана...

     
  • Igor Petrov

    Igor Petrov - 2009-08-10

    crusash писал(а):
    Действительно в чём маразм - в желании заработать(да побольше, да побольше)! Но мне кажется что лучше былобы чтобы ваш продукт (сам рамтайм) был более доступен для простого юзера...а то я о КДС узнал только на своей нынешней работе, долго матерился, но всё-таки пришлось с ним работать...

    Возможно, Вы пытаетесь применить CoDeSys там, где он не нужен и не применяется почти никогда. Поэтому и тяжело идет, либо совсем нет навыков в работе с обычными ПЛК. По распространенности среди МЭК 61131-3 систем программирования CoDeSys занимает первое место в мире (по числу проданных лицензий, сейчас отрыв от конкурентов в два раза).
    Области применения CoDeSys:
    * В 9999 из 10000 случаев CoDeSys попадает к пользователю в коробке вместе с ПЛК. Это традиционный его способ распространения. Программируют ПЛК в CoDeSys инженеры. Инструмент программирования они получают бесплатно. Нужно сделать еще доступнее?

    Для вузов и студентов специально в бесплатном дистрибутиве идут демо SoftPLC ограниченные только временем непрерывной работы 2 часа – вполне достаточно для проведения занятий. Многие OEM дают вузам бесплатно комплекты оборудования. ИМХО у CoDeSys с поддержкой вузов все очень хорошо. Что нужно улучшить?
    Особая область применения это встраиваемые системы на базе Beck IPC@CHIP и других плат/чипов с предустановленым CoDeSys, но это отдельная тема.
    Очень очень малая часть (доли процента) – SoftPLC. Бывает (очень редко) когда пользователь не может найти подходящего серийного контроллера с установленным CoDeSys SP. Обычно это очень дорогие системы с очень особыми требованиями. Тут высокие требования ко всем компонентам и цены соответственные.
    Встраиваемые системы обычно программируют на Си и CoDeSys там даром не нужен. Кроме одного организационного случая – необходимости разделения прикладников и системщиков, дабы исключить из бизнеса компании уникальных кулибиных с непредсказуемым поведением и требованиями. Классический пример – контроллеры управления инжекторами Бош в автомобилях. Одна команда делает железо и ставит CoDeSys SP. Другая команда – спецы по двигателям, пишут аппаратно независимые программы. Все работники имеют понятный круг навыков, их легко найти и не страшно уволить.
    Предложение работать бесплатно, делать ПО и поддерживать бесплатных заказчиков оригинальное. Приходите на работу, попробуем. Сарказм 'да побольше' странный. Работают разработчики 3S очень много и напряженно, при весьма скромных доходах. Реально найти желающих (и способных) на эту работу не просто.

    crusash писал(а):
    Точно, а то вдруг скрипт запустит атомную бомбу - тогда вообще всем хана...

    Некоторый перебор, но по сути верно. Посмотрите на классические ПК Сименса, Омрона и др. У них система команд ПЛК упрощена на столько, что обладает 100% защитой от дурака. Это здорово сужает область применения, но повышает надежность. Пользователи счастливы. Таким ПЛК и должен быть.

     
  • crusash

    crusash - 2009-08-11

    Всё понятно, спасибо, вы меня убедили - КДС очень качественный коммерческий продукт, а я человек в этом деле действительно новый и как новичёк не всё сразу догоняю и понимаю - независимая расширяемость и универсальность явно не для вас(задачи другие), а с опенСорной политикой я вообще загнул)))

    Цитата:
    ... По опыту с OEM компаниями гораздо проще работать. Они берут лицензии тысячами, имеют квалифицированные команды, за поддержкой обращаются штучно, четко и грамотно. Всегда готовы приехать, дать образцы железа для проведения тестов. Со штучными SoftPLC все с точностью наоборот. ...

    Кстати, мы относимся к штучным SoftPLC, так что ждите ещё кучу нечетких и безграмотных вопросов, и железяк мы вам точно не дадим)))

     
  • Igor Petrov

    Igor Petrov - 2009-08-11

    Нормальные вопросы, не обижайтесь. Не простые и не факт что в 3S на имеющемся оборудовании все проблемы проявятся именно так. Тут требуется совместная работа. Вы всегда можете общаться с разработчиками напрямую. Извините, что пишу слишком подробно, хочется чтобы не было стратегических расхождений во взглядах. Должно быть понятно что можно ожидать от CoDeSys, чего не стоит.

    Еще несколько тезисов. Если не согласны, то пожалуйста возразите. Это интересно. Вполне возможно, что я не прав.

    • На счет очень качественный продукт…

    Вообще CoDeSys как продукт понятие совсем не однозначное. Существуют десятки модификаций рантаймов под разные ОС и процессоры, от простейших для 8бит процессоров без ОС (программируемые реле и конфигурируемые модули ввода/вывода), до высокопроизводительных распределенных систем с жестким РВ. Часть из них делается вместе с OEM. Общеизвестно, что никто из разработчиков (не только наши) документацию писать не умеет… Совместить это все и сделать биб-ки, которые бы работали с любыми проц. и ОС почти не реально. Поэтому проблемы есть всегда и продукт не один, а куча.

    • Рантайм имеет компонентную структуру. Урезается, дополняется, изменяется довольно просто. Исходные тексты для OEM доступны. Нужен только стартовый набор разработчика (RDP). Кроме того, сама среда программирования состоит из модулей. С помощью Automation Platform ее можно переделать. Такие примеры полной интеграции CoDeSys (до неузнаваемости) со своим софтом есть, в том числе и в России.

    • Пользователь ПЛК должен использовать его как законченное изделие, залезать внутрь которого ему в принципе не нужно, поскольку у него хватает своих забот выше крыши. Как автомобиль. Я принципиально не хочу, чтобы мне в комплекте с ним давали чертежи и исходные тексты блока управления. Я хочу просто ездить на нем и не заглядывать под капот вообще. Изготовитель обязан обеспечить мне соответствующий сервис и отвечать за это. Для обеспечения гарантии он вынужден защищаться от вмешательства в конструкцию и настройки. По этим двум причинам для ПЛК никто не дает схем и исходных текстов. Конечный заказчик должен всегда знать с кого спросить, иначе он не будет ставить такое оборудование.

    • Не совсем понял про псевдоупрощенные языки. Возьмем типовую систему управления по этапам или по времени. На SFC это пишется вообще без программирования. На шаги в диалогах задаются времена и в действиях в лоб прописываются выходные переменные. Все! Программирования нет ни строчки, все делается мышкой за пару минут. Написать аналогичное на Си можно, но будет страница текста. Нужно самому написать машину состояний и механизм их кодирования (как минимум несколько вложенных case), затем уже приделать реально полезный код. Схема на SFC в онлайне прекрасно отражает работу, в голове не надо держать ничего лишнего. Далее подключаю ПЛК к оборудованию, допустим к прессу. В CoDeSys вообще не написав никакой программы, сразу могу перейти в онлайн и управлять прессом вручную, выполнять наладку механики. Без программы вообще! Могу фиксировать выходы, задавать их комбинации, трассировать по времени и событиям, моделировать состояния... Ни один интегрированный компилятор Си близко не имеет ничего подобного. Тут для элементарного замораживания выхода надо писать программу. Примитивную, но надо. Возьмем системы управления движением. На CFC получаем очень понятную любому разумному человеку схему из блоков. Преобразуем на Си. Получается компактнее, но разобраться может только программист.

    Языки МЭК не упрощенные, они специализированные. Решают практические прикладные задачи.

    После работы на Си, МЭК языки первое время без мата трудно использовать – очень разный подход. Но с опытом начинает нравиться. Так многие компоненты самого CoDeSys написаны на ST, SFC и CFC. Их пишут профессиональные программисты, работающие с C#, и им это очень даже нравится. Все что можно, они стараются сделать средствами CoDeSys.

    Были у нас встраиваемые системы, когда сначала все делалось в CoDeSys, сдавалось заказчику в прототипе, затем переписывалось на Си, ужималось в AVR и пускалось в тираж. Так оказывалось быстрее. Сила МЭК языков четком выделении прикладного алгоритма, аппаратной независимости и возможности передать сопровождение другим людям с минимумом обучения.

     
  • crusash

    crusash - 2009-08-24

    Отступление:Первый официальный документ, удостоверяющий изобретение (патент) был выдан во Флоренции в 1421 году архитектору Филиппо Брунеллески.... это был громадный скочёк для человечества, сильнейший импульс для его развития т.к. до этого существующие мелкие производства старательно хранили свои изобретения и наработки от конкурентов, что являлось тормозом для развития всего общества... ИМХО:Не обежайтесь, я вас ни к чему не призываю, но вы со своей политикой являетесь обычным тормозом...

    *Вы сказали:

    ... Как автомобиль. Я принципиально не хочу, чтобы мне в комплекте с ним давали чертежи и исходные тексты блока управления. Я хочу просто ездить на нем и не заглядывать под капот вообще. ...<

    Согласен, пользователь должен иметь качественный и работоспособный продукт, но при покупки машины наличие помимо качественной документации ещё и черчежей и исходных текстов блока управления МОЕЙ машины совсем не помеха и никак меня не обязывает копаться и разбираться в ней при какой либо поломке, потому как на это есть специалисты в авто-сервесе которым я и покажу эту дукоментацию.....

    *Вы сказали:

    Языки МЭК не упрощенные, они специализированные.<

    Позвольте, а в чём разница?-специализация это и есть упрощение одних функций в угоду другим...

    Под псевдоупрощением я подразумевал несколько другое - это когда вместо одного языка предлогается изучить ещё парочку))) лично я всё время скатываюсь в ST, но это конечно проблемы лично мои и Мек, и моя реплика была не в ваш адрес...

    *Вы сказали:

    Рантайм имеет компонентную структуру. Урезается, дополняется, изменяется довольно просто. Исходные тексты для OEM доступны. Нужен только стартовый набор разработчика (RDP). Кроме того, сама среда программирования состоит из модулей. С помощью Automation Platform ее можно переделать. Такие примеры полной интеграции CoDeSys (до неузнаваемости) со своим софтом есть, в том числе и в России. <

    ну это вообще сказки Юзеру про Богов и про масштабируемость и расширяемость сего мира, это надо детям перед сном читать)))

    А если серьёзно: вот как бы мне библиотечку подрубить скомпилированную другим компилятором на другом языке? Или дьябло-Мек это запрещает?

     
  • Igor Petrov

    Igor Petrov - 2009-08-24

    crusash писал(а):
    … я вас ни к чему не призываю, но вы со своей политикой являетесь обычным тормозом...

    Очень плохо, что не призываете. Давайте призывы. Никаких обид и не надо извиняться. Честно обещаю, что буду делать правильно, если пойму как надо.
    Про тормоз не понял в чем он состоит и что за политика такая. Возможно, имеется ввиду сокрытие деталей реализации от пользователя? Так это общепринятая практика в любой технике вообще. Работники салона красоты из соседнего офиса прекрасно пользуются лифтом, хотя ничего не знают о работе асинхронного двигателя, марках стали и пр. И не надо им это 100 лет. Их клиентам, в свою очередь, наплевать на их внутренние дела – важен результат. Сокрытие деталей (инкапсуляция) позволяет упрощать использование сложных вещей. Это основа развития общества.
    Пользователя ПЛК не надо грузить тем, что ему не нужно для работы. Изготовитель ПЛК – это совсем другой человек. Для него все потроха открыты. До очередного уровня конечно. Он не должен изучать схему микропроцессора. Вы похоже пытаетесь совместить изготовителя и пользователя контроллера. Модель же МЭК ставит совершенно обратную задачу – четкого разделения этих функций. Не надо пользователя грузить не его проблемами. Разделяй и властвуй. Это работает и очень даже хорошо работает.

    crusash писал(а):
    … на это есть специалисты в авто-сервесе которым я и покажу эту дукоментацию...

    Хм, не советую. Я так пробовал. Однажды явился к лучшему в городе двигателисту и показал заводскую инструкцию по регулировке клапанов. Он выставил меня за дверь и пояснил, куда засунуть эту документацию… Кстати, потом мы с ним подружились. Во всех новых машинах вижу в комплекте только инструкцию по пользованию ключом, магнитолой и уборке салона. Все. Что авто-изготовители тормоза и враги прогресса? Напротив, они четко поняли что водитель и механик это разные люди. Это результат прогресса. Не надо вместе со шницелем давать инструкцию по разделки туши. Это вредно.

    crusash писал(а):
    Языки МЭК не упрощенные, они специализированные.<
    Позвольте, а в чём разница?-специализация это и есть упрощение одних функций в угоду другим...

    Не упрощение, а усиление иногда и усложнение. В МЭК притянуты некоторые довольно сложные вещи, которых нет в других языках. Например, в SFC встроен очень даже не простой исполнитель. Понять его работу не просто, но поняв и прочувствовав ее, можно писать очень изящные программы.
    Кем предлагается изучать все языки МЭК? Обычно люди работают на одном, на том, который больше нравится. Редко кто совмещает, хотя и есть любители. Мы проводили исследование по популярности МЭК языков среди пользователей CoDeSys. В Европе ST оказался наиболее популярным среди всех категорий и исключительно популярным среди людей с высшим образованием. В США LD вне конкуренции. Все зависит от привычки.

    crusash писал(а):
    А если серьёзно: вот как бы мне библиотечку подрубить скомпилированную другим компилятором на другом языке? Или дьябло-Мек это запрещает?

    По дьябло затрудняюсь сказать, вырос из этого возраста

    По МЭК правильная прикладная программа должна быть переносима. При выборе подходящего ПЛК такая нужда в идеале возникать не должна.

    В CoDeSys можно. См. внешние библиотеки.

     
  • crusash

    crusash - 2009-08-25

    Igor Petrov писал(а):
    .... Работники салона красоты из соседнего офиса прекрасно пользуются лифтом, хотя ничего не знают о работе асинхронного двигателя, марках стали и пр. ...Сокрытие деталей (инкапсуляция) позволяет упрощать использование сложных вещей. Это основа развития общества.

    вот только не надо путать божий дар с яичницей - инкапсуляция это великая вещь, только она никак не связана с правообладанием и закрытым кодом, если этого не понимать то никакие призывы не помогут...

    Igor Petrov писал(а):
    Пользователя ПЛК не надо грузить тем, что ему не нужно для работы. Изготовитель ПЛК – это совсем другой человек. Для него все потроха открыты. До очередного уровня конечно. Он не должен изучать схему микропроцессора. Вы похоже пытаетесь совместить изготовителя и пользователя контроллера. Модель же МЭК ставит совершенно обратную задачу – четкого разделения этих функций. Не надо пользователя грузить не его проблемами. Разделяй и властвуй. Это работает и очень даже хорошо работает.

    Я не пытаюсь что то с чем то совместить, просто вы забываете что мы говорим о PC в виде PLC и стандарты МеК тут не всегда однозначно подходят. И в отличии от пользователей ПЛК у меня схема "контроллера" изначально открыта

    Igor Petrov писал(а):
    Хм, не советую. Я так пробовал. Однажды явился к лучшему в городе двигателисту и показал заводскую инструкцию по регулировке клапанов. Он выставил меня за дверь и пояснил, куда засунуть эту документацию…

    опять же вы путаете разные вещи: клапана в движках, их настройка и обслуга - вещь унифицированная, вы бы ещё лучшему в городе шинонадуву инструкцию по накачки колёс подсунули))) А вот мой знакомый механик в автосервисе Мерседеса жаловался на эти самые мерседесы - мол програмного обеспечения полно и на всё разное, напремер чтобы включилась сигнализация нужно получить подтверждения от программы подьёма стекла что окна закрыты, и очень большая проблема всё это связать, чтобы ещё и работало, и вот здеся очень помогает документация на конкретную машину...

    Igor Petrov писал(а):
    ....Например, в SFC встроен очень даже не простой исполнитель. Понять его работу не просто, но поняв и прочувствовав ее, можно писать очень изящные программы...

    Согласен, язык интересен и кое где даже красив, но сам по себе он мало функционален, он харошь как обёртка, не более, поэтому его языком то назвать сложно... Но вещь безусловно полезная)))

    Igor Petrov писал(а):
    По дьябло затрудняюсь сказать, вырос из этого возраста

    В каждом человеке сидит маленький ребёнок))

    Igor Petrov писал(а):
    По МЭК правильная прикладная программа должна быть переносима. При выборе подходящего ПЛК такая нужда в идеале возникать не должна.
    В CoDeSys можно. См. внешние библиотеки.

    Блин, всё обыскался, не нашёл((( Ткните носом, пожалуйста...