Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
KC868-AIO question
#1
Hello to all,
I have one question regarding this device or any other with RS485 interface.
Can I control some device with rs485 or to receive some commands or information from another device? I want to be able to control heat pump (it has rs485) and my power generator (modbus). Also, my ATS (automatic transfer switch) has modbus option. I want to be able to do some controlling from KC868 devices to mentioned devices, receive some status etc...
Like for power generator - load, temperature, fuel etc...For heat pump, there are many things to receive or to control it. Remotely I can start heat pump with RS485. Is he able to send commands to any of mentioned devices with commands and also to receive feedback from devices to know the status of it?
With heat pump, remote controllers (in the room) are sending info about temps in the rooms to main outdoor device. Main device can provide those temps to KC868 via RS485 but the question is - how to program it to be able to read those messages and display temperatures inside the rooms. Is this possible at all?

Also, what is the proper way for expanding number of i/o for this device? How it can be achieved? thanks
Reply
#2
sure , if you can write arduino source code and know the rs485 device protocol, you can do anything.
for expanding the IO, you can add KinCony DI8 or DO8 i2c extend module, so that can add digital input ports and relay.
Reply
#3
And what about analog input expand? Is there something for that?
Reply
#4
maybe in future we will design i2c analog input module.
Reply
#5
#include "Arduino.h"
#include "PCF8575.h"
#include "Wire.h"

// Set i2c address
PCF8575 pcf8575_R1(0x24);
PCF8575 pcf8575_R2(0x25);
PCF8575 pcf8575_R3(0x21);
PCF8575 pcf8575_R4(0x22);
PCF8575 pcf8575_R5(0x26);
PCF8575 pcf8575_R6(0x27);
PCF8575 pcf8575_R7(0x20);
PCF8575 pcf8575_R8(0x23);

unsigned long timeElapsed;
void setup()
{
Serial.begin(115200);
pcf8575_R1.begin();
pcf8575_R2.begin();
pcf8575_R3.begin();
pcf8575_R4.begin();
pcf8575_R5.begin();
pcf8575_R6.begin();
pcf8575_R7.begin();
pcf8575_R8.begin();

pcf8575_R1.write(0,OUTPUT);
pcf8575_R1.write(1,OUTPUT);
pcf8575_R1.write(2,OUTPUT);
pcf8575_R1.write(3,OUTPUT);
pcf8575_R1.write(4,OUTPUT);
pcf8575_R1.write(5,OUTPUT);
pcf8575_R1.write(6,OUTPUT);
pcf8575_R1.write(7,OUTPUT);
pcf8575_R1.write(8,OUTPUT);
pcf8575_R1.write(9,OUTPUT);
pcf8575_R1.write(10,OUTPUT);
pcf8575_R1.write(11,OUTPUT);
pcf8575_R1.write(12,OUTPUT);
pcf8575_R1.write(13,OUTPUT);
pcf8575_R1.write(14,OUTPUT);
pcf8575_R1.write(15,OUTPUT);

pcf8575_R2.write(0,OUTPUT);
pcf8575_R2.write(1,OUTPUT);
pcf8575_R2.write(2,OUTPUT);
pcf8575_R2.write(3,OUTPUT);
pcf8575_R2.write(4,OUTPUT);
pcf8575_R2.write(5,OUTPUT);
pcf8575_R2.write(6,OUTPUT);
pcf8575_R2.write(7,OUTPUT);
pcf8575_R2.write(8,OUTPUT);
pcf8575_R2.write(9,OUTPUT);
pcf8575_R2.write(10,OUTPUT);
pcf8575_R2.write(11,OUTPUT);
pcf8575_R2.write(12,OUTPUT);
pcf8575_R2.write(13,OUTPUT);
pcf8575_R2.write(14,OUTPUT);
pcf8575_R2.write(15,OUTPUT);

pcf8575_R3.write(0,OUTPUT);
pcf8575_R3.write(1,OUTPUT);
pcf8575_R3.write(2,OUTPUT);
pcf8575_R3.write(3,OUTPUT);
pcf8575_R3.write(4,OUTPUT);
pcf8575_R3.write(5,OUTPUT);
pcf8575_R3.write(6,OUTPUT);
pcf8575_R3.write(7,OUTPUT);
pcf8575_R3.write(8,OUTPUT);
pcf8575_R3.write(9,OUTPUT);
pcf8575_R3.write(10,OUTPUT);
pcf8575_R3.write(11,OUTPUT);
pcf8575_R3.write(12,OUTPUT);
pcf8575_R3.write(13,OUTPUT);
pcf8575_R3.write(14,OUTPUT);
pcf8575_R3.write(15,OUTPUT);
pcf8575_R4.write(0,OUTPUT);
pcf8575_R4.write(1,OUTPUT);
pcf8575_R4.write(2,OUTPUT);
pcf8575_R4.write(3,OUTPUT);
pcf8575_R4.write(4,OUTPUT);
pcf8575_R4.write(5,OUTPUT);
pcf8575_R4.write(6,OUTPUT);
pcf8575_R4.write(7,OUTPUT);
pcf8575_R4.write(8,OUTPUT);
pcf8575_R4.write(9,OUTPUT);
pcf8575_R4.write(10,OUTPUT);
pcf8575_R4.write(11,OUTPUT);
pcf8575_R4.write(12,OUTPUT);
pcf8575_R4.write(13,OUTPUT);
pcf8575_R4.write(14,OUTPUT);
pcf8575_R4.write(15,OUTPUT);

pcf8575_R5.write(0,OUTPUT);
pcf8575_R5.write(1,OUTPUT);
pcf8575_R5.write(2,OUTPUT);
pcf8575_R5.write(3,OUTPUT);
pcf8575_R5.write(4,OUTPUT);
pcf8575_R5.write(5,OUTPUT);
pcf8575_R5.write(6,OUTPUT);
pcf8575_R5.write(7,OUTPUT);
pcf8575_R5.write(8,OUTPUT);
pcf8575_R5.write(9,OUTPUT);
pcf8575_R5.write(10,OUTPUT);
pcf8575_R5.write(11,OUTPUT);
pcf8575_R5.write(12,OUTPUT);
pcf8575_R5.write(13,OUTPUT);
pcf8575_R5.write(14,OUTPUT);
pcf8575_R5.write(15,OUTPUT);

pcf8575_R6.write(0,OUTPUT);
pcf8575_R6.write(1,OUTPUT);
pcf8575_R6.write(2,OUTPUT);
pcf8575_R6.write(3,OUTPUT);
pcf8575_R6.write(4,OUTPUT);
pcf8575_R6.write(5,OUTPUT);
pcf8575_R6.write(6,OUTPUT);
pcf8575_R6.write(7,OUTPUT);
pcf8575_R6.write(8,OUTPUT);
pcf8575_R6.write(9,OUTPUT);
pcf8575_R6.write(10,OUTPUT);
pcf8575_R6.write(11,OUTPUT);
pcf8575_R6.write(12,OUTPUT);
pcf8575_R6.write(13,OUTPUT);
pcf8575_R6.write(14,OUTPUT);
pcf8575_R6.write(15,OUTPUT);

pcf8575_R7.write(0,OUTPUT);
pcf8575_R7.write(1,OUTPUT);
pcf8575_R7.write(2,OUTPUT);
pcf8575_R7.write(3,OUTPUT);
pcf8575_R7.write(4,OUTPUT);
pcf8575_R7.write(5,OUTPUT);
pcf8575_R7.write(6,OUTPUT);
pcf8575_R7.write(7,OUTPUT);
pcf8575_R7.write(8,OUTPUT);
pcf8575_R7.write(9,OUTPUT);
pcf8575_R7.write(10,OUTPUT);
pcf8575_R7.write(11,OUTPUT);
pcf8575_R7.write(12,OUTPUT);
pcf8575_R7.write(13,OUTPUT);
pcf8575_R7.write(14,OUTPUT);
pcf8575_R7.write(15,OUTPUT);

pcf8575_R8.write(0,OUTPUT);
pcf8575_R8.write(1,OUTPUT);
pcf8575_R8.write(2,OUTPUT);
pcf8575_R8.write(3,OUTPUT);
pcf8575_R8.write(4,OUTPUT);
pcf8575_R8.write(5,OUTPUT);
pcf8575_R8.write(6,OUTPUT);
pcf8575_R8.write(7,OUTPUT);
pcf8575_R8.write(8,OUTPUT);
pcf8575_R8.write(9,OUTPUT);
pcf8575_R8.write(10,OUTPUT);
pcf8575_R8.write(11,OUTPUT);
pcf8575_R8.write(12,OUTPUT);
pcf8575_R8.write(13,OUTPUT);
pcf8575_R8.write(14,OUTPUT);
pcf8575_R8.write(15,OUTPUT);




}

void loop()
{
pcf8575_R8.write(0,HIGH);
delay(1000);
pcf8575_R8.write(1,HIGH);
delay(1000);
pcf8575_R8.write(2,HIGH);
delay(1000);
pcf8575_R8.write(3,HIGH);
delay(1000);
pcf8575_R8.write(4,HIGH);
delay(1000);
pcf8575_R8.write(5,HIGH);
delay(1000);
pcf8575_R8.write(6,HIGH);
delay(1000);
pcf8575_R8.write(7,HIGH);
delay(1000);
pcf8575_R8.write(8,HIGH);
delay(1000);
pcf8575_R8.write(9,HIGH);
delay(1000);
pcf8575_R8.write(10,HIGH);
delay(1000);
pcf8575_R8.write(11,HIGH);
delay(1000);
pcf8575_R8.write(12,HIGH);
delay(1000);
pcf8575_R8.write(13,HIGH);
delay(1000);
pcf8575_R8.write(14,HIGH);
delay(1000);
pcf8575_R8.write(15,HIGH);
delay(1000);


pcf8575_R8.write(0,LOW);
delay(1000);
pcf8575_R8.write(1,LOW);
delay(1000);
pcf8575_R8.write(2,LOW);
delay(1000);
pcf8575_R8.write(3,LOW);
delay(1000);
pcf8575_R8.write(4,LOW);
delay(1000);
pcf8575_R8.write(5,LOW);
delay(1000);
pcf8575_R8.write(6,LOW);
delay(1000);
pcf8575_R8.write(7,LOW);
delay(1000);
pcf8575_R8.write(8,LOW);
delay(1000);
pcf8575_R8.write(9,LOW);
delay(1000);
pcf8575_R8.write(10,LOW);
delay(1000);
pcf8575_R8.write(11,LOW);
delay(1000);
pcf8575_R8.write(12,LOW);
delay(1000);
pcf8575_R8.write(13,LOW);
delay(1000);
pcf8575_R8.write(14,LOW);
delay(1000);
pcf8575_R8.write(15,LOW);
delay(1000);


}




I put this code on the KC868-A128 panel, but it didn't give me any reaction
Reply
#6
I put this code on the KC868-A128 panel, but it didn't give me any reaction
Reply
#7
you need post your error screen image.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)