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

Контроллеры Siemens Simatic S7

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Контроллеры Siemens Simatic S7

Сообщение dm19 »

Сразу предупреждаю в вопросе не ориентируюсь, поэтому и прошу помощи.
Описание проблемы: есть АСК, построенная на базе контроллера SS S7, на контроллер залито ПО (скрипты, файл, не знаю в какой форме, программированием занимаются другие люди). Задача: предварительный (на ПК) или первоначальный (на АСК) расчет CRC этой программной части и возможность в последующем контроля этой суммы силами АСК. Есть ли возможность реализации? Мне кажется, что это реализовать просто, но не зная специфики программирования под контроллер...

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Контроллеры Siemens Simatic S7

Сообщение Михайло »

Сомнения верны. Контроллеры S7 не способны рассчитывать контрольную сумму собственной программы. Это Вам нужно для метрологических целей?
Например, если у Вас контроллер серии S7-300, то Вы можете почитать его описание типа (приложение к свидетельству об утверждении типа средства измерения №15772-11). Выдержка из документа:
Описание типа S7-300.gif
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 10 раз
Поблагодарили: 17 раз

Re: Контроллеры Siemens Simatic S7

Сообщение MuadDib »

Борьба со Stuxnet?

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

Наверно я неправильно сформулировал: на аналоговые модули контроллера идет 4-20 мА со средств измерений, после чего ПО на контроллере (или не на контроллере? а во внешнем ПО?) проводится определенная мат. обработка (приведение к Н.У. и т.д.). И стоит задача оценки правильности этой математики с последующей фиксацией CRC, номера версии и наименования. Все делается в метрологических целях. Собственно с программистом не хочу общаться, т.к. есть смутное ощущение, что дадут недостоверную информацию. В общем речь не о собственно ПО контроллера, а о куске кода который выполняет обработку измеренных значений.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Контроллеры Siemens Simatic S7

Сообщение aranea »

dm19 писал(а):на аналоговые модули контроллера идет 4-20 мА со средств измерений, после чего ПО на контроллере (или не на контроллере? а во внешнем ПО?) проводится определенная мат. обработка (приведение к Н.У. и т.д.). И стоит задача оценки правильности этой математики с последующей фиксацией CRC, номера версии и наименования.
там по-вашему магия! а как на магию CRC рассчитать?
dm19 писал(а):Собственно с программистом не хочу общаться, т.к. есть смутное ощущение, что дадут недостоверную информацию. В общем речь не о собственно ПО контроллера, а о куске кода который выполняет обработку измеренных значений.
по лампам на ПЛК или по температуре модулей аналогового ввода будете оценивать правильность этой математики?
может программиста отстранить от работы пока не поздно, раз есть такие ощущения?
Изображение
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Контроллеры Siemens Simatic S7

Сообщение aranea »

den_vish писал(а):а если программу в архив засунуть, и CRC архива рассчитывать?

я попробовал, создал проект, заархивировал его со степа получил SH1 - 60f453509a434ef54b1d91ba77c9f873b68fa30d
удалил строчку кода, стал SH1 - 78381003b1f176a4307b134edab42685e77d819e

по всей видимости сработало)))
а теперь выкачайте с ПКЛ и проверьте еще раз
архив-то как лежал на компе так и лежит... хоть зашифруйте его, от изменения программы в ПЛК это не спасет

папка Blocks в онлайне имеет контрольную сумму, вычисляемую Степом
online.PNG
но она изменится при изменении любого FB, FC, OB и DB блока
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Re: Контроллеры Siemens Simatic S7

Сообщение den_vish »

да, понял уже свою ошибку. В любом случае метрологу без программиста ни как))
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Контроллеры Siemens Simatic S7

Сообщение aranea »

похоже от изменения значений в ДБ сумма не меняется
другой дело что программно ее не вытаить
Изображение

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

aranea писал(а):там по-вашему магия! а как на магию CRC рассчитать?
это типа стеб? :coolest:
aranea писал(а):по лампам на ПЛК или по температуре модулей аналогового ввода будете оценивать правильность этой математики?
может программиста отстранить от работы пока не поздно, раз есть такие ощущения?
конечно по лампам и обязательно термометр в модуль воткну, чтобы его температуру измерить
есть понятие reference software

как я уже писал выше вопрос по куску кода, связанному с метрологией, я в этом вопросе третья сторона и не я плачу программисту и не я его нанимал

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Контроллеры Siemens Simatic S7

Сообщение Михайло »

MuadDib писал(а):Борьба со Stuxnet?
Типа. ГОСТ Р 8.654-2009. Требования к программному обеспечению средств измерений

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

Михайло писал(а):ГОСТ Р 8.654-2009. Требования к программному обеспечению средств измерений
если говорить в терминах этого ГОСТа РФ, то необходима идентификация ПО

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

судя по всему это действительно магия, раз никто ничего конкретного сказать не может

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Контроллеры Siemens Simatic S7

Сообщение Михайло »

Никакой магии! Соблюдение данного ГОСТа возможно только в системах с фон-неймановской архитектурой. У контроллеров (которые не имеют открытой встроенной ОС) почти поголовно гарвардская архитектура. Другими словами, Ваша задача практически нерешаема. Если только не частично или на отдельных сериях контроллеров, где идентификация специально организована на уровне операционной системы, чтобы соблюсти требования WELMEC (на базе этой штуки разработан ГОСТ).

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Контроллеры Siemens Simatic S7

Сообщение Василий Иванович »

