LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Converting Mac-Only to Windows

I have a (physical) device with a SCSI connection to the computer; this device, which should be controlled via LabVIEW through the appropriate .dll file, cannot be controlled because of something I don't entirely understand.  Apparently, the device only works on Mac hardware because the "least significant bit is first" whereas the hardware we have expects "most significant bit first."

Am I correct in my understanding that this cannot be corrected for in LabVIEW, such that we must get a new computer to use this device?

Edit: Spelling.

Message Edited by DJDDA on 10-09-2007 01:59 PM

0 Kudos
Message 1 of 8
(3,589 Views)
I think you might have misunderstood what was being talked about. It's likely what was referred to was little-endian vs. big-endian. This refers to the order of the bytes when values are stored. What's confusing to me is that you say it's controlled via a DLL and that it only works on Macs. DLLs are for Windows machines.

Just out of curiosity, what is this device?

Message Edited by smercurio_fc on 10-09-2007 04:25 PM

0 Kudos
Message 2 of 8
(3,563 Views)
"I think you might have misunderstood what was being talked about. It's likely what was referred to was little-endian vs. big-endian."

Probably, "high order byte first" and "low order byte first" is what the manual says.  (Yeah, I even got that wrong... I just now found the manual again.)  Whatever it is, it seems to be a show-stopper, but I wanted to verify that there's no workaround.

"What's confusing to me is that you say it's controlled via a DLL and that it only works on Macs. DLLs are for Windows machines."

The device only works on Mac hardware, the LabVIEW VI only works on Windows (software, via DLL's).  A Mac running Windows is under consideration, I think, but it may not be practical, so I'm looking at other options too.

Anyway, the device is a Jorway 73A CAMAC crate controller.
0 Kudos
Message 3 of 8
(3,555 Views)
My brief look into this seems to indicate that this device is not limited to Macs. It's a SCSI device, so you just need a SCSI card for a Windows machine if that's what you're trying to connect it to. The DLL would handle the proper endian-stuff. I assume you're referring to the diagnostic software that's here? The setup instructions I found here seem to imply this.
0 Kudos
Message 4 of 8
(3,549 Views)
I'm trying to get this to work.  We can't seem to get any responses from LabVIEW.  The manual for the controller says:

"Before installation, it should be confirmed that the byte transmission order is appropriate for the computer and operating system in use.  The order of byte significance during CAMAC data transfers is determined by the type of PLD installed in position U28.  If the device is labeled PLD290, the Motorola/Macintosh order will result (most significant byte first)...  If PLD380 is installed, the order will be least significant byte first, appropriate to Intel-based PC's."

We have a PLD290, but an Intel-based PC.

So, is there a way to correct for this?
0 Kudos
Message 5 of 8
(3,544 Views)
There are 2 VIs in that llb that do some data swapping that may not be necessary.  I haven't looked through the entire c code for the DLL, but you may have to make some modifications to that code as well and rebuild the DLL, but you can start with removing the data swapping that is occuring in these VIs:

jwy73a Read Block.vi:

           


jwy73a Util Data Write.vi:



Message Edited by Matthew Kelton on 10-09-2007 05:34 PM

Download All
0 Kudos
Message 6 of 8
(3,531 Views)
So you disagree with my boss' assertion that this is entirely a hardware problem, then?  (If this is fixable without ordering new parts, I need to work out how.)

I'll see if I can get him to reassemble the crate tomorrow, and I'll try the modifications you're suggesting to the VI.

Thanks.
0 Kudos
Message 7 of 8
(3,524 Views)
I cannot say for certain that just the LV modifications will work.  However, since that zip file contains the C code, I think between modifications to the DLL and the VI, you'll be able to make it work.

The difference between the processors is the order of the data and LV can reorder bits and in this case, bytes.  The question is whether the modifications to those two VIs will correct all the byte swapping which may need to be done.  The DLL may need to be modified to do some bytes swapping as well.
0 Kudos
Message 8 of 8
(3,517 Views)