Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

Transmit a Message in a format designed by the user


in-dErick Feb 24, 2021 10:22 PM

Hi,

  This is Erick From Mexico, I am working with TX325, We use to work with the TX320/TX312 GOES Transmitters, Now with the TX325 we are having some problems. Can Any one provide me some help about the viability from the following program:

ConstTable (GOES_Options,0)
Const _GENERAL_OPTIONS_ = "==============="
Const Nombre() = "ACALA"
Const ID = "E8977246" 'Identificador

Const _ST_OPTIONS = "==============="
Const Can_TP = 93 'Canal Principal
Const Vel_TP = 300 'Velocidad de Tx Principal en Bps
Const Ven_Tx = 10 'Ventana de Tx en seg
Const Int_Tx() = "0_1_0_0" 'Intervalo de TX
Const Ini_Tx() = "00_10_00" 'Inicia de 1a transmision
Const _RT_OPTIONS_ = "==============="
Const Can_Al = 125 'Canal Aleatorio
Const Vel_Al = 300 'Velocidad de Tx Aleatori en Bps
Const Int_Al() = "0_10_0" 'Intervalo Aleatorio
Const _APPLY_CHANGES_ = "==============="
EndConstTable

' MN Addition - Added Radio Type
Const GOES_Radio_Type = 325 ' 325 = TX325

'*************************** Sensores ****************************

Public Temp_Int 'Temperatura del panel
Public Bateria 'Voltaje de la Batería

'Velocidad y Direccion de Viento
Public DV 'Direccion del viento a 1 seg
Public VV 'Velocidad del viento a 1 seg

'Temperatura y Humedad
Public TRHData(2)
Alias TRHData(1)= Temperatura 'Temperatura ambiente
Alias TRHData(2)= Humedad 'Humedad relativa


Public Lluvia 'Precipitación

Public Radiacion 'Radiación Solar

Public Presion 'Indice UV

Public Loc1


Public Latitud 'Latitud GPS
Public Longitud 'Longitud GPS
Public Altitud 'Antitud GPS

' MN Addition - Needed new variable
Public GOESResultTX As String

Dim GOESArr1(6),GOESArr2(7) 'Arreglo de salida GOESGPS
Dim HoraReal(9) 'Arreglo de salida para la inst. realtime

Public RegSen As String * 80 'Registros a enviar a GOES

Dim DV_F(1)
Dim VV_F(1)
Dim Temp_F(1)
Dim Hum_F(1)
Dim PB_F(1)
Dim Precip_F(1)
Dim Nivel_F(1)
Dim RS_F(1)
Dim VB_F(1)

Dim Hora As String' * 10 'Hora para usarse en Tx GOES
Dim DV_G As String' * 10
Dim VV_G As String' * 4
Dim Temp_G As String' * 5
Dim Hum_G As String' * 3
Dim PB_G As String' * 20
Dim Precip_G As String' * 5
Dim Nivel_G As String
Dim RS_G As String' * 4
Dim VB_G As String' * 4

' ========================================
Public __GOES_STATUS__ As String = " "

Public goes_battery_before_tx
Public goes_battery_during_tx
Public goes_battery
Public goes_temperature
Public goes_temperature_before_tx
Public goes_latitude As Double
Public goes_longitude As Double
Public goes_time_last_gps_fix As String
Public goes_fail_safe_indicator
Public goes_durations_of_transmit
Public goes_forward_tx_power
Public goes_reflected_rf_power
Public goes_vswr As Long
Public goes_last_tx_start_time As String

'=====================

'****************************************************************************
'****************** Definicion de Tablas *********************
'****************************************************************************

DataTable (QuinceMin,1,-1)
DataInterval (0,15,Min,10)
Average(1,Bateria,FP2,False)
FieldNames ("VB:")
Average (1,Temperatura,FP2,False)
FieldNames ("Temp:")
Average (1,Humedad,FP2,False)
FieldNames ("Hum:")
WindVector (1,VV,DV,FP2,False,0,0,1)
FieldNames("WS,WD")
Average(1,Radiacion,FP2,False)
FieldNames("RS:")
Sample(1,Lluvia,FP2,False)
FieldNames("Precip:")
Totalize(1,Presion,FP2,False)
FieldNames("BP:")
Average (1,Loc1,FP2,False)
FieldNames("Nivel:")
EndTable


' MN Addition - added this table for the TX325
DataTable (QuinceMinGOES_325,1,72)
GOESTable (GOESResultTX,COMRS232,3,0,1,True,2)
DataInterval (0,15,Min,10)
GOESField (1,1,0,13, "")
Sample (1,RegSen,String)
EndTable


' ========================================
' This subroutine To get GOES status info

Sub Get_GOES_Diag
goes_battery_before_tx = Settings.GOESbatteryBeforeTx
goes_battery_during_tx = Settings.GOESbatteryDuringTx
goes_battery = Settings.GOESCurrentbattery
goes_temperature_before_tx = Settings.GOEStemperatureBeforeTx
goes_temperature = Settings.GOESCurrenttemperature
goes_latitude = Settings.GOESLatitude
goes_longitude = Settings.GOESLongitude
goes_time_last_gps_fix = Settings.GOESTimeLastGPSPosition
goes_fail_safe_indicator = Settings.GOESFailSafeIndicator
goes_durations_of_transmit = Settings.GOESDurationOfTransmit
goes_forward_tx_power = Settings.GOESForwardTxPower
goes_reflected_rf_power = Settings.GOESReflectedRfPower
goes_vswr = Settings.GOESVSWR
goes_last_tx_start_time = Settings.GOESLastTxStartTime

' Appended_Batt = goes_battery_during_tx
' If Appended_Batt = NAN Then Appended_Batt = BattV ' may happen on
' If Appended_Batt = 0.00 Then Appended_Batt = BattV ' first transmission
'
' Appended_Batt_Bin = INT((Appended_Batt - 9.8) * 10)
EndSub

'****************************************************************************
'****************** Loop Principal *********************
'****************************************************************************

BeginProg
' ========================================

' MN Addition - Initialize this to prevent compiler warnings
__GOES_STATUS__ = "===============" ' This looks like a header in the public table

' MN Addition - Choose action based on radio type
SetSetting ("Baudrate(COMRS232)", 9600) ' Hard Coded
SetSetting ("GOESComport", COMRS232)
SetSetting ("GOESEnabled", 1)
SetSetting ("GOESRepeatCount", 1)
SetSetting ("GOESPlatformID", ID) ' From Constants
SetSetting ("GOESSTChannel", Can_TP)
SetSetting ("GOESSTBaudRate", Vel_TP)
SetSetting ("GOESSTInterval", Int_Tx)
SetSetting ("GOESSTOffset", Ini_Tx)
SetSetting ("GOESMsgWindow", Ven_Tx)
SetSetting ("GOESRTChannel", Can_Al)
SetSetting ("GOESRTBaudRate", Vel_Al)
SetSetting ("GOESRTInterval", Int_Al)

Scan (30,Sec,0,0)

'=== SECCION 1 === Mediciones de soporte

PanelTemp (Temp_Int,_60Hz) 'Temperatura interna
Battery (Bateria) 'voltaje de bateria

''''''' Nivel

If TimeInToInterval(56,60,Min) Then
SDI12Recorder(Loc1,C7, "0", "M!", -1, 8.27)
If (Loc1 < 0) Then
SDI12Recorder(Loc1,C7, "0", "M!", -1, 8.27)
If (Loc1 < 0) Then
SDI12Recorder(Loc1,C7, "0", "M!", -1, 8.27)
EndIf
EndIf
EndIf

''''''' Pluviometro
PulseCount(lluvia, 1,P2,1, 0, 0.1, 0)


'=== SECCION 2 === Realiza formato de hora para GOES "HH:MM:00 "
RealTime (HoraReal())
Hora = FormatFloat(HoraReal(1),"%02g") + "-" + FormatFloat(HoraReal(2),"%02g") + "-" + FormatFloat(HoraReal(3),"%02g") + " " + FormatFloat (HoraReal(4),"%02g") + ":" + FormatFloat (HoraReal(5),"%02g") + ":00"
'=== SECCION 4 === Llama tablas para registro normal de datos

CallTable QuinceMin

'=== SECCION 5 === Formatea datos para GOES

'Formateo de datos de sensores
If IfTime(0,1,min) Then 'cambie de 1 a 10
DV_F() = QuinceMin.WD(1,1)
VV_F() = QuinceMin.WS(1,1)
Temp_F() = QuinceMin.Temp(1,1)
Hum_F() = QuinceMin.Hum(1,1)
PB_F() = QuinceMin.BP(1,1)
Precip_F() = QuinceMin.Precip(1,1)
Nivel_F() = QuinceMin.Nivel(1,1)
RS_F() = QuinceMin.RS(1,1)
VB_F() = QuinceMin.VB(1,1)

DV_G = FormatFloat(DV_F,"%.0f")
VV_G = FormatFloat(VV_F,"%.1f")
Temp_G = FormatFloat(Temp_F,"%.1f")
Hum_G = FormatFloat(Hum_F,"%.0f")
PB_G = FormatFloat(PB_F,"%.1f")
Precip_G = FormatFloat(Precip_F,"%.2f")
Nivel_G = FormatFloat(Nivel_F,"%.1f")
RS_G = FormatFloat(RS_F,"%.0f")
VB_G = FormatFloat(VB_F,"%.1f")

RegSen = ( CHR(34)+Hora+CHR(34)+","+VB_G+","+Temp_G+","+Hum_G+","+VV_G+","+DV_G+","+RS_G+","+Precip_G+","+PB_G+","+Nivel_G)
EndIf

'=== SECCION 6 === Envia datos al Tx, ajusta reloj y toma coordenadas

If IfTime (0,1,min) ' Get The GOES Status
Call Get_GOES_Diag
EndIf

If IfTime (0,15,min)
CallTable QuinceMinGOES_325
EndIf

If IfTime (2,60,Min)
' 'GOESData (GOESResult,BateriaGOES,1,0,1)
' GOESGPS (GOESArr1(),GOESArr2()) 'Ajusta reloj con GPS
ClockSet (GOESArr2())
Latitud = (GOESArr1(3)/10000000) 'Toma coordenadas
Longitud = (GOESArr1(4)/10000000)
Altitud = GOESArr1(5)/100
EndIf

NextScan


EndProg

Regards

Log in or register to post/reply in the forum.