Difference between revisions of "Blocks IPWatchdog"
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== 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. | ||
+ | |||
+ | [[Libraries for IEC 61131-3|Back to Libraries]] | ||
=== IPWDG_ARP === | === IPWDG_ARP === | ||
− | Returns ARP ping status of | + | Returns ARP ping status of a give IP ip address |
[[File:IPWDG_ARP.png]] | [[File:IPWDG_ARP.png]] | ||
Line 15: | Line 17: | ||
|string | |string | ||
| | | | ||
− | | | + | |IP address |
|- | |- | ||
|in | |in | ||
Line 29: | Line 31: | ||
|status | |status | ||
|} | |} | ||
− | |||
=== IPWDG_ICMP === | === IPWDG_ICMP === | ||
− | Returns ICMP ping status of | + | Returns ICMP ping status of a give ip address |
[[File:IPWDG_ARP.png]] | [[File:IPWDG_ARP.png]] | ||
Line 44: | Line 45: | ||
|string | |string | ||
| | | | ||
− | | | + | |IP address |
|- | |- | ||
|in | |in | ||
Line 62: | Line 63: | ||
'''Block behavior:''' | '''Block behavior:''' | ||
− | The pulse on EXEC triggers the IPWDG block. In the beginning ICMP/ARP request is | + | 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 is | + | 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). | 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). | ||
Line 71: | Line 72: | ||
'''Note:''' | '''Note:''' | ||
− | '''EXEC''' should be set to a value greater than TMO_S to avoid unnecessary | + | '''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 == | == 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''' | ||
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.
IPWDG_ARP
Returns ARP ping status of a give IP ip address
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
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_ARP