Страница 343 из 699 ПерваяПервая ... 243293333341342343344345353393443 ... ПоследняяПоследняя
Показано с 3,421 по 3,430 из 6985

Тема: CODESYS V3.5. Вопросы и ответы

  1. #3421

    По умолчанию

    Цитата Сообщение от saii Посмотреть сообщение
    Вы читать начнете только когда xRFile, xWFile и xOpenF одновременно имеют значение TRUE. Внимательнее смотрите CASE при eState = 0.
    Но ведь:
    Код:
    fbTrigger(CLK:=xRFile OR xWFile);

  2. #3422

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    Но ведь:
    Код:
    fbTrigger(CLK:=xRFile OR xWFile);
    И что с того?

  3. #3423

    По умолчанию

    Цитата Сообщение от saii Посмотреть сообщение
    И что с того?
    Сигнал будет и при чтении

  4. #3424
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    Сигнал будет и при чтении
    И что? Ведь весь нулевой шаг обернут в условие:

    Код:
    CASE eState OF
    	
    0:	// шаг открытия файла
    
       IF xWFile AND xOpenF	//Запись файла
          ...
       END_IF

  5. #3425

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    И что? Ведь весь нулевой шаг обернут в условие:

    Код:
    CASE eState OF
    	
    0:	// шаг открытия файла
    
       IF xWFile AND xOpenF	//Запись файла
          ...
       END_IF
    я понял, упустил этот момент, но так тоже не работает:

    Код:
    	0:	// шаг открытия файла
    	
    		IF xWFile AND xOpenF	//Запись файла
    			THEN
    			fbFileOpen(xExecute:=TRUE, sFileName:=sVisuFileName, eFileMode:=FILE.MODE.MAPPD);	
    
    			// если файл, в который производится запись, не существует, то создадим его и запишем в него заголовок архива
    			IF fbFileOpen.eError=FILE.ERROR.NOT_EXIST 
    				THEN
    				fbFileOpen(xExecute:=FALSE);
    				eState:=1;	// шаг создания файла	
    				xTitle	:=	TRUE;
    			END_IF
    			
    			// если файл существует и был успешно открыт, то переходим к шагу записи файла
    			IF	fbFileOpen.xDone AND xWFile
    				THEN
    				hFile:=fbFileOpen.hFile;
    				fbFileOpen(xExecute:=FALSE);
    				eState:=2;	// шаг записи в буфер
    			END_IF
    			END_IF
    
    			IF xRFile AND xOpenF	//Чтение файла
    			THEN
    			fbFileOpen(xExecute:=TRUE, sFileName:=sVisuFileName, eFileMode:=FILE.MODE.MREAD);
    			
    			// если файл существует и был успешно открыт, то переходим к шагу чтения файла
    				IF	fbFileOpen.xDone AND xRFile
    				THEN
    				hFile:=fbFileOpen.hFile;
    				fbFileOpen(xExecute:=FALSE);
    				eState:=6;	// шаг установки позиции для чтения из файла
    				END_IF
    			END_IF

  6. #3426

    По умолчанию

    Коллеги, приветствую!!!
    К сожалению, не могу пока создавать темы, поэтому пишу здесь.
    Подскажите пожалуйста, как работать с таким объектом как "Модуль С-кода"?
    Есть ли какой-нибудь букварь на эту тему???
    Мне бы очень хотелось все-таки как-то достучаться до файла БД sqlite(архив тренда) средствами CDS.
    По ТЗ надо тренды вести и показывать и эти же данные писать на USB накопитель в .csv формате.
    Конечно можно все сделать параллельно , что-бы два компонента(Тренд и т.н. OwenArchiver) работали независимо друг от друга, но это как-то архитектурно не кашерно и в какой-то момент начнется рассинхронизация данных.
    Я подумал, что может можно попробовать прикрутить С-ную либу для работы с sqlite, сделать к ней интерфейс и поработать с файлом этой БД..!?!

  7. #3427

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    я понял, упустил этот момент, но так тоже не работает:
    1. А у Вас записи в файл все фиксированной длины?
    2. sArchEntry всегда имеет значение необходимой длины?

  8. #3428
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от shults Посмотреть сообщение
    Коллеги, приветствую!!!
    К сожалению, не могу пока создавать темы, поэтому пишу здесь.
    Подскажите пожалуйста, как работать с таким объектом как "Модуль С-кода"?
    Есть ли какой-нибудь букварь на эту тему???
    Мне бы очень хотелось все-таки как-то достучаться до файла БД sqlite(архив тренда) средствами CDS.
    По ТЗ надо тренды вести и показывать и эти же данные писать на USB накопитель в .csv формате.
    Конечно можно все сделать параллельно , что-бы два компонента(Тренд и т.н. OwenArchiver) работали независимо друг от друга, но это как-то архитектурно не кашерно и в какой-то момент начнется рассинхронизация данных.
    Я подумал, что может можно попробовать прикрутить С-ную либу для работы с sqlite, сделать к ней интерфейс и поработать с файлом этой БД..!?!
    Добрый день.
    "Модуль С-кода" не поддерживается нашими контроллерами.
    Насчет sqlite - посмотрите пример:
    https://youtu.be/4J6WXEwmeco

    Я не уверен, что получится работать с файлами, которые создает CODESYS - но можете попробовать.

  9. #3429
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от saii Посмотреть сообщение
    1. А у Вас записи в файл все фиксированной длины?
    2. sArchEntry всегда имеет значение необходимой длины?
    Уже разобрались - там буфер для чтения выделялся длиной в 0 байт в начальный момент времени (строка sArchEntry была пустой до первой записи).

    Код:
    fbFileRead(xExecute:=TRUE, hFile:=hFile, pBuffer:=ADR(stReadData), szBuffer:=(StrLenW(ADR(sArchEntry)))*2);

  10. #3430

    По умолчанию

    Ребята, как удалить фаил с ПЛК по срабатыванию переменной?

Страница 343 из 699 ПерваяПервая ... 243293333341342343344345353393443 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3177
    Последнее сообщение: Вчера, 12:47
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •