Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 284 | f9daq | 1 | Attribute VB_Name = "Module1" |
| 2 | Public nod, Dev As Long |
||
| 3 | Public serial, version As String |
||
| 4 | |||
| 5 | |||
| 6 | Type USMCMode |
||
| 7 | PMode As Long 'Turn off buttons (TRUE - buttons disabled) |
||
| 8 | PReg As Long 'Current reduction regime (TRUE - regime is on) |
||
| 9 | ResetD As Long 'Turn power off and make a whole step (TRUE - apply) |
||
| 10 | EmReset As Long 'Quick power off |
||
| 11 | Tr1T As Long 'Trailer 1 TRUE state (TRUE : +3/+5Â; FALSE : 0Â) |
||
| 12 | Tr2T As Long 'Trailer 2 TRUE state (TRUE : +3/+5Â; FALSE : 0Â) |
||
| 13 | RotTrT As Long 'Rotary Transducer TRUE state (TRUE : +3/+5Â; FALSE : 0Â) |
||
| 14 | TrSwap As Long 'If TRUE, Trailers are treated to be swapped |
||
| 15 | Tr1En As Long 'If TRUE Trailer 1 Operation Enabled |
||
| 16 | Tr2En As Long 'If TRUE Trailer 2 Operation Enabled |
||
| 17 | RotTeEn As Long 'If TRUE Rotary Transducer Operation Enabled |
||
| 18 | RotTrOp As Long 'Rotary Transducer Operation Select (stop on error for TRUE) |
||
| 19 | Butt1T As Long 'Button 1 TRUE state (TRUE : +3/+5Â; FALSE : 0Â) |
||
| 20 | Butt2T As Long 'Button 2 TRUE state (TRUE : +3/+5Â; FALSE : 0Â) |
||
| 21 | ResetRT As Long 'Reset Rotary Transducer Check Positions (need one full revolution before it can detect error) |
||
| 22 | SyncOUTEn As Long 'If TRUE output syncronization enabled |
||
| 23 | SyncOUTR As Long 'If TRUE output synchronization counter will be reset |
||
| 24 | SyncINOp As Long 'Synchronization input mode: |
||
| 25 | 'True - Step motor will move one time to the destination position |
||
| 26 | 'False - Step motor will move multiple times by steps equal to the value destination position |
||
| 27 | SyncCount As Long 'Number of steps after which synchronization output sygnal occures |
||
| 28 | SyncInvert As Long 'Set to TRUE to invert output synchronization signal |
||
| 29 | 'new |
||
| 30 | EncoderEn As Long 'Enable Encoder on pins {SYNCIN,ROTTR} - disables Synchronization input and Rotary Transducer |
||
| 31 | EncoderInv As Long 'Invert Encoder Counter Direction |
||
| 32 | ResBEnc As Long 'Reset <Encoder Position> and <SM Position in Encoder units> to 0 |
||
| 33 | ResEnc As Long 'Reset <SM Position in Encoder units> to <Encoder Position> |
||
| 34 | Rsv1 As Long |
||
| 35 | Rsv2 As Long |
||
| 36 | End Type |
||
| 37 | |||
| 38 | Type USMCParameters |
||
| 39 | AccelT As Single 'Acceleration time (in ms) |
||
| 40 | DecelT As Single 'Deceleration time (in ms) |
||
| 41 | PTimeout As Single 'Time (in ms) after which current will be reduced to 60% of normal |
||
| 42 | BTimeout1 As Single 'Time (in ms) after which speed of step motor rotation will be equal to the one specified at |
||
| 43 | 'BTO1P field (see below). (This parameter is used when controlling step motor using buttons) |
||
| 44 | BTimeout2 As Single ' |
||
| 45 | BTimeout3 As Single ' |
||
| 46 | BTimeout4 As Single ' |
||
| 47 | BTimeoutR As Single 'Time (in ms) after which reset command will be performed |
||
| 48 | BTimeoutD As Single 'This field is reserved for future use |
||
| 49 | MinP As Single 'Speed (steps/sec) while performing reset operation. (This parameter is used when controlling |
||
| 50 | 'step motor using buttons) |
||
| 51 | BTO1P As Single 'Speed (steps/sec) after BTIMEOUT 1 time have passed. (This parameter is used when controlling |
||
| 52 | 'step motor using buttons) |
||
| 53 | BTO2P As Single ' |
||
| 54 | BTO3P As Single ' |
||
| 55 | BTO4P As Single ' |
||
| 56 | MaxLoft As Integer 'Value in full steps that will be used performing backlash operation |
||
| 57 | StartPos As Long 'This field is reserved for future use |
||
| 58 | RTDelta As Integer 'Revolution distance – number of full steps per one full revolution |
||
| 59 | RTMinErr As Integer 'Number of full steps missed to raise the error flag |
||
| 60 | MaxTemp As Single 'Maximum allowed temperature (Celsius) |
||
| 61 | SynOUTP As Byte 'Duration of the output synchronization pulse |
||
| 62 | LoftPeriod As Single 'Speed of the last phase of the backlash operation. |
||
| 63 | 'new |
||
| 64 | EncMult As Single 'Should be <Encoder Steps per Evolution> / <SM Steps per Evolution> and should be integer multiplied by 0.25 |
||
| 65 | Rsv1 As Long |
||
| 66 | Rsv2 As Long |
||
| 67 | Rsv3 As Long |
||
| 68 | Rsv4 As Long |
||
| 69 | End Type |
||
| 70 | |||
| 71 | Type USMCStartParameters |
||
| 72 | SDivisor As Byte 'Step is divided by this factor (1,2,4,8) |
||
| 73 | DefDir As Long 'Direction for backlash operation (relative) |
||
| 74 | LoftEn As Long 'Enable automatic backlash operation (works if slow start/stop mode is off) |
||
| 75 | SlStart As Long 'If TRUE slow start/stop mode enabled. |
||
| 76 | WSyncIN As Long 'If TRUE controller will wait for input synchronization signal to start |
||
| 77 | SyncOUTR As Long 'If TRUE output synchronization counter will be reset |
||
| 78 | ForceLoft As Long 'If TRUE and destination position is equal to the current position backlash operation will be performed. |
||
| 79 | 'new |
||
| 80 | Rsv As Long |
||
| 81 | End Type |
||
| 82 | |||
| 83 | Type USMCState |
||
| 84 | CurPos As Long 'Current position (in microsteps) |
||
| 85 | Temp As Single 'Current temperature of the driver |
||
| 86 | SDivisor As Byte 'Step is divided by this factor |
||
| 87 | Loft As Long 'Indicates backlash status |
||
| 88 | FullPower As Long 'If TRUE then full power. |
||
| 89 | CW_CCW As Long 'Current direction. Relatively! |
||
| 90 | Power As Long 'If TRUE then Step Motor is ON. |
||
| 91 | FullSpeed As Long 'If TRUE then full speed. Valid in "Slow Start" mode only. |
||
| 92 | AReset As Long 'TRUE After Device reset, FALSE after "Set Position". |
||
| 93 | RUN As Long 'Indicates if step motor is rotating |
||
| 94 | SyncIN As Long 'Logical state directly from input synchronization PIN |
||
| 95 | SyncOUT As Long 'Logical state directly from output synchronization PIN |
||
| 96 | RotTr As Long 'Indicates current rotary transducer press state |
||
| 97 | RotTrErr As Long 'Indicates rotary transducer error flag |
||
| 98 | EmReset As Long 'Indicates state of emergency disable button (local control) |
||
| 99 | Trailer1 As Long 'Indicates trailer 1 logical state. |
||
| 100 | Trailer2 As Long 'Indicates trailer 2 logical state. |
||
| 101 | Voltage As Single 'Input power source voltage (6-39V) -=24 version 0nly=- |
||
| 102 | 'new |
||
| 103 | Rsv1 As Long |
||
| 104 | Rsv2 As Long |
||
| 105 | |||
| 106 | End Type |
||
| 107 | |||
| 108 | Declare Sub USMCGetLastErr Lib "USMCVBDLL.dll" _ |
||
| 109 | Alias "_USMCVB_GetLastErr" (ByVal ErrStr As String, ByVal vlen As Long) |
||
| 110 | |||
| 111 | Declare Function USMCInit Lib "USMCVBDLL.dll" _ |
||
| 112 | Alias "_USMCVB_Init" (ByRef value As Long, ByVal versions As String, _ |
||
| 113 | ByVal vlen As Long, ByVal serials As String, ByVal slen As Long) As Long |
||
| 114 | |||
| 115 | Declare Function USMCGetState Lib "USMCVBDLL.dll" _ |
||
| 116 | Alias "_USMCVB_GetState" (ByVal Dev As Long, ByRef Str As USMCState) As Long |
||
| 117 | |||
| 118 | Declare Function USMCGetStartParameters Lib "USMCVBDLL.dll" _ |
||
| 119 | Alias "_USMCVB_GetStartParameters" (ByVal Dev As Long, ByRef Str As USMCStartParameters) As Long |
||
| 120 | |||
| 121 | Declare Function USMCStart Lib "USMCVBDLL.dll" _ |
||
| 122 | Alias "_USMCVB_Start" (ByVal Dev As Long, ByVal DestPos As Long, ByRef Speed As Single, _ |
||
| 123 | ByRef Str As USMCStartParameters) As Long |
||
| 124 | |||
| 125 | Declare Function USMCStop Lib "USMCVBDLL.dll" _ |
||
| 126 | Alias "_USMCVB_Stop" (ByVal Dev As Long) As Long |
||
| 127 | |||
| 128 | Declare Function USMCGetMode Lib "USMCVBDLL.dll" _ |
||
| 129 | Alias "_USMCVB_GetMode" (ByVal Dev As Long, ByRef Str As USMCMode) As Long |
||
| 130 | |||
| 131 | Declare Function USMCSetMode Lib "USMCVBDLL.dll" _ |
||
| 132 | Alias "_USMCVB_SetMode" (ByVal Dev As Long, ByRef Str As USMCMode) As Long |
||
| 133 | |||
| 134 | Declare Function USMCGetParameters Lib "USMCVBDLL.dll" _ |
||
| 135 | Alias "_USMCVB_GetParameters" (ByVal Dev As Long, ByRef Str As USMCParameters) As Long |
||
| 136 | |||
| 137 | Declare Function USMCSetParameters Lib "USMCVBDLL.dll" _ |
||
| 138 | Alias "_USMCVB_SetParameters" (ByVal Dev As Long, ByRef Str As USMCParameters) As Long |
||
| 139 | |||
| 140 | Declare Function USMCSaveParametersToFlash Lib "USMCVBDLL.dll" _ |
||
| 141 | Alias "_USMCVB_SaveParametersToFlash" (ByVal Dev As Long) As Long |
||
| 142 | |||
| 143 | Declare Function USMCSetCurrentPosition Lib "USMCVBDLL.dll" _ |
||
| 144 | Alias "_USMCVB_SetCurrentPosition" (ByVal Dev As Long, ByRef Str As USMCParameters) As Long |
||
| 145 | |||
| 146 | |||
| 147 | |||
| 148 | Sub PrintDMode(mode As USMCMode) |
||
| 149 | Dim out As String |
||
| 150 | out = "Mode parameters:" & (Chr(13)) |
||
| 151 | out = out & "Buttons - " |
||
| 152 | If mode.PMode <> 0 Then |
||
| 153 | out = out & "Disabled" & (Chr(13)) |
||
| 154 | Else |
||
| 155 | out = out & "Enabled" & (Chr(13)) & "Button 1 TRUE state - " |
||
| 156 | If mode.Butt1T <> 0 Then |
||
| 157 | out = out & "+3/+5 V" & (Chr(13)) |
||
| 158 | Else |
||
| 159 | out = out & "0 V(GND)" & (Chr(13)) |
||
| 160 | End If |
||
| 161 | out = out & "Button 2 TRUE state - " |
||
| 162 | If mode.Butt2T <> 0 Then |
||
| 163 | out = out & "+3/+5 V" & (Chr(13)) |
||
| 164 | Else |
||
| 165 | out = out & "0 V(GND)" & (Chr(13)) |
||
| 166 | End If |
||
| 167 | End If |
||
| 168 | out = out & "Current reduction regime - " |
||
| 169 | If mode.PReg <> 0 Then |
||
| 170 | out = out & "Used" & (Chr(13)) |
||
| 171 | Else |
||
| 172 | out = out & "Not Used" & (Chr(13)) |
||
| 173 | End If |
||
| 174 | |||
| 175 | If mode.ResetD <> 0 Then |
||
| 176 | out = out & "Power - " |
||
| 177 | If mode.EmReset <> 0 Then |
||
| 178 | out = out & "Emerjency Off" & (Chr(13)) |
||
| 179 | Else |
||
| 180 | out = out & "Off" & (Chr(13)) |
||
| 181 | End If |
||
| 182 | Else |
||
| 183 | out = out & "Power - On" & (Chr(13)) |
||
| 184 | End If |
||
| 185 | If mode.Tr1En <> 0 Or mode.Tr2En <> 0 Then |
||
| 186 | out = out & "Trailers are - " |
||
| 187 | If mode.TrSwap <> 0 Then |
||
| 188 | out = out & "Swapped" & (Chr(13)) |
||
| 189 | Else |
||
| 190 | out = out & "Direct" & (Chr(13)) |
||
| 191 | End If |
||
| 192 | End If |
||
| 193 | out = out & "Trailer 1 - " |
||
| 194 | If mode.Tr1En <> 0 Then |
||
| 195 | out = out & "Enabled" & (Chr(13)) & "Trailer 1 TRUE state - " |
||
| 196 | If mode.Tr1T <> 0 Then |
||
| 197 | out = out & "+3/+5 V" & (Chr(13)) |
||
| 198 | Else |
||
| 199 | out = out & "0 V(GND)" & (Chr(13)) |
||
| 200 | End If |
||
| 201 | Else |
||
| 202 | out = out & "Disabled" & (Chr(13)) |
||
| 203 | End If |
||
| 204 | out = out & "Trailer 2 - " |
||
| 205 | If mode.Tr2En <> 0 Then |
||
| 206 | out = out & "Enabled" & (Chr(13)) & "Trailer 2 TRUE state - " |
||
| 207 | If mode.Tr2T <> 0 Then |
||
| 208 | out = out & "+3/+5 V" & (Chr(13)) |
||
| 209 | Else |
||
| 210 | out = out & "0 V(GND)" & (Chr(13)) |
||
| 211 | End If |
||
| 212 | Else |
||
| 213 | out = out & "Disabled" & (Chr(13)) |
||
| 214 | End If |
||
| 215 | out = out & "Rotary Transducer - " |
||
| 216 | If mode.RotTeEn <> 0 Then |
||
| 217 | out = out & "Enabled" & (Chr(13)) & "Rotary Transducer TRUE state - " |
||
| 218 | If mode.RotTrT <> 0 Then |
||
| 219 | out = out & "+3/+5 V" & (Chr(13)) |
||
| 220 | Else |
||
| 221 | out = out & "0 V(GND)" & (Chr(13)) |
||
| 222 | End If |
||
| 223 | out = out & "Rotary Transducer Operation - " |
||
| 224 | If mode.RotTrOp <> 0 Then |
||
| 225 | out = out & "Stop on error" & (Chr(13)) |
||
| 226 | Else |
||
| 227 | out = out & "Check and ignore error" & (Chr(13)) |
||
| 228 | End If |
||
| 229 | out = out & "Reset Rotary Transducer Check Positions - " |
||
| 230 | If mode.ResetRT <> 0 Then |
||
| 231 | out = out & "Initiated" & (Chr(13)) |
||
| 232 | Else |
||
| 233 | out = out & "No, why?" & (Chr(13)) |
||
| 234 | End If |
||
| 235 | Else |
||
| 236 | out = out & "Disabled" & (Chr(13)) |
||
| 237 | End If |
||
| 238 | out = out & "Output Syncronization - " |
||
| 239 | If mode.SyncOUTEn <> 0 Then |
||
| 240 | out = out & "Enabled" & (Chr(13)) & "Reset Output Synchronization Counter - " |
||
| 241 | If mode.SyncOUTR <> 0 Then |
||
| 242 | out = out & "Initiated" & (Chr(13)) |
||
| 243 | Else |
||
| 244 | out = out & "No, why?" & (Chr(13)) |
||
| 245 | End If |
||
| 246 | out = out & "Number of steps after which synchronization output sygnal occures - " & mode.SyncCount & (Chr(13)) |
||
| 247 | Else |
||
| 248 | out = out & "Disabled" & (Chr(13)) |
||
| 249 | End If |
||
| 250 | out = out & "Synchronization input mode:" & (Chr(13)) |
||
| 251 | If mode.SyncINOp <> 0 Then |
||
| 252 | out = out & "Step motor will move one time to the destination position" & (Chr(13)) |
||
| 253 | Else |
||
| 254 | out = out & "Step motor will move multiple times by [destination position]" & (Chr(13)) |
||
| 255 | End If |
||
| 256 | out = out & "Synchronization Output - " |
||
| 257 | If mode.SyncInvert <> 0 Then |
||
| 258 | out = out & "INVERTED" & (Chr(13)) |
||
| 259 | Else |
||
| 260 | out = out & "NORMAL" & (Chr(13)) |
||
| 261 | End If |
||
| 262 | MsgBox out, vbOKOnly, "USMC_SetMode Successful" |
||
| 263 | End Sub |
||
| 264 | |||
| 265 | Sub PrintDState(state As USMCState) |
||
| 266 | Dim out As String |
||
| 267 | With state |
||
| 268 | out = "The state is:" & (Chr(13)) |
||
| 269 | out = out & "- Current Position in microsteps - " & Format(.CurPos) & (Chr(13)) |
||
| 270 | out = out & "- Temperature - " & Format(.Temp, "0.00") & (Chr(176)) & (Chr(67)) & (Chr(13)) |
||
| 271 | out = out & "- Step Divisor - " & Format(.SDivisor, "0") & (Chr(13)) |
||
| 272 | out = out & "- Loft State - " |
||
| 273 | If .Loft <> 0 Then |
||
| 274 | out = out & "Indefinite" & (Chr(13)) |
||
| 275 | Else |
||
| 276 | out = out & "Fixed" & (Chr(13)) |
||
| 277 | End If |
||
| 278 | out = out & "- Power - " |
||
| 279 | If .Power <> 0 Then |
||
| 280 | If .FullPower <> 0 Then |
||
| 281 | out = out & "Full" & (Chr(13)) |
||
| 282 | Else |
||
| 283 | out = out & "Half" & (Chr(13)) |
||
| 284 | End If |
||
| 285 | Else |
||
| 286 | out = out & "Off" & (Chr(13)) |
||
| 287 | End If |
||
| 288 | If .RUN <> 0 Then |
||
| 289 | out = out & "- Step Motor is Running in " |
||
| 290 | If .CW_CCW <> 0 Then |
||
| 291 | out = out & "CCW Direction " |
||
| 292 | Else |
||
| 293 | out = out & "CW Direction " |
||
| 294 | End If |
||
| 295 | If (.SDivisor = 1) And (.FullSpeed <> 0) Then |
||
| 296 | out = out & "at Full Speed" & (Chr(13)) |
||
| 297 | Else |
||
| 298 | out = out & (Chr(13)) |
||
| 299 | End If |
||
| 300 | Else |
||
| 301 | out = out & "- Step Motor is Not Running" & (Chr(13)) |
||
| 302 | End If |
||
| 303 | out = out & "- Device " |
||
| 304 | If .AReset <> 0 Then |
||
| 305 | out = out & "is After Reset" & (Chr(13)) |
||
| 306 | Else |
||
| 307 | out = out & "Position Already Set" & (Chr(13)) |
||
| 308 | End If |
||
| 309 | out = out & "- Input Synchronization Logical Pin State - " |
||
| 310 | If .SyncIN <> 0 Then |
||
| 311 | out = out & "TRUE" & (Chr(13)) |
||
| 312 | Else |
||
| 313 | out = out & "FALSE" & (Chr(13)) |
||
| 314 | End If |
||
| 315 | out = out & "- Output Synchronization Logical Pin State - " |
||
| 316 | If .SyncOUT <> 0 Then |
||
| 317 | out = out & "TRUE" & (Chr(13)) |
||
| 318 | Else |
||
| 319 | out = out & "FALSE" & (Chr(13)) |
||
| 320 | End If |
||
| 321 | out = out & "- Rotary Transducer Logical Pin State - " |
||
| 322 | If .RotTr <> 0 Then |
||
| 323 | out = out & "TRUE" & (Chr(13)) |
||
| 324 | Else |
||
| 325 | out = out & "FALSE" & (Chr(13)) |
||
| 326 | End If |
||
| 327 | out = out & "- Rotary Transducer Error Flag - " |
||
| 328 | If .RotTrErr <> 0 Then |
||
| 329 | out = out & "Error" & (Chr(13)) |
||
| 330 | Else |
||
| 331 | out = out & "Clear" & (Chr(13)) |
||
| 332 | End If |
||
| 333 | out = out & "- Emergency Disable Button - " |
||
| 334 | If .EmReset <> 0 Then |
||
| 335 | out = out & "Pushed" & (Chr(13)) |
||
| 336 | Else |
||
| 337 | out = out & "Unpushed" & (Chr(13)) |
||
| 338 | End If |
||
| 339 | out = out & "- Trailer 1 Press State - " |
||
| 340 | If .Trailer1 <> 0 Then |
||
| 341 | out = out & "Pushed" & (Chr(13)) |
||
| 342 | Else |
||
| 343 | out = out & "Unpushed" & (Chr(13)) |
||
| 344 | End If |
||
| 345 | out = out & "- Trailer 2 Press State - " |
||
| 346 | If .Trailer2 <> 0 Then |
||
| 347 | out = out & "Pushed" & (Chr(13)) |
||
| 348 | Else |
||
| 349 | out = out & "Unpushed" & (Chr(13)) |
||
| 350 | End If |
||
| 351 | out = out & "- Input Voltage - " |
||
| 352 | If .Voltage = 0 Then |
||
| 353 | out = out & "Low" & (Chr(13)) |
||
| 354 | Else |
||
| 355 | out = out & Format(.Voltage, "0.0") & (Chr(13)) |
||
| 356 | End If |
||
| 357 | MsgBox out, vbOKOnly, "USMC_GetState Successful" |
||
| 358 | End With |
||
| 359 | End Sub |
||
| 360 | |||
| 361 | Sub PrintError() |
||
| 362 | Dim out As String |
||
| 363 | out = String(1000, 0) |
||
| 364 | USMCGetLastErr out, 1000 |
||
| 365 | MsgBox out, vbOKOnly, "Error" |
||
| 366 | End Sub |
||
| 367 | |||
| 368 | Sub PrintDStartParameters(DPos As Long, Speed As Single, sp As USMCStartParameters) |
||
| 369 | With sp |
||
| 370 | Dim out As String |
||
| 371 | out = "Destination position - " & Format(DPos) & (Chr(13)) |
||
| 372 | out = out & "Speed - " & Format(Speed, "##.00") & " tacts/s" & (Chr(13)) |
||
| 373 | out = out & "Steps Divisor - " & Format(.SDivisor, "0") & (Chr(13)) |
||
| 374 | If .SDivisor = 1 Then |
||
| 375 | out = out & "Slow start/stop mode - " |
||
| 376 | If .SlStart <> 0 Then |
||
| 377 | out = out & "Enabled" & (Chr(13)) |
||
| 378 | Else |
||
| 379 | out = out & "Disabled" & (Chr(13)) |
||
| 380 | End If |
||
| 381 | Else |
||
| 382 | out = out & "Automatic backlash operation - " |
||
| 383 | If .LoftEn <> 0 Then |
||
| 384 | out = out & "Enabled" & (Chr(13)) |
||
| 385 | out = out & "Automatic backlash operation direction - " |
||
| 386 | If .DefDir <> 0 Then |
||
| 387 | out = out & "CCW" & (Chr(13)) |
||
| 388 | Else |
||
| 389 | out = out & "CW" & (Chr(13)) |
||
| 390 | End If |
||
| 391 | out = out & "Force automatic backlash operation - " |
||
| 392 | If .ForceLoft <> 0 Then |
||
| 393 | out = out & "TRUE" & (Chr(13)) |
||
| 394 | Else |
||
| 395 | out = out & "FALSE" & (Chr(13)) |
||
| 396 | End If |
||
| 397 | Else |
||
| 398 | out = out & "Disabled" & (Chr(13)) |
||
| 399 | End If |
||
| 400 | End If |
||
| 401 | If .WSyncIN <> 0 Then |
||
| 402 | out = out & "Controller will wait for input synchronization signal to start" & (Chr(13)) |
||
| 403 | Else |
||
| 404 | out = out & "Input synchronization signal ignored" & (Chr(13)) |
||
| 405 | End If |
||
| 406 | If .SyncOUTR <> 0 Then |
||
| 407 | out = out & "Output synchronization counter will be reset" & (Chr(13)) |
||
| 408 | Else |
||
| 409 | out = out & "Output synchronization counter will not be reset" & (Chr(13)) |
||
| 410 | End If |
||
| 411 | |||
| 412 | MsgBox out, vbOKOnly, "USMC_Start Successful" |
||
| 413 | |||
| 414 | End With |
||
| 415 | End Sub |
||
| 416 | |||
| 417 | Sub PrintDParameters(Parameters As USMCParameters) |
||
| 418 | With Parameters |
||
| 419 | Dim out As String |
||
| 420 | out = "The parameters are:" & (Chr(13)) |
||
| 421 | out = out & "Full acceleration time - " & Format(.AccelT, "###0") & " ms" & (Chr(13)) |
||
| 422 | out = out & "Full deceleration time - " & Format(.DecelT, "###0") & " ms" & (Chr(13)) |
||
| 423 | out = out & "Power reduction timeout - " & Format(.PTimeout, "###0") & " ms" & (Chr(13)) |
||
| 424 | out = out & "Button speedup timeout 1 - " & Format(.BTimeout1, "###0") & " ms" & (Chr(13)) |
||
| 425 | out = out & "Button speed after timeout 1 - " & Format(.BTO1P, "###0.00") & " steps/s" & (Chr(13)) |
||
| 426 | out = out & "Button speedup timeout 2 - " & Format(.BTimeout2, "###0") & " ms" & (Chr(13)) |
||
| 427 | out = out & "Button speed after timeout 2 - " & Format(.BTO2P, "###0.00") & " steps/s" & (Chr(13)) |
||
| 428 | out = out & "Button speedup timeout 3 - " & Format(.BTimeout3, "###0") & " ms" & (Chr(13)) |
||
| 429 | out = out & "Button speed after timeout 3 - " & Format(.BTO3P, "###0.00") & " steps/s" & (Chr(13)) |
||
| 430 | out = out & "Button speedup timeout 4 - " & Format(.BTimeout4, "###0") & " ms" & (Chr(13)) |
||
| 431 | out = out & "Button speed after timeout 4 - " & Format(.BTO4P, "###0.00") & " steps/s" & (Chr(13)) |
||
| 432 | out = out & "Button reset timeout - " & Format(.BTimeoutR, "###0") & " ms" & (Chr(13)) |
||
| 433 | out = out & "Button reset operation speed - " & Format(.MinP, "###0.00") & " steps/s" & (Chr(13)) |
||
| 434 | out = out & "Backlash operation distance - " & Format(.MaxLoft) & " steps" & (Chr(13)) |
||
| 435 | out = out & "Revolution distance - " & Format(.RTDelta) & " steps" & (Chr(13)) |
||
| 436 | out = out & "Minimal revolution distance error - " & Format(.RTMinErr) & " steps" & (Chr(13)) |
||
| 437 | out = out & "Power off temperature - " & Format(.MaxTemp, "##0.00") & (Chr(176)) & (Chr(67)) & (Chr(13)) |
||
| 438 | out = out & "Duration of the output synchronization pulse - " |
||
| 439 | If .SynOUTP = 0 Then |
||
| 440 | out = out & "minimal" & (Chr(13)) |
||
| 441 | Else |
||
| 442 | out = out & Format(.SynOUTP - 0.5, "##0.0") & " * [Tact Period]" & (Chr(13)) |
||
| 443 | End If |
||
| 444 | out = out & "Speed of the last phase of the backlash operation - " |
||
| 445 | If .LoftPeriod = 0 Then |
||
| 446 | out = out & "normal" & (Chr(13)) |
||
| 447 | Else |
||
| 448 | out = out & Format(.LoftPeriod - 0.5, "###0.00") & " steps/s" & (Chr(13)) |
||
| 449 | End If |
||
| 450 | MsgBox out, vbOKOnly, "USMC_SetParameters Successful" |
||
| 451 | |||
| 452 | End With |
||
| 453 | End Sub |