Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну вот, к примеру, описание аккумуляторов: Вот описание логических команд: На мой взгляд - типичный ассемблер незнакомого мне процессора. Для высоких уровней абстракции такая мелкая детализация, на мой взгляд, излишняя.
_________________ iLavr
|
11 Aug 2020 20:46 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Есть такое зрелище! Я ж говорил - не может быть, чтобы не было...
_________________ iLavr
|
11 Aug 2020 21:32 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
я думаю основа системы команд живёт с 70х, она с годами обросла "мясом" типа плавающей точки и сейчас поддерживается чисто виртуально из-за того, что куча существующих промышленных внедрений её использует
P.S. целочисленное сложение за 0.6 мкс? это 1.666 миллионов инструкций в секунду - явно симуляция...
|
11 Aug 2020 21:32 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 164 Location: Кемеровская обл.
|
Чувствуется полный контроль над программой пользователя. Явные ошибки типа "деление на ноль" и "выход за границу массива" не то чтоб полностью игнорирует... увидеть можно только в журнале аварий да и красной лампочке на самом ПЛК. Есть еще некоторые нюансы типа "виртуальные" входа/выхода (выражается в том что состояние реальных входов/выходов не меняется пока не завершится цикл программы). Контроль времени выполнения цикла (можно предположить что это ватчдог, но это не он). Аппаратное решение в виде камня будет слишком дорого и весьма не гибко в плане масштабируемости.
|
11 Aug 2020 21:48 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А ассемблерный текст входит составной частью в язык STEP. Shaos, я вот не люблю абстрактных понятий для такой конкретной вещи, как процессор. Вот то что выше пОстом - это мне четко понятно: это т.н. программная модель процессора. Также понятно, что, видимо, отдельного компилятора ассемблера нет, но выражения на ассемблере входят составной частью в язык STEP. Паскалей, С и Васиков - не наблюдается... А "обросло мясом" - это нифига не понятно... так, глядя на плату, может быть с 1958 года оно наоборот "сбросило излишний жир" дискретных компонент?
_________________ iLavr
|
11 Aug 2020 21:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
STL (IL) это не ассемблер - даже в твоём тексте написано "подобно обычному языку Ассемблера", т.е. лишь подобие ибо нет непосредственного соответствия между инструкцией этого "ассемблера" и операцией процессора, например та же инструкция загрузки более интеллектуальная чем просто копирование состояния входа в аккумулятор - она типа как стек работает выполняя 2 операции - сдвигает ACC1 в ACC2 и потом загружает требуемое в ACC1 (причём после обнуления ACC1, т.е. это даже 3 инструкции получается): Пример программы с плавающей точкой: Это явно не для "микроконтроллера" написано...
|
11 Aug 2020 22:08 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Один момент не совем понятен... если у Siemens был такой довольно неглупый процессор в 1958 году, пусть даже из очень мелкой рассыпухи, то почему тогда так превозносят PDP-8, которая вышла в свет аж в 1965 году и разработана была для тех же целей - управления чем-то?
_________________ iLavr
|
11 Aug 2020 22:12 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да какая разница "подобно" или не подобно, когда для всех команд, "подобных обычному языку Ассемблера" приведено точное время их выполнения?
_________________ iLavr
|
11 Aug 2020 22:16 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
| | | | Lavr wrote: Один момент не совем понятен... если у Siemens был такой довольно неглупый процессор в 1958 году, пусть даже из очень мелкой рассыпухи, то почему тогда так превозносят PDP-8, которая вышла в свет аж в 1965 году и разработана была для тех же целей - управления чем-то? | | | | |
Ещё PDP-11 был, который также активно использовался в промышленной автоматизации, будучи по сути конкурентом Сименса не точное, а "типичное"
|
11 Aug 2020 22:18 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
PDP-11 - совсем неподходящий пример, поскольку слишком поздний... Более подходящий - Hewlett-Packard HP 2100 - он вышел в году так 1967 и был лучше PDP-8. Самым прямым конкурентом был, пожалуй, LINC (Laboratory INstrument Computer) - он предтеча PDP-8. Непонятно только, как в 1958 году Siemens в отсутствие GUI обрабатывал вот такие "программы":
_________________ iLavr
|
11 Aug 2020 23:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
| | | | Lavr wrote: Один момент не совем понятен... если у Siemens был такой довольно неглупый процессор в 1958 году, пусть даже из очень мелкой рассыпухи, то почему тогда так превозносят PDP-8, которая вышла в свет аж в 1965 году и разработана была для тех же целей - управления чем-то? | | | | |
Нет, не было у Siemens в 1958 году никакого процессора - правильно я высказал подозрение, поскольку, как ни крути, именно PDP-8 в 1965 году была бюджетным коммерческим прорывом в процессах автоматизации, и размером была с маленький холодильник... И "Саратов", "Саратов-2" содрали с PDP-8 именно чтобы иметь компактную УВМ для процессов автоматизации. А у Siemens в 1958 году было вот что: А что-то процессорное появилось в году так 1975, но это уже не так интересно, поскольку в этом году, действительно, была в деле легендарная PDP-11, с которой в СССР содрали систему команд для 1801хх. А у Siemens ничего не содрали, значит и сдирать-то было нЕчего...
_________________ iLavr
|
12 Aug 2020 06:00 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
А я нигде и не писал, что они сразу в 50х стали программироваться - серия существует с 50х, а программироваться начало в 70х: см. https://www.cnsiemensplc.com/news/history-of-siemens-plc-18853727.html - S7 появилась в 1994, но она на основе S5 возникла, которая в 1979 появилась на замену S3, появившейся в 1975 - все они были программируемыми
|
12 Aug 2020 07:14 |
|
|
Электромонтёр
Fanat
Joined: 23 Feb 2018 22:20 Posts: 91
|
Я Ladder Logic для программирования своего недоплк использовал. Сам по себе Siemens SIMATIC S7-300 стандартный промконтроллер и программируется на одном из пяти стандартных языков, чаще всего мне попадались LD - релейно-контактной логики, и ST - паскалеподобный недоязык программирования. Некоторые инженеры предпочитают писать на FBD - блок-схемы на триггерах и логических элементах. Архитектура процессора полностью скрыта от пользователя! А у нашего "овна" прошивки компилируются на компе разработчика и в таком виде пишутся в сам контроллер, исходников из овеновского плк вытянуть невозможно. Дополнительные функции, реагирование на прерывания или работа с энкодером, у таких контроллеров как правило завязана на определённые входы и работает через "регистры". Для работы с этими регистрами в LD есть костыли - арифметика работает через команду MOVE. Вся периферия настраивается из среды разработки, например, подключение панели оператора по modbus, где в качестве переменных прописываются нарисованные кнопки и лампочки.
|
12 Aug 2020 07:18 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так а я тебя и не упрекаю ни в чем... Я просто внимательно прочитал Википедии на слово SIMATIC. И уточнил здесь информацию: что за чем... а то как-то исторически превратно выглядело.
_________________ iLavr
|
12 Aug 2020 07:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А вы не могли бы привести небольшой но понятный пример программирования на этом " паскалеподобном недоязыке"? Или, возможно, коллега Icer может такой пример привести тут?
_________________ iLavr
|
12 Aug 2020 07:54 |
|
|