사용자 도구

사이트 도구

English

cublocapp:an32007:index

AN32007 - UIF-5K와 큐블록 연결

UIF-5K 는 큐블록 MSB 시리즈용 유저인터페이스로도 훌륭합니다.

다음은 큐블록 MSB의 입출력기능 (AD 포함)을 UIF-5K를 가지고 실험하는 프로그램입니다.

UIF-5K 전면 스위치에 다음과 같은 기능을 할당해 놓았습니다.

F1 : Output State, F2 : Input State, F3 : 0~20mA State, F4 : 0~10V State, F5 : Home

결선은 다음과 같이 하였습니다.

소스 프로그램

msb_uif5k.zip

#include "MSB6XX"
Dim RX_KEY As Integer
Dim i As Integer
Dim P_inout As Integer
 
Opencom 1, 115200, 3, 30, 20
Set Uif 2, 1
On Recv1 Gosub ABC
Ramclear
Cls
Delay 200 	 	  'CLCD 클리어 완료 지연시간
Print 27, 90, 1           '부저 ON
Csroff			  '커서 on/off
HOME_DISPLAY
 
Do
'### 입력 P8,9,10,11을 읽어 P32,33,34,35으로 출력 ###
	For i=8 To 11O
		P_inout = In(i)		
		If P_inout = 1 Then High(i+24)
		Elseif P_inout = 0 Then Low(i+24)
		Delay 10
	Next
Display_main
Loop
 
'### UIF-5K이의 스위치가 눌렸을때 실행되는 인터럽트 함수 ###
ABC:		
	RX_KEY=Get(1,1)    
	Cls					
	Delay 100
	Display_main
Return
 
'### 발생된 키번호의 DISPLAY PAGE 선택 ###
Sub Display_main ()
	Select Case RX_KEY
	Case 1
		F1_OUTPUT
	Case 2
		F2_INPUT
	Case 3
		F3_AD_0_20mA
	Case 4
		F4_AD_0_10VDC
	Case 5,0
		HOME_DISPLAY
	End Select
Delay 100
End Sub
 
'#### HOME F5키 발생시 DISPLAY ###
Sub HOME_DISPLAY ()
Locate 0,0
Print "==[MSB612 DISPLAY]=="
Locate 0,1
Print " F1:Output F2:Input ""
Locate 0,2
Print " F3:0-20mA F4:0-10V""
Locate 0,3
Print " F5:HOME            "
End Sub
 
'#### OUTPUT STATE F1키 발생시 DISPLAY ###
Sub F1_OUTPUT ()
Dim on_off As Byte
Locate 0,0
Print "===[OUTPUT STATE]==="
Locate 0,1
Print " OUTPUT PORT"
Locate 0,2
Print "                    "
Locate 0,2
Print " =>"
For i=32 To 35
on_off = Outstat(i)		'출력상태를 읽어옴
If on_off = 1 Then		'출력상태의 포트를 표시함
Print Dec i
Print " "
Endif 
Next
End Sub
 
'#### INPUT STATE F2키 발생시 DISPLAY ###
Sub F2_INPUT ()
Dim IN_ON As Byte
Locate 0,0
Print "===[INPUT  STATE]==="
Locate 0,1
Print " INPUT PORT"
Locate 0,2
Print "                    "
Locate 0,2
 
For i=8 To 15
IN_ON = In(i)	   '입력상태를 읽어옴
If IN_ON = 1 Then	'입력이 HIGH상태의 포트를 표시함
Print Dec i
Print " "
Endif 
Next
End Sub
 
'#### 0~10VDC F3키 발생시 DISPLAY ###
Sub F3_AD_0_20mA ()
Dim AD_VAL As Integer
Cls					
Delay 5
Locate 0,0
Print "===[0-20mA STATE]==="
Locate 0,2
AD_VAL = Adin(0) 		'ADC 상태 값을 읽어옴
Print " AD0:", Dec AD_VAL       '변수 AD_VAL값을 LCD에 표시함
Locate 11,2
AD_VAL = Adin(1) 
Print "AD1:", Dec AD_VAL
Locate 0,3
AD_VAL = Adin(2) 
Print " AD2:", Dec AD_VAL
Locate 11,3
AD_VAL = Adin(3) 
Print "AD3:", Dec AD_VAL
End Sub
 
'#### 0~10VDC F4키 발생시 DISPLAY ###
Sub F4_AD_0_10VDC ()
Dim AD_VAL As Integer
Cls					
Delay 5
Locate 0,0
Print "===[0-10VDC STATE]==="
Locate 0,2
AD_VAL = Adin(4) 
Print " AD4:", Dec AD_VAL
Locate 11,2
AD_VAL = Adin(5) 
Print "AD5:", Dec AD_VAL
Locate 0,3
AD_VAL = Adin(6) 
Print " AD6:", Dec AD_VAL
Locate 11,3
AD_VAL = Adin(7) 
Print "AD7:", Dec AD_VAL
End Sub

실행 동영상

cublocapp/an32007/index.txt · 마지막으로 수정됨: 2017/10/17 01:28 저자 Comfile Technology