Контроллер позволяет опросить размер загруженной пользовательской программы и данных. Через S7-протокол можно вытащить еще информацию, с помощью которой можно сформировать довольно надежную контрольную сумму. Есть софт, который это делает и позволяет контролировать целостность программы, залитой в контроллер:
http://www.langner.com/de/produkt/cic/
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 10 раз
Поблагодарили: 17 раз

Re: Контроллеры Siemens Simatic S7

Сообщение MuadDib »

Вероятно, я что-то упускаю, но можно использовать функцию Compare online/offline среды разработки. Можно сохранить в качестве референсной некоторую версию проекта Step7. Сохранить архив, зафиксировать хэш - что угодно. При необходимости подтверждения соответствия программы контроллера референсу распаковываем архив и запускаем сравнение онлайна с оффлайном. Сравнение покажет, какие программные блоки отличаются от тех, что были в архиве. По DB отдельно может быть зафиксировано отличие в версии и в текущих значениях переменных. Программист может указать, какие именно FC, FB, DB отвечают за функции, подлежащие такому контролю. Если по каким-то из них Step7 фиксирует различия, проверка не прошла.
Конечно, муторно, но и сама по себе исходная задача, мягко говоря, не соответствует оборудованию.

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Контроллеры Siemens Simatic S7

Сообщение Василий Иванович »

Да ну ладно, не соответствует. Они могли взять из F-блоков все построить, а там система сама сигнатуру считает и контролирует.

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

Михайло писал(а):Никакой магии! Соблюдение данного ГОСТа возможно только в системах с фон-неймановской архитектурой. У контроллеров (которые не имеют открытой встроенной ОС) почти поголовно гарвардская архитектура. Другими словами, Ваша задача практически нерешаема. Если только не частично или на отдельных сериях контроллеров, где идентификация специально организована на уровне операционной системы, чтобы соблюсти требования WELMEC (на базе этой штуки разработан ГОСТ).
не совсем понимаю при чем здесь открытость/закрытость самой ОС. welmec вообще то не устанавливает требования

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Контроллеры Siemens Simatic S7

Сообщение Михайло »

Может я не совсем точно выражаюсь, скорее, ОС контроллеров чаще представляет собой гарвардскую архитектуру, когда программа имеет доступ только к памяти данных, но не имеет свободного доступа к памяти программ (доступ к самой себе).
Чтобы вычислить CRC программного обеспечения в реальном времени, нужно что-то ближе к неймановской архитектуре - свободный доступ к памяти программ, например, персональный компьютер с Windows.

P.S. Уточните серию контроллера S7: S7-200, S7-300, S7-400 или S7-1200?

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Контроллеры Siemens Simatic S7

Сообщение Василий Иванович »

По-моему топикстартер не настаивал, чтобы контроллер сам себя контролировал. Это может быть реализовано другой подсистемой. Например, вот такой железкой:
http://www.mbconnectline.com/index.php/ ... ts/mbeagle

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Контроллеры Siemens Simatic S7

Сообщение Михайло »

мы с топикстартером вроде поняли друг друга. Ему нужна возможность рассчитать CRC или что-то типа md5, при чем эта контрольная сумма должна вычисляться для кода, который включает в себя саму эту программу расчета контрольной суммы. Опа!

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Контроллеры Siemens Simatic S7

Сообщение Василий Иванович »

Eму нужна CRC лишь куска с метрологией, хотя это не принципиально. Эту CRC можно считать вне загружаемой программы и передавать потом в контроллер, который может сравнить с первоначальным значением.

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

Именно нужно считать CRC с куска кода, хотя, если будет считаться с какого-то блока данных, включающего его, тоже подойдет. Конечно идеальный вариант - расчет средствами контроллера, но вполне подойдет и с подручными средствами, но желательно программными. Смысл задачи - неизменность кода, влияющего на результаты измерений и возможность при необходимости подтвердить контролирующим органам, что владелец использует именно узаконенный вариант, а не какую-то модификацию. Про собственно код расчета CRC я пока вопрос не поднимаю и рассматриваю его отдельно от контролируемого кода.
Последний раз редактировалось dm19 09 апр 2014, 13:09, всего редактировалось 1 раз.

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Контроллеры Siemens Simatic S7

Сообщение Василий Иванович »

Дешевле всего будет делать, как советовал MuadDib. Функция сравнения с эталоном уже присутствует в штатном ПО. Если хотите красивее и удобнее - докупайте спецсофт или железо, на рынке всё есть.

Автор темы
dm19
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 22 мар 2014, 11:30
Имя: dm19 dm19

Re: Контроллеры Siemens Simatic S7

Сообщение dm19 »

Василий Иванович писал(а):Дешевле всего будет делать, как советовал MuadDib. Функция сравнения с эталоном уже присутствует в штатном ПО. Если хотите красивее и удобнее - докупайте спецсофт или железо, на рынке всё есть.
Я в принципе и склоняюсь к этому варианту, только получается надо будет фиксировать наименования переменных и функций, которые будут контролироваться.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 10 раз
Поблагодарили: 17 раз

Re: Контроллеры Siemens Simatic S7

Сообщение MuadDib »

dm19 писал(а): Я в принципе и склоняюсь к этому варианту, только получается надо будет фиксировать наименования переменных и функций, которые будут контролироваться.
А в чем проблема в таком фиксировании? Вы не доверяете программистам вообще и хотите исключить их из схемы? Вы же сами поставили задачу так, что нужно контролировать состояние только определенных программных конструкций. Следовательно, работа нужного вам инструмента будет по любому зависеть от знаний о внутренней структуре программы: ключевые программные структуры все равно кто-то должен будет указать. И какой бы инструмент вы ни применили, вам понадобятся и "фиксирование", и некая метаинформация, исходящая от программистов.
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»