Страница 10 из 31 ПерваяПервая ... 8910111220 ... ПоследняяПоследняя
Показано с 91 по 100 из 303

Тема: Codesys v3 + Raspberry Pi

  1. #91
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    785

    По умолчанию

    да там есть .. и цепляются нормально советую такой http://www.seeedstudio.com/depot/Min...le-p-1702.html ..
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  2. #92
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Спасибо! Как раз такой и заказал завтра у меня будет малинка 2, но usb-rs485 и RTC идти будут долго. Напишу как всё прошло, думаю перебросить проекты с СПК107. Жаль что у Овена нет аналогов.

  3. #93

    По умолчанию

    Всем привет. Человек постами выше давал ссылку http://www.ebay.com/itm/400503978923 - часы реального времени + память для retain. Вопрос, кто-нибудь решал проблему сохранения значения в память 24ххх?

  4. #94
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    785

    По умолчанию

    retain можно и на флешку сохранять в виде файла и при загрузки подгружать обратно (а в программе просто VAR RETAIN использовать и все)

    PROGRAM RetainManager
    VAR_INPUT
    RetainFilePathName : STRING := '/root/Retain';
    SaveFilterTime : TIME := T#5S;
    ForceSave : BOOL;
    END_VAR
    VAR
    Init: BOOL;
    pRetainFilePathName : POINTER TO STRING;
    pCurrentApp : POINTER TO APPLICATION;
    RetainAreaSize: __XWORD;
    pRetainArea: POINTER TO BYTE;
    dwCRCSave: DWORD;
    dwCRC: DWORD;
    TOF1 : TOF := (PT := SaveFilterTime);
    R_TRIG1: R_TRIG;
    END_VAR
    VAR_OUTPUT
    RTSIECResult: cmpapp.RTS_IEC_RESULT;
    AttemptSaveCounter: INT;
    END_VAR

    IF NOT Init THEN
    pCurrentApp := AppGetCurrent(ADR(RTSIECResult));
    IF RTSIECResult<>0 THEN RETURN; END_IF
    RetainAreaSize := AppGetAreaSize(pApp:= pCurrentApp, uiType:= DA_RETAIN, pResult:= ADR(RTSIECResult));
    IF RTSIECResult<>0 THEN RETURN; END_IF
    pRetainArea := AppGetAreaAddress(pApp:= pCurrentApp, uiType:= DA_RETAIN, pResult:= ADR(RTSIECResult));
    IF RTSIECResult<>0 THEN RETURN; END_IF
    IF LEN(RetainFilePathName) <> 0 THEN
    pRetainFilePathName := ADR(RetainFilePathName);
    ELSE
    pRetainFilePathName := ADR(pCurrentApp^.szName);
    END_IF
    RTSIECResult := AppRestoreRetainsFromFile(pCurrentApp, pRetainFilePathName^);
    CASE RTSIECResult OF
    0: // #define ERR_OK 0x0000
    16#1E: // #define ERR_SIGNATURE_MISMATCH 0x001E /* Signature mismatch of an api function */
    16#32: // #define ERR_FILE_ERROR 0x0032 /* File error. e.g. cannot open a file for writing because it could be write protected */
    ELSE RETURN;
    END_CASE
    dwCRCSave := CRC32Finish(ulCRC:= CRC32Update(ulCRC:= CRC32Init(), pData:= pRetainArea, ulSize:= RetainAreaSize));
    Init := TRUE;
    END_IF

    R_TRIG1(CLK := ForceSave);

    dwCRC := CRC32Finish(ulCRC:= CRC32Update(ulCRC:= CRC32Init(), pData:= pRetainArea, ulSize:= RetainAreaSize));

    IF dwCRC <> dwCRCSave OR R_TRIG1.Q THEN
    IF NOT TOF1.Q OR R_TRIG1.Q THEN
    RTSIECResult := AppStoreRetainsInFile(pCurrentApp, pRetainFilePathName^); // записасать в файл
    IF RTSIECResult = 0 THEN
    dwCRCSave := dwCRC;
    END_IF
    AttemptSaveCounter := AttemptSaveCounter + 1;
    TOF1(IN := TRUE);
    END_IF
    END_IF

    IF TOF1.Q THEN
    TOF1(IN := FALSE);
    END_IF

    http://forum.codesys.com/viewtopic.p...=5722&start=15
    Последний раз редактировалось murdemon; 24.12.2015 в 13:28.
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  5. #95

    По умолчанию

    Спасибо за совет. А вы не пробовали с внешней памятью работать? Кодесися поддерживает? В Линухе то я приконектился к чипу все хорошо, вижу адрес, читаю - пишу. А вот в кодесис вопрос.

  6. #96
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    785

    По умолчанию

    можно сделать скрипт на bash и вызывать его из кодезиса с несколькими параметрами.. или просто писать в именованный канал как /dev/mymemory как в файл (лучше второй вариант)
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  7. #97

    По умолчанию

    Добрый день!
    Осваиваю Codesys + Raspberry Pi 2 (далее RPi). Возникла проблема на этапе развертывания на RPi Modbus RTU Master/Slave. Насколько я понимаю необходимо сделать следующие вещи:

    1. Подключить преобразователь USB<->RS к RPi, и через dmesg посмотреть как он стал доступен в системе. В моём случае это /dev/ttyUSB0.
    (dmesg выдал: usb 1-1.4: pl2303 converter now attached to ttyUSB0)
    2. На RPi в файл /etc/CODESYSControl.cfg добавить:
    [SysCom]
    Linux.DeviceFile=/dev/ttyUSB
    portnum:=COM.SysCom.SYS_COMPORT1
    3. Перезагрузить RPi
    4. В проект CODESYS добавляем "Modbus COM", а к "Modbus COM" добавляем либо "Modbus Serial Device" (если хотим Slave), либо "Modbus Master" (если хотим Master).
    5. Настраиваем всё, что добавили.
    6. Собираем проект и отправляем его в RPi

    В качестве базового проекта я использовал Onewire (он идёт в комплекте вместе с пакетом для работы с RPi). Всё что касается onewire в нём отлично работает: датчик температуры опрашивается и через web-интерфейс можно данные с него посмотреть.
    В моём случае (см. рис.), почему-то, при просмотре в online режиме напротив modbus устройства вместо зелёных стрелок, которые говорят о том, что всё ОК, стоят треугольники с красной рамкой, а в статусе устройства указано:
    PCI-BUS: No driver found
    SerialPort: No driver found
    codesys_modbus.jpg

    Может ли это быть связано с тем, что я использую пока только двух часовую демо версию (не успел пока купить полную)? Но, насколько я понимаю, в демо ограничение связано только со временем работы, а функционал полный.
    Цитата с сайта: Without purchasing a license (just download) the CODESYS Control for Raspberry Pi runs for two hours without functional limitations and shuts down automatically (demo).
    Или всё дело в том, что я каким-то образом не подключил драйвера?

    Проект приложил к письму.

    Буду очень благодарен за помощь!
    Вложения Вложения

  8. #98
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    785

    По умолчанию

    Попробуй компорт в кодезисе с 1 на 4, 3, 2 поменять - он иногда их по разному подхватывает.
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  9. #99

    По умолчанию

    Соблюдайте последовательность.
    Вставели usb<->rs в RPi.
    Ждем 15-20с
    Перегружаем
    RPi выключением питания.
    Подключаем оборудование с modbus.
    Включаем питание.
    Связь с ком портом появилась.
    Далее следующий шаг фишка
    Осознаем и понимаем процесс обмена
    Понимаем значимость ее.
    Получаем устойчивой канал.


  10. #100

    По умолчанию

    Спасибо за советы!
    Попробовал, но как-то не завелось)
    Изучение логов дало следующий результат:
    - в файле /tmp/codesyscontrol.log есть следующие записи:
    1452097627: Cmp=OnlineLicenseManager, Class=4, Error=0, Info=0, pszInfo=**** License for IoDrvModbusSerial not installed.
    1452097627: Cmp=CmpIoMgr, Class=4, Error=1, Info=1, pszInfo=**** Update configuration failed from driver <iodriver>IoDrvModbusTCPSlave</iodriver>
    (полный лог прикреплен к сообщению)
    - в логах CODESYS та же информация:
    pic.jpg

    Я так понимаю, мои неудачи в работе с Modbus связанны именно с этим. Исправится ли эта ситуация, после покупки лицензии (я пока работаю в демо режиме)?
    Можно ли в демо режиме как-то загрузить эти драйвера? (CODESYS вроде как полнофункциональный должен быть даже в демо режиме)?

    Спасибо!
    Вложения Вложения

Страница 10 из 31 ПерваяПервая ... 8910111220 ... ПоследняяПоследняя

Похожие темы

  1. codesys v3
    от nevii в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 18.09.2014, 12:23
  2. CoDeSys V3 и ноутбук
    от smk1635 в разделе СПК2хх
    Ответов: 11
    Последнее сообщение: 27.10.2013, 11:12
  3. ПЛК110 и CoDeSys v3
    от DIG в разделе ПЛК1хх
    Ответов: 32
    Последнее сообщение: 09.11.2011, 18:02
  4. CodeSys V3
    от nnesterov в разделе ПЛК3хх
    Ответов: 13
    Последнее сообщение: 05.04.2010, 15:12
  5. CoDeSys v3
    от Alor в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 02.12.2008, 10:48

Ваши права

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