Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
Подход не правильный. Правильно так:
1. Сформировали буфер на шаге Х. Перешли на шаг Х+1.
2. На шаге Х+1 вызвали нужный ФБ из библиотеки Modbus.lib.
Код:
28:  Buffer[0]:=0;
      Buffer[1]:=DOByteAdr67;
      master1:=29; 
29:IF OldDOByteAdr67=DOByteAdr67 THEN master1:=30;
                       ELSE
                               ModbusAdrDO67(
	                                                Enable:= enabl,
	                                                Mode:= MB_RTU,
	                                                DevAddr:= 67,
	                                                FirstAddr:= 50,
	                                                Quantity:= 1,
	                                                ComHandle:= Settings.Port,
	                                                TimeOut:= TimeOut,
	                                                Buffer:= Buffer,
	                                                Complete=> cmpl,
	                                                Exception=> ErrorDO67,
	                                                RegCnt=> DataSize);
                           
                           IF cmpl
                              THEN
                                        OldDOByteAdr67:=DOByteAdr67;
                                        master1:=30; 
                           END_IF
                           END_IF
30: ......
правильно???