В общем, получилось узнать свой IP!
Код:
PROGRAM PLC_PRG
VAR
xOneTime : BOOL := TRUE;
sInput, sOutput : STRING;
refInput, refOutput : REFERENCE TO STRING;
result : POINTER TO SysProcess.SysTypes.RTS_IEC_RESULT;
sMyIP: STRING;
END_VAR
IF xOneTime THEN
sInput:= 'ip -f inet addr show eth0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"';
refInput REF= sInput;
refOutput REF= sOutput;
SysProcessExecuteCommand2(pszCommand:=refInput, pszStdOut:=refOutput, udiStdOutLen:=SIZEOF(sOutput), pResult:=ADR(result));
// IP приходит с завершающим символом, который нужно убрать.
sMyIP := LEFT(sOutput, LEN(sOutput)-1);
xTest:= FALSE;
END_IF
myIP.png
Нужно бы еще конечно добавить проверку IP от беспроводной сети. Ведь Raspberry может быть подключена и по WiFi. Тогда команда в Linux будет:
'ip -f inet addr show
wlan0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"'