Added restart of Collectd

Added Service Mail in case of Collectd error
This commit is contained in:
Michael Rest
2012-11-21 09:03:24 +01:00
parent 21aaccf18f
commit 987db389a4
12 changed files with 1042 additions and 558 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,6 @@ TYPE
enSTEP_WAIT,
enSTEP_CLOSE,
enSTEP_ERROR,
enSTEP_ERROR_STOP,
enSTEP_CLOSED
);
END_TYPE

View File

@@ -13,9 +13,15 @@ VAR
FUB_UdpConnect : UdpConnect;
FUB_UdpClose : UdpClose;
FUB_UdpSend : UdpSend;
FUB_SmtpSend : SmtpSend;
TON_Delay : TON;
TON_Restart : TON;
bSend : BOOL; (*SEND Data via UDP*)
bMailSend : BOOL;
luiStatus : UINT;
uiMailError : UINT; (*Mail Error*)
ludStartAdr : UDINT;
udSendAdr : UDINT; (*Defaults to Sendbuffer*)
lrValue : REAL := 1234.0;
ldValue : DWORD;
ldValue1 : DWORD;
@@ -23,6 +29,12 @@ VAR
ludNextAdr : UDINT;
ludUnixTimeUTC : UDINT;
lStrDebug : STRING[80];
sMailHost : STRING[25]; (*Mail Host*)
sMailUser : STRING[25]; (*Mail User*)
sMailPassword : STRING[25]; (*Mail Password*)
sMailSender : STRING[25]; (*Mail Sender*)
sMailReceiver : STRING[25]; (*Mail Recevier*)
sMailSubject : STRING[25]; (*Maul Subject*)
lBSendBuf : ARRAY[0..1023] OF BYTE;
enStep : Steps_enum := (0); (*Steps of Connection Handling*)
END_VAR

View File

@@ -0,0 +1,38 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: AsSMTP
* File: AsSMTP.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library AsSMTP
********************************************************************)
FUNCTION_BLOCK SmtpSend (*sends email; asynchronous execution*)
VAR_INPUT
enable : BOOL; (*enables execution*)
pHost : UDINT; (*pointer to the ip address of mail server*)
pUser : UDINT; (*pointer to the user name for authentication*)
pPassword : UDINT; (*pointer to the password for authentication*)
pSender : UDINT; (*pointer to the name of sender*)
pReceiver : UDINT; (*pointer to the ip addresses of receiver*)
pSubject : UDINT; (*pointer to the subject string*)
pText : UDINT; (*pointer to the text string*)
pDomain : UDINT; (*pointer to the sender domain*)
pAttachment : UDINT; (*pointer to the attachment structure field*)
pSecurity : UDINT; (*reserved for future use*)
timeout : UDINT; (*response timeout for connection establishment with smtp server*)
port : UINT; (*port of mail server*)
attcnt : USINT; (*number of attachments*)
END_VAR
VAR_OUTPUT
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,18 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: AsSMTP
* File: AsSMTP.typ
* Author: B+R
********************************************************************
* Data types of library AsSMTP
********************************************************************)
TYPE
smtpATTACHMENT_typ : STRUCT (*attachments*)
type : UDINT; (*type of attachment (file, module or memory area)*)
pData : UDINT; (*pointer to the data (depends on attachment type: filename, modulename or memory address)*)
length : UDINT; (*length of memory (only for memory attachments)*)
pName : UDINT; (*name of attachment (optional, default: filename, modulename or mematt_<# of attachment>)*)
END_STRUCT;
END_TYPE

View File

@@ -0,0 +1,27 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: AsSMTP
* File: AsSMTP.var
* Author: B+R
********************************************************************
* Local variables of library AsSMTP
********************************************************************)
VAR CONSTANT
smtpERR_PARAMETER : UINT := 32700; (*invalid parameter, check parameter*)
smtpERR_SOCKET_CREATE : UINT := 32701; (*create socket failed*)
smtpERR_SOCKET_CONNECT : UINT := 32702; (*connect socket failed*)
smtpERR_RESPONSE_TIMEOUT : UINT := 32703; (*server response timeout*)
smtpERR_RESPONSE_UNEXPECTED : UINT := 32704; (*unexpected response*)
smtpERR_AUTHENTICATION_METHOD : UINT := 32705; (*no supported authentication method*)
smtpERR_AUTHENTICATION_FAILED : UINT := 32706; (*authentication failed*)
smtpERR_ATTACHMENT_INVALID : UINT := 32707; (*invalid attachment*)
smtpERR_SYSTEM : UINT := 32749; (*system error*)
smtpATT_TYPE_FILE : USINT := 1; (*attachment type file*)
smtpATT_TYPE_DATMOD : USINT := 2; (*attachment type datamodule*)
smtpATT_TYPE_MEMORY : USINT := 3; (*attachment type memory area*)
END_VAR

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.23 SP05?>
<Library Description="This library contains FBKs for sending email over an SMTP (Simple Mail Transfer Protocol) server." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>AsSMTP.var</File>
<File>AsSMTP.typ</File>
<File>AsSMTP.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="runtime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,96 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASSMTP_
#define _ASSMTP_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define smtpATT_TYPE_MEMORY 3U
#define smtpATT_TYPE_DATMOD 2U
#define smtpATT_TYPE_FILE 1U
#define smtpERR_SYSTEM 32749U
#define smtpERR_ATTACHMENT_INVALID 32707U
#define smtpERR_AUTHENTICATION_FAILED 32706U
#define smtpERR_AUTHENTICATION_METHOD 32705U
#define smtpERR_RESPONSE_UNEXPECTED 32704U
#define smtpERR_RESPONSE_TIMEOUT 32703U
#define smtpERR_SOCKET_CONNECT 32702U
#define smtpERR_SOCKET_CREATE 32701U
#define smtpERR_PARAMETER 32700U
#else
_IEC_CONST unsigned char smtpATT_TYPE_MEMORY = 3U;
_IEC_CONST unsigned char smtpATT_TYPE_DATMOD = 2U;
_IEC_CONST unsigned char smtpATT_TYPE_FILE = 1U;
_IEC_CONST unsigned short smtpERR_SYSTEM = 32749U;
_IEC_CONST unsigned short smtpERR_ATTACHMENT_INVALID = 32707U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_FAILED = 32706U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_METHOD = 32705U;
_IEC_CONST unsigned short smtpERR_RESPONSE_UNEXPECTED = 32704U;
_IEC_CONST unsigned short smtpERR_RESPONSE_TIMEOUT = 32703U;
_IEC_CONST unsigned short smtpERR_SOCKET_CONNECT = 32702U;
_IEC_CONST unsigned short smtpERR_SOCKET_CREATE = 32701U;
_IEC_CONST unsigned short smtpERR_PARAMETER = 32700U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct smtpATTACHMENT_typ
{ unsigned long type;
unsigned long pData;
unsigned long length;
unsigned long pName;
} smtpATTACHMENT_typ;
typedef struct SmtpSend
{
/* VAR_INPUT (analog) */
unsigned long pHost;
unsigned long pUser;
unsigned long pPassword;
unsigned long pSender;
unsigned long pReceiver;
unsigned long pSubject;
unsigned long pText;
unsigned long pDomain;
unsigned long pAttachment;
unsigned long pSecurity;
unsigned long timeout;
unsigned short port;
unsigned char attcnt;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} SmtpSend_typ;
/* Prototyping of functions and function blocks */
void SmtpSend(struct SmtpSend* inst);
#ifdef __cplusplus
};
#endif
#endif /* _ASSMTP_ */

