• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Read Coil Analogic Output M103

    UniPi Neuron Series
    2
    30
    4600
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin Kudláček
      Martin Kudláček @Mohamed Dounnani last edited by

      @mohamed-dounnani I am sorry, but I don't understand. You should calculate a value using the formula and the result should be between 0 - 65535. Then you should write the value into the Analog Output 1 Modbus register. By doing this, the internal circuit in the UniPi controller will set the desired output voltage between the screw connectors AO and AGND. Then you should measure this value with multimeter to verify if the actual output is equal to the desired voltage you wanted to set. Have you done so please?

      Martin

      1 Reply Last reply Reply Quote 0
      • M
        Mohamed Dounnani last edited by

        I calculate value using formula and when i select 6V that is my desired volt, that formula produce 2294. I take the result and I write it to Analog Output 1 Modbus register

        When I select 0V, the formula produce 0, but when i measure the output with multimeter i measure 1.066 V

        Martin Kudláček 1 Reply Last reply Reply Quote 0
        • Martin Kudláček
          Martin Kudláček @Mohamed Dounnani last edited by Martin Kudláček

          Ok @mohamed-dounnani, and what happens, when you write the value 2294 into the Analog Output 1 Modbus Register? What is the actual ouput voltage on the connector?

          1 Reply Last reply Reply Quote 0
          • M
            Mohamed Dounnani last edited by

            7 approximately

            Martin Kudláček 1 Reply Last reply Reply Quote 0
            • Martin Kudláček
              Martin Kudláček @Mohamed Dounnani last edited by

              Ok @mohamed-dounnani, I tested it on my S103, which is basically the same as yours. Mine works with the same procedure I told you. I wrote value 2178 and got 5.678V as expected. When I write 0, the output is 0V.

              To investigate further, I need several informations from you:

              • What SD card image do you use?
              • How do you communicate with the ModbusTCP server?
              • If you write 0 to the register 2, what value from the register you read back?

              Thanks in advance,
              Martin

              1 Reply Last reply Reply Quote 0
              • M
                Mohamed Dounnani last edited by

                I use Raspbian Stretch
                I communicate with node.js using a npm library.
                If i wrote 0 i receive 0 as value

                Martin Kudláček 1 Reply Last reply Reply Quote 0
                • Martin Kudláček
                  Martin Kudláček @Mohamed Dounnani last edited by

                  Ok @mohamed-dounnani, let's try one last thing. Can you read the value of register 1019? That's the settings of the Analog Output. It should be 0, which stands for Voltage output. 1 means Current output and 3 means Resistance measurement.

                  Thank you,
                  Martin

                  1 Reply Last reply Reply Quote 0
                  • M
                    Mohamed Dounnani last edited by

                    I receive 0, so is for Voltage Output

                    1 Reply Last reply Reply Quote 0
                    • M
                      Mohamed Dounnani last edited by

                      To be specific I'll explain how to calculate the value to write in the analog output register.
                      For determinator i use: (((3.3 * deltaRef) / 4095) * (1 + (VDev / 10000)) * 3);
                      DeltaRef is (vref / vrefInt), if denominator is 0 i change it in 4095.

                      For nominator i use: ((Vdesired - (VOffset / 10000)) < 0) ? 0 : (Vdesired - (VOffset / 10000));

                      Then i calculate nominator / denominator.

                      Martin Kudláček 1 Reply Last reply Reply Quote 0
                      • Martin Kudláček
                        Martin Kudláček @Mohamed Dounnani last edited by

                        @mohamed-dounnani,
                        your calculations are in order. With the tests we did above, I am afraid you received a PLC with wrong calibration data. The calibration is a way how to ensure that when you set a desired voltage through Modbus registers, it will in fact set the correct voltage on the terminal connectors. The calibration process is one of many throughout the assembly of the unit. The calibration is done on our testbenches and it means you have to send the unit back to us. We sincerely do apologize for this.

                        Please send me (kudlacek@unipi.technology) your number of order for this PLC and I will get back to you with further information.

                        Thank you very much,
                        Martin

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post