Страница 141 из 154 ПерваяПервая ... 4191131139140141142143151 ... ПоследняяПоследняя
Показано с 1,401 по 1,410 из 1537

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

  1. #1401

    По умолчанию

    Это скрин MASTERSCADA 4D
    Вложение 79965
    Последний раз редактировалось Артем87; 10.11.2024 в 15:40.

  2. #1402

    По умолчанию

    ну там идут регистры временного хранения и входные регистры. Что где куда?. И адреса на стороне CODESYS мне не надо назначать, ток в MASTERSCADA 4D буду назначать типа 000001 или 00017 в зависимости от типа регистра

  3. #1403

    По умолчанию

    Цитата Сообщение от Артем87 Посмотреть сообщение
    ну там идут регистры временного хранения и входные регистры. Что где куда?. И адреса на стороне CODESYS мне не надо назначать, ток в MASTERSCADA 4D буду назначать типа 000001 или 00017 в зависимости от типа регистра
    Вот их и используйте, назначая их битам нужные значения. А про область входов-выходов забудьте, чтоб их не было в объявлении. Считайте что эти области будут наложены на холдинг и входные регистры. К ним также функциями 0х и 1х можно обращаться будет.

  4. #1404

    По умолчанию

    Проверил ещё раз, запись мастером 0 бит 0 регистра, попадает в 0 бит 0 регистра слейва (рег. временного хранения) 1 Запись мастером Маски 0 регистра.png
    Чтение в мастере надо делать функцией 0х04. Это если с одного виртуального ПЛК на другой передавать массивом.

    А вот с ОРС сервера (чтение запись бит) 8 бит попадает в 0, а 0 бит в 8 бит 1 Запись с ОРС сервера.png
    Чтение бит функция 0х02 и запись бит функция 0х0f.
    Последний раз редактировалось kondor3000; 10.11.2024 в 19:36.

  5. #1405

    По умолчанию

    Спасибо, пока разбираюсь. У меня вертуальный ПЛК выступает в роли slave, а MASTERSCADA 4D как MASTER. Ток при настройках ничего такого я не видел. Просто Modbus TCP Device на стороне MASTERSCADA 4D и все. Как я понял к этим регистрам протокола Modbuss TCP надо правельно уметь обращаться. Пока читаю докумнтацию между строк 5.jpg
    Последний раз редактировалось Артем87; 10.11.2024 в 20:41.

  6. #1406

    По умолчанию

    И с этими регистрами большая вложеность при открытии клике мыши. Надо привыкать к этой среде

  7. #1407

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    1. Нужно указать все аргументы метода (в частности, номер COM-порта).
    2. В современных версиях CODESYS есть баг: этот метод не срабатывает (возвращает ERR_PARAMETER), если задаваемая четность = NONE.
    Для ПЛК-200 в итоге заработало даже с четностью NONE
    И даже когда я по ошибке указал параметр usiMedium:=0, то есть rs232 вместо реального rs485, то все равно работает.
    Я так понял, что в данном конкретном случае этот параметр не влияет на работу метода.

    Код:
    	
    Modbus_Master_COM_Port.xStop := TRUE;
    Modbus_Master_COM_Port.UpdateComParameters(9600, 0, 0, 8, 1, FALSE, 4)
    Modbus_Master_COM_Port.xStop := FALSE;

    НО, уже второй день пытаюсь тоже самое сделать для ПЛК-210, но никак не выходит (
    Уже все комбинации параметров перебрал. Хотя казалось бы, отличие от вызова только в номере ком порта должно быть

    https://disk.yandex.ru/i/CwQtK3UukD906g - вот запись с экрана (первая строчка - подача питания на HMI)

    В связи с этим несколько вопросов.

    1) Как вообще можно что-то вернуть из этого метода, в частности ERR_PARAMETER?
    В описании ничего не вижу
    https://content.helpme-codesys.com/e...arameters.html

    2) Есть ли возможность у кого-нибудь протестировать этот метод именно на ПЛК-210? (чтобы сравнить с моим результатом)
    Ибо эта функция очень нужна
    Или может быть кто-то увидит на демонстрации, что я где-то косячу.

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

    По умолчанию

    Добрый день.
    Проверил с ПЛК210-01 - функционал работает корректно. Использовал такой код:

    Код:
    IF xChangeBaudrate THEN
    	
    	Modbus_Master_COM_Port.xStop := TRUE;
    	Modbus_Master_COM_Port.Enable := FALSE;
    	
    	Modbus_Master_COM_Port.UpdateComParameters
    	(
    		COMPORT 		:= 5,
    		udiBaudrate 	:= udiBaudrate,
    		usiDataBits		:= 8,
    		usiStopBits 	:= 1,
    		usiParity		:= 0,
    		usiMedium   	:= 1,
    		xPolarization	:= FALSE
    	);
    
    	Modbus_Master_COM_Port.Enable := TRUE;
    	Modbus_Master_COM_Port.xStop := FALSE;
    
    	xChangeBaudrate := FALSE;
    
    END_IF
    Для ПЛК-200 в итоге заработало даже с четностью NONE
    1) Как вообще можно что-то вернуть из этого метода, в частности ERR_PARAMETER?
    Про NONE - я ошибся, баг с NONE проявляется только когда сам ПЛК работает в режиме Slave.
    Это касается и метода - для мастера метод ничего не возвращает.

    На вашем скриншоте Parity устанавливается в ODD - так и задумано?

  9. #1409

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    На вашем скриншоте Parity устанавливается в ODD - так и задумано?
    Ну я разные варианты перебирал, для NONE PARITY тоже самое, не вижу чтобы был эффект

    Скопировал прямо ваш код целиком + `udiBaudrate: UDINT := 9600;`
    Пока так же не работает, не знаю что еще попробовать

  10. #1410

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Про NONE - я ошибся, баг с NONE проявляется только когда сам ПЛК работает в режиме Slave.
    Это касается и метода - для мастера метод ничего не возвращает.
    Это тоже интересно, пытаюсь также наладить работу для ПЛК как слэйва
    UpdateComPortSettings и UpdateUnitID.
    Вроде как не срабатывают, запросы от мастера продолжают успешно приниматься
    Оба метода при этом возвращают 1. Это показатель успешного выполнения или что единичка означает в данном случае?

Страница 141 из 154 ПерваяПервая ... 4191131139140141142143151 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

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