1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Данные в OB - Только Input / Temp и Constant

Модератор: Глоб.модераторы

Ответить

Автор темы
seggi
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 18 янв 2022, 15:17
Имя: Сергей
Страна: Германия
город/регион: Оснабрюк
Благодарил (а): 3 раза
Поблагодарили: 11 раз

Данные в OB - Только Input / Temp и Constant

Сообщение seggi »

Осваиваю уже полгода SPS-программирование, до этого работал в Codesys и Twincat, а теперь наконец смог получить Step 7 Tia Portal (v13).

Смотрю ролики, сам кое-что делаю, но не могу понять один вопрос

Программный блок, этот самый Main [OB1] в разделе списка типов данных для меня выглядит несколько непонятно
s7_tia_1.jpg
Есть данные входные, Input
Есть данные временные, Temp
И есть константы, т.е. по логике данные, которые должны быть неизменяемыми

А куда выводить данные от работы программного блока? Всегда в банк данных функционального блока? Т.е. программа без функционального блока вообще не может работать самостоятельно? Просто в Codesys / Twincat я могу просто все записать в программу и мне не нужны FB и FC. А в S7 все должно плясать вокруг FB?

А если я вставляю в программный блок только функцию - куда выводить данные? Он не предлагает создать блок данных под это.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Parliament74
авторитет
авторитет
Сообщения: 865
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 223 раза

Данные в OB - Только Input / Temp и Constant

Сообщение Parliament74 »

Можно в меркерную память выводить, например.

А блок данных не обязательно должен "принадлежать" какому-то функциональному блоку, их просто так можно создавать.

Автор темы
seggi
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 18 янв 2022, 15:17
Имя: Сергей
Страна: Германия
город/регион: Оснабрюк
Благодарил (а): 3 раза
Поблагодарили: 11 раз

Данные в OB - Только Input / Temp и Constant

Сообщение seggi »

Parliament74 писал(а): 08 июл 2022, 13:51 Можно в меркерную память выводить, например.
А это где? Как по английски называется? Это не область тегов?
Parliament74 писал(а): 08 июл 2022, 13:51 А блок данных не обязательно должен "принадлежать" какому-то функциональному блоку, их просто так можно создавать.
Только что создал такой блок данных вручную, так сказать и там только один доступный раздел данных есть - Static
А если такой блок создается через FB - тогда сразу все разнообразие появляется типа Input / Output / InOut / Static / Temp / Constant
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Данные в OB - Только Input / Temp и Constant

Сообщение M3f »

seggi, у вас пробел знаний в области понимания OB, FB, FC, GDB, IDB. Обычно в роликах для начинающих это объясняют, не знаю какие вы начинали смотреть.
Для начала, хорошо бы ознакомиться с книгой: "Automation with SIMATIC S7" от Hans Berger или хотя бы: "Programming Guideline for S7" от самих Siemens.
По вашим вопросам:
seggi писал(а): 08 июл 2022, 12:58 А куда выводить данные от работы программного блока?
В Global Data Blocks (GDB) или в Tags (область M, как вам советовали ранее).
seggi писал(а): 08 июл 2022, 12:58 Всегда в банк данных функционального блока?
Не всегда, зависит от задачи.
seggi писал(а): 08 июл 2022, 12:58 Т.е. программа без функционального блока вообще не может работать самостоятельно?
Может, но лучше разбивать программу на FC и FB, а не писать "простыни" в OB.
seggi писал(а): 08 июл 2022, 12:58 Просто в Codesys / Twincat я могу просто все записать в программу и мне не нужны FB и FC. А в S7 все должно плясать вокруг FB?
Не обязательно вокруг FB, но так намного удобней, при необходимости дальнейшего масштабирования, во время эксплуатации, обслуживании, пусконаладки и пр.

Автор темы
seggi
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 18 янв 2022, 15:17
Имя: Сергей
Страна: Германия
город/регион: Оснабрюк
Благодарил (а): 3 раза
Поблагодарили: 11 раз

Данные в OB - Только Input / Temp и Constant

Сообщение seggi »

M3f, Я преимущества применения FB и FC вполне понимаю, я не настолько дремучий, все пихать в одну программу я не хочу, я даже уже struct вполне удачно использовал. Недавно переписал один древний блок из FUP на SCL функцией одной, состоящей из одной строки, получил просто эстетическое удовольствие. Книги скачал, Бергера уже читаю.

