diff --git a/AgentBin/SCM.xml b/AgentBin/SCM.xml
new file mode 100644
index 0000000..51ab2af
--- /dev/null
+++ b/AgentBin/SCM.xml
@@ -0,0 +1,293 @@
+
+
+
+
+
+ Test machine SCM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MTC_Adapter/CMSCncLib/CMSCncLib.vbproj b/MTC_Adapter/CMSCncLib/CMSCncLib.vbproj
index 8908e49..715cbca 100644
--- a/MTC_Adapter/CMSCncLib/CMSCncLib.vbproj
+++ b/MTC_Adapter/CMSCncLib/CMSCncLib.vbproj
@@ -20,6 +20,7 @@
bin\Debug\
CMSCncLib.xml
42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+ FS30D=1
pdbonly
@@ -29,6 +30,7 @@
bin\Release\
CMSCncLib.xml
42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+ FS30D=1
On
@@ -51,6 +53,7 @@
pdbonly
AnyCPU
MinimumRecommendedRules.ruleset
+ FS30D=1
true
@@ -61,6 +64,7 @@
pdbonly
AnyCPU
MinimumRecommendedRules.ruleset
+ FS30D=1
true
@@ -71,6 +75,7 @@
pdbonly
AnyCPU
MinimumRecommendedRules.ruleset
+ FS30D=1
diff --git a/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb b/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb
index 6186eea..76cc323 100644
--- a/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb
+++ b/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb
@@ -251,96 +251,6 @@ Namespace CNC
Next i
End Sub
- Public Overrides Function SetCncWindowSize() As Boolean
- Dim CncWindowSizeNew As Size
-
- Select Case Config.Settings.Settings.OpPanel_ScreenSize 'Screen.PrimaryScreen.Bounds.Size
- Case New Size(800, 600) '10"
- CncWindowSizeNew = New System.Drawing.Size(640, 500)
- Case New Size(1024, 768) '15"
- CncWindowSizeNew = New System.Drawing.Size(800, 620)
- Case New Size(2048, 768) '15" doppio monitor
- CncWindowSizeNew = New System.Drawing.Size(800, 620)
- Case New Size(1280, 800) '15,6" widescreen
- CncWindowSizeNew = New System.Drawing.Size(800, 620) ''
- Case New Size(1280, 1024) '17"
- CncWindowSizeNew = New System.Drawing.Size(960, 740)
- Case Else
- CncWindowSizeNew = New System.Drawing.Size(800, 620)
- End Select
- If _CncWindowSize <> CncWindowSizeNew Then
- _CncWindowSize = CncWindowSizeNew
- Return True
- Else
- Return False
- End If
- End Function
-
- Public Overrides Sub RunCnc()
- Dim szProgramFilesDir As String
- Dim szPath As String = ""
- Dim szParam As String = ""
- Dim key As RegistryKey
- Dim myProcess As System.Diagnostics.Process
-
- If Not FindCncWindow() Then
- key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion")
- szProgramFilesDir = key.GetValue("ProgramFilesDir")
-
- Select Case _CncScreen_connectionType
- Case FANUC.ConnectionType.Ethernet
- szPath = szProgramFilesDir & "\CNCScreenE\CNCScrnE.exe"
- szParam = "/H=" & Config.Settings.Settings.IpFanuc & ":" & CStr(Config.Settings.Settings.PortIpFanuc) & "/T=30"
- Case FANUC.ConnectionType.Hssb
- szPath = szProgramFilesDir & "\CNCScreen\CNCScrn.exe"
- szParam = ""
- End Select
-
- 'ShellExecute(0, "open", szPath, szParam, vbNullString, SW_SHOWNORMAL)
- myProcess = System.Diagnostics.Process.Start(szPath, szParam)
- End If
- End Sub
-
- Public Overrides Sub CloseCnc()
- If FindCncWindow() Then
- _CncWindowProcess.Kill()
- End If
- End Sub
-
- 'Public Overrides Function FindCncWindow() As Boolean
- ' _CncWindowProcess = FindProcess(CncScreen_ProcessName)
- ' Return _CncWindowProcess IsNot Nothing
- 'End Function
-
- 'Public Overrides Function CncIsIconic() As Boolean
- ' If _CncWindowProcess IsNot Nothing Then
- ' Return ProcessIsIconic(_CncWindowProcess.MainWindowHandle)
- ' End If
- 'End Function
-
- 'Public Overrides Function CncIsZoomed() As Boolean
- ' If _CncWindowProcess IsNot Nothing Then
- ' Return ProcessIsZoomed(_CncWindowProcess.MainWindowHandle)
- ' End If
- 'End Function
-
- 'Public Overrides Sub MinimizeCnc()
- ' MinimizeWindow(CncScreen_ProcessName)
- 'End Sub
-
- 'Public Overrides Sub NormalizeCnc()
- ' ShowNormalWindow(CncScreen_ProcessName)
- ' MoveWindow(CncScreen_ProcessName, _CncWindowPosition)
- 'End Sub
-
- 'Public Overrides Sub SetCncFocus()
- ' SetWindowFocus(CncScreen_ProcessName)
- 'End Sub
-
- 'Public Overrides Sub MoveCnc()
- ' MoveWindow(CncScreen_ProcessName, CncWindowPosition, "CNC Screen Display Function")
- 'End Sub
-
'''
''' Get class series of CNC: 16 or 30
'''
diff --git a/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/_/fwlib32.vb b/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/_/fwlib32.vb
index 86a4921..94e6d90 100644
--- a/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/_/fwlib32.vb
+++ b/MTC_Adapter/CMSCncLib/CNC/CNC.FANUC/_/fwlib32.vb
@@ -15,90 +15,90 @@ Public Class Focas1
#If FS30D Then
Public Const MAX_AXIS = 32
#Else
-#If M_AXIS2 Then
- Public Const MAX_AXIS = 24
-#Else
-#If FS15D Then
- Public Const MAX_AXIS = 10
-#Else
- Public Const MAX_AXIS = 8
-#End If
-#End If
+ #If M_AXIS2 Then
+ Public Const MAX_AXIS = 24
+ #Else
+ #If FS15D Then
+ Public Const MAX_AXIS = 10
+ #Else
+ Public Const MAX_AXIS = 8
+ #End If
+ #End If
#End If
- Public Const ALL_AXES = (-1)
+ Public Const ALL_AXES = (-1)
Public Const ALL_SPINDLES = (-1)
' Error Codes
- Public Const EW_PROTOCOL = (-17) ' protocol error
- Public Const EW_SOCKET = (-16) ' Windows socket error
- Public Const EW_NODLL = (-15) ' DLL not exist error
- Public Const EW_BUS = (-11) ' bus error
- Public Const EW_SYSTEM2 = (-10) ' system error
- Public Const EW_HSSB = (-9) ' hssb communication error
- Public Const EW_HANDLE = (-8) ' Windows library handle error
- Public Const EW_VERSION = (-7) ' CNC/PMC version missmatch
- Public Const EW_UNEXP = (-6) ' abnormal error
- Public Const EW_SYSTEM = (-5) ' system error
- Public Const EW_PARITY = (-4) ' shared RAM parity error
- Public Const EW_MMCSYS = (-3) ' emm386 or mmcsys install error
- Public Const EW_RESET = (-2) ' reset or stop occured error
- Public Const EW_BUSY = (-1) ' busy error
- Public Const EW_OK = 0 ' no problem
- Public Const EW_FUNC = 1 ' command prepare error
- Public Const EW_NOPMC = 1 ' pmc not exist
- Public Const EW_LENGTH = 2 ' data block length error
- Public Const EW_NUMBER = 3 ' data number error
- Public Const EW_RANGE = 3 ' address range error
- Public Const EW_ATTRIB = 4 ' data attribute error
- Public Const EW_TYPE = 4 ' data type error
- Public Const EW_DATA = 5 ' data error
- Public Const EW_NOOPT = 6 ' no option error
- Public Const EW_PROT = 7 ' write protect error
- Public Const EW_OVRFLOW = 8 ' memory overflow error
- Public Const EW_PARAM = 9 ' cnc parameter not correct error
- Public Const EW_BUFFER = 10 ' buffer error
- Public Const EW_PATH = 11 ' path error
- Public Const EW_MODE = 12 ' cnc mode error
- Public Const EW_REJECT = 13 ' execution rejected error
- Public Const EW_DTSRVR = 14 ' data server error
- Public Const EW_ALARM = 15 ' alarm has been occurred
- Public Const EW_STOP = 16 ' CNC is not running
- Public Const EW_PASSWD = 17 ' protection data error
+ Public Const EW_PROTOCOL = (-17) ' protocol error
+ Public Const EW_SOCKET = (-16) ' Windows socket error
+ Public Const EW_NODLL = (-15) ' DLL not exist error
+ Public Const EW_BUS = (-11) ' bus error
+ Public Const EW_SYSTEM2 = (-10) ' system error
+ Public Const EW_HSSB = (-9) ' hssb communication error
+ Public Const EW_HANDLE = (-8) ' Windows library handle error
+ Public Const EW_VERSION = (-7) ' CNC/PMC version missmatch
+ Public Const EW_UNEXP = (-6) ' abnormal error
+ Public Const EW_SYSTEM = (-5) ' system error
+ Public Const EW_PARITY = (-4) ' shared RAM parity error
+ Public Const EW_MMCSYS = (-3) ' emm386 or mmcsys install error
+ Public Const EW_RESET = (-2) ' reset or stop occured error
+ Public Const EW_BUSY = (-1) ' busy error
+ Public Const EW_OK = 0 ' no problem
+ Public Const EW_FUNC = 1 ' command prepare error
+ Public Const EW_NOPMC = 1 ' pmc not exist
+ Public Const EW_LENGTH = 2 ' data block length error
+ Public Const EW_NUMBER = 3 ' data number error
+ Public Const EW_RANGE = 3 ' address range error
+ Public Const EW_ATTRIB = 4 ' data attribute error
+ Public Const EW_TYPE = 4 ' data type error
+ Public Const EW_DATA = 5 ' data error
+ Public Const EW_NOOPT = 6 ' no option error
+ Public Const EW_PROT = 7 ' write protect error
+ Public Const EW_OVRFLOW = 8 ' memory overflow error
+ Public Const EW_PARAM = 9 ' cnc parameter not correct error
+ Public Const EW_BUFFER = 10 ' buffer error
+ Public Const EW_PATH = 11 ' path error
+ Public Const EW_MODE = 12 ' cnc mode error
+ Public Const EW_REJECT = 13 ' execution rejected error
+ Public Const EW_DTSRVR = 14 ' data server error
+ Public Const EW_ALARM = 15 ' alarm has been occurred
+ Public Const EW_STOP = 16 ' CNC is not running
+ Public Const EW_PASSWD = 17 ' protection data error
' Result codes of DNC operation
-
- Public Const DNC_NORMAL = (-1) ' normal completed
- Public Const DNC_CANCEL = (-32768) ' DNC operation was canceled by CNC
- Public Const DNC_OPENERR = (-514) ' file open error
- Public Const DNC_NOFILE = (-516) ' file not found
- Public Const DNC_READERR = (-517) ' read error
-'--------------------
-'
-' Structure Template
-'
-'--------------------
-'-------------------------------------
-' CNC: Control axis / spindle related
-'-------------------------------------
+ Public Const DNC_NORMAL = (-1) ' normal completed
+ Public Const DNC_CANCEL = (-32768) ' DNC operation was canceled by CNC
+ Public Const DNC_OPENERR = (-514) ' file open error
+ Public Const DNC_NOFILE = (-516) ' file not found
+ Public Const DNC_READERR = (-517) ' read error
+
+ '--------------------
+ '
+ ' Structure Template
+ '
+ '--------------------
+ '-------------------------------------
+ ' CNC: Control axis / spindle related
+ '-------------------------------------
' cnc_actf:read actual axis feedrate(F)
' cnc_acts:read actual spindle speed(S)
- _
+
Public Structure ODBACT
- _
+
Public dummy As Short() ' dummy
Public data As Integer ' actual feed / actual spindle
End Structure 'ODBACT
' cnc_acts2:read actual spindle speed(S)
' (All or specified )
- _
+
Public Structure ODBACT2
Public datano As Short ' spindle number
Public type As Short ' dummy
- _
+
Public data As Integer() ' spindle data
End Structure 'ODBACT2
@@ -111,35 +111,35 @@ Public Class Focas1
' cnc_accdecdly:read acceleration/deceleration delay value
' cnc_absolute2:read absolute axis position 2
' cnc_relative2:read relative axis position 2
- _
- Public Structure ODBAXIS
+
+ Public Structure ODBAXIS
Public dummy As Short ' dummy
Public type As Short ' axis number
- _
+
Public data As Integer() ' data value
End Structure 'ODBAXIS
' cnc_rddynamic:read all dynamic data
- _
- Public Structure FAXIS
- _
+
+ Public Structure FAXIS
+
Public absolute As Integer() ' absolute position
- _
+
Public machine As Integer() ' machine position
- _
+
Public relative As Integer() ' relative position
- _
+
Public distance As Integer() ' distance to go
End Structure 'FAXIS
- _
- Public Structure OAXIS
- Public absolute As Integer ' absolute position
- Public machine As Integer ' machine position
- Public relative As Integer ' relative position
- Public distance As Integer ' distance to go
+
+ Public Structure OAXIS
+ Public absolute As Integer ' absolute position
+ Public machine As Integer ' machine position
+ Public relative As Integer ' relative position
+ Public distance As Integer ' distance to go
End Structure
#If ONO8D = Nothing Then
- _
+
Public Structure ODBDY_1
Public dummy As Short
Public axis As Short ' axis number
@@ -152,7 +152,7 @@ Public Class Focas1
Public pos As FAXIS
End Structure
- _
+
Public Structure ODBDY_2
Public dummy As Short
Public axis As Short ' axis number
@@ -192,7 +192,7 @@ Public Class Focas1
#End If
' cnc_rddynamic2:read all dynamic data
- _
+
Public Structure ODBDY2_1
Public dummy As Short
Public axis As Short ' axis number
@@ -204,7 +204,7 @@ Public Class Focas1
Public acts As Integer ' actual spindle speed
Public pos As FAXIS
End Structure
- _
+
Public Structure ODBDY2_2
Public dummy As Short
Public axis As Short ' axis number
@@ -218,45 +218,45 @@ Public Class Focas1
End Structure
' cnc_wrrelpos:set origin / preset relative axis position
- _
+
Public Structure IDBWRR
Public datano As Short ' dummy
Public type As Short ' axis number
- _
+
Public data As Integer() ' preset data
End Structure
' cnc_prstwkcd:preset work coordinate
- _
+
Public Structure IDBWRA
Public datano As Short ' dummy
Public type As Short ' axis number
- _
+
Public data As Integer() ' preset data
End Structure
' cnc_rdmovrlap:read manual overlapped motion value
- _
+
Public Structure IODBOVL
Public datano As Short ' dummy
Public type As Short ' axis number
- _
+
Public data As Integer() ' data value:[2][MAX_AXIS]
End Structure
' cnc_rdspload:read load information of serial spindle
' cnc_rdspmaxrpm:read maximum r.p.m. ratio of serial spindle
' cnc_rdspgear:read gear ratio of serial spindle
- _
+
Public Structure ODBSPN
Public datano As Short ' dummy
Public type As Short ' axis number
- _
+
Public data As Short() ' preset data
End Structure
' cnc_rdposition:read tool position
- _
+
Public Structure POSELM
Public data As Integer ' position data
Public dec As Short ' place of decimal point of position data
@@ -266,16 +266,15 @@ Public Class Focas1
Public suff As Char ' axis name preffix
End Structure
- _
+
Public Structure POSELMALL
Public abs As POSELM
Public mach As POSELM
Public rel As POSELM
Public dist As POSELM
End Structure
-
-#If M_AXIS2 Then
- _
+#If FS30D Then
+
Public Structure ODBPOS
Public p1 As POSELMALL
Public p2 As POSELMALL
@@ -301,49 +300,128 @@ Public Class Focas1
Public p22 As POSELMALL
Public p23 As POSELMALL
Public p24 As POSELMALL
- ' In case of 24 axes.
+ Public p25 As POSELMALL
+ Public p26 As POSELMALL
+ Public p27 As POSELMALL
+ Public p28 As POSELMALL
+ Public p29 As POSELMALL
+ Public p30 As POSELMALL
+ Public p31 As POSELMALL
+ Public p32 As POSELMALL
+ ' In case of 32 axes.
' if you need the more information, you must be add the member.
End Structure
#Else
-#If FS15D Then
- _
- Public Structure ODBPOS
- Public p1 As POSELMALL
- Public p2 As POSELMALL
- Public p3 As POSELMALL
- Public p4 As POSELMALL
- Public p5 As POSELMALL
- Public p6 As POSELMALL
- Public p7 As POSELMALL
- Public p8 As POSELMALL
- Public p9 As POSELMALL
- Public p10 As POSELMALL
- ' In case of 10 axes.
- ' if you need the more information, you must be add the member.
- End Structure
-#Else
- _
- Public Structure ODBPOS
- Public p1 As POSELMALL
- Public p2 As POSELMALL
- Public p3 As POSELMALL
- Public p4 As POSELMALL
- Public p5 As POSELMALL
- Public p6 As POSELMALL
- Public p7 As POSELMALL
- Public p8 As POSELMALL
- ' In case of 8 axes.
- ' if you need the more information, you must be add the member.
- End Structure
-#End If
+ #If M_AXIS2 Then
+ _
+ Public Structure ODBPOS
+ Public p1 As POSELMALL
+ Public p2 As POSELMALL
+ Public p3 As POSELMALL
+ Public p4 As POSELMALL
+ Public p5 As POSELMALL
+ Public p6 As POSELMALL
+ Public p7 As POSELMALL
+ Public p8 As POSELMALL
+ Public p9 As POSELMALL
+ Public p10 As POSELMALL
+ Public p11 As POSELMALL
+ Public p12 As POSELMALL
+ Public p13 As POSELMALL
+ Public p14 As POSELMALL
+ Public p15 As POSELMALL
+ Public p16 As POSELMALL
+ Public p17 As POSELMALL
+ Public p18 As POSELMALL
+ Public p19 As POSELMALL
+ Public p20 As POSELMALL
+ Public p21 As POSELMALL
+ Public p22 As POSELMALL
+ Public p23 As POSELMALL
+ Public p24 As POSELMALL
+ ' In case of 24 axes.
+ ' if you need the more information, you must be add the member.
+ End Structure
+ #Else
+ #If FS15D Then
+ _
+ Public Structure ODBPOS
+ Public p1 As POSELMALL
+ Public p2 As POSELMALL
+ Public p3 As POSELMALL
+ Public p4 As POSELMALL
+ Public p5 As POSELMALL
+ Public p6 As POSELMALL
+ Public p7 As POSELMALL
+ Public p8 As POSELMALL
+ Public p9 As POSELMALL
+ Public p10 As POSELMALL
+ ' In case of 10 axes.
+ ' if you need the more information, you must be add the member.
+ End Structure
+ #Else
+ _
+ Public Structure ODBPOS
+ Public p1 As POSELMALL
+ Public p2 As POSELMALL
+ Public p3 As POSELMALL
+ Public p4 As POSELMALL
+ Public p5 As POSELMALL
+ Public p6 As POSELMALL
+ Public p7 As POSELMALL
+ Public p8 As POSELMALL
+ ' In case of 8 axes.
+ ' if you need the more information, you must be add the member.
+ End Structure
+ #End If
+ #End If
#End If
' cnc_rdhndintrpt:read handle interruption
- _
+
Public Structure ODBHND_data
Public input As POSELM ' input unit
Public output As POSELM ' output unit
End Structure
+#If FS30D Then
+
+ Public Structure ODBHND
+ Public p1 As ODBHND_data
+ Public p2 As ODBHND_data
+ Public p3 As ODBHND_data
+ Public p4 As ODBHND_data
+ Public p5 As ODBHND_data
+ Public p6 As ODBHND_data
+ Public p7 As ODBHND_data
+ Public p8 As ODBHND_data
+ Public p9 As ODBHND_data
+ Public p10 As ODBHND_data
+ Public p11 As ODBHND_data
+ Public p12 As ODBHND_data
+ Public p13 As ODBHND_data
+ Public p14 As ODBHND_data
+ Public p15 As ODBHND_data
+ Public p16 As ODBHND_data
+ Public p17 As ODBHND_data
+ Public p18 As ODBHND_data
+ Public p19 As ODBHND_data
+ Public p20 As ODBHND_data
+ Public p21 As ODBHND_data
+ Public p22 As ODBHND_data
+ Public p23 As ODBHND_data
+ Public p24 As ODBHND_data
+ Public p25 As ODBHND_data
+ Public p26 As ODBHND_data
+ Public p27 As ODBHND_data
+ Public p28 As ODBHND_data
+ Public p29 As ODBHND_data
+ Public p30 As ODBHND_data
+ Public p31 As ODBHND_data
+ Public p32 As ODBHND_data
+ ' In case of 32 axes.
+ ' if you need the more information, you must be add the member.
+ End Structure
+#Else
#If M_AXIS2 Then
_
Public Structure ODBHND
@@ -406,10 +484,11 @@ Public Class Focas1
' if you need the more information, you must be add the member.
End Structure
#End If
+#End If
#End If
' cnc_rdspeed:read current speed
- _
+
Public Structure SPEEDELM
Public data As Integer ' speed data
Public dec As Short ' decimal position
@@ -419,7 +498,7 @@ Public Class Focas1
Public suff As Byte ' suffix
End Structure
- _
+
Public Structure ODBSPEED
Public actf As SPEEDELM ' actual feed rate
Public acts As SPEEDELM ' actual spindle speed
@@ -427,17 +506,53 @@ Public Class Focas1
' cnc_rdsvmeter:read servo load meter
' cnc_rdspmeter:read spindle load meter
- _
+
Public Structure LOADELM
Public data As Integer ' load meter
- Public dec As Short ' decimal position
+ Public dec As Short ' decimal position
Public unit As Short ' unit
Public name As Byte ' name of data
Public suff1 As Byte ' suffix
Public suff2 As Byte ' suffix
Public reserve As Byte ' reserve
End Structure
-
+#If FS30D Then
+
+ Public Structure ODBSVLOAD
+ Public svload1 As LOADELM ' servo load meter
+ Public svload2 As LOADELM ' servo load meter
+ Public svload3 As LOADELM ' servo load meter
+ Public svload4 As LOADELM ' servo load meter
+ Public svload5 As LOADELM ' servo load meter
+ Public svload6 As LOADELM ' servo load meter
+ Public svload7 As LOADELM ' servo load meter
+ Public svload8 As LOADELM ' servo load meter
+ Public svload9 As LOADELM ' servo load meter
+ Public svload10 As LOADELM ' servo load meter
+ Public svload11 As LOADELM ' servo load meter
+ Public svload12 As LOADELM ' servo load meter
+ Public svload13 As LOADELM ' servo load meter
+ Public svload14 As LOADELM ' servo load meter
+ Public svload15 As LOADELM ' servo load meter
+ Public svload16 As LOADELM ' servo load meter
+ Public svload17 As LOADELM ' servo load meter
+ Public svload18 As LOADELM ' servo load meter
+ Public svload19 As LOADELM ' servo load meter
+ Public svload20 As LOADELM ' servo load meter
+ Public svload21 As LOADELM ' servo load meter
+ Public svload22 As LOADELM ' servo load meter
+ Public svload23 As LOADELM ' servo load meter
+ Public svload24 As LOADELM ' servo load meter
+ Public svload25 As LOADELM ' servo load meter
+ Public svload26 As LOADELM ' servo load meter
+ Public svload27 As LOADELM ' servo load meter
+ Public svload28 As LOADELM ' servo load meter
+ Public svload29 As LOADELM ' servo load meter
+ Public svload30 As LOADELM ' servo load meter
+ Public svload31 As LOADELM ' servo load meter
+ Public svload32 As LOADELM ' servo load meter
+ End Structure
+#Else
#If M_AXIS2 Then
_
Public Structure ODBSVLOAD
@@ -494,14 +609,15 @@ Public Class Focas1
Public svload8 As LOADELM ' servo load meter
End Structure
#End If
+#End If
#End If
- _
+
Public Structure ODBSPLOAD_data
Public spload As LOADELM ' spindle load meter
Public spspeed As LOADELM ' spindle speed
End Structure
- _
+
Public Structure ODBSPLOAD
Public spload1 As ODBSPLOAD_data ' spindle load
Public spload2 As ODBSPLOAD_data ' spindle load
@@ -510,14 +626,14 @@ Public Class Focas1
End Structure
' cnc_rdexecpt:read execution program pointer
- _
+
Public Structure PRGPNT
Public prog_no As Integer ' program number
- Public blk_no As Integer ' block number
+ Public blk_no As Integer ' block number
End Structure
' cnc_rd5axmandt:read manual feed for 5-axis machining
- _
+
Public Structure ODB5AXMAN
Public type1 As Short
Public type2 As Short
@@ -525,27 +641,27 @@ Public Class Focas1
Public data1 As Integer
Public data2 As Integer
Public data3 As Integer
- Public c1 As Integer
- Public c2 As Integer
+ Public c1 As Integer
+ Public c2 As Integer
Public dummy As Integer
- Public td As Integer
- Public r1 As Integer
- Public r2 As Integer
- Public vr As Integer
- Public h1 As Integer
- Public h2 As Integer
+ Public td As Integer
+ Public r1 As Integer
+ Public r2 As Integer
+ Public vr As Integer
+ Public h1 As Integer
+ Public h2 As Integer
End Structure
-'----------------------
-' CNC: Program related
-'----------------------
+ '----------------------
+ ' CNC: Program related
+ '----------------------
' cnc_rddncdgndt:read the diagnosis data of DNC operation
- _
+
Public Structure ODBDNCDGN
Public ctrl_word As Short
Public can_word As Short
- _
+
Public nc_file As Char()
Public read_ptr As Short
Public write_ptr As Short
@@ -555,31 +671,31 @@ Public Class Focas1
' cnc_upload:upload NC program
' cnc_cupload:upload NC program(conditional)
- _
+
Public Structure ODBUP
- _
+
Public dummy As Short() ' dummy
- _
+
Public data As String ' data
End Structure ' In case that the number of data is 256
' cnc_buff:read buffer status for downloading/verification NC program
- _
+
Public Structure ODBBUF
- _
+
Public dummy As Short() ' dummy
Public data As Short ' buffer status
End Structure
' cnc_rdprogdir:read program directory
- _
+
Public Structure PRGDIR
- _
+
Public prg_data As Char() ' directory data
End Structure ' In case that the number of data is 256
' cnc_rdproginfo:read program information
- _
+
Public Structure ODBNC_1
Public reg_prg As Short ' registered program number
Public unreg_prg As Short ' unregistered program number
@@ -587,17 +703,17 @@ Public Class Focas1
Public unused_mem As Integer ' unused memory area
End Structure
- _
+
Public Structure ODBNC_2
- _
+
Public asc As Char() ' ASCII string type
End Structure
' cnc_rdprgnum:read program number under execution
#If ONO8D = Nothing Then
- _
+
Public Structure ODBPRO
- _
+
Public dummy As Short() ' dummy
Public data As Short ' running program number
Public mdata As Short ' main program number
@@ -613,24 +729,24 @@ Public Class Focas1
#End If
' cnc_exeprgname:read program name under execution
- _
+
Public Structure ODBEXEPRG
- _
- Public name As Char() ' running program name
+
+ Public name As Char() ' running program name
Public o_num As Integer ' running program number
End Structure
' cnc_rdseqnum:read sequence number under execution
- _
+
Public Structure ODBSEQ
- _
+
Public dummy As Short() ' dummy
Public data As Integer ' sequence number
End Structure
' cnc_rdmdipntr:read execution pointer for MDI operation
#If ONO8D = Nothing Then
- _
+
Public Structure ODBMDIP
Public mdiprog As Short ' exec. program number
Public mdipntr As Integer ' exec. pointer
@@ -648,118 +764,118 @@ Public Class Focas1
#End If
' cnc_rdaxisdata:read various axis data
- _
+
Public Structure ODBAXDT_data
- _
- Public name As String ' data
- Public data As Integer ' position data
- Public dec As Short ' decimal position
- Public unit As Short ' data unit
- Public flag As Short ' flags
+
+ Public name As String ' data
+ Public data As Integer ' position data
+ Public dec As Short ' decimal position
+ Public unit As Short ' data unit
+ Public flag As Short ' flags
Public reserve As Short ' reserve
End Structure
- _
+
Public Structure ODBAXDT
- Public data1 As ODBAXDT_data
- Public data2 As ODBAXDT_data
- Public data3 As ODBAXDT_data
- Public data4 As ODBAXDT_data
- Public data5 As ODBAXDT_data
- Public data6 As ODBAXDT_data
- Public data7 As ODBAXDT_data
- Public data8 As ODBAXDT_data
- Public data9 As ODBAXDT_data
- Public data10 As ODBAXDT_data
- Public data11 As ODBAXDT_data
- Public data12 As ODBAXDT_data
- Public data13 As ODBAXDT_data
- Public data14 As ODBAXDT_data
- Public data15 As ODBAXDT_data
- Public data16 As ODBAXDT_data
- Public data17 As ODBAXDT_data
- Public data18 As ODBAXDT_data
- Public data19 As ODBAXDT_data
- Public data20 As ODBAXDT_data
- Public data21 As ODBAXDT_data
- Public data22 As ODBAXDT_data
- Public data23 As ODBAXDT_data
- Public data24 As ODBAXDT_data
- Public data25 As ODBAXDT_data
- Public data26 As ODBAXDT_data
- Public data27 As ODBAXDT_data
- Public data28 As ODBAXDT_data
- Public data29 As ODBAXDT_data
- Public data30 As ODBAXDT_data
- Public data31 As ODBAXDT_data
- Public data32 As ODBAXDT_data
- Public data33 As ODBAXDT_data
- Public data34 As ODBAXDT_data
- Public data35 As ODBAXDT_data
- Public data36 As ODBAXDT_data
- Public data37 As ODBAXDT_data
- Public data38 As ODBAXDT_data
- Public data39 As ODBAXDT_data
- Public data40 As ODBAXDT_data
- Public data41 As ODBAXDT_data
- Public data42 As ODBAXDT_data
- Public data43 As ODBAXDT_data
- Public data44 As ODBAXDT_data
- Public data45 As ODBAXDT_data
- Public data46 As ODBAXDT_data
- Public data47 As ODBAXDT_data
- Public data48 As ODBAXDT_data
- Public data49 As ODBAXDT_data
- Public data50 As ODBAXDT_data
- Public data51 As ODBAXDT_data
- Public data52 As ODBAXDT_data
- Public data53 As ODBAXDT_data
- Public data54 As ODBAXDT_data
- Public data55 As ODBAXDT_data
- Public data56 As ODBAXDT_data
- Public data57 As ODBAXDT_data
- Public data58 As ODBAXDT_data
- Public data59 As ODBAXDT_data
- Public data60 As ODBAXDT_data
- Public data61 As ODBAXDT_data
- Public data62 As ODBAXDT_data
- Public data63 As ODBAXDT_data
- Public data64 As ODBAXDT_data
- Public data65 As ODBAXDT_data
- Public data66 As ODBAXDT_data
- Public data67 As ODBAXDT_data
- Public data68 As ODBAXDT_data
- Public data69 As ODBAXDT_data
- Public data70 As ODBAXDT_data
- Public data71 As ODBAXDT_data
- Public data72 As ODBAXDT_data
- Public data73 As ODBAXDT_data
- Public data74 As ODBAXDT_data
- Public data75 As ODBAXDT_data
- Public data76 As ODBAXDT_data
- Public data77 As ODBAXDT_data
- Public data78 As ODBAXDT_data
- Public data79 As ODBAXDT_data
- Public data80 As ODBAXDT_data
- Public data81 As ODBAXDT_data
- Public data82 As ODBAXDT_data
- Public data83 As ODBAXDT_data
- Public data84 As ODBAXDT_data
- Public data85 As ODBAXDT_data
- Public data86 As ODBAXDT_data
- Public data87 As ODBAXDT_data
- Public data88 As ODBAXDT_data
- Public data89 As ODBAXDT_data
- Public data90 As ODBAXDT_data
- Public data91 As ODBAXDT_data
- Public data92 As ODBAXDT_data
- Public data93 As ODBAXDT_data
- Public data94 As ODBAXDT_data
- Public data95 As ODBAXDT_data
- Public data96 As ODBAXDT_data
- Public data97 As ODBAXDT_data
- Public data98 As ODBAXDT_data
- Public data99 As ODBAXDT_data
+ Public data1 As ODBAXDT_data
+ Public data2 As ODBAXDT_data
+ Public data3 As ODBAXDT_data
+ Public data4 As ODBAXDT_data
+ Public data5 As ODBAXDT_data
+ Public data6 As ODBAXDT_data
+ Public data7 As ODBAXDT_data
+ Public data8 As ODBAXDT_data
+ Public data9 As ODBAXDT_data
+ Public data10 As ODBAXDT_data
+ Public data11 As ODBAXDT_data
+ Public data12 As ODBAXDT_data
+ Public data13 As ODBAXDT_data
+ Public data14 As ODBAXDT_data
+ Public data15 As ODBAXDT_data
+ Public data16 As ODBAXDT_data
+ Public data17 As ODBAXDT_data
+ Public data18 As ODBAXDT_data
+ Public data19 As ODBAXDT_data
+ Public data20 As ODBAXDT_data
+ Public data21 As ODBAXDT_data
+ Public data22 As ODBAXDT_data
+ Public data23 As ODBAXDT_data
+ Public data24 As ODBAXDT_data
+ Public data25 As ODBAXDT_data
+ Public data26 As ODBAXDT_data
+ Public data27 As ODBAXDT_data
+ Public data28 As ODBAXDT_data
+ Public data29 As ODBAXDT_data
+ Public data30 As ODBAXDT_data
+ Public data31 As ODBAXDT_data
+ Public data32 As ODBAXDT_data
+ Public data33 As ODBAXDT_data
+ Public data34 As ODBAXDT_data
+ Public data35 As ODBAXDT_data
+ Public data36 As ODBAXDT_data
+ Public data37 As ODBAXDT_data
+ Public data38 As ODBAXDT_data
+ Public data39 As ODBAXDT_data
+ Public data40 As ODBAXDT_data
+ Public data41 As ODBAXDT_data
+ Public data42 As ODBAXDT_data
+ Public data43 As ODBAXDT_data
+ Public data44 As ODBAXDT_data
+ Public data45 As ODBAXDT_data
+ Public data46 As ODBAXDT_data
+ Public data47 As ODBAXDT_data
+ Public data48 As ODBAXDT_data
+ Public data49 As ODBAXDT_data
+ Public data50 As ODBAXDT_data
+ Public data51 As ODBAXDT_data
+ Public data52 As ODBAXDT_data
+ Public data53 As ODBAXDT_data
+ Public data54 As ODBAXDT_data
+ Public data55 As ODBAXDT_data
+ Public data56 As ODBAXDT_data
+ Public data57 As ODBAXDT_data
+ Public data58 As ODBAXDT_data
+ Public data59 As ODBAXDT_data
+ Public data60 As ODBAXDT_data
+ Public data61 As ODBAXDT_data
+ Public data62 As ODBAXDT_data
+ Public data63 As ODBAXDT_data
+ Public data64 As ODBAXDT_data
+ Public data65 As ODBAXDT_data
+ Public data66 As ODBAXDT_data
+ Public data67 As ODBAXDT_data
+ Public data68 As ODBAXDT_data
+ Public data69 As ODBAXDT_data
+ Public data70 As ODBAXDT_data
+ Public data71 As ODBAXDT_data
+ Public data72 As ODBAXDT_data
+ Public data73 As ODBAXDT_data
+ Public data74 As ODBAXDT_data
+ Public data75 As ODBAXDT_data
+ Public data76 As ODBAXDT_data
+ Public data77 As ODBAXDT_data
+ Public data78 As ODBAXDT_data
+ Public data79 As ODBAXDT_data
+ Public data80 As ODBAXDT_data
+ Public data81 As ODBAXDT_data
+ Public data82 As ODBAXDT_data
+ Public data83 As ODBAXDT_data
+ Public data84 As ODBAXDT_data
+ Public data85 As ODBAXDT_data
+ Public data86 As ODBAXDT_data
+ Public data87 As ODBAXDT_data
+ Public data88 As ODBAXDT_data
+ Public data89 As ODBAXDT_data
+ Public data90 As ODBAXDT_data
+ Public data91 As ODBAXDT_data
+ Public data92 As ODBAXDT_data
+ Public data93 As ODBAXDT_data
+ Public data94 As ODBAXDT_data
+ Public data95 As ODBAXDT_data
+ Public data96 As ODBAXDT_data
+ Public data97 As ODBAXDT_data
+ Public data98 As ODBAXDT_data
+ Public data99 As ODBAXDT_data
Public data100 As ODBAXDT_data
Public data101 As ODBAXDT_data
Public data102 As ODBAXDT_data
@@ -792,7 +908,7 @@ Public Class Focas1
End Structure
' cnc_rdspcss:read constant surface speed data
- _
+
Public Structure ODBCSS
Public srpm As Integer ' order spindle speed
Public sspm As Integer ' order constant spindle speed
@@ -800,124 +916,124 @@ Public Class Focas1
End Structure
' cnc_rdpdf_drive:read program drive directory
- _
+
Public Structure ODBPDFDRV
Public max_num As Short ' maximum drive number
- Public dummy As Short
- _
- Public drive1 As String
- _
- Public drive2 As String
- _
- Public drive3 As String
- _
- Public drive4 As String
- _
- Public drive5 As String
- _
- Public drive6 As String
- _
- Public drive7 As String
- _
- Public drive8 As String
- _
- Public drive9 As String
- _
+ Public dummy As Short
+
+ Public drive1 As String
+
+ Public drive2 As String
+
+ Public drive3 As String
+
+ Public drive4 As String
+
+ Public drive5 As String
+
+ Public drive6 As String
+
+ Public drive7 As String
+
+ Public drive8 As String
+
+ Public drive9 As String
+
Public drive10 As String
- _
+
Public drive11 As String
- _
+
Public drive12 As String
- _
+
Public drive13 As String
- _
+
Public drive14 As String
- _
+
Public drive15 As String
- _
+
Public drive16 As String
End Structure
' cnc_rdpdf_inf:read program drive information
- _
+
Public Structure ODBPDFINF
Public used_page As Integer ' used capacity
- Public all_page As Integer ' all capacity
- Public used_dir As Integer ' used directory number
- Public all_dir As Integer ' all directory number
+ Public all_page As Integer ' all capacity
+ Public used_dir As Integer ' used directory number
+ Public all_dir As Integer ' all directory number
End Structure
' cnc_rdpdf_subdir:read directory (sub directories)
- _
+
Public Structure IDBPDFSDIR
- _
- Public path As String ' path name
- Public req_num As Short ' entry number
- Public dummy As Short
+
+ Public path As String ' path name
+ Public req_num As Short ' entry number
+ Public dummy As Short
End Structure
' cnc_rdpdf_subdir:read directory (sub directories)
- _
+
Public Structure ODBPDFSDIR
Public sub_exist As Short ' existence of sub directory
- Public dummy As Short
- _
- Public d_f As String ' directory name
+ Public dummy As Short
+
+ Public d_f As String ' directory name
End Structure
' cnc_rdpdf_alldir:read directory (all files)
- _
+
Public Structure IDBPDFADIR
- _
- Public path As String ' path name
- Public req_num As Short ' entry number
+
+ Public path As String ' path name
+ Public req_num As Short ' entry number
Public size_kind As Short ' kind of size
- Public type As Short ' kind of format
- Public dummy As Short
+ Public type As Short ' kind of format
+ Public dummy As Short
End Structure
' cnc_rdpdf_alldir:read directory (all files)
- _
+
Public Structure ODBPDFADIR
Public data_kind As Short ' kinf of data
- Public year As Short ' last date and time
- Public mon As Short ' last date and time
- Public day As Short ' last date and time
- Public hour As Short ' last date and time
- Public min As Short ' last date and time
- Public sec As Short ' last date and time
- Public dummy As Short
- Public dummy2 As Integer
- Public size As Integer ' size
- Public attr As Integer ' attribute
- _
- Public d_f As String ' path name
- _
- Public comment As String ' comment
- _
- Public o_time As String ' comment
+ Public year As Short ' last date and time
+ Public mon As Short ' last date and time
+ Public day As Short ' last date and time
+ Public hour As Short ' last date and time
+ Public min As Short ' last date and time
+ Public sec As Short ' last date and time
+ Public dummy As Short
+ Public dummy2 As Integer
+ Public size As Integer ' size
+ Public attr As Integer ' attribute
+
+ Public d_f As String ' path name
+
+ Public comment As String ' comment
+
+ Public o_time As String ' comment
End Structure
' cnc_rdpdf_subdirn:read file count the directory has
- _
+
Public Structure ODBPDFNFIL
- Public dir_num As Short ' directory
+ Public dir_num As Short ' directory
Public file_num As Short ' file
End Structure
-
+
' cnc_wrpdf_attr:change attribute of program file and directory
- _
+
Public Structure IDBPDFTDIR
- Public slct As Integer ' selection
- Public attr As Integer ' data
+ Public slct As Integer ' selection
+ Public attr As Integer ' data
End Structure
-'---------------------------
-' CNC: NC file data related
-'---------------------------
+ '---------------------------
+ ' CNC: NC file data related
+ '---------------------------
' cnc_rdtofs:read tool offset value
- _
+
Public Structure ODBTOFS
Public datano As Short ' data number
Public type As Short ' data type
@@ -926,39 +1042,39 @@ Public Class Focas1
' cnc_rdtofsr:read tool offset value(area specified)
' cnc_wrtofsr:write tool offset value(area specified)
- _
+
Public Structure OFS_1
- _
+
Public m_ofs As Integer() ' M Each
- _
+
Public m_ofs_a As Integer() ' M-A All
- _
+
Public t_tip As Short() ' T Each, 2-byte
- _
+
Public t_ofs As Integer() ' T Each, 4-byte
End Structure ' In case that the number of data is 5
- _
+
Public Structure OFS_2
- _
+
Public m_ofs_b As Integer() ' M-B All
End Structure ' In case that the number of data is 5
- _
+
Public Structure OFS_3
' _
- _
+
Public m_ofs_c As Integer() ' M-C All
End Structure ' In case that the number of data is 5
- _
+
Public Structure T_OFS_A
Public tip As Short
- _
+
Public data As Integer()
End Structure ' T-A All
- _
+
Public Structure T_OFS_A_data
Public data1 As T_OFS_A
Public data2 As T_OFS_A
@@ -966,13 +1082,13 @@ Public Class Focas1
Public data4 As T_OFS_A
Public data5 As T_OFS_A
End Structure ' In case that the number of data is 5
- _
+
Public Structure T_OFS_B
Public tip As Short
- _
+
Public data As Integer()
End Structure ' T-B All
- _
+
Public Structure T_OFS_B_data
Public data1 As T_OFS_B
Public data2 As T_OFS_B
@@ -980,35 +1096,35 @@ Public Class Focas1
Public data4 As T_OFS_B
Public data5 As T_OFS_B
End Structure ' In case that the number of data is 5
- _
+
Public Structure IODBTO_1_1
Public datano_s As Short ' start offset number
Public type As Short ' offset type
Public datano_e As Short ' end offset number
Public ofs As OFS_1
End Structure
- _
+
Public Structure IODBTO_1_2
Public datano_s As Short ' start offset number
Public type As Short ' offset type
Public datano_e As Short ' end offset number
Public ofs As OFS_2
End Structure
- _
+
Public Structure IODBTO_1_3
Public datano_s As Short ' start offset number
Public type As Short ' offset type
Public datano_e As Short ' end offset number
Public ofs As OFS_3
End Structure
- _
+
Public Structure IODBTO_2
Public datano_s As Short ' start offset number
Public type As Short ' offset type
Public datano_e As Short ' end offset number
Public tofsa As T_OFS_A_data
End Structure
- _
+
Public Structure IODBTO_3
Public datano_s As Short ' start offset number
Public type As Short ' offset type
@@ -1018,33 +1134,33 @@ Public Class Focas1
' cnc_rdzofs:read work zero offset value
' cnc_wrzofs:write work zero offset value
- _
+
Public Structure IODBZOFS
Public datano As Short ' offset NO.
Public type As Short ' axis number
- _
+
Public data As Integer() ' data value
End Structure
' cnc_rdzofsr:read work zero offset value(area specified)
' cnc_wrzofsr:write work zero offset value(area specified)
- _
+
Public Structure IODBZOR
Public datano_s As Short ' start offset number
Public type As Short ' axis number
Public datano_e As Short ' end offset number
- _
+
Public data As Integer() ' offset value
End Structure ' In case that the number of axes is MAX_AXIS, the number of data is 7
' cnc_rdmsptype:read mesured point value
' cnc_wrmsptype:write mesured point value
- _
+
Public Structure IODBMSTP
Public datano_s As Short ' start offset number
Public dummy As Short ' dummy
Public datano_e As Short ' end offset number
- _
+
Public data As SByte() ' mesured point value
End Structure
@@ -1056,11 +1172,48 @@ Public Class Focas1
' cnc_wrparas:write parameter(plural specified)
' cnc_rdsetr:read setting data(area specified)
' cnc_wrsets:write setting data(plural specified)
- _
+
Public Structure REALPRM
Public prm_val As Integer ' data of real parameter
Public dec_val As Integer ' decimal point of real parameter
End Structure
+#If FS30D Then
+
+ Public Structure REALPRMS
+ Public rdata1 As REALPRM
+ Public rdata2 As REALPRM
+ Public rdata3 As REALPRM
+ Public rdata4 As REALPRM
+ Public rdata5 As REALPRM
+ Public rdata6 As REALPRM
+ Public rdata7 As REALPRM
+ Public rdata8 As REALPRM
+ Public rdata9 As REALPRM
+ Public rdata10 As REALPRM
+ Public rdata11 As REALPRM
+ Public rdata12 As REALPRM
+ Public rdata13 As REALPRM
+ Public rdata14 As REALPRM
+ Public rdata15 As REALPRM
+ Public rdata16 As REALPRM
+ Public rdata17 As REALPRM
+ Public rdata18 As REALPRM
+ Public rdata19 As REALPRM
+ Public rdata20 As REALPRM
+ Public rdata21 As REALPRM
+ Public rdata22 As REALPRM
+ Public rdata23 As REALPRM
+ Public rdata24 As REALPRM
+ Public rdata25 As REALPRM
+ Public rdata26 As REALPRM
+ Public rdata27 As REALPRM
+ Public rdata28 As REALPRM
+ Public rdata29 As REALPRM
+ Public rdata30 As REALPRM
+ Public rdata31 As REALPRM
+ Public rdata32 As REALPRM
+ End Structure ' In case that the number of alarm is 32
+#Else
#If M_AXIS2 Then
_
Public Structure REALPRMS
@@ -1117,50 +1270,51 @@ Public Class Focas1
Public rdata8 As REALPRM
End Structure ' In case that the number of alarm is 8
#End If
+#End If
#End If
- _
+
Public Structure IODBPSD_1
- _
+
Public datano As Short ' data number
- _
+
Public type As Short ' axis number
- _
+
Public cdata As Byte ' parameter / setting data
- _
+