Modbus 485 Communication with Dual CS1030 Blocks in X20CP0482

Hello,

CPU: X20CP0482
Modbus 485: CS1030

I want to add two CS1030 blocks to a single X20CP0482 and use them for Modbus 485 communication. However, when both modules are either open or executing, the other block has communication issues. Is it not possible to open or execute both CS1030 blocks at the same time?

Hi,

it’s possible to use more then one X20CS1030 with the same PLC.
Since I don’t know what issue you have, it’s hard to say what the reason could be. Can you please post some more information about your project setup, for example if you use DvFrame or DRV_mbus library for the communication, how the modules are configured, and how the issue manifests itself?
If you’re using library function(s), do you use own function block instances for each module (should be so)?

Best regards!

Hi, Thank you for your insight.
I have tested and confirmed that two CS cards can work together.

I receive Modbus RS485 communications from five thermometers and ten inverters on-site. Communications were working fine before the addition of an extra CS card, but after this, there were issues with the first CS card’s communications.
I suspect that noise from the inverters is affecting it.
Previously, when I connected the same model of inverters to a CS card, an error occurred on the communication card. When I set the resistance value of the inverter communication current, communications returned to normal.
Currently, errors still occur on the communication card, but I am unsure of the specific errors.

In Automation Studio, is there a way to find out the reason for errors occurring on a CS card? I think it can be checked by the status value of the Modbus library function, but I’m not sure if this is correct.

Thank you.

Hi,

if the e led on the module is flashing red, then a physical error happened. This could be start bit, stop bit or parity errors, or buffer overflow error.

I recommend to check the error information bits first (you have to enable them in the module configuration, after doing that you get some more IO datapoints on the module to check if such errors happen, and also some bits to acknowledge such errors).
Buffer overflow normally means that data is arriving faster then transported to the PLC. Other errors normally point zo missconfiguration or physical cause, mostly because of wiring issues / disturbance.

For physical problems, I recommend:

  • always terminate both bus ends
  • dont use spur / stub lines, if possible, or keep them at least as short as possible
  • use shielded cables

For buffer overflow:

  • check X2X cycle time, if it can be driven faster
  • if working with the serial drivers (DRV_mbus, DV_frame) use the cyclic stream function model (can be setup in the module configuration)

From the amount of slaves you mentioned, I could imagine that buffer overflow happens but thats just a guess. If yes and you can’t run X2X faster and also you can’t run RS485 slower, then maybe you need more RS485 modules to solve your task. But let’s try to find out together first, what’s the cause for your issue :wink:

Best regards!