Контроллеры Siemens SIMATIC S7-300

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Тут одни знакомые меня весьма путанно попросили помочь их дитяте, которое в ВУЗе изучает "Мехатронику"...

Подробности тоже были непонятны:"на языках lad и graph дитя затрудняется инициаллизировать контроллер"...

Ну я этого тоже ничего с разбегу не понял... полез гуглить... :-?

Нагуглил: язык Ladder diagram (англ. LD, LAD, рус. РКС). Этот графический язык программирования основан на представлении коммутационных схем. Является oдним из самых легких в освоении язык (в интерпретации Siemens Simatic).

S7-GRAPH - Язык программирования высокого уровня контроллеров SIMATIC S7 Siemens.

Контроллеры SIMATIC S7 Siemens я сегодня тоже узнал впервые, поэтому тоже полез гуглить...
Вкратце - это примерно вот что: https://ru.wikipedia.org/wiki/Simatic_S7-300
SIMATIC S7-300 — семейство контроллеров средней производительности концерна Siemens AG из семейства систем автоматизации SIMATIC S7.
Тут я уже из собственного интересу стал искать: структуру незнакомого контроллера я люблю начать
рассматривать с блок-схемы, программной модели и системы команд...
Система команд центральных процессоров включает в свой состав более 350 инструкций ...
https://www.siemens-pro.ru/docs/simatic ... 2003_r.pdf
Система команд и структура CPU довольно непривычны на первый взгляд.
Компилятора языка ассемблера я не нашел как такового совсем.

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

Если вдруг кто либо из вас, коллеги, знаком с этими контроллерами непосрественно, было бы интересно
услышать здесь развернутый комментарий, так сказать "на пальцах"...
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Я по этим так называемым контроллерам слушал курс в 2000
А вообще в стандарте IEC 61131-3 пять языков для PLC:
- Ladder diagram (LD), graphical
- Function block diagram (FBD), graphical
- Structured text (ST), textual
- Instruction list (IL), textual (deprecated in 3rd edition of the standard[1])
- Sequential function chart (SFC).
https://en.wikipedia.org/wiki/IEC_61131-3

Я на своей последней российской работе в конце 90х писал компилятор с FBD и частично интерпретатор ST
а LD это по сути язык релейных схем (там по идее те же блоки что и в FBD, но управляются они виртуальными "релюшками")
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Shaos wrote:Я по этим так называемым контроллерам слушал курс в 2000
Меня больше всего смутило во всём этом, что контроллеры Siemens SIMATIC S7-300 - это не какая-то
там микросхема типа PIC или AVR, как можно подумать, не зная...

Контроллеры эти - они же вот такие здоровые гробы! :roll:
S7300.JPG
И что, ты хочешь сказать, что эти гробы живьём есть в ВУЗах? :o
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Siemens специально платил одной лабе в нашем радиофаке УПИ, чтобы они эти курсы (сильно платные) периодически проводили - мне контора оплатила прослушивание
А так да - это не "микроконтроллеры", а просто "контроллеры" (правда не такие они уж и "здоровые" - сантиметров 10 в высоту) :mrgreen:
Внутри стоит какой-нибудь арм и "интерпретирует" введённую задачу по своему разумению, пытаясь угадать, чего техник в засаленных рукавицах собственно хотел...

