Something to remember with the DS3231, you need to write the address of the register you want to read first (no data)
Then, when you read, you will get the data in the register.

I've been happier using the hardware I2C. But try these PBP statments:
:
I2CWRITE sda, scl, %11010000,%0
I2CREAD sda, scl, %11010000, [seconds]