Difference between revisions of "Blocks IPWatchdog"
| (14 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 16: | Line 17: | ||
|string | |string | ||
| | | | ||
| − | | | + | |IP address |
|- | |- | ||
|in | |in | ||
| Line 30: | 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 45: | Line 45: | ||
|string | |string | ||
| | | | ||
| − | | | + | |IP address |
|- | |- | ||
|in | |in | ||
| Line 61: | Line 61: | ||
| − | '''Block | + | '''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 72: | 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 == | ||
| − | IPWDG_ICMP | + | 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]] | [[File:IPWDG_ICMP_Example.png]] | ||
| − | IPWDG_ARP | + | '''IPWDG_ARP''' |
| + | |||
[[File:IPWDG_ARP_Example.png]] | [[File:IPWDG_ARP_Example.png]] | ||
| + | |||
| + | [[Libraries for IEC 61131-3|Back to Libraries]] | ||
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


