<root>
<document scada='0' schema='102' license='1,54349151,T8W8VU' title='' description='' fcversion='590336' target='ESP.ESP32.ESP32_WROOM_32' >
	<config data='' clkspd='40000000' simspd='0' usewdt='1' constif='0' commport='5' Use3V3='0' />
	<plugins >
		<dll_models enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug />
	<traces />
	<ghost >
		<FK2 >
			<data name='FK2D0' port='4294967295' pin='4294967295' />
			<data name='FK2D1' port='4294967295' pin='4294967295' />
			<data name='FK2D2' port='4294967295' pin='4294967295' />
			<data name='FK2D3' port='4294967295' pin='4294967295' />
			<data name='FK2D4' port='4294967295' pin='4294967295' />
			<data name='FK2D5' port='4294967295' pin='4294967295' />
			<data name='FK2D6' port='4294967295' pin='4294967295' />
			<data name='FK2D7' port='4294967295' pin='4294967295' />
			<data name='FK2D8' port='4294967295' pin='4294967295' />
			<data name='FK2D9' port='4294967295' pin='4294967295' />
			<data name='FK2D10' port='4294967295' pin='4294967295' />
			<data name='FK2D11' port='4294967295' pin='4294967295' />
			<data name='FK2D12' port='4294967295' pin='4294967295' />
			<data name='FK2D13' port='4294967295' pin='4294967295' />
			<data name='FK2D14' port='4294967295' pin='4294967295' />
			<data name='FK2D15' port='4294967295' pin='4294967295' />
			<data name='FK2A0' port='4294967295' pin='4294967295' />
			<data name='FK2A1' port='4294967295' pin='4294967295' />
			<data name='FK2A2' port='4294967295' pin='4294967295' />
			<data name='FK2A3' port='4294967295' pin='4294967295' />
			<data name='FK2A4' port='4294967295' pin='4294967295' />
			<data name='FK2A5' port='4294967295' pin='4294967295' />
		</FK2>
		<ICD >
			<data name='AnalogPrescaleValue' value='19' />
			<data name='DigitalSampleRate' value='100000' />
			<data name='BreakpointCount' value='8' />
			<data name='CallStackDepthCount' value='8' />
			<data name='ClockPort' value='1' />
			<data name='ClockPin' value='6' />
			<data name='DataPort' value='1' />
			<data name='DataPin' value='7' />
			<data name='UseDefaultPins' value='1' />
			<data name='WrapEnabled' value='1' />
			<data name='CommsDelayOverridden' value='0' />
			<data name='CommsDelay' value='5' />
			<data name='CalculatedCommsDelay' value='5' />
			<data name='AnalogEB2PrescaleValue' value='2' />
			<data name='DigitalEB2SampleRate' value='100000' />
		</ICD>
		<pins >
			<digital A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
			<analog A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
		</pins>
	</ghost>
	<components >
		<settings autoimg='0' center='1' unitscale='0' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' />
		<definition guid='f4cf3bc9-18c9-47c6-9cb1-89e362a7fd6a' vstate='40' vmin='0' vmaj='1' srcleaf='' visiblename='' description='' category='' category2='' category3='' bIs2dOnly='0' catenable='1' author='' manuname='' manucode='' sysinfo='0' keywords='' dynamic='1' scadaCompatible='0' embeddedCompatible='1' iconpath='' />
		<gdiopts FullContainer='1' FullTransparency='1' ShowGdi='1' ShowOpengl='1' />
		<component class_type='root' codename='panel' x='0' y='0' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='0' poslock='0' comp2dType='0' >
			<resources />
			<properties />
			<values />
			<events />
			<apis />
			<variables >
				<variable public='0' >
					<def class_type='variable' name='SendString' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
						<array size='20' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='in' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Count' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Name' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
						<array size='200' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='false' type='b1' description='' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Value' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
						<array size='250' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='cng' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='temp' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='RawData' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Control' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='ssidconnect' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Temperature' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='IPadd' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Serial' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='20' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Setpoint' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Feedback' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='TimerCount' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='ProcessPID' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='Read the stored set point value ' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='eeprom1' macro='Read' >
							<return exp='Setpoint' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='Setpoint = Setpoint * 4' />
							<exp exp='' />
						</command>
						<command class_type='call' title='Assign Feedback' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DSPInput1FeedBack' macro='AddByte' >
							<argument exp='Feedback' />
						</command>
						<command class_type='call' title='Assign Setpoint' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DSPInput2SetPoint' macro='AddByte' >
							<argument exp='Setpoint' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DSPPIDControl1' macro='Process' />
						<command class_type='call' title='Read from DSP output buffer' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DSPOutput1' macro='GetByte' >
							<return exp='Control' />
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='Control &gt; 255' swap='0' >
							<flowline >
								<command class_type='call' title='Assign to PWM duty' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='PWM1' macro='SetDutyCycle' >
									<argument exp='255' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Assign to PWM duty' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='PWM1' macro='SetDutyCycle' >
									<argument exp='Control' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Change values back to display on UART' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='Setpoint = Setpoint / 4' />
							<exp exp='Feedback = Feedback * 0.25' />
							<exp exp='' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='TimerInt' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='TimerCount = TimerCount + 1' />
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='TimerCount &amp; 0x01' swap='0' >
							<flowline >
								<command class_type='output' title='Output' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' mode='1' port='4194304' mask='4' exp='1' usechipref='1' />
							</flowline>
							<flowline >
								<command class_type='output' title='Output' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' mode='1' port='4194304' mask='4' exp='0' usechipref='1' />
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Debug' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='Debug' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
							<argument exp='Name' />
						</command>
						<command class_type='call' title='Debug' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
							<argument exp='Value' />
						</command>
						<command class_type='call' title='Debug' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
							<argument exp='&quot;\r\n&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetTemp' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='LSB' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MSB' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='cng = 1' />
							<exp exp='Serial = &quot;&quot;' />
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='cng = 1' swap='0' >
							<flowline >
								<command class_type='comment' title='' comment='Read Max6675 SPI' textarea='229,47,229,47' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' />
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='SPI_TempProbe' macro='Enable_CS' />
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='SPI_TempProbe' macro='GetChar' >
									<return exp='.MSB' />
								</command>
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='SPI_TempProbe' macro='GetChar' >
									<return exp='.LSB' />
								</command>
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='SPI_TempProbe' macro='Disable_CS' />
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='RawData = .LSB &gt;&gt; 3' />
									<exp exp='RawData = RawData | .MSB &lt;&lt; 5' />
									<exp exp='RawData = RawData - 16 // temp correction +- 4 deg out' />
									<exp exp='Feedback = RawData' />
								</command>
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Name = &quot;RawData - &quot;' />
									<exp exp='Value = ToString$ (RawData)' />
								</command>
								<command class_type='call' title='Call Macro' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='Debug' />
							</flowline>
							<flowline >
								<command class_type='call' title='Initialise all sensors on the bus' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='Initialise' />
								<command class_type='call' title='Get Next DS18B20 Device' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='AddressNextDevice' />
								<command class_type='call' title='Get Serial 48-bit Address of Device' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='GetSerialString' >
									<return exp='Serial' />
								</command>
								<command class_type='call' title='Perform temperature conversion - wait for completion' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='SampleAddressedDevice' >
									<argument exp='1' />
								</command>
								<command class_type='call' title='Collect Temperature' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='GetTemperature' >
									<return exp='Temperature' />
								</command>
								<command class_type='call' title='Send 48-bit Serial ID' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='Serial' />
								</command>
								<command class_type='call' title='Send Spacer' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot; - &quot;' />
								</command>
								<command class_type='call' title='Send Temperature' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendFloat' >
									<argument exp='Temperature' />
								</command>
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot;\r\n&quot;' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='Count = 32767' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Count = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Count = Count + 1' />
									<exp exp='Name = ToString$ (Count)' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Send 48-bit Serial ID' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
							<argument exp='Name' />
						</command>
						<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
							<argument exp='&quot;\r\n&quot;' />
						</command>
						<command class_type='delay' title='Delay' cmdcolor='36095' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' exp='1' type='2' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='Startup One Wire Comms' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='One_Wire1' macro='Initialise' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='SPI_TempProbe' macro='Initialise' />
						<command class_type='call' title='Startup UART Output' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='Initialise' />
						<command class_type='call' title='Initialise all sensors on the bus' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='DS18B20' macro='Initialise' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='WLAN_ESP32' macro='Initialise' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='WLAN_ESP32' macro='CreateAccessPoint' >
							<return exp='ssidconnect' />
							<argument exp='&quot;BrianHome&quot;' />
							<argument exp='&quot;12345&quot;' />
							<argument exp='20' />
							<argument exp='3' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='PWM1' macro='Enable' />
						<command class_type='interrupt' title='Interrupt' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' enable='1' name='TMR0' call='TimerInt' >
							<settings timer='1' prescale='-1' postscale='-1' rollover='256' bitcount='-1' trigger='3' maskhi='--------------------------------------------------------------------------------------------------------------------------------------------------------------------------8' masklo='--------------------------------------------------------------------------------------------------------------------------------------------------------------------------8' >
								<option value='256' />
								<option value='0' />
								<option value='-1' />
								<option value='-1' />
								<option value='-1' />
								<option value='-1' />
								<option value='-1' />
								<option value='-1' />
							</settings>
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='ssidconnect = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Name = &quot;Connected to ssid&quot;' />
								</command>
								<command class_type='call' title='User Macro' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='Debug' />
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='NetworkComms1' macro='Initialise' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='ModbusTCPSlave1' macro='Initialise' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='WLAN_ESP32' macro='ReadIP' >
							<argument exp='IPadd' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='Name = &quot;IP Address - &quot;' />
							<exp exp='Value = ToString$ (IPadd)' />
						</command>
						<command class_type='call' title='User Macro' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='Debug' />
						<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='eeprom1' macro='Read' >
							<return exp='Setpoint' />
							<argument exp='0' />
						</command>
						<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='Setpoint &gt; 125' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Setpoint = 78' />
								</command>
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='eeprom1' macro='Write' >
									<argument exp='0' />
									<argument exp='Setpoint' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
							<exp exp='Count = 0' />
							<exp exp='Serial = &quot;&quot;' />
						</command>
						<command class_type='loop' title='Loop' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' type='0' exp='1' >
							<flowline >
								<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='ModbusTCPSlave1' macro='CheckForIncoming' >
									<return exp='in' />
								</command>
								<command class_type='decision' title='Decision' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' exp='in = 1' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='ModbusTCPSlave1' macro='ReadCoils' >
											<argument exp='0' />
											<argument exp='in' />
										</command>
										<command class_type='output' title='Output' cmdcolor='5767111' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='1' cmdopacity='0.01' mode='1' port='4194304' mask='4' exp='in' usechipref='0' />
									</flowline>
									<flowline />
								</command>
								<command class_type='call' title='User Macro' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='GetTemp' />
								<command class_type='call' title='User Macro' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='ProcessPID' />
								<command class_type='calculation' title='Calculation' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='//Name = &quot;Temp - &quot;' />
									<exp exp='Value = ToString$ (Feedback)' />
								</command>
								<command class_type='call' title='Call Macro' disable='1' cmdcolor='2263842' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' macro='Debug' />
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot;Temp - &quot;' />
								</command>
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='Value' />
								</command>
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot;\xB0&quot;' />
								</command>
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot;C&quot;' />
								</command>
								<command class_type='call' title='Send New Line' cmdcolor='128' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' component='UART1Debug' macro='SendString' >
									<argument exp='&quot;\r\n&quot;' />
								</command>
								<command class_type='calculation' title='' cmdcolor='16711680' cmdcolor_sec='5767111' cmdcolor_txt='2105376' cmdgradient='0' cmdopacity='1' >
									<exp exp='Serial = &quot;++++++++++++&quot;' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='64b26b13-68cf-4a92-8616-e882b7c71023' vmin='4' vmaj='1' codename='One_Wire1' x='-156' y='-120' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='oo_pin' data='$PORTA.25' />
					<value target='Timing' data='000' />
					<value target='BufferSize' data='1' />
					<value target='OneWire' data='1' />
					<value target='NopTiming' data='0' />
					<value target='Nops6us' data='66' />
					<value target='Nops9us' data='18' />
					<value target='Nops10us' data='114' />
					<value target='NopFiddle' data='6' />
					<value target='Injector' data='000' />
					<value target='InjectorHandle' data='0' />
					<value target='InjectorChannel' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='783b7689-0c71-44fb-9dde-673e4b7455ba' vmin='0' vmaj='1' codename='DS18B20' x='-262' y='-91' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='OneWireComp' data='001' />
					<value target='OneWireHandle' data='13605' />
					<value target='AlarmHigh' data='75' />
					<value target='AlarmLow' data='70' />
					<value target='ConversionBits' data='003' />
					<value target='MaxConvTime' data='750' />
					<value target='TempRes' data='0.062500' />
					<value target='SimComms' data='0' />
					<value target='NumSensors' data='001' />
					<value target='Serial0' data='01193C4ADF32' />
					<value target='Serial1' data='01193C9E81E9' />
					<value target='Serial2' data='000000000002' />
					<value target='Serial3' data='000000000003' />
					<value target='Serial4' data='000000000004' />
					<value target='Serial5' data='000000000005' />
					<value target='Serial6' data='000000000006' />
					<value target='Serial7' data='000000000007' />
					<value target='Serial8' data='000000000008' />
					<value target='Serial9' data='000000000009' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c73616d1-7ad0-45d9-aada-69ccfa4c5efc' vmin='0' vmaj='3' codename='UART1Debug' x='123' y='-140' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='cal_uart::CHANNEL' data='001' />
					<value target='cal_uart::BAUD_LIST' data='009' />
					<value target='cal_uart::BAUD' data='115200' />
					<value target='cal_uart::DBITS' data='008' />
					<value target='cal_uart::RETURN' data='001' />
					<value target='cal_uart::ECHO' data='000' />
					<value target='cal_uart::UseTX' data='1' />
					<value target='cal_uart::TX' data='$PORTA.1' />
					<value target='cal_uart::OutputPins' data='007' />
					<value target='cal_uart::TXAlt' data='0' />
					<value target='cal_uart::UseRX' data='0' />
					<value target='cal_uart::RX' data='$PORTA.3' />
					<value target='cal_uart::InputPins' data='013' />
					<value target='cal_uart::RXAlt' data='0' />
					<value target='cal_uart::FLOWEN' data='000' />
					<value target='cal_uart::RTS' data='$PORTB.2' />
					<value target='cal_uart::CTS' data='$PORTB.1' />
					<value target='label' data='Send RS232' />
					<value target='cal_uart::ScopeTraces' data='0' />
					<value target='cal_uart::ConsoleData' data='1' />
					<value target='cal_uart::ConsoleFormat' data='000' />
					<value target='cal_uart::ConsoleColumns' data='64' />
					<value target='cal_uart::DataSource' data='000' />
					<value target='cal_uart::com_port' data='000' />
					<value target='cal_uart::Injector' data='000' />
					<value target='cal_uart::APIUseDDR' data='' />
					<value target='cal_uart::APIDDRPin' data='' />
					<value target='cal_uart::APIDDRRXState' data='' />
					<value target='cal_uart::APIUseFC' data='' />
					<value target='cal_uart::APICTSPin' data='' />
					<value target='cal_uart::APIRTSPin' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='1392d5c3-35ba-4c7f-a539-7f30a09758e4' vmin='2' vmaj='1' codename='DSPOutput1' x='60' y='-70' z='0' xsz='46.5' ysz='32' zsz='5.965' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='ConnectTo' data='DSPPIDControl1' />
					<value target='BuffSizeIn' data='1' />
					<value target='BuffTypeIn' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='e6dd1315-4acf-4fb5-abd9-5743d3715cbe' vmin='2' vmaj='1' codename='DSPPIDControl1' x='-10' y='-70' z='0' xsz='61' ysz='32' zsz='5.965' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='ConnectTo2' data='DSPInput2SetPoint' />
					<value target='ConnectTo' data='DSPInput1FeedBack' />
					<value target='BuffSizeIn' data='1' />
					<value target='BuffTypeIn' data='000' />
					<value target='BuffSize' data='1' />
					<value target='BuffType' data='000' />
					<value target='method' data='003' />
					<value target='proportional' data='1.000000' />
					<value target='integral' data='0.100000' />
					<value target='derivative' data='0.100000' />
					<value target='InvertError' data='0' />
					<value target='SampleTime' data='0.001000' />
					<value target='IntegralClamping' data='1' />
					<value target='ClampMax' data='65535' />
					<value target='ClampMin' data='0' />
					<value target='MonitorSetpoint' data='1' />
					<value target='DerFiltering' data='1' />
					<value target='FilterCoefficient' data='10' />
					<value target='BuffSizeIn2' data='1' />
					<value target='BuffTypeIn2' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c73d493a-b6a0-4dbe-b4b5-79648f67d11e' vmin='2' vmaj='1' codename='DSPInput1FeedBack' x='-90' y='-90' z='0' xsz='46.5' ysz='32' zsz='6.26796' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='BuffSize' data='1' />
					<value target='BuffType' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c73d493a-b6a0-4dbe-b4b5-79648f67d11e' vmin='2' vmaj='1' codename='DSPInput2SetPoint' x='-90' y='-50' z='0' xsz='46.5' ysz='32' zsz='6.26796' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='BuffSize' data='1' />
					<value target='BuffType' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='dcbf571f-a6fa-402d-bdd4-be00cca4070f' vmin='2' vmaj='1' codename='eeprom1' x='-230' y='10' z='0' xsz='20' ysz='20' zsz='20' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='EESize' data='128 byte' />
					<value target='EEbitdepth' data='16 bit' />
					<value target='InitialValues' data='' />
					<value target='InitValsParsed' data='' />
					<value target='ResetValues' data='0' />
					<value target='BitDepth' data='16' />
					<value target='Sim' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='444fb704-814c-4707-a15c-759ba088505c' vmin='1' vmaj='2' codename='PWM1' x='140' y='-70' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='channel' data='002' />
					<value target='altpin' data='0' />
					<value target='pwm_pin' data='$PORTB.0' />
					<value target='RemapPin' data='004' />
					<value target='timer' data='000' />
					<value target='period' data='181' />
					<value target='prescale' data='64' />
					<value target='period_calc' data='10000.000000' />
					<value target='frequency_calc2' data='100.000000' />
					<value target='frequency_calc' data='0.100000' />
					<value target='pwm_prescale' data='1' />
					<value target='ReqFreq' data='100.000000' />
					<value target='OldReqFreq' data='100.000000' />
					<value target='CalcFreq' data='100.004570' />
					<value target='CalcPeriod' data='10936' />
					<value target='CalcScaler' data='64' />
					<value target='Apply' data='0' />
					<value target='ClockSpeed' data='40000000' />
					<value target='SimRep' data='001' />
					<value target='Family' data='ESP' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='1ecb9b0a-53e7-45c9-ab6f-7a0d4a0c47e1' vmin='1' vmaj='2' codename='ModbusTCPSlave1' x='-100' y='20' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Component' data='NetworkComms1' />
					<value target='Status' data='Supported' />
					<value target='Port' data='502' />
					<value target='ReceiveBufferSize' data='20' />
					<value target='ReceiveTimeout' data='100' />
					<value target='SlaveAddress' data='0' />
					<value target='Stats' data='1' />
					<value target='CloseSocket' data='1' />
					<value target='label' data='Modbus TCP Slave' />
					<value target='StartAdrCoil' data='0' />
					<value target='NumAdrCoil' data='1' />
					<value target='StartAdrDI' data='0' />
					<value target='NumAdrDI' data='1' />
					<value target='StartAdrAI' data='0' />
					<value target='NumAdrAI' data='0' />
					<value target='StartAdrReg' data='0' />
					<value target='NumAdrReg' data='1' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='91049bf5-2436-42dc-947a-c30c86463d98' vmin='5' vmaj='1' codename='NetworkComms1' x='0' y='20' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Component' data='WLAN_ESP32' />
					<value target='RemapIndex' data='22' />
					<value target='Status' data='Supported' />
					<value target='Sim' data='0' />
					<value target='SimControl' data='000' />
					<value target='NetworkInterface' data='000' />
					<value target='IPAddress' data='192.168.8.100' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='f0f54e46-0848-4930-9bb6-eff9a34ed229' vmin='4' vmaj='2' codename='WLAN_ESP32' x='90' y='20' z='0' xsz='24.913' ysz='24.913' zsz='24.913' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Verbose' data='0' />
					<value target='RemapIndex' data='22' />
					<value target='TCP_Base1::interface' data='0' />
					<value target='TCP_Base1::ConsoleData' data='1' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='96862c4d-debc-45fa-9433-74711a4b9a3b' vmin='1' vmaj='2' codename='SPI_TempProbe' x='-160' y='-180' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='cal_spi::CHANNEL' data='001' />
					<value target='cal_spi::MOSI' data='$PORTA.19' />
					<value target='cal_spi::MOSIPins' data='026' />
					<value target='cal_spi::MISO' data='$PORTA.23' />
					<value target='cal_spi::MISOPins' data='031' />
					<value target='cal_spi::CLK' data='$PORTA.18' />
					<value target='cal_spi::CLKPins' data='025' />
					<value target='cal_spi::UseAutoCS' data='1' />
					<value target='cal_spi::SS' data='$PORTA.4' />
					<value target='cal_spi::PR_SCALE' data='004' />
					<value target='cal_spi::CKE' data='000' />
					<value target='cal_spi::CKP' data='000' />
					<value target='cal_spi::SMP' data='000' />
					<value target='label' data='SPI  Master' />
					<value target='cal_spi::ScopeTraces' data='1' />
					<value target='cal_spi::ConsoleData' data='1' />
					<value target='cal_spi::Injector' data='000' />
					<value target='cal_spi::InjectorCS' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<scadaresourcelookup />
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' >
		<background rgb='9737364' img='' style='0' />
		<camera xe='-88.5076' ye='-136.294' ze='607.199' xt='-88.5076' yt='-136.294' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<viewport dx='740' dy='470' zoom='147.464' fix_topleft='0' />
		<page x='1000' y='1000' show='0' rgb='15793151' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='1' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='0' />
		<camera xe='0' ye='0' ze='781.66' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey0 xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey1 xe='-3.67394e-14' ye='0' ze='-300' xt='0' yt='0' zt='0' xquat='0' yquat='1' zquat='0' wquat='6.12323e-17' />
		<camerakey2 xe='0' ye='-300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.707107' yquat='0' zquat='0' wquat='0.707107' />
		<camerakey3 xe='-3.67394e-14' ye='300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-4.32978e-17' yquat='0.707107' zquat='0.707107' wquat='4.32978e-17' />
		<camerakey4 xe='-300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='0.5' zquat='0.5' wquat='0.5' />
		<camerakey5 xe='300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='-0.5' zquat='-0.5' wquat='0.5' />
		<camerakey6 xe='-173.205' ye='-173.205' ze='173.205' xt='0' yt='0' zt='0' xquat='-0.424708' yquat='0.17592' zquat='0.339851' wquat='0.820473' />
	</panel3d>
	<layout >
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAA3QMAAPACAAA' zoom='75' scrollx='0' scrolly='84' flags='0' />
		<view type='0' name='GetTemp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAA3QMAAPACAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Debug' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAA3QMAAPACAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='TimerInt' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAA3QMAAPACAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ProcessPID' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAA3QMAAPACAAA' zoom='75' scrollx='0' scrolly='24' flags='0' />
	</layout>
</document>
</root>
