Hi Henrik
Thank you for help re:- my coding... Us HW people suffer with S/W issues... Cant see what is happening if cant prod it with Fluke 
Anyway got it working today... See below :-
Code:
'****************************************************************
'* Name : TRIP.BAS *
'* PIC : PIC16F688 *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 29/10/2015 *
'* Version : 1.0 *
'* Notes : 322 Words used *
'* : *
'* *
'* Process Signal AN0 *
'* Alarm Preset AN1 *
'* Trip Preset AN2 *
'* Delay Trip Dly RC2 *
'* Alarm Relay RC3 *
'* Trip Relay RC4 *
'* Reset Trip P/B RC5 *
'****************************************************************
DEFINE OSC 8 ' Set RC Clock to 8 Megs
CMCON0 = 7 'Disable both comparators
'Define ADCIN parameters
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
ANSEL = %00000111 ' Enable ADC channels AN2-AN0
ADCON1 = %10000000 ' Set PORTA analog and right justify result
'Analogs
PROC_SIG Var word ' Create PROC_SIG to store result
ALARM_TRIM Var word ' Create ALARM_TRIM to store result
TRIP_TRIM Var word ' Create TRIP_TRIM to store result
'Digitals
ALARM_RLY VAR PORTC.3 ' Alarm Relay
TRIP_RLY VAR PORTC.4 ' Trip Relay
TRIP_RST VAR PORTC.5 ' Trip Reset PB
TRIP_DLY VAR PORTC.2 ' Trip Delay Link
'Constants
RLY_OFF CON 0 ' Relay Off
RLY_ON CON 1 ' Relay On
HYS CON 25 ' 25 = 1/8Volt
START:
LOW TRIP_RLY ' Ensures Trip Rly off
LOW ALARM_RLY ' Ensures Alarm Rly off
Gosub ANALOG_READ
If (ALARM_RLY = RLY_OFF) AND (PROC_SIG >= (ALARM_TRIM + HYS)) THEN ALARM_RLY = RLY_ON
If (ALARM_RLY = RLY_ON) AND (PROC_SIG <= (ALARM_TRIM - HYS)) THEN ALARM_RLY = RLY_OFF
If (TRIP_RLY = RLY_OFF) AND (PROC_SIG >= (TRIP_TRIM + HYS)) and TRIP_DLY = 0 THEN goto D_TRIP
If (TRIP_RLY = RLY_OFF) AND (PROC_SIG >= (TRIP_TRIM + HYS)) AND TRIP_DLY = 1 THEN goto L_TRIP
GOTO START
L_TRIP: ' Latching Trip
high TRIP_RLY ' Latch Trip Relay
IF TRIP_RST = 0 THEN GOTO START 'Release If PB Reset Pressed
Goto L_trip
D_TRIP: ' Delayed Trip
HIGH TRIP_RLY ' Latch Trip Relay
PAUSE 1000 ' Pause for T_Delay
GOTO START
ANALOG_READ: ' Read analogs
ADCIN 0, PROC_SIG ' Read channel 0 to PROC_SIG
ADCIN 1, ALARM_TRIM ' Read channel 1 to ALARM_TRIM
ADCIN 2, TRIP_TRIM ' Read channel 2 to TRIP_TRIM
RETURN
END
Anything you see wrong in my attempt above do tell ..... Is there a correct order to list the defines / setup etc ?
Thank you again for your help
BR
Andy
Bookmarks