P.S. Кстати в стандарте IEC все функциональные блоки называются по английски, а курсы проходили по оригинальной сименсовской документации, где блоки назывались по немецки :lol:
Ладно хоть объясняющий текст на русский перевели (вот вроде нашёл то, в чём тогда это делалось: https://ru.wikipedia.org/wiki/Simatic_Step_7 - они почти всё по своему называют, но по сути это всё IEC 61131)

P.P.S. Про Ladder Logic у нас тут немножко было: http://www.nedopc.org/forum/viewtopic.php?f=81&t=9617&hilit=ladder
Я примерно тогда же писал прототип конвертера из LD в язык ввода схем Xilinx - в симуляторе работало :D
В итоге никому не пригодилось, так что наверное уже можно и почтенной публике показать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Контроллеры Siemens SIMATIC S7-300

Post by Icer »

На работе пользуем 1200 и 1500 серии, а из софта TIA Portal (эдакий комбайн языков LAD, FBD, SCL).
Предпочитаю SCL (вероятно из-за паскаля головного "моска").
Древняя 300'я серия в мои кривые и волосатые ручонки не попадалась :mrgreen:

Основная отличительная особенность перед PIC, AVR это ОС(виртуальная машина) и завесить ПЛК программно нереально.
Так что даже если язык похож на асм это просто кажется.

Все перечисленное мое ИМХО, а профиль "эникея" на "электроника" сменил всего лишь год назад.
Не бейте злые дядьки, эффективнее будет если просто носом натыкаете. :oops:
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Shaos wrote:Внутри стоит какой-нибудь арм и "интерпретирует" введённую задачу по своему разумению, пытаясь угадать, чего техник в засаленных рукавицах собственно хотел...
Внутри там стоит вот что:
S7-300: CPU 317.
S7-300C: CPU 312C, CPU 313C-2PtP, CPU 313C-2DP.
S7-300C: CPU 313C, CPU 314C-2PtP, CPU 314C-2DP.
А вот кто они такие, как их еще зовут CPU 31хх, фиг его знает... :-? Не нашел разумную доку.
Собственно, этого и хотелось кратко услышать от умных людей...

Какую доку не скачай про эти контроллеры Siemens SIMATIC S7-300, обширные сказки про
феноменально развитую периферию и как её на языке S7-GRAPH удобно тово...

А про сами процессоры как-то скудно, либо я не сориентировался в обилии их док... :osad:
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Shaos wrote:Я по этим так называемым контроллерам слушал курс в 2000
А вообще в стандарте IEC 61131-3 пять языков для PLC:
- Ladder diagram (LD), graphical
- Function block diagram (FBD), graphical
- Structured text (ST), textual
- Instruction list (IL), textual (deprecated in 3rd edition of the standard[1])
- Sequential function chart (SFC).
https://en.wikipedia.org/wiki/IEC_61131-3

Я на своей последней российской работе в конце 90х писал компилятор с FBD и частично интерпретатор ST
а LD это по сути язык релейных схем (там по идее те же блоки что и в FBD, но управляются они виртуальными "релюшками")
Судя по https://ru.wikipedia.org/wiki/Simatic_Step_7 сименсовские языки соответствуют стандартным из IEC 61131 следующим образом (дописал от себя жирным):
Программирование контроллеров производится редактором программ, обеспечивающим написание программ на трех языках:
  • LAD — язык релейно-контактной логики; ->LD
  • FBD — язык функциональных блочных диаграмм; ->FBD
  • STL — язык списка инструкций. ->IL (объявлен устаревшим в третьей редакции стандарта)
В дополнение к трем основным языкам могут быть добавлены четыре дополнительные языка, поставляемые отдельно:
  • SCL — структурированный язык управления, по синтаксису близкий к Pascal; ->ST
  • GRAPH 7 — язык управления последовательными технологическими процессами; нет аналога в стандарте?
  • HiGraph 7 — язык управления на основе графа состояний системы; нет аналога в стандарте?
  • SFC — язык диаграмм состояния. ->SFC
Твоё знакомое дитя затрудняется в релейном языке и в GRAPH, который сименс поставляет в составе более дорого продукта:
Step 7 Professional — пакет Step 7 дополненный опциональными пакетами: языками SCL и GRAPH 7, программой имитации контроллера PLCSim. В таком комплекте программное обеспечение наиболее соответствует стандарту IEC (МЭК) 61131 для программируемых логических контроллеров
===============================================================================
Lavr wrote: А вот кто они такие, как их еще зовут CPU 31хх фиг его знает... :-? Не нашел разумную доку.
Собственно, этого и хотелось кратко услышать от умных людей...
...
А про сами процессоры как-то скудно, либо я не сориентировался в обилии их док... :osad:
Ну дык коммерческая тайна вестимо - им хакеры пингвинов прошивающие в технологических процессах ненужны :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Контроллеры Siemens SIMATIC S7-300

Post by Icer »

Оно? ссылка
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Shaos wrote:Твоё знакомое дитя затрудняется в релейном языке и в GRAPH, который сименс поставляет в составе более дорого продукта: ...
Ты знаешь, я и сам, возможно, не очень понял, чего надо дитя... буквально так:
вот че пишет дитя:

«ваще я не могла нормально найти много че, но тот вопрос и фих с ним, там про конфигурацию контроллера в проге, в которой мы ваще-т не работаем.
А вот я бы почитала про языки программирования, потому что я не то что бы много по ним чего нашла, в основном капли инфы на Ютубе спасали меня.
У нас были разные, но меня больше всего интересуют lad и graph
»
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Icer wrote:Оно? ссылка
Для дитя - наверно, это оно, я переслал ссылки адресатам...

Мне самому для себя хотелось бы увидеть их процессор вот в таком примерно виде:
image015.gif
То есть, в виде разумной блок-схемы, как это обычно принято.

Я начал читать: есть два аккумулятора у процессора, есть какие-то старшие аккумуляторы.
Как это взаимно организовано - нифига не понятно... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Если ты про STL/IL то оно уже давно не оно - это виртуальный процессор, а в железе оно скорее интерпретатор с защитой от дурака

P.S. Судя по википедии серия контроллеров SIMATIC родилась в 1958 году (см. https://en.wikipedia.org/wiki/Simatic)
C тех пор их внутренняя начинка думаю неоднократно менялась, накидывая новых уровней абстракции для защиты от непутёвых засаленных рукавиц :lol:
Early Simatic devices were transistor-based, intended to replace relays attached and customized to a specific machine.
Microprocessors were introduced in 1973, allowing programs similar to those on general-purpose digital computers to be stored and used for machine control.
https://new.siemens.com/global/en/company/about/history/history-features/60-years-of-simatic.html
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Ой, оказывается червь Stuxnet особенно активно использовал контроллеры S7-300 для своего распостранения https://en.wikipedia.org/wiki/Stuxnet
The entirety of the Stuxnet code has not yet been disclosed, but its payload targets only those SCADA configurations that meet criteria that it is programmed to identify.[44]

Stuxnet requires specific slave variable-frequency drives (frequency converter drives) to be attached to the targeted Siemens S7-300 system and its associated modules. It only attacks those PLC systems with variable-frequency drives from two specific vendors: Vacon based in Finland and Fararo Paya based in Iran.[70] Furthermore, it monitors the frequency of the attached motors, and only attacks systems that spin between 807 Hz and 1,210 Hz. This is a much higher frequency than motors operate in most industrial applications, with the notable exception of gas centrifuges.[70] Stuxnet installs malware into memory block DB890 of the PLC that monitors the Profibus messaging bus of the system.[61] When certain criteria are met, it periodically modifies the frequency to 1,410 Hz and then to 2 Hz and then to 1,064 Hz, and thus affects the operation of the connected motors by changing their rotational speed.[70] It also installs a rootkit – the first such documented case on this platform – that hides the malware on the system and masks the changes in rotational speed from monitoring systems.
Видать кто-то таки разобрался что там внутри и как туда пролезть :mrgreen:

P.S. Хотя наверное не совсем так - червь заражал виндоуз машины, с которых управлялся контроллер и менял файлы проекта для S7, вставляя дополнительную логику - смену генерации частоты, если она укладывается в определённый диапазон - это отражалось на скорости вращения центрифуг, что выводило их из строя - прослойка в винде также препятствовала обнаружению изменений, подменяя данные о частоте, как будто ничего не происходит - т.е. контроллер сам по себе был просто перепрограммирован слегка изменённой управляющей программой
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Контроллеры Siemens SIMATIC S7-300

Post by Lavr »

Shaos wrote:...оно уже давно не оно - это виртуальный процессор, а в железе оно скорее интерпретатор с защитой от дурака
Что-то мне не верится, что это виртуальный процессор - там временА весьма неплохие как
для обычных команд, так и для математики.
Есть система команд не высокого уровня, а типа ассемблерных, упоминаются регистры...

Даже если это всё виртуальное - блок схема вполне может быть.

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

Это же не "Эльбрус" тебе, у которого якобы нет ассемблера.
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Контроллеры Siemens SIMATIC S7-300

Post by Shaos »

Да вроде язык инструкций STL (IL) у них один на всех, нет разве? А для ускорения там вполне может специализированная программируемая логика стоять, глубоко спрятанная под несколькими слоями абстрагирования...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Контроллеры Siemens SIMATIC S7-300

Post by Icer »

Немного фоток ссыль