Nrus_73 (Customer) asked a question.

Looking for some help integrating into AVEVA InTouch

A little green around the gills with Productivity PLC and am looking for some pointers please when it comes to integrating into SCADA.

Best to start with the fact that i am communicating Serially over 232 (Modbus RTU). i thought i would need a Modbus Read/Write block for this but that looks to me to be more for the PLC communicating to other devices and not to Scada as the RS232 requires a Slave node to be given in each of these blocks, however no slave node as it's talking back to the Master.

InTouch polls each of our sites approx once per minute and is only looking for status for alarming and certain timer/counters, i have these copied into 40000 registers ready to be read and written to (setpoints)

Using OIMBTCP drivers within InTouch and Modbusbridge/PLCRS.

i am sure i am missing many specific points so please ask away.


  • Nrus_73 (Customer)

    Issue found and now the P2000 is communicating with InTouch.... Nothing to do with PSuite, nothing to do with the PLC, human error..

     

    I realized today that the Rx LED on the PLC was active but not really acting as i would expect which led me to checking the DB9 pinout again and then the ball dropped, i had not grounded the chassis of the PLC so the 5V of the DB9 had no ground reference, once grounded all good.

     

    Boy do i feel stupid!

    Expand Post
    Selected as Best
  • OkiePC (Customer)

    I'm not familiar with the InTouch side of things and how the driver connects serially, but you will need to match the port parameters in the PLC with those of the PC serial device.

     

    Also be aware that, in PSuite, bit numbers and array elements start with 1 instead of 0 so that can throw you off when assigning HMI tags to Modbus addresses if you aren't paying close attention.

     

    In PSuite you can assign Modbus addresses to tags, and that should be all you have to do there. You mentioned copying them to 40000 registers, so maybe that is what you meant.

     

    Be sure to Transfer the project to the CPU after making those Modbus address assignments.

    Expand Post
  • Nrus_73 (Customer)

    Thank you OkiePC.

    I have the baud etc set under the serial ports in the CPU Hardware config per the PC device so all good there.

    I did see the bit number start with 1 and so does InTouch (which is handy) so i was able to take the configured 40000 registers within InTouch and align with the tags in P-Suite utilizing a 1D array for each register to keep things clean.

    I am pulling out an Allen Bradley Micrologix that natively talks Modbus RTU and am matching the settings exactly and i am seeing Rx traffic from Scada but the P2000 is not responding thus far. I will keep at it.

    Expand Post
  • OkiePC (Customer)

    Things that can be an issue:

    Station Number (aka Node Address in PSuite). PSuite doesn't necessarily dictate a client or server designation to its Modbus RTU settings, but the Node Number is part of the Modbus packet and it should respond if it "sees" its number called.

     

    Zero or One based. There are usually options at the driver for picking this, and I think you can assign it to the PSuite CPU server as well.

     

    Missing addresses: Some drivers will span across multiple addresses and some servers will either not respond or give an error response if the request includes addresses that don't exist. Make sure you have no gaps in available modbus addresses. It's actually best to start out reading one single holding register until you get the other details in order. Then move on to a single 32 bit register if you need floats or long integers to verify word order is correct.

     

    Modbus Character Timeout. The PSuite Help file gives a good explanation of this. I have some P2000 units as Modbus RTU servers on RS232 radio modems and with a baud of 9600, my character timeout is set to 20msec. I am pretty sure I manipulated that value to get the best results, but my situation is different than a hardwired connection without a pair of radios in the middle.

     

    RTS Mode: The Micrologix doesn't use RTS as far as I know, but the P2000 does (optionally). If RTS is enabled, it has to be wired properly to work right. On mine, I have it turned off.

    Expand Post
  • Nrus_73 (Customer)

    Node address in PSuite is set to correct RTU number. with a 96008E1 baud, confirmed correct

    You are correct, the InTouch driver does give the option of zero based or 1 based, ours is set to 1 based.

     

    In terms of addressing..

    I have performed a DBDump from InTouch so i have a list of all the register details for the existing Micrologix and in the process of writing the new program in PSuite i have used the same Modbus addresses so that there would be no need to update the InTouch application, that being said i feel confident the issue would not be with missing addresses as currently with the Micrologix in place everything is working fine.

    There are a few other options within the InTouch driver that i am not so sure about, that would be the Bit Order format, does the P2000 read B16-B1 or B1-B16, i know the Logix is usually B16-B1 along with Modicon.

    Micrologix can use RTS, we have this turned off and so it is also with the P2000.

    Expand Post
  • OkiePC (Customer)

    So in order to avoid having to edit the Aveva setup to restrict it to one tag, maybe there is a software tool you can use for that purpose. A lot of folks like Modscan, but I like to use Red Lion's Crimson 3.0 or 3.2 emulator mapped through a laptop serial converter.

     

    Once you can successfully read one single address from the P2000 serial port, you will probably be good to go.

     

    In all my years dealing with Modbus and multiple other protocols, I have never had to reverse the bit order. I have on rare occasions had to use byte swap, and more often word swap with 32 bit registers.

     

    I have run across numerous devices with coil read quantity limits as well as limits on how many input registers or holding registers may be read at one time. I have also had dealings with proprietary RTU boards that will lock smooth up if I poll them too fast.

    Expand Post
  • Nrus_73 (Customer)

    The MSB/LSB or Word Swap was clutching a little at straws, i do see there is a way to change this in PSuite if necessary.

    I am going to look a little closer at the Modbus Character timeout you mention previously as i also have 2 radios between Scada and the remote site so perhaps this has a decent chance of being my issue.

     

  • Nrus_73 (Customer)

    Issue found and now the P2000 is communicating with InTouch.... Nothing to do with PSuite, nothing to do with the PLC, human error..

     

    I realized today that the Rx LED on the PLC was active but not really acting as i would expect which led me to checking the DB9 pinout again and then the ball dropped, i had not grounded the chassis of the PLC so the 5V of the DB9 had no ground reference, once grounded all good.

     

    Boy do i feel stupid!

    Expand Post
    Selected as Best
  • OkiePC (Customer)

    It's always the little simple details that make you feel bad.

    Thanks for posting the result. Someone in the future will see this and learn from it.

     

    I had a bad one yesterday where I did the dumbest thing I have done in twenty years type of moment.

  • Nrus_73 (Customer)

    Quite happy to admit when i make a mistake and as you say, if someone else can learn from it that would be great!

    Really appreciate your assistance OkiePC..