Страница 11 из 15 ПерваяПервая ... 910111213 ... ПоследняяПоследняя
Показано с 101 по 110 из 148

Тема: CODESYS V3.5. Онлайн-FAQ

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

    По умолчанию PRG#25. Привязка переменных к каналам компонентов дерева проекта

    Формально привязка переменных к каналам компонентов в дереве проекта может быть произведена двумя способами:

    1. Привязкой к каналу уже существующей переменной (маппированием) - с помощью ввода имени этой переменной или ее выбором через ассистент ввода (для этого надо нажать на кнопку "...").

    2021-06-24_8-46-47.png

    2. Вводом имени еще несуществующей переменной - тогда в проекте будет автоматически объявлена неявная глобальная переменная с этим именем.

    В зависимости от выбранного способа в столбце Соотнесение будет отображаться соответствующая иконка: для способа 1 - "стрелка", для способа 2 - "лампочка".

    В подавляющем большинстве случаев рекомендуется использовать только способ 1.

    Из-за автообъявления переменных в каналах компонентов при загрузке проекта могут периодически (без систематики) возникать ошибки - из-за того, что карта адресов таких переменных может быть сформирована некорректно.
    Особенно часто это наблюдается при автообъявлении переменных типа BIT и ARRAY.

    Примеры ошибок:

    image1.png image2.png

    Поэтому настоятельно рекомендуется использовать только способ 1 - то есть привязывать к каналам уже заранее объявленные переменные.

    2021-06-24_8-38-00.png

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

    По умолчанию COM#19. Как настроить проброс портов для ПЛК2хх?

    Вопрос: как настроить проброс портов для ПЛК2хх, чтобы использовать контроллер в качестве шлюза между сетями?

    Ответ: см. статью.

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

    По умолчанию PRG#26. Ограничение библиотеки CmpSysExec на длину команды и способ его обхода

    ФБ библиотеки CmpSysExec используются для вызова утилит Linux (например, curl).
    Длина команды, подаваемой на вход блока, ограничена 255 символами.

    Примечание: в версии библиотеки 3.5.17.31 добавлен блок SysExecute5, который позволяет работать с командами длиной до 2047 символов.

    В некоторых случаях этого может оказаться недостаточно - например, когда в теле команды передается текст длинного сообщения или значения множества параметров REST API запроса.

    В такой ситуации можно записать текст во временный файл (см. пример) и использовать этот файл как аргумент при вызове curl.

    Код:
    // текст сообщения передается как аргумент команды
    curl -s -X POST https://api.telegram.org/bot1395641168:AAFMoUpthm5W_wnQEPR6-dNsP4Hah0S2-8c/sendMessage -d "chat_id=721952499" -d "text=123"
    
    // текст сообщения сохраняется в файл, который передается как аргумент команды
    curl -s -X POST https://api.telegram.org/bot1395641168:AAFMoUpthm5W_wnQEPR6-dNsP4Hah0S2-8c/sendMessage -d "chat_id=721952499" -d "text=$(cat /home/root/CODESYS_WRK/message.txt)"

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

    По умолчанию PRG#27. Файловые плейсхолдеры

    При работе с файлами с помощью библиотек CAA File и SysFile часто требуется указывать путь к конкретной директории - например, директории сервера web-визуализации, USB-накопителю и т.д.
    Эти пути могут отличаться для разных моделей ПЛК и разных прошивок - поэтому запомнить все их вариации довольно сложно.
    Вместо этого проще использовать плейсхолдеры (заместители).
    В этом случае CODESYS сам заменит плейсхолдер на путь к нужной директории.
    Следует учитывать, что плейсхолдеры обрабатываются только упомянутыми библиотеками (например, их нельзя использовать при работе с библиотекой CmpSysExec).

    Плейсхолдеры CODESYS:

    • $$PlcLogic$$ - директория проекта CODESYS;
    • $$visu$$ - директория файлов визуализации (одновременно с этим - директория сервера web-визуализации);
    • $$trend$$ - директория файлов трендов;
    • $$alarms$$ - директория файлов тревог.


    Специфичные плейсхолдеры для контроллеров ОВЕН:

    • $$USB$$ - корневая директория USB-накопителя;
    • $$SD$$ - корневая директория SD-накопителя;
    • $$FTP$$ - директория FTP-сервера.


    Пример использования плейсхолдеров:

    Код:
    	hFile := SysFile.SysFileOpen('$$visu$$/test.txt', SysFile.ACCESS_MODE.AM_APPEND_PLUS, ADR(dwRes) );
    	SysFile.SysFileWrite(hFile, ADR(sData), TO_UINT(LEN(sData)), ADR(dwRes) );
    	SysFile.SysFileClose(hFile);

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

    По умолчанию VISU#28. Как переключить экран в фрейме из кода программы?

    Вопрос: как переключить экран, отображаемый в элементе Фрейм, из кода программы?

    Ответ: см. пример.

    Если вы используете CODESYS V3.5 SP17 Patch 3 с плагином визуализации 4.3.0.0 или выше - то см. этот пример и информацию из п. 5 данного документа.

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

    По умолчанию VISU#29. Работа с тревогами из кода программы (AlarmManager)

    Компания Пролог подготовила ряд видео о специфическом функционале компонента Конфигурация тревог, основанном на библиотеке AlarmManager.

    1. Базовый функционал и действия уведомления (вызов ФБ с интерфейсом IAlarmNotifiable)
    2. Тревоги со способом наблюдения Событие
    3. Передача тревог между ПЛК (RemoteAlarms)
    4. Работа с тревогами из кода

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

    По умолчанию COM#20. Как отмасштабировать значение, считываемое по Modbus?

    Вопрос: в проекте настроен опрос других устройств по протоколу Modbus через стандартные компоненты. Считываются целочисленные значение, и согласно документации их нужно домножить на 0.01, чтобы получить "настоящее" значение в формате REAL. Можно ли это выполнить это масшабирование на уровне настройки компонентов Modbus?

    Ответ:

    1. Необходимо создать ФБ для конвертации данных. В рамках примера он будет называться CONVERT.
    Перед объявлением ФБ необходимо указать атрибут io_function_block, а перед объявлением его переменной, которая будет привязываться к компоненту Modbus - io_function_block_mapping.

    Код:
    {attribute 'io_function_block'}
    FUNCTION_BLOCK CONVERT
    VAR_INPUT
    	{attribute 'io_function_block_mapping'}
    	wInput:		WORD;
    END_VAR
    VAR_OUTPUT
    	rOutput:	REAL;
    END_VAR
    VAR
    END_VAR
    
    rOutput := wInput * 0.01;
    2. В компоненте Modbus на вкладке Соотнесение входов/выходов выберите нужный канал (нужно выделить конкретный регистр - тип WORD)
    и нажмите кнопку Добавить ФБ для IO-канала.

    2021-08-30_12-51-42.png

    В выпадающем окне нужно выбрать ФБ CONVERT.

    2021-08-30_12-51-54.png

    В результате в столбце Соотнесение отобразится соответствующая пиктограмма, а в столбце Переменная будет автоматически сформирован путь к неявно объявленному экземпляру ФБ.

    2021-08-30_12-52-10.png

    3. С помощью этого пути можно обратиться к выходной переменной ФБ в коде программы (убрав из пути узел Application):

    Код:
    PROGRAM PLC_PRG
    VAR
    	rValue1:		REAL;
    	rValue2:		REAL;
    END_VAR
    
    rValue1 := Modbus_Slave_COM_Port_CONVERT.rOutput;
    rValue2 := Modbus_Slave_COM_Port_CONVERT_1.rOutput;
    2021-08-30_12-55-31.png

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

    По умолчанию COM#21. Как подключиться к SQL-серверу?

    Вопрос: требуется записываться и считывать данные из СУБД с использованием SQL. Как это можно сделать?

    Ответ:

    Работа с MySQL поддерживается начиная с прошивки 1.3.0620.xxxx.
    Работа с MsSQL поддерживается начиная с прошивки 1.3.0812.xxxx.
    Работа с SQLite (встраиваемая СУБД, хостится на самом ПЛК) поддерживается во всех прошивках.

    См. пример и видео: MySQL / MsSQL / SQLite

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

    По умолчанию COM#22. Как подключить контроллер к VPN?

    Вопрос: как подключить контроллер к VPN?

    Ответ: контроллеры Овен поддерживают протоколы OpenVPN и WireGuard.

    Настройка подключения производится через web-конфигуратор.

    Документация (см. приложение Г) / Видеопример по OpenVPN

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

    По умолчанию COM#23. Как работать с GSM/GPRS-модемами?

    Вопрос: как работать с GSM/GPRS-модемами (отправлять/получать cмc, устанавливать GPRS-подключение)?

    Ответ: см. информацию по ссылке.

Страница 11 из 15 ПерваяПервая ... 910111213 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

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