View File

@@ -0,0 +1,96 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASSMTP_
#define _ASSMTP_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define smtpATT_TYPE_MEMORY 3U
#define smtpATT_TYPE_DATMOD 2U
#define smtpATT_TYPE_FILE 1U
#define smtpERR_SYSTEM 32749U
#define smtpERR_ATTACHMENT_INVALID 32707U
#define smtpERR_AUTHENTICATION_FAILED 32706U
#define smtpERR_AUTHENTICATION_METHOD 32705U
#define smtpERR_RESPONSE_UNEXPECTED 32704U
#define smtpERR_RESPONSE_TIMEOUT 32703U
#define smtpERR_SOCKET_CONNECT 32702U
#define smtpERR_SOCKET_CREATE 32701U
#define smtpERR_PARAMETER 32700U
#else
_IEC_CONST unsigned char smtpATT_TYPE_MEMORY = 3U;
_IEC_CONST unsigned char smtpATT_TYPE_DATMOD = 2U;
_IEC_CONST unsigned char smtpATT_TYPE_FILE = 1U;
_IEC_CONST unsigned short smtpERR_SYSTEM = 32749U;
_IEC_CONST unsigned short smtpERR_ATTACHMENT_INVALID = 32707U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_FAILED = 32706U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_METHOD = 32705U;
_IEC_CONST unsigned short smtpERR_RESPONSE_UNEXPECTED = 32704U;
_IEC_CONST unsigned short smtpERR_RESPONSE_TIMEOUT = 32703U;
_IEC_CONST unsigned short smtpERR_SOCKET_CONNECT = 32702U;
_IEC_CONST unsigned short smtpERR_SOCKET_CREATE = 32701U;
_IEC_CONST unsigned short smtpERR_PARAMETER = 32700U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct smtpATTACHMENT_typ
{ unsigned long type;
unsigned long pData;
unsigned long length;
unsigned long pName;
} smtpATTACHMENT_typ;
typedef struct SmtpSend
{
/* VAR_INPUT (analog) */
unsigned long pHost;
unsigned long pUser;
unsigned long pPassword;
unsigned long pSender;
unsigned long pReceiver;
unsigned long pSubject;
unsigned long pText;
unsigned long pDomain;
unsigned long pAttachment;
unsigned long pSecurity;
unsigned long timeout;
unsigned short port;
unsigned char attcnt;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} SmtpSend_typ;
/* Prototyping of functions and function blocks */
void SmtpSend(struct SmtpSend* inst);
#ifdef __cplusplus
};
#endif
#endif /* _ASSMTP_ */

View File

@@ -0,0 +1,96 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASSMTP_
#define _ASSMTP_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define smtpATT_TYPE_MEMORY 3U
#define smtpATT_TYPE_DATMOD 2U
#define smtpATT_TYPE_FILE 1U
#define smtpERR_SYSTEM 32749U
#define smtpERR_ATTACHMENT_INVALID 32707U
#define smtpERR_AUTHENTICATION_FAILED 32706U
#define smtpERR_AUTHENTICATION_METHOD 32705U
#define smtpERR_RESPONSE_UNEXPECTED 32704U
#define smtpERR_RESPONSE_TIMEOUT 32703U
#define smtpERR_SOCKET_CONNECT 32702U
#define smtpERR_SOCKET_CREATE 32701U
#define smtpERR_PARAMETER 32700U
#else
_IEC_CONST unsigned char smtpATT_TYPE_MEMORY = 3U;
_IEC_CONST unsigned char smtpATT_TYPE_DATMOD = 2U;
_IEC_CONST unsigned char smtpATT_TYPE_FILE = 1U;
_IEC_CONST unsigned short smtpERR_SYSTEM = 32749U;
_IEC_CONST unsigned short smtpERR_ATTACHMENT_INVALID = 32707U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_FAILED = 32706U;
_IEC_CONST unsigned short smtpERR_AUTHENTICATION_METHOD = 32705U;
_IEC_CONST unsigned short smtpERR_RESPONSE_UNEXPECTED = 32704U;
_IEC_CONST unsigned short smtpERR_RESPONSE_TIMEOUT = 32703U;
_IEC_CONST unsigned short smtpERR_SOCKET_CONNECT = 32702U;
_IEC_CONST unsigned short smtpERR_SOCKET_CREATE = 32701U;
_IEC_CONST unsigned short smtpERR_PARAMETER = 32700U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct smtpATTACHMENT_typ
{ unsigned long type;
unsigned long pData;
unsigned long length;
unsigned long pName;
} smtpATTACHMENT_typ;
typedef struct SmtpSend
{
/* VAR_INPUT (analog) */
unsigned long pHost;
unsigned long pUser;
unsigned long pPassword;
unsigned long pSender;
unsigned long pReceiver;
unsigned long pSubject;
unsigned long pText;
unsigned long pDomain;
unsigned long pAttachment;
unsigned long pSecurity;
unsigned long timeout;
unsigned short port;
unsigned char attcnt;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} SmtpSend_typ;
/* Prototyping of functions and function blocks */
void SmtpSend(struct SmtpSend* inst);
#ifdef __cplusplus
};
#endif
#endif /* _ASSMTP_ */

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.21 SP03?>
<?AutomationStudio Version=3.0.90.23 SP05?>
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="Library" Language="Binary" Description="This library contains function interfaces for IEC1131-3 operator functions. For the most part, these are mathematical and logical functions.">Operator</Object>
@@ -11,5 +11,6 @@
<Object Type="Library" Language="Binary" Description="The AsString Library contains FBKs for memory and character string handling.">asstring</Object>
<Object Type="Library" Language="Binary" Description="This library contains FBKs for exchanging data packets via datagram sockets (UDP).">AsUDP</Object>
<Object Type="Library" Language="Binary" Description="This library contains standard function blocks and funtions for IEC 1131-3.">standard</Object>
<Object Type="Library" Language="Binary" Description="This library contains FBKs for sending email over an SMTP (Simple Mail Transfer Protocol) server.">AsSMTP</Object>
</Objects>
</Package>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.22 SP04?>
<?AutomationStudio Version=3.0.90.23 SP05?>
<SwConfiguration CpuAddress="SL1" xmlns="http://br-automation.co.at/AS/SwConfiguration">
<TaskClass Name="Cyclic#1">
<Task Name="get_dt" Source="Common.get_dt.prg" Memory="UserROM" Language="IEC" Debugging="true" />
@@ -33,5 +33,6 @@
<LibraryObject Name="astime" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="asstring" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="asima" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="AsSMTP" Source="Libraries.AsSMTP.lby" Memory="UserROM" Language="Binary" Debugging="true" />
</Libraries>
</SwConfiguration>