赞
踩
在自动化行业中的上位机软件类型一般分为以下几种:
1、组装设备的上位机软件
该类型的软件一般有以下功能:
1)和PLC通信;
2)和相机通信,界面显示图片以及通过图像算法获取算法计算结果;
3)各种参数开放到界面可设置;
4)数据的保存,将数据以csv、txt等格式进行保存;
5)日志用于问题分析
2、测试设备的上位机软件
该类型的软件一般有以下功能:
1)和PLC通信;
2)和各种仪器通信,比如距离传感器、流量传感器、压力传感器等,通信方式为串口通信、USB通信、Tcp通信,曲线显示数据;
3)各种参数开放到界面可设置;
4)数据的保存,将数据以csv、txt等格式进行保存;
3、运动控制软件
1)直接通过运动控制卡来控制电机,所以不需要和PLC通信,常见控制卡为固高、研华、雷赛、凌华、翠欧等;
2)和相机通信,界面显示图片以及通过图像算法获取算法计算结果;
3)和各种仪器通信,比如距离传感器、流量传感器等,通信方式为串口通信、USB通信、Tcp通信、曲线显示数据;
4)各种参数开放到界面可设置;
5)数据的保存,将数据以csv、txt等格式进行保存;
本文这里以测试设备软件为例子介绍上位机软件开发的过程:
软件要求:
1)需要使用手动扫码枪扫码,条码需要和最后的测试压力值绑定并存储到报表;
1)该测试设备需要测试某个压力传感器在某个时间段内的压力的最大值,开始测试信号和结束信号由PLC给上位机(由于没有PLC,这里的开始信号和结束信号通过界面的开始和结束按钮来代替);
2)需要使用曲线显示这段时间的压力(由于没有压力传感器,这里使用随机数来产生压力值);
3)使用报表存储原始数据,以及最大压力以及条码;
4)界面需要显示测试状态,不测试时为“等待状态”,测试过程中为“测试中”,测试结束为“测试完成”,并且如果测试收到测试开始信号一分钟后没有收到结束信号的话,测试状态需要变成报警,并且软件要停止测试以防止内存中数据过多引起软件崩溃。
1)新建一个DataGrab类用于数据的采集;
2)新建一个DataHandle类用于数据的处理以及和PLC信号的交互;
3)新建一个DataDisplay类用于曲线的显示;
4)新建一个Report类用于报表数据的存储;
5)TableDisplay类用于界面上表格的显示;
6)新建一个LogHelper类用于日志的记录;
7)新建一个ParameterSetting文件夹,里面存储参数设置的类
8)新建主界面MainForm类;
工程界面如下:
部分代码展示:
第一步、设置条码长度和压力的上限和下限
第二步、输入条码,按下“回车键”,如果条码长度不对则弹出条码长度错误提示,并且无法进行下一步;
第三步、条码输入Ok后,点击“开始”按钮(模拟接收到PLC的开始采集信号)
第四步、点击“停止”按钮(模拟接收到PLC的结束采集信号)
第五步、观察界面压力曲线、表格中最大压力的显示、报表中最大压力以及条码的显示、原始数据报表中包含的采集过程中所有原始数据、Log日志。
该软件包含了自动化行业测试设备上位机软件的绝大部分功能如下:
1)键盘按键事件处理用于条码扫描;
2)曲线的显示;
3)报表的存储;
4)跨线程更新UI;
5)表格的使用(datagridview控件);
6)Log日志的使用;
7)参数的设置与保存(序列化保存参数);
8)状态机的使用(利用委托实现不同状态之间的切换);
9)Task的使用。
掌握了以上技术,在工作中应付常规的自动化行业的测试软件都可以。
上位机软件开发必不可少的技能是界面开发与通信开发,针对上位机领域使用到各种技术,本人经过多年积累(博主硕士六年+行业经验,目前担任高级软件工程师职位),打造了一系列适合小白以及有经验的工程师的教程,带您从入门到精通上位机软件开发,目前有四个系统教程,《winform控件从入门到精通》、《C#串口通信从入门到精通》、《C# Modbus通信从入门到精通》、《 C#Socket通信从入门到精通 》,这些教程受到了大家的一致好评,订阅量也是持续攀升,总订阅量达到了500+,也持续霸榜CSDN热销榜,足以可见其受欢迎程度,我想这是因为我的专栏都是项目实战经验总结而成,能够帮助大家实实在在的解决问题,详细介绍如下:
上位机中使用最多的又是winform,本人打造了适合小白以及有经验的工程师的《winform控件从入门到精通》教程 ,带您系统学习winform界面开发技术,目前已有超过300人订阅,前400位订阅者限时29.9元(一顿好点的外卖),300位以后价格调整到99.9元,目前专栏开通一个月就上了CSDN专栏热销榜,详情见我的博客专栏《winform控件从入门到精通》,更多控件的访问链接如下:
点击链接即可转到该控件的详细介绍:
订阅《winform控件从入门到精通》专栏的vip成员还可享受以下增值服务:
1)进入VIP群和众多学员一起交流学习winform,c#,找工作等
2)博主会上传一些免费的学习资料帮助大家学习,比如本篇博文说的上位机源码、《c#图解教程》、《c#本质论》的电子书籍等
3)如果遇到学习困难还可在群里@博主来帮助你。
4)qq群号:832556891
注意:只有订阅了博客专栏的学员才能进入群,加群时留下自己的博客名称即可。
串口通信在上位机开发中是使用最多的通信,掌握串口通信程序的开发是一项必不可少的技能,作者在自动化领域耕耘多年,做过的串口通信的项目大大小小也有几百个,公司项目+兼职项目,可以说只要是串口通信的项目,没有我做不了的,毕竟让我徒手撸一个市面上你见到的串口助手对我而言也不在话下,古人云读万卷书不如行万里路,行万里路不如名师指路,所以入门最快的方法一定是找个前辈模仿他,年轻的时候一定要投资自己!买书、买课程学习都是你提升自己最快的方法,成为高手别无他法,努力学习+模仿高手,他日一定有所成就!一本书、一个课程几十块钱,但是在未来为你赚到的钱一定是这些成本的几十倍、几百倍、上千倍,甚至更多!如果你是一个普通人,没有强大的背景,一定要持续学习,持续学习是普通人逆袭唯一的方法!如果想精通串口编程,c#基础的语法知识必不可少,其次是各种协议比如LRC、CRC、BCC、Modbus 以及自定义的协议,由于串口通信使用的特别多,尤其是工业自动化领域和仪器的通信,我先写个简单的串口通信的调试工具软件SComTool给大伙尝尝鲜,当然能写一个串口助手真的不算什么,我问你以下几个问题,你是否都能答上来,才算是一个高手,不然怎么轻松拿三十万+年薪。
问题1:位运算是什么?有哪几种?
问题2:LRC、CRC、BCC、汉明校验、累加和校验、 Modbus RTU、Modbus ASCII是啥?
问题3、明明数据发送到了串口,用串口工具为啥接收到的数据乱码,丢帧?
问题4、如何实现数据发送和数据接收同时进行?
问题5、每隔10毫秒接收一组数据,并且要在界面显示,并且要存储到本地文件,怎么实现?
问题6、一个软件要同时和5个串口实现数据收发怎么实现?
问题7、二进制、8进制、十进制、十六进制的转换怎么实现的?
问题8、字符编码是什么?ASCII是啥?UTF8是啥?
问题9、负数在计算机中怎么存储的?
问题10、浮点数在计算机中怎么存储的?
如果我问的上面10个问题你不能全部掌握的话,我建议你还是来我的专栏系统学习一下吧!当然这些知识我都会在我呕心沥血打造的《C#串口通信从入门到精通》中进行详细介绍,目前专栏开通后立即成为csdn热销榜,目前已有将近两百人订阅,专栏目录如下:
订阅《C#串口通信从入门到精通》专栏的vip成员还可享受以下增值服务:
1)进入VIP群和众多学员一起交流学习串口通信、找工作等
2)博主会上传一些免费的学习资料帮助大家学习,比如《c#图解教程》、《c#本质论》的电子书籍、SComTool1.1串口助手的源码等
3)如果遇到学习困难还可在群里@博主来帮助你。
4)qq群号:651251930
注意:只有订阅了博客专栏的学员才能进入群,加群时留下自己的博客名称即可。
Modbus通信是一种使用非常广泛的通信协议,Modbus一般有三种,分别为ModbusRTU、ModbusASCII、ModbusTCP,其中ModbusRTU、ModbusASCII是应用于串行链路上的协议,通俗一点就是说它是走串口的,ModbusTCP通俗点说就是它是走网口的,作者在自动化领域耕耘多年,做过的Modbus项目无数,靠Modbus通信的兼职也赚过数万,毕竟让我徒手撸一个ModbusSlave这种Modbus调试工具对我而言也不在话下,比如上图你看到的Modbus调试助手就是我写的。古人云读万卷书不如行万里路,行万里路不如名师指路,所以入门最快的方法一定是找个前辈模仿他,年轻的时候一定要投资自己!买书、买课程学习都是你提升自己最快的方法,成为高手别无他法,努力学习+模仿高手,他日一定有所成就!一本书、一个课程几十块钱,但是在未来为你赚到的钱一定是这些成本的几十倍、几百倍、上千倍,甚至更多!如果你是一个普通人,没有强大的背景,一定要持续学习,持续学习是普通人逆袭唯一的方法!如果想精通Modbus编程,c#基础的语法知识必不可少,订阅我的专栏《C# Modbus通信从入门到精通》就送《C#本质论》、《C#图解教程》电子书。总之,只要跟我学了Modbus通信,一定能打变Modbus无敌手,如果我问你以下几个问题,你都能答上来,才算是一个高手,不然怎么轻松拿三十万+年薪,当然这些知识我都会在我的专栏《C# Modbus通信从入门到精通》中进行详细介绍。
问题1:Modbus总共有几种?
问题2:Modbus RTU是走串口还是网口?
问题3、Modbus RTU需要校验吗?
问题4、Modbus TCP需要校验吗?
问题5、Modbus支持哪些功能码?每一种功能码的具体含义是啥?
问题6、怎么解决ModbusRTU通信中多线程通信问题?
问题7、怎么解决ModbusTCP通信中掉线重连问题?
如果我问的上面几问题你不能全部掌握的话,我建议你还是来我的专栏《C# Modbus通信从入门到精通》系统学习一下吧!
本专栏将会详细对这三种协议如何在C#程序开发上的应用进行详细讲解,包含协议原理、报文格式、C#源码实现,专栏一推出就上了csdn成为热销榜,详细目录如下:
《C# Modbus通信从入门到精通》专栏文章目录如下:
点击下面的文章链接即可转到该文章:
Socket通信(包含Tcp/Udp通信)在工业领域用途非常广泛,作者在自动化领域耕耘多年,做过的Tcp/Udp通信的项目大大小小也有几百个,公司项目+兼职项目,可以说只要是Tcp/Udp的项目,没有我做不了的,毕竟让我徒手撸一个市面上你见到的Tcp/Udp调试助手对我而言也不在话下,比如上图你看到的TCP/UDP1.0调试助手就是我写的。古人云读万卷书不如行万里路,行万里路不如名师指路,所以入门最快的方法一定是找个前辈模仿他,年轻的时候一定要投资自己!买书、买课程学习都是你提升自己最快的方法,成为高手别无他法,努力学习+模仿高手,他日一定有所成就!一本书、一个课程几十块钱,但是在未来为你赚到的钱一定是这些成本的几十倍、几百倍、上千倍,甚至更多!如果你是一个普通人,没有强大的背景,一定要持续学习,持续学习是普通人逆袭唯一的方法!如果想精通TCP/UDP编程,C#基础的语法知识必不可少,订阅我的专栏《 C#Socket通信从入门到精通 》就送《C#本质论》、《C#图解教程》电子书。其次是Tcp客户端编程、Tcp服务器编程、Udp客户端编程、Udp服务器编程、Udp广播编程、Udp多播编程,这些知识我都会在我开设的专栏《 C#Socket通信从入门到精通 》中进行详细讲解,总之,只要跟我学了Tcp/Udp通信,一定能打变Tcp/Udp无敌手,由于Tcp/Udp使用的特别多,尤其是工业自动化领域和仪器的通信,比如和仪器、PLC、机械手的通信、文件的传输等,我先写个Tcp/Udp通信的调试工具软件给大伙尝尝鲜,帮助大家更好的理解Tcp/Udp,当然能写一个Tcp/Udp通信助手真的不算什么,在实际项目中,还有更复杂的功能,比如文件的传输等,当然这些知识我都会在我的专栏《 C#Socket通信从入门到精通 》中进行详细介绍,只有系统掌握了各种Tcp/Udp通信的知识以及应用,才算是一个高手,不然怎么轻松拿30万+年薪。
说了那么多,大家肯定好奇,我花了钱学你这个专栏我到底能获得什么?总结下:
1、掌握TCP客户端编程;
2、掌握TCP服务器编程;
3、掌握UDP客户端编程;
4、掌握UDP服务器编程;
5、掌握UDP组播编程;
6、掌握任意数量的客户端、服务器编程;
7、掌握文件传输;
8、掌握项目实战编程方法
学完本专栏,以后遇到的任何关于TCP、UDP编程的问题都不是问题!什么ModbusTCP、与PLC的通信、与各种仪器的通信都是手到擒来!雷军曾说你会发生你生命中遇到的问题百分之九十的问题别人都遇到过,你需要做的就是找个人问一下,我就是那个你需要问的人。
《 C#Socket通信从入门到精通 》专栏文章目录
点击下面的文章链接即可转到该文章:
《winform控件从入门到精通》访问链接如下:
《C#串口通信从入门到精通》访问链接如下:
《C# Modbus通信从入门到精通》访问链接如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。