Показано с 1 по 2 из 2

Тема: Не активен флаг xNewRequest блока MB_SerialSlave при прослушке сети Modbus RTU.

  1. #1

    По умолчанию Не активен флаг xNewRequest блока MB_SerialSlave при прослушке сети Modbus RTU.

    Господа, помогите разобраться в вопросе. Есть два устройства Овен ПЛК100 K.L (Slave) и панель Овен ИП320 (Master), общающиеся по сети Modbus RTU. Естественно никаких исходников программ на них нет.
    Прослушал сниффером сеть, подобрал настройки (скорость, четность, все дела).
    Интересующие меня данные имеют вид:
    Tx: 02 03 00 1E 00 02 A4 3E
    Rx: 02 03 04 F8 2F 00 04 C8 59
    Если подключаюсь взамен панели ИП320 ноутбуком с MasterOPC, то все прекрасно работает, качество связи хорошее, пакеты не теряются, контрольные суммы все корректные.
    Пробую к этой же сети, подключить панель СПК110 и настроить один ее порт для постоянной прослушки общения ПЛК100 и ИП320.

    Пример кода:
    Код:
    PROGRAM PLC_PRG
    VAR
    	fbComControl:		OCL.COM_Control;
    	fbMbSerialSlave:	OCL.MB_SerialSlave;
    	
    	awSlaveData:		ARRAY [0..15] OF WORD;
    	awSpyData:		ARRAY [0..10] OF WORD;
    	awNeedData:		ARRAY [0..10] OF WORD;
    	
    	xNewRequestCounter:	UINT := 0;
    END_VAR
    
    //////////////////////////////////
    
    fbComControl
    (
    	xEnable		:= TRUE,
    	udiComPort	:= 2,
    	udiBaudrate	:= 9600,
    	udiByteSize	:= 8,
    	eParity		:= OCL.COM_PARITY.NONE,
    	eStopBit	:= OCL.COM_STOPBIT.ONE
    );
    
    fbMbSerialSlave
    (
    	xEnable		:= fbComControl.xActive,
    	hCom		:= fbComControl.hCom,
    	usiSlaveId	:= 2,
    	pData		:= ADR(awSlaveData),
    	szSize		:= SIZEOF(awSlaveData),
    	xSpyMode	:= TRUE,
    	pSpyData	:= ADR(awSpyData),
    	szSpyData	:= SIZEOF(awSpyData),
    	
    );
    
    IF fbMbSerialSlave.xNewRequest THEN
    	xNewRequestCounter := xNewRequestCounter + 1;
    	
    	IF	fbMbSerialSlave.stRequestInfo.usiSlaveId = 2 AND
    		fbMbSerialSlave.stRequestInfo.eFuncCode = OCL.MB_FC.READ_HOLDING_REGISTERS AND
    		fbMbSerialSlave.stRequestInfo.uiDataAddr = 16#1E
    		THEN
    		
    		awNeedData := awSpyData;
    		awNeedData[0] := awSpyData[0];
    		awNeedData[1] := awSpyData[1];
    	END_IF
    END_IF

    После запуска приложения флаг xNewRequest не взводится, так и остается равным FALSE. А точнее, в пяти процентах случаев, он пару раз взводится и зависает - счетчик xNewRequestCounter показывает 2.
    Но если я подключаюсь еще и ноутбуком с MasterOPC в ту же сеть (то есть в сети находятся четыре устройства: ПЛК100, ИП320, СПК110 и ноутбук), то есть в сети получается два мастера, то счетчик xNewRequestCounter начинает работать. В сети при этом естественно появляются коллизии, но сам факт интересный.

    Что пробовал делать:
    1) Менял fbMbSerialSlave.usiSlaveIdна 1, 2, 255, произвольное значение.
    2) Менять местами провода A и B.
    3) Изменять размеры буферов awSpyData и awSlaveData.
    4) Выставлять в настройках задачи MainTask, где крутится обработка ком порта, приоритет в 0 и интервал в 5, включать сторожевой таймер.

    Версия таргета СПК110 3.5.14.30.
    Версия библиотеки OwenCommunication 3.5.11.7.
    Последний раз редактировалось SatanaXIII; 15.06.2026 в 10:54.

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

    По умолчанию

    Добрый день.
    Свяжитесь, пожалуйста, со мной в понедельник утром (см. контакты в подписи).
    Подготовьте удаленный доступ.

Похожие темы

  1. ПЧВ1 в сети RS-485 по ModBus
    от izwerg в разделе Эксплуатация
    Ответов: 23
    Последнее сообщение: 23.05.2025, 09:36
  2. Сообщение о нажатии на флаг в журнал
    от Edvard_Aroyan в разделе Master SCADA 4D
    Ответов: 1
    Последнее сообщение: 05.12.2024, 14:13
  3. Проблема вызова функционального блока в теле условия из другого функц. блока
    от qwertyn123456 в разделе Среда программирования OWEN Logic
    Ответов: 26
    Последнее сообщение: 17.11.2023, 00:46
  4. Флаг окончания анр не выставляется
    от 01ZZZ в разделе Среда программирования OWEN Logic
    Ответов: 17
    Последнее сообщение: 26.06.2018, 14:00
  5. Ответов: 2
    Последнее сообщение: 13.11.2014, 09:52

Ваши права

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