Database-Based-Driver: Difference between revisions

From *** My Personal Wiki ***
Jump to navigation Jump to search
Line 41: Line 41:


* Generic write SET VALUE: | ModBusAddress | TemperatureValue |
* Generic write SET VALUE: | ModBusAddress | TemperatureValue |
* Specifi write SET VALUE: | Address | 16 |RegisterHigh | RegisterLow | 2 | DataHigh | DataLow |  0  | 0 | CRCLow | CRCHigh
* Specific write SET VALUE: | Address | 16 |RegisterHigh | RegisterLow | 2 | DataHigh | DataLow |  0  | 0 | CRCLow | CRCHigh

Revision as of 16:24, 17 June 2010

  • User SQL to make flexible driver that can be loaded
 Public Sub Write_Set_Value(Address As Byte, SetTemperature As Integer)
  Dim X() As Long
  Dim ArraySize As Integer
  Dim TemperatureHighByte As Integer
  Dim TemperatureLowByte As Integer
  Dim TemperatureRegister As Integer
  Dim AlreadySetTemperature As Integer
  If DebugFlagNot = True Then On Error Resume Next

  TemperatureRegister = SetTemperature                             '--Controller already set to this temperature > exit
  AlreadySetTemperature = Read_Set_Value(Address)
  If SetTemperature = AlreadySetTemperature Then Exit Sub
  If TemperatureRegister < 0 Then
     TemperatureRegister = 2 ^ 15 + TemperatureRegister
     TemperatureHighByte = HiByte(CLng(TemperatureRegister)) + 128
     TemperatureLowByte = LoByte(CLng(TemperatureRegister))
  Else
     TemperatureHighByte = HiByte(CLng(TemperatureRegister))
     TemperatureLowByte = LoByte(CLng(TemperatureRegister))
  End If
 
  WriteTwoBytes Address, 0, 0, TemperatureHighByte, TemperatureLowByte
 End Sub


WriteTwoBytes

MetaLevel

ModBusAddress TemperatureValue

Example Implementation:

  • Public Sub WriteTwoBytes(Address As Byte, RegisterHigh As Integer, RegisterLow As Integer, DataHigh As Integer, DataLow As Integer)
| Address | 16 |RegisterHigh | RegisterLow | 2 | DataHigh | DataLow |  0  | 0 | CRCLow | CRCHigh


  • Generic write SET VALUE: | ModBusAddress | TemperatureValue |
  • Specific write SET VALUE: | Address | 16 |RegisterHigh | RegisterLow | 2 | DataHigh | DataLow | 0 | 0 | CRCLow | CRCHigh