No announcement yet.

Productivity 3000 to Solo Temperature Control Communications via RS-485

  • Filter
  • Time
  • Show
Clear All
new posts

  • Productivity 3000 to Solo Temperature Control Communications via RS-485


    I am very fluent in Ethernet, Profibus, Devicenet, and several other protocols and how to utilize them to communicate with remote i/o etc. RS-485 I have not had a lot of experience with besides downloading parameters out of old VFD's and the sort. I was hoping someone could lead me in the right direction of how to retrieve simple data from this controller to the Productivity 3000 PLC. I only need to write a temp set-point, read the process value and fault status of 4 different controllers.

    It appears the simplest way is the utilize the Mod-bus read and Write instructions but there isn't a clear explanation of how to actually set this up. For example i am trying to read process value i start at Mod-bus address 44097 (Found these numbers in the solo controller manual) and I use function code 3 to read bit registers. But how do i set up the variables for storing this information?

    Any advice would be greatly appreciated. We are aiming to commission this production line by the end of the week so if no one responds I am sure i will figure it out but I figured someone might be able to save me a lot of time.

    Click image for larger version

Name:	modbus-read.png
Views:	161
Size:	72.4 KB
ID:	117998



  • #2
    Try removing the FIRST 4 in 44097, that 4 is implied by the +400000


    • #3
      Ok. That helps on the register but what about the variables? Do I need a separate instructions for each variable that I am trying to retrieve or will this retrieve a block of information that I can store to multiple variables?


      • #4
        If the registers are sequential, the tags can be read in one read- depending on distance between registers. As you think.
        dont try to read 4097 and 4415 in same read.


        • #5
          The instruction listed above shows an option under tagname mapping for the number of tags to read from.
          The number listed in this box will read out that number of sequential memory locations to your listed variables.

          The number you have listed in the graphic is 8. You will need to specify 8 tags to copy that data to.


          • #6
            You could use a MRX to read 4097 and 4098 setting up 2 tags. Make sure you use 16 bit unsigned as the addresses use 2 bytes. If you use 32 it will try to read 4097 and 4098 into one tag. Also if you want to read the setpoint value and write it make sure that you use 2 different tagnames ( 1 for read and 1 for write ) so the read does not overwrite the tag you are trying to use for the setpoint. No tsure what status you are trying to read. If not sequential register you are likely better off to do a separate read. Also if you are reading status bits then you will definitely have to do a separate read because it will be a different function code to read the bits then you would use to read the registers.