Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Midicon M340 архивы
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Страницы: 1, 2
FoXiK
Здравствуйте! Требуется помощь с Modicon M340, скорее даже не с ним, а с файлами, которые создаются с помощью блоков WR_DATA_TO_FILE. Файлы необходимо сделать в читаемом для пользователя виде, а не в том, котором он создается. Кто что может посоветовать
san
Приведите кусок существующей программы и уточните задачу.
FoXiK
тут программа роли не играет. Просто надо файл, который создает M340, перевести в читаемый вид. ПЛК создаёт файл в бинарном виде, хочу сделать так, чтобы файл можно было нормально прочесть, чтоб там были реальные цифры. Это может какая-то программка для Windows быть или еще что-то.
san
Сегодня попробовал, всё вроде понятно по записи/чтению. Обычный бинарник, если надо в текстовом формате писать, просто писать в ASCII формате. Какая конкретно задача? Что именно и когда писать?
CoDa
Цитата(san @ 7.6.2013, 20:34) *
Сегодня попробовал, всё вроде понятно по записи/чтению. Обычный бинарник, если надо в текстовом формате писать, просто писать в ASCII формате. Какая конкретно задача? Что именно и когда писать?

А примерчик скиньте плз
CoDa
Цитата(san @ 9.6.2013, 16:09) *


Сегодня, завтра опробую, отпишусь
CoDa

Специальная карта памяти для записи файлов у меня вставлена в сам контроллер M340 2020
При обращение в Шнайдер, а у них работу с картой памяти знает только 1 человек, но он тоже отвечает витьевато.

Глядя на твой пример, внизу есть так сказать распечатка полученного файла, от сюда вопрос, как тебе удалось его от туда стянуть
Подскажи плз, желательно пошагово

А то Шнайдер мне сказал, что получить его от туда невозможно, только программным способом его прочитать, Это правда?

san
Цитата(CoDa @ 10.6.2013, 8:24) *
Глядя на твой пример, внизу есть так сказать распечатка полученного файла, от сюда вопрос, как тебе удалось его от туда стянуть
Подскажи плз, желательно пошагово
А то Шнайдер мне сказал, что получить его от туда невозможно, только программным способом его прочитать, Это правда?

У меня все просто, я на симуляторе все пробовал. Карты памяти MPF у меня нет. По этому написал вначале карсным текстом, что на реальном оборудовании не испытано.
Вобще, если бы был Ethernet, то доступ к файлам данным вроде через FTP возможен. Ещё можно тут спросить
san
Есть такая штука UNITY LOADER, ставится бесплатно но требует регистрации (тоже бесплатной). Одна из опций доступных для скачивания/закачивания это Project Files, вроде это то что нужно. Проверить не могу, так как карты нет.
http://www.global-download.schneider-elect...52578B6005DF473
Вобще UNITY LOADER для обслуживающего персонала просто необходимая. Можно проект скачать/закачать не имея UNITY PRO, данные считывать/сохранять/записывать, оську перепрошивать.
FoXiK
Цитата(san @ 9.6.2013, 15:09) *


вот то, что надо!) спасибо большое) Вот такой формат и был необходим. А можно заново файл Unity скинуть? а то открываться не хочет, ошибку пишет
san
Цитата(FoXiK @ 11.6.2013, 11:07) *
А можно заново файл Unity скинуть? а то открываться не хочет, ошибку пишет
добавил XEF формат
FoXiK
Цитата(san @ 11.6.2013, 11:39) *
добавил XEF формат

Благодарю! Уже сам успел написать. Спасибо большое, все получилось
san
У меня были проблемы с созданием файлов - через раз создавался. Причина такого поведения мне не известна, может связано с симулятором, может с какими-то другими ньюансами. В любом случае ошибку создания/записи/закрытия файлов нужно как-то обрабатывать. У Вас возникали такие проблемы?
FoXiK
Цитата(san @ 11.6.2013, 14:05) *
У меня были проблемы с созданием файлов - через раз создавался. Причина такого поведения мне не известна, может связано с симулятором, может с какими-то другими ньюансами. В любом случае ошибку создания/записи/закрытия файлов нужно как-то обрабатывать. У Вас возникали такие проблемы?

Сейчас проверил создание файла, файлы создавались нормально. Я единственное что делал после закрытия файла - %s65:=1, а затем возвращал обратно в 0, чтобы файл гарантированно закрылся.
san
Да, возможно траблы были с предыдущим закрытием. Хотя количество отрытых файлов перед этим явно не переходило через рамки разрешенных. Главное что всё получилось.
Я выше описал возможность досутпа через FTP и UnityLoader, FoXiK, Вы как считываете файлы? Есть ли ещё какой-то механизм?
FoXiK
Цитата(san @ 13.6.2013, 8:17) *
Да, возможно траблы были с предыдущим закрытием. Хотя количество отрытых файлов перед этим явно не переходило через рамки разрешенных. Главное что всё получилось.
Я выше описал возможность досутпа через FTP и UnityLoader, FoXiK, Вы как считываете файлы? Есть ли ещё какой-то механизм?

