데이터 로깅 컨트롤은 어떻게 사용합니까?

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

데이터 로깅 컨트롤은 어떻게 사용합니까?

什么是데이터记录控件?

데이터 로깅 컨트롤은 어떻게 사용합니까?插图

데이터记录控件用于记录데이터,共有4中类型,分别为当前告警、历史告警、历史告警与解除时间、通用表格。

“当前告警”、“历史告警”和“历史告警与解除时间”的设置类似,本例程中结合工程中的画面,只介绍데이터记录控件“历史告警与解除”和“通用表格”的应用:

  1. 通用表格:介绍名字和编号的记录
  2. 历史告警和解除时间:记录产生告警的时间以及告警解除的时间

13.1 데이터记录控件属性说明

데이터记录控件属性如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图1

字体

设置데이터记录显示的字体大小和样式

用户使用字体样式时候,需要考虑表格一行的高度值,如果字体设置过大,超过表格一行的高度,文字是“不显示”

文字颜色

设置字体显示的颜色

显示网格

设置网格显示,可选“是”或“否”。

【是】:设置为“是”,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图2

【否】:设置为“否”,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图3

网格颜色

设置网格显示的颜色

显示背景

设置背景的显示,可选“是”或“否”

【是】:默认控件显示的背景为白色,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图4

【否】:设置不显示背景时,直接显示该画面的背景内容,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图5

背景颜色

设置表格的背景颜色,可选“是”或者“否”

允许选择

设置允许选择데이터所在行。运行后,选择데이터记录控件的子项,会给该子项加上一个背景颜色,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图6

显示滚动条

设置是否显示滚动条显示状态。可选为“不显示”、“按需显示”或“固定显示”,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图7
不显示

当“显示记录数”为“6”,若“显示记录数”大于“6”时,仍显示前6条데이터,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图8
按需显示

当“显示记录数”为“6”,若显示데이터条数小于“6”时,不显示固定条框;若显示데이터条数大于“6”时,显示滚动条,并可以拖动滚动条查看데이터,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图9
固定显示

当“显示记录数”为“6”,若显示데이터条数小于“6”时,显示滚动条框;若显示데이터条数大于“6”时,在滚动条框显示滚动条,并可以拖动滚动条查看데이터,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图10

手势滑动

设置滑动데이터记录控件查看데이터,可选“是”或“否”,当데이터条数大于“显示记录数”时,点击并拖动데이터记录控件可查看데이터

显示序号

设置每一条记录添加的序号,可选“是”或“否”。当且仅当记录类型为“通用表格”时,该项参数设置才生效序号从“1”开始。若需要显示子项内容为两列,则增加序号显示时,需设置“子项数目”为3列,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图11
基本型平台

如需要在屏幕上显示“1 广州大彩 0001”,所发的데이터内容为“;广州大彩;0001”,“序号”子项内容固定为“;”

F型和W联型平台

设置增加序号显示时,如需要在屏幕上显示“1 广州大彩 0168”,所发的데이터内容为“$NUM;广州大彩;0168”,“序号”子项内容固定为“$NUM;”

注意:每一个子项(每一列),用英文符号“;”隔开

图标文件

设置每一条记录添加的图标,可添加图标路径。当且仅当记录类型为“通用表格”时,该项参数设置才生效。如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图12

设置增加图标显示时,如需要在屏幕上第一项(列)显示图标第一帧,第二项显示“001”,第一项(列)显示图标第二帧,所发的데이터内容为“$ICON0;001;$ICON1”,“序号”子项内容固定为“$ICONx;”x表示图标文件的第几帧

注意:设置的图标大小要不超过데이터记录控件行的高度和宽度,否则会显示异常或显示不出来

记录类型

设置不同的记录类型,可选为“当前告警”、“历史告警”、“历史告警与解除时间”或“通用表格”。如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图13
当前告警

子项数固定为两项(即为两列),第一项为告警事件,第二项为告警时间。当产生报警,데이터记录控件显示当前的告警和触发时间;当报警解除时,데이터记录控件不显示告警信息。如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图14
历史告警

子项数固定为两项(即为两列),第一项为告警事件,第二项为告警时间。当产生报警时,데이터记录控件会显示的告警和触发时间;当报警解除时,告警데이터仍显示在表格里,可通过滚动条查阅过去的告警信息。如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图15
历史告警与解除时间

