Announcement

Collapse
No announcement yet.

Communicating a Rigol Multimeter with a D0-06DR

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts


  • Communicating a Rigol Multimeter with a D0-06DR

    Good Evening all,

    I have reached a point where I have hit a wall and would like some help/advice. My company purchased a Rigol Digital Multimeter (DM3058E0) will link the model here: https://www.transcat.com/rigol-techn...SABEgKc2_D_BwE

    I am trying to write a program where I would like to be able to communicate between my multimeter and my PLC. In order for me to see if my resistance meter and plc can determine a failure I have come up with an example below.

    In this example, I want to be able to detect an increase of 50% of the initial resistance value. I will assume the cable under test will have 10k ohms initial resistance. To set this up I have created a box with a 10k ohm resistor and a 15k ohm resistor. A toggle switch will be used to switch in between the two currents. I then want to set this 10k ohms value as initial resistance in the PLC. Then set a max limit at 14.925k ohm (9.95k*1.5). Anything measured above 14.925k ohm would be considered a failure. I will have the Rigol Multimeter measuring this value and have tested that the rigol multimeter has picked up the 10k ohms and when the toggle switch is switched the multimeter measures it at 15k ohms. I would like the PLC to be able to detect a failed test from when the measured resistance value is switched to the 15k ohms resistor

    How can I program my PLC to have contact with my Rigol multimeter as the only ports I have on the Rigol is a Rs-232 port and a usb port? If so what would the ladder logic look like in order for me to translate an output signal from my multimeter into my PLC as an input if its possible. Would I be able to have my PLC hold the initial resistance value of 10k ohms and if the rigol meter measures a resistance value higher than that then it sends a signal into my PLC to show a fail? Can I even have contact between my D0-06DR PLC and my Rigol Multimeter?

    Thanks,
    Mark


  • #2
    First off you need the ASCII programming interface manual for the DM3058: https://www.batronix.com/pdf/Rigol/P...ngGuide_EN.pdf

    Secondly a DL06 isn't going to be able to handle this very well using port 2, the timing and ASCII handling is going to make programming a fairly large hassle. To use the DL06 you would need to get a F0-COPRO to do this sort of comms. Or do yourself a huge favor and upgrade to a BRX PLC that can handle this sort of ASCII communications with no problem.
    If you have an urgent issue, please contact AutomationDirect's Technical Support team.

    AutomationDirect.com Technical Support: 1(800) 633-0405 or (770) 844-4200 Email Tech Support

    Comment



    • #3
      Second the BRX recommendation.

      Comment



      • #4
        Originally posted by Do-more PE View Post
        First off you need the ASCII programming interface manual for the DM3058: https://www.batronix.com/pdf/Rigol/P...ngGuide_EN.pdf

        Secondly a DL06 isn't going to be able to handle this very well using port 2, the timing and ASCII handling is going to make programming a fairly large hassle. To use the DL06 you would need to get a F0-COPRO to do this sort of comms. Or do yourself a huge favor and upgrade to a BRX PLC that can handle this sort of ASCII communications with no problem.
        Hi, We decided to move up and purchase a do more BRX PLC. How would I do this task through ASCII communication? I'm assuming I will have to send the data over through ASCII communications and then was instructed to I would have to convert the data into a numerical address so my PLC can register the data in forms of numbers. Then I would set the acceptable value in the PLC program and if it doesn't reach my acceptable value I will send a signal to my output to stop the program. Does this sound about right? Also how do I take the take through ASCII and convert it to a numeric address?

        If you have any other method to complete this please share!

        Thanks!

        Comment



        • #5
          Start off with familiarizing yourself with the BRX PLC and the Do-more! Designer Software. https://support.automationdirect.com...ts/domore.html

          Page 13-20 of the user manual has some information on ASCII. https://cdn.automationdirect.com/sta.../brxuserm.html

          Help topics in the software will give you programming examples as well as more general help: DMD0336, DMD0167, DMD0168, DMD0170, DMD0303, DMD0304 and a few others.

          We also have a lot of videos: https://www.automationdirect.com/videos/home

          You will also see a video icon on some of the instructions that gives you more specific info on that instruction. Also you can go to the Help Menu item in the Do-more! Designer software and get to videos from there as well.

          This one is how to use a Barcode scanner, which is an ASCII device: https://www.automationdirect.com/vid...&cat2=2&cat3=3


          If you have an urgent issue, please contact AutomationDirect's Technical Support team.

          AutomationDirect.com Technical Support: 1(800) 633-0405 or (770) 844-4200 Email Tech Support

          Comment



          • #6
            Just an FYI...that bar code video actually has a pretty significant coding flaw. It'll work...until it doesn't. There is no framing/reframing logic, so if it ever drops a character, it's broken and has no chance of recovering. Doing it his way is unreliable.

            A preferred way of doing that would be to sit in the initial stage waiting for character input. Enable a timer with .InQueue != 0, and a JMP to the next stage when .InQueue >= 10. If the timer expires, jump to error stage. In the error stage flush the queue and jump back to the top. If .InQueue >= 10 happens prior to the timeout, jump to a stage containing the STREAMIN, where the data is read, then jump back to the top. Minor improvement that will make it work indefinitely.

            One other tip...I personally never invoke a STREAMIN without a timeout, and I never invoke STREAMIN before I have tested to see if .InQueue has the expected data in it. I *always* have a wait stage with a timeout before I call STREAMIN.


            Click image for larger version

Name:	BarCode.jpg
Views:	63
Size:	153.6 KB
ID:	121069

            Comment

            Working...
            X