ich möchte gerne die aktuelle TCP Geschwindigkeit, sowie einen zusätzlichen globalen Parameter ständig von der SPS.sub an
den PC übertragen. Innerhalb eines lokalen Programm funktioniert es perfekt. Ich brauche aber den TCP Wert ständig. Also nicht nur
bei Abfrage.
Wenn ich die Werte in die SPS.Sub eintrage, funktioniert es aber nicht. Wo liegt der Fehler? Programme anbei.
SPS.sub
Code
&ACCESS RVO
&REL 10
&COMMENT PLC on control
DEF SPS ( )
;FOLD DECLARATIONS
;FOLD BASISTECH DECL
;Automatik extern
DECL STATE_T STAT
DECL MODUS_T MODE
;ENDFOLD (BASISTECH DECL)
;FOLD USER DECL
; Please insert user defined declarations
DECL EKI_STATUS RET
;ENDFOLD (USER DECL)
;ENDFOLD (DECLARATIONS)
;FOLD INI
;FOLD AUTOEXT INIT
INTERRUPT DECL 91 WHEN $PRO_STATE1==#P_FREE DO RESET_OUT ()
INTERRUPT ON 91
$LOOP_MSG[]=" "
MODE=#SYNC
$H_POS=$H_POS
;Automatik extern
IF $MODE_OP==#EX THEN
CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()")
ENDIF
;ENDFOLD (AUTOEXT INIT)
;FOLD BACKUPMANAGER PLC INIT
BM_ENABLED = FALSE
BM_OUTPUTVALUE = 0
;ENDFOLD (BACKUPMANAGER PLC INIT)
;FOLD TQM_INIT
TorqueDefinitions()
;ENDFOLD (TQM_INIT)
;FOLD USER INIT
; Please insert user defined initialization commands
;ENDFOLD (USER INIT)
;ENDFOLD (INI)
LOOP
WAIT FOR NOT($POWER_FAIL)
TORQUE_MONITORING()
;FOLD BACKUPMANAGER PLC
IF BM_ENABLED THEN
BM_OUTPUTSIGNAL = BM_OUTPUTVALUE
ENDIF
;ENDFOLD (BACKUPMANAGER PLC)
;FOLD USER PLC
;Make your modifications here
RET=EKI_Init("XmlDtrSub")
RET=EKI_Open("XmlDtrSub")
RET=EKI_SetReal("XmlDtrSub","Robot/TcpSpeed",Tcpspeed)
RET=EKI_Send("XmlDtrSub","Robot")
RET=EKI_Close("XmlDtrSub")
RET=EKI_Clear("XmlDtrSub")
;ENDFOLD (USER PLC)
ENDLOOP
;FOLD ;%{H}
;FOLD
END
;ENDFOLD
DEF RESET_OUT ( )
INT N
MsgLoop(" ")
IF REFLECT_PROG_NR == 1 THEN
FOR N = 0 TO PGNO_LENGTH - 1
$OUT[PGNO_FBIT_REFL + N] = FALSE
ENDFOR
ENDIF
IF (PGNO_REQ>0) THEN
$OUT[PGNO_REQ]=FALSE
ELSE
IF (PGNO_REQ<0) THEN
$OUT[-PGNO_REQ]=TRUE
ENDIF
ENDIF
END
;FOLD USER SUBROUTINE
; Integrate your user defined subroutines
;ENDFOLD (USER SUBROUTINE)
;ENDFOLD
Alles anzeigen
XmlDtrSub.xml
Code
<ETHERNETKRL>
<CONFIGURATION>
<EXTERNAL>
<TYPE>
Client
</TYPE>
</EXTERNAL>
<INTERNAL>
<ENVIRONMENT>
Submit
<IP>x.x.x.x</IP> //hier steht die korrekte IP
<PORT>59152</PORT>
</ENVIRONMENT>
</INTERNAL>
</CONFIGURATION>
<RECEIVE>
<XML>
</XML>
</RECEIVE>
<SEND>
<XML>
<ELEMENT Tag="Robot/Speed"/>
<ELEMENT Tag="Robot/Tcpspeed"/>
</XML>
</SEND>
</ETHERNETKRL>
Alles anzeigen