Просмотр полной версии : ПЛК100 работа с файлами не получается
Решил поучиться работе с файлами, посмотрел описание, сделал тестовый пример.
ПЛК100, без М, самый простой.
Файл открывается, пишется, но не закрывается.
Уже все по шагам проверяю, на каждый чих - свой статус, и ничего.
Файл фактически создается, его видно браузером, после перезагрузки контроллера его можно удалить из браузера. Скачать из контроллера - нельзя.
ЧЯДНТ?
(в примере EN1 - надо дергать руками).
тяжело же Вам будет в дальнейшем, раз не используете модуль button, как раз от него бы и запитали свой en1
А так на вскидку всё что после элемента сравнения writecount с нулем работать не будет
Переусложнили. Все очень просто - открыли, писнули, закрыли. Ровно 3 строки. А сейчас побили/порушили все напрочь небось, что перепрошить нужно.
начал как раз с простоого, не заработало.
Полез вглубь, по шагам смотрю.
Затык именно в закрытии файла.
Ничего не побито, все живо. Залил другую программу все ок.
Почему может не закрываться файл?
Дескриптор правильный.
тяжело же Вам будет в дальнейшем, раз не используете модуль button, как раз от него бы и запитали свой en1
А так на вскидку всё что после элемента сравнения writecount с нулем работать не будет
так там после сравнения только и осталось, что файл закрыть. Stage3 в тру переключается, значит есть контакт.
Причем на функцию закрытия управление приходит. Но файл не закрывается. Почему?
electromash
31.01.2020, 14:31
Добрый день! Есть цель:сделать сохранение значения цифровых входов на борту самого плк,с дальнейшим извлечением информации и созданием отчета...может кто то посоветовать уроки обучающие по этому направлению?заранее спасибо!
Добрый день! Есть цель:сделать сохранение значения цифровых входов на борту самого плк,с дальнейшим извлечением информации и созданием отчета...может кто то посоветовать уроки обучающие по этому направлению?заранее спасибо!
Смотрите все на тему "модуль архивации" или "архиватор".
контроллер на работе, у меня уже 22:30 вечера.
Завтра попробую прогнать ваш пример. Аж интересно стало, я изначально почти так же делал, но на CFC.
А как качаете ? Если plc_io, то гуляет инфа что некоторые версии плохо читают, а некоторые плохо пишут ))
Процитирую сам себя:
Файл фактически создается, его видно браузером, после перезагрузки контроллера его можно удалить из браузера. Скачать из контроллера - нельзя.
Соответственно все действия по просмотру и удалению делал ПЛК браузером и скачивать пытался кодесисом.
electromash
03.02.2020, 09:51
1.для начала нужна оценка предполагаемой максимальной частоты коммутации. Не во всех случаях будет адкватным решение хранения на плк
2.т. к. нужен отчет, то видимо нужна и метка времени. Вне зависимости от архиватор/руками нужно подумать об синхронизации времени с пк (вы читать будете, а значит и соединятся) чтоб не расчитывать на надежность батареек (или что там) плк. Ведь отчет это точное время а не абы какое.
3.Особо про архиватор не ведаю (обхожусь без него, он не гибкий), самое компактное это сохранять маску входов только при ее изменении. Но это по задаче и п. 1 - иногда можно и прям в файлик писать по-русски типо "закрылся клапан такой-то"
Частота коммутации примерно 50 значений входов в сутки,плюс каждые 2 минуты съем значений температуры,т.е. около 800 значений за сутки. Да,время тоже нужно чтобы было указано,но на счет синхронизации я не думал,потому что на плк будет постоянно подано напряжение ,и значения времени будем принимать на основе плк.
Филоненко Владислав
03.02.2020, 15:00
Валенок, не путайте людей. Актуальная версия plc_io отлично работает в любом направлении. Ранее были версии с нюансами, но это такая древняя история...
т.е. на каком-то этапе некорректно что-то сделали и порушили "фат-таблицу". Причем допускаю что порушили именно по этому имени файла (исходных кодов ОС у меня нету - звиняйте) а с другим (в примере выделил) филенаймом может быть вполне себе.
так вроде овены декларируют журналируемую ФС на этом контроллере? Это вам не дос, а чутка получше.
Сегодня освобожусь от навалившихся дел, возьму в руки ПЛК100 и проверю ваш "тестовый" код
Филоненко Владислав
04.02.2020, 07:48
В ПЛК журналируемая ФС. Конечно, разрушить можно все, но это одним действием не сделаешь, добавим сюда имеющуюся диагностику в загрузочном логе, по которой можно понять состояние ФС
electromash
04.02.2020, 12:07
то electromash
Что обрисовали - совсем мало. Можно хоть как писать, ниочем не думая
Это радует...Можно чтобы вы скинули ссылку на подобные уроки?буду очень признателен!
Дотянулся руками до контроллера. В целом код работает, но не совсем так, как ожидалось.
Сначала запустил оригинальный код, во второй раз - нацеплял переменных для проверки результатов функций.
Закрытие файла все равно корректно не отрабатывает.
Результат работы SysFileClose() - всегда false, т.е. закрытие не происходит. Но, файл создается, пишется и читается.
Может это ошибка в библиотеке?
Евгений Кислов
06.02.2020, 09:28
Может это ошибка в библиотеке?
Это особенность реализации - SysFileClose никогда ничего не возвращает на свой выход (т.е. он всегда равен FALSE).
Это особенность реализации - SysFileClose никогда ничего не возвращает на свой выход (т.е. он всегда равен FALSE).
Вот же....
А я как непонятно кто, справку читаю...
Спасибо, буду знать.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot