APÉNDICE D.
PROGRAMACIÓN EN CRBASIC
D.1 MUESTRA DEL PROGRAMA CR1000
El siguiente programa de muestra lee una serie de sensores 6180 con tres sensores
biaxiales. El conjunto en este ejemplo se comunica con el CR1000 a través de los puertos
de control C1 y C2, los cuales están configurados como COM1. Se necesita de un
convertidor RS-485 a TTL.
Public ErrorCode
'Error Code sent back from ModBus Command
Public A_Axis_Degrees(3) 'A Axis Degree Output
Public B_Axis_Degrees(3) 'B Axis Degree Output
Public Celsius(3)
'Temperature Celsius
Public Count
'Counter to increment through sensors
'Define Data Tables
DataTable(Test,1,-1)
Sample (3,A_Axis_Degrees(),IEEE4)
'Store Degree Reading for A Axis
Sample (3,B_Axis_Degrees(),IEEE4)
'Store Degree Reading for B Axis
Sample (3,Celsius(),IEEE4)
'Store Thermistor C Reading
EndTable
'Main Program
BeginProg
'Open COMport with TTL communications at 115200 baud rate
SerialOpen (Com1,115200,16,0,50)
'Read 3 sensors in MEMS String every 10 seconds
Scan (10,Sec,0,0)
'Loop through addresses of connected String
For Count = 1 To 3
'Reset temporary storage for both Degrees and Temp so not to retain
'previous reading
A_Axis_Degrees(Count) = 0
B_Axis_Degrees(Count) = 0
Celsius(Count) = 0
'Flush Serial between readings
SerialFlush (Com1)
'Write to register to begin reading MEMS String
NOTE: ModbusMaster won't send 0x118 unless "&H119" is 'entered
ModbusMaster (ErrorCode,Com1,115200,Count,6,1,&H119,1,1,50,0)
'Delay after write register
Delay (1,1,Sec)
'Use Modbus command to retrieve A Axis and B Axis Degree Readings
ModbusMaster (ErrorCode,Com1,115200,Count,3,A_Axis_Degrees(Count),&H101,1,1,50,0)
ModbusMaster (ErrorCode,Com1,115200,Count,3,B_Axis_Degrees(Count),&H103,1,1,50,0)
'Use Modbus command to retrieve Thermistor Celsius from string
ModbusMaster (ErrorCode,Com1,115200,Count,3,Celsius(Count),&H107,1,1,550,0)
'Delay before proceeding to next reading
Delay (1,1,Sec)
Next
'Call Table to store Data
CallTable Test
NextScan
EndProg
D.2 MUESTRA DE PROGRAMA CR6
El siguiente programa de muestra lee una serie de sensores 6180 con tres sensores
direccionables. El conjunto en este ejemplo se comunica con el CR6 a través de los
puertos de control C1 y C2, los cuales están configurados como ComC1. El CR6 tiene
capacidad RS 485 incorporada, por lo que no necesita de un convertidor RS-485 a TTL.
Public ErrorCode
Public A_Axis_Degrees(3)
Public B_Axis_Degrees(3)
Public Celsius(3)
Public Count
'Define Data Tables
DataTable(Test,1,-1)
Sample (3,A_Axis_Degrees(),IEEE4)
'Store Degree Reading for A Axis
Sample (3,B_Axis_Degrees(),IEEE4)
'Store Degree Reading for B Axis
Sample (3,Celsius(),IEEE4)
'Store Thermistor C Reading
EndTable
SISTEMA DE INCLINÓMETRO VERTICAL FIJO MODELO 6180 | PROGRAMACIÓN EN CRBASIC | 21
'Error Code sent back from ModBus Command
'A Axis Degree Output
'B Axis Degree Output
'Temperature Celsius
'Counter to increment through sensors