Адрес http://90.189.213.191:4422/doc_sh/marel_analiz/  инд. 1-41-1

Перенос темы на сервер автора 19-03-2017

 

                     Варианты, методы и способы анализа CAN-интерфейса

Вступление:

1. Автору предложили  решить одну производственную задачу. Ее смысл раскрывается дальше.

Такие  подобные объекты есть и в других регионах нашей родины.

Условно назовем объект "Красивый мясо комбинат" - КМК

Оборудование фирмы прекрасное, и таких фирм так же много. Дело в  проекте и программе.

2.  Статья представлена в виде отчета, и ответов на вопросы руководства КМК(перейти). Удалены данные, недопустимые в открытой печати, по соображениям коммерческой  и личной безопасности.

3. Отчет - офицальный документ, а ответы на вопросы это развернуто и индивидуально. В ответах перечислено програмное обеспечение и устройства.

 

 

                                  Отчет

      по выявлению причин нарушения работы

линии обвалки на ООО "Красивый мясокомбинат".

Содержание:

-  исходная информация;

-  проверка CAN-шины;

-  выводы по СAN-шине;

- проверка контроллера М3000;

- выводы  по контроллеру М3000;

- проверка программного обеспечения сервера;

- выводы по программному обеспечению сервера;

- общий вывод;

- рекомендации;

          Исходная информация

В период с 8-11-2012 по 8-12-2012 года на линии обвалки ООО "Красивый мясокомбинат" было проведено комплексное исследование причин периодического нарушения работы.

 

Фото линии обвалки.

    

 

Исходная информация неисправности:

При работе линии на уровне  более 50т продукции в смену(т.е. примерно 10 тонн на час работы)  происходят сбои выражающиеся:

-       не отправляется обработанный продукт по системе marel линия обвалки. На фото терминалы линии, которые периодически не реагируют.

-       не выполняется отработка программы по определению данных продукта и в результате оператор сбрасывает продукт без обработки. Появляется пересортица.

   - линия CAN не отрабатывает запросы на линию т.е. запросы отрабатываются и отображаются с задержкой до 2-3х минут. 

 

                           Тестовые мероприятия

1. Контроль работоспособности шины CAN

На шину CAN установлен адаптер, который подключен к дополнительному компьютеру.

Схема  подключения к RT-220.

Фото подключения:

Компьютер и адаптер подвешены на дверце.

Колодка в которую подключается адаптер.

 

Установлено программное обеспечение для определения   контроля  объема передаваемой информации и распределения запросов по терминалам   CAN шины.

 Работа шины контролировалась на скоростях 125кбайт в секунду и 250 кбайт в секунду.

Получены данные  по CAN-шине.

1.  График  распределения объема информации по времени на скоростях 125кб и 250кб имеет одинаковые провалы. Это то время, когда линия "зависала".

 

 

2. Данные посылки на скорости 125 и 250 кбит в секунду не подвержены видимым искажениям.

 

На фото вид сигналов  на скорости 115 и 250 кбит. Снято цифровым осциллографом.

 

3. Программой  по сигнатурам нажатия клавиш терминалов отслеживается работа на CAN-шине.

Ниже  скин программы  контролирующей работу операторов.

 

 

Фото платы терминалов:

 

Вывод по работоспособности CAN-шины.

1.   CAN-шина , помехи и скорость обмена по шине не влияют на  появление неисправности.

        Проверка контроллера М3000

 

В тестируемой системе используется 4 контроллера М3000. И только 3 дисплея для работы с этими контроллерами. К четвертому М3000, который и работает с терминалами, обращение и настройки проводятся удаленно. Ниже внешний вид и печатная плата М3000.

 

 

 

Ниже скин тестового программного обеспечения,

файл M3KDSetup.exe   с помощью которого проверяется удаленно контроллер без монитора.

 

Проверка проводилась по техническому описанию на эксплуатацию.

CAN Network  sesh.pptx

Все системы тестируются и проверяются нормально.

В момент "зависания" работы CAN шины, контроллер не отвечает на тесты.

Запрос на занятость памяти, или загрузку ЦП отрабатывается, но уже после того как "зависание" прошло.  Т.е. контроллер работает с полной нагрузкой и не реагирует на внешние запросы.

 

            Выводы  по контроллеру М3000

 

1. "Физическая" схема контроллера работает нормально.

2. Нет информации, о качестве работы М3000 в момент зависания.

