Hello All,
This is my first post so apologies if this is the wrong newsgroup.
I'm designing software for a platform that will sit on a CAN bus. There
will be three separate programs running on the platform, A, B and C.
Program A will handle the CAN communications. It will pass messages
received from the CAN network to programs B and C and transmit their
messages out on the CAN network.
What is the best (fastest) method for transferring messages between the CAN
communications process and the other two processes?
Currently I'm leaning towards named pipes but would like to pass the CAN
messages as structures and not simply as "streams" of data.
Got any suggestions?
Thanks
Paul 4 1193
Hi Paul! I'm designing software for a platform that will sit on a CAN bus. There will be three separate programs running on the platform, A, B and C. Program A will handle the CAN communications. It will pass messages received from the CAN network to programs B and C and transmit their messages out on the CAN network.
What is the best (fastest) method for transferring messages between the CAN communications process and the other two processes?
I would suggest to use OPC...
It is a standard-interface (other apps also can connect to your
device)... you can simply use a OPC_Toolkit (for example http://www.softing.com/en/communicat.../cplusplus.htm)
Currently I'm leaning towards named pipes but would like to pass the CAN messages as structures and not simply as "streams" of data.
If you want a really fast solution you should either cinsidering of
writing a device-driver (which can be connected from different apps) or
you can use memory-mapped-files...
In general you can take a look at: http://msdn.microsoft.com/library/en...unications.asp
But as I said: I would use OPC. It is really fast (erarly-bound COM is
fast (IMHO)) and it is a standard interface which can be used by others.
--
Greetings
Jochen
My blog about Win32 and .NET http://blog.kalmbachnet.de/
Paul Baker wrote: What is the best (fastest) method for transferring messages between the CAN communications process and the other two processes?
I don't know CAN, but the fastest IPC is shared memory (memory mapped
files). It's just as fast to read/write data in shared memory as it is
in normal memory allocated with malloc or new. Nothing else can even
come close to that speed (sockets, pipes, COM, etc., are much slower).
This is, of course, when both processes reside on the same computer.
Tom
"Paul Baker" <pb****@liftsto re.com> wrote in message
news:uS******** ******@TK2MSFTN GP10.phx.gbl... Currently I'm leaning towards named pipes but would like to pass the CAN messages as structures and not simply as "streams" of data.
Got any suggestions?
As Jochen and Tamas have pointed out there are faster ways to go. But pipes
have a few appealing characteristics
1) they are easy to implement and use with file semantics
2) they are easily securable
3) they are easily impersonable
4) they can be message rather than stream oriented
And if you move the pipe server, you merely change the name of the pipe to
use in the client.
<rant>
As for COM, I hate it for no better reason than that it exists largely for
the benefit of VB "developers ". <gd&r> Plain vanilla RPC seems to me to be
far more attractive.
</rant>
Regards,
Will
Chaps,
Many thanks for the useful advice you've given me. I've got more choices
than I expected.
Jochen,
I'll try to cross-post in future! By the way I think we'll be using the
Softing FG-100 CAN to Ethernet gateway device.
Thanks
Paul This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Raymond H. |
last post by:
Hello,
I create a vb4 project which can also naviger on Internet via the
WebBrowser control which I put on my form.
My question is: if this program is installed on a station having already
Internet Explorer in it then will it cause an error if version Internet
Explorer is the same one as WebBrowser which is in my project? Is it this
control which Internet Explorer uses?
If that can cause errors of version then, instead, can I install this...
|
by: John Bentley |
last post by:
John Bentley:
INTRO
The phrase "decimal number" within a programming context is ambiguous. It could
refer to the decimal datatype or the related but separate concept of a generic
decimal number. "Decimal Number" sometimes serves to distinguish Base 10
numbers, eg "15", from Base 2 numbers, Eg "1111". At other times "Decimal
Number" serves to differentiate a number from an integer. For the rest of this
post I shall only use either...
|
by: Edward |
last post by:
ASP.NET / VB.NET
SQL Server 7.0
Our client has insisted that we change our established practice of
building SQL in-line and move it all to SPROCs. Not a problem for 80%
of the app. However, we have a number of Search/Filter forms that
contain a number of controls to allow more or less focused search
criteria to be built up.
I have a class that does this quite nicely, examining all controls for
|
by: johkar |
last post by:
I only have IE 6 and dial-up. Can you help me determine which browsers
support this code?
Thanks, John
<html>
<head>
<title>Fixed Table Headers</title>
<script language="JavaScript" type="text/javascript">
function fix(){
|
by: Jane Withnolastname |
last post by:
I have a web page that uses an unordered list (<UL>) and the LH (list
header) tag. I know LH is a valid tag because it is clearly defined by
the W3C here: http://www.w3.org/MarkUp/html3/bulletlists.html
The problem is, when I try to validate the page at W3C, it tells me:
" element "LH" undefined "
My page is 4.01 Transitional, using charset windows-1252.
Any ideas why this won't validate?
| |
by: Skybuck Flying |
last post by:
Hi,
I needed a method to determine if a point was on a line segment in 2D. So I
googled for some help and so far I have evaluated two methods.
The first method was only a formula, the second method was a piece of C code
which turned out to be incorrect and incomplete but by modifieing it would
still be usuable.
The first method was this piece of text:
|
by: TZ |
last post by:
I have two classes, UIHousehold and WIZEditHousehold (both are
winforms).
UIHousehold creates and shows the WIZEditHousehold (WIZEditHousehold
can't be modal, so UIHousehold doesn't know when WIZEditHousehold
closes).
A reference to a buffer within UIHousehold is supplied (passed by REF)
to the constructor of WIZEditHousehold - that constructor saves the
reference to the buffer in a member variable.
|
by: madhubabumallidi |
last post by:
hi all,
i am working on a webpage where i need to have two textboxes in a datagrid which are inter related i.e changes in one textbox should reflect on other and viceversa.please anyone help me solving this problem.
|
by: Laurence |
last post by:
Hi folks,
As I konw: database partition (aka data partition?), the database can
span multiple machines; table partition, the data within a table can
seperate by certain condition.
How about inter-partition and intra-partition? Is inter-partition
database partition...?
|
by: Mark |
last post by:
Hi,
I'm relatively new to Java, but have been a programmer for decades. I
would like multiple instances of my Java app (on different computers on
the same local LAN) to communicate with each other through notifications
of some sort. For example, when instance 1 does a certain action,
instances 2, 3, and 4 should be notified about it so they can react
accordingly. I'm unaware of existing Java classes that deal with this
sort of thing,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |