Подскажите, для управления ПЧ AFD-E есть шаблон в котором управление происходит по отправке командного слова и подтверждающий Бит записи
01.png
хочу повторить код запроса без шаблона, часть кода есть - это отправка самого командного слова
Код:
VAR
...
fbKnopTrig: R_TRIG;
END_VAR
// Проверка привода на готовность
fbComControl1
(
xEnable := TRUE,
udiComPort := 5,
udiBaudrate := 9600,
udiByteSize := 8,
eParity := OCL.COM_PARITY.NONE,
eStopBit := OCL.COM_STOPBIT.ONE
);
IF fbComControl1.xActive THEN
fbKnopTrig(CLK := xKnop);
IF fbKnopTrig.Q THEN
eState := 20;
END_IF
CASE eState OF
0: // ожидание команды
10: // Опрос состояния AFD-E
20: // запуск AFD-E
wCmdWord := 22;
fbMbSerialRequest.xExecute := TRUE;
fbMbSerialRequest.hCom := fbComControl1.hCom;
fbMbSerialRequest.xIsAsciiMode := FALSE;
fbMbSerialRequest.usiSlaveId := 15; // адрес слейва
fbMbSerialRequest.eFuncCode := OCL.MB_FC.WRITE_SINGLE_REGISTER; // функция
fbMbSerialRequest.uiDataAddr := 4864; // адрес начального запроса
fbMbSerialRequest.uiDataCount := 1; // число регистров
fbMbSerialRequest.pData := ADR(wCmdWord);
fbMbSerialRequest.szSize := SIZEOF(wCmdWord);
fbMbSerialRequest();
// fbMbSerialRequest.xError := xError;
// fbMbSerialRequest.eError := wError;
IF fbMbSerialRequest.xDone OR fbMbSerialRequest.xError THEN
fbMbSerialRequest(xExecute := FALSE);
eState := 0;
END_IF
END_CASE
END_IF
а вот куда записывать бит не понятно
В тех поддержу обращался, но там не поняли что надо и сбросили файл в котором они тестировали подключение.
02.png03.png04.png