Sign in to follow this  
Followers 0
RsX

Cx-Supervisor 1.1 - Disturbing bugs?!

7 posts in this topic

Hi, I'm using Cx-Supervisor 1.1, currently in conjunction with CJ1M-CPU11. I was just today doing a little bit of test development on the Cx-Supervisor and came to the conclusion, that this developement environment lacks a lot of logical AND necessary functions. The first and worst problem (bug, to be more correct) is that when runtime application is first loaded, output points that have been set to be READ at startup, are not set to their correct values. I have output points defined in the point editor and even though I have set "Read Value From PLC" under the "Data Transfer Action When Opening a PLC", which is in the I/O Attributes Setup dialog, then at runtime startup, when the connection to the PLC is made, some points are STILL transferred from the PLC incorrectly (or not transferred at all - in any case, the boolean value is incorrect). Suppose for the 16 outputs from 0.00 to 0.15 I have the following combination set: 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 then from the runtime application screen, I could possibly read values like: 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 or something a little different, but NOT the actual state of the bits. Details are as follows: I have these 16 boolean output points defined, each for one relay output contact on an OC211 digital output unit. The unit's I/O allocation is from 0.00 to 0.15, so the boolean points are allocated accordingly, from 0.00 to 0.15. The runtime screen simply displays 16 led indicators or small lights, if you wish, and 16 buttons that would allow me to toggle those points, therefore toggling the output contacts of the OC211, which I can visually see on the PLC. I/O refresh for all these boolean output points is set to be done "On Change", so that the point values wouldn't be polled all the time unnecessarily. The setting "Read Value From PLC" is also applied, from under the I/O attributes setup, in the box "Data Transfer Actions When Opening PLC". So for each point, the point's value should be initially transferred FROM the PLC, displayed correctly by the fictionary led indicators on screen and then point values will be sent to the PLC whenever they change, while also changing the leds' state. When running the runtime app, toggling works fine, but when first reading IN the states of those 16 points from the PLC, some points are displayed incorrectly, like in the way shown above. Mostly the first 0.00 to 0.04 bits are displayed incorrectly - the rest are correct. Somewhat quite randomly, these first bits are set to 1 or 0. So the problem is: WHY won't the output points be read correctly from the PLC, when the PLC is first opened? What's with this random set thing? It's actually simple, isn't it ? The Cx-Server should read those 16 output points at first and after that, send their new values to the PLC whenever they change. I can't allow the Cx-supervisor to send the values to the plc and reset them at startup, since I want to preserve the values previously set in the PLC, even when the runtime application is restarted. The second problem is, that if the application screen area is wider than the screen resolution... there are no scrollbars in the runtime application. Why's this? Why can't the scrollbars be set anywhere? I mean, in the developer, you have scrollbars that allow you to scroll through your entire page. But in the runtime, they can't be activated anywhere.. I need to have schematics displayed, that might need a page of somewhat 2400 pixels wide and the height would remain normal, i.e. 768, but to do this, I'd need the user of the application to be able to scroll the screen horizontally to use the whole schematics... but this seems impossible ? Are these issues fixed in later versions..... ? Thanks for any replies and information.. I'm really stuck with these problems here :( [EDITED] to complete description and repair typos. Edited by RsX

Share this post


Link to post
Share on other sites
Hello, Had a little look at your CX-Supervisor problems ... Your Problem 1 - Output points not preset at startup. Three types of points: Input - Read only (does not write to the PLC) Output - Write only (does not read from the PLC) Input/Output - read and write (can read and write from the PLC) I note that your selected I/O Refresh option of 'On Change' is only available for output points only - output points can only 'Write' to the PLC, hence there is never any read operation. Try changing your point types to 'Input/Output' and select the option for 'Only update point value when displayed on screen'. and set the scan speed at a suitable setting (fairly quick for reasonable operator response). This should not slow your comms down too much, and will only read the values when they are displayed on the current page. Note also that the 'On Change' option is limited, as should the point values change by some other means (eg the ladder program) how would the SCADA 'know' their state even after an initial 'read' Your Problem 2 - No Scroll bars. It seems you are correct, scroll bars do not appear to be supported by standard CX-Supervisor pages. As a compromise, you could break your schematics into an overview page, with 'click' targets which allow the user to display larger views of the selected area? Alternately, I am no sure, but is there an ActiveX component which would provide the scrolling display you require? Hope this Helps Nibroc Edited by Nibroc

