Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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

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

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

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

Сообщение dm19 » 22 мар 2014, 10:46

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


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

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

Сообщение Михайло » 23 мар 2014, 05:28

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

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

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

Сообщение MuadDib » 24 мар 2014, 10:57

Борьба со Stuxnet?


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

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

Сообщение dm19 » 24 мар 2014, 11:19

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

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

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

Сообщение aranea » 24 мар 2014, 11:56

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

там по-вашему магия! а как на магию CRC рассчитать?

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

по лампам на ПЛК или по температуре модулей аналогового ввода будете оценивать правильность этой математики?
может программиста отстранить от работы пока не поздно, раз есть такие ощущения?
Изображение

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

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

Сообщение aranea » 24 мар 2014, 12:08

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

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

по всей видимости сработало)))

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

папка Blocks в онлайне имеет контрольную сумму, вычисляемую Степом
online.PNG

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

Аватара пользователя

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

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

Сообщение den_vish » 24 мар 2014, 12:16

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

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

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

Сообщение aranea » 24 мар 2014, 12:23

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


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

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

Сообщение dm19 » 24 мар 2014, 14:52

aranea писал(а):там по-вашему магия! а как на магию CRC рассчитать?

это типа стеб? :coolest:

aranea писал(а):по лампам на ПЛК или по температуре модулей аналогового ввода будете оценивать правильность этой математики?
может программиста отстранить от работы пока не поздно, раз есть такие ощущения?

конечно по лампам и обязательно термометр в модуль воткну, чтобы его температуру измерить
есть понятие reference software

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


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

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

Сообщение Михайло » 24 мар 2014, 15:18

MuadDib писал(а):Борьба со Stuxnet?

Типа. ГОСТ Р 8.654-2009. Требования к программному обеспечению средств измерений


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

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

Сообщение dm19 » 24 мар 2014, 15:46

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

если говорить в терминах этого ГОСТа РФ, то необходима идентификация ПО


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

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

Сообщение dm19 » 28 мар 2014, 00:22

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


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

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

Сообщение Михайло » 28 мар 2014, 04:15

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


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

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

Сообщение Василий Иванович » 31 мар 2014, 00:24

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

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

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

Сообщение MuadDib » 31 мар 2014, 04:45

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


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

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

Сообщение Василий Иванович » 31 мар 2014, 07:43

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


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

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

Сообщение dm19 » 01 апр 2014, 21:17

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


не совсем понимаю при чем здесь открытость/закрытость самой ОС. welmec вообще то не устанавливает требования


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

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

Сообщение Михайло » 02 апр 2014, 03:50

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

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


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

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

Сообщение Василий Иванович » 02 апр 2014, 08:56

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


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

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

Сообщение Михайло » 02 апр 2014, 15:20

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


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

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

Сообщение Василий Иванович » 03 апр 2014, 11:12

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


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

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

Сообщение dm19 » 09 апр 2014, 11:50

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


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

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

Сообщение Василий Иванович » 09 апр 2014, 11:58

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


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

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

Сообщение dm19 » 09 апр 2014, 12:15

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


Я в принципе и склоняюсь к этому варианту, только получается надо будет фиксировать наименования переменных и функций, которые будут контролироваться.

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

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

Сообщение MuadDib » 10 апр 2014, 05:29

dm19 писал(а):Я в принципе и склоняюсь к этому варианту, только получается надо будет фиксировать наименования переменных и функций, которые будут контролироваться.

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


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей