![Cincinnati Sub-Zero EZT-570S Скачать руководство пользователя страница 40](http://html.mh-extra.com/html/cincinnati-sub-zero/ezt-570s/ezt-570s_reference-manual_2607293040.webp)
EZT-570S User Communication Reference Manual
40
Private Sub downloadTimer_Timer()
'timer code that is initiated by downloadProfile procedure. Timer should be set at a minimum of 1 second intervals.
'
write profile data array to PLC
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
'variables used in procedure. User can select static, form, global variables or class type based on preference.
Dim x As Integer, writeValue As Integer 'write values to EZT must be integer values.
profileData(x,x) is array that holds profile data for currently active profile that is being edited (14,99) elements zero based.
'refer to downloadProfile procedure for form or global variables used.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Error checking should go here
f_profWrite = True
'profile write in progress flag form var. Not required - user dependent to block other actions during download
If f_writeNum < (totalNumSegs) Then
'totalNumSegs should be var or reference to total number of segs created for profile.
'for all element in profile array (15 elements total per segement. zero based)
For x = 0 To 14 '14 total elements in profile
If f_profRegsToWrite = 0 Then '
first element that hold data global to complete profile
Select Case x
Case 0 To 9
'autostart and profile name requires no scaling in element 0
writeValue = CInt(profileData(x, f_profRegsToWrite))
Case 10 To 14
'gs soak band requires scale by 10
'values are for SP's so scale by 10 for PLC
writeValue = CInt(profileData(x, f_profRegsToWrite) * 10)
End Select
Else
'elements 1 to 99 of profarray which holds data for each segment
Select Case x
Case 0 To 6
' hours, mins,/secs, chamber events, cust events, gs events
'wait or loop input, wait for monitor input.
'first 6 elements require no scale by 10
writeValue = CInt(profileData(x, f_profRegsToWrite))
Case 7 'wait for input setpoint. value for SP so scale by 10
writeValue = CInt(profileData(x, f_profRegsToWrite) * 10)
Case 8, 9 'jump step and jump count are integers, dont scale by 10
writeValue = CInt(profileData(x, f_profRegsToWrite))
Case 10 To 14 'setpoint values for loop1 - 5. scale by 10
writeValue = CInt(profileData(x, f_profRegsToWrite) * 10)
End Select
End If
ModProf.WordVal(x) = writeValue
'modbus master array. code line is modbus server dependent for multi-writes.
Next
ModProf.Address = f_regAdd
'start register for profile download. code is modbus server dependent
ModProf.Size = 15
'size of array. code is modbus server dependent
ModProf.Trigger
'trigger comms write. command is modbus master dependent
'increment writes for end of loop when total writes equal
'total number of segments in profile.
f_writeNum = f_wr 1
f_profRegsToWrite = f_profRegsT 1
'increment registers within profile for write
f_regAdd = f_ 15
'increment to next 15 profile registers
Else
'profile writes are complete. Segments written = total number of segments created for profile.
downloadTimerer2.Enabled = False
'stop download timer
'hide progress bar and download messages. Unlock screen if user locked to block other actions here.
f_profWrite = False
'profile write completed reset flag if used.
End If
End Sub