sumeetqureshi
Member
I have a confusion regarding modbus addressing that it looks like in unity PLC we can only access 1x (%Mx) and 4x (%MWx) registers and we have to copy discrete input bits (0x - %Ix) to %Mx variables and analog inputs (3x - %IWx) to %MWx registers to read them on modbus.
It appears that Unity PLC's inputs (3x address) aren't automatically linked to modbus addresses => Whole memory area 3x / 4x is used for %MW address variables only. So if we try to read e.g. 300001 address from Unity, we won't see first's analog input register, instead we will see value of first memory word, which is %MW0 and it appears it is same for (400001 & 300001). As per manuals %IW = 3x memory area but it seems it is not possible to read either the %I or %IW references. Every type of I/O references must be moved to %M and %MW references for modbus access.
I have a as-built SCADA list from our client which cannot be modified. This list contains variables on both 3x address and 4x address. If I use %MW for both address types then there will be overlap between variable
Kindly advise resolution If Any.
It appears that Unity PLC's inputs (3x address) aren't automatically linked to modbus addresses => Whole memory area 3x / 4x is used for %MW address variables only. So if we try to read e.g. 300001 address from Unity, we won't see first's analog input register, instead we will see value of first memory word, which is %MW0 and it appears it is same for (400001 & 300001). As per manuals %IW = 3x memory area but it seems it is not possible to read either the %I or %IW references. Every type of I/O references must be moved to %M and %MW references for modbus access.
I have a as-built SCADA list from our client which cannot be modified. This list contains variables on both 3x address and 4x address. If I use %MW for both address types then there will be overlap between variable
Kindly advise resolution If Any.