Пока над этим еще не думали) я просто через симулятор пока работал. Над тем как обслуживающий персонал будет работать с этими данными еще не думали, скорее всего просто через UnityLoader, поскольку эти файлы будут необходимы только тогда, когда со Scada что-то случается. И чтобы не терять данные можно взять все данные в контроллере. Если честно, то с UnityLoader не приходилось работать и о его функциях знаю только из описания. Так что возможно придется и через FTP делать
san
1) UnityLoader - вещь, которую просто необходимо оставлять обслуживающему персоналу. Тем более что он бесплатный.
2) Надо ещё учитвать ресурс карты на количество записей.
3) Если нужно эти данные читать в виде трендов, лучше их писать в каком-то бинарном формате, а потом обрабатывать в какой-то проге, например самописной. Объем данных значительно уменьшится. Например INT в формате ASCII занимает +ZZZZZ - 6 символов, а значит 6 байт, тогда как в бинарном формате он занимает всего 2 байта (в 3 раза меньше), о дата/время я вобще молчу. Если известный формат трендового архива SCADA, то писать в таком формате было бы наверное самым лучшим вариантом.
4) Если данные нужно хранить только по причине сбоя связи со СКАДой, хорошо бы было этот сбой контролировать с ПЛК и только по этому событию вести локальный лог.
CoDa
Цитата(FoXiK @ 13.6.2013, 7:26) *
Сейчас проверил создание файла, файлы создавались нормально. Я единственное что делал после закрытия файла - %s65:=1, а затем возвращал обратно в 0, чтобы файл гарантированно закрылся.

Как проверял что файлы создаются, к симулятору не могу подцепиться не по хттп и по фтп
CoDa
Скопировал из хелпа пример :
Example written in ST

Заменил название некоторых функций
create на CREATE_FILE_0
OPEN на ...OPEN_FILE_0
READ на ...RD_FILE_TO_DATA
SEEK на ... SEEK_FILE_0
WRITE на WR_data_to_FILE_0
CLOSE на CLOSE_FILE_0
причем там где многоточие, пишет ошибку
{ReadF : [MAST]} : (l: 2, c: 1) E1063 call of non-function block
Объясните пожалуйста как с этим бороться???

Цитата(FoXiK @ 13.6.2013, 9:43) *
Пока над этим еще не думали) я просто через симулятор пока работал. Над тем как обслуживающий персонал будет работать с этими данными еще не думали, скорее всего просто через UnityLoader, поскольку эти файлы будут необходимы только тогда, когда со Scada что-то случается. И чтобы не терять данные можно взять все данные в контроллере. Если честно, то с UnityLoader не приходилось работать и о его функциях знаю только из описания. Так что возможно придется и через FTP делать

Как мне сказали в Шнайдере, то по фтп можно обращаться только если карта памяти вставлена в M340 BMXNOE
а если в контроллере то только программным путемsad.gif
san
Цитата(CoDa @ 13.6.2013, 13:35) *
Как проверял что файлы создаются, к симулятору не могу подцепиться не по хттп и по фтп

Цитата("Help")
If you use the simulator mode the file is created in the temporary user folder.

У меня например C:\Users\san\AppData\Local\Temp
san
Цитата(CoDa @ 13.6.2013, 13:56) *
Как мне сказали в Шнайдере, то по фтп можно обращаться только если карта памяти вставлена в M340 BMXNOE
похоже что так и есть
Цитата(CoDa @ 13.6.2013, 13:56) *
а если в контроллере то только программным путемsad.gif
я вроде как читал, что Unity Loader это умеет. Если есть карта - попробуйте.
CoDa
Цитата(san @ 13.6.2013, 15:19) *
У меня например C:\Users\san\AppData\Local\Temp

тогда у меня файлы не создаются sad.gif

Цитата(san @ 13.6.2013, 15:39) *
похоже что так и есть
я вроде как читал, что Unity Loader это умеет. Если есть карта - попробуйте.

КАрта есть, не получилось sad.gif
будем добивать программный путь smile.gif
san
Цитата(CoDa @ 13.6.2013, 14:42) *
КАрта есть, не получилось sad.gif
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?


