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

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