Hello Guest it is May 13, 2021, 02:04:06 PM

Author Topic: CSMIO IP-M very slow input  (Read 4514 times)

0 Members and 1 Guest are viewing this topic.

CSMIO IP-M very slow input
« on: May 01, 2015, 05:27:01 AM »
Hello do somebody have any idea what the input freqencie is from this module I can't get 2hz as input, and for a turret I am missing pulse on it when the turret is turning.
I have the idea that it is not posible to read 2 inputs tougether.
I have done this whit e LeaveBoy 77 card and never have problems whit it.

benny

Offline Hood

*
  •  25,838 25,838
  • Carnoustie, Scotland
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #1 on: May 02, 2015, 03:17:37 PM »
Maybe if you could explain a bit more what you are trying to do.
Hood
Re: CSMIO IP-M very slow input
« Reply #2 on: May 03, 2015, 06:29:58 AM »
so it have only to read the inputs van de turret when it is moving and so it is not posible to read 2 inputs the same time.
so when the turret is moving you never know what place it gone stop.

Offline Hood

*
  •  25,838 25,838
  • Carnoustie, Scotland
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #3 on: May 03, 2015, 08:11:03 AM »
I would think you should be able to read the two inputs at the same time. There will be a limitation of the update rate of Mach which is about 10Hz but other than that it should not be a problem.
Are you using a Brain or Macropump or Macro?
Hood
Re: CSMIO IP-M very slow input
« Reply #4 on: May 03, 2015, 01:48:02 PM »
so I use a marco and the freqence is maybe 1Hz this can not be the problem, the Macro work whit other people only it work not good whit me.
Benny

Offline Hood

*
  •  25,838 25,838
  • Carnoustie, Scotland
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #5 on: May 03, 2015, 01:59:07 PM »
Can you attach the macro please.
Hood
Re: CSMIO IP-M very slow input
« Reply #6 on: May 04, 2015, 07:44:27 AM »
,Emco PC-Turn 50

'M6Start.M1s
'Input1 is an optical sensor used to count tool positions
'Input2 is from a microswitch used to determine tool 0 position
'OUTPUT6 drives the tool changer forward, de activating it allows the tool changer to rotate back against the ratchet pawl at low power and is the default
'Un comment the Open statement, various write# statements and the close# function to write a logfile for diagnostic purposes

'Close #1
'Open "M6start_log.txt" For Output As #1 'open a file to write logs to
NewTool = GetSelectedTool()
'NewTool = 2
'Write #1, "NewTool ", NewTool
OldTool = GetCurrentTool()
'Write #1, "OldTool ", OldTool
MaxToolNum = 6 'Max number of tools for the changer
CurrPos = OldTool

While (NewTool > MaxToolNum)
    NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend

    'there is nothing to do so we just exit
If (NewTool = OldTool) And (NewTool > 0) Then
   'Write #1, "New tool number is the same as old tool number. Nothing to do "
       Exit Sub
End If

'If OldTool is 0 that means we dont know where the tool changer is currently positioned and need to reference to the microswitch for tool 1 position.
    'need to establish tool 0 position from microswitch
If (OldTool = 0) Then
   'Write #1, "Old tool number is zero, looking for reference position"
   ActivateSignal(OUTPUT5)' Set toolchanger for full speed move
        'Write #1, "Activated Output 5 to enable toolchanger motor"
        ActivateSignal(OUTPUT6)' rotate tool changer forward
        'Write #1, "Activated Output 6 to set forward direction"
    While Not IsActive(INPUT2)
    Wend
    ' Input 2 must Now be active so the microswitch has been triggered at position 1
    CurrPos = 1
    'Write #1, "Reference position found "
    ' Decide whether to just stop for the normal toolchange process
    If ( CurrPos <> NewTool) Then
       DeActivateSignal(OUTPUT6)
       DeActivateSignal(OUTPUT5)
    Else
    ' Or if we actuallly wanted tool 1 then stop and lock
           DeActivateSignal(OUTPUT5) 'stop rotating forward, rotate backward now
      'Write #1, "DeActivateSignal Output 5 toolchanger reverse "
           SetCurrentTool(NewTool) 'sets up the current tool variable as the start point for a future tool change
           'Write #1, "Setting CurrentTool to NewTool value ", NewTool
           Sleep(2500) 'Allow a time interval for the toolchanger to settle back against the ratchet pawl
           'Write #1, "Waited 2.5 seconds for toolchanger to lock "
           DeActivateSignal(OUTPUT6) 'Disable toolchanger motor
           'Write #1, "DeActivateSignal Output 6 toolchanger stop "
    End If
End If

If (CurrPos <> NewTool) Then 'write the start condition to a variable
   If IsActive(INPUT1) Then
      PreviousSensorState = "Active"
   Else
      PreviousSensorState = "Inactive"
   End If
   'Write #1, "PreviousSensorState =", PreviousSensorState
   ActivateSignal(OUTPUT5)' Set toolchanger for full speed move
          'Write #1, "ActivateSignal Output 6 toolchanger go"
        ActivateSignal(OUTPUT6) 'start rotating forward
        'Write #1, "ActivateSignal Output 5 toolchanger forward "
       While CurrPos <>  NewTool
          'Some logic to ensure that we only count on the leading edge of a slot in the toolchanger optical disk
           If IsActive(INPUT1) Then
              SensorState = "Active"
           Else
              SensorState = "Inactive"
           End If
           'Write #1, "SensorState =", SensorState
           If SensorState <> PreviousSensorState Then
              If SensorState = "Inactive" Then
                 CurrPos = CurrPos +1
                 If CurrPos = 7 Then
                    CurrPos = 1
                    'Write #1, "CurrPos reached 7, reset to 1 "
                 End If
              End If
              'Write #1, "CurrPos =", CurrPos
              PreviousSensorState = SensorState
           End If
           If CurrPos = NewTool Then
                 DeActivateSignal(OUTPUT5) 'stop rotating forward, rotate backward now
                 'Write #1, "DeActivateSignal Output 5 toolchanger reverse "
                 SetCurrentTool(NewTool) 'sets up the current tool variable as the start point for a future tool change
                 'Write #1, "Setting CurrentTool to NewTool value ", NewTool
                 Sleep(1500) 'Allow a time interval for the toolchanger to settle back against the ratchet pawl
                 'Write #1, "Waited 1.5 seconds for toolchanger to lock "
                 DeActivateSignal(OUTPUT6) 'Disable toolchanger motor
                 'Write #1, "DeActivateSignal Output 6 toolchanger stop "
           End If
           sleep(200) ' just slows the iterations down a bit
           'Write #1, "Waited 0.2 second "
       Wend
       'Write #1, "should be job done "
       'Close #1
End If   


So the marco have to run on a Emco Turn 50 machine

Offline TPS

*
  •  2,130 2,130
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #7 on: May 05, 2015, 10:06:16 AM »
Hi Benny,

i would try to use GetInBit(90, xx) insted of the IsActive(INPUT1)
statement, not sure witch one is faster.

it is also used in all CSMIO macro examples, maybe it helps.
i have used it in all my macros.

Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.

Offline Hood

*
  •  25,838 25,838
  • Carnoustie, Scotland
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #8 on: May 06, 2015, 05:58:31 PM »
I think what TPS says is the best way to try, it is the way I do the I/O with the CS-Lab controllers.
Note that when you do it that way you do not set up the I/O in Ports and Pins in Mach for these as if you do it will almost certainly cause a conflict.
Might also worthwhile taking the comments out to see what the log says.
Hood

Offline TPS

*
  •  2,130 2,130
    • View Profile
Re: CSMIO IP-M very slow input
« Reply #9 on: May 18, 2015, 10:13:58 AM »
Hi Benny,

any new info ?

Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.