How to Connect Omron CP1E PLC with Oriental Motor ARD-CD Controller using Modbus RTU Communication

Question:

Greetings to all PLC enthusiasts! I am relatively new to PLC programming and currently working on a project that involves establishing a connection between an Omron CP1E (CP1W-CIF11) PLC and an Oriental Motor ARD-CD controller using Modbus RTU over RS-485 communication. I am encountering difficulties in both reading and writing data on the Oriental Motor ARD-CD device. Here are some specific details regarding the setup: - PLC Model: Omron CP1E-N60DR-D - Controller: Oriental Motor ARD-CD - Communication Interface: Utilizing the CP1W-CIF11 for RS485 communication with half duplex, 115200 baud rate, and 8E1 configuration - Slave ID: 1 assigned for Oriental Motor ARD-CD - Data Memory (DM) Allocation: Words from D1300 to D1399 - Auxiliary Area Bits: A641.00 to A641.02 I have a couple of questions that I hope you can assist me with: 1. Regarding the CP1W-CIF11 interface, which connection lines (RDA-, RDB+, SDA-, SDB+, FG) should be utilized for half duplex RS485 protocol? 2. How can I implement a ladder MOV instruction to read (function 03) the data at address 0403h on the Oriental Motor ARD-CD controller? Here is my understanding of the ladder diagram, please correct me if I am mistaken: - MOV #0001 to DM1300 (setting slave ID as 1) - MOV #0003 to DM1301 (for read function 03) - MOV #0004 to DM1302 (indicating 4 bytes to read) - MOV #0403 to DM1303 (defining the address to read) - Receive the response on DM1350 I am seeking advice from those who have successfully implemented simultaneous read and write operations with Modbus RTU between the CP1E and Oriental Motor ARD-CD devices. Any tips, tricks, or sample code snippets would be highly appreciated. Thank you for sharing your expertise in advance!

Top Replies

I have never used Modbus (MB) with an Omron PLC before. I am curious about the CRC checksum - is it automatically generated or do you need to write code to calculate the checksum?

When using the Omron CP1W-CIF11 for half duplex RS485 communication, it is important to correctly connect the terminals RDA- and RDA+. Make sure to configure the dip switches on the CIF11 module accordingly. Switch 1 should be set to terminate the resistor if needed, while switches 2 and 3 should be enabled for 2 wire control. Switch 4 should be turned off, and both switches 5 and 6 should be turned on. These settings will ensure optimal performance for your RS485 protocol.

I have successfully linked device CP1E with ARD-CD and manually adjusted the ARD-CD to 1000 steps (1000 Dec = 03E8h). Upon checking DM 1354, I have received a response of 0803h, while DM1355 shows E800h. I am seeking advice on utilizing mathematical operators or the MOV/MOVL/MOVD function to achieve the final value of 03E8h in the DM location. Your input is greatly appreciated.

Understanding the data types utilized in the motor controller is essential. It seems that the data types are Decimal, but clarification is needed on whether it is 16-bit or 32-bit, and if the Least Significant Bytes come first or the Most Significant Bytes. When using the MOV instruction, 16 bits are moved, while the MOVL instruction moves 32 bits. The MOVD instruction moves Digits (or Nibbles, which is 4 bits). The SWAP instruction from Omron can be utilized to swap bytes for ModBus. Omron refers to Decimal as Binary in mathematical operations. An alternative is BCD, which is similar to Hex but does not include A through F. It is recommended to view the complete dialog box when inputting instructions for additional information. To display data in the Memory window in Decimal format, simply right-click and select Display > Signed Decimal, or choose any other preferred format. In the Ladder view, change the Monitoring Data Type by selecting View > Monitoring Data Type > Signed Decimal.

It's unusual that your 16-bit integer begins on an odd byte. Considering ModBus operates in bytes and has its quirks, this shouldn't be unexpected. I suggest verifying the data alignment before proceeding. If confirmed, consider adjusting the alignment accordingly.

Hey there! Sounds like you're working on an exciting project. Based on the Omron CP1E manual, for RS485 half duplex, you're ought to connect RDA- to DA-, RDB+ to DA+, and FG to FG. Now for your ladder logic, your MOV instructions seem to be on the right track. However, I see a potential mishap - you're trying to read 4 bytes with function 03 which wouldn't work as function 03 reads holding registers and interprets the data as 16 bit integer. With your current setup, you're implying 0403 read request would get 64 bits rather than the actual 16, which is why you might be experiencing issues. As far as simultaneous read/write operations, Omron's FINS communication handles it well, you could use it via host link or Ethernet with your CP1E. Or if sticking with Modbus RTU, make sure you manage timing to allow both operations to execute without conflict. Happy coding!

Hi there! Welcome to the world of PLC programming. It's exciting, but I understand that it can get a tad bit difficult at times. RS-485 connections can be quite confusing initially. For half duplex communication over RS485 with your CP1W-CIF11 interface, you would connect your A(RDA-) and B(RDB+) terminals from your controller to the CP1W-CIF11's SDA(-) and SDB(+) pins respectively, don't forget to link the FG (Frame Ground) as well. For your ladder structure, it looks like you're moving in the right direction. One thing to remember is that Modbus data memory addresses are 1-indexed, so your 0403h address may need to be represented as '#0402' in your MOV instruction to DM1303 due to zero-indexing in the PLC. As you mentioned struggling with simultaneous read/write operations, one tip I can give is to create a routine to manage the timing of your read and write operations sequentially rather than trying to execute them at the same time. You might need to wait for a response before sending the next command to avoid overlap. Also, be keen on any error codes, they can be quite helpful in troubleshooting. I hope this helps. Keep experimenting, and remember, it's all part of the learning curve!

Hey there! Welcome to the world of PLC programming—you're definitely diving into an interesting challenge! For your half-duplex RS485 connection using the CP1W-CIF11, you should typically use the RDA- and RDB+ lines for communication. As for your ladder logic, your setup looks pretty solid! Just ensure that the timer settings for the Modbus timing are correct; sometimes, timing can be a bit finicky, leading to issues with reading and writing data. Also, don’t forget to handle the response properly after the request to ensure you're getting the right data back in DM1350. It can be really helpful to include some error handling too, just to catch any issues as they happen. Good luck with your project; I’m sure you’ll get the hang of it soon!

Welcome to the PLC programming world! It sounds like you’re off to a solid start with your setup. For the CP1W-CIF11 interface in half duplex mode, you should connect RDA-(Receiver Data A) and RDB+(Receiver Data B) as the primary lines for communication, while SDA- and SDB+ are typically used for additional purposes like ensuring proper transmission. As for your ladder logic, it looks like you have the right idea, but double-check the communication settings and ensure that your Oriental Motor has the correct registers allocated to read from address 0403h. Make sure to set up your request and response correctly to avoid any timing issues; you might need to add a short delay between sending the request and receiving the response. If you run into specific challenges with the data you're receiving, it might help to monitor the Modbus traffic using a tool like a USB to RS-485 adapter and software to visualize the communication. Good luck, and feel free to share your progress or any specific issues you encounter!

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: 1. Which connection lines on the CP1W-CIF11 interface should be used for half duplex RS485 protocol?

Answer: Answer: For half duplex RS485 communication with the CP1W-CIF11, you should use RDA-, RDB+, SDA-, SDB+, and FG connection lines.

FAQ: 2. How can I implement a ladder MOV instruction to read data at a specific address on the Oriental Motor ARD-CD controller using Modbus RTU?

Answer: Answer: To read data at a specific address on the Oriental Motor ARD-CD controller, you can use MOV instructions in the ladder logic. Make sure to set the correct slave ID and function code for reading data, and handle the response appropriately in your ladder diagram.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’