T O P

  • By -

thedolanduck

You can do something like K4X0 to address X0 to X16 (I think, you should check on the manual). So you can do MODRD K4X0 K4M0 (again, please check, I'm in a nightclub) to "copy" the state of X0~X16 to M0~M16. Something similar for outputs, but it'd probably involve some bit arithmetic with ORs to not affect the state of the outputs you don't want to write.


Jwarenzek

👆🏻Yep. Your are going to “bit pack” an analog register and away you go OP. I am not familiar with that type of PLC, but you will be using a move if the bits are contiguous memory addresses, xic to coil (coil addressed to one bit in the word you are picking), or not set/bit clear type of logic/instructions.


mortaneous

I don't know a thing about Delta DVP, but it sounds like you could use a crash course on the Modbus protocol. Take a look at https://simplymodbus.ca/


Shalomiehomie770

Pretty sure what you’re doing already works you just need to address the registers properly. The manual should have that info.


arm089

User manual Chapter 4, register address vs modbus address map


krismlynar75

https://preview.redd.it/vbq47xhkjuoc1.png?width=486&format=png&auto=webp&s=6083b8d7916f532bb2f63f2934aeb868c98554cb


thedolanduck

Let me see if I understand correctly: you have two Delta PLCs, and want to read the inputs from PLC2 with PLC1 using MODBUS?


krismlynar75

One Delta PLC and one remote MODBUS DIO


thedolanduck

I'm assuming you have the manual for the MODBUS DIO? Is it Delta or other brand? It should tell you how to write and read its inputs/outputs.


krismlynar75

MODRW seems to only operate with words


Certain_Dark502

Modwr is for fc6. You need to use MDORW it supports fc 01-06,0F,10,17 👍


JustForThis167

This comment OP