子项数固定为三项(即为三列),第一项为告警事件,第二项为告警时间,第三项为解除时间。当产生报警时,데이터记录控件会显示的告警和触发时间;当告警事件解除时,显示解除的时间,告警데이터仍显示在表格里,可通过滚动条查阅过去的告警信息。如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图16
通用表格

子项数默认为两项(即为两列),最大可设置为“10”项(列),可用作记录데이터功能,记录的内容可以是中文、字母、数字,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图17

显示顺序

设置显示的顺序,可选为“时间顺序”或“时间逆序”

对齐方式

设置데이터显示的对齐方式,可选为“左对齐”、“居中对齐”或“右对齐”

子项数目

设置每一条记录包含的子项数,该项参数当且仅当记录类型为“通用表格”设置有效

子项宽度

设置每个子项的宽度比例,如设置为“30;40;50”

显示记录数

设置控件显示的记录条数,即是显示的行数。如设置为“10”,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图18

最大记录数

设置最大的记录条数,存满之后,覆盖旧的记录,默认1024条

单条记录大小

设置单条记录大小,最大为256个바이트。该项参数当且仅单记录类型为“通用表格”设置才有效。

是否存储

设置记录的데이터是否存储到FLASH(断电保存),可选为“是”或“否”,该存储주소和用户存储128K空间、프로토콜与变量里面的存储、历史曲线等共用一块存储区域

  • 存储주소:每放置一个데이터记录控件,都必须重新设置一次存储주소,避免存储주소重叠

预留存储空间

给该“데이터记录控件”预留的存储空间大小

该项参数VisualTFT自动计算,预留存储空间=单条记录大小*最大记录数 + 24。如下所示,单条记录大小“100”바이트,最大记录数为1024条,则需要给该控件预留102424个바이트存储

데이터 로깅 컨트롤은 어떻게 사용합니까?插图19
  • 当前告警:固定为6个바이트,不可更改,不支持掉电保存
  • 历史告警:固定为6个바이트,不可更改,支持掉电保存
  • 历史告警与解除时间:固定为10个바이트,不可更改,支持掉电保存。
  • 通用表格:默认为100个바이트,最大为256个바이트,根据用户MCU发送的데이터바이트数而定。支持掉电保存

注:데이터记录控件与历史曲线共用存储块,开启데이터存储时,应设置存储주소,否则会出现,데이터存储异常、显示异常。

데이터存储주소计算:

데이터控件存储大小= 最大记录数*单挑记录大小+24(单位:바이트)

历史曲线存储大小= 采样点数+30(单位:바이트)

告警解析

当记录类型为“当前告警”、“历史告警”、“历史告警与解除时间”时,可定义告警解析。对告警进行文字显示,如定义数值0,为“高温”,颜色为红色,如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图20

当对该控件分别发送数值0、1、8时,如下所示,被定义的0、1此时显示的告警解析的内容,未被定义的8显示的还是数值

데이터 로깅 컨트롤은 어떻게 사용합니까?插图21

13.2 通用表格

画面配置

在【通用表格】画面的“背景图片”导入相应的美工图片,画面中添加1个데이터记录控件(控件ID:1)和3个按钮控件(控件ID:2-4),如下所示

데이터 로깅 컨트롤은 어떻게 사용합니까?插图22
데이터 로 깅 컨트롤 속 성

데이터 레 코 드 컨트롤 의 속 성 창 에서 [ 레 코 드 표시 수 ] 를 " 6 " 로 설정 하고 [ 단 일 레 코 드 수 ] 를 " 40 " 로 설정 하여 다음과 같이 속 성 구성 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图23
레 코 드 추가 버튼

경 보 레 코 드를 추가 하는 데 사용됩니다 .버튼 컨트롤 (컨 트 롤 ID : 2) 의 속 성 창 에서 [ 터 치 대 시 상 자 ] 를 " 아니 오 " 로 , [ 눌 러 진 사진 ] 을 해당 소 재 경 로 로 , [ 잘 라 내 기 ] 를 " 선 택 " 으로 설정 하면 다음과 같이 속 성 구성 됩니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图24

" 추 가 " 단 추 를 누 른 내부 지 시를 작성 합니다 .

  • 클릭 [ 내 부 명령 ] → " 눌 러 " 팝 업 명령 채 우 기 상 자 , 선택 " 명 령 도우 미 " 명령 도우 미 인터페 이스 에서 , 왼쪽 탐 색 모 음 선택 [ 데이 터 기록 컨트롤 ] 설정 " 데이 터 기록 컨트롤 " 영역 의 명령 매 개 변 수 .
  • 루 틴 에서 " 광 저 우 다 채 ; 000 1; " 레 코 드 복 사 명령을 추가 하고 아래 와 같이 버튼 에 대한 명령 어를 작성 합니다 .
데이터 로깅 컨트롤은 어떻게 사용합니까?插图25
데이터 내 보내 기 단 추

마찬가지로 , " 데이 터 내 보내 기 " 버튼 은 USB 드라이브 또는 SD 카드 에 CS V 테이블 을 내 보 낼 수 있습니다 . [ 내 부 명령 ] → " 눌 러 " 에서 " 점 프 기 호 직 렬 화 면 명령 세 트 " 문서 에서 " 2. 79 데이터 로 깅 컨트롤 - SD 카드 내 보내 기 명령 (CS V 형 식) " 을 찾아 명령을 복 사 하고 명령 형 식은 다음과 같습니다 . 이 루 틴 은 다음과 같습니다 .

帧头구성(SCADA)指令기능 코드-导出CSV格式画面ID控件ID帧尾

실행 미리 보기

가상 화 면을 실행 하고 Visual T FT 소프트웨 어는 가상 화 면 과 " 가 상 직 렬 포 트 " 를 사용하여 연결 을 설정 합니다 .

화 면 제어

" 추 가 " 버튼 을 누 르 면 데이터 로 깅 컨트롤 의 첫 번째 열 에 " 광 저 우 다 채 " 가 표시 되고 두 번째 열 에 " 000 1" 가 표시 되며 " 추 가 " 버튼 을 다시 누 르 면 데이터 로 깅 컨트롤 의 두 번째 행 에 동일한 레 코 드가 표시 됩니다 ; " 데이 터 내 보내 기 " 를 누 르 면 컴퓨터 D 패 킹 루 트 디 렉 토 리에 CS V 파일을 표시 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图26
레 코 드 데이터 추가 명령

왼쪽 탐 색 모 음 에서 [ 데이 터 로 깅 컨트롤 ] 을 선택 하여 [ 일 반 테이블 ] 영역 의 명령 매 개 변 수를 설정 합니다 .루 틴 에서 [ 일 반 테이블 ] 화 면의 데이터 기록 컨트롤 (컨 트 롤 ID : 1) 을 설정 하고 기록 데이터를 " 광 저 우 다 채 ; 000 2; ", " 광 저 우 다 채 ; 000 3 " 로 추가 하고 " 보내 기 " 를 클릭 하면 다음과 같이 실행 됩니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图27
명령 어 : 행 레 코 드 수정

왼쪽 탐 색 모 음 에서 [ 데이 터 로 깅 컨트롤 ] 을 선택 하여 [ 일 반 테이블 ] 영역 의 명령 매 개 변 수를 설정 합니다 .루 틴 에서 와 같이 , 1 행 데이터 의 번호 를 " 00 11 " 으로 수정 하고 " 보 냄 " 을 클릭 하십시오 ; 다음과 같은 작동 효과

데이터 로깅 컨트롤은 어떻게 사용합니까?插图28

일반 테이블 에는 " 레 코 드 데이터 지 우 기 ", " 위치 오 프 셋 설정 ", " 레 코 드 수 가져 오 기 ", " 레 코 드 한 줄 읽기 ", " 레 코 드 한 줄 삭제 ", " 레 코 드 한 줄 삽 입 ", " 레 코 드 한 줄 선택 ", " 여러 레 코 드 추가 " 등의 기능 도 포함되어 있으며 사용자는 명령 어 세 트 문 서를 참조 하여 온라인 디 버 깅 경험을 할 수 있습니다 .

외부 MC U 제어

개발 패키 지 ke il 프로그램의 him . de ver . h 파일 의 함 수 선언 과 him . de ver . c 파일 의 정의 를 참조 하여 사용자 MC U 제어 데이터 로 깅 컨트롤 을 업데이트 하는 프로그램 입니다 .

데이터 레 코 드 추가

레 코 드를 추가 하는 코 드는 다음과 같습니다 .

