Q1: Is the hardware of the Velbus devices compatible with CAN devices?
No. We use the CAN protocol, but we have lowered the speed and we use custom package coding.
Can somebody explain these modifications ? Can this be made public ?
I understand that velleman would like this velbus system to be used by lots of users. I would like to develop my own modules. (PIC basic) with CAN bus. But I need to know how to make the CAN bus compatible with the velbus CANbus system.
The velbus system used the CAN protocol.
The transfer rate is choosen at 16.666 kbit/s to handle long cable distances.
It uses the standard 11bits identifier field not the extended identifier.
The only difference with the standard CAN specifications is the error counter incremental/decremental factor (the velbus error counters inc/dec with one)
Velbus addresses range is enough (8 bits in place of 11 bits for CAN)
Possibility (plan) about a ETHERNET / VELBUS “converter” (IP address <–> Velbus address) with trame conversion of course
Another question is about controlling message on the bus with PC : I use a language called “Purebasic” (a kind of basic very easy to understand and little more light rather VisualBasic). Someone explains me I had to “wrap” functions with the Velbus DLL : is there some descriptions about fonction’s call and arguments ?
Our own company is completely equipped with Velbus (offices, showrooms, warehouse, …), we have very large cable distances and a lot of modules (100+), but we haven’t yet exhausted the address range and we’ve never had any problems/delays/limitations so i think it’s safe to say you won’t either
There are USB to ethernet devices on the market that work, but I’d have to check what the possibilities are…
The Velbus DLL you are talking about is probably the DLL included in the Velbus Library for .NET. This DLL is an assembly file and not a native Windows DLL and therefor can only be used from within .NET. What you can easily do is write your own library in purebasic that sends Velbus packets over the serial port. I’m sure PureBasic can do that