Hi All
I am trying to read from input register 3x of Micom IEDs and writing the returned values to input registers 3x of my Modicon Quantum CPU through NOE771 11 eghernet module
I tried IO scanning but that only supports reading from holding registers
MBP_MSTR on the other hand can read input registers but it does not allow writing to input registers of CPU state RAM
Any ideas please
Osama
Solved! Go to Solution.
After reading 3x register via MBP_MSTR(function code 15), you can write the data to 3x register with WRITE_INPUT_INT function.
BR
The solution is perhaps to read the 3x register using the MBP_MSTR and use a WRITE_INPUT_INT to write the %IW.
Hi OsamaSalih
Unfortunately you cannot write to Input Registers (3x). Originally these registers contained the values of Analogue Inputs and as a real input into the PLC they are not writeable (same as a digital input 1x register).
Could you not use a holding register (4x) to store your values instead.
Regards
Stevey
Hi Stevey
You totally right,, only the IO scanner function can write to input registers of the PLC, but as I said earlier it can not read from the 3x data of the slave, which is unbelievable 😕
I can use the 4x area in the Plc but I will have to modify my SCADA application as well, which I am trying to avoid
After reading 3x register via MBP_MSTR(function code 15), you can write the data to 3x register with WRITE_INPUT_INT function.
BR
The solution is perhaps to read the 3x register using the MBP_MSTR and use a WRITE_INPUT_INT to write the %IW.
Thank you @TaeHoon
I will try this soon,
the question is why Unity Pro makes is so hard to read slave input registers? you know that MBP_MSTR function code 15 is very complecated to program, each single poll will need effort to complete, and I need to program about 120 polls, Hope developers of Unity Pro (Control Expert) make it simpler in the future
one more question, does CONCEPT latest version support MBP_MSTR function code 15?
Why it is so hard ?
Because it is a rule of IEC 61131 which prohibits writing in inputs. This seems a good thing, since an entry should only be written through the physical channel linked to it. These functions were not present at the beginning and were added in Control Expert to facilitate the simulation.
When using a SCADA, it is not recommended to use a direct physical channel (% IW or 3x registers) as these depend on the hardware.
Well, It is so hard if compared with programming of READ_VAR which I can not implement in my program
I am reading those registers from Micom protection relays IEDs, All modbus data are located in 3x data area
I don't understand well your issue. READ_VAR is able to read 3x registers or their equivalent in IEC %IW.
You can read your register in the protection relays. the values will be available in the reception table that can be used by the SCADA. there is no need to forward the 3x registers coming from the protection relays to 3x register in the PLC. If I well understood the SCADA uses 3x registers to read the values, so in that case forward the reception data into a %IW register, using the Write_input_int:
(*INT*) Simulated_Input:=WRITE_INPUT_INT (INP:=Value (*INT*));
Hello OsmaSalih,
you can read continuous 125 input registers(3x) per one poll.
Quantum CPU for Concept was end of sales in 2015.
And Quantum CPU for Unity pro was end of sales in 2018.
So I don't think there will be further development.
Concept latest version is V2.6 SR7.
As I know, MBP_MSTR in Concept soft doesn't support function code 15.
One more, you can't use read_var function in Quantum.
You can migrate from Quantum to M580 with existing Quantum IO
I hope this information is helpful for you.
BR
READ_VAR is not supported for Quantum CPUs,
My only option is MBP_MSTR with function code 15
Discuss challenges in energy and automation with 30,000+ experts and peers.
Find answers in 10,000+ support articles to help solve your product and business challenges.
Find peer based solutions to your questions. Provide answers for fellow community members!