/** ********************************************************************
** 함 수 이름 : vo id Record _ Add (u int 16 screen _ id ,
**                                u int 16 control _ id ,
**                                u int 8 * record)
** 설명 서    :    하나 추가데이터 스트 립
** 입력 매 개 변 수 :    screen _ id :     화 면 ID
**                      control _ id :    컨트롤 ID
**                      레 코 드 :    세 미 콜 론 으로 구분 된 하 위 항목 이 있는 레 코 드 (문 자 열)
**                                 예를 들어 , 첫 번째 ; 두 번째 ; 세 번째 ;
** 출 력 매 개 변 수 :    无
** 반환 된 값   :    无
*********************************************************************/
{
    ……
    Record _ Add (0, 1, " 광 저 우 대 채 ; 000 1 "); // 설정 화 면 0, 컨트롤 1, 첫 번째 행 광 저 우 대 채 000 1 표시
    ……
}
데이터 레 코 드 행 수정

한 행 레 코 드를 수정 하는 코 드는 다음과 같습니다 .

/** ********************************************************************
** 함 수 이름 :    vo id Record _ Modi fy (u int 16 screen _ id ,
**                                      u int 16 control _ id ,
**                                      u int 8 * 레 코 드
**                                      u int 16 line _ id);
** 설명 서    :    데이터 레 코 드 수정
** 입력 매 개 변 수 :   screen _ id :    화 면 ID
**                          control _ id :    컨트롤 ID
**                          레 코 드 :    세 미 콜 론 으로 구분 된 하 위 항목 이 있는 레 코 드 (문 자 열)
**                                       예를 들어 , 첫 번째 ; 두 번째 ; 세 번째 ;
**                          line _ id    수정 된 라 인 번호
** 출 력 매 개 변 수 :    无
** 반환 된 값 :       无
*********************************************************************/
{
    ……
    Record _ Modi fy (0, 1, " ; 00 88 " , 1) ; // 화 면 0, 컨트롤 1, 수정
                                                // 두 번째 줄 의 데이터는 " 광 저 우 대 채 ; 00 88 " 입니다 .
    ……
}
데이터 레 코 드 내 보내 기

*. cs v 형 식을 USB 드라이브 또는 SD 로 내 보 내는 코 드는 다음과 같습니다 .

/** ********************************************************************
** 함 수 이름 :    vo id Record _ Out put (u int 16 screen _ id ,
**                                      u int 16 control _ id)
** 설명 서    :    데이터 로 깅 컨트롤 을 CV S 파일 형 식으로 SD 카드 로 내 보 냅니다 .
** 입력 매 개 변 수 :    screen _ id :    화 면 ID
**                      control _ id :    컨트롤 ID
** 출 력 매 개 변 수 :    无
** 반환 된 값   :    无
*********************************************************************/
{
    ……
    Record _ Out put (0, 1) ; / / 화 면 0, 컨트롤 1 의 데이터 기록 컨트롤 을 SD 카드 로 내 보 냅니다 .
    ……
}

13. 3 기록 경고 및 해 제 시간

화 면 구성

[ 이 력 경고 및 해 제 시간 ] 화 면의 " 배 경 이미지 " 에 해당 미 술 이미지를 가져 오고 화 면에 1 개의 데이터 기록 컨트롤 (컨 트 롤 ID : 1) 과 4 개의 버튼 컨트롤 (컨 트 롤 ID : 2 - 5) 을 추가 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图29

속 성 구성

데이터 기록 제어

데이터 로 깅 컨트롤 의 속 성 창 에서 [ 레 코 드 유형 ] 을 " 이 력 경 보 및 해 제 시간 " 으로 설정 하고 [ 레 코 드 표시 수 ] 를 "5 " 로 설정 하여 다음과 같이 속 성 구성 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图30

경고 분석 을 클릭 하여 경고 에 대한 텍스트 표시 를 수행 합니다 . 예를 들어 , 값 0 을 " 고 온 " 으로 정의 하고 색 상은 아래 와 같이 빨간 색 입니다 .값 1 - 4 의 해석 및 색 상을 정의 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图31
[ 경 보 트 리 거 ] 단 추 컨트롤

버튼 컨트롤 (컨 트 롤 ID : 2) 의 속 성 창 에서 [ 터 치 대 시 상 자 ] 를 " 아니 오 " 로 설정 하고 , [ 눌 러 진 사진 ] 을 해당 소 재 경 로 로 로 설정 하고 , [ 자 르기 ] 를 " 확 인 " 으로 설정 하고 , [ 내 부 명령 ] → " 눌 러 진 경우 " 를 다음과 같이 " 경 보 명령 트 리 거 " 로 입력 합니다 .

