K8056 Pic16F630 speed?

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?

Thanks in advance

-BlackForestAdam

Did you try with the supplied test program?
This will allow you to determine if the problem is related to the board or your program.

yes i did try it and i got the same problem but again only if the pc was working on other things.

And i have 3 of these boards built up and it happens to all of them.

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?

-BlackForestAdam

Whilst testing just now i noticed that the signals sometimes also decrease in time.

Can i post Photos on this forum? I could show what the oscilloscope is showing me rather than trying to explain it.

If yes i would post them tomorrow as i forgot my cable for my phone at home

(This project is for a work experience by the way)

-BlackForestAdam

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.

Duration of one bit.
We’d recommend to take a look at this link:
http://en.wikipedia.org/wiki/RS-232

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.

-BlackForestAdam