nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 23 Oct 2020 20:56



Reply to topic  [ 38 posts ]  Go to page 1, 2, 3  Next
Контроллеры Siemens SIMATIC S7-300 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Тут одни знакомые меня весьма путанно попросили помочь их дитяте, которое в ВУЗе изучает "Мехатронику"...

Подробности тоже были непонятны:"на языках 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
Quote:
SIMATIC S7-300 — семейство контроллеров средней производительности концерна Siemens AG из семейства систем автоматизации SIMATIC S7.


Тут я уже из собственного интересу стал искать: структуру незнакомого контроллера я люблю начать
рассматривать с блок-схемы, программной модели и системы команд...
Quote:
Система команд центральных процессоров включает в свой состав более 350 инструкций ...
https://www.siemens-pro.ru/docs/simatic/s7-300/S7-300_OpList_2003_r.pdf

Система команд и структура CPU довольно непривычны на первый взгляд.
Компилятора языка ассемблера я не нашел как такового совсем.

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

Если вдруг кто либо из вас, коллеги, знаком с этими контроллерами непосрественно, было бы интересно
услышать здесь развернутый комментарий, так сказать "на пальцах"...

_________________
iLavr


11 Aug 2020 16:55
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
Я по этим так называемым контроллерам слушал курс в 2000
А вообще в стандарте IEC 61131-3 пять языков для PLC:
Quote:
- 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, но управляются они виртуальными "релюшками")

_________________
:eugeek: https://twitter.com/Shaos1973


11 Aug 2020 17:46
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Я по этим так называемым контроллерам слушал курс в 2000

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

Контроллеры эти - они же вот такие здоровые гробы! :roll:
Attachment:
S7300.JPG
S7300.JPG [ 74.75 KiB | Viewed 524 times ]

И что, ты хочешь сказать, что эти гробы живьём есть в ВУЗах? :o

_________________
iLavr


11 Aug 2020 18:03
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
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
В итоге никому не пригодилось, так что наверное уже можно и почтенной публике показать...

_________________
:eugeek: https://twitter.com/Shaos1973


11 Aug 2020 19:35
Profile WWW
Senior
User avatar

Joined: 21 Aug 2018 08:39
Posts: 125
Location: Кемеровская обл.
Reply with quote
На работе пользуем 1200 и 1500 серии, а из софта TIA Portal (эдакий комбайн языков LAD, FBD, SCL).
Предпочитаю SCL (вероятно из-за паскаля головного "моска").
Древняя 300'я серия в мои кривые и волосатые ручонки не попадалась :mrgreen:

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

Все перечисленное мое ИМХО, а профиль "эникея" на "электроника" сменил всего лишь год назад.
Не бейте злые дядьки, эффективнее будет если просто носом натыкаете. :oops:


11 Aug 2020 19:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Внутри стоит какой-нибудь арм и "интерпретирует" введённую задачу по своему разумению, пытаясь угадать, чего техник в засаленных рукавицах собственно хотел...

Внутри там стоит вот что:
Quote:
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


11 Aug 2020 20:04
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
Shaos wrote:
Я по этим так называемым контроллерам слушал курс в 2000
А вообще в стандарте IEC 61131-3 пять языков для PLC:
Quote:
- 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 следующим образом (дописал от себя жирным):
Quote:
Программирование контроллеров производится редактором программ, обеспечивающим написание программ на трех языках:
  • LAD — язык релейно-контактной логики; ->LD
  • FBD — язык функциональных блочных диаграмм; ->FBD
  • STL — язык списка инструкций. ->IL (объявлен устаревшим в третьей редакции стандарта)
В дополнение к трем основным языкам могут быть добавлены четыре дополнительные языка, поставляемые отдельно:
  • SCL — структурированный язык управления, по синтаксису близкий к Pascal; ->ST
  • GRAPH 7 — язык управления последовательными технологическими процессами; нет аналога в стандарте?
  • HiGraph 7 — язык управления на основе графа состояний системы; нет аналога в стандарте?
  • SFC — язык диаграмм состояния. ->SFC

Твоё знакомое дитя затрудняется в релейном языке и в GRAPH, который сименс поставляет в составе более дорого продукта:
Quote:
Step 7 Professional — пакет Step 7 дополненный опциональными пакетами: языками SCL и GRAPH 7, программой имитации контроллера PLCSim. В таком комплекте программное обеспечение наиболее соответствует стандарту IEC (МЭК) 61131 для программируемых логических контроллеров


