Sign in to follow this  
Followers 0
mohit

cx designer help

32 posts in this topic

hey there... i need some urgent help. regarding CX DESIGNER..!!! i need to show ERROR MESSAGES....!!! using pop ups.... i want to activate a pop up when a certain condition is true ...(programmed in cx programmer) i am using an address... and want the message to flicker in a pop up when this address is activated....!!! how do i do this..??? as i am unable to find out how do i activate a pop up when a certain adresse is true...??? please help... thanx a ton..!!

Share this post


Link to post
Share on other sites
In CX-Designer open PT menu > Project properties. See attached for Message box function. If you want an animated msbox create a popup screen with your message & animation which you open with the Project macro. To be able to control a popup sreen from a macro: Go to PT > System setting Go to initial and open System Memory List Go to third page Tick the Pop-up Screen box, and select Binary. By default to control the first popup screen use adress $W1, for the 2nd $W4, for the 3rd $W7. Create a Macro which sets one of these system words to the screen number of your popup screen (command "$SW1=(n)". To close the screen use CLOSEPOPW(n) command or, set the system word to 0, or put a command button on the popup screen "acknowledged" and set the function to Control popup screen. In the program folder of CX-Designer both the CX-Designer operation manual and Macro reference manual are available. Pages_from_V075_E1_07.pdf

Share this post


Link to post
Share on other sites
hey pdl... thanx a lot man... i will check it right away... and if it works ... gr8... or else i will have to re-explain my problem... thanx anyways... cya Mohit

Share this post


Link to post
Share on other sites
hey there do i have to do everything that u said to make the thing work... or is it taht u gave me different solutions for the same thing..??? the thing about changing PROJECT PROPERTY an dthen putting an address how will it work... coz i want different pop ups to show different msgs ... according to the address that is true....!!!! bout the second thing.... changing PT... memory setting and all... how do i personalise it for evry pop up...??? its like i will have atleast a 60 pop ups which need to come when their respective bit is true... how do i do this...?? and for the pop up to dissapper u said i can have a button which does close pop up right..??? cud u explain this a bit more plzzzzzzzzzzzzz...!! thanx a ton...

Share this post


Link to post
Share on other sites
First of all, you don't have to PM me for every reply. I visit this forum almost on a daily basis and besides me there are plenty of others that can help you. I just learned to control popup screens from forum member ECSI a week ago... You can only have 3 popup screens opened simultaneously. If you have so many popup messages to show and ideally you want to have some animation in them I suggest the following, I have attached a test project for you which demonstrates how to control the popup screens with a macro. In the PLC, have every error bit move the decimal value of the popup screen number you want to show to for instance D100. Gather all error bits and have them control one general "show popup" bit, for instance I/O bit 100.0. In CX-Designer, I have created a macro at the "When a bit changed" option, which runs when bit 100.0 is ON. The macro is as following. 'Command READHOSTW(D, 0h, ch, addr, n) 'Reads n-word data from the host (h) and copies it to the PT memory ($W/$HW), D. 'D: Starting address to read data to ($W0 to $W32767, $HW0 to $HW8191) 'h: Host (host name/host number) 'ch: Host address type *(Refer to Macro refence manual section 2 - Adres type numbers) 'addr: Host starting address 'n: Number of elements to write (1 to 126) 'Reads 16bit data from D100 in the PLC connected to serial port A and stores it in system word $W100. READHOSTW($W100, [SERIALA], 300, 100, 1); 'Set 1st popup screen number to the value of system word 100. $SW1=$W100; All lines beginning with ' are comment so only the last and 3rd last line is the actual code. What this does is when bit 100.0 turns ON, it reads the 16 bits value of D100 from the host defined as SERIALA and copies the value to system word $W100. The following line sets system word $SW1 to the value of $W100. $SW1 controls the first popup screen as I activated in the system memory list. The project has 1 main screen where you can set D100, and a button to trigger bit 100.0 Now when you set value 1,2,3 or 4 and press the button it opens the particular popup screen. Every popup screen has an "acknowledge" button which closes the popup screen.If you leave the setting "Enable input on other screens" at the popup screen properties disabled, you force the operator to acknowledge the message before he can continue. If an error is ON and another error comes ON, the popup screen of the last error is only displayed. For the "ERROR" text on the popup screens I have set the Control Flag display to $SB0, which is a system pulse bit. It's an easy way to have flashing objects. Use the test mode with caution. Best is to test macro's in the actual hardware. Project created with CXD V2.0. Test_popup.zip

Share this post


Link to post
Share on other sites
You could try this... Enter all your alarms... In the PLC, if any alarm exists, then write the popup number to here... And on the popup screen, put an alarm viewer object...

Share this post


Link to post
Share on other sites
Excellent ParaffinPower!! I am still exploring the maze of possibilities in CXD and I was just learned a few days ago you can also acces system memory from a PLC, so indeed why not map the system memory area to actual PLC memory! Much more efficient. Oh well... it was a good exercise for me

Share this post


Link to post
Share on other sites
hey there.. thanx for all the help .. i tried doing what u suggested pdl.... i cudnt try ur popup download as i am using CXD v1.0 i configured system memory for pop ups tp be binary... then project property macro to when bit changed... SERIALA:HR00400.00 but the problem is that it accepts only bit adressing and word addressing is locked....!!! my errors are related to H400.00 to H400.14...(there will be many more but m just testing these at the moment....) and the pop ups start from screen 26.... DO I NEED TO CHANGE ANYTHING IN THE SCREEN SHEET PROPERTY of every pop up...??? how do i make sure that it is the 26th screen and onwards that will pop up.. cause i have configured the macro in the project property....!!! it is not poping up the 26th screen when H400.00 is turned to 1...!!! thanx for ur suggestions... as i really dont know much about this software...!!

Share this post


Link to post
Share on other sites
You can only display 3 popups at a time. What if more than 3 bits in word H400 are on at the same time? Do you want the popups to each display at intervals of so many seconds? If so, then PLC logic is the way to go instead of using macros. Which PLC are you using? Give us more detail of what you want to see exactly.

Share this post


Link to post
Share on other sites
Now if you copy the macro it should work. But forget my method. Follow the post of ParrafinPower, it is much better.

Share this post


Link to post
Share on other sites
hi ESCI... there is a machine which has several capteurs and i have to make sure an error message is put up on the screen in case there is a problem.... the error with the highest priority will be viewed...!! so the restriction bout just 3 pop ups doesnt actually bother me.... i have programmed the first part of this in CXProgrammer and i set a bit to 1 if the condition is true... and each bit has a corresponding message attached to it... which should be put up when the bit is 1.... I AM NOT ABLE TO UNDERSTAND HOW I CONNECT THIS BIT WITH THE CORRESPONDING MSG....??? I am using H400.... and will pass on to H401 and so on... all my error msgs will be from screen no 26 onwards...!!! so when H400.00 is on screen26 should be displayed.... when H400.01 is on screen27 should be displayed.... and so on....!! i am using V1.0 of CXD and CXP...!! i have no idea as to which PLC m using....!! the thing is that i have no concrete knowledge of this stuff... the tutorial doesnt really explain anythign.... and i am not even able to create the ACKNOWLEDGE button which turns off the pop up as PLD said....!!! thanx for ur help...

Share this post


Link to post
Share on other sites
Could you ease on the exclamation marks... it reads very annoying. I asume you will go with my method then. In screen 26, place a command button. Set the function to Control Pop-up screen > Close Local Pop-up Screen. Thanks for testing my patience.

Share this post


Link to post
Share on other sites
DUDE.... u r not obliged to reply to my queries....(exclamations omitted..) i dont see the point if my post is annoying u then y do u want to reply. let someone else reply... PPL DONT NEED TO HAVE PRE REQUISTE OF THE SOFTWARE... i appreciate ur help but u showing that u r annoyed but r still helping is kind of weird...(exclamations omitted again..) thanx anyways. I STILL HAVENT TESTED IF IT WORKS!

Share this post


Link to post
Share on other sites
Need I say more ? I am happy to help you out, but I suggested several things and from your replies I make up you haven't tried them. You keep asking the same questions. And I think I am not alone about the excessive use of puntuation marks. It just doesn't read pleasant. On topic again. Try my suggestions above and report back with your findings. Otherwise you are welcome to wait for someone else to help.

Share this post


Link to post
Share on other sites
fine just chill ok if it doesnt read pleasant i am glad u told me.. i am willing to change. i am in the process of tryin out what u suggested. in all that u told me how does the PRIORITY FACTOR intervene...?? as in where do i set the priorities for which is high and which is low...?? thanx

Share this post


Link to post
Share on other sites
That's why I asked. How do you want it to work ? Do all the errors have an equally increasing priority ? Or are there just a few high priority errors and the rest is same low priority. In that case you could solve it in the PLC ladder by preventing a low priority error controlling the general bit and the move instruction by putting a NC contact of the high priority error in series. If you choose to go ParaffinPower's way, you can set priority levels for the alarms in CXD.

Share this post


Link to post
Share on other sites
Hi PDL, i just the program yesterday and it didnt work. i am testing it at the moment as well but it doesnt work. the prog in the CXP works... but the screen 26 doesnt come up! i have set the macro in the project properties exactly as u have suggested i am using D100 instead of D1.... DO I NEED TO CHANGE SOMETHING IN THE MACRO??? i tried READHOSTW($W100, [sERIALA], 300, 100, 1); but this doesnt help either... do u see what seems to be the prblem..?? Thanx

Share this post


Link to post
Share on other sites
Does your host name match ? [sERIALA] Your macro is ok for D100. To verify you macro, use the CXD test mode (Tools > Test > Test offline) Use the test tool to set D100 on 26, and SET the macro run bit. Also it's important at System setting > Initial > System memory list page 3 you have enabled the pop-up screen section, and set it to BINARY (BCD is default).

Share this post


Link to post
Share on other sites
thats how i checked it... TEST.. i have also configured the pop up to binary on page3 when i set the SERIALA:WR00100.00 to 1 $SW1 still remains 0 and DM00001 appears.... i set the DM00001 to 26... but the pop up doesnt show.. HOW DO I SET THE MACRO RUN BIT...??

Share this post


Link to post
Share on other sites
PM me your application and I will check.

Share this post


Link to post
Share on other sites
just one thing.. when i set the $SW1 to any value like 27 it opens the specified pop up screen...

Share this post


Link to post
Share on other sites
Now you're talking about D1.... in your previous post you are talking about D100... which is it ? If your macro uses D100, you should have your PLC logic set accordingly. -EDIT- I have studied your Ladder logic, you are using BCD numbers in the MOV instructions. Instead of #26, enter &26. CXD is reading D100 in binary.

Share this post


Link to post
Share on other sites
i am using D100.. but it doesnt show D100 in the TEST.. i just changed # to & it wasnt accepting it before.. i am using D100 and have the macro as READHOSTW($W100, [sERIALA], 300, 1, 1);

Share this post


Link to post
Share on other sites
The format of the READHOSTW command is as following READHOSTW({NS start adress}, {host name}, {host adress type}, {host start adress}, {size}) So if you are using D100 the command should be READHOSTW($W100, [SERIALA], 300, 100, 1); as you tried before, in combination with the binary move I think it will work.

Share this post


Link to post
Share on other sites
DONE... but how do i SET THE MACRO RUN BIT...??? coz it works if i set the $SW1 to the screen number.. but it is not automatic i will try checking it on the machine this afternoon. will let u know the result. Thanx a ton for all the help and ur time!

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