Полная версия этой страницы:
Midicon M340 архивы
Здравствуйте! Требуется помощь с Modicon M340, скорее даже не с ним, а с файлами, которые создаются с помощью блоков WR_DATA_TO_FILE. Файлы необходимо сделать в читаемом для пользователя виде, а не в том, котором он создается. Кто что может посоветовать
Приведите кусок существующей программы и уточните задачу.
тут программа роли не играет. Просто надо файл, который создает M340, перевести в читаемый вид. ПЛК создаёт файл в бинарном виде, хочу сделать так, чтобы файл можно было нормально прочесть, чтоб там были реальные цифры. Это может какая-то программка для Windows быть или еще что-то.
Сегодня попробовал, всё вроде понятно по записи/чтению. Обычный бинарник, если надо в текстовом формате писать, просто писать в ASCII формате. Какая конкретно задача? Что именно и когда писать?
Цитата(san @ 7.6.2013, 20:34)
Сегодня попробовал, всё вроде понятно по записи/чтению. Обычный бинарник, если надо в текстовом формате писать, просто писать в ASCII формате. Какая конкретно задача? Что именно и когда писать?
А примерчик скиньте плз
Цитата(san @ 9.6.2013, 16:09)
Сегодня, завтра опробую, отпишусь
Специальная карта памяти для записи файлов у меня вставлена в сам контроллер M340 2020
При обращение в Шнайдер, а у них работу с картой памяти знает только 1 человек, но он тоже отвечает витьевато.
Глядя на твой пример, внизу есть так сказать распечатка полученного файла, от сюда вопрос, как тебе удалось его от туда стянуть
Подскажи плз, желательно пошагово
А то Шнайдер мне сказал, что получить его от туда невозможно, только программным способом его прочитать, Это правда?
Цитата(CoDa @ 10.6.2013, 8:24)
Глядя на твой пример, внизу есть так сказать распечатка полученного файла, от сюда вопрос, как тебе удалось его от туда стянуть
Подскажи плз, желательно пошагово
А то Шнайдер мне сказал, что получить его от туда невозможно, только программным способом его прочитать, Это правда?
У меня все просто, я на симуляторе все пробовал. Карты памяти MPF у меня нет. По этому написал вначале карсным текстом, что на реальном оборудовании не испытано.
Вобще, если бы был Ethernet, то доступ к файлам данным вроде через FTP возможен. Ещё можно
тут спросить
Есть такая штука UNITY LOADER, ставится бесплатно но требует регистрации (тоже бесплатной). Одна из опций доступных для скачивания/закачивания это Project Files, вроде это то что нужно. Проверить не могу, так как карты нет.
http://www.global-download.schneider-elect...52578B6005DF473Вобще UNITY LOADER для обслуживающего персонала просто необходимая. Можно проект скачать/закачать не имея UNITY PRO, данные считывать/сохранять/записывать, оську перепрошивать.
Цитата(san @ 9.6.2013, 15:09)
вот то, что надо!) спасибо большое) Вот такой формат и был необходим. А можно заново файл Unity скинуть? а то открываться не хочет, ошибку пишет
Цитата(FoXiK @ 11.6.2013, 11:07)
А можно заново файл Unity скинуть? а то открываться не хочет, ошибку пишет
добавил XEF формат
Цитата(san @ 11.6.2013, 11:39)
добавил XEF формат
Благодарю! Уже сам успел написать. Спасибо большое, все получилось
У меня были проблемы с созданием файлов - через раз создавался. Причина такого поведения мне не известна, может связано с симулятором, может с какими-то другими ньюансами. В любом случае ошибку создания/записи/закрытия файлов нужно как-то обрабатывать. У Вас возникали такие проблемы?
Цитата(san @ 11.6.2013, 14:05)
У меня были проблемы с созданием файлов - через раз создавался. Причина такого поведения мне не известна, может связано с симулятором, может с какими-то другими ньюансами. В любом случае ошибку создания/записи/закрытия файлов нужно как-то обрабатывать. У Вас возникали такие проблемы?
Сейчас проверил создание файла, файлы создавались нормально. Я единственное что делал после закрытия файла - %s65:=1, а затем возвращал обратно в 0, чтобы файл гарантированно закрылся.
Да, возможно траблы были с предыдущим закрытием. Хотя количество отрытых файлов перед этим явно не переходило через рамки разрешенных. Главное что всё получилось.
Я выше описал возможность досутпа через FTP и UnityLoader, FoXiK, Вы как считываете файлы? Есть ли ещё какой-то механизм?
Цитата(san @ 13.6.2013, 8:17)
Да, возможно траблы были с предыдущим закрытием. Хотя количество отрытых файлов перед этим явно не переходило через рамки разрешенных. Главное что всё получилось.
Я выше описал возможность досутпа через FTP и UnityLoader, FoXiK, Вы как считываете файлы? Есть ли ещё какой-то механизм?
Пока над этим еще не думали) я просто через симулятор пока работал. Над тем как обслуживающий персонал будет работать с этими данными еще не думали, скорее всего просто через UnityLoader, поскольку эти файлы будут необходимы только тогда, когда со Scada что-то случается. И чтобы не терять данные можно взять все данные в контроллере. Если честно, то с UnityLoader не приходилось работать и о его функциях знаю только из описания. Так что возможно придется и через FTP делать
1) UnityLoader - вещь, которую просто необходимо оставлять обслуживающему персоналу. Тем более что он бесплатный.
2) Надо ещё учитвать ресурс карты на количество записей.
3) Если нужно эти данные читать в виде трендов, лучше их писать в каком-то бинарном формате, а потом обрабатывать в какой-то проге, например самописной. Объем данных значительно уменьшится. Например INT в формате ASCII занимает +ZZZZZ - 6 символов, а значит 6 байт, тогда как в бинарном формате он занимает всего 2 байта (в 3 раза меньше), о дата/время я вобще молчу. Если известный формат трендового архива SCADA, то писать в таком формате было бы наверное самым лучшим вариантом.
4) Если данные нужно хранить только по причине сбоя связи со СКАДой, хорошо бы было этот сбой контролировать с ПЛК и только по этому событию вести локальный лог.
Цитата(FoXiK @ 13.6.2013, 7:26)
Сейчас проверил создание файла, файлы создавались нормально. Я единственное что делал после закрытия файла - %s65:=1, а затем возвращал обратно в 0, чтобы файл гарантированно закрылся.
Как проверял что файлы создаются, к симулятору не могу подцепиться не по хттп и по фтп
Скопировал из хелпа пример :
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
а если в контроллере то только программным путем
Цитата(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
Цитата(CoDa @ 13.6.2013, 13:56)
Как мне сказали в Шнайдере, то по фтп можно обращаться только если карта памяти вставлена в M340 BMXNOE
похоже что так и есть
Цитата(CoDa @ 13.6.2013, 13:56)
а если в контроллере то только программным путем
я вроде как читал, что Unity Loader это умеет. Если есть карта - попробуйте.
Цитата(san @ 13.6.2013, 15:19)
У меня например C:\Users\san\AppData\Local\Temp
тогда у меня файлы не создаются
Цитата(san @ 13.6.2013, 15:39)
похоже что так и есть
я вроде как читал, что Unity Loader это умеет. Если есть карта - попробуйте.
КАрта есть, не получилось
будем добивать программный путь
Цитата(CoDa @ 13.6.2013, 14:42)
КАрта есть, не получилось
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?
Цитата(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
Объясните пожалуйста как с этим бороться???
Это функциональные блоки. Может просто Вы их не создали перед вызовом.
Цитата(san @ 13.6.2013, 15:54)
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?
Это функциональные блоки. Может просто Вы их не создали перед вызовом.
Вроде он запускается, ошибок не выдает, но и файлы не создает
Цитата(CoDa @ 13.6.2013, 13:56)
Как мне сказали в Шнайдере, то по фтп можно обращаться только если карта памяти вставлена в M340 BMXNOE
а если в контроллере то только программным путем
печально... надо что то придумывать другое
Цитата(CoDa @ 13.6.2013, 15:04)
Вроде он запускается, ошибок не выдает, но и файлы не создает
cmd_create устанавливали в 1?
посмотрите имя файла, может быть пустым. У меня проблемы с RRTC_DT_MS были, заменил на RRTC_DT
Кто-то может мне четко ответить, что Unity Loader не поддерживает функцию сливания файлов? Так чтоб проверено было, чтоб файлы там точно были и они точно не скачивались. Чуствую надо в ШЕ карточку попросить, да самому поставить точку на этом вопросе.
Цитата(FoXiK @ 14.6.2013, 5:34)
посмотрите имя файла, может быть пустым. У меня проблемы с RRTC_DT_MS были, заменил на RRTC_DT
RRTC_DT_MS выдает ещё мс, а какие проблемы с этой функцией были? Так, для статистики спросил.
Цитата(san @ 14.6.2013, 7:56)
RRTC_DT_MS выдает ещё мс, а какие проблемы с этой функцией были? Так, для статистики спросил.
лично у меня некорректно отображалась дата, вернее она отображалась ****-**-** как-то так. Точно сейчас не помню уже.
А насчет карточки сам хочу проверить, но у нас ее нет пока. Смогу проверить где-то недели через полторы. Самого волнует этот вопрос.
Только после того как сделал вот так
(*------ формирование названия файла в формате 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';
Появился файл, прогресс на лицо
Будем копать дальше
После такого вызова все будет писаться в один и тот же файл. Надо посмотреть в хелп, что будет с вызовом функции создания файла, если файл уже существует. Я в таком случае анализировал ошибку и при ошибке 7, пытался открыть файл.
Цитата(san @ 13.6.2013, 15:54)
Если файлов нет, то и не поулчится. Вы пробовали МОЙ пример?
Это функциональные блоки. Может просто Вы их не создали перед вызовом.
А где и как и создавать? В примере никаких дополнительных так сказать "создаваний" не увидел
Цитата(CoDa @ 16.6.2013, 13:01)
А где и как и создавать? В примере никаких дополнительных так сказать "создаваний" не увидел
Это так сказать "альфа" программирования в UNITY PRO.
В быстром старте п.1.7. Также там есть примеры с созданием таймера (это тоже функциональный блок).
Ну что там с извлечением файлов с карточки? Никто пока не проверял? У меня будет возможность проверить через неделю
Цитата(FoXiK @ 17.6.2013, 7:03)
Ну что там с извлечением файлов с карточки? Никто пока не проверял? У меня будет возможность проверить через неделю
http://forum.se-automation.in.ua/viewtopic...mp;p=1250#p1250
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload
и еще насчет примера, который выкладывали тут. Столкнулся с проблемой закрытия файлов после записи. Запустил пример, решил посмотреть как тут закрываются файлы. Запустил в симуляторе, и оказалось, что после записи, файл не закрывается, хотя команда close вроде как выполняется и ошибок никаких нет
Цитата(FoXiK @ 28.6.2013, 12:36)
и еще насчет примера, который выкладывали тут. Столкнулся с проблемой закрытия файлов после записи. Запустил пример, решил посмотреть как тут закрываются файлы. Запустил в симуляторе, и оказалось, что после записи, файл не закрывается, хотя команда close вроде как выполняется и ошибок никаких нет
А по чем определили, что файл не закрывается?
Цитата(san @ 28.6.2013, 14:51)
А по чем определили, что файл не закрывается?
при открытии файла пишет, что файл используется unity pro, аналогично при попытке удаления файла. Если файл закрыт, такого не происходит. Сейчас сам над этим сижу, файл не получается закрыть никак.
Цитата(FoXiK @ 28.6.2013, 19:15)
при открытии файла пишет, что файл используется unity pro, аналогично при попытке удаления файла. Если файл закрыт, такого не происходит. Сейчас сам над этим сижу, файл не получается закрыть никак.
Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.
Цитата(san @ 28.6.2013, 21:15)
Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.
скорее всего нет. Я попробовал закрыть файл путем установки в 1 %s65. Как написано он запрещает доступ к карте и закрывает все файлы. Потом естественно записал туда же 0. Попробовал открыть файл, и файл открылся без запроса открытия в режиме только чтение. Также файл удалился. Так что я думаю дело не в симуляторе. Не знаю как еще закрыть файл, уже и дескрипторы перебирал для закрытия, все равно не закрывает
Цитата(san @ 28.6.2013, 21:15)
Я это наблюдал, но я думаю, что это симулятор Юнити его держит. На реальном ПЛК надо проверять.
Хотя может вы и правы, потому что закрытие точно проходит. Завтра попробую на M340.
Цитата(FoXiK @ 28.6.2013, 22:04)
Хотя может вы и правы, потому что закрытие точно проходит. Завтра попробую на M340.
Проверьте заодно доступается ли Unity Loader к файлам на карточке.
Цитата(san @ 28.6.2013, 22:56)
Проверьте заодно доступается ли Unity Loader к файлам на карточке.
Проверил. Файлы действительно не закрываются. Насчет Unity Loader что-то не понял как созданные файлы оттуда извлекать. Ну я через фтп залезал и смотрел. Решил проблему с закрытием файла. После операций создания файла и записи в файл закрывал файл 2 раза. После записи закрывал файл с файловым дескриптором который использовался везде, после этого закрытия сразу закрывал еще раз только файловый дескриптор=файловый дескриптор-1. После таких манипуляций файл закрывался. Надеюсь понятно объяснил)
Unity Loader есть раздел PLC Project Files, заодно там Data Storage есть, вроде как это должно быть то. Проверьте пожалуйста, а то не у всех есть Ethernet на борту чтоб фтп пользовать.
На счте закрытия - конечно непонятка какая-то. Может следует на следующий цикл после записывания сделать закрытия. Без реального оборудования тяжело проверить.
C Unity Loader еще не пробовал загружать данные, но зато разобрался с закрытием файлов, также понял почему в вашем примере не закрывается файл. После того как файл создается он автоматически открывается и для записи в него не обязательно использовать open_file. Если же все таки используется open_file после create_file, то необходимо 2 раза закрывать файл
Цитата(FoXiK @ 3.7.2013, 8:11)
C Unity Loader еще не пробовал загружать данные, но зато разобрался с закрытием файлов, также понял почему в вашем примере не закрывается файл. После того как файл создается он автоматически открывается и для записи в него не обязательно использовать open_file. Если же все таки используется open_file после create_file, то необходимо 2 раза закрывать файл
Спасибо. Прийму во внимание. Здается мне это даже где-то в хелпе написано.
Цитата(FoXiK @ 28.6.2013, 13:29)
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload
Спасибо проверю как только возможность появиться, сейчас в командировке по другим вопросам
Да, логин и пароль подошел, спасибки огромное
Возник вот такой вопросик, можно ли дописывать в файл?
Цитата(FoXiK @ 28.6.2013, 13:29)
если кому интересно , то файлы можно забрать по ftp. Вводите ftp:\\адрес_контроллера, пользователь datastorage, пароль datadownload
Вопрос, можно ли их поменять, если да то как?
Цитата(CoDa @ 8.7.2013, 10:56)
Вопрос, можно ли их поменять, если да то как?
В описании надо читать) я со строчками о смене пароля не сталкивался.
Проверил скачивание файлов с карточки с помощью Unity Loader. До этого был занят, никак не мог проверить. В общем создается файл с расширением .car. Этот файл открывается либо WinRAR ну или подобным. В нем находится папка Datastorage, в этой папке и лежат все созданные файлы
Цитата(CoDa @ 8.7.2013, 10:21)
Да, логин и пароль подошел, спасибки огромное
Возник вот такой вопросик, можно ли дописывать в файл?
Дописывать в файл как? Программно? Если так то можно. Просто заново открываешь файл, но при это надо знать смещение, чтобы прошлые данные не перезаписались. Для задания смещения используется функциональный блок SEEK_FILE
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.