V20210323
系统支持多种数据源,比如数据库采集、http请求、串口通信、网络通信、模拟数据等,为了简化测试过程,默认内置采用的是模拟数据。
系统内置了多种启动窗体,默认大屏系统,可以通过鼠标右键菜单进入系统设置,启动窗体下拉框选择进行切换,切换后会自动重启应用,还可选择控件演示、模块演示,在控件演示和模块演示窗体中,左侧是对应子窗体导航,会自动记住最后选中的子界面索引。
大屏系统效果图:
模块演示效果图:
控件演示效果图:
在大屏的顶部中间标题栏或者子模块以外的标题栏,鼠标右键弹出的是系统的菜单,包括布局切换和样式切换等。
在模块的标题栏,鼠标右键弹出的是模块可视化的菜单,这个是Qt内置生成的,加载了多少个子模块就会生成多少个菜单项,可以对每个模块进行显示隐藏切换。
在弹出的系统菜单选择布局方案,在弹出的二级菜单选择默认已经设置好的布局方案,直接切换即可。
在弹出的系统菜单选择新建布局,在弹出的框中输入布局名称,确认后,自由拖动调整模块位置,打开模块、隐藏模块,之后单击保存布局即可。
在弹出的系统菜单选择配色方案,在弹出的二级菜单选择对应的配色方案,默认有四种:紫色风格、蓝色风格、深蓝风格、黑色风格。
鼠标移动到子模块的标题栏,鼠标按下可以拖动这个模块到任意位置,模块也可以拖动独立位置展示,也可以嵌入到对应布局中,拖动好位置以后自动保存到布局方案,下次启动自动应用。双击模块标题栏可以剥离窗体使之悬浮。
鼠标移动到模块与模块的边缘,鼠标变成调整间距样式,可以左右或者上下拉动,调整好间距以后自动保存到布局方案,下次启动自动应用。
系统设置中的参数,可能会不定期做调整和修改及增加,下面的图示和参数描述未必全部一致,以最新的为准。
1QStringList listVideoUrl;
2//本地视频文件
3listVideoUrl << "f:/mp5/1.mp4";
4//USB摄像头-默认
5listVideoUrl << "video=USB2.0 PC CAMERA";
6//USB摄像头-指定分辨率和帧率
7listVideoUrl << "video=USB Video Device|1280x720|30";
8//网络摄像机地址-大华
9listVideoUrl << "rtsp://admin:12345@192.168.1.15:554/media/video1";
10//网络摄像机地址-海康
11listVideoUrl << "rtsp://admin:Admin123456@192.168.1.64:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_2";
12//网络视频流地址-美国
13listVideoUrl << "http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4";
14//网络视频流地址-中国
15listVideoUrl << "http://vfx.mtime.cn/Video/2019/03/18/mp4/190318231014076505.mp4";
16//网络视频流地址-海康萤石
17listVideoUrl << "https://hls01open.ys7.com/openlive/6e0b2be040a943489ef0b9bb344b96b8.hd.m3u8";
采集间隔设置不用做说明,一看就懂,单位毫秒,可定制每个模块都对应自己的采集方式、数据库、间隔等。
理论上支持Qt支持的所有数据库,和具体程序无关,只要有对应的数据库的动态库和插件库就行,或者支持odbc数据源也可以,程序打通了odbc数据源的通信方式,所以支持各种数据库,可以先自己用对应的数据库工具连接数据库试试,通了数据库正常后在来测试程序。 亲测 Sqlite(Qt内置无需额外动态库)、MySql(高版本Qt需要自行编译插件)、PostgreSQL(开源免费的数据库,很好用)、SqlServer(需要设置ODBC数据源)、kingbase(国产人大金仓数据库,该数据库其实是基于PostgreSQL改的,通过odbc数据源方式测试无误)。 连接测试用来测试当前选择的数据库类型以及数据库信息,是否能连接数据库正常,可以避免数据库不通的情况下用来检测是否信息填写正确。 初始化数据库按钮用来执行sql脚本来生成对应的数据库,部分数据库支持数据库文件不存在的情况下通过sql语句来创建数据库,比如mysql、postgres等就支持直接sql语句新建数据库,有部分数据库可能不支持,需要手动先在数据库管理工具中新建好数据库,然后再来这里执行初始化数据库用来新建表和初始数据。
本系统支持多种工作模式,以便适应各种需求,默认采用随机模拟数据,大屏基础版本也采用此工作模式。
如果工作模式选择的是模拟数据,则采用随机数模拟生成数据并设置。
具体数据库表字段说明参见后面的数据库说明。 如果工作模式选择的是数据库采集,则会自动连接设置的数据库,可以用对应的数据库管理工具连接数据库,打开对应的表,然后更改其中的数据,保存,可看到对应的数据反应到界面上。 系统支持一个系统下的软件远程访问另一个系统下的数据库,比如linux系统或者mac系统远程访问win系统上的mysql数据库,数据库也可以放在云端比如阿里云(亲测无误),只要对应IP和端口可达就行,验证是否可达可以用对应的数据库管理工具连接即可。 理论上odbc的方式支持多种数据库,比如sql server,oracle,postgresql等,所以如果没有插件支持的数据库可以考虑用odbc的方式,odbc也是跨平台的。
如果需要远程访问mysql数据库,mysql数据库需要设置用户 root@% sql server数据库的配置规则,下面的链接只是参考,基本上正常电脑安装好以后都不需要下面的配置。 https://blog.csdn.net/mozhi111/article/details/80281388 https://blog.csdn.net/happymagic/article/details/8673476
远程访问sql server数据库,需要在运行软件的电脑上也需要配置数据源,不然很可能无法访问。
sql server数据库配置步骤
安装PostgreSQL数据库之后,默认只能本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。 https://blog.csdn.net/weixin_36816337/article/details/81739819 人大金仓数据库kingbase,其实就是postgresql数据库改的,如果是WIN10系统建议安装在系统盘以外,不然没有权限,导致奇奇怪怪的问题。
特别提示 数据库有位数区分,如果是32位的qt,对应打包目录要放32位的数据库的dll,比如放32位的libmysql.dll,不然会提示找不到驱动,而无论32位还是64位的qt程序,都能连接64位的数据库。 意思是在开发阶段,必须放正确位数的dll,而数据库只需要安装64位的即可。sqlserver数据库采用odbc数据源的方式进行连接,而且是微软亲生的,估计在系统层做了无微不至的关怀,qt程序发布的时候啥也不用带。
需要定制协议,比如RS232、RS485、Modbus、Mqtt等
需要定制协议,比如tcp client、tcp server、udp client、udp server、websocket等。
找到bigscreen可执行文件所在目录下的httpserver文件,双击运行,切换到网络请求服务器页面,回复数据选择文件内容,单击启动服务器,左侧消息栏可以看到实时打印的数据,从json文件读取的数据,实际中可以是从数据库中采集的数据等。 网络请求客户端/服务器工具httpserver,也是纯Qt编写的工具。
功能特点
请求地址:http://127.0.0.1:6000 可以自行在系统设置中更改。
其他表请求格式完全一致。 tag=t_1_1_mold_prod_total&tableName=t_1_1_mold_prod_total&columnName=name,prod_1,prod_2
名称 | 说明 |
---|---|
tag | 标识符,用于服务端接收到请求后按照这个标识符返回数据,这里内容填的是具体的表名,方便收到数据直接解析并发送信号到对应模块窗体显示数据。 |
tableName | 要查询的表名。 |
columnName | 对应表的字段名称集合,用英文逗号隔开。 |
xxxxxxxxxx
191{
2 "tag": "t_1_1_mold_prod_total",
3 "result": [{
4 "internal_id": 1,
5 "name": "设变",
6 "prod_1": 16,
7 "prod_2": 12
8 }, {
9 "internal_id": 2,
10 "name": "修模",
11 "prod_1": 20,
12 "prod_2": 25
13 }, {
14 "internal_id": 3,
15 "name": "新模",
16 "prod_1": 40,
17 "prod_2": 25
18 }]
19}
名称 | 说明 |
---|---|
tag | 唯一标识符,用于标识当前接收到哪个请求的回复数据,对方请求的时候会发过来。 |
result | 结果数组,内容按照表格行一行行包装的数据。 |
客户端发送请求,指定了唯一标识符+表名+要查询的字段名称集合,服务器收到请求后,解析表名+字段名称集合,从数据库中查询对应的内容组成json字符串返回,带上唯一标识符。 具体解析数据在datahttp类中,如果是自定义的表和字段,则需要在datahttp类中的initTable方法自行添加表名和字段名即可,非常方便,一个表只需要增加一行代码。
现在数据采集无论是数据库采集还是网络请求采集,对应的表名和字段名都是写死在代码中,尽管目前已经封装好了可以自行添加表和字段,但是还不够通用,后期打算通过从配置文件读取。
数据库表的设计按照模块的顺序,比如frmmodule1主模块中包括4个子模块,每个子模块都对应一个表,所有表名的前缀是 t_ 以便区分,第一个数字表示主模块编号,第二个数字表示子模块编号。 表名格式如下:
源码目录下的bigscreen.sql为数据库脚本,可以在系统设置中单击初始化数据来执行。 如果是需要对接自己的系统,可能涉及到部分数据不一致的情况,你可以: 第一:尽量用现有的表,现有的表各种各样都有,你找到你类似的往里面填数据就行。 第二:如果没有合适的表,则需要调整对应的模块代码。
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
模具产量 | t_1_1_mold_prod_total |
每月模具产量趋势图 | t_1_2_mold_prod_monthly |
零件产量 | t_1_3_wp_prod_total |
每月零件产量趋势图 | t_1_4_wp_prod_monthly |
表名:t_1_1_mold_prod_total
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
name | 名称 | VARCHAR | 255 | 不为空 |
prod_1 | 系列1 | INTEGER | 11 | :------ |
prod_2 | 系列2 | INTEGER | 11 | :------ |
默认数据:
internal_id | name | prod_1 | prod_2 |
---|---|---|---|
1 | 设变 | 14 | 12 |
2 | 修模 | 20 | 25 |
3 | 新模 | 40 | 25 |
表名:t_1_2_mold_prod_monthly
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
year | 年份 | INTEGER | 4 | 不为空 |
month | 月份 | INTEGER | 4 | 不为空 |
prod_1 | 系列1 | INTEGER | 11 | :------ |
prod_2 | 系列2 | INTEGER | 11 | :------ |
prod_3 | 系列3 | INTEGER | 11 | :------ |
默认数据:
internal_id | year | month | prod_1 | prod_2 | prod_3 |
---|---|---|---|---|---|
1 | 2018 | 5月 | 32 | 54 | 80 |
2 | 2018 | 6月 | 42 | 34 | 33 |
3 | 2018 | 7月 | 45 | 62 | 44 |
4 | 2018 | 8月 | 23 | 38 | 65 |
5 | 2018 | 9月 | 12 | 12 | 77 |
6 | 2018 | 10月 | 22 | 33 | 34 |
7 | 2018 | 11月 | 23 | 45 | 22 |
8 | 2018 | 12月 | 32 | 65 | 43 |
9 | 2019 | 1月 | 12 | 23 | 65 |
10 | 2019 | 2月 | 21 | 77 | 55 |
11 | 2019 | 3月 | 22 | 87 | 33 |
12 | 2019 | 4月 | 23 | 45 | 34 |
表名:t_1_3_wp_prod_total
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
name | 名称 | VARCHAR | 255 | 不为空 |
prod_1 | 系列1 | INTEGER | 11 | :------ |
prod_2 | 系列2 | INTEGER | 11 | :------ |
默认数据:
internal_id | name | prod_1 | prod_2 |
---|---|---|---|
1 | 其他 | 8544 | 10000 |
2 | 钢件 | 1000 | 5002 |
3 | 电极 | 2000 | 3000 |
表名:t_1_4_wp_prod_monthly
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
year | 年份 | INTEGER | 4 | 不为空 |
month | 月份 | INTEGER | 4 | 不为空 |
prod_1 | 系列1 | INTEGER | 11 | :------ |
prod_2 | 系列2 | INTEGER | 11 | :------ |
prod_3 | 系列3 | INTEGER | 11 | :------ |
默认数据:
internal_id | year | month | prod_1 | prod_2 | prod_3 |
---|---|---|---|---|---|
1 | 2018 | 5月 | 32 | 54 | 23 |
2 | 2018 | 6月 | 42 | 34 | 30 |
3 | 2018 | 7月 | 45 | 62 | 44 |
4 | 2018 | 8月 | 23 | 38 | 65 |
5 | 2018 | 9月 | 12 | 12 | 77 |
6 | 2018 | 10月 | 22 | 33 | 34 |
7 | 2018 | 11月 | 23 | 45 | 22 |
8 | 2018 | 12月 | 32 | 65 | 43 |
9 | 2019 | 1月 | 12 | 23 | 65 |
10 | 2019 | 2月 | 21 | 77 | 55 |
11 | 2019 | 3月 | 22 | 87 | 33 |
12 | 2019 | 4月 | 23 | 45 | 34 |
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
模具达成率 | t_2_1_mold_achie_rate |
零件达成率 | t_2_2_wp_achie_rate |
零件数 | t_2_3_wp_achie_number |
每日工序达成数 | t_2_4_process_achie_number |
表名:t_2_1_mold_achie_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
plan | 计划数 | INTEGER | 11 | :------ |
achieved | 达成数 | INTEGER | 11 | :------ |
默认数据:1 200 110
表名:t_2_2_wp_achie_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
name | 名称 | VARCHAR | 255 | 不为空 |
plan | 计划数 | INTEGER | 11 | :------ |
achieved | 达成数 | INTEGER | 11 | :------ |
默认数据:
internal_id | name | plan | achieved |
---|---|---|---|
1 | 模仁 | 100 | 200 |
2 | 镶件 | 122 | 100 |
3 | 辅件 | 300 | 500 |
4 | 电极 | 155 | 200 |
表名:t_2_3_wp_achie_number
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
wp_achie_number | 零件数 | INTEGER | 11 | :------ |
默认数据:1 1234
表名:t_2_4_process_achie_number
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
day | 日期 | VARCHAR | 2 | :------ |
green | 绿色数量 | INTEGER | 11 | :------ |
blue | 蓝色数量 | INTEGER | 11 | :------ |
red | 红色数量 | INTEGER | 11 | :------ |
默认数据:
internal_id | day | green | blue | red |
---|---|---|---|---|
1 | 1 | 20 | 3 | 0 |
2 | 2 | 20 | 2 | 0 |
3 | 3 | 23 | 3 | 0 |
4 | 4 | 32 | 4 | 0 |
5 | 5 | 43 | 5 | 0 |
6 | 6 | 23 | 3 | 0 |
7 | 7 | 44 | 0 | 5 |
8 | 8 | 12 | 0 | 5 |
9 | 9 | 54 | 0 | 4 |
10 | 10 | 42 | 0 | 3 |
11 | 11 | 47 | 6 | 0 |
12 | 12 | 34 | 4 | 0 |
13 | 13 | 25 | 3 | 0 |
14 | 14 | 38 | 6 | 0 |
15 | 15 | 43 | 0 | 4 |
16 | 16 | 56 | 0 | 3 |
17 | 17 | 65 | 4 | 0 |
18 | 18 | 43 | 5 | 0 |
19 | 19 | 34 | 0 | 5 |
20 | 20 | 55 | 3 | 0 |
21 | 21 | 47 | 6 | 0 |
22 | 22 | 34 | 4 | 0 |
23 | 23 | 25 | 3 | 0 |
24 | 24 | 38 | 6 | 0 |
25 | 25 | 43 | 0 | 4 |
26 | 26 | 56 | 0 | 3 |
27 | 27 | 65 | 4 | 0 |
28 | 28 | 43 | 5 | 0 |
29 | 29 | 34 | 0 | 5 |
30 | 30 | 55 | 3 | 0 |
31 | 31 | 42 | 0 | 3 |
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
设备运行状态 | t_3_1_device_runtime |
稼动率 | t_3_2_oee |
表名:t_3_1_device_runtime
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
group_name | 分组名称 | VARCHAR | 4 | 不为空 |
no_id | 分组编号 | INTEGER | 11 | 不为空 |
name | 名称 | VARCHAR | 255 | 不为空 |
text_1 | 文字1 | VARCHAR | 255 | |
text_2 | 文字2 | VARCHAR | 255 | |
status | 状态 1-开机 2-待机 3-维护 4-空 | INTEGER | 1 | 不为空 |
默认数据:
internal_id | group_name | no_id | name | text_1 | text_2 | status |
---|---|---|---|---|---|---|
1 | CNC | 1 | CNC1 | 190411 | PID11 | 1 |
2 | CNC | 2 | CNC2 | 190412 | PID12 | 1 |
3 | CNC | 3 | CNC3 | 190413 | PID13 | 1 |
4 | CNC | 4 | CNC4 | 190414 | PID14 | 2 |
5 | CNC | 5 | CNC5 | 190415 | PID15 | 1 |
6 | CNC | 6 | CNC6 | 190416 | PID16 | 2 |
7 | CNC | 7 | CNC7 | 190417 | PID17 | 1 |
8 | CNC | 8 | 4 | |||
9 | EDM | 1 | EDM1 | 190421 | PID21 | 1 |
10 | EDM | 2 | EDM2 | 190422 | PID23 | 2 |
11 | EDM | 3 | EDM3 | 190423 | PID23 | 1 |
12 | EDM | 4 | EDM4 | 190424 | PID24 | 3 |
13 | EDM | 5 | EDM5 | 190425 | PID25 | 1 |
14 | EDM | 6 | EDM6 | 190426 | PID26 | 1 |
15 | EDM | 7 | EDM7 | 190427 | PID27 | 1 |
16 | EDM | 8 | EDM8 | 190428 | PID28 | 2 |
17 | WEDM | 1 | WEDM1 | 190431 | PID28 | 1 |
18 | WEDM | 2 | WEDM2 | 190432 | PID28 | 3 |
19 | WEDM | 3 | WEDM3 | 190434 | PID29 | 2 |
20 | WEDM | 4 | WEDM4 | 190435 | PID30 | 1 |
21 | WEDM | 5 | WEDM5 | 190436 | PID36 | 1 |
22 | WEDM | 6 | WEDM6 | 190437 | PID37 | 3 |
23 | WEDM | 7 | 4 | |||
24 | WEDM | 8 | 4 |
表名:t_3_2_oee
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
cnc | 类别-cnc | INTEGER | 3 | 不为空 |
edm | 类别-edm | INTEGER | 3 | 不为空 |
wedm | 类别-wedm | INTEGER | 3 | 不为空 |
默认数据:1 110 90 90
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
模具进度 | t_4_1_mold_progress |
模具状态统计 | t_4_2_mold_status_parcent |
加工中模具数量 | t_4_3_mold_processing_num |
表名:t_3_2_oee
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
mold_no | 模具编号 | VARCHAR | 11 | |
tn_no | 版本号 | VARCHAR | 11 | |
type | 类型 | VARCHAR | 255 | |
status | 状态 | VARCHAR | 255 | |
product_name | 产品名称 | VARCHAR | 255 | |
plan_date | 计划交期 | VARCHAR | 255 | |
green | 当前进度绿色 | INTEGER | 11 | |
yellow | 当前进度黄色 | INTEGER | 11 | |
red | 当前进度红色 | INTEGER | 11 |
默认数据:
internal_id | mold_no | tn_no | type | status | product_name | plan_date | green | yellow | red |
---|---|---|---|---|---|---|---|---|---|
1 | IK19001 | T0 | 新模 | 加工中 | 后盖 | 2019/3/29 | 60 | 20 | 20 |
2 | IK19002 | T1 | 修模 | 加工中 | 前盖 | 2019/4/3 | 50 | 50 | 0 |
3 | IK29003 | T2 | 修模 | 加工中 | 外壳 | 2019/4/8 | 30 | 70 | 0 |
4 | IK19004 | T0 | 新模 | 加工中 | 侧边 | 2019/4/18 | 90 | 5 | 5 |
5 | IK19005 | T3 | 修模 | 加工中 | 边框 | 2019/4/3 | 60 | 40 | 0 |
6 | IK19006 | T0 | 新模 | 加工中 | 后盖 | 2019/4/26 | 70 | 25 | 5 |
7 | IK19007 | T0 | 新模 | 加工中 | 面板 | 2019/4/7 | 25 | 25 | 50 |
8 | IK19008 | T0 | 新模 | 加工中 | 插件 | 2019/3/31 | 20 | 40 | 40 |
9 | IK19009 | T1 | 修模 | 加工中 | 面板 | 2019/3/12 | 10 | 60 | 30 |
10 | IK19010 | T2 | 修模 | 加工中 | 后盖 | 2019/2/12 | 0 | 100 | 0 |
表名:t_4_2_mold_status_parcent
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
finished | 正常交付百分比 | INTEGER | 11 | 不为空 |
processing | 加工中百分比 | INTEGER | 11 | 不为空 |
delay | 延期百分比 | INTEGER | 11 | 不为空 |
默认数据: 1 60 25 15
界面效果图:在上面
表名:t_4_3_mold_processing_num
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
mold_processing_number | 加工中数量 | INTEGER | 11 | 不为空 |
默认数据:87
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
工序计划负荷 | t_5_1_work_load |
当日负荷 | t_5_2_work_load_today |
负荷百分比 | t_5_3_work_load_percent |
表名:t_5_1_work_load
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
process_name | 工序名称 | VARCHAR | 255 | |
work_load_1 | 第1天负荷 | VARCHAR | 255 | |
work_load_* | 第*天负荷 | VARCHAR | 255 | |
work_load_7 | 第7天负荷 | VARCHAR | 255 |
默认数据:
internal_id | process_name | work_load_1 | work_load_2 | work_load_3 | work_load_4 | work_load_5 | work_load_6 | work_load_7 |
---|---|---|---|---|---|---|---|---|
1 | CNC粗 | 101H | 81H | 90H | 120H | 30H | 60H | 120H |
2 | CNC精 | 102H | 102H | 120H | 81H | 45H | 102H | 81H |
3 | EDM | 77H | 102H | 90H | 102H | 45H | 90H | 120H |
4 | WEDM | 87H | 102H | 120H | 45H | 102H | 102H | 90H |
5 | 抛光 | 45H | 102H | 102H | 90H | 81H | 81H | 81H |
6 | 钳工 | 89H | 90H | 45H | 120H | 120H | 120H | 102H |
7 | 组装 | 77H | 90H | 81H | 102H | 45H | 102H | 81H |
表名:t_5_1_work_load_table_head 这个设计很巧妙,相当于动态的日期和数据,日期作为标题。
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
date_1 | 第1天日期 | VARCHAR | 255 | |
date_2 | 第2天日期 | VARCHAR | 255 | |
date_3 | 第3天日期 | VARCHAR | 255 | |
date_4 | 第4天日期 | VARCHAR | 255 | |
date_5 | 第5天日期 | VARCHAR | 255 | |
date_6 | 第6天日期 | VARCHAR | 255 | |
date_7 | 第7天日期 | VARCHAR | 255 |
默认数据:
internal_id | date_1 | date_2 | date_3 | date_4 | date_5 | date_6 | date_7 |
---|---|---|---|---|---|---|---|
1 | 2019-04-30 | 2019-05-01 | 2019-05-02 | 2019-05-03 | 2019-05-04 | 2019-05-05 | 2019-05-06 |
表名:t_5_2_work_load_today
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
group_name | 分组名称 | REAL | 11 | 小数位精度1 |
green | 绿色值 | REAL | 11 | 小数位精度1 |
red | 红色值 | REAL | 11 | 小数位精度1 |
默认数据:
internal_id | group_name | green | red |
---|---|---|---|
1 | CNC粗 | 20 | 20 |
2 | CNC精 | 40 | 20 |
3 | EDM | 60 | 0 |
4 | WEDM | 30.2 | 2 |
5 | 铣床 | 40 | 0 |
6 | 磨床 | 30 | 50 |
表名:t_5_3_work_load_percent
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
group_name | 分组名称 | VARCHAR | 255 | |
day_1 | 第1天 | INTEGER | 3 | |
day_* | 第*天 | INTEGER | 3 | |
day_7 | 第7天 | INTEGER | 3 |
默认数据:
internal_id | group_name | day_1 | day_2 | day_3 | day_4 | day_5 | day_6 | day_7 |
---|---|---|---|---|---|---|---|---|
1 | CNC粗 | 70 | 80 | 90 | 70 | 50 | 99 | 80 |
2 | CNC精 | 120 | 100 | 130 | 140 | 90 | 100 | 85 |
3 | EDM | 120 | 100 | 120 | 80 | 90 | 40 | 50 |
4 | WEDM | 100 | 120 | 120 | 100 | 100 | 80 | 70 |
5 | 铣床 | 90 | 80 | 75 | 40 | 12 | 30 | 10 |
6 | 磨床 | 80 | 70 | 50 | 60 | 40 | 50 | 30 |
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
钢件合格率 | t_6_1_wp_qual_rate |
电极合格率 | t_6_2_ele_qual_rate |
当天合格率 | t_6_3_qual_rate_today |
模具零件合格率 | t_6_4_mold_qual_rate |
表名:t_6_1_wp_qual_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
date_1 | 第1天合格率 | INTEGER | 3 | |
date_* | 第*天合格率 | INTEGER | 3 | |
date_15 | 第15天合格率 | INTEGER | 3 |
默认数据: 1, 100, 99, 89, 95, 95, 92, 98, 100, 96, 97, 98, 99, 90, 85, 84
表名:t_6_2_ele_qual_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
date_1 | 第1天合格率 | INTEGER | 3 | |
date_* | 第*天合格率 | INTEGER | 3 | |
date_15 | 第15天合格率 | INTEGER | 3 |
默认数据: 1, 100, 99, 89, 95, 95, 92, 98, 100, 96, 97, 98, 99, 90, 85, 84
表名:t_6_3_qual_rate_today
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
qual_rate | 合格率 | INTEGER | 3 |
默认数据:90
表名:t_6_4_mold_qual_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
mold_name | 模块名称 | VARCHAR | 255 | |
qual_rate | 合格率 | INTEGER | 3 |
默认数据:
internal_id | mold_name | qual_rate |
---|---|---|
1 | IK19001 | 95 |
2 | IK19002 | 88 |
3 | IK19003 | 94 |
4 | IK19004 | 75 |
5 | IK19005 | 94 |
6 | IK19006 | 89 |
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
品质占比 | t_7_1_qual_percent |
班组合格率 | t_7_2_group_qual_rate |
每日合格率统计 | t_7_3_qual_rate_daily |
表名:t_7_1_qual_percent
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
green | 绿色百分比 | INTEGER | 3 | |
blue | 蓝色百分比 | INTEGER | 3 | |
yellow | 黄色百分比 | INTEGER | 3 | |
red | 红色百分比 | INTEGER | 3 |
默认数据: 1 45 30 15 10
表名:t_7_2_group_qual_rate
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
group_name | 分组名称 | VARCHAR | 255 | |
qual_rate | 合格率 | INTEGER | 3 |
默认数据:
internal_id | group_name | qual_rate |
---|---|---|
1 | CNC | 90 |
2 | EDM | 85 |
3 | WEDM | 92 |
4 | 磨床 | 94 |
5 | 铣床 | 93 |
6 | 外协 | 92 |
表名:t_7_3_qual_rate_daily
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
group_name | 分组名称 | VARCHAR | 255 | |
day_1 | 第1天 | INTEGER | 3 | |
day_* | 第*天 | INTEGER | 3 | |
day_31 | 第31天 | INTEGER | 3 |
默认数据: 1, 'all', 90, 90, 97, 91, 92, 88, 89, 90, 78, 87, 86, 90, 80, 97, 87, 87, 88, 89, 90, 90, 89, 86, 90, 80, 97, 87, 87, 89, 89, 89, 90
子模块表名对应表:
子模块标题 | 子模块表名 |
---|---|
库存占比 | t_8_1_key_invt |
主要零件库存 | t_8_2_invt_table |
表名:t_8_1_key_invt
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
name | 名称 | VARCHAR | 255 | |
upper_bound | 上限 | INTEGER | 11 | |
current | 库存 | INTEGER | 11 |
默认数据:
internal_id | name | upper_bound | current |
---|---|---|---|
1 | 刀具A1 | 200 | 110 |
2 | 顶针B | 100 | 70 |
3 | 线割丝C | 100 | 300 |
4 | 树脂D | 100 | 10 |
表名:t_8_2_invt_table
字段名 | 中文名 | 类型 | 长度 | 说明 |
---|---|---|---|---|
internal_id | 序号 | INTEGER | 11 | 主键自增 |
invt_no | 编号 | VARCHAR | 255 | |
name | 品名 | VARCHAR | 255 | |
spec | 规格 | VARCHAR | 255 | |
mat | 材料 | VARCHAR | 255 | |
size | 尺寸 | VARCHAR | 255 | |
target | 目标库存 | INTEGER | 11 | |
current | 当前库存 | INTEGER | 11 |
默认数据:
internal_id | invt_no | name | spec | mat | size | target | current |
---|---|---|---|---|---|---|---|
1 | SSDDS1 | 品名1 | 规格1 | 材料1 | 345420 | 200 | 90 |
2 | SSDDS2 | 品名2 | 规格2 | 材料2 | 345420 | 100 | 120 |
3 | SSDDS3 | 品名3 | 规格3 | 材料3 | 345420 | 100 | 67 |
4 | SSDDS4 | 品名4 | 规格4 | 材料4 | 345420 | 100 | 88 |
5 | SSDDS5 | 品名5 | 规格5 | 材料5 | 345420 | 100 | 45 |
6 | SSDDS6 | 品名6 | 规格6 | 材料6 | 345420 | 100 | 87 |
7 | SSDDS7 | 品名7 | 规格7 | 材料7 | 345420 | 100 | 9 |
8 | SSDDS8 | 品名8 | 规格8 | 材料8 | 345420 | 100 | 44 |
9 | SSDDS9 | 品名9 | 规格9 | 材料9 | 345420 | 100 | 100 |
字段 | 描述 | 默认值 |
---|---|---|
IndexStart | 启动窗体索引 0-大屏系统 1-控件演示 2-模块演示 | 0-大屏系统 |
IndexControl | 控件演示窗体选中子窗体索引 | 0 |
IndexModule | 模块演示窗体选中子窗体索引 | 0 |
WorkMode | 工作模式 timer-模拟数据 db-数据库采集 com-串口采集 tcp-网络采集 http-post请求 | timer |
MapStyle | 中间地图样式 image-静态图片 point-闪烁效果 move-迁徙效果 world-世界地图 area-区域地图 | point |
Title | 软件标题,默认值:数字化工厂信息中心 | |
Ratio | 分辨率,目前无意义,备用参数 | 1920*1080 |
Layout | 布局方案,每次切换布局方案以后都会保存 | 完整布局 |
Theme | 配色方案,每次切换配色方案以后都会保存 | 紫色风格 |
HttpUrl | 网络请求地址,默认http://127.0.0.1:6000 |
字段 | 描述 | 默认值 |
---|---|---|
AutoRun | 是否开机启动 | false |
MoveEnable | 模块是否可以拖动,启用以后模块可以任意拖动 | true |
CutLeftBottom | 底部布局左侧是否切掉 | true |
CutRightBottom | 底部布局右侧是否切掉 | true |
StaticLine | 是否绘制静态定位线,为假则绘制游标十字线 | false |
ShowPercent | Y轴是否显示百分比 | false |
StepY | Y轴大尺度步长 | 6 |
CursorHideTime | 用户不操作鼠标自动隐藏鼠标的时间间隔,单位秒 | 5 |
字段 | 描述 | 默认值 |
---|---|---|
VideoFillImage | 视频缩放,拉伸填充整个窗体 | false |
VideoCallback | 视频回调,开启后采用painter走GPU绘制视频 | false |
VideoPlayAudio | 播放音频,开启后视频同步播放音频 | true |
VideoPlayRepeat | 视频循环播放,开启后视频会循环播放 | false |
VideoUrl | 视频流地址,视频模块播放的视频地址 | 变动的 |
字段 | 描述 | 默认值 |
---|---|---|
ColorMainBg | 主背景颜色 | QColor(4, 7, 38) |
ColorPanelBg | 面板背景颜色 | QColor(26, 29, 60) |
ColorLine | 十字线定位线颜色 | QColor(255, 0, 0) |
ColorLine1 | 线条1颜色 | QColor(0, 176, 180) |
ColorLine2 | 线条2颜色 | QColor(32, 159, 223) |
ColorLine3 | 线条3颜色 | QColor(255, 192, 0) |
字段 | 描述 | 默认值 |
---|---|---|
ColorTitleBg | 标题栏背景颜色 | QColor(48, 48, 85) |
ColorTitleText | 标题栏文字颜色 | QColor(255, 255, 255) |
ColorChartBg | 曲线图表背景颜色 | QColor(38, 41, 74) |
ColorChartText | 曲线图表文字颜色 | QColor(250, 250, 250) |
ColorChartGrid | 曲线图表网格颜色 | QColor(180, 180, 180) |
字段 | 描述 | 默认值 |
---|---|---|
ColorOk | 正常颜色 | QColor(0, 176, 180) |
ColorLow | 警戒颜色 | QColor(255, 192, 0) |
ColorAlarm | 报警颜色 | QColor(214, 77, 84) |
ColorDisable | 禁用背景颜色 | QColor(210, 210, 210) |
ColorPercent | 环形百分比背景颜色 | QColor(0, 254, 254) |
字段 | 描述 | 默认值 |
---|---|---|
MainFont | 全局字号 | 微软雅黑,12 |
NameFont | 软件名称字号 | 19 |
LabFont | 加粗标签字号 | 12 |
DeviceFont | 设备面板字号 | 12 |
SubTitleFont | 模块子标题栏字号 | 13 |
TitleFont | 模块标题栏字号 | 15 |
字段 | 描述 | 默认值 |
---|---|---|
TitleHeight | 模块标题栏高度 | 23 |
HeadHeight | 表格表头高度 | 28 |
RowHeight | 表格行高度 | 25 |
LayoutSpacing | 布局空隙间隔 | 6 |
SwitchBtnWidth | 开关按钮宽度 | 65 |
SwitchBtnHeight | 开关按钮高度 | 26 |
ScrollWidth | 滚动条宽度 | 15 |
字段 | 描述 | 默认值 |
---|---|---|
IntervalModule1 | 模块1采集间隔,单位毫秒 | 5000 |
IntervalModule2 | 模块2采集间隔,单位毫秒 | 5100 |
IntervalModule3 | 模块3采集间隔,单位毫秒 | 5200 |
IntervalModule4 | 模块4采集间隔,单位毫秒 | 5300 |
IntervalModule5 | 模块5采集间隔,单位毫秒 | 5400 |
IntervalModule6 | 模块6采集间隔,单位毫秒 | 5500 |
IntervalModule7 | 模块7采集间隔,单位毫秒 | 5600 |
IntervalModule8 | 模块8采集间隔,单位毫秒 | 5700 |
字段 | 描述 | 默认值 |
---|---|---|
LocalDBType | 本地数据库类型,Sqlite、Mysql等 | Sqlite |
LocalDBIP | 本地数据库主机地址 | 127.0.0.1 |
LocalDBPort | 本地数据库端口 | 3306 |
LocalDBName | 本地数据库名称 | bigscreen |
LocalUserName | 本地数据库用户名 | root |
LocalUserPwd | 本地数据库密码,以密文存储 | root |
项目代码结构图: 整个大屏系统就是由一个个子模块组成,每个子模块都用到了一些自定义控件,再打通数据库采集和网络请求采集等,将采集到的数据设置到对应的模块界面上。
主模块 | 说明 |
---|---|
3rd | 一些第三方开源的类库,比如图表qcustomplot。 |
class | 存放系统初始化、样式控制、自定义控件等。 |
core | 本人一直持续更新完善的通用的类库,比如ffmpeg视频监控。 |
ui | 所有的界面都分门别类放在这里。 |
主模块 | 子模块 | 说明 |
---|---|---|
3rd | 3rd_qcustomplot | 大名鼎鼎的第三方开源的图表组件。 |
class | api | 存放数据库表映射成对应的全局队列数据、通用的辅助函数类。 |
class | app | 全局配置参数管理类、秘钥管理类、通用函数。 |
class | usercontrol | 当前系统的自定义控件全部放在这里,其中包括自定义饼图控件、进度仪表盘、百分比仪表盘、环形进度条、三态进度条等控件。 |
core | core_control | 通用自定义控件,很多系统经常用到的控件全部放在这里。 |
core | core_customplot | 继承自qcustomplot类的自定义图表组件,专为大屏系统定制的各种图表组件。 |
core | core_db | 数据库集成应用组件,比如数据库管理线程类、数据库清理线程类、数据库采集类、网络请求采集类等 |
core | core_ffmpeg | 视频监控内核,采用ffmpeg解码,支持各种视频流和本地视频文件,支持声音播放和音视频同步。 |
core | core_map | 地图内核,包括了百度echart封装类,区域轮廓数据转换js函数封装类,百度地图封装类等。 |
core | core_opengl | 视频绘制类,采用opengl绘制,走GPU绘制。 |
core | core_webview | 通用浏览器控件类,同时支持webkit、wenengine、miniblink三种内核,打通了所有的Qt版本。 |
ui | frmcontrol | 大屏控件演示示例,每个功能演示都是个独立的窗体,方便查看代码学习如何使用。 |
ui | frmmain | 主界面模块,包括了系统配置界面、大屏主界面、大屏指定分辨率用于截图的主界面、设备面板窗体。 |
ui | frmmodule | 大屏子模块,包括了产量汇总、当月计划、设备监控、模具进度、负荷分布、送检合格率、品质管理、物料管理、视频监控、大屏地图等。 |
将对应的用户表映射到变量队列存储,以便用户登录和整体判断权限等。
这个类就像万能胶一样,在本人写的所有的项目中都有,本类就是将平时常用的一些通用函数都丢在这里,不断完善和持续改进,包括了16进制数据转换、图形字体设置、自定义消息框、错误框、提示框等,集成设置窗体居中显示、设置翻译文件、设置编码、设置延时、设置系统时间等静态方法。
名称 | 说明 |
---|---|
appconfig | 配置参数类,整个系统的配置参数存放在ini文件中,跨平台,所有参数都对应一个变量,读取配置参数的时候将值赋值给变量,写入的时候将变量值写入到配置文件。 |
appfun | 辅助函数类,比如重启,获取随机数、从多个数组中取出最大值等。 |
appinit | 程序初始化类,在main函数中,会先执行这个初始化的类,比如初始化皮肤、字体、数据库、样式等操作,这些都是要优先在窗体加载前执行的,执行完毕以后再打开窗体主界面。 |
appkey | 通用秘钥管理类。 |
名称 | 说明 |
---|---|
customchart | 自定义图表控件 |
custompie | 自定义饼状图,纯painter绘制,弥补qchart组件不支持qt4等版本。 |
customtitlebar | 自定义模块标题栏 |
gaugepercent | 百分比仪表盘 |
gaugespeed | 速度仪表盘 |
progressring | 环形进度条 |
progressthree | 三态进度条 |
switchbutton | 开关按钮 |
名称 | 说明 |
---|---|
bottomwidget | 通用底部状态栏控件,可以设置软件名称、版本号、运行时间等。 |
colorcombobox | 颜色下拉框控件,在系统设置中有。 |
cpumemorylabel | CPU和内存使用情况标签控件,主界面右上角显示。 |
customtitlebar | 停靠窗体自定义标题栏控件。 |
devicebutton | 设备按钮控件,比如图片地图模块中用到,可设置不同的图标样式和状态等,双击发出信号进行相应处理比如弹出对应视频预览等。 |
framelesswidget | 无边框窗体管理类,无边框拖动+拉伸,主界面就用到了这个类。 |
lcddatetime | 软件右上角显示时间的控件。 |
panelwidget | 面板容器控件,主界面子模块表格消息,就用到此控件,用于将一堆widget放到此容器进行管理,自动形成滚动条等。 |
switchbutton | 开关按钮控件,在系统设置中存在大量该控件。 |
xslider | 滑动条控件,在原有滑动条基础上增加了鼠标按下立即定位等。 |
名称 | 说明 |
---|---|
customplot | 自定义图表组件类。 |
customplotbarh | 自定义形状-横向柱状图。 |
customplotbarv | 自定义形状-垂直柱状图。 |
customplothead | 当前组件通用头文件。 |
customplothelper | 当前组件通用辅助函数文件。 |
customplotline | 自定义形状-平滑曲线图。 |
customplottracer | 自定义图层绘制十字线,也叫游标,定位线。 |
smoothcurve | 平滑曲线算法类,内置多种平滑算法,可以自行增加其他算法。 |
本系统只用到了该类库中的dbconnthread、dbhttpthread。 dbconnthread:封装的一个通用的数据库通信类,支持sqlite、mysql、PostgreSQL等数据库,功能包括了数据库的打开和关闭,线程执行sql语句队列信号发出执行结果等,支持重连。 dbhttpthread:本系统除了支持数据库采集模式以外,还支持发送http网络请求的方式来采集数据,请求中带对应要查询的表,字段等信息,这个类就是专门的请求类,请求结果自动过滤运算并信号发出去,返回数据的信号和数据库采集的信号完全一致,使得主界面关联到同一个槽函数就能正常工作。
名称 | 说明 |
---|---|
dbcleanthread | 自动清理数据线程类。 |
dbconnthread | 数据库通信管理线程类。 |
dbdelegate | 自定义委托全家桶,包括复选框、下拉框、密码框、按钮等。 |
dbhead | 当前组件通用头文件。 |
dbhelper | 各种数据库应用函数封装,比如初始化数据库、执行sql语句等。 |
dbhttpthread | 网络请求数据采集类。 |
dbpage | 数据库通用翻页类。 |
dbpagemodel | 数据库翻页类数据模型。 |
navpage | 分页导航控件。 |
名称 | 说明 |
---|---|
ffmpegconvert | ffmpeg各种转换处理函数封装。 |
ffmpeghead | ffmpeg引入头文件。 |
ffmpeghelper | ffmpeg辅助类,包括版本号,校验url地址、获取流索引等。 |
ffmpegsync | ffmpeg音视频同步类,包括了同步以及发出当前播放进度信号。 |
ffmpegthread | ffmpeg核心解码类,包括音视频的解码。 |
ffmpegtool | ffmpeg工具类,用于执行ffmpeg的命令获取结果。 |
ffmpegwidget | ffmpeg视频显示窗体类,依赖ffmpegthread。 |
videoffmpeg | ffmpeg多通道管理类。 |
名称 | 说明 |
---|---|
echartjs | echart模块中用到的json文件转js文件,获取js文件中的名字和经纬度等处理。 |
echarts | echart封装类,可加载仪表盘、闪烁点图、迁徙图、世界地图、区域地图等,每个点可自定义颜色和提示信息等。 |
mapbaidu | 百度地图封装类,支持在线和离线两种模式。 |
名称 | 说明 |
---|---|
nv12glwidget | 继承自QGLWidget的NV12格式OPENGL绘制窗体。 |
nv12openglwidget | 继承自QOpenGLWidget的NV12格式OPENGL绘制窗体。 |
yuvglwidget | 继承自QGLWidget的YUV格式OPENGL绘制窗体。 |
yuvopenglwidget | 继承自QOpenGLWidget的YUV格式OPENGL绘制窗体。 |
名称 | 说明 |
---|---|
webcore.pri | 通用的根据不同的Qt版本、不同的编译器环境、不同的操作系统,加载对应的浏览器内核模块和定义不同的变量。 |
miniblink | miniblink封装处理类。 |
webhelper | 经纬度转换、获取小数点经纬度值等常用处理函数。 |
webjsdata | 通用的浏览器控件和Qt程序交互数据中转类。 |
webview | 通用浏览器控件,支持webkit、webengine、miniblink。 |
名称 | 说明 |
---|---|
frmcontrol | 大屏控件演示主界面,负责加载所有控件演示子窗体。 |
frmplotarea | 曲线面积图。 |
frmplotbarh | 横向柱状图。 |
frmplotbarhs | 横向分组图。 |
frmplotbars | 柱状堆积图。 |
frmplotbarv | 标准柱状图。 |
frmplotbarvs | 柱状分组图。 |
frmplotdata | 数据转曲线。 |
frmplotnormal | 标准曲线图。 |
frmplotsin | 模拟曲线图。 |
frmplotsmooth | 平滑曲线图。 |
名称 | 说明 |
---|---|
frmmodule | 大屏子模块演示主界面,负责加载所有子模块界面。 |
frmmodule1 | 年度产量汇总。 |
frmmodule2 | 当月计划达成率。 |
frmmodule3 | 设备监控。 |
frmmodule4 | 模具进度。 |
frmmodule5 | 负荷分布。 |
frmmodule6 | 送检一次合格率。 |
frmmodule7 | 品质管理。 |
frmmodule8 | 物料管理。 |
frmmodule9 | 备用模块。 |
frmmodulecenter | 中心窗体。 |
frmmodulemap | 大屏地图。 |
frmmodulevideo | 视频监控。 |
名称 | 说明 |
---|---|
frmconfig | 系统设置界面。 |
frmconfigdb | 通用数据库设置界面。 |
frmdevice | 设备面板界面。 |
frmmain | 大屏主界面。 |
mainwindow | 以特定分辨率设置的大屏主界面用于截图。 |
人大金仓数据库-kingbase,其实就是postgresql数据库改的,配置文件都一样,所以可以用连接postgresql数据库的方式进行处理。
ODBC连接字符串格式如下图: