Code: Select all
drive AT %I* : ST_PlcDriveRef;
plcRef:ST_DriveRef;
plcRef.nDriveNo:=drive.nDriveNo;
plcRef.nDriveType:=drive.nDriveType;
plcRef.nSlaveAddr:=drive.nSlaveAddr;
plcRef.sNetId:=F_CreateAmsNetId(drive.aNetId);
IF start THEN
write(sNetId:=plcRef.sNetId,nSlaveAddr:=plcRef.nSlaveAddr,nIdn := nIdn,nElement:=nElement,nDriveNo:=plcRef.nDriveNo,bCommand:=command,pSrcBuf:= ADR(val),cbBufLen:=SIZEOF(val),bExecute:=TRUE,bBusy=>busy);
bError:=write.bError;
nErrId:=write.nErrId;
ELSE
write(sNetId:=plcRef.sNetId,nSlaveAddr:=plcRef.nSlaveAddr,nIdn := nIdn,nElement:=nElement,nDriveNo:=plcRef.nDriveNo,bCommand:=command,pSrcBuf:= ADR(val),cbBufLen:=SIZEOF(val),bExecute:=FALSE,bBusy=>busy);
END_IF