
Minimike (Customer) asked a question.
I am upgrading an old HMI, Optimate 1500 to CMore EA3-T6CL. The PLC is a Direct Logic 205 with a 240 CPU, yes it's old but still works great. I've set up a Look Up Text object to display message and some messages have data included. This works fine when displaying a single message, but part of the plc program will toggle between 2 messages on a three second interval. For example; "X.XXX Inch Louvers", then "XX.XX Inch Tilt Rod".
The message toggles fine but the Data cycles through a few numbers before displaying the correct number. The data is stored in V memory. If V3004 = 4000, then data display should read 40.00. When the message toggles, the data reads 00.00, then 35.00 then 40.00. V3004 showd the correct data in PLC.
I have erased the memory on the HMI and restored the HMI to factory settings but the problems persists. Any ideas?
Hi Minimike,
Can you attach your C-More Micro program so we can look at the settings?
Thank you,
Garry
https://accautomation.ca/series/c-more-micro-hmi/
Here is the program
LPS 6 Inch Screen 061121 Rev 1
Here are the two lines of code that toggle the messages and data tags. I noticed the SP4 will stay on for 3 seconds when I monitor the status. How is that possible when it's a 1 second bit? There is a second 240CPU that acts as a slave, but I couldn't find anything that refers to SP4 in that program.
Hi Minimike,
I cannot see anything incorrect on your C-More Micro program. I'm not that familiar with DirectSOFT but it sounds like you have a racing condition in the logic.
What I would try is to place those two lines of logic at the end of the PLC program. These would be the last lines scanned and would not be influenced by the other logic in the controller.
Just a thought.
Regards,
Garry
I have not done this but, It Looks like you made the place holders in message data base but did not specify a tag type. Go to message data base double click on line with the values you mentioned at bottom is a tag button to tell the tag involved and what type of embedded data is involved be it string, discrete or numeric.
Garry, I'll try moving the code. and AkaHammer I'll look into that tag and let you guys know how it goes, thanks again.
Since you have other messages in your message database that use embedded data, V3004 might be getting written to elsewhere in the program. That may be where your 00.00 and 35.00 are coming from. Look for any other OUT V3004 instructions that might be overwriting your data.
I am intrigued by the 3 second toggling. Based on the rungs you shared, that 1 second clock should make it switch back and forth every 1/2 second.
EDIT: I also converted some OP-1500s a few years back, so here's a tip. Instead of manipulating the BOTTOM LINE DATA value in the PLC, just embed the actual register you want to display within the HMI message. In your case, add the tags for V2100 (Louver Width) and V3020 (Tilt Bar Length) in the C-More, then use the in lieu of V3004 in messages 6 and 14. No need to change the PLC program. You can do the same for the rest of you embedded data messages too.
Ericn thanks for the tips, I’ll try them on Monday . I’m stumped by the 3 second toggle curious to see how it is done. This plc has a master 240 cpu and a slave 240 cpu, if I can get my boss to let me, I’ll post the programs maybe someone can figure it out
Garry, I moved the two lines of code like you suggested but no change in behavior.
AKAHammer, I verified the tag type was correct.
Ericn, I referenced the actual register containing the data to display and it helped some. I still get all zero's when the message first displays then the correct number a second after.
I ended up taking the data tag out of the message and adding a numeric display that shows when the message is displayed. That works.
Thanks for all the help.
I've had issues with messages not showing up correctly in C-More, part of it will get there but the integer or whatever else needs to be with the message ends up zero first. I'm sure it's something in the timing.
My solution is to not use any sort of lookup or messages in C-More. Build a string in the PLC and just have a simple string display on C-More, manipulate and control that display inside the PLC. It's much easier working inside the PLC than either of the C-More platforms IME. Not necessarily a simple or feasible solution if your program is already done though or if the PLC you're using doesn't have an easy way to build strings.