dunc

SCADA to PLC tags???

10 posts in this topic

we have a system with an Omron SCADA and Omron PLC. most things i can work with fine and muddle my way through, however the drive status is confusing me a bit.

i have worked my way so far, but am struggling to work out how it all goes together.

in simple terms i am trying to find an alarm bit specified in the SCADA as I[4]. from what i can tell at the SCADA end, this is D2604 in the PLC.
5d9366f1b6275_scadatag.JPG.2c59ba9da5fdf

D2604 isnt a specified tag in the PLC, but if i monitor it, it is doing what i am expecting it to do.

i had a look through and found some vague reference to that register in a program in the PLC, i have attached the section which is to do with the alarms. this pointed me in the direction of H99 which seems to be a structured dataset?
5d936708a20e9_plccode1.JPG.24e10227ad464
5d93671518915_plccode2.JPG.bcc65f2c3e63b

5d93671a449b0_plctags.JPG.308e6d8e9a3a41

could someone explain to me in the simplest terms possible how an alarm goes from the H99.04 to D2604? if you need any more screenshots or info, let me know.

 

many thanks

Share this post


Link to post
Share on other sites

The @ sign in front of a D address means that it is using indirect addressing.  So, the MOV H99 @D2903 (that is what it looks like in the picture anyway) instruction is moving H99 to a register to which D2903 is pointing (integer format in D2903).  At some point, D2903 must be set to 2604 to specify the contents of H99 will be moved to D2604.

Share this post


Link to post
Share on other sites

Thanks for the reply.

ok, so that kinda makes a bit of sense. is the @no2 in the example the pointer for the indirect addressing?

Share this post


Link to post
Share on other sites

@n02 is just a comment, but the address that it is attached to (@D2902) is indirect addressing.

Share this post


Link to post
Share on other sites

this is an instruction that shows some relationship between D2900 and D2600. i am really struggling to get my head round it!?

Capture.JPG.71fba5abe415b45a41a59477e28d

 

i tried looking up indirect addressing in omron and found this post, which is informative, but is different to what is being done in this piece of software: http://misrautomation.blogspot.com/2010/02/indirect-addressing-in-plc.html im sure it will just click when i understand it, im really struggling to get it at the moment, sorry :(

1 person likes this

Share this post


Link to post
Share on other sites

Sorry, no relationship to D2600.

That shows a constant value of 2600.

gtsuport

Share this post


Link to post
Share on other sites

please see attached. this is a printout of the entire motor control subroutine. any guidance would be much appreciated.

plcinfo.xps

thanks

Share this post


Link to post
Share on other sites

The only difference between the example in your link and your program is the use of "*" versus "@".

If the address is preceded by "*", the value will be interpreted as BCD.

If the address is preceded by "@", the value will be interpreted as Decimal.

The value in D2900 will be key to determine where the data is coming from. Also, the section you have posted is a subroutine. This is most likely called from somewhere else in the program. Search for D2900 and find where it is being written to.

Share this post


Link to post
Share on other sites

Hi thanks for bearing with me. im slowly understanding how it works.

found D2900 which is written at every motor program section. the +11 is the indirect number i assume?

Capture.JPG.ca0809bcc89f38cb809e8979c829

so this instruction moves '11' into d2900, then the subroutine runs which i posted up before?

could someone try and explain in simple terms how this works please?

Share this post


Link to post
Share on other sites

We'll use the first two MOVs for an example. I ran a portion of this in the simulator as it may be easier to understand.

The first part is pretty easy to figure out. Move +11 into D2900 then run the subroutine. Then we do some simple addition and store them in separate data memory locations.

Mr_PLC_IndirectAddress1.PNG.2bd172b50aaa

Now, here is part I believe you need to understand. When preceding the DM location with the "@", The value moved comes from an indirect reference. In this example, the value in D2900 becomes the address containing the data. You can see in this simulation, I've populated D2011 and D2311 with arbitrary values of &1234 and &5678. Also, because we are using the "@", the values are interpreted as Decimal. When online or simulating be sure to monitor in Decimal.

Mr_PLC_IndirectAddress2.thumb.PNG.fe03f8

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now