Цитата(CoDa @ 13.6.2013, 13:35) *
Заменил название некоторых функций
create на CREATE_FILE_0
OPEN на ...OPEN_FILE_0
READ на ...RD_FILE_TO_DATA
SEEK на ... SEEK_FILE_0
WRITE на WR_data_to_FILE_0
CLOSE на CLOSE_FILE_0
причем там где многоточие, пишет ошибку
{ReadF : [MAST]} : (l: 2, c: 1) E1063 call of non-function block
Объясните пожалуйста как с этим бороться???

Это функциональные блоки. Может просто Вы их не создали перед вызовом.
CoDa
Цитата(san @ 13.6.2013, 15:54) *
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?



Это функциональные блоки. Может просто Вы их не создали перед вызовом.


Вроде он запускается, ошибок не выдает, но и файлы не создает sad.gif
FoXiK
Цитата(CoDa @ 13.6.2013, 13:56) *
Как мне сказали в Шнайдере, то по фтп можно обращаться только если карта памяти вставлена в M340 BMXNOE
а если в контроллере то только программным путемsad.gif

печально... надо что то придумывать другое




Цитата(CoDa @ 13.6.2013, 15:04) *
Вроде он запускается, ошибок не выдает, но и файлы не создает sad.gif


cmd_create устанавливали в 1?
посмотрите имя файла, может быть пустым. У меня проблемы с RRTC_DT_MS были, заменил на RRTC_DT
san
Кто-то может мне четко ответить, что Unity Loader не поддерживает функцию сливания файлов? Так чтоб проверено было, чтоб файлы там точно были и они точно не скачивались. Чуствую надо в ШЕ карточку попросить, да самому поставить точку на этом вопросе.

Цитата(FoXiK @ 14.6.2013, 5:34) *
посмотрите имя файла, может быть пустым. У меня проблемы с RRTC_DT_MS были, заменил на RRTC_DT
RRTC_DT_MS выдает ещё мс, а какие проблемы с этой функцией были? Так, для статистики спросил.
FoXiK
Цитата(san @ 14.6.2013, 7:56) *
RRTC_DT_MS выдает ещё мс, а какие проблемы с этой функцией были? Так, для статистики спросил.

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

(*------ формирование названия файла в формате YYYY-DD-MM_HH_MM_SS*)
(*if re(cmd_create) then
tmpstr:= DATE_TO_STRING (NOW_DATE);FNAME:=concat_str(tmpstr,'_');
tmpstr:=tod_to_string(NOW_TOD); FNAME:=concat_str(FNAME,tmpstr);
FNAME:= 'demo_wr.csv';
FNAME:=concat_str(FNAME,'.csv');
FNAME:= REPLACE_INT (FNAME, '_',1, 11);
FNAME:= REPLACE_INT (FNAME, '_',1, 14);
FNAME:= REPLACE_INT (FNAME, '_',1, 17);
end_if;*)
(*------ создание файла*)
FNAME:= 'demo_wr.csv';

Появился файл, прогресс на лицо smile.gif

Будем копать дальше wink.gif
san
После такого вызова все будет писаться в один и тот же файл. Надо посмотреть в хелп, что будет с вызовом функции создания файла, если файл уже существует. Я в таком случае анализировал ошибку и при ошибке 7, пытался открыть файл.
CoDa
Цитата(san @ 13.6.2013, 15:54) *
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?



Это функциональные блоки. Может просто Вы их не создали перед вызовом.


А где и как и создавать? В примере никаких дополнительных так сказать "создаваний" не увидел
san
Цитата(CoDa @ 16.6.2013, 13:01) *
А где и как и создавать? В примере никаких дополнительных так сказать "создаваний" не увидел

Это так сказать "альфа" программирования в UNITY PRO.
В быстром старте п.1.7. Также там есть примеры с созданием таймера (это тоже функциональный блок).
FoXiK
Ну что там с извлечением файлов с карточки? Никто пока не проверял? У меня будет возможность проверить через неделю
san
Цитата(FoXiK @ 17.6.2013, 7:03) *
Ну что там с извлечением файлов с карточки? Никто пока не проверял? У меня будет возможность проверить через неделю

http://forum.se-automation.in.ua/viewtopic...mp;p=1250#p1250
FoXiK
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload
FoXiK
и еще насчет примера, который выкладывали тут. Столкнулся с проблемой закрытия файлов после записи. Запустил пример, решил посмотреть как тут закрываются файлы. Запустил в симуляторе, и оказалось, что после записи, файл не закрывается, хотя команда close вроде как выполняется и ошибок никаких нет
san
Цитата(FoXiK @ 28.6.2013, 12:36) *
и еще насчет примера, который выкладывали тут. Столкнулся с проблемой закрытия файлов после записи. Запустил пример, решил посмотреть как тут закрываются файлы. Запустил в симуляторе, и оказалось, что после записи, файл не закрывается, хотя команда close вроде как выполняется и ошибок никаких нет

