高分求解作图系统的设计思路

zhstars 2008-07-13 09:43:57
公司要做一个电力系统监测项目,需要在某条线路图上的某个电力开关的位置实时监测,显示电流、电压等参数,
而且最麻烦的是以后这个线路图上要让客户手工增加电力开关或者更改现有电力开关的位置,而参数的显示位置也必须跟着改动。
另外这些改动还必须和数据库关联起来,比如说我先在数据库中增加一个开关,然后作图时新增的开关必须和它关联。

这样如果使用bmp图片的话,我觉得非常麻烦,而且客户也不容易操作。
我考虑是不是需要自己定义图片文件格式呢,在这个格式里包含开关的名称,开关的位置等。但这样一来如何显示这个文件呢?

因此想请教各位有相关开发经验的朋友介绍一下思路!
如果那位朋友做过这样的项目,麻烦留下qq或者email,具体请教一下(可以付报酬的)。
...全文
83 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhstars 2008-07-14
  • 打赏
  • 举报
回复
to Show_Mike:
我也考虑过基于数据库的动态图,但是这样数据库维护起来太麻烦。

to jason_wentzel:
组态软件是不错,但我现在其他部分已经完成了,只差这个部分了,想自己做。

综合看了看大家的回答以及我查看的相关之类:我觉得把信息做到保存文件里面是一种简单可行的方法,文件里面包含数据库中开关的信息(ID等),然后把这个文件存入数据库中,程序每次启动从数据库下载文件到本地。

多谢各位,结贴!
看来以后要学习组态软件了!

孤客天涯 2008-07-14
  • 打赏
  • 举报
回复
组态软件
Show_Mike 2008-07-14
  • 打赏
  • 举报
回复
提出与以上各位不同的解法:
从你提的问题来看,线路图是可以修改的(也就是,可以增加,删除,改变既有位置信息等), 这样的话,必然需要管理一个设备数据库----->问题是,如何构建这个数据库,使得它能够反映你的线路图所必要的结构与位置信息.
我的方法:线路图是一种基于数据库的动态图,完全解决你的全部问题
zhstars 2008-07-13
  • 打赏
  • 举报
回复
多谢shuiyan的回答,
数据库我是自己定义的,线路图是已经有的图片,当然,不行的话我可以可以重新画(必须和原线路图一直)。而且线路经常会变。
我理解你的意思,你就是把线路信息(坐标,名称等)保存下来,然后让vc根据这些信息重新绘图,修改的时候也是把这些信息重新保存。
那就有两个问题:
1.如果一条线路的信息很多(有很多开关或者别的东西),我如何保存,是不是一个线段或者一个开关存成一条记录呢?
2.VC重绘的时候,如果信息很多的话,速度来得及吗?(因为要求是实时监控)。

我觉得这样的处理会很麻烦的。
shuiyan 2008-07-13
  • 打赏
  • 举报
回复
这个软件没有做过,不过第一份工作是电力集团一个子公司,倒是在总集团看人用过。可以讨论一下。

这个肯定不能是图片。

数据库是你来定义格式?还是已经由客户定义好了?

线路图是已有的图片?还是一些节点位置信息?

一般就是你在一个View中按照一定的(x,y),以N个点组成N条折线,连接成一整个线路图,设置为“电力开关”的点,必须以特殊的图形显示,比如加粗加大的一个红点,当鼠标点到这个点时,就显示相应的参数。

当选择“新加开关”功能时,就由客户在View中点击他希望增加开关的一个点,获取该点鼠标位置(x,y),将该点以特殊图形显示,并可增加相应参数。

数据库操作就是普通的用法,应该没有特殊的需求。
shuiyan 2008-07-13
  • 打赏
  • 举报
回复
既然数据库是你自己来定,那就随便你了,从你对数据库的理解和已有经验来决定,毕竟这个还跟软件运行环境和数据库的响应时间有关系的。
如果没有特别要求做一个数据库,那完全可以和这个图一起保存。单独开一个数据库有点故意复杂化,这个数据库不需要单独维护的。
zhstars 2008-07-13
  • 打赏
  • 举报
回复
自己顶一下!
zhstars 2008-07-13
  • 打赏
  • 举报
回复
就是没有做过组态软件才有的疑问,而且现在其他的部分都完成了,包括前台的采集,后台的曲线显示等,因此不想再使用组态了,但自己开发难度确实不小啊。
菜牛 2008-07-13
  • 打赏
  • 举报
回复
找本组态软件开发的书看看,这种东西多了。
zhstars 2008-07-13
  • 打赏
  • 举报
回复
多谢xlzxlich,看来速度应该不是问题了。因为我要求不到10帧/秒的速度,只要1-2秒钟刷新一次就够了!

那再请教一个问题,图的各种信息(包括开关、线路等的信息)是保存在数据库的专门一个表里面还是保存在这个图对应的文件中呢?
xlzxlich 2008-07-13
  • 打赏
  • 举报
回复
你的问题可以参考地图绘制方面的相关资料

一级地标、二级地标相当你的一条线路。

1、以一个开关为例:线路ID、名称、坐标、形状(图形)等;
2、通过一些技术手段,速度没问题,我做过的系统,上百批数据10帧/秒没有问题

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