5/5/2020 12:09 PM | |
Posts: 40 Rating: (0) |
That is clear and obvious. The only limitation I see here is that only a single word could be read from the holding register, but I need to read two, exactly like in the power meter example.
That looks as an alternative to the 1st scenario you described where inputs and outputs are talking to devices directly. Thank you for clarification as I still don't fully understand this VM concept. The goal is to use a single connection between the Logo and Modbus device to read/write everything including holding registers with float data. Currently I see the only working solution for that (example for read operation): all the data - DI, IR, HR - are read into VM first, then Network Input is configured to read Local variable memory (VM) instead of Remote device. I'm wondering if that is a really way to go. I'm attaching a sample diagram along with a few screenshots. Project view shows that 2 connections are occupied on the Logo which is connected to only one Modbus device. Attachmentforum_logo.zip (185 Downloads) |
5/5/2020 12:52 PM | |
Joined: 2/22/2008 Last visit: 8/6/2024 Posts: 2698 Rating: (207) |
The problem are the green blocks, you define the Modbus connection directly in these blocks. Use local mapping to VM memory, then you can organize the memory in areas for digital and analog signals. For 8 digital signals with DI or coil in sequence i would prefer the compact design as in attachment. For analog signals HR in sequence i also would prefer the compact design, also if you don't need 2 of 10 values. Registers are 16 bit = 1 word = 2 bytes, then begin VWx with an even number to avoid problems later. If you have floats, then you 2 registers = 2 words = 4 bytes, then begin VWx with a number divisible by 4. If you have double, then you need 4 registers = 4 words = 8 bytes. First make a list, which signals you need in sum, then think about how to organize them in the VM memory without overlap to avoid problems later. Regards, Scorp AttachmentCircuit Diagram2.zip (225 Downloads) |
This contribution was helpful to1 thankful Users |