데이터 로깅 컨트롤은 어떻게 사용합니까?插图32
[ 경 보 해 제 ] 버튼 제어조각

버튼 컨트롤 (컨트롤 ID: 3) 의 속성 창에서 [터치 대시 상자] 를 "아니오" 로 설정하고, [눌러진 사진] 을 해당 소재 경로로로 설정하고, [자르기] 를 "확인" 으로 설정하고, [내부 명령] → "눌러진 경우" 를 다음과 같이 "경보 해제 명령" 으로 입력합니다.

데이터 로깅 컨트롤은 어떻게 사용합니까?插图33
[레코드 내보내기] 단추 컨트롤

참고 [13. 2 일반 양식]

실행 미리보기

가상 화면 실행, Visual TFT 소프트웨어 및 가상 화면은 "가상 직렬 포트" 를 사용하여 연결을 설정합니다.

화면 제어

트리거 경보 버튼을 누르면 데이터 로깅 컨트롤의 첫 번째 줄에 "온도 및 시간" 레코드가 표시됩니다; "경보 해제" 버튼을 누르면 데이터 로깅 컨트롤의 첫 번째 줄에 "시간 해제" 가 표시됩니다; "데이터 내보내기" 를 누르면 USB 드라이브 / SD 루트 디렉토리 아래에 표시되는 파일은 "내보내기 RTC 시간으로 명명된 CSV 파일" 입니다.

데이터 로깅 컨트롤은 어떻게 사용합니까?插图34
경고 트리거 / 해제 명령

왼쪽 탐색 모음에서 [데이터 로깅 컨트롤] 을 선택하여 [경보] 영역의 명령 매개 변수를 설정합니다.루틴에서와 같이, 데이터 로깅 컨트롤 (컨트롤 ID: 1) 을 설정하여 [이력 경보 및 해제 시간] 에서 트리거 경보를 1 의 트리거 값으로 트리거하고 "보드" 를 클릭합니다; 다음으로 다음과 같이 "경보 해제" 를 선택합니다.

데이터 로깅 컨트롤은 어떻게 사용합니까?插图35

단일 칩 컴퓨터 프로그램

사용자 MCU 가 데이터 로깅 컨트롤을 제어하는 프로그램은 개발 패키지 keil 프로그램에서 him. dever. h 파일의 함수 선언과 him. dever. c 파일의 정의를 참조하십시오.경고를 트리거합니다. 절차는 다음과 같습니다.

/** ********************************************************************
** 함수 이름:    Record _ SetEvent (uint 16 screen _ id,
**                                   uint 16 control _ id,
**                                   uint 16 값,
**                                   uint 8 * time);
** 설명서    :     경고 트리거
** 입력 매개 변수:     screen _ id: 화면 ID
**                       control _ id: 컨트롤 ID
**                       value: 경보 값
**                       time: 경고가 생성된 시간, 0 이 될 때 화면 내부 시간을 사용합니다.
** 출력 매개 변수:    无
** 반환된 값   :    无
*********************************************************************/
{
    ……
    Record _ SetEvent (1, 1, 0, 0); // 화면 1 컨트롤 1 의 경고 값이 0 으로 설정되며 경고 시간은 화면의 내부 시간입니다.
    ……
}

경보 해제 절차는 다음과 같습니다.

/** ********************************************************************
** 함수 이름: Record _ 초기화Event (uint 16 screen _ id,
**                                  uint 16 control _ id,
**                                  uint 16 값,
**                                  uint 8 * time);
** 설명서    :    경고 해제
** 입력 매개 변수:    screen _ id:    화면 ID
**                      control _ id:    컨트롤 ID
**                      value: 경보 값
**                      시간: 경고가 해제되는 시간, 0 시 화면 내부 시간을 사용합니다.
** 출력 매개 변수:   无
** 반환된 값   :   无
*********************************************************************/
{
  ……
  Record _ 초기화Event (1, 1, 0, 0); / / 설정 화면 1 컨트롤 1 의 경고 값은 0 입니다.
                              / / 해제 시간은 화면의 내부 시간입니다.
  ……
}
相关标签
실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

发表回复

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注