Sign in to follow this  
Followers 0
IngLovaC

Modbus RTU Omron CJ1

6 posts in this topic

Hi everybody! I'm a new user here, and I have some doubts about Modbus RTU protocol in Omron devices, in this case, is a PLC CJIG-CPU43H using a SCU41-V1 Serial Communication Unit I already use the example ModbusPM v5, but I dont know if I can move, for example, the coil address 000001 to another area on the PLC data memory, with other words, changing the allocated areas that Modbus RTU Slave had by default settings. so, this is the question. How can I place a Modbus address to any area (CIO 400, W6.0, for example) on the PLC data memory? Thanks a lot! best regards!

Share this post


Link to post
Share on other sites
I am not sure if I understand your question exactly sorry, can you post more information? Do you have the Modbus protocol working from a slave? if all you want to do is set the destination area of the Modbus read, then you can copy from where the Modbus PMv5 sends the results to wherever you want with a simple move..

Share this post


Link to post
Share on other sites
thanks for you reply lostcontrol Yeah, that's what I required, to set the Modbus address to the PLC memory area that I choose The SCU41-V1 will be acting as a Modbus Slave But, for that move, Must I use the CX-Protocol with the PMCR instruction?, or there is another way to do that? Best Regards!

Share this post


Link to post
Share on other sites
Hi. you might want to take a look at the SCU unit settings in the IO table. Not 100% sure if your version supports, but have a look. Instead of setting the port to Protocol Macro and using a dedicated macro, you can set te port to Modbus RTU slave. You can then map memory areas to specific modbus commands. E.g. set holding register commands to r/w DM area, input registers to W area, and coils to CIO area. Sounds like exaclty what you are after, and does not require a single line of code.

Share this post


Link to post
Share on other sites
thanks for the reply PdL! Yes, I already use the Modbus RTU Slave setting in the SCU module, but what can I do map a modbus register in a specific allocation area changing the order, for example if I set the holding registers to be map on DM memory allocation, I know that the 400001 register corresponds to DM0000 and it's same sequence for other registers, but what can I do to map the 400001 register on DM1000, for example, changing the sequence... best regards!!

Share this post


Link to post
Share on other sites
In that case, like lostcontrol mentioned you can use move, xfer etc to copy data e.g. from DM0000 to DM1000. The only downside is that it is oneway traffic, in other words if you do it like that, you cannot reflect changes from within the PLC back to Modbus area. Any change of data will be overwritten by the move instruction in the next scan.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0