3. Проводить проверки путем замены однотипных контролеров межу собой или изменением  настроечных файлов очень рискованно, поскольку нет замены и резерва м3000. Требуется резерв.

4. Вероятно, есть причина в зависании в программном обеспечении контроллера М3000 или в его низких  вычислительных ресурсах

 

              Проверка программного обеспечения сервера

Программное обеспечение выполнено на основе большого количества исполняемых exe-файлов.  Данные файлы работают под настройкой таблицы конфигурации.

Имеются логи событий  и таблицы отчетов по линии обвалки.

 

 

Определена связь по TCP-IP портам от сервера 10.0.3.1  к м3000 адрес 10.0.3.17

используются порты 5000 5002 5007 5009.

Определены программы которые обращаются по этим портам к контроллеру М3000 линии терминалов.

Получены логи файлов TCP обмена по этим портам.

           Выводы по программному обеспечению сервера

1.  Влияние сетевого оборудования, нагрузки  на память процессора сервера от программы не обнаружено. Ресурсы процессора и памяти  сервера достаточны для работы программы.

2. Нет доступа к отслеживанию алгоритма выполнения запроса от терминала. Все программы без описания. Изменять их нельзя, т.к. это вызывает останов работы всего сервера.

3. Зависание на CAN-шине линии обвалки, зависит от работы программного обеспечения на сервере marel

          Общий вывод

 

1. Анализ, на основе проделанных тестов, показывает, что "зависание" работы линии терминалов вызвано программным обеспечением верхнего уровня.  

 Алгоритм работы сервера закрыт. Нет доступа к отслеживанию событий по работе в алгоритме.  Признаки большого "скачка" обмена по CAN-шине и "замираний" на той же шине, говорят о  отсутствии контроля программы   верхнего уровня  обмена с терминалами.

При увеличении скорости по CAN-шине  в 2а раза характер неисправности не изменился. Т.е. это дело все в программе верхнего уровня.

 

2. Возможно, что зависание по CAN-шине вызывается и слабыми возможностями контроллера М3000. Это преобразователь между CAN-шиной и LAN-шиной.  

Проверки М3000 не проводились, т.к. отсутствует резерв  М3000. Есть вероятность испортить  внутренние программы контроллера при его тестировании на рабочем экземпляре.

 

3. Работа по CAN-шине нормальная и на появление неисправности не влияет.

Рекомендации

превентивные меры

1. Ввести контроль за состоянием CAN-шины для персонала КИПа

 для этого:

 -  подключить адаптеры USB-CAN-шины к дополнительному компьютеру. Компьютер включить в локальную сеть.

 - информацию  о СAN-шине удаленно в реальном масштабе времени должен иметь дежурный КИП, это позволит ему своевременно принимать решение о работе всех устройств. Т.е. он будет иметь информацию о работоспособности.

  тип адаптера можно посмотреть по ниже приведенным ссылкам:

http://www.domkordon.ru/product_474.html

http://www.youtube.com/watch?v=426pqPoXagA

http://www.energoportal.ru/catalog/preobrazovatel-interfejsa-pi-2-rs-485-usb-1-1-17780.html

 

2. Запросить у поставщиков программного обеспечения алгоритм работы контроллеров М3000

 Если программное обеспечение верхнего уровня не  программирует  М3000 в процессе работы и не обращается к его  уникальной внутренней структуре,   то возможно заменить его  на аналогичный, но более мощный и таким образом иметь резервный контроллер.

 В настоящее время резерва контроллерам   нет!

 

3.  При наличии адаптеров на CAN-шине с внешним управлением, появляется возможность имитировать работу  терминалов.  Таким образом, можно создать искусственную нагрузку CAN-шины и более точно локализовать неисправность. Определить виноват ли М3000 или нет. Найти границы неисправности.

глобальные меры

 4. Перевести программное обеспечение верхнего уровня  на другое систему построения. Использовать современные SKADA системы с открытым кодом и визуализацией программирования.

  Например отечественную : http://www.adastra.ru/

 

 

 

Вы писали:

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

Технический директор пишет:

 Несколько замечаний по отчету по линии обвалки:

1) В принципе все мероприятия, которые были проведены по мониторингу CAN шины вполне безопасны.

 

2) При мониторинге не указывается, каким программным обеспечением пользуется наладчик ( производитель ПО, руководство о том, как ПО работает функционирует, можно ли его применять для анализа CAN-шины ). Все это необходимо указывать в отчете. Я думаю компания Marel обязательно этим заинтересуется.

 

