User Tools

Site Tools


mycnc:popup_messages

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
mycnc:popup_messages [2020/05/19 14:10] ivanmycnc:popup_messages [2020/05/25 11:13] ivan
Line 25: Line 25:
   * Coefficient K to multiply the variable by. Useful to convert tiny incremental changes (such as fractions of a second) or large rapidly changing numbers into numbers that can be easily read by the user.    * Coefficient K to multiply the variable by. Useful to convert tiny incremental changes (such as fractions of a second) or large rapidly changing numbers into numbers that can be easily read by the user. 
  
 +Popup messages are controlled by writing a **1** or a **0** into global variables #9100-9163 (1 to bring up the popup, 0 to close it). Therefore, the user can set up to 64 possible popup messages within the myCNC software by going into Settings > Config > Screen > Popup Messages and assigning the necessary messages there. Afterwards, the message can be brought up either through a PLC procedure, like so:
 +
 +<code>gvarset(9160,1);</code>
 +
 +or by using a G-code command (for example, within a macro) such as
 +
 +<code>G10 L80 P9160 Q1</code>
 +
 +which will write a 1 in the global variable #9160.
 +
 +====Examples of popup messages implementation====
 +
 +===M660===
 +
 +M660 PLC procedure is supposed to be a handler for manual tool change. It shows a "Manual Tool Change" message, then waits in a loop till tool changed. There can be a software flag (global variable register) indicating tool changed or
 +the procedure can wait till a hardware button (connected to the controller input) is pressed. Below is an example of a manual tool change handler M660.plc:
 +
 +<code>main()
 +{
 +  gvarset(1999,1); //set flag
 +  
 +  timer=0;
 +  flag=1;
 +  do{
 +    timer++;
 +    if ((timer&0xff)==0) //check every 0.25 sec
 +    {
 +      gvarset(9160,1); //show the Manual Tool Change Message #60
 +      flag=gvarget(1999); //check the flag, if flag<=0, then tool changed and a job should be resumed
 +    };
 + 
 +  }while(flag>0);
 +
 +  gvarset(9160,0); //clear the Message
 +  exit(99);
 +};
 +</code>
 +
 +Setup for message #60 in Settings > Config > Screen > Popup Messages:
 +
 +{{:mycnc:popup-messages-001-f.png}}
 +
 +Resulting popup message:
 +
 +{{:mycnc:popup-messages-002-f.png}}
 +
 +===M604===
 +
 +<code>#include pins.h
 +main()
 +{
 +  //clamp new tool
 +  portclr(OUTPUT_TOOL_CLAMP);
 +
 +  timer=300;do{timer--;}while(timer>0);
 +
 +  timer=2000;
 +  do
 +  {
 +    timer--;
 +    t=portget(INPUT_TOOL_CLAMPED);// 5
 +    if (t!=0)
 +    {
 +      exit(99);
 +    };
 +  }while(timer>0);
 +
 +  gvarset(9124,1);
 +  timer=20;do{timer--;}while(timer>0);
 +
 +  message=PLCCMD_MOTION_BREAK;
 +  timer=20;do{timer--;}while(timer>0);
 +
 +
 +  exit(99);
 +};</code>
mycnc/popup_messages.txt · Last modified: 2020/11/19 11:59 by ivan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki