组态软件的开发(C#)

在工控领域,我们用到的组态软件有组态王、Cimplicity等,一方面这些软件是收费的,另一方面无论这些软件做得多好,都没办法把自己的品牌打出去,没办法满足各种自定义的需求。于是,我花了两个星期时间,开发了一款简易版的。这是流程图界面:
组态软件的开发(C#)
其实组态软件并没有我们想像的那么难。我们需要的功能无非就是有一张可以灵活编辑的图,这个图里面的元素会根据系统的状态去变化。

一、图片的呈现
我是使用WPF去开发的,首先整个画面是一个Canvas,然后里面放一些Image元素。我们知道,在组态里面,每一个元件有几种状态。例如一个阀,有半闭的状态和打开的状态,一条水管,有静止和向左向右流动的状态。我们设计的方法是,根据系统的数据,判断应该呈现哪一张图,然后把那张图添加在Canvas里面。当系统数据改变时,Canvas去掉旧图,添加新图。

静态的图可以用png、jpg这些格式,动态的图只能使用gif了。WPF默认是不能显示动态图的,我使用了一个第三方库去完成这项任务。有兴趣的朋友可以搜索一下WpfAnimatedGif,这是目前发现显示gif性能最好的一个第三方库。
————————————————
原文链接:https://blog.****.net/lweiyue/article/details/82454351