General Category > Support Questions

Lost all my Comms

<< < (2/8) > >>

Archie:

--- Quote from: timryder on November 03, 2017, 12:52:15 PM ---
--- Quote ---Program scope tags are just completely blocked.
--- End quote ---

What is this? I don't know about it, perhaps I'm doing it?

--- End quote ---
Those are the tags only accessible to an individual program. The non-global tags/variables. If you try to read those you will get an error saying the tag does not exist.

timryder:
Thanks that clears it up for me.

timryder:
FYI:

I haven't been able to try anything yet but I was looking at the two solutions and I noticed that the original solution did NOT! have any DataSubsribers reading an Array... whereas my new logic has several.

So looks like i'll have to reinvent the wheel on my code and parse them all manually.  Quick Question.  Whats the recommend MAX number of tags I can read/write in one DS2?

Thanks

timryder:
Ok so another question, I have 64 tags to write to the PLC that I need to parse a List object for each value. Since I can't just do an Array write, whats the best method to write these values into the PLC? I know I can do a For Loop with i and for the name but what AdvancedHMI Component should I use for writing them down?  Also is there a Synchronous method for writing the values? I'd love to do some sort of a Progress Bar to let the user know the values are downloading.

Thanks in advance.

Archie:
There is no limit to the number of items added to a DataSubscriber2. Here is what you want to keep in mind.... The Micro800 series does not support multi-read requests, therefore every item requires its own packet. Each packet will typically take 10ms round trip. The DataSubscriber adds its items to the update list the same as the controls on the screen, so it will read those values at the same rate (unless you use a separate driver instance with a different PollRateOverride). So let's take the case where you have 25 items on the form and you have a DataSubscriber with 25 items. With 50 individual packets to update all values, it will takes about 500ms in between updates of each value. In other words be careful on how much you add to a single form and DataSubscribers when using the Micro800 series because things can get sluggish.

You can write an array using a for next loop. For example:

For index=0 to 99
    EthernetIPforMicro800Com1.Write("PLCArray[" & index & "]", MyArray[index])
Next


The write is a synchronous operation, so your screen will essentially freeze during that loop, unless you put it on a background thread.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version