Просто в Codesys/Twincat можно создать тот же FB, указать там input/output и потом просто в программе привязываешь к соответствующим входам/выходам конкретного станка. А здесь в Сименс получаются какие-то пляски с хранение полученных и исходных данных не в программе, а ещё где-то. Использование переменных в области тегов принуждает к привязке переменной к какому-то Merker, что я встречал уже у Eaton в его Easysoft, но там как бы контролёры совсем начального класса, там даже SCL урезанный, без некоторых функций, не думал, что и у Сименс такое будет. Думал, что я ещё чего-то не понимаю. Но если так, что же, буду знать.

POV
авторитет
авторитет
Сообщения: 802
Зарегистрирован: 12 авг 2008, 11:05
Имя: Патрушев Олег Валерьевич
Страна: Россия
город/регион: г. Н.Новгород
Благодарил (а): 110 раз
Поблагодарили: 158 раз

Данные в OB - Только Input / Temp и Constant

Сообщение POV »

seggi писал(а): 10 июл 2022, 08:53 Просто в Codesys/Twincat можно создать тот же FB, указать там input/output и потом просто в программе привязываешь к соответствующим входам/выходам
Кто вам запрещает это сделать в Сименсе? Простейшее использование FB в этом и заключается.
seggi писал(а): 10 июл 2022, 08:53 Думал, что я ещё чего-то не понимаю
Вот именно. Но это пока, со временем придет.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Данные в OB - Только Input / Temp и Constant

Сообщение M3f »

seggi писал(а): 10 июл 2022, 08:53 ... А здесь в Сименс получаются какие-то пляски с хранение полученных и исходных данных не в программе, а ещё где-то. Использование переменных в области тегов принуждает к привязке переменной к какому-то Merker, что я встречал уже у Eaton в его Easysoft, но там как бы контролёры совсем начального класса, там даже SCL урезанный, без некоторых функций, не думал, что и у Сименс такое будет...
Вы видимо еще не дошли до "multi-instance DB" и тогда придет понимание, что эти пляски вполне оправданы. А "memory markers" — это рудимент, который остался нам от старых ПЛК. Эту область можно вообще не использовать в современных ПЛК Siemens (некоторые даже категорически против ее использования из-за скорости опроса).
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
seggi
здесь недавно
здесь недавно
Сообщения: 60
Зарегистрирован: 18 янв 2022, 15:17
Имя: Сергей
Страна: Германия
город/регион: Оснабрюк
Благодарил (а): 3 раза
Поблагодарили: 11 раз

Данные в OB - Только Input / Temp и Constant

Сообщение seggi »

M3f писал(а): 11 июл 2022, 10:45 А "memory markers" — это рудимент, который остался нам от старых ПЛК
Я тоже так считаю. Beckhoff пока нравится мне намного больше. Но шеф сказал - учи Siemens тоже, его пока достаточно много везде. Ну, сказал - "Яволь" и взял под козырек.

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Данные в OB - Только Input / Temp и Constant

Сообщение stesl »

M3f писал(а): 11 июл 2022, 10:45 А "memory markers" — это рудимент, который остался нам от старых ПЛК. Эту область можно вообще не использовать в современных ПЛК Siemens (некоторые даже категорически против ее использования из-за скорости опроса).
Вы уверены, что запись/чтение на карту памяти (речь о DB же) быстрее чем в ОЗУ? Какие то непонятные выводы.
seggi писал(а): 11 июл 2022, 13:45 Я тоже так считаю.
Вы пока еще ничего считать не можете )) Простите за категоричность. Ваш опыт в Codesys, это как детский сад для поступления в ВУЗ. Со временем Вы поймете весь функционал, удобство и практичность, которую нам дали инженеры Simatic.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Данные в OB - Только Input / Temp и Constant

Сообщение M3f »

stesl, речь идет про новые серии ПЛК от Siemens.
Например тут (S7-1200/1500 access M area vs datablock execution time) приводят пример работы цикла, где он с оптимизированным DB работает быстрее (в среднем на 25%), чем через "markers" (Tested on a 1512SP CPU HW 1.8).

Сам Siemens также рекомендует использовать оптимизированные DB:
4.2 No bit memory but global data blocks
• Optimized global DBs are clearly more powerful than the bit memory address area that is not optimized only for reasons of compatibility.
• Dealing with bit memory (system and clock flags also) is problematic since the size of the flag area of each controller has is different. Do not use bit memory for the programming but always global data blocks. This is how the program can always be used universally.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Данные в OB - Только Input / Temp и Constant

Сообщение stesl »

M3f писал(а): 15 июл 2022, 13:53 Сам Siemens также рекомендует использовать оптимизированные DB
Понял, спасибо за консультацию )) Работаю пока только с классикой. Про оптимизированные DB пока только негатив слышал. Понятно, что мнения у всех разные, и нужно сперва самому попробовать.
Ответить

Вернуться в «Общие вопросы»