А по чем определили, что файл не закрывается?
FoXiK
Цитата(san @ 28.6.2013, 14:51) *
А по чем определили, что файл не закрывается?

при открытии файла пишет, что файл используется unity pro, аналогично при попытке удаления файла. Если файл закрыт, такого не происходит. Сейчас сам над этим сижу, файл не получается закрыть никак.
san
Цитата(FoXiK @ 28.6.2013, 19:15) *
при открытии файла пишет, что файл используется unity pro, аналогично при попытке удаления файла. Если файл закрыт, такого не происходит. Сейчас сам над этим сижу, файл не получается закрыть никак.

Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.
FoXiK
Цитата(san @ 28.6.2013, 21:15) *
Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.

скорее всего нет. Я попробовал закрыть файл путем установки в 1 %s65. Как написано он запрещает доступ к карте и закрывает все файлы. Потом естественно записал туда же 0. Попробовал открыть файл, и файл открылся без запроса открытия в режиме только чтение. Также файл удалился. Так что я думаю дело не в симуляторе. Не знаю как еще закрыть файл, уже и дескрипторы перебирал для закрытия, все равно не закрывает
FoXiK
Цитата(san @ 28.6.2013, 21:15) *
Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.

Хотя может вы и правы, потому что закрытие точно проходит. Завтра попробую на M340.
san
Цитата(FoXiK @ 28.6.2013, 22:04) *
Хотя может вы и правы, потому что закрытие точно проходит. Завтра попробую на M340.

Проверьте заодно доступается ли Unity Loader к файлам на карточке.
FoXiK
Цитата(san @ 28.6.2013, 22:56) *
Проверьте заодно доступается ли Unity Loader к файлам на карточке.

Проверил. Файлы действительно не закрываются. Насчет Unity Loader что-то не понял как созданные файлы оттуда извлекать. Ну я через фтп залезал и смотрел. Решил проблему с закрытием файла. После операций создания файла и записи в файл закрывал файл 2 раза. После записи закрывал файл с файловым дескриптором который использовался везде, после этого закрытия сразу закрывал еще раз только файловый дескриптор=файловый дескриптор-1. После таких манипуляций файл закрывался. Надеюсь понятно объяснил)
san
Unity Loader есть раздел PLC Project Files, заодно там Data Storage есть, вроде как это должно быть то. Проверьте пожалуйста, а то не у всех есть Ethernet на борту чтоб фтп пользовать.
На счте закрытия - конечно непонятка какая-то. Может следует на следующий цикл после записывания сделать закрытия. Без реального оборудования тяжело проверить.

FoXiK
C Unity Loader еще не пробовал загружать данные, но зато разобрался с закрытием файлов, также понял почему в вашем примере не закрывается файл. После того как файл создается он автоматически открывается и для записи в него не обязательно использовать open_file. Если же все таки используется open_file после create_file, то необходимо 2 раза закрывать файл
san
Цитата(FoXiK @ 3.7.2013, 8:11) *
C Unity Loader еще не пробовал загружать данные, но зато разобрался с закрытием файлов, также понял почему в вашем примере не закрывается файл. После того как файл создается он автоматически открывается и для записи в него не обязательно использовать open_file. Если же все таки используется open_file после create_file, то необходимо 2 раза закрывать файл

Спасибо. Прийму во внимание. Здается мне это даже где-то в хелпе написано.
CoDa
Цитата(FoXiK @ 28.6.2013, 13:29) *
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload

Спасибо проверю как только возможность появиться, сейчас в командировке по другим вопросам sad.gif
CoDa
Да, логин и пароль подошел, спасибки огромное
Возник вот такой вопросик, можно ли дописывать в файл?
CoDa
Цитата(FoXiK @ 28.6.2013, 13:29) *
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload


Вопрос, можно ли их поменять, если да то как?
FoXiK
Цитата(CoDa @ 8.7.2013, 10:56) *
Вопрос, можно ли их поменять, если да то как?

В описании надо читать) я со строчками о смене пароля не сталкивался.
Проверил скачивание файлов с карточки с помощью Unity Loader. До этого был занят, никак не мог проверить. В общем создается файл с расширением .car. Этот файл открывается либо WinRAR ну или подобным. В нем находится папка Datastorage, в этой папке и лежат все созданные файлы

Цитата(CoDa @ 8.7.2013, 10:21) *
Да, логин и пароль подошел, спасибки огромное
Возник вот такой вопросик, можно ли дописывать в файл?

Дописывать в файл как? Программно? Если так то можно. Просто заново открываешь файл, но при это надо знать смещение, чтобы прошлые данные не перезаписались. Для задания смещения используется функциональный блок SEEK_FILE
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.