Страница 344 из 360 ПерваяПервая ... 244294334342343344345346354 ... ПоследняяПоследняя
Показано с 3,431 по 3,440 из 3594

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

  1. #3431

    По умолчанию

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

  2. #3432
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    7,396

    По умолчанию

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

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

  3. #3433
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    7,396

    По умолчанию

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

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

  4. #3434

    По умолчанию

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

  5. #3435

  6. #3436

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    См. в библиотеке CAA File ФБ Delete.
    спасибо нашел вроде описание
    Евгений а нет ли готовой библиотеки с готовыми аналоговыми сигналами для эмуляции? треугольник, синус, меандр и тп

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

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    спасибо нашел вроде описание
    Евгений а нет ли готовой библиотеки с готовыми аналоговыми сигналами для эмуляции? треугольник, синус, меандр и тп
    См. библиотеку Util, ФБ GEN.

  8. #3438

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    "Модуль С-кода" не поддерживается нашими контроллерами.
    Насчет sqlite - посмотрите пример:
    https://youtu.be/4J6WXEwmeco

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

  9. #3439

    По умолчанию

    Коллеги я очень извеняюсь за наглость...но прошу помочь разобраться...
    fbTon1(IN :=TRUE, PT := T#5S);//(IN должно становится TRUE после выполнения всего вложеного кода ,НО становится TRUE сразу
    fbr_trig(CLK:=fbTon1.Q);
    IF fbr_trig.Q THEN
    fbTon1(IN :=FALSE);
    EnablreadWrite:=TRUE;// отсчитали 5 сек разрешили чтение запись по МОДБУС(пока реализовано только чтение)
    END_IF;
    IF EnablreadWrite THEN
    CASE eState OF
    STATE_MB_WR.CHECK:
    IF WriteCount = 167 THEN// если прошли все 167 итераций сбрасываем счетчик на ноль ,запрещаем работу по МОДБУС
    WriteCount := 0;//но почему то не сбрасывается
    EnablreadWrite:=FALSE;
    fbTon1(IN :=TRUE);//fbTon1 IN должно становится TRUE только после выполнения 167 интераций ,НО становится TRUE сразу
    eState := STATE_MB_WR.CHECK;
    END_IF
    WriteCount := WriteCount + 1;
    eState := STATE_MB_WR.CONNECTING;
    STATE_MB_WR.CONNECTING:

    fbTon(IN :=TRUE, PT := T#500MS);
    fbr_trig1(CLK:=fbTon.Q);
    IF fbr_trig1.Q THEN
    fbTon(IN :=FALSE);
    fbTcpClient
    (
    xEnable := TRUE ,
    tTimeout := T#5S,
    sIpAddr := GVL.FancoilControl.IpAdressNom[WriteCount],
    uiPort :=502
    );
    ConnectOk[1]:= fbTcpClient.xActive;
    IF fbTcpClient.xActive THEN
    fbWriteRequest (xExecute := TRUE);
    eState := STATE_MB_WR.WRITE;
    ELSIF fbTcpClient.xError THEN
    fbTcpClient(xEnable := FALSE);
    eState := STATE_MB_WR.CONNECTING;
    END_IF
    END_IF


    STATE_MB_WR.WRITE:
    fbWriteRequest
    (
    xExecute :=TRUE,
    tTimeout :=T#1500MS,
    usiRetry :=5,
    hConnection := fbTcpClient.hConnection,
    xIsRtuOverTcpMode :=FALSE,
    usiUnitId :=1,
    eFuncCode :=OCL.MB_FC.READ_INPUT_REGISTERS,
    uiDataAddr:=((GVL.FancoilControl.FanAdr[WriteCount])*32)+15, // Начальный регистр
    uiDataCount:=2,// колво регистров в запросе
    pData:=ADR (awReadData),
    szSize:=SIZEOF (awReadData)
    );
    ReadError[WriteCount,1]:=awReadData[0];
    ReadError[WriteCount,2]:=awReadData[1];
    IF fbWriteRequest.xDone OR fbWriteRequest.xError THEN
    fbWriteRequest (xExecute := FALSE);
    ErrorWr:=fbWriteRequest.eError;
    fbTcpClient(xEnable := FALSE);
    eState := STATE_MB_WR.CHECK;
    END_IF
    END_CASE
    END_IF



    есть кусок кода,который должен раз в пять сек ( пока что для отладки ) производить запись чтение по MODBUS....в итоге ...чтение происходит только после сброса программы ,выполняються все 166 шагов...
    таймер fbTon1 начинает считать сразу хотя должен запустится только после 166 интереаций ( пометил в коментах)

  10. #3440

Страница 344 из 360 ПерваяПервая ... 244294334342343344345346354 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 675
    Последнее сообщение: 22.10.2021, 10:30
  2. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 2301
    Последнее сообщение: 20.10.2021, 15:29
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 218
    Последнее сообщение: 25.05.2021, 19:55
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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