For anyone trying to to connect an Automation Direct Click Plus PLC to Google Cloud IoT Core: The Click Plus does not support encrypted MQTT packets which is required to use the service. Seems like TLS is the defacto encryption for MQTT. AD’s Do-More BRX line supports encryption, although it takes significant processor time to perform. I haven’t tested it on IoT Core, but the Stride MQTT gateway can send encrypted MQTT packets from Modbus RTU or TCP.