I have a programmable controller that is working as a conveyor belt scale in an underground coal mine. I know, it sounds bizarre, but it’s what I do.
Everything works fine. We are weighing at 2,500 tons per hour and around 20,000 tons per day. Once a shift, the Mine Engineer stops by and reads the totals and resets the count for the day. They would kinda like having this info back on the surface about a 1/2 mile away.
In the old days, the way you would get this data would be to drive a relay to pulse a digital counter that would represent every ton. You would also generate an analog rate of flow. You connect the analog signal to a rate meter displaying 0-2500 tons per hour.
In the not quite as old days, you would run these signals into a PLC or a PLC would talk to the controller. The PLC would be connected to a network and another PLC would talk back and forth to display this info wherever it was wanted.
What I would like to do: I can make my controller stream serial data. I can send out from an RS232 port or I can stream across an ethernet port as a TCP or UDP packet. They have fiber optic communications throughout the underground that is used to monitor for really bad things. This communication line goes everywhere my data needs to go. I have a MOXA serial device server. I can set it up to listen for my UDP or TCP data and convert it back to RS232 serial.
Now this is where SparksFun comes in. What do I need to take a random RS232 serial data and make it show up on one of the cool little 20x4 SerLCD?
I’m guessing I will need a display, power supply, and logic level converter. Does this sound right?
Can you program the Moxa? You may have to do some format conversion so the data displays how you like. If not, you can use an Arduino and a regular display and program the arduino to e.g., reposition to the start of screen on each update.
Really cool would be to build it with those 6" displays so you can read it from 100 feet away
The Moxa NPort is configured as a path along the ethernet network, but doesn’t alter the data. I will need my transmitting controller to talk in a format that the end display can recognize. I do have control of the data coming out of the programmable controller, so this shouldn’t be a problem.
I don’t doubt that you could setup an Arduino to do the same thing as the Moxa, but that is a wheel, I’m not ready to reinvent.
My Sparks O’ Fun order is on FedEx truck somewhere between me and Colorado, so hopefully I can get this into hardware soon. I also ordered a Red Board because I may want to send data back to my device. This would force me to forget about UDP and instead work with TCP and to be honest, I wanted to play with Arduino anyway. The controller I am using is made by Rice Lake Weighing. The proprietary programming language is mix between C, Visual Basic and ADA.
Awesome! I had someone contact me a year ago to do bridge data from a Rice Lake Scale to another device, but then they just ghosted me. Hate when that happens.
Did you resolve the UDP problem? UDP can be a pain to work with sometimes.
I had to give up on UDP. The UDP streaming format that the scale would let me use would not include all of the data that I wanted. As a solution I am actually printing really fast to a TCP client. This particular indicator will let you print to two different TCP clients. The other cool thing about this controller is a built in Web server.
The mining engineer where this scale is installed wanted to see my remote display. He was quite pleased and excited, but now he wants more.
Now they want big numbers. He is asking for a display with 2" characters and a reset button. I can add the reset button by putting an Arduino before the display. Wiring an input on the Arduino that will send a Reset Total command back to my scale, which will in turn clear the value.
The Arduino would receive the serial data and pass along to my display card.
Here is my problem, I’m ok with 4x20 LCD display, but I’ve never tried an a Graphic LCD.
The graphic LCDs take up a lot more Arduino pins. I honestly don’t like them very much and I don’t know if you’ll be able to find one larger enough to give you that digit size. Whenever I’ve needed a larger display I always went to the Raspberry Pi because then I can use a 7" or large HDMI display. The pi has the advantage that you can connect it directly to Ethernet, so you wouldn’t need your Moxa device. You could probably replicate the Rice Lake display remotely using the pi.
Some alternatives: Sparkfun carries a 6-digit LED 7-segment display with SPI interface that has 1" digits. They also have the 6" digit with built in driver, but you’ll need a number of those. They’re fun to use though