Страница 5 из 12 ПерваяПервая ... 34567 ... ПоследняяПоследняя
Показано с 41 по 50 из 114

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

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

    По умолчанию OTHER#04. Как защитить загруженный в контроллер проект от копирования?

    Вопрос: в контроллер загружен проект и создано загрузочное приложение. Как защитить его от копирования? (при условии, что исходники проекты никому не передаются)

    Комментарий: приведенная ниже информация актуальна для контроллеров, программируемых в CODESYS V3.5 SP11 Patch 5 или выше.
    Обратите внимание, что проект загружается в контроллер в скомпилированном виде - таким образом, "вытащить" из него исходные коды невозможно.
    Исходники проекта могут находиться в контроллере исключительно в том случае, если они были загружены владельцем исходников в CODESYS с помощью команды Файл - Загрузка исходного кода.

    Ответ: для гарантированной защиты проекта от копирования рекомендуется выполнить все перечисленные ниже пункты:

    1. В конфигураторе установить пароль на вход в конфигуратор, отличающийся от стандартного (owen).

    2. Установить пароль на доступ к контроллеру из среды CODESYS (см. видео) - чтобы нельзя было воспользоваться функцией Backup&Restore или скачать файлы проекта через Device - Файлы.
    Альтернативный вариант - использовать ФБ PlcOperationControl из библиотеки Component Manager: он позволяет из кода программы запретить выполнение заданных действий (например, выгрузку файлов).
    См. видео и описание:
    https://help.codesys.com/webapp/_cds...rsion=3.5.10.0

    PlcControl.png

    3. Использовать в программе привязку к серийному номеру конкретного контроллера (в дереве проекта узел Info - папка Информация об устройстве - канал SERIAL) - и, например, при несовпадении заданного и считанного номеров не выполнять никаких действий. Привязка к серийному номеру делает бессмысленным копирование файлов проекта, даже если пароли, установленные в п. 1 и 2, были скомпрометированы.

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

    По умолчанию VISU#07. Как реализовать управление пользователями визуализации из кода?

    Вопрос: в проекте используется управление пользователями визуализации (User Managment). Для логина/выхода используются кнопки (InputConfiguration - OnMouseClick - Управление пользователями).
    А как сделать тоже самое из кода программы?

    Комментарий: приведенная ниже информация актуальна только для контроллеров, программируемых в CODESYS V3.5 SP11 Patch 5 или выше.

    Ответ: в первую очередь необходимо получить контекст пользователя (pstClientData) - см. соответствующий пример.
    Зная контекст, вы можете организовать логин или отключение данного клиента из кода программы:

    Код:
    // dwGroupId - ID группы пользователей (DWORD)
    // wstUserName, wstFullName - короткое и полное имя пользователя (WSTRING)
    // подразумевается, что эта информация задана в Менеджере визуализации на вкладке Управление пользователями
    // но фактически - вы можете залогиниться даже под несуществующим пользователем
    VisuUserManagement.g_VisuUserMgmt2.LoginToUserGroup(pstClientData, dwGroupId, wstUserName, wstFullName);
    Код:
    VisuElems.Visu_FctLogoutUser(pstClientData);
    Cм. также пример считывания информации о пользователях визуализации в переменные программы.

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

    По умолчанию DEBUG#02. Как проверить проект в эмуляции?

    Вопрос: как проверить проект в эмуляции, без подключения к контроллеру?

    Ответ: для запуска проекта в режиме эмуляции следует выполнить команду Онлайн - Эмуляция и Онлайн - Логин.

    Следует отметить, что режим эмуляции имеет множество ограничений:

    • не поддерживается обмен (по любым интерфейсам);
    • не поддерживается работа с файлами (из-за этого в частности не будут работать тренды и таблица тревог);
    • не поддерживается веб-визуализация.


    Альтернативным и более функциональным вариантом, лишенным всех описанных недостатков, является использование виртуального контроллера.

    Запустить виртуальный контроллер можно с помощью иконки на панели задач Windows:

    1.png

    После этого следует в проекте выбрать выбрать таргет-файл CODESYS Control Win V3 (Device - Обновить устройство) и подключиться к нему (Device - Сканирование сети).
    Желательно выбирать версию, соответствующую версию системы исполнения реального ПЛК, на котором впоследствии будет запускаться проект.

    2.png

    Следует обратить внимание, что и в режиме эмуляции, и при работе с виртуальным контроллером не поддерживаются:

    • функционал таргет-файлов (узлы OwenRTC, Buzzer и т.д.);
    • внешние (реализованные в прошивке контроллера) библиотеки - например, CmpSysExec.


    Примечание:

    1. для одновременного запуска нескольких экземпляров виртуального контроллера следует воспользоваться ярлыком 3S CODESYS - CODESYS Control Win V3 из меню Пуск или ярлыком с ссылкой типа

    "D:\Soft\3S CODESYS 3.5 SP11 Patch5\GatewayPLC\CODESYSControlService.exe" -d

    2. рабочая директория для виртуального контроллера (для CODESYS V3.5 SP11 и выше):

    C:\ProgramData\CODESYS\CODESYSControlWinV3\<иденти фикатор_версии> (например, для 3.5.11.5 идентификатор = 35A42129)

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

    По умолчанию COM#07. Modbus TCP - изменение сетевых настроек из кода программы

    Вопрос: в приложении настроен обмен по протоколу Modbus TCP через конфигурацию в дереве проекта. Как изменить из кода сетевые настройки?

    Ответ:

    1. если контроллер работает в режиме Modbus TCP Slave, то достаточно изменить сетевые настройки через узел Network (доступен только в контроллерах СПК1хх [М01]) или web-конфигуратор.

    2. если контроллер работает в режиме Modbus TCP Master и необходимо менять сетевые настройки опрашиваемых slave-устройств, то следует:

    На вкладке Device - Установки ПЛК установить галочку Включить диагностику для устройств.

    3.png

    В программе использовать следующий код:

    Код:
    // новый IP-адрес для слэйва
    abyNewSlaveIp:          ARRAY [0..3] OF BYTE := [10, 2, 11, 177];
    // бит обновления настроек слэйва
    xUpdate:	  	BOOL;
    
    
    // Modbus_TCP_Slave - имя нужного компонента из дерева проекта
    
    4.png
    
    Modbus_TCP_Slave.xConfirmError := FALSE;
    
    IF xUpdate THEN	
    	
    		// тормозим опрос слэйва
    		Modbus_TCP_Slave.Enable := FALSE;
    		
    		// проверяем, что слэйв остановлен
    		IF Modbus_TCP_Slave.ComState = 0 THEN
    	
    			// задаем новые настройки
    			Modbus_TCP_Slave.UpdateCommunicationSettings(ipAddress := abyNewSlaveIp, uiPort := 502);
    
    			// включаем слэйв в работу	
    			Modbus_TCP_Slave.xConfirmError := TRUE;
    			Modbus_TCP_Slave.Enable := TRUE;
    			xUpdate := FALSE;
    		END_IF	
    END_IF
    Обратите внимание, что при перезагрузке контроллера слэйв инициализируется с настройками, заданными в компоненте, поэтому следует повторять процедуру при старте программы.

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

    По умолчанию COM#08. Как настроить обмен с электросчетчиками Меркурий?

    Вопрос: как настроить обмен с электросчетчиками Меркурий?

    Ответ: компания ОВЕН разработала библиотеку OwenVendorProtocols для опроса тепло- и электросчетчиков:
    https://owen.ru/forum/showthread.php...l=1#post350263

    См. пример и видеопример опроса электросчетчика Меркурий 236 с помощью библиотеки.

    image_2021_03_22T05_35_41_015Z.png

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

    По умолчанию VISU#08. Как использовать кириллицу для логинов/паролей?

    Вопрос: хотелось бы в настройках Управления пользователями задавать русскоязычные логины и пароли. Но как их потом вводить в визуализации?

    Комментарий: приведенная ниже информация актуальна только для контроллеров, программируемых в CODESYS V3.5 SP14 Patch 3 или выше.

    Ответ: это можно сделать с помощью библиотеки OwenVisuDialogs.

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

    По умолчанию VISU#09. Как обновить изображение в визуализации с USB- или SD-накопителя?

    Вопрос: в проекте используются рецепты. Периодически они меняются, и хотелось бы вместе с этим изменять их пиктограммы без перезаливки программы. В связи с этим вопрос - можно ли обновить в проекте графические файлы с USB- или SD-накопителя?

    Ответ: это возможно.

    Предположим, в Пул изображений добавлена картинка с именем test.png:

    11-03-2019 7-20-21.png

    Она отображается в визуализации с помощью элемента Изображение. К параметру Динамическое изображение/Версия изображения привяжем переменную типа DWORD:

    11-03-2019 7-21-46.png

    Подготовим USB-накопитель, в корне которого будет находиться новое изображение с названием test.png.
    Необходимо заменить старый файл (который находится в памяти контроллера в директории /visu) на новый файл с USB-накопителя.

    Для этого можно воспользоваться ФБ Copy из библиотеки CAA File:

    123.png

    По переднему фронту переменной xCopyFile старый файл будет перезаписан на новый, после чего инкрементируется переменная версии изображения - это приведет к обновлению изображения в визуализации.

    Примечание:

    1. Рекомендуется выполнять копирование файла только при определении подключенного накопителя (см. узел Drives в дереве проекта).
    2. В случае использования SD-накопителя при вызова ФБ Copy на входе sFileNameSource требуется указать путь /mnt/ufs/media/mmcblk0p1/test.png
    3. Для контроллеров СПК1хх (без Ethernet) и СПК207 при вызова ФБ Copy на входе sFileNameDest требуется указать путь /mnt/ufs/root/CoDeSysSP_wrk/visu/test.png

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

    По умолчанию PRG#14. Как выполнить фрагмент кода однократно при старте приложения?

    Вопрос: как выполнить фрагмент кода однократно при старте приложения?

    Ответ: пример кода:

    Код:
    PROGRAM PLC_PRG
    
    VAR 
       xIsPlcStarted: BOOL;
    END_VAR
    
    IF NOT(xIsPlcStarted) THEN
    
        // нужные операции
        //  ...
        xIsPlcStarted := TRUE;
    
    END_IF

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

    По умолчанию COM#09. Как отключить устройство из опроса при обмене через конфигурацию?

    Вопрос: как отключить устройство из опроса при обмене через конфигурацию?

    Ответ:

    1. В компоненте Device на вкладке Установки ПЛК поставьте галочку Включить диагностику для устройств.

    29-04-2019 13-18-38.png

    2. Для отключения устройства из опроса в программе присвойте переменной <имя_устройства_из_дерева_проекта>.Enable значение FALSE.

    30-04-2019 6-32-04.png

    3. Для возобновления опроса присвойте переменной <имя_устройства_из_дерева_проекта>.Enable значение TRUE.

    4. При использовании шаблонов соответствующий канал доступен на вкладке Соотнесение входов-выходов:

    29-04-2019 13-27-05.png

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

    По умолчанию VISU#10. Что делать, если в визуализации происходит "наложение" текстов?

    Вопрос: что делать, если в визуализации происходит "наложение" текстов?

    ScrAfterChange.png

    Ответ: у элементов, в которых наблюдается наложение, параметру Цвета/Нормальное состояние/Цвет заливки/Прозрачность следует присвоить значение 255 (полностью непрозрачный).

    29-04-2019 13-37-30.png

    При использовании аварийного состояния следует выполнить аналогичную процедуру для параметра Цвета/Аварийное состояние/Цвет заливки/Прозрачность.

Страница 5 из 12 ПерваяПервая ... 34567 ... ПоследняяПоследняя

Похожие темы

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

Ваши права

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