Suggestions for safety features

Post anything you want to discuss with others about the software.

Re: Suggestions for safety features

Postby A_Camera » Sat Dec 03, 2016 9:57 pm

Oh please.....

No to all of them, definitely to the password idea (2) and the delayed loading (3).

BTW (3), (4) and (5) can easily be implemented already today if you want to. CNC Drive should not spend effort on these features. (5) requires a spindle which gives you feedback, unless you cheat.

Don't want any of them without possibilities of disabling these "safety features".
A_Camera
 
Posts: 639
Joined: Tue Sep 20, 2016 11:37 am

Re: Suggestions for safety features

Postby ger21 » Sun Dec 04, 2016 12:24 pm

I would think that these would prevent 99% of current users from being able to use their machines.

Couldn't all or most of this be done with the macroloops?

From my perspective, most of these are handled from the electronics end. On the industrial routers that I've used, you can't power up the machine until the software is running. Which is what the charge pump is for, correct? And then you can't run the machine until it's homed.

Aren't 1,3,4, and 5 all basically the same thing?
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2714
Joined: Sat Sep 03, 2016 2:17 am

Re: Suggestions for safety features

Postby ger21 » Sun Dec 04, 2016 6:25 pm

Just to add a bit more.

You can't make a $60 software control be a full industrial solution that's comparable to stuff costing $10,000 and up. In order to do that, you need dedicated hardware targeted towards those applications. Think ISO BOB with inputs for all the features in your original post. You just can't add these features to the software and call it done. You need hardware that works in conjunction with these features in a complete package.

It's hard enough to try to make UCCNC be a universal control for a variety of applications. If you're not careful, trying to make it more than it is for some areas makes it worse in others. This is what turned Mach3 into a mess.
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2714
Joined: Sat Sep 03, 2016 2:17 am

Re: Suggestions for safety features

Postby A_Camera » Sun Dec 04, 2016 6:35 pm

ger21 wrote:
Aren't 1,3,4, and 5 all basically the same thing?

...and 2 is easily fixed by Windows. Just set up different account for different people if people can't be trusted.
A_Camera
 
Posts: 639
Joined: Tue Sep 20, 2016 11:37 am

Re: Suggestions for safety features

Postby ger21 » Sun Dec 04, 2016 7:40 pm

To say that safety features would make it 99% unuseable is stretching it a bit don't you think


I meant if they were not optional. Making safety features optional kinda defeats their purpose, doesn't it.

Without full support from the CORE software it is very hard to make it work 100% or it can be undependable.



I still think it has top be integrated with hardware or it's only a half baked solution.
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2714
Joined: Sat Sep 03, 2016 2:17 am

Re: Suggestions for safety features

Postby ger21 » Sun Dec 04, 2016 7:42 pm

(4) Door safety interlock. prevents Gcode from running if running Feedhold/Stop Gcode Spindle/Coolant off. Setup for operator restart.


Isn't this normally part of the Estop circuit? It is on the routers I've used.
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2714
Joined: Sat Sep 03, 2016 2:17 am

Re: Suggestions for safety features

Postby cncdrive » Sun Dec 04, 2016 8:35 pm

Here is some macro code to password protect and do not allow the operator to do anything on startup until the password is typed in:
Place the code in the M99998 constructor macro.

Code: Select all
Password = "password";

frm = new Form();
frm.Size = new Size(200, 150);
frm.StartPosition = FormStartPosition.CenterScreen;
frm.ControlBox = false;

Label lbl = new Label();
lbl.Location = new Point(50, 10);
lbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
lbl.Text ="Password:";
frm.Controls.Add(lbl);

Button but = new Button();
but.Size = new Size(90,40);
but.Location = new Point(50, 80);
but.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
but.Text = "OK";
but.Click += new EventHandler(but_Click);
frm.Controls.Add(but);

tbx = new TextBox();
tbx.Size = new Size(170, 20);
tbx.Location = new Point(10, 40);
tbx.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
tbx.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
tbx.PasswordChar = '*';
frm.Controls.Add(tbx);

exec.mainform.Invoke(new MyDelegate(MyDelegated));

#Events

Form frm;
TextBox tbx;
string Password;

private delegate void MyDelegate();

void but_Click(object sender, EventArgs e)
{
  if(tbx.Text == Password)
  {
    frm.Close();
  }
  else
  {
     MessageBox.Show(this.frm, "Incorrect password!");
  }
}

void MyDelegated()
{
  frm.ShowDialog(exec.mainform);
}
cncdrive
Site Admin
 
Posts: 4901
Joined: Tue Aug 12, 2014 11:17 pm

Re: Suggestions for safety features

Postby cncdrive » Sun Dec 04, 2016 8:38 pm

The same way you could check for a switch, an input LED and only allow to close this Form if that switch is active.
cncdrive
Site Admin
 
Posts: 4901
Joined: Tue Aug 12, 2014 11:17 pm

Re: Suggestions for safety features

Postby cncdrive » Sun Dec 04, 2016 9:52 pm

You mean to force close the password Form?
cncdrive
Site Admin
 
Posts: 4901
Joined: Tue Aug 12, 2014 11:17 pm

Re: Suggestions for safety features

Postby cncdrive » Sun Dec 04, 2016 10:00 pm

You can't close the Form with Alt+F4 with this one:

Code: Select all
Password = "password";

frm = new Form();
frm.Size = new Size(200, 150);
frm.StartPosition = FormStartPosition.CenterScreen;
frm.ControlBox = false;
frm.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormClosing);

Label lbl = new Label();
lbl.Location = new Point(50, 10);
lbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
lbl.Text ="Password:";
frm.Controls.Add(lbl);

Button but = new Button();
but.Size = new Size(90,40);
but.Location = new Point(50, 80);
but.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
but.Text = "OK";
but.Click += new EventHandler(but_Click);
frm.Controls.Add(but);

tbx = new TextBox();
tbx.Size = new Size(170, 20);
tbx.Location = new Point(10, 40);
tbx.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
tbx.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
tbx.PasswordChar = '*';
frm.Controls.Add(tbx);

exec.mainform.Invoke(new MyDelegate(MyDelegated));

#Events

Form frm;
TextBox tbx;
string Password;
bool Closeable = false;

private delegate void MyDelegate();

void but_Click(object sender, EventArgs e)
{
  if(tbx.Text == Password)
  {
    this.Closeable = true;
    frm.Close();
  }
  else
  {
     MessageBox.Show(this.frm, "Incorrect password!");
  }

}

private void FormClosing(object sender, FormClosingEventArgs e)
{
  if(!Closeable)
  {
    e.Cancel = true;
  }
}

void MyDelegated()
{
  frm.ShowDialog(exec.mainform);
}
cncdrive
Site Admin
 
Posts: 4901
Joined: Tue Aug 12, 2014 11:17 pm

Next

Return to General discussion about the UCCNC software

Who is online

Users browsing this forum: No registered users and 10 guests