Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

Here is the beginning of my code. The issue that I have is that this program runs in a CNC Machine. The OS is windows XP and the Machine runs in a real time Operation System. windows launches and then launches the Machines software from the Startup folder in the Start button. it takes a few minutes for the machine to completely launch its software. I need to launch my program from the startup folder also so that the operator does not have to. The problem is that my program will run a lot sooner then the machines OS so when my program tries to initialize the API's it will fail. I have a temp solution to Sleep(120000) on form1_load this helps. But if I load the software and run it with the machines OS already running I have to wait for 2 min before My program runs. I'm trying to figure out how to try to initialize everything if it fails wait for a period of time (about 5sec) then try again and keep doing this until the attempted is made let say 100 times then I want a msgbox that said could not connect and exit out of the program.

 

Any Ideas will be appreciated

Thanks

 

 

Imports Okuma.CMDATAPI.DataAPI
Public Class Form1
   Inherits System.Windows.Forms.Form
   Private objMachine As CMachine
   Private objVariables As CVariables
   Private objIO As Okuma.CMDATAPI.DataAPI.CIO
   Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Sleep(120000)
       Try
           objMachine = New CMachine
           objMachine.Init()
           objVariables = New CVariables
           objIO = New CIO
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
       ' tmr_CheckDoorState set for 1 second - 1,000 = 1 second
       'This will look for an open door every 1 second
       TimerIntervalUpdate()
       tmr_CheckDoorState.Enabled = True
   End Sub

  • Administrators
Posted

You could put this in a while loop e.g.

Imports Okuma.CMDATAPI.DataAPI
Public Class Form1
   Inherits System.Windows.Forms.Form
   Private objMachine As CMachine
   Private objVariables As CVariables
   Private objIO As Okuma.CMDATAPI.DataAPI.CIO
   Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

dim CMCrunning as boolean = false
while CMCRunning = false
       Try
           objMachine = New CMachine
           objMachine.Init()
           objVariables = New CVariables
           objIO = New CIO
           CMCRunning = true
       Catch ex As Exception
           Sleep(10000)
       End Try
End While
       ' tmr_CheckDoorState set for 1 second - 1,000 = 1 second
       'This will look for an open door every 1 second
       TimerIntervalUpdate()
       tmr_CheckDoorState.Enabled = True
   End Sub

Posting Guidelines FAQ Post Formatting

 

Intellectuals solve problems; geniuses prevent them.

-- Albert Einstein

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...