-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emulator: Connect LabView drivers to emulator #1899
Comments
I spent some time looking for a virtual COM port solution to this, to no avail. After discussion with @KathrynBaker it seems the best solution will be to rewrite the Labview so that TCP/serial can be easily swapped out. |
I'm not sure if it would work, but LabVIEW COM ports are all shimmed through VISA which in turn then talks to the real async COM port. It might be that there is a loop back from VISA which could be picked up (Ni Spy can be used on all VISA traffic so it must be getting it's look into VISA from somewhere). Have you seen anything @FreddieAkeroyd in your driver investigations? |
This would still require the VI to be altered, so there probably isn’t much gain to look into NiSpy, as we need the LabVIEW driver to use the emulator instead of the COM port.
|
I guess you looked at com0com / com2tcp or the eltima driver? I think there was an issue with driver signing and com0com on 64bit meaning you had to run in "kernel debug" mode or something? It was just a thought that we could either run com0com on a separate 64bit VM (or a 32bit one) and serve the serial ports on this by NI VISA remote? If lewis was not to run on this VM then it would need to either talk visa itself or the com2tcp program protocol, which may just be RFC 2217 anyway and so have some python support? Just noticed comm2ip as another product |
The problem is, this is the other way, the IP port needs to pretend to be a COM port, the IP is the emulator, and LabVIEW needs a COM port. There are plenty of options the other way around.
Other than the rewriting, the only option I can think of would be to use a Moxa, one port connected to the other (as I did with my dummy device), have the LabVIEW talk on the one port, on the other port have something which just acts as a forwarder for commands and responses, COM on one side, IP on the other. Write an ip2com/tcp2com protocol in software. It still needs some hardware in the mix though.
|
I did try com0com /com2tcp and various others but I had no luck. I think this requires someone else that knows a bit more about serial / TCP to have a go, though I'm happy to pair up on it! |
I've had a discussion with @OwenArnold about this and he is aware of what we're doing. Lewis would be interested in writing some COM adapters, which we can help with down the line. In the mean time we should do the solution suggested by @KathrynBaker above. |
Added a ticket into Lewis at: ISISComputingGroup/lewis#231 |
It will be useful to be able to talk to emulated hardware with pre-existing labview drivers. This will give us a good way of testing that the emulator functions as expected
The text was updated successfully, but these errors were encountered: