Hello guys, I need help on getting information from a bill acceptor device (ICT L70) to LabVIEW. I am not really sure how would this works. I am new to LabVIEW and currently on internship. This is my first task from supervisor and he gave me no help, but expect I learn everthing myself. I cannot find much information about it online on how to read data from the bill acceptor device and thus, I have no choice but to seek help here. My expected outcome would be constructing a VI which read how much the machine had accepted, i could make a VI, but I am just not sure how my computer could read from the hardware. As from what I have obtained from web, the hardware supported by LabVIEW must be from NI company. Is that true ? Help me guys.
Sounds like you're in a tough situation - learning LabVIEW on your own is hard. But just keep at it! If you work hard, you'll be able to figure it out. LabVIEW can interface with many types of hardware, it doesn't have to be NI. Do you have a manual for the bill acceptor? Try to look in the manual for what kind of interface it uses (eg: RS232, USB, ethernet, etc). For most interfaces, you can probably use the VISA VIs to communicate with it. See if you can find the specifications for the data transfer protocol in the manual. Like, it should tell you in what format you should send commands in, and in what format you can expect responses back from the instrument. Then you can write VIs to send those commands with VISA Write and then use VISA Read to get back the responses.
Hello, Thank you for your time and reply. Yes I do have the manual, but all it had is just to turn on the hardware and make it works. It does not comes with instruction that interfacing with a computer. It is using RS 232. LOL, i thought i would need DAQ assistant on that, spent entire day on daq assistant. Okay, but do i need to configure anything on NI MAX ?
DAQ assistant is for NI DAQ products. It won't work with your device. You can use NI Instrument Assistant, which is just an express VI for communicating with serial devices, which is what you have.
But they don't have a manual on how their serial protocol is defined, then you stuck.
The only thing you would need to do in MAX is to make sure the device shows up as a serial port. What drivers does it come with?
How do they expect you use the device if they don't give you any instructions on how to turn it on and off?
Hi there, thank you for your reply. I had searched the net for quite long and I found this.
Could this be the command that you all are talking about ?? However, the model is not the same, I can't find the exact model, even at the official company website, they only provide installation guide, without any command inside. The installation guide is this.
Yes, that link is exactly what you need - assuming it works for your model. I'd recommend trying it to find out. The palette you will want to use is Instrument I/O >> Serial (or just use the Quickdrop, that's what I do, but since you don't know all the functions, it might be easier for you to look at the palette). Use VISA Configure Serial Port with all the paramaters at the beginning of that document (the baud rate, parity, etc) then use VISA Write to send one of the commands on the controller side of the commands table in that document and use VISA Read to see if you get back the commands on the bill acceptor side.
One thing that might be confusing for you: when it says something like 0CH, it means it's in hex, another way of saying it is 0x0C. To put a hex number into LabVIEW what you need to do is put down a numeric constant, then right click on it and go to Visible Items >> Radix. A little "d" should appear in your numeric. Click on it and select Hex. Then type in 0C (or just C). The VISA Write wants you to give it a string, so use the Type Cast VI to turn this hex value into a string.
Is this VI that i had constructed correct ? I tried to key in command with the instrument connected, but no luck. I try to scan notes while letting the VI run also, no luck too.
Are you typing things like "02" directly into the string control? That won't work. You need to use a numeric representing the hex value 0x02 (or whatever you want to send) and typecast that to a string. The string "02" in ascii is actually represented by the number 0x3032 in hex (the 30 corresponds to a "0" and the 32 corresponds to a "2"), but you don't want to send 0x3032, you want to send 0x02, so that's why it won't work if you just put it directly in as a string.
Where you're reading the Bytes at Port and then using that for how many bytes to read, that works I'm sure, but I think you could also just always read 1 byte, because I think it says the commands and responses are always 1 byte.
Also, I just took another look at the protocol, and I could be reading it wrong, but it looks to me like this protocol might work opposite to most protocols where the computer sends it a command and the instrument responds. It seems like it might actually be structured such that the computer waits for a command from the bill acceptor and then responds to that.
And just one quick tip: I'd recommend not keeping your front panels and block diagrams maximized to fullscreen. Keep them as smaller windows. This will keep you from adding too much code to one VI when it should be broken up into several smaller VIs. It is also nice because then you can see the block diagram and front panel at the same time, and also you can view other VIs at the same time (because as you continue working, you will have more than one VI). Trust me, you'll thank me later.
hi there, sorry I don't really understand what u mean. Actually I had both coin and bill acceptors from ICT company. The coin collector works for me, without having to put in any command. Whenever i plug in the serial port, and use VISA function to read, I get a certain values at my LabVIEW when i insert a coin. Different coin gave me different values, though the values are not readable by me, it's kinda like square boxes and some question marks, but i just use to decode it with some case structure to display the amount and type of coins inserted. However, my bill acceptor just will not works the same. It can't read anything when I insert a note. I'm not sure why i need commands for bill acceptor but not the coin acceptor, they should just works the same since it is from the same company.