Hi
Im have been working on a programm in VBA in Excel to control the K8056 Relay Board and have been having trouble with the timings.
When i start a programm ex. Word a lot of the signals to the board arent recieved and nothing happens. If i try to add a delay (no matter how small) it somehow doubles the time (i checked this with an oscilloscope) and the relays don’t react. So i wanted to know if the IC has a timer of some sort that checks the time between commands and if yes what is that time?
Another thing that i have thought of is the pc speed.
I am currently using an old Pentium class PC.
My thought was that the pc cant process the commands fast enough when it has other things to do, becuase i had to use this programm on a 3 year old laptop
and it was causing even more problems.
Definately PC related problem, however, we have never encountered it before.
For some unknown reasons, the PC interrupts the data stream to the K8056.
If the K8056 sees interruptions, it will reject the incoming data.
Im not sure about interuptions.
As i tested this with a ComProbe and all the signalas were recieved i think it has something to do with the time because (as i said) i tested it with an oscilloscope and whenever the time increased by more than about 3 ms the board ignored the signals.
So is there a known time in the programming of the IC for incoming signals?
Sorry, the forum does not allow picture uploads.
Please use a free online picture base.
Regarding the data signal:
If the timing changes, the UART of the K8056 will of course reject the signal.
However, it is quite tolerant to deviations, so the difference must be huge in your case.
Baud rate is 2400, so bit time is 416µs. You can check if this is the case with your oscilloscope.
[quote=“VEL417”]Sorry, the forum does not allow picture uploads.
Please use a free online picture base.[/quote]
Ok I will upload them to a picture base either this evening or tomorrow morning.
And yes the difference is rather large according to my Oscilloscope.
By this you mean the time it takes to send a Bit or the time between bits? Sorry i am in my first year at collage we haven’t stared coding hardware i just learned it at my work placement in the past 3 weeks.
Ok thank you for clearing that up i think i understand now,
but i dont think i formulated my question well enough. My question was if the CPU of the Relay board has a timer or something that checks the time between instructions, and if that time has run out, sees the instructions after as a totaly new instruction sequence. And if this is the case, how long that time is.
Please read and understand the RS232 specs as in above mentioned link:
Example: each status that is maintained for 416µs (high or low) corresponds with a bit (1 or 0).
If the status does not change for a while, either high or low, the unit will see ‘1111111’ or ‘000000’, so there is no ‘real’ time-out, but the received data will not be correct.
Thank you for your help on this i think i have found a solution using a different command in the DLL i have tested it and everything seems to work fine now.