3) Осциллограмма, которую предоставил наладчик, это все один какой-то кадр или фрагмент кадра передачи данных. Я считаю необходимо полная запись кадров передачи данных и включение их в отчет (Например: За 5 мин до зависания сети 5 мин после зависания сети)то, конечно, займет немало времени для просмотра этих кадров передачи, но будет более достоверной информацией для анализа шины.

 

4) По описанию ошибки зависания шины складывается такое мнение, что действительно либо какое-то одно из устройств, "сидящее" на CAN-шине, физически садит полностью все шину, либо проблема в программном обеспечении контроллера М3000 или в его низких  вычислительных процессах.

 

5)Таким образом, лучшем способом будет обратиться к фирме Marel для поставки с их стороны по одному образцу устройств, которые работают на CAN-шине, с последовательной заменой их на работающие устройства. Тогда , по крайней мере, можно будет убедиться в правильной работоспособности технических устройств автоматизации линии обвалки.

 

С уважением,

Технический директор

ООО "Красивый мясокомбинат"

 

--------------------------------------------------------------------------------------------------------------------------------

 

 

По данным вопросом ниже развернутые ответы:

 

 

Вопрос 1

1) В принципе все мероприятия, которые были проведены по мониторингу CAN шины вполне безопасны.

 

Вопрос о безопасности исследований:

- нарушения со стороны протоколов физического уровня нет. Адаптер подключался по всем требованиям шины. Это достаточно давно известная схема.  Ниже микросхема, используемая в адаптере.

Ее модификация работает и для CAN-шины.

Нагрузочная способность линии, не могла быть превышена, т.к. 1 из терминалов линии в ремонте и отключен физически.

И кроме, того, где стоит 24 терминала, можно подключить и 25й. Запас амплитуды  сигнала виден по осциллограммам.

 

И второй признак безопасности. Что с адаптером подключенным к CAN-шине, что без него. Характер неисправности не меняется.

 

 

вопрос 2

2) При мониторинге не указывается, каким программным обеспечением пользуется наладчик ( производитель ПО, руководство о том, как ПО работает функционирует, можно ли его применять для анализа CAN-шины ). Все это необходимо указывать в отчете. Я думаю компания Marel обязательно этим заинтересуется.

 

Вопрос конечно интересный.

Задача программы для анализа  CAN-шины решалась в такой последовательности:

 - существующее программное обеспечение;

- возможность его использования для анализа;

- трудо-затраты при самостоятельном написании программы анализа и написание, если это  не долго;

 

Ситуация такова. Программы есть. Приведены  ниже ссылки на эти свободно доступные ресурсы.

http://can.marathon.ru/page/prog  

http://www.gaw.ru/html.cgi/txt/interface/can/start.htm

ну и так далее.

Все эти ресурсы настроены на свои задачи, т.е. вроде бы их можно использовать, но работать они будут с конкретными устройствами предлагающиеся на сайтах.

Т.е. нам эти программы не подошли. Слишком они сложные.

В нашей ситуации, задача достаточно очень простая. Считать количество байт в единицу времени. Что за байты и что они означают, это уже по возможности.

Для первичного анализа использовалась программа аналогичная  программе "гипертерминал"

 

 

Программа Test_Mod.exe  фирмы НПО-МИР- гмск

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

Автор более 8 лет пользуется данным программным обеспечением для работы с оборудованием данной фирмы.

Т.е. как бы имел "гаечный ключ" для работы с сом-портами и шинами rs-485 и  can-интерфейса.

В интернете есть и много других программ аналогичного назначения.

http://qrx.narod.ru/komp/test_com.htm

http://www.energosoft.info/soft_electronika_201_210.html

http://www.electropribor.by/print/235

и т.д.

Однако, в программе Test_Mod.exe   для  работы со скоростями 20 125 250 500 кбайт в секунду пришлось внести небольшие изменения. Исправить установки скоростей на требуемые по CAN-шине на линии разделки.

В принципе, скорость по шине разработчик может задать любую в пределах от 100 бит в секунду до 1000 кбайт в секунду.

Микросхема позволяет. Но почему то выбрали эти цифры 125 и 250  500 кбайт

Условий на выбор скорости много. Конечно же, желательно побыстрее. Но тогда появляются ограничения, на

помехи и длину линии. Но это отдельная большая тема - выбор скорости в шине

скачать программы тест_мод.exe с модификациями скоростей можно по ниже приведенным ссылкам.

test_mod_125k.zip

test_mod_250k.zip

test_mod_500k.zip

 

Для анализа работы использовался лог файл получаемый от программы tes_mod.exe Т.е. программа писала все что есть в шине в режиме чтения. А уж, после полученные большие файлы анализировались.

Формат представления данных по секундам.

Формировался файл Test_Mod.log 

Вид данных такой на время 09часов 39минут 19секунд:

\g09:39:19 => \B! 23 22 C6 52 10 72 82 10 FF 71 FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 B2 14 17 A3 E3 FD 2D 33 83 7B 10 C3 08 10 41 24 4D 23 22 C6 52 10 FA 06 16 9F 15 FF 2D 33 83 7B 10 43 08 10 C3 24 4D 23 22 C6 52 10 B2 06 09 17 47 F6 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 D2 17 90 61 FC F5 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 D2 16 2D 31 B0 FF 2D 33 83 7B 10 C1 08 10 C3 24 4D 23 22 C6 52 10 12 9F E8 8B 56 EA 2D 33 83 7B 10 C1 08 10 C3 24 4D 23 22 E6 7B 10 1B 5B 1A 82 EC B9 2D 33 83 7B 10 C3 08 10 C1 24 4D 23 22 C6 52 10 72 82 3A DE B8 F4 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 F6 52 10 22 41 08 10 72 CB FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 72 82 0E 1D FB DB 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 D6 52 10 42 24 04 10 92 AA FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 72 C2 10 DD 22 F5 2D 13 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 D6 52 10 42 24 04 10 92 AA FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 72 C2 38 67 07 FD 2D 33 83 7B 10 C3 08 10 C1 24 4D 23 22 D6 52 10 42 24 04 10 92 AA FF 2D 33 83 79 10 C3 08 10 43 24 4D 23 22 C6 52 10 72 C2 1E AF 78 F4 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 FB 9C FF 2D 33 83 6B 10 43 08 10 C3 24 4D 23 22 F6 52 10 42 04 10 82 B8 F2 FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 72 E2 21 AF 82 FD 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 D6 52 10 42 24 04 10 92 AA FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 72 E2 19 DF 0B FD 2D 33 83 6B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 C1 08 10 C3 24 4D 23 22 F6 53 10 63 04 10 82 B8 F2 FF 2D 11 83 79 10 C3 08 10 C3 24 4D 23 22 C6 52 10 72 E2 13 1F 46 FD 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 41 08 10 C3 24 4D 23 11 F6 29 10 42 04 10 82 B8 F2 FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 FB E2 90 39 FA 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 33 C6 39 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 5B 10 FB 82 10 FA 71 DF 2D 33 83 7B 10 C3 08 10 43 24 4D 23 22 C6 52 10 FA E4 8B 10 F5 D5 2D 33 83 7B 10 C3 08 10 43 24 4D 23 22 C6 52 10 19 F4 16 2D 8E D8 2D 33 83 7B 10 41 08 10 C3 24 4D 23 22 C6 52 10 F2 06 42 3D 6C FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 B2 06 04 82 B8 EF 2D 33 83 7B 10 43 08 10 C3 24 4D 23 22 C6 52 10 42 24 24 12 DA 9C FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 F6 52 10 62 04 10 41 B8 79 FF 2D 33 83 7B 10 43 08 10 C3 24 4D 23 22 C6 52 10 72 82 3A FF B8 F6 2D 33 83 7B 10 C1 08 10 43 24 4D 23 33 C6 3B 10 C2 E8 72 CC 1B D3 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 72 E2 21 0F B9 FD 23 11 E6 29 10 C2 82 76 84 54 FA 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 FF 29 10 21 24 86 10 21 B1 FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 33 C6 29 10 72 C2 10 DD 22 F5 2D 11 90 67 08 10 C3 08 10 3A CE 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 FA 82 10 7D 8B FF 23 22 C6 52 10 B2 14 2E AD BA ED 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 B2 24 8B B4 17 F4 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 FB 34 31 A2 57 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 B2 34 31 86 1F FF 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 B2 46 31 51 91 FF 2D 11 90 E7 08 10 C3 08 10 3A CA 23 11 C6 29 10 B2 34 16 30 7A FA 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 22 C6 52 10 F2 74 0B C7 4F FF 2D 11 90 EF 08 10 C3 08 10 3A CE 2D 33 83 7B 10 C3 08 10 C1 24 4D 23 11 C6 29 10 B2 C6 0C E1 F7 FD 23 22 C6 52 10 72 E2 19 DF 0B FD 2D 33 83 7B 10 C3 08 10 C3 24 4D 2D 11 90 E7 08 10 43 08 10 3A CE 23 22 C6 52 10 B2 E4 8B 10 7D F5 23 11 C6 29 10 E9 16 B0 B1 35 FD 2D 33 83 7B 10 C3 08 10 43 24 4D 2D 11 90 EF 08 10 C3 08 10 3A CE 23 22 C6 52 10 B2 F4 16 7D 56 FA 23 11 E7 29 10 09 59 83 42 0E F7 2D 33 83 79 10 C3 08 10 C3 24 4D 2D 11 90 EF 08 10 C3 08 10 3A CE 23 22 D6 53 10 FB 06 10 41 C1 75 23 11 C6 29 10 D2 12 12 09 CB AE 2D 33 83 2B 10 43 08 10 C3 24 4D 23 22 C6 52 10 72 E2 87 5E 9E FF 2D 22 83 52 10 C3 08 10 C3 24 4D 2D 11 90 EF 08 10 C3 08 10 3A CE 23 22 C6 52 10 B2 14 17 30 1C DC 23 11 F6 29 10 42 04 10 82 68 9E FF 2D 11 90 EF 08 10 C3 08 10 3A CE 2D 33 83 7B 10 C3 08 10 C3 24 4D 23 11 C6 29 10 72 82 12 3E 0E EC 23 22 C6 52 10 FB F4 16 DF 56 FA 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 36 12 79 87 FF 2D 33 83 7B 10 41 08 10 C3 24 4D 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 63 64 74 B9 BA EB 2D 11 90 EF 08 10 C3 08 10 3A CA 23 11 D6 29 10 C2 B3 10 C3 33 B3 2D 11 90 65 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 82 2E 5E B0 FD 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 7B 29 10 C2 10 82 08 C1 82 FF 2D 11 90 EF 08 10 43 08 10 3A CE 23 11 C6 29 10 FB C2 10 5D C1 FD 2D 11 90 EF 08 10 C1 08 10 3A CA 23 11 C6 29 10 63 24 34 12 59 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 16 12 51 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 C2 41 4E 39 F6 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 21 24 12 12 59 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CA 23 11 D6 29 10 42 24 04 10 42 B1 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 C2 35 57 6E FF 2D 11 90 EF 08 10 C1 08 10 3A CE 23 11 E6 29 10 42 24 24 82 DE D6 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 C2 3D 87 FF FD 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 36 12 FB 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 FB 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 C2 07 6E 7B FA 2D 11 90 EF 08 10 C1 08 10 3A CE 23 11 F6 29 10 42 04 10 82 68 9E FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 A2 10 1D A3 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 67 29 10 42 24 24 12 B2 87 FF 2D 11 90 6F 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 A2 36 27 7E FD 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 FA 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 D6 29 10 42 24 04 10 42 B1 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 A2 82 4E 9F FA 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 E6 29 10 42 24 24 82 94 D6 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 A2 41 EE 14 FB 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 FF 29 10 23 24 82 10 21 B1 FF 2D 11 90 E7 08 10 C1 08 10 3A CE 23 11 C6 29 10 72 A2 39 27 A1 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 E6 29 10 42 24 24 82 94 D6 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 E2 10 DD 9B FD 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 6B 29 10 42 24 04 10 42 B1 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 E2 38 E7 E9 FD 2D 11 90 67 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 F2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 F6 29 10 42 04 10 82 68 9E FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 BB E2 2C 87 AE FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 E6 29 10 63 24 16 82 CE D6 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 F9 E2 11 C7 7B FF 2D 11 90 EF 08 10 43 08 10 3A CE 23 11 C6 29 10 42 24 36 12 FB 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 6D 08 10 C3 08 10 3A CE 23 11 C6 29 10 42 24 24 12 B2 87 FF 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 72 E2 07 1E 2B FA 2D 11 90 EF 08 10 C3 08 10 3A CE 23 11 C6 29 10 B2 E4 17 83 D7 F4 2D 11 90 6F 08 10 C3 08 10 3A CE 23 11 63 29 10 B2 B4 42 68 74 2D 11 90 6F 08 10 C3 08 10 3A CE 23 11 D6 29 10 B2 B4 10 41 36 57 2D 11 90 65 08 10 41 08 10 3A CE

Т.е. большой поток байт. 

Если обмен по шине уменьшался, то и соответственно объем записанных байт уменьшался. Это отслеживалось по рабочим перерывам и все соответствовало реальному времени.

По итогам лог файлов. построили временную диаграмму.

 

И в этих же диаграммах, отмечалось то время, когда операторы на линии видели "зависание" работы. Т.е. терминалы не реагировали.

 

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

Выделено разным подчеркиванием.

Станция  A27

\g19:06:03 => \B! C3 23 C6 52 10 72 82 10 78 6C DC CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 14 17 30 91 FF CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 34 16 2F F7 F6 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 86 0B 07 7D FA CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 D6 52 10 B2 C6 10 82 7D 59 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 82 04 DE 79 FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 C2 68 82 82 88 FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 F6 52 10 42 04 10 82 18 52 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 82 2E 9E CB FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 F6 52 10 C2 82 10 41 34 A3 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 00 10 72 C2 10 DD 96 FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 40 98 B4 C1 A8 FB CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 00 10 52 16 0D 71 0B FF CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 12 59 06 A2 3E F5 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 12 5B 30 0B 24 D5 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 01 F6 00 10 D2 41 08 10 C6 6A CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 C2 34 07 0B FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 E6 52 10 B2 14 E9 08 DF DA CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 00 10 72 E2 41 BE 2B FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 14 17 30 91 FF CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 34 16 90 A6 EE CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 D6 52 10 B2 06 10 82 F1 64 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 E2 19 DF 23 FD CD 23 83 52 10 82 08 41 04 E8 05 FF C3 01 C6 00 10 B2 14 17 1F 3E F4 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 F4 16 04 8C F7 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 D6 52 10 B2 46 41 04 C1 D7 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 E2 0D 9F 98 FA CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 A4 16 AB 3D FF CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 B2 74 17 50 65 EE CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 D6 52 10 B2 06 10 82 F1 6C CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 C6 52 10 72 E2 07 DE 40 F4 CD 23 83 52 10 82 08 41 04 E8 05 FF C3 01 C6 00 10 42 24 24 12 0A 84 FF CD 23 83 52 10 82 08 41 04 E8 05 FF C3 23 F6 52 10 42 04 10 82 18 52 CD 23 83 52 10 82 08 41 04 E8 05 FF

 

Станция  A43

 

\g19:03:58 => \B! A3 23 C6 12 10 72 82 10 7A 84 FF AD 23 83 52 10 82 08 61 04 10 A1 FF A3 23 C6 52 10 B2 24 8B 74 83 F5 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 B2 34 17 90 2A ED AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 00 10 B2 34 16 B0 FB F5 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 D6 52 10 B2 C6 10 41 C4 70 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 82 04 BE B6 FD AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 B2 F4 16 B0 E6 E9 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 B2 06 16 F0 90 DE AD 23 83 52 10 82 08 41 04 10 A1 FF A3 01 D6 00 10 B2 34 41 04 D6 AE AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 82 2E 3E D5 FA AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 F6 52 10 C2 10 82 08 4D A2 FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 C2 10 9D 55 FA AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 42 24 24 12 3E 4F FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 02 10 42 24 24 12 3E 4F FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 E6 52 10 42 24 24 82 18 7B AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 C2 0C 87 0D FB AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 D6 52 10 42 24 04 10 5A A4 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 32 E2 41 5E 93 FD AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 42 24 00 12 1E 4F FF AD 23 83 52 10 82 08 21 04 10 A1 FF A3 23 F6 52 10 42 04 10 82 BC 0E FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 E2 19 9F AD FA AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 42 24 24 12 3E 4F FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 F6 52 10 42 04 10 82 BC 0E FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 E2 05 0F 0D FD AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 42 24 24 12 3E 4F FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 F6 52 10 42 04 10 82 BC 0E FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 72 E2 03 BE 18 F5 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 52 10 B2 E4 17 43 C3 F5 AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 C6 00 10 B2 B4 42 F0 42 FF AD 23 83 52 10 82 08 41 04 10 A1 FF A3 23 D6 52 10 B2 B4 10 41 E8 47 AD 23 83 52 10 82 08 41 04 10 A1 FF

 

 

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

Это все подтверждается стандартом CAN-шины, и ее основными принципами.

см.  описание протокола транспортного уровня. http://www.s-tool.ru/articles/CAN_part_1

 

Зачем требовалось следить за нажатием на терминалах?

Возможна, такая неисправность, как постоянная передача от одного терминала по шине данных. т.е. монопольный захват шины. Но она не подтвердилась.  Все терминалы работали, в соответствии с временем нажатия.

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

Пока не пройдет определенное время, светофор не включиться. Точно так же логика контроллеров не дает монопольно захватить  CAN-шину.

Поскольку стало ясно, что программа получается  не сложная. То было принято решение ее написать.

Ее последовательность действий:

- инициализировать адаптер на установленную скорость

-  цикл приема и анализа:

  - ожидаем последовательность.

 - она пришла, принимаем все  буфер

 - находим в этой последовательности сигнатуру.

 - есть такая сигнатура - которая соответствует какому-либо 1 из 24х терминалов

     - значит, было нажатие  этого терминала - фиксируем на экране и в файле отчета

 - нет такой сигнатуры - фиксируем  объем переданной информации на экране и в файле отчета

- сбрасываем буфер и переходим  в начало цикла

 

Программа test_monsys.exe тестирования под xp...win7 -     скачать: http://www.shabronov.narod.ru/

Распространяется свободно.

Конфигурация работы программой осуществляется командной строкой

Сделать отдельный каталог(папку) где будет работать программа. Переместить туда программу.

Сделать файл  с расширением bat   с текстом   test_monsys.exe  S 33 3 c 9  v125000  8n2 где

- знак S - работа в режиме с консолью. Режим К - т.е. без консоли  не испоьзуется .

- 33 - это номер СОМ-порта на который установлен адаптер CAN-шины т.е. сом номером 33;

- 3 с 9 -  это переход по меню тестов, в режим тестирования и записи  нажатий;

- v125000 - скорость приема.  Для других скоростей CAN-шины указать соответственно v250000 или v500000

 Программа в принципе может работать с  любой скоростью  в диапазоне  300 до 2 000 000 бит в секунду.

 Важно, что бы "железо" адаптера  поддерживалось.

- 8n2 - это режим 8 байт без проверки на чет-нечет и 2а стоповых бита. 

 

При выполнении программа, переходит в консольный режим. Это такой черный квадрат. В этом режиме, программа обладает максимальным быстродействием. 

Вид  окна программы:

  

 

Каждое нажатие, будет фиксироваться. в столбиках и суммироваться.

Программа, требует доработки. Есть вероятность, что некоторые сигнатуры сняты неправильно.

Они помечены вопросительным знаком.

При снятии сигнатур, не сняли все возможные сигнатуры при нажатии кнопок терминалов.  А только первую по счету от края. Показано ниже кружочком.

 

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

Предполагается  сетевой доступ к данным, и какой-то статистический анализ.

 

вопрос 3

 

3) Осциллограмма, которую предоставил наладчик, это все один какой-то кадр или фрагмент кадра передачи данных. Я считаю необходимо полная запись кадров передачи данных и включение их в отчет (Например: За 5 мин до зависания сети 5 мин после зависания сети)то, конечно, займет немало времени для просмотра этих кадров передачи, но будет более достоверной информацией для анализа шины

 

 

По этому вопросу, позвольте с Вами не согласиться. 

Нет возможности осциллографом  писать последовательность. Он пишет развертку. Т.е. мы увидим  при синхронизации только сигнал, или группу сигналов. 

А синхронизацию получить, зачастую невозможно. По линии сигналы идут с разными временными интервалами, и что бы их увидеть осциллографом, надо их постоянно подстраивать.

Т.е. мы может увидеть или один байт см ниже.

 

или последовательность больших длин байтов.

 

Или  очень большую последовательность байт и конца ее не видно

 

а при "замирании" обмена будет одиночный байт, который очень просто не увидеть

 

 

 

вопрос 4

 

 

4) По описанию ошибки зависания шины складывается такое мнение, что действительно либо какое-то одно из устройств, "сидящее" на CAN-шине, физически садит полностью все шину, либо проблема в программном обеспечении контроллера М3000 или в его низких  вычислительных процессах

 

 

Одно устройство на СAN-шине  физически не может "садить" т.е. препятствовать обмену другим устройствам.

Оно может это делать программным способом. Т.е. если программа получив данные от одного устройства, начнет работать только с этим устройством. А все остальные будет игнорировать.

Тогда и получиться такой эффект. Один терминал - "занял" всю шину.

К сожалению, добраться до программы верхнего уровня нельзя.

 Во первых - она в закрытом виде. Можно отследить, что за модули работают с конкретным терминалом. Но что то сделать с ними, не позволяют условия эксплуатации. Это ведь производство.

Во вторых - когда есть неисправность, идет работа на производстве. И что то делать - это срыв работы производства. Придут 20 мужиков с ножами и порежут, т.к. ты им план не даешь делать.

Выход - это сделать имитатор на основе подключенных адаптеров и отладить режим максимальной нагрузки.

Работать, естественно, в то время, когда нет производства. Т.е.  мясо  имитировать  коробками, а нажатие клавиш  от адаптера.

Он ведь может и передавать так же сигналы, а не только принимать.

 

 

вопрос 5

 

5)Таким образом, лучшем способом будет обратиться к фирме Marel для поставки с их стороны по одному образцу устройств, которые работают на CAN-шине, с последовательной заменой их на работающие устройства. Тогда , по крайней мере, можно будет убедиться в правильной работоспособности технических устройств автоматизации линии обвалки.

 

 

В прилагаемом отчете, было глобальное предложение - это перевести работу линии на другой тип программного обеспечения.

Но, это надо делать  последовательно. Т.е. выбрать участок - например весы, и написать программу под открытым кодом. Что бы все "глюки" можно было увидеть.  Потом еще участок и т.д. Но для этого придется создавать группу программистов им платить

И кроме того, производство нельзя останавливать. Т.е. будет долго и  рискованно.

 

Философские рассуждения о программном обеспечение верхнего уровня на КМК.

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

Хотя  замаскировали это благими намерениями. По типу : пользователь "дурак",  а вдруг пользователь что то испортит.

В договоре на поставку  программного обеспечения, необходимо закладывать такие-же требования, как и на поставку любого сложного технического   оборудования.

а именно:

 - ремонто- пригодность. - чем пользователь будет ремонтировать программу. Т.е.  из чего ее восстанавливать.

-  диагностирование - чем будет диагностировать программу. Вдруг восстановил, но что то не так.

-  перенос на другие вычислительные ресурсы и компьютеры. Чем пользователь будет переносить программу на другие компьютеры. Как это будет делать. Кто это будет делать. Время на перенос на другой компьютер.

- как повысить возможности программы. Вдруг перенос осуществился на компьютер более слабой вычислительной мощности, где мало памяти. Или слабая сеть. и т.д.

 

Аналогия:

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

А если надо увеличить скорость и грузоподъемность?   Ведь машину иногда не меняют, а что то с нее снимают и она возит больше. А новую машину покупать, это уже только в принципиальных случаях.

Ну например, убрали сиденья в салоне, можно возить крупногабаритные вещи.

 

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

Вывод

1. По данному вопросу, к сожалению, прогноз не утешительный. Фирма поставщик скорее всего запросит денежек на модернизацию.

2. Запросить, то можно, но что они скажут?:

 - дайте пожалуйста текст программы работы с  can-модулем RT-220

 - дайте пожалуйста текст программы с контроллером М3000  

 - дайте пожалуйста операционную среду для работы с контроллером М3000, что бы могли  заменить М3000 на другой.

 более удобный для нас по габаритом и быстродействию.   А также самим диагностировать его работу.

фото этого устройства, который наиболее вероятно, тормозит при работе. Хотя это не факт. Может быть тормоз, вызван программным обеспечением верхнего уровня.

 

 - дайте пожалуйста текст программы для формирования оболочки по   ниже приведенному примеру:

Мы напишем свою оболочку, т.к. объем  производства увеличился и нам надо больше выпускать продукции.

А старая программа, не позволяет увеличивать свои возможности.

 

Может, что то они и ответят.  Но вероятнее всего пришлют рекламу своего нового программного продукта.

Договор составлялся наверное, без учета поддержки программного обеспечения.  Так что с них спроса не будет.

 

 


Связь:

Подготовил  16-декабря-2012 года

Шабронов Андрей Анатольевич

Сотовый телефон    +7-913-905-8839

e_mail -  shabronov@ngs.ru  

 icq – 310-431-858

 

Успехов и здоровья!

----------------------------------------------------------------------------