Difference between revisions of "Blocks IPWatchdog"

From IPLOG
Jump to: navigation, search
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
== [[Libraries for IEC 61131-3|Back to Libraries]] ==
 
 
== Description: ==
 
== Description: ==
 
The IPWatchdog blocks are used to verify the availability of a remote IP address based on an ARP or ICMP query.
 
The IPWatchdog blocks are used to verify the availability of a remote IP address based on an ARP or ICMP query.
  
'''Block cycle:'''
+
[[Libraries for IEC 61131-3|Back to Libraries]]
The pulse on EXEC triggers the IPWDG block. In the beginning ICMP/ARP request is send to the IP address. At the same time BUSY output changing the status of the log. 0 to 1, TMO_S running and block is waiting for response.
 
 
 
 
 
1. If a '''response is received''' during TMO_S, TMO_S is reseted. BUSY is set to log. 0, VALID is set to 1 (operation successful, output set) and Q is set to log. 1 (IP is available).
 
 
 
2. If a '''response is not received''', BUSY remains in the log. 1 until TMO_S expires. After TMO_S expires BUSY goes to log.0, VALID goes to log.1 (operation successful, output set). Q remains in log. 0 (IP is not available).
 
 
 
 
 
'''Note:'''
 
'''EXEC''' should be set to a value greater than '''TMO_S''' to avoid unnecessary restart when the block cycle is not completed and waits for '''TMO_S'''.
 
  
  
 
=== IPWDG_ARP ===
 
=== IPWDG_ARP ===
Returns ARP ping status of given ip address
+
Returns ARP ping status of a give IP ip address
  
 
[[File:IPWDG_ARP.png]]
 
[[File:IPWDG_ARP.png]]
Line 28: Line 17:
 
|string
 
|string
 
|
 
|
|ip address
+
|IP address
 
|-
 
|-
 
|in
 
|in
Line 42: Line 31:
 
|status
 
|status
 
|}
 
|}
 
  
  
 
=== IPWDG_ICMP ===
 
=== IPWDG_ICMP ===
Returns ICMP ping status of given ip address
+
Returns ICMP ping status of a give ip address
  
 
[[File:IPWDG_ARP.png]]
 
[[File:IPWDG_ARP.png]]
Line 57: Line 45:
 
|string
 
|string
 
|
 
|
|ip address
+
|IP address
 
|-
 
|-
 
|in
 
|in
Line 73: Line 61:
  
  
 +
'''Block behavior:'''
 +
 +
The pulse on EXEC triggers the IPWDG block. In the beginning a ICMP/ARP request is sent to the IP address. At the same time the BUSY output is changing the status of the log. 0 to 1, TMO_S running and the block is waiting for a response.
 +
 +
 +
1. If a '''response is received''' during TMO_S, TMO_S it is reset. BUSY is set to log. 0, VALID is set to 1 (operation successful, output set) and Q is set to log. 1 (IP is available).
 +
 +
2. If a '''response is not received''', BUSY remains in the log. 1 until TMO_S expires. After TMO_S expires BUSY goes to log.0, VALID goes to log.1 (operation successful, output set). Q remains in log. 0 (IP is not available).
 +
 +
 +
'''Note:'''
 +
'''EXEC''' should be set to a value greater than TMO_S to avoid unnecessary restarting when the block cycle is not completed and is waiting for TMO_S.
 +
 +
 +
 +
== Examples ==
 +
GEN_PULSE generates a pulse every T#2s (2 seconds) to trigger the IPWDG block. During one cycle block it is waiting for an answer from the remote device (IP_ADDR) for TMO_S timer. If the remote device does not respond by this time, the output is set to log. 0. Otherwise, the output is set to log. 1.
 +
 +
 +
'''IPWDG_ICMP'''
 +
 +
[[File:IPWDG_ICMP_Example.png]]
 +
 +
'''IPWDG_ARP'''
 +
 +
[[File:IPWDG_ARP_Example.png]]
  
== Example ==
+
[[Libraries for IEC 61131-3|Back to Libraries]]
[[File:IPWatchdog_2.jpg]]
 

Latest revision as of 05:17, 21 May 2020

Description:

The IPWatchdog blocks are used to verify the availability of a remote IP address based on an ARP or ICMP query.

Back to Libraries


IPWDG_ARP

Returns ARP ping status of a give IP ip address

IPWDG ARP.png

Asynchronous interface
in IP_ADDR string IP address
in TMO_S int timeout in seconds
out Q bool status


IPWDG_ICMP

Returns ICMP ping status of a give ip address

IPWDG ARP.png

Asynchronous interface
in IP_ADDR string IP address
in TMO_S int timeout in seconds
out Q bool status


Block behavior:

The pulse on EXEC triggers the IPWDG block. In the beginning a ICMP/ARP request is sent to the IP address. At the same time the BUSY output is changing the status of the log. 0 to 1, TMO_S running and the block is waiting for a response.


1. If a response is received during TMO_S, TMO_S it is reset. BUSY is set to log. 0, VALID is set to 1 (operation successful, output set) and Q is set to log. 1 (IP is available).

2. If a response is not received, BUSY remains in the log. 1 until TMO_S expires. After TMO_S expires BUSY goes to log.0, VALID goes to log.1 (operation successful, output set). Q remains in log. 0 (IP is not available).


Note: EXEC should be set to a value greater than TMO_S to avoid unnecessary restarting when the block cycle is not completed and is waiting for TMO_S.


Examples

GEN_PULSE generates a pulse every T#2s (2 seconds) to trigger the IPWDG block. During one cycle block it is waiting for an answer from the remote device (IP_ADDR) for TMO_S timer. If the remote device does not respond by this time, the output is set to log. 0. Otherwise, the output is set to log. 1.


IPWDG_ICMP

IPWDG ICMP Example.png

IPWDG_ARP

IPWDG ARP Example.png

Back to Libraries