MqttConnectWithCertBuffer (FB)

FUNCTION_BLOCK MqttConnectWithCertBuffer EXTENDS AbbETrig3

Establish a Connection to the MQTT broker using a certificate from a String Buffer

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

Execute

BOOL

FALSE

A rising edge starts a single operation, the output Busy goes to TRUE. In the first cycle all other inputs are read and stored, afterwards they are ignored. A falling edge does not stop the operation. After Done = TRUE or Error = TRUE and Execute = FALSE all outputs will be reset. For executing another operation the Execute input needs to be retriggered by another rising edge!

AbbETrig3

Output

Done

BOOL

FALSE

Operation is completed without error (while outputs Busy and Error are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE

AbbETrig3

Busy

BOOL

FALSE

Operation is running (while outputs Done and Error are FALSE)

AbbETrig3

Error

BOOL

FALSE

Operation is stopped with error (while outputs Busy and Done are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE. The output ErrorID gives more details about the error.

AbbETrig3

Input

Conn

POINTER TO MQTT_CONNECTION

0

Pointer to empty / uninitialized MqttConnection struct. Upon successful completion of this FB, this struct can be used to operate all other MQTT FBs.

IpAddress

STRING(Constants.MQTT_MAX_IP_ADDRESS_LEN)

Defaults.MQTT_DEFAULT_EMPTY

IP address of the MQTT Broker.

Port

WORD

Defaults.MQTT_DEFAULT_PORT

Port number of the MQTT Broker.

Secure

BOOL

Defaults.MQTT_DEFAULT_SECURE

True = Use secure channel for communication (TLS).

ServerCert

POINTER TO STRING(Constants.MQTT_MAX_PEM_CERT_LEN)

0

Pointer to server certificate buffer in PEM format.

ClientCert

POINTER TO STRING(Constants.MQTT_MAX_PEM_CERT_LEN)

0

Pointer to client certificate buffer in PEM format (optional).

ClientKey

POINTER TO STRING(Constants.MQTT_MAX_PEM_KEY_LEN)

0

Pointer to client private key buffer in PEM format (optional).

ClientId

STRING(Constants.MQTT_MAX_CLIENT_ID_LEN)

Defaults.MQTT_DEFAULT_EMPTY

Client Identifier used to identify the client and the related session.

Username

STRING(Constants.MQTT_MAX_USERNAME_LEN)

Defaults.MQTT_DEFAULT_EMPTY

Username of a user used by the MQTT Broker.

Password

STRING(Constants.MQTT_MAX_PASSWORD_LEN)

Defaults.MQTT_DEFAULT_EMPTY

Password for this user.

LastWill

MQTT_MESSAGE

Optional Last Will message.

KeepAlive

WORD

Defaults.MQTT_DEFAULT_KEEPALIVE

Time in seconds, which will be passed to the MQTT Broker and which is normally used by the Broker to disconnect clients if no communication was made for 1,5 * KeepAlive

Timeout

WORD

Defaults.MQTT_DEFAULT_TIMEOUT

Timeout in ms for all network communication of the following Function Blocks: MqttConnectWithCertBuffer,

MqttConnectWithCertFile, MqttDisconnect, MqttPing, MqttPublish, MqttSubscribe, MqttUnsubscribe. If the FB did not receive any communication for that amount of time it will terminate the execution and return MQTT_ERR_COMMUNICATION_TIMEOUT error.

Output

ErrorID

ERROR_ID

ERROR_ID.MQTT_ERR_NO_ERROR

Error code description