Share this post


Link to post
Share on other sites
Good call, Nibroc!

Share this post


Link to post
Share on other sites
Nibroc, if what you say is true, and output points cannot be used for reading data FROM the PLC, then how come some of the correct output point values DO get read when the runtime app starts up ? In addition, there COULDN't be the setting "read values from plc at startup", if they actually couldn't be read at all. Besides, controlling the unit's output contacts by using INPUT/OUTPUT points doesn't work - namely, changing the values of the bits won't work. When, for example, 0.00 is set to be an I/O point, then when trying to change that bit with a button click, the actual value in the PLC won't change - this can be seen from the physical led indicator of the relay contact output unit - it won't change. And yes, I've tried various settings when defining the point as an I/O point - tried update always, tried update only when on display, etc.. What I was referring to as the strangest thing in my problem is that MOST of the 16 bits, or values of the output relay bits in the CPU are actually read correctly into the runtime application at startup and toggling them works just fine, but somewhat 3-4 bits (the first ones, to be precise) occasionally are read in incorrectly. And when using I/O points, then as said, the application is unable to change the bits' values for some reason - i've also tried setting the update rate different, from 100 ms to 1 second and even 5 secs - nothing different. I agree that this IS a weird problem and shouldn't exist.. but it does. Logically taken, the output points are not MEANT to be read from PLC, but it can still be done - at least at program startup. Otherwise, the option "read value from PLC at startup" in the I/O attributes setup for an output point would never have been there. So there's something else... maybe you could give the situation a try and convince yourself, that this is actually the case.. that is, if you're using supervisor 1.1 - as said, these bugs may (and hopefully are) fixed in later versions... if they are, I'll just have to upgrade...

Share this post


Link to post
Share on other sites
Try it with the PLC in Program mode. If there is a coil programmed in the ladder for 0.00, then CX Supervisor will not be able to "turn it on."

Share this post


Link to post
Share on other sites
Firstly, I would not use the on change status. I would use the read (as you have done assuming you only want to read the points) and as Nibroc points out tick the box only update when displayed box. Secondly, ragrding the schematics......yeah no scroll bars, bummer, but hey show me a scada package that does not have little quirks....anyways i thnk that there are two solutions, that i can think of...1 in the settings for runtime there is a setting to resize the display automatically, will this work...? 2. Save the schematic in a HTML page, you can call and embed a HTML doc within your application, see the demo project that came with CX Supervisor, hopefully scroll bars are automtically associated with it....

Share this post


Link to post
Share on other sites
Thanks a million for pointing that out. My bad - I thought I knew the PLC program memory was empty, but there was a short ladder diagram that contained coils for some of the bits in word 0. I cleared the PLC's program and tried using an I/O boolean point array of 16 in size, from 0.00 to 0.15. Set the update rate to 200ms and yes, now it works fine! The 16 bit values are all read correctly from the PLC and changed at button click. Thanks for helping me in solving this problem, guys. Sometimes you just miss a few details and need people to point them out for you. As it comes to the second question about the scrollbars.. I thought about displaying the schematics in a HTML page embedded in the cx-supervisor page, but the schematics contain areas, that, when clicked on, should change color and alter a point's value. When doing this in HTML, I'd probably need to use tons and tons of javascript in the source.. Think an easier way would just be splitting up the schematics for example, in two halfs, and then display the first half on one page, and the second half on another page.. and just link the pages together with navigation buttons.. guess that would kinda do the job, though it's not how I imagined it.. Anyway, thanks to all.. got some good advice and came up with a few new ideas.

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
Sign in to follow this  
Followers 0