Просмотр полной версии : ST на ПР200
Добрый день, коллеги, ну подскажите когда полностью реализуете ST?
И ещё вопрос, когда же будет реализован ПР205 и будет ли?
Неудобно писать объёмные программы на FBD, столько уродливых и громоздких конструкций даже с учетом макросов.
Объемные программы пишутся на ПЛК где есть ST, ПР-ки тут не очень удобны в принципе, хоть с макросами, хоть без....
А голого ST думаю в них не будет
А спросить в теме по ST можно было? Зачем лишний мусор.
Выбор прибора определяют его функции, а не объем кода. Или уже уперлись, код больше не влазит?
Мария Мильчакова
08.04.2022, 16:55
Добрый день, коллеги, ну подскажите когда полностью реализуете ST?
И ещё вопрос, когда же будет реализован ПР205 и будет ли?
Неудобно писать объёмные программы на FBD, столько уродливых и громоздких конструкций даже с учетом макросов.
Добрый день!
Если вы имеете в виду функциональные блоки на ST, то да, такие планы у нас есть.
Планируем выпуск в течение года.
Какой еще функционал хотите видеть на ST?
ПР205 находится в разработке, но по срокам сейчас сказать определенно сложно. Делаем все возможное, чтобы прибор вышел в 2022 году.
Расскажите, пожалуйста, где планируете применять прибор?
В любом случае все закончится https://owen.ru/forum/showthread.php?t=17834&highlight=EFrol
keysansa
09.04.2022, 12:17
Выбор прибора определяют его функции, а не объем кода. Или уже уперлись, код больше не влазит?
У меня есть наработки на контроллере, который поддерживает ST.
Я не хочу заново, да еще и в неудобной среде их переписывать.
Функционально меня данный продукт устраивает. Выбор контроллера для данной задачи с поддержкой ST будет избыточным.
ST входит в IEC языки программирования.
ST является компилируемым языком, объем памяти не пропорционален коду.
Что не так?
keysansa
09.04.2022, 12:19
В любом случае все закончится https://owen.ru/forum/showthread.php?t=17834&highlight=EFrol
А почему не VeriLog, например? Этот язык ближе к электронике, чем asm.
А почему не VeriLog, например? Этот язык ближе к электронике, чем asm.
1. Чем выше уровень языка, тем больше там подводных камней, оставленных системщиками.
2. Чем выше уровень языка, тем больше программист отделен от железа за ширмой библиотек и драйверов, которые в силу п.1, иногда глючат.
3. Чем больше программирование превращается в конфигурирование или рисование схем, чтобы стало доступнее НЕ ПРОГРАММИСТУ, тем выше должен быть уровень знаний ПОСЛЕДНЕГО. (например, возьмите 1С8)
Вопрос:
Зачем издеваться над НЕ ПРОГРАММИСТОМ, когда его гораздо проще научить программировать на уровне железа (на низком уровне), не ограничивая возможностями языка и среды разработки?
Однажды я дал КИПовцу электрическую схему К580ВМ80, на следующий день он принес программу в машинных кодах и сказал, что ему так понятнее.:rolleyes:
keysansa
09.04.2022, 13:42
1. Чем выше уровень языка, тем больше там подводных камней, оставленных системщиками.
2. Чем выше уровень языка, тем больше программист отделен от железа за ширмой библиотек и драйверов, которые в силу п.1, иногда глючат.
3. Чем больше программирование превращается в конфигурирование или рисование схем, чтобы стало доступнее НЕ ПРОГРАММИСТУ, тем выше должен быть уровень знаний ПОСЛЕДНЕГО. (например, возьмите 1С8)
Я так понял, Verilog вы считаете выше, чем asm?
keysansa
09.04.2022, 13:45
Вопрос:
Зачем издеваться над НЕ ПРОГРАММИСТОМ, когда его гораздо проще научить программировать на уровне железа (на низком уровне), не ограничивая возможностями языка и среды разработки?
Вы не из команды TraceMode случаем? Они долго троллили так разработчиков, типа наш язык для технологов, а не программистов. Однако, технологи так в TraceMode и не смогли, да и программисты тоже, хотя задумка (с каналами, их пред и пост обработкой) была интересная.
Однажды я дал КИПовцу электрическую схему К580ВМ80, на следующий день он принес программу в машинных кодах и сказал, что ему так понятнее.:rolleyes:
Не в машинных кодах, а на Verilog, скорее всего )
Вы не из команды TraceMode случаем? Они долго троллили так разработчиков, типа наш язык для технологов, а не программистов. Однако, технологи так в TraceMode и не смогли, да и программисты тоже, хотя задумка (с каналами, их пред и пост обработкой) была интересная.
Не в машинных кодах, а на Verilog, скорее всего )
Вы путаете язык программирования с языком описания аппаратуры (https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BE%D0%BF%D0%B8%D1%81% D0%B0%D0%BD%D0%B8%D1%8F_%D0%B0%D0%BF%D0%BF%D0%B0%D 1%80%D0%B0%D1%82%D1%83%D1%80%D1%8B)
Это разные вещи.
Как и язык VHDL (https://ru.wikipedia.org/wiki/VHDL) его можно только симулировать или генерировать топологию СБИС.
или шить ПЛИС. В этих языках нет понятия "последовательное выполнение".:rolleyes:
keysansa
09.04.2022, 14:44
Вы путаете язык программирования с языком описания аппаратуры (https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BE%D0%BF%D0%B8%D1%81% D0%B0%D0%BD%D0%B8%D1%8F_%D0%B0%D0%BF%D0%BF%D0%B0%D 1%80%D0%B0%D1%82%D1%83%D1%80%D1%8B)
Это разные вещи.
Как и язык VHDL (https://ru.wikipedia.org/wiki/VHDL) его можно только симулировать или генерировать топологию СБИС.
или шить ПЛИС. В этих языках нет понятия "последовательное выполнение".:rolleyes:
Вы мне объясните, чем программирование ПЛИС на Verilog отличается от программирования, например PIC на ассемблере, тогда и поговорим.
Вы мне объясните, чем программирование ПЛИС на Verilog отличается от программирования, например PIC на ассемблере, тогда и поговорим.
Поговорим о чем?
keysansa
09.04.2022, 15:45
Например о разнице, о которой я выше написал.
ЗЫ. Или про последовательное выполнение на обычных реле. Как захотите.
Это мне не интересно.:(
Но интересно вот что. Можно ли этот код на ST переписать на FBD?:confused:
PROGRAM MHO
VAR
ItemTank: INT := 0;
ItemConsole: INT := 0;
TankItem: POINTER TO Tank;
ConsoleItem: POINTER TO Console;
PumpItem: POINTER TO Pump;
END_VAR
FOR ItemTank := 1 TO 12 DO
TankItem := ADR(Tank[ItemTank]);
IF TankItem^.IdPump > 0 THEN
PumpItem := ADR(Pump[TankItem^.IdPump]);
IF TankItem^.IdConsole > 0 THEN
ConsoleItem := ADR(Console[TankItem^.IdConsole]);
IF PumpItem^.OnTMR.Q THEN
ConsoleItem^.LampStart := 0.5;
ELSE
ConsoleItem^.LampStart := 1;
END_IF
IF TankItem^.Level1 AND NOT TankItem^.AlarmLevelD THEN
IF ConsoleItem^.KeyStart AND ConsoleItem^.KeyStop THEN
PumpItem^.State := TRUE;
END_IF
ELSE
PumpItem^.State := FALSE;
END_IF
IF NOT ConsoleItem^.KeyStop AND NOT ConsoleItem^.KeyStart THEN
PumpItem^.State := FALSE;
END_IF
END_IF
END_IF
END_FOR
keysansa
09.04.2022, 17:06
Вы отказались ответить на мой вопрос. и задаете свой? Молодца, что сказать.
По вашему новому вопросу - попробуйте на asm этот алгоритм реализовать.
Если реализуете - то и на fbd сможете.
ЗЫ. Но к чему вы сюда приплели ST - не понятно, вы же сами говорили, что в истоках asm...Балабол?
EFrol правильный ответ на вопрос "можно ли?" - НЕ НУЖНО.
Вы отказались ответить на мой вопрос. и задаете свой? Молодца, что сказать.
По вашему новому вопросу - попробуйте на asm этот алгоритм реализовать.
Если реализуете - то и на fbd сможете.
ЗЫ. Но к чему вы сюда приплели ST - не понятно, вы же сами говорили, что в истоках asm...Балабол?
Я поступаю так же как Вы. Вопросом на вопрос.
EFrol правильный ответ на вопрос "можно ли?" - НЕ НУЖНО.
Это кстати ответ на любой вопрос.
Может вернемся к теме?
А то нас в курилку отправят.
keysansa
09.04.2022, 17:37
Вы путаете язык программирования с языком описания аппаратуры (https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BE%D0%BF%D0%B8%D1%81% D0%B0%D0%BD%D0%B8%D1%8F_%D0%B0%D0%BF%D0%BF%D0%B0%D 1%80%D0%B0%D1%82%D1%83%D1%80%D1%8B)
Это разные вещи.
Как и язык VHDL (https://ru.wikipedia.org/wiki/VHDL) его можно только симулировать или генерировать топологию СБИС.
или шить ПЛИС. В этих языках нет понятия "последовательное выполнение".:rolleyes:
Где тут у вас вопрос? В том сообщении, на который вы попытались ответить - уже был вопрос от меня, но он саркастический. Раз вы не из TraceMode. Вы же не из него? )
Вот мой вопрос был:
Вы мне объясните, чем программирование ПЛИС на Verilog отличается от программирования, например PIC на ассемблере, тогда и поговорим.
Я поступаю так же как Вы. Вопросом на вопрос.
Но я отвечу. На VHDL я смогу, например, создать процессор, выполняющий asm. На asm - максимум - смогу эмулировать его.
keysansa
09.04.2022, 17:38
Может вернемся к теме?
А то нас в курилку отправят.
Прикольно, самому выйти на asm, а потом призывать вернуться в тему, когда по asm нечего сказать...
keysansa
09.04.2022, 17:39
EFrol правильный ответ на вопрос "можно ли?" - НЕ НУЖНО.
А почему - не "надо подумать"? ))
Но я отвечу. На VHDL я смогу, например, создать процессор, выполняющий asm. На asm - максимум - смогу эмулировать его.
Так Вы это хотели услышать от меня?
А почему не VeriLog, например? Этот язык ближе к электронике, чем asm.
Зачем Вы приплели сюда VeriLog?
Прикольно, самому выйти на asm, а потом призывать вернуться в тему, когда по asm нечего сказать...
Ну и где я вышел на ASM?
Мой вопрос был:
Зачем издеваться над НЕ ПРОГРАММИСТОМ, когда его гораздо проще научить программировать на уровне железа (на низком уровне), не ограничивая возможностями языка и среды разработки?
И Вы ответили сарказмом.:rolleyes:
Мой ответ: Да VeriLog выше чем ASM.
Тезис заключается в том, что лучше КИПовца научить программировать на высоком ST, чем мучать его FBD.
keysansa
09.04.2022, 18:09
Мой вопрос был:
Зачем издеваться над НЕ ПРОГРАММИСТОМ, когда его гораздо проще научить программировать на уровне железа (на низком уровне), не ограничивая возможностями языка и среды разработки?
И Вы ответили сарказмом.:rolleyes:
Мой ответ: Да VeriLog выше чем ASM.
Тезис заключается в том, что лучше КИПовца научить программировать на высоком ST, чем мучать его FBD.
Вы что-то путаете.
Я ответил на ваше утверждение, что все закончится <ссылка>, там говорилось про assembler. Я сказал, что изначальнее - язык описания схем.
Дальше новых вопросов не было.
Опять ложь?
Язык VerilLog появился в 1983г.
Язык Ассемблера появился в 1949г.
И я не буду с Вами спорить о том, что было изначально.
Да и в моей ссылке речь шла о том, зачем изобретать новые языки, когда и старые работаю неплохо.
Зачем создавать новые тяжелые неповоротливые среды (типа CDS 3.5) с многотомными описаниями и глюками,
когда ArduinoIDE справляется практически со всеми проблемами. Ассемблер брался, как альтернатива IL.
А Вы решили придраться на ровном месте?
А хотите я еще совру?! На предмет "курица или яйцо".
С начала был машинный код, на котором написали компилятор с Ассемблера.
На ассемблере написали компилятор с языка C. Далее написали - С++.
А уже потом написали компиляторы с VeriLog, который почему-то очень похож на C, и при этом не является алгоритмическим языком.
Я не имею ничего против VeriLog, но как выразился melky "НЕ НУЖНО". Есть УГО и принципиальные схемы - чем они не угодили то?
ЗЫ. Я знаю, что ответ будет "НЕ НУЖНО", но все равно спрошу?
Если в ArduinoIDE добавить поддержку ОВЕНовских ПЛК и проекты писать на C++ - дело бы пошло или нет?
Как думает сообщество электронщиков и программистов? Может кто-то уже реализовал такую идею? А я - ни сном ни духом.
А почему - не "надо подумать"? ))
Потому что в текущем состоянии ОЛ это костыли, переписывать надо с нуля, а не пытаться натягивать сову на глобус.
Мой вопрос был:
Зачем издеваться над НЕ ПРОГРАММИСТОМ, когда его гораздо проще научить программировать на уровне железа (на низком уровне), не ограничивая возможностями языка и среды разработки?
И Вы ответили сарказмом.:rolleyes:
Мой ответ: Да VeriLog выше чем ASM.
Тезис заключается в том, что лучше КИПовца научить программировать на высоком ST, чем мучать его FBD.
У меня есть знакомый киповец, с которым мы время от времени делаем общие проекты, в общем когда пишу на ST, он на это смотрит как на какую-то магию, однако, контактно-релейные схемы он понимает очень даже хорошо, и вот мы что-то делали на ПРках, он увидел программирование на FBD, и говорит, что это же просто схему надо нарисовать, так это же просто. В общем я ему за 5 минут объяснил принцип построения диаграмм, и он буквально на ходу самостоятельно накидал программу для ПР.
А на ST он также и смотрит, как на какое-то колдунство.
FBD по-моему отсюда и вырос из умения составления логических схем.
Лично мне проще писать на ST, но могу реализовать и на FBD без особых проблем.
Лично мне проще писать на ST, но могу реализовать и на FBD без особых проблем.
Вот именно! А почему проще? Потому-что Вы разбираетесь в этой "магии".
И по мере усложнения проекта Вы можете упрощать код используя эту "магию" (итерацию, рекурсию, указатели на объекты, массивы),
то что на FBD тоже можно сделать, но какой ценой.
Тут ОВЕНовцы спрашивают: что мы хотим от ST? Это говорит о том, что FBD уже не удовлетворяет.
Им хочется, чтобы проекты писали КИПовцы для решения несложных задач.
А так как задачи бывают и сложные, приходится привлекать программистов, которым ST подавай.
Я понимаю, что программисту легче понять КИПовца и переписать на FBD.
В итоге КИПовец уступает программисту, а программист недоволен потерянным временем.
Мне кажется проблема не имеет решения.
Легче потому что в университете было программирование на паскале, делфи, С, С#, С++, ассемблере, html. Поэтому мне был проще к восприятию ST.
А товарищ закончил электротехнический колледж, где он рисовал разные схемы и в глаза не видел программирование, поэтому ему проще FBD.
О чем сыр-бор? Кому на чем проще, на том и пишите! Никого никто не заставляет переучиваться или перепонимать :) Иначе смахивает на выбор обезьяны: банан или гранату?
в университете было программирование на паскале, делфи, С, С#, С++, ассемблере, html
Вот это вас прокатили по верхам :)
Выбор прибора определяют его функции, а не объем кода. Или уже уперлись, код больше не влазит?
Не рассчитал чуть чуть, объект большой, думали уложимся, просто хотели бы за относительно недорого что нибудь на си писать.
Добрый день!
Если вы имеете в виду функциональные блоки на ST, то да, такие планы у нас есть.
Планируем выпуск в течение года.
Какой еще функционал хотите видеть на ST?
ПР205 находится в разработке, но по срокам сейчас сказать определенно сложно. Делаем все возможное, чтобы прибор вышел в 2022 году.
Расскажите, пожалуйста, где планируете применять прибор?
Для теплиц хочу, но ФБД неудобно в принципе писать. Даже простые программы пишутся громоздко. Нужно сделать миллион лишних действий, при отладке найти нужное соединение. Плохо переваривается ФБД.
У меня есть знакомый киповец, с которым мы время от времени делаем общие проекты, в общем когда пишу на ST, он на это смотрит как на какую-то магию, однако, контактно-релейные схемы он понимает очень даже хорошо, и вот мы что-то делали на ПРках, он увидел программирование на FBD, и говорит, что это же просто схему надо нарисовать, так это же просто. В общем я ему за 5 минут объяснил принцип построения диаграмм, и он буквально на ходу самостоятельно накидал программу для ПР.
А на ST он также и смотрит, как на какое-то колдунство.
FBD по-моему отсюда и вырос из умения составления логических схем.
Лично мне проще писать на ST, но могу реализовать и на FBD без особых проблем.
Времени на ФБД уходит больше, на маленьком мониторчике не найти ни концы ни края, при наладке это очень муторно. Контроллеры это очень дорого, да и функционал избыточен и не нужен, зачем платить лишние деньги?
Легче потому что в университете было программирование на паскале, делфи, С, С#, С++, ассемблере, html. Поэтому мне был проще к восприятию ST.
А товарищ закончил электротехнический колледж, где он рисовал разные схемы и в глаза не видел программирование, поэтому ему проще FBD.
Товарищи, что-то вас далеко занесло. XD, я всего лишь спросил, будет такая реализация или нет.
keysansa
11.04.2022, 20:47
Да и в моей ссылке речь шла о том, зачем изобретать новые языки, когда и старые работаю неплохо.
Зачем создавать новые тяжелые неповоротливые среды (типа CDS 3.5) с многотомными описаниями и глюками,
когда ArduinoIDE справляется практически со всеми проблемами. Ассемблер брался, как альтернатива IL.
А Вы решили придраться на ровном месте?
Нет, я как раз и привел Verilog, в надежде, что вы прочувствуете всю боль создания программы даже не на ассемблере (в котором, как известно из байки "прострелить себе ногу", надо придумывать всё) а на нем, где "даже себя сначала надо придумать".
На C - гораздо легче работать, чем на asm. Поэтому и быстрее. На С++ еще легче и быстрее.
Однако, надо тратить время на изучение языка.
Электрики LD вообще не учат. Показал им программу - все понятно.
ST - надо учить, но писать на нем быстрее, чем на asm и LD.
ЗЫ. Вы в курсе, что и Fortran используется и достаточно часто?
Нет, я как раз и привел Verilog, в надежде, что вы прочувствуете всю боль создания программы даже не на ассемблере (в котором, как известно из байки "прострелить себе ногу", надо придумывать всё) а на нем, где "даже себя сначала надо придумать".
На C - гораздо легче работать, чем на asm. Поэтому и быстрее. На С++ еще легче и быстрее.
Однако, надо тратить время на изучение языка.
Электрики LD вообще не учат. Показал им программу - все понятно.
ST - надо учить, но писать на нем быстрее, чем на asm и LD.
ЗЫ. Вы в курсе, что и Fortran используется и достаточно часто?
Вы меня извините, keysansa, но я Вас не могу понять.:(
Зачем мы занимаемся констатацией фактов?
Если языки придумываются и используются - значит это кому-то надо. Верно?
Языки придумываются для того, чтобы облегчить написание программ в тех предметных областях для которых они создаются. Верно?
Я знаю, что и Fortran и даже FORTH еще кем-то используется.
Но Вы посмотрите, что пишет Сема:
Для теплиц хочу, но ФБД неудобно в принципе писать. Даже простые программы пишутся громоздко. Нужно сделать миллион лишних действий, при отладке найти нужное соединение. Плохо переваривается ФБД.
Вы пишите:
Электрики LD вообще не учат.
А я говорю:
Если электрики не хотят, может и не нужно для них стараться? Может уже пора ориентироваться чисто на программистов?
Я может не правильно выражаюсь? Вы уловили мысль?
Создать единый универсальный язык, ориентированный на программистов.
Но продолжая рассуждать дальше - и это НЕ НЕЖНО делать.
Мы же ведь знаем, что большая часть ПО для железа (драйверы и т.д.) пишется на C в связке с ASM.
И даже OC для ПЛК и ПР ОВЕНовцами пишется на C. Так может не стоит тратить время на поддержание того-же CDS и OwenLogic?
Эти бесконечные глюки и иже с ними обновления уже изрядно поднадоели.
Берем того же:
Легче потому что в университете было программирование на паскале, делфи, С, С#, С++, ассемблере, html.
и ориентируемся на этих ребят. Электрики пусть схемы на бумаге рисуют, а наши ребята пишут проекты на C.
Всё! Надо тему закрывать! Эта проблема не имеет решение. Здесь явно имеет место конфликт интересов.
keysansa
11.04.2022, 22:14
Вы меня извините, keysansa, но я Вас не могу понять.:(
Зачем мы занимаемся констатацией фактов?
Это называется проблема терминологии.
Если языки придумываются и используются - значит это кому-то надо. Верно?
Языки придумываются для того, чтобы облегчить написание программ в тех предметных областях для которых они создаются. Верно?
Вы уж определитесь, а не метайтесь:
Да и в моей ссылке речь шла о том, зачем изобретать новые языки, когда и старые работаю неплохо.
Зачем создавать новые тяжелые неповоротливые среды (типа CDS 3.5) с многотомными описаниями и глюками,
когда ArduinoIDE справляется практически со всеми проблемами. Ассемблер брался, как альтернатива IL.
А Вы решили придраться на ровном месте?
ЗЫ.
Создать единый универсальный язык, ориентированный на программистов.
1. Вы изначально писали, что "нет лучше asm" (это не цитата).
2. Потом вы говорите о "едином и универсальном языке".
Я думаю, что:
1. Вы не программист, а "околоходящий мечтатель"
2. Следовательно, не понимаете, что язык программирования - это прокладка между мыслью человека и компьютером. Фотошоп это делает по своему, причем с учетом, как работали художники. Mathlab - по своему, с учетом, как работают математики...
Жаль что не знаю Вас так хорошо, как Вы меня. Тоже одарил бы комплиментами. Всего Вам доброго.
keysansa
11.04.2022, 23:02
Жаль что не знаю Вас так хорошо, как Вы меня. Тоже одарил бы комплиментами. Всего Вам доброго.
Жаль, что быстро...
ЗЫ. Диоген тоже был мечтателем...
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot