PDA

Просмотреть полную версию : 2Gi и USB накопитель


canada
27.04.2012, 12:01
В продолжении темы 2G и USB (http://forum.segnetics.com/showthread.php?t=830) которая стала неактуальной почему-то...

Пример данных записи на флешку работает. Но есть нюанс: если выдернуть флешку (для копирования файла) и вставить ее обратно - запись не возобнавляется. Запись возобновляется только после перезапуска контроллера.

Как бы ето исправить?

Arsie
27.04.2012, 12:06
В продолжении темы 2G и USB (http://forum.segnetics.com/showthread.php?t=830) которая стала неактуальной почему-то...

Пример данных записи на флешку работает. Но есть нюанс: если выдернуть флешку (для копирования файла) и вставить ее обратно - запись не возобнавляется. Запись возобновляется только после перезапуска контроллера.

Как бы ето исправить?

Провести заново всю процедуру, которая дана в примере?

canada
27.04.2012, 12:13
Провести заново всю процедуру, которая дана в примере?
Это вы имеете ввиду - запускать скрипт START из под Linux и загружать заново проект FBD ?

Нет. кто будет этим на объекте заниматься?

Надо как минимум, чтобы программа Си стартовала автоматически с включением контроллера. А в идеале: изъяли флешку - запись прекратилась (это реализовано), вставили флешку - запись началась. Без участия человека.

Arsie
27.04.2012, 12:25
Это вы имеете ввиду - запускать скрипт START из под Linux и загружать заново проект FBD ?

Нет. кто будет этим на объекте заниматься?

Надо как минимум, чтобы программа Си стартовала автоматически с включением контроллера. А в идеале: изъяли флешку - запись прекратилась (это реализовано), вставили флешку - запись началась. Без участия человека.

Как-то вас уж очень далеко занесло. До начала первой записи ведь что-то происходит, так? Вот это что-то и нужно повторить.

canada
27.04.2012, 12:36
Как-то вас уж очень далеко занесло. До начала первой записи ведь что-то происходит, так? Вот это что-то и нужно повторить.
Загадками говорите.

http://s002.radikal.ru/i198/1204/27/e1b7a5f0f2bet.jpg (http://radikal.ru/F/s002.radikal.ru/i198/1204/27/e1b7a5f0f2be.gif.html)

Какой этап нужно повторить?

Arsie
27.04.2012, 12:39
Загадками говорите.

Какой этап нужно повторить?

Тот что над кружочком, тот что в кружочке и тот что под кружочком.

canada
27.04.2012, 12:50
Тот что над кружочком, тот что в кружочке и тот что под кружочком.

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


Вопрос: Что я должен повторить, что-бы функция определения наличия флешки вернула "ДА" ?

Arsie
27.04.2012, 13:07
Функция Log_value вызывается всегда, независимо от того есть флешка или нет ее. Дальше идет анализ наличия флешки - тоже выполняется всегда. По результату возвращаемого значения происходит либо заверешение работы функции Log_value, либо делается запись в файл. Т.к. запись в файл не делается - получается что функция определения наличия флешки возвращает отрицательный результат.


Вопрос: Что я должен повторить, что-бы функция определения наличия флешки вернула "ДА" ?

Ну вот наконец-то задан нормальный вопрос, на который можно дать нормальный простой ответ :)

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

Итог: нельзя выдирать флешку из разъёма, пока на ней не перестала мигать лампочка доступа.

canada
27.04.2012, 13:31
Итог: нельзя выдирать флешку из разъёма, пока на ней не перестала мигать лампочка доступа.

А что делать если питание пропало (бывает ведь на производстве)? Как, без перезаливки проекта заставить контроллер смонтировать флешку?

Arsie
27.04.2012, 13:36
А что делать если питание пропало (бывает ведь на производстве)? Как, без перезаливки проекта заставить контроллер смонтировать флешку?

Это решение известно уже не менее 50 лет: бесперебойник.

Либо заставить контроллер перезапуститься. Но это не спасёт саму флешку от вероятного разрушения файловой системы.

canada
27.04.2012, 13:48
... Либо заставить контроллер перезапуститься. ...Это как? При включении он вроде и так - перезапускается... или есть какой-то "особый" способ?

Arsie
27.04.2012, 14:02
При включении он вроде и так - перезапускается...

Значит и проблемы нет. Прочтите первое письмо в этой теме.

canada
27.04.2012, 14:12
Вставив функцию "безопасного извлечения" флешки получил нормальное функционирование примера.

10 разовое небезопасное извлечение к потере данных на флешке не привело.

Благодарю за помощь.

canada
21.09.2012, 09:56
Подниму вновь тему, кому интересно.
Практика 5 месячной эксплуатации показала не совсем надежным решение проблемы: т.е иногда (с неустановленной периодичностью) монтирование флешки после безопасного извлечения не происходило автоматически, что не есть гуд...., Флешку выдергивали с безопасным извлечением каждое утро, для копирования вчерашнего файла, из 15 дней 1-2 раза получалось так, что файла на флешке небыло...
Конечно я не исклчаю вариант, что иногда могло пройти несанкционированное изъятие флешки персолналом без безопасного извлечения - это проблема организационного характера... но просят как-то решить вопрос кардинально...

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

В связи с этим возникли некоторые вопросы:

1 каков объем памяти контроллера, доступный для хранения текстовых файлов?

2. Каково число циклов перезаписи этой памяти?

Контроллер 2Gi.

Arsie
21.09.2012, 10:15
Подниму вновь тему, кому интересно.
Практика 5 месячной эксплуатации показала не совсем надежным решение проблемы: т.е иногда (с неустановленной периодичностью) монтирование флешки после безопасного извлечения не происходило автоматически, что не есть гуд...., Флешку выдергивали с безопасным извлечением каждое утро, для копирования вчерашнего файла, из 15 дней 1-2 раза получалось так, что файла на флешке небыло...
Конечно я не исклчаю вариант, что иногда могло пройти несанкционированное изъятие флешки персолналом без безопасного извлечения - это проблема организационного характера... но просят как-то решить вопрос кардинально...

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

В связи с этим возникли некоторые вопросы:

1 каков объем памяти контроллера, доступный для хранения текстовых файлов?

2. Каково число циклов перезаписи этой памяти?

Контроллер 2Gi.

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

Второе конечно же есть и в справке Лоджика (http://dl.segnetics.com/WebHelp/SMLogix/block_eeprom.htm) и в документации на контроллер (http://dl.segnetics.com/PRODUCTS/SMH2Gi/manual/).

canada
21.09.2012, 10:52
Второе конечно же есть и в справке Лоджика (http://dl.segnetics.com/WebHelp/SMLogix/block_eeprom.htm) и в документации на контроллер (http://dl.segnetics.com/PRODUCTS/SMH2Gi/manual/).
Справку я читал и про 15 000 000 циклов я понял...Видимо не совсем корректно задал вопрос... Это относится ко всей памяти?

Я так понимаю что 15 000 000 циклов это относиться к одной ячейке? если я буду писать файл с добавлением строки в конец файла - каждая ячейка памяти занятая этим файлом ведь не будет перезаписываться каждый раз при открытии/закрыти файла?

И после того как ресурс одной ячейки используется, контроллер пометит ее как BAD... это ведь не исключит его (контроллера) работоспособность?Только уменьшиться доступная память...
Я правильно понимаю?

Arsie
21.09.2012, 11:02
Справку я читал и про 15 000 000 циклов я понял...Видимо не совсем корректно задал вопрос... Это относится ко всей памяти?

Я так понимаю что 15 000 000 циклов это относиться к одной ячейке? если я буду писать файл с добавлением строки в конец файла - каждая ячейка памяти занятая этим файлом ведь не будет перезаписываться каждый раз при открытии/закрыти файла?

И после того как ресурс одной ячейки используется, контроллер пометит ее как BAD... это ведь не исключит его (контроллера) работоспособность?Только уменьшиться доступная память...
Я правильно понимаю?

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

Второе - это так.

LordN
05.10.2012, 14:29
Первое вы легко узнаете, зайдя на контроллер по SSH и посмотрев свободный объём как на обычном диске.

Второе конечно же есть и в справке Лоджика (http://dl.segnetics.com/WebHelp/SMLogix/block_eeprom.htm) и в документации на контроллер (http://dl.segnetics.com/PRODUCTS/SMH2Gi/manual/).
хе, интересная арифметике

http://dl.segnetics.com/WebHelp/SMLogix/index.html?block_eeprom.htm
Ресурс памяти
Запись раз в секунду
Запись раз в минуту
Запись раз в час

100 000 циклов перезаписи
Память проработает 1 день
Память проработает 2 месяца
Память проработает 11 лет

15 000 000 циклов перезаписи
Память проработает 12 лет
Память проработает 30 лет
Память проработает 114 лет



--------------------------------------------------------------------------------сутки-60суток-3600суток
12лет-30лет-114лет
чем больше лет тем меньше циклов?

Arsie
05.10.2012, 14:32
хе, интересная арифметике

http://dl.segnetics.com/WebHelp/SMLogix/index.html?block_eeprom.htm
сутки-60суток-3600суток
12лет-30лет-114лет
чем больше лет тем меньше циклов?

Ничего не понял :)