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?
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)?
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.
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
I use the LS IG5a and G100 inverters. Both inverters have buttons to adjust resistance. I haven’t tested the G100 on its own, but through testing the IG5a inverter alone, I found that I had to turn on the button to decrease resistance in order to communicate properly.
At the site, I needed to receive data from both types of inverters. I turned on the resistance control function for both inverters, but this caused an error on the CS card. Then, I turned on the resistance adjustment on the IG5a and turned it off on the G100. This resolved the error on the CS card.
Another issue was that reading the data caused an error on the CS card every second. The problem was that the G100 inverter was set with a response delay of 5ms. After I increased this setting to 10ms, the error stopped occurring.
It seems that the maximum receiving speed of the CS card is 10ms. Using these two solutions allowed the communications to function properly.