В том ответе ссылки на youtube не открываются. Было бы здорово увидеть их на rutube
Вид для печати
Возможно вопрос поднимался, но найти не смог.
СП 307Б. Веду архив на USB по 6 позициям. Стояла задача писать для каждой позиции свой файл. Средствами "Архивирование на USB" не выходит. Если я делаю параллельно несколько таких функций, то все работает отвратительно. Запись происходит то по первой, то по 6й, то по 3й, с пропусками всех остальных. В рукопашную был написан скрипт, который в цикле проверяет наличие связи с устройством. Если есть связь, запись, если связи нет, то переходим к следующему. Связь есть, разрешаем запись, и так все 6 . Так и место экономим, не пишем то что не работает и запись идет четко. Если что, каждый раз записывается 14 регистров, по каждому устройству, в свой файл. Но вот только если в сети все 6 устройств, промежуток между записями, 6-7 секунд. Это терпимо, но какие то костыли и грабли. С Weintek такого не было. Возможно я что то не понял и сделал не так.
Но вот что есть проблема, так это переполнение флэшки. Памяти в 32Гб хватает на 2,5 месяца....а дальше экран зависает, намертво. Класс. В настройках нету записи в цикле, стирать старые, писать новое. Только и остаётся в ручную чистить флэшку, т.к. функционала сделать это средствами панели тоже я что то не нашел. Опять же, у того же Siemens или Weintek этот вопрос решен перезаписью старых записей.
К минусам так же отношу и то что Exel при попытке открыть файл на 2 месяца просто захлебывается, и не может вывести более 1.048.576 строк. Все что свежее, посмотреть нельзя. Ну если только не открывать .csv в каком ни будь нотепаде с потерей структуры. Возможности ограничить число строк тоже похоже нет.
В целом панель понравилась, но местами сыро. Хотя возможно и я что то не понял или есть обновления?
"это не баги, это фича". терпите короче и продолжайте колотьсяЦитата:
Хотя возможно и я что то не понял или есть обновления?
обновлений не будет.
Можно в макросе на Си работать с файлами, https://owen.ru/forum/showthread.php...l=1#post374686
Вложение 87785
Скрытый текст:
удалить файл можно функцией remove()
int remove(const char *имя_файла);
Или у ф.области есть функция "Удалить файл"
Вложение 87786
Ну а ф.область запускается с разными условиями, в том числе и от любых бит.
Во первых, пусть Вас не вводит в заблуждение название "Архивирование на USB"
На самом деле архивирование происходит в панели в регистрах, выделенных под хранилище
Вложение 87791
И только когда заполнится хранилище, т.е. когда число выборок данных достигнет значения "Число строк для одной записи"
Вложение 87792
в этот момент все хранилище будет записано в файл на USB
Если Вы вдруг решили сделать "Число строк для одной записи" равным 1, то учтите Ваша USB долго не протянет...
Нужно накапливать некоторое достаточное количество данных в хранилище панели.
Есть нюанс- если выбрать режим записи файла, например "Фиксированное имя" или "Название по дате", то каждый раз данные архива будут дописываться в конец одного и того же файла. А в структуре элемента "Архивирования" ест ошибка, в нем есть флаг заполнения хранилища и когда он установлен, то происходит запись накопленного архива на USB, однако при этом флаг не сбрасывается и это вызывает появление повторных записей в архиве. Нужно ОБЯЗАТЕЛЬНО включить галку "Очистить регистры после экспорта"
Вложение 87793
По поводуи как следствиеЦитата:
32Гб хватает на 2,5 месяца....а дальше экран зависает
Не надо все писать в один файл, есть разные режимы сохранения файловЦитата:
К минусам так же отношу и то что Exel при попытке открыть файл на 2 месяца просто захлебывается, и не может вывести более 1.048.576 строк. Все что свежее, посмотреть нельзя.
Например
Вложение 87790
Путь сохранеия архивов на USB - Archives\TEST
режим сохранения - Имя по умолчанию
таким образом в папке Archives будут накапливаться файлы
TEST0001.csv
TEST0002.csv
.......................
TEST9999.csv
Вот пример работы Архивирования на USB с возможностью удаления старых файлов
Вложение 87794
Вложение 87795
Вложение 87796 Вложение 87797
ЗЫ
По поводу
Т.к. для Архивирования на USB нет авторазмешения хранилища, то скорей всего Вы просто пишете архивы или в одну область память и адреса хранилищ пересекаются.Цитата:
Веду архив на USB по 6 позициям. Стояла задача писать для каждой позиции свой файл. Средствами "Архивирование на USB" не выходит. Если я делаю параллельно несколько таких функций, то все работает отвратительно.
Нужно правильно подсчитать начало и конец каждого хранилища вручную и указать начала в настройках
Вложение 87798
Ссылка на видио https://disk.yandex.ru/i/eg8oA-8P5tz7og
Ссылка на рутубе https://rutube.ru/video/dd691ad7f2ac...72866e487c539/
ЮТУБ:
Здравствуйте, панель СП310Р, пытаюсь разобраться с динамичской адресацией регистров (когда адрес ячейки высчитывается в завистимости от значения других регистров). Если на примере внутренних регистров (PSW) - все работает идеально.
Но если вместо PSW регистров использовать регистры ПЛК, то запись в нужную ячейку происходит корректно, но чтение из нее нет - индикатор цифрового ввода после записи показывает значение 0
Пример: Есть R обьекта = 4x2, R доп = 4x0 (значение =1), к-т = 10. Ожидаю чтения данных по 4x12 (2+1*10), запись происходит именно в 12 регистр, а чтение - нет
Что я делаю не так?
P.S. Панели под рукой пока нет, все действия выполнял в онлайн симуляции