中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PC Based IPC 工控机

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 PC Based IPC 工控机 → 浏览主题: 【经验】手把手教你winform上位机系列一:认识winform上位机
发表新帖 回复该主题
回帖:3个,阅读:1636 [上一页] [1] [下一页]
* 帖子主题:

【经验】手把手教你winform上位机系列一:认识winform上位机

分享到
31764
jint 管理员
文章数:18104
年度积分:2667
历史总积分:31764
注册时间:2007/8/30
发站内信
发表于:2018/5/31 18:12:45
#0楼
  标题:手把手教你winform上位机系列一:认识winform上位机  
 
   作者:橘子猫

  上位机是指可以实时监控工业生产现场数据的人机交互设备,屏幕会上显示各种信号变化(液压,水位,温度等)。一般上位机分为工控机(Wincc,组态王,力控工业组态软件),触摸屏(威纶通,台达,西门子HMI等),和Windows桌面应用。

  今天要讲的是Windows系统下的Winform桌面应用作为上位机,大家是不是用触模屏和组态软件是总是想实现一些特殊功能但是组态软件本身不支持该功能,但是Winform可以做到你想做的一切,Winform是微软Visual Studio IDE开发平台下的桌面应用开发,我们可以充分利用C#高级语言的优势和灵活性以及高扩展性来开发我们的上位机监控界面,先来个简单Winform项目图:
附件 image.jpg

  下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。

  上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备(温控器,伺服电机,步进电机,变频器,电磁阀等)。下位机实时读取设备状态数据(一般模拟量,如测温热电偶,电机速度,开关量等),转化成数字信号反馈给上位机。一般来说上下位机都需要编程,都有专门的开发系统。

  上下位机如何通讯,一般取决于下位机,通常上位机和下位机通讯可以采用不同的通讯协议,上位机根据下位机硬件支持的通信协议,可以有RS232的串口通讯或者采用RS485串行通讯。当用计算机和PLC通讯的时候,不但可以采用传统的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯,或者是Modbus通信协议,以及通过第三方OPC服务器来进行数据通信。

  知道了上下位机接下来让我们先来了解一下我们的上下位机开发环境:

  1.西门子博途V14 :plc编程软件
附件 image.jpg


  2.微软VisualStudio2012:Winform上位机编程
附件 image.jpg

  软件的获取和安装可以百度一下,在此跳过,因为我们的重点是上位机编程。
附件 image.jpg

  安装好软件以后,接下来我们写一个简单的demo案例来体验一下winform

  1,新建winform项目

  打开VS2012软件 点击【文件】--》【新建】--》【项目】
附件 image.jpg

  选择Windows--》Windows窗体应用程序,自定义项目名称

  这里我们修改项目默认名称为PLC控制
附件 image.jpg

  建立完项目后进入项目开发里了
附件 image.jpg

  工具栏:提供各种基本控件(对应触模屏来说控件就好比是按钮,文本框,下拉菜单,报表等等)

  项目管理:可以理解为创建的窗口,配置的文件,引用的资源文件的目录索引

  控件属性:当你选中某个属性时会在右下角显示当前控件的各个属性,可以进行修改属性,比如设置按钮开关的颜色,文本框背景色,字体大小等等

  具体内容在后续文章会一一详细讲解,今天的任务是认识上位机好了,让我们先建立一个简单的窗体界面吧!
附件 image.jpg

  通过拖拽窗体右下角使窗体达到你想要的大小,接下来拖拽工具栏里的butoon按钮,
附件 image.jpg

  拖拽完成后单击窗体的button1按钮,右下角属性弹出
附件 image.jpg
附件 image.jpg

  修改按钮显示内容text为LED
附件 image.jpg
31764
jint 管理员
文章数:18104
年度积分:2667
历史总积分:31764
注册时间:2007/8/30
发站内信
发表于:2018/5/31 18:18:11
#1楼
  使用相同的方法添加一个文本标签label到窗体并将文本修改为灯泡,并在属性里设置背景色backcolor为红色
附件 image.jpg
附件 image.jpg

  接下来我们按F5模拟一下
附件 image.jpg

  界面搭建完成,接下来的内容需要编程实现了:我们先来实现一个简单的led开关功能,当我们点击led按钮时灯泡亮起来变为黄色,再点一次led按钮灯泡熄灭变为红色,如此就实现了一个开关控制灯泡的上位机了

  接下来跟着我一步步操作:

  1.双击led按钮
附件 image.jpg
附件 image.jpg

  现在进入了后台编程,led按钮事件就是当你点击按钮时触发的一个函数,我们现在需要将我们的逻辑功能写在这个函数里面,回想下我们要实现的是不是led按钮切换灯泡开断,在界面上反应出来就是led点击切换灯泡背景色,好了,现在开始编写逻辑:

  编程要养成好的代码习惯,所以我们需要给我们的led和按钮取名字,什么?不是已经通过text属性修改了吗?怎么还要改,oh,no,那是显示文本不是控件名称,我们要做的是修改控件名称,如下图,好了,将led按钮也改好,不要使用中文命名,如果英文不好可以使用拼音字母命名,比如dengpao
附件 image.jpg
附件 image.jpg

  改好控件名称以后,添加如下代码,
附件 image.jpg

   这时候如果你有c语言基础应该是能看明白,什么看不明白,ok,已经注释好了,什么还不明白?现在你可以买一本C#入门书籍,先了解基本的语法了。

  我们再来运行我们的程序,F5按下
附件 image.jpg
附件 image.jpg

  不停的单击led你会看见灯泡的背景色在红色和黄色之间不停的变换,也就相当于灯泡的不停开断,界面部分到此结束

  下一次我会给大家详细讲解如何编写plc灯泡开断(这个好像大家应该都会),划重点了啊!下一次我们的重点是如何将led按钮和灯泡与plc进行通信,并且真实的控制灯泡的亮灭。谢谢大家阅览,有什么好的意见和补充欢迎各位前辈指正,我是橘子猫,我为工控代言。

---------------------
   感谢作者供稿!!
15215
PLC-hmi
文章数:6138
年度积分:1939
历史总积分:15215
注册时间:2010/8/19
发站内信
2018论坛热心网友
发表于:2018/5/31 18:31:19
#2楼
云组态之类的应用了
此帖发自论坛APP
144
尚素恩YBYNdV
文章数:3
年度积分:89
历史总积分:144
注册时间:2017/2/17
发站内信
发表于:2019/1/14 0:34:19
#3楼
谢谢,楼主
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2019 Gkong.com, All Rights Reserved

140.4