===============================================================================

Lavr wrote:
А вот кто они такие, как их еще зовут CPU 31хх фиг его знает... :-? Не нашел разумную доку.
Собственно, этого и хотелось кратко услышать от умных людей...
...
А про сами процессоры как-то скудно, либо я не сориентировался в обилии их док... :osad:

Ну дык коммерческая тайна вестимо - им хакеры пингвинов прошивающие в технологических процессах ненужны :lol:

_________________
:eugeek: https://twitter.com/Shaos1973


11 Aug 2020 20:19
Profile WWW
Senior
User avatar

Joined: 21 Aug 2018 08:39
Posts: 125
Location: Кемеровская обл.
Reply with quote
Оно? ссылка


11 Aug 2020 20:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Твоё знакомое дитя затрудняется в релейном языке и в GRAPH, который сименс поставляет в составе более дорого продукта: ...

Ты знаешь, я и сам, возможно, не очень понял, чего надо дитя... буквально так:
Quote:
вот че пишет дитя:

«ваще я не могла нормально найти много че, но тот вопрос и фих с ним, там про конфигурацию контроллера в проге, в которой мы ваще-т не работаем.
А вот я бы почитала про языки программирования, потому что я не то что бы много по ним чего нашла, в основном капли инфы на Ютубе спасали меня.
У нас были разные, но меня больше всего интересуют lad и graph
»

_________________
iLavr


11 Aug 2020 20:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Icer wrote:
Оно? ссылка
Для дитя - наверно, это оно, я переслал ссылки адресатам...

Мне самому для себя хотелось бы увидеть их процессор вот в таком примерно виде:
Attachment:
image015.gif
image015.gif [ 9.54 KiB | Viewed 511 times ]

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

Я начал читать: есть два аккумулятора у процессора, есть какие-то старшие аккумуляторы.
Как это взаимно организовано - нифига не понятно... :-?

_________________
iLavr


11 Aug 2020 20:59
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
Если ты про STL/IL то оно уже давно не оно - это виртуальный процессор, а в железе оно скорее интерпретатор с защитой от дурака

P.S. Судя по википедии серия контроллеров SIMATIC родилась в 1958 году (см. https://en.wikipedia.org/wiki/Simatic)
C тех пор их внутренняя начинка думаю неоднократно менялась, накидывая новых уровней абстракции для защиты от непутёвых засаленных рукавиц :lol:
Quote:
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


Attachments:
Screenshot from 2020-08-11 20-00-44.png
Screenshot from 2020-08-11 20-00-44.png [ 728.85 KiB | Viewed 510 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
11 Aug 2020 21:02
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
Ой, оказывается червь Stuxnet особенно активно использовал контроллеры S7-300 для своего распостранения https://en.wikipedia.org/wiki/Stuxnet
Quote:
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, вставляя дополнительную логику - смену генерации частоты, если она укладывается в определённый диапазон - это отражалось на скорости вращения центрифуг, что выводило их из строя - прослойка в винде также препятствовала обнаружению изменений, подменяя данные о частоте, как будто ничего не происходит - т.е. контроллер сам по себе был просто перепрограммирован слегка изменённой управляющей программой

_________________
:eugeek: https://twitter.com/Shaos1973


11 Aug 2020 21:13
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
...оно уже давно не оно - это виртуальный процессор, а в железе оно скорее интерпретатор с защитой от дурака

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

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

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

Это же не "Эльбрус" тебе, у которого якобы нет ассемблера.

_________________
iLavr


11 Aug 2020 21:18
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18888
Location: Silicon Valley
Reply with quote
Да вроде язык инструкций STL (IL) у них один на всех, нет разве? А для ускорения там вполне может специализированная программируемая логика стоять, глубоко спрятанная под несколькими слоями абстрагирования...

_________________
:eugeek: https://twitter.com/Shaos1973


11 Aug 2020 21:23
Profile WWW
Senior
User avatar

Joined: 21 Aug 2018 08:39
Posts: 125
Location: Кемеровская обл.
Reply with quote
Немного фоток ссыль


11 Aug 2020 21:24
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 38 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.