ЗДРАВСТВУЙТЕ КАК ПЕРЕВЕСТИ ЭТО В ЯЗЫК ST????? http://www.owen.ru/forum/attachment....8&d=1418580667
ЗДРАВСТВУЙТЕ КАК ПЕРЕВЕСТИ ЭТО В ЯЗЫК ST????? http://www.owen.ru/forum/attachment....8&d=1418580667
а вот прям так все и пишите.
Название операторов что на st что на fbd пишется одинаково.
Удалил в Конфигурации задач в VISU_TASK вызор программы визуализации, никак не могу найти как её вернуть обратно
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
как как написать твой пример в st
,
Здравствуйте. с записью и чтением файлов разобрался через sysfile. все работает отлично( пишется 4 файла и при запуске они же читаются при наличии флэшки), с одним "НО"- не совсем четко представляю каким образом увидеть что первый файл действительно прочитался и можно переходить к прочтению следующего или что он не прочитался?? решение которое применено для определения завершения чтения или записи меня смущает.. т.к. при отсутствии флэшки библиотека не выдает ошибок.. в общем есть ли у кого расшифровка состояния handle что файл открылся, что файл прочитался(записался) и что файл закрылся без ошибок? описание не смог наити(((
Вот кусок кода который работает, но к которому хотелось бы добавить уточнения правильности процесса:
(*чтение файла графиков*)
IF NOT init_rf1 THEN
handle_rf1:=SysFileOpen(szFile:=file_GD , am:=AM_READ , pResult:=error_rf1 );
(*здесь проверку что открылся файл*)
SysFileRead(hFile:=handle_rf1 , pbyBuffer:=ADR(STR_GDr) , ulSize:=SIZEOF(STR_GDr) , pResult:=error_rf1 );
(*здесь что прочитался*)
SysFileClose(hFile:=handle_rf1 );
count_r1:=count_r1+1;
IF error_rf1=0 AND handle_rf1=F#16******** THEN init_rf1:=TRUE; (*а здесь что закрылся. выделенное красным в рабочем коде нет*)
ELSE init_rf1:=FALSE;
END_IF
(*присвоение данных буфера чтения - графикам дня *)
************************************************** ****
END_IF
Или же это ересь и без проверок будет работать стабильно?
Насколько я понял, то если файл не открылся (не существует например, либо что еще), то handle выдаст значение 16#FFFFFFFF, по идее pResult должен выдавать какие то ошибки, но я их у себя не видел
Да, когда не открывается из-за отсутствия файла то ошибки действительно не появляются почему-то... и значение handle как вы написали...
теперь бы с проверкой определиться правильности чтения и закрытия( все же у меня читается 5 файлов подряд). да и пишется 4 по нажатию кнопок в визуализации, а 5-й с периодичностью 1 час.
посему хочется более детально в этой ситуации разобраться... да и вообще сделал бы через CASE но отсутствие именно понимания что происходит работе бибки не дает мне поля для деятельности с